Skip to content
This repository was archived by the owner on Sep 2, 2022. It is now read-only.

Commit 410f742

Browse files
author
Vladimir Kempik
committed
8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
Backport-of: ca93399af103384e750dabf3abcc6e8392bcf3f4
1 parent e0060a3 commit 410f742

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,11 @@ void MacroAssembler::call_VM_base(Register oop_result,
674674
// do the call, remove parameters
675675
MacroAssembler::call_VM_leaf_base(entry_point, number_of_arguments, &l);
676676

677+
// lr could be poisoned with PAC signature during throw_pending_exception
678+
// if it was tail-call optimized by compiler, since lr is not callee-saved
679+
// reload it with proper value
680+
adr(lr, l);
681+
677682
// reset last Java frame
678683
// Only interpreter should have to clear fp
679684
reset_last_Java_frame(true);

0 commit comments

Comments
 (0)