summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2014-02-20 04:24:50 +0100
committerMike Pall <mike>2014-02-20 04:24:50 +0100
commit998651fcdafc8b6f3d922e1e60864fec83409118 (patch)
tree2e11b404aaf77a93f1087fbcfba77c42560eae11
parent1994a2453e91beafcc78e12051b44ccc7a41bf7b (diff)
downloadluajit2-998651fcdafc8b6f3d922e1e60864fec83409118.tar.gz
Don't purge modified function from stack slots in BC_RET.
-rw-r--r--src/lj_record.c2
1 files changed, 1 insertions, 1 deletions
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. */