mirror of
https://github.com/openjdk/jdk16u.git
synced 2025-12-10 14:50:36 -06:00
8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
Backport-of: ca93399af103384e750dabf3abcc6e8392bcf3f4
This commit is contained in:
parent
e0060a32ba
commit
410f742b98
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user