aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2021-05-29 15:32:04 +0200
committerMike Pall <mike>2021-05-29 15:32:04 +0200
commite0cd3a867113e9ce2f688fb59c3f61eac1dbcd0c (patch)
tree822239950e67e648a7e4e26f99da8ceb29d45396 /src
parentfca488c715fd1592b8840b28e88346f9fb8a93f9 (diff)
parent0e53a314d7910898e1ea5ba90385d43e8a6c5e57 (diff)
downloadluajit-e0cd3a867113e9ce2f688fb59c3f61eac1dbcd0c.tar.gz
luajit-e0cd3a867113e9ce2f688fb59c3f61eac1dbcd0c.tar.bz2
luajit-e0cd3a867113e9ce2f688fb59c3f61eac1dbcd0c.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-rw-r--r--src/lj_snap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c
index 8efe37fd..b6a02f6f 100644
--- a/src/lj_snap.c
+++ b/src/lj_snap.c
@@ -311,8 +311,10 @@ static BCReg snap_usedef(jit_State *J, uint8_t *udf,
311void lj_snap_purge(jit_State *J) 311void lj_snap_purge(jit_State *J)
312{ 312{
313 uint8_t udf[SNAP_USEDEF_SLOTS]; 313 uint8_t udf[SNAP_USEDEF_SLOTS];
314 BCReg maxslot = J->maxslot; 314 BCReg s, maxslot = J->maxslot;
315 BCReg s = snap_usedef(J, udf, J->pc, maxslot); 315 if (bc_op(*J->pc) == BC_FUNCV && maxslot > J->pt->numparams)
316 maxslot = J->pt->numparams;
317 s = snap_usedef(J, udf, J->pc, maxslot);
316 for (; s < maxslot; s++) 318 for (; s < maxslot; s++)
317 if (udf[s] != 0) 319 if (udf[s] != 0)
318 J->base[s] = 0; /* Purge dead slots. */ 320 J->base[s] = 0; /* Purge dead slots. */