File tree 2 files changed +7
-3
lines changed
2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -681,14 +681,16 @@ void InterpreterMacroAssembler::remove_activation(
681
681
682
682
// remove activation
683
683
// get sender esp
684
- ldr (esp ,
684
+ ldr (rscratch2 ,
685
685
Address (rfp, frame::interpreter_frame_sender_sp_offset * wordSize));
686
686
if (StackReservedPages > 0 ) {
687
687
// testing if reserved zone needs to be re-enabled
688
688
Label no_reserved_zone_enabling;
689
689
690
+ // look for an overflow into the stack reserved zone, i.e.
691
+ // interpreter_frame_sender_sp <= JavaThread::reserved_stack_activation
690
692
ldr (rscratch1, Address (rthread, JavaThread::reserved_stack_activation_offset ()));
691
- cmp (esp , rscratch1);
693
+ cmp (rscratch2 , rscratch1);
692
694
br (Assembler::LS, no_reserved_zone_enabling);
693
695
694
696
call_VM_leaf (
@@ -699,6 +701,9 @@ void InterpreterMacroAssembler::remove_activation(
699
701
700
702
bind (no_reserved_zone_enabling);
701
703
}
704
+
705
+ // restore sender esp
706
+ mov (esp, rscratch2);
702
707
// remove frame anchor
703
708
leave ();
704
709
// If we're returning to interpreted code we will shortly be
Original file line number Diff line number Diff line change @@ -87,7 +87,6 @@ gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java 8241293 macosx-x64
87
87
runtime/cds/DeterministicDump.java 8253495 generic-all
88
88
runtime/jni/terminatedThread/TestTerminatedThread.java 8219652 aix-ppc64
89
89
runtime/ReservedStack/ReservedStackTest.java 8231031 generic-all
90
- runtime/ReservedStack/ReservedStackTestCompiler.java 8256359 linux-aarch64
91
90
92
91
#############################################################################
93
92
You can’t perform that action at this time.
0 commit comments