]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Don't purge modified function from stack slots in BC_RET.
authorMike Pall <mike>
Thu, 20 Feb 2014 03:24:50 +0000 (04:24 +0100)
committerMike Pall <mike>
Thu, 20 Feb 2014 03:24:50 +0000 (04:24 +0100)
src/lj_record.c

index f98b0a4caea54602ef526f30f41c14f594c2265a..0dfc10b31d776d49760ea399b3cb634a10b7f86c 100644 (file)
@@ -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. */