Tue, 10 Jul 2018 14:18:39 +0800
#7243 Fix an incorrect stack alignment assert in the interpreter
# Internal Error (/home/loongson/aoqi/jdk8-mips/hotspot/src/os_cpu/linux_mips/vm/os_linux_mips.cpp:1006), pid=15645, tid=0x000000fff3f071f0
# assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0) failed: incorrect stack alignment
src/cpu/mips/vm/templateInterpreter_mips_64.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cpu/mips/vm/templateInterpreter_mips_64.cpp Tue Jul 10 10:06:03 2018 +0800 1.2 +++ b/src/cpu/mips/vm/templateInterpreter_mips_64.cpp Tue Jul 10 14:18:39 2018 +0800 1.3 @@ -1336,8 +1336,12 @@ 1.4 __ bne(t, AT, no_reguard); 1.5 __ delayed()->nop(); 1.6 __ pushad(); 1.7 + __ move(S5_heapbase, SP); 1.8 + __ move(AT, -StackAlignmentInBytes); 1.9 + __ andr(SP, SP, AT); 1.10 __ call(CAST_FROM_FN_PTR(address, SharedRuntime::reguard_yellow_pages), relocInfo::runtime_call_type); 1.11 __ delayed()->nop(); 1.12 + __ move(SP, S5_heapbase); 1.13 __ popad(); 1.14 //add for compressedoops 1.15 __ reinit_heapbase();