8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash

Reviewed-by: akozlov, aph
This commit is contained in:
Vladimir Kempik 2021-05-20 15:46:53 +00:00
parent b7b6acd9b1
commit ca93399af1

@ -678,6 +678,11 @@ void MacroAssembler::call_VM_base(Register oop_result,
// do the call, remove parameters
MacroAssembler::call_VM_leaf_base(entry_point, number_of_arguments, &l);
// lr could be poisoned with PAC signature during throw_pending_exception
// if it was tail-call optimized by compiler, since lr is not callee-saved
// reload it with proper value
adr(lr, l);
// reset last Java frame
// Only interpreter should have to clear fp
reset_last_Java_frame(true);