From f1e7a4477ca4a5a8ef8c64135d9093d02451bb22 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Fri, 13 Sep 2013 00:33:58 +0200 Subject: [PATCH] Fix snapshot restore for exit to function header. --- src/lj_snap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lj_snap.c b/src/lj_snap.c index 30ff9152..a25e4601 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c @@ -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; }