diff -r 09f8c0c1f722 -r fb7da68ac0c3 src/cpu/mips/vm/sharedRuntime_mips_64.cpp --- a/src/cpu/mips/vm/sharedRuntime_mips_64.cpp Wed Mar 08 08:57:26 2017 -0500 +++ b/src/cpu/mips/vm/sharedRuntime_mips_64.cpp Mon Mar 13 01:52:16 2017 -0400 @@ -3714,7 +3714,7 @@ // Prolog for non exception case! // Correct the return address we were given. //FIXME, return address is on the tos or Ra? - __ addi(RA, RA, - (NativeCall::return_address_offset_short)); + __ addi(RA, RA, - (NativeCall::return_address_offset_long)); // Save everything in sight. map = RegisterSaver::save_live_registers(masm, additional_words, &frame_size_in_words); // Normal deoptimization @@ -3758,7 +3758,7 @@ // available now because loading it from memory would destroy registers. // Save everything in sight. // No need to update map as each call to save_live_registers will produce identical oopmap - __ addi(RA, RA, - (NativeCall::return_address_offset_short)); + __ addi(RA, RA, - (NativeCall::return_address_offset_long)); (void) RegisterSaver::save_live_registers(masm, additional_words, &frame_size_in_words); // Now it is safe to overwrite any register