--- old/src/cpu/x86/vm/templateTable_x86.cpp 2017-09-13 22:19:49.732278486 -0700 +++ new/src/cpu/x86/vm/templateTable_x86.cpp 2017-09-13 22:19:49.647270600 -0700 @@ -2563,6 +2563,13 @@ __ bind(skip_register_finalizer); } + // Explicitly reset last_sp, for handling special case in TemplateInterpreter::deopt_reexecute_entry +#ifdef ASSERT + if (state == vtos) { + __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); + } +#endif + // 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.