aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-06-27 01:11:11 +0200
committerMike Pall <mike>2011-06-27 01:11:11 +0200
commit113f8e9ac2572caef38747d87fd5b3452ba0f0f1 (patch)
tree064eb2e3824e73c29eb2757e69815a2192763bdd
parente613cb769581aa686c1699e427d07998e860dfb9 (diff)
downloadluajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.tar.gz
luajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.tar.bz2
luajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.zip
Fix data-flow analysis for BC_ITERL.
-rw-r--r--src/lj_snap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c
index 9124b789..e29b5357 100644
--- a/src/lj_snap.c
+++ b/src/lj_snap.c
@@ -192,7 +192,7 @@ static BCReg snap_usedef(jit_State *J, uint8_t *udf,
192 handle_jump: { 192 handle_jump: {
193 BCReg minslot = bc_a(ins); 193 BCReg minslot = bc_a(ins);
194 if (op >= BC_FORI && op <= BC_JFORL) minslot += FORL_EXT; 194 if (op >= BC_FORI && op <= BC_JFORL) minslot += FORL_EXT;
195 else if (op >= BC_ITERL && op <= BC_JITERL) minslot += bc_b(pc[-1])-1; 195 else if (op >= BC_ITERL && op <= BC_JITERL) minslot += bc_b(pc[-2])-1;
196 else if (op == BC_UCLO) { pc += bc_j(ins); break; } 196 else if (op == BC_UCLO) { pc += bc_j(ins); break; }
197 for (s = minslot; s < maxslot; s++) DEF_SLOT(s); 197 for (s = minslot; s < maxslot; s++) DEF_SLOT(s);
198 return minslot < maxslot ? minslot : maxslot; 198 return minslot < maxslot ? minslot : maxslot;