src/hotspot/cpu/arm/templateTable_arm.cpp
changeset 47690 bba11a95e927
parent 47580 96392e113a0a
child 47916 bdbef8638948
child 55767 8e22715afabc
--- a/src/hotspot/cpu/arm/templateTable_arm.cpp	Mon Sep 04 19:50:01 2017 +0200
+++ b/src/hotspot/cpu/arm/templateTable_arm.cpp	Tue Oct 24 06:06:56 2017 -0700
@@ -2844,6 +2844,19 @@
     __ bind(skip_register_finalizer);
   }
 
+  // Explicitly reset last_sp, for handling special case in TemplateInterpreter::deopt_reexecute_entry
+#ifdef ASSERT
+  if (state == vtos) {
+#ifndef AARCH64
+    __ mov(Rtemp, 0);
+    __ str(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
+#else
+    __ restore_sp_after_call(Rtemp);
+    __ restore_stack_top();
+#endif
+  }
+#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.