Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.
/ jdk13u-dev Public archive

Commit ee8051f

Browse files
Sergey NazarkinYuri Nesterenko
Sergey Nazarkin
authored and
Yuri Nesterenko
committed
8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails
Reviewed-by: yan Backport-of: 4e43b28
1 parent 6313a7c commit ee8051f

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -654,14 +654,16 @@ void InterpreterMacroAssembler::remove_activation(
654654

655655
// remove activation
656656
// get sender esp
657-
ldr(esp,
657+
ldr(rscratch2,
658658
Address(rfp, frame::interpreter_frame_sender_sp_offset * wordSize));
659659
if (StackReservedPages > 0) {
660660
// testing if reserved zone needs to be re-enabled
661661
Label no_reserved_zone_enabling;
662662

663+
// look for an overflow into the stack reserved zone, i.e.
664+
// interpreter_frame_sender_sp <= JavaThread::reserved_stack_activation
663665
ldr(rscratch1, Address(rthread, JavaThread::reserved_stack_activation_offset()));
664-
cmp(esp, rscratch1);
666+
cmp(rscratch2, rscratch1);
665667
br(Assembler::LS, no_reserved_zone_enabling);
666668

667669
call_VM_leaf(
@@ -672,6 +674,9 @@ void InterpreterMacroAssembler::remove_activation(
672674

673675
bind(no_reserved_zone_enabling);
674676
}
677+
678+
// restore sender esp
679+
mov(esp, rscratch2);
675680
// remove frame anchor
676681
leave();
677682
// If we're returning to interpreted code we will shortly be

0 commit comments

Comments
 (0)