# HG changeset patch # User Jin # Date 1462621083 14400 # Node ID 87ed97bc0867daa6bb462acfdd747136659884d4 # Parent ef5b28e8d433b0b76f2adf9243ad3152fa385382 [Interpreter] ProfileInterpreter: fix unaligned lwu When running compress in debug mode, /mnt/j2sdk-image/bin/java \ -Xmx68M -Xms68M \ -XX:CompileCommand="compileonly,spec/benchmarks/compress/Decompressor\$SuffixTable.of1" \ -XX:+PrintCompilation \ -XX:-CICompileNatives \ -XX:+ProfileInterpreter \ -XX:-UseTLAB \ -XX:+UseLoopCounter \ -XX:+UseOnStackReplacement \ -XX:+UseSerialGC \ -jar SPECjvm2008.jar -ikv -coe -ict -bt 1 \ compress Though no method is compiled, the unaligned counter reaches 779990 /s. This error doesn't exist in product version. Effect: - compress + debug + +ProfileInterpreter: 0 unaligned access diff -r ef5b28e8d433 -r 87ed97bc0867 src/cpu/mips/vm/interp_masm_mips_64.cpp --- a/src/cpu/mips/vm/interp_masm_mips_64.cpp Thu May 05 17:04:35 2016 -0400 +++ b/src/cpu/mips/vm/interp_masm_mips_64.cpp Sat May 07 07:38:03 2016 -0400 @@ -1377,7 +1377,7 @@ // If the mdp is valid, it will point to a DataLayout header which is // consistent with the bcp. The converse is highly probable also. - lwu(tmp, mdp, in_bytes(DataLayout::bci_offset())); + lhu(tmp, mdp, in_bytes(DataLayout::bci_offset())); ld(AT, method, in_bytes(Method::const_offset())); daddu(tmp, tmp, AT); daddiu(tmp, tmp, in_bytes(ConstMethod::codes_offset()));