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

Backport-of: ca93399af103384e750dabf3abcc6e8392bcf3f4
This commit is contained in:
Vladimir Kempik 2021-05-24 10:17:16 +00:00
parent e0060a32ba
commit 410f742b98

View File

@ -674,6 +674,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);