diff options
author | Mike Pall <mike> | 2011-06-27 01:11:11 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-27 01:11:11 +0200 |
commit | 113f8e9ac2572caef38747d87fd5b3452ba0f0f1 (patch) | |
tree | 064eb2e3824e73c29eb2757e69815a2192763bdd | |
parent | e613cb769581aa686c1699e427d07998e860dfb9 (diff) | |
download | luajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.tar.gz luajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.tar.bz2 luajit-113f8e9ac2572caef38747d87fd5b3452ba0f0f1.zip |
Fix data-flow analysis for BC_ITERL.
-rw-r--r-- | src/lj_snap.c | 2 |
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; |