Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

Commit

Permalink
Backport 4e43b28
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergey committed Apr 19, 2021
1 parent 862af19 commit 528df00
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
Expand Up @@ -654,14 +654,16 @@ void InterpreterMacroAssembler::remove_activation(

// remove activation
// get sender esp
ldr(esp,
ldr(rscratch2,
Address(rfp, frame::interpreter_frame_sender_sp_offset * wordSize));
if (StackReservedPages > 0) {
// testing if reserved zone needs to be re-enabled
Label no_reserved_zone_enabling;

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

call_VM_leaf(
Expand All @@ -672,6 +674,9 @@ void InterpreterMacroAssembler::remove_activation(

bind(no_reserved_zone_enabling);
}

// restore sender esp
mov(esp, rscratch2);
// remove frame anchor
leave();
// If we're returning to interpreted code we will shortly be
Expand Down

0 comments on commit 528df00

Please sign in to comment.