diff options
author | Mike Pall <mike> | 2011-06-07 11:51:04 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-07 11:51:04 +0200 |
commit | f50d8986d8971dfffa212418f0e90f61adda435a (patch) | |
tree | 5e068bf2748f523c35ed7e016ab865d0110df020 | |
parent | 22946f268b1b25820c1d026779c147db314f7135 (diff) | |
download | luajit-f50d8986d8971dfffa212418f0e90f61adda435a.tar.gz luajit-f50d8986d8971dfffa212418f0e90f61adda435a.tar.bz2 luajit-f50d8986d8971dfffa212418f0e90f61adda435a.zip |
Fix data-flow analysis for BC_UCLO.
-rw-r--r-- | src/lj_snap.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index 5fc90d8c..9124b789 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -193,6 +193,7 @@ static BCReg snap_usedef(jit_State *J, uint8_t *udf, | |||
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[-1])-1; |
196 | else if (op == BC_UCLO) { pc += bc_j(ins); break; } | ||
196 | for (s = minslot; s < maxslot; s++) DEF_SLOT(s); | 197 | for (s = minslot; s < maxslot; s++) DEF_SLOT(s); |
197 | return minslot < maxslot ? minslot : maxslot; | 198 | return minslot < maxslot ? minslot : maxslot; |
198 | } | 199 | } |