< prev index next >

src/cpu/aarch64/vm/templateTable_aarch64.cpp

Print this page

        

@@ -2193,10 +2193,15 @@
     __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), c_rarg1);
 
     __ bind(skip_register_finalizer);
   }
 
+  // Explicitly reset last_sp, for handling special case in TemplateInterpreter::deopt_reexecute_entry
+  if (state == vtos) {
+    __ str(zr, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
+  }
+
   // Issue a StoreStore barrier after all stores but before return
   // from any constructor for any class with a final field.  We don't
   // know if this is a finalizer, so we always do so.
   if (_desc->bytecode() == Bytecodes::_return)
     __ membar(MacroAssembler::StoreStore);
< prev index next >