From 998651fcdafc8b6f3d922e1e60864fec83409118 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 20 Feb 2014 04:24:50 +0100 Subject: [PATCH] Don't purge modified function from stack slots in BC_RET. --- src/lj_record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lj_record.c b/src/lj_record.c index f98b0a4c..0dfc10b3 100644 --- a/src/lj_record.c +++ b/src/lj_record.c @@ -701,7 +701,7 @@ void lj_record_ret(jit_State *J, BCReg rbase, ptrdiff_t gotresults) (!frame_islua(frame) || (J->parent == 0 && !bc_isret(bc_op(J->cur.startins))))) { /* NYI: specialize to frame type and return directly, not via RET*. */ - for (i = -1; i < (ptrdiff_t)rbase; i++) + for (i = 0; i < (ptrdiff_t)rbase; i++) J->base[i] = 0; /* Purge dead slots. */ J->maxslot = rbase + (BCReg)gotresults; rec_stop(J, LJ_TRLINK_RETURN, 0); /* Return to interpreter. */