< prev index next >

src/cpu/x86/vm/templateTable_x86.cpp

Print this page

        

@@ -2561,10 +2561,15 @@
     __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), robj);
 
     __ bind(skip_register_finalizer);
   }
 
+  // Explicitly reset last_sp, for handling special case in TemplateInterpreter::deopt_reexecute_entry
+  if (state == vtos) {
+    __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD);
+  }
+
   // Narrow result if state is itos but result type is smaller.
   // Need to narrow in the return bytecode rather than in generate_return_entry
   // since compiled code callers expect the result to already be narrowed.
   if (state == itos) {
     __ narrow(rax);
< prev index next >