< prev index next >
src/cpu/aarch64/vm/templateTable_aarch64.cpp
Print this page
@@ -2193,10 +2193,17 @@
__ 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
+#ifdef ASSERT
+ if (state == vtos) {
+ __ str(zr, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
+ }
+#endif
+
// 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 >