]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix snapshot restore for exit to function header.
authorMike Pall <mike>
Thu, 12 Sep 2013 22:33:58 +0000 (00:33 +0200)
committerMike Pall <mike>
Thu, 12 Sep 2013 22:33:58 +0000 (00:33 +0200)
src/lj_snap.c

index 30ff91528919eaadccbed1837c32b4d0dcf2859f..a25e4601ead6131a74295c8b55030fd1ecfc408a 100644 (file)
@@ -845,12 +845,15 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr)
 
   /* Compute current stack top. */
   switch (bc_op(*pc)) {
+  default:
+    if (bc_op(*pc) < BC_FUNCF) {
+      L->top = curr_topL(L);
+      break;
+    }
+    /* fallthrough */
   case BC_CALLM: case BC_CALLMT: case BC_RETM: case BC_TSETM:
     L->top = frame + snap->nslots;
     break;
-  default:
-    L->top = curr_topL(L);
-    break;
   }
   return pc;
 }