1.1 --- a/src/cpu/mips/vm/sharedRuntime_mips_64.cpp Tue Jun 14 20:04:50 2016 +0800 1.2 +++ b/src/cpu/mips/vm/sharedRuntime_mips_64.cpp Tue Jun 14 20:05:43 2016 +0800 1.3 @@ -2670,6 +2670,10 @@ 1.4 save_native_result(masm, ret_type, stack_slots); 1.5 __ move (A0, thread); 1.6 __ addi(SP,SP, -wordSize); 1.7 + __ push(S2); 1.8 + __ move(AT, -(StackAlignmentInBytes)); 1.9 + __ move(S2, SP); // use S2 as a sender SP holder 1.10 + __ andr(SP, SP, AT); // align stack as required by ABI 1.11 if (!is_critical_native) { 1.12 __ call(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans), relocInfo::runtime_call_type); 1.13 __ delayed()->nop(); 1.14 @@ -2677,8 +2681,8 @@ 1.15 __ call(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans_and_transition), relocInfo::runtime_call_type); 1.16 __ delayed()->nop(); 1.17 } 1.18 -// __ call(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans), relocInfo::runtime_call_type); 1.19 -// __ delayed()->nop(); 1.20 + __ move(SP, S2); // use S2 as a sender SP holder 1.21 + __ pop(S2); 1.22 __ addi(SP,SP, wordSize); 1.23 //add for compressedoops 1.24 __ reinit_heapbase();