summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-08-21 15:08:27 +0200
committerMike Pall <mike>2011-08-21 15:08:27 +0200
commit78cc9c889d8df0ccdb15e1b63e7a5aa104c58b85 (patch)
tree16913e3875d27c3ba0ffb7f173a90d431b818996 /src/lj_record.c
parentec1b70ae35996f825506bacb0b10bccaf66eb6b5 (diff)
downloadluajit2-78cc9c889d8df0ccdb15e1b63e7a5aa104c58b85.tar.gz
Record missing FORI slot loads (e.g. after return to lower frame).
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 0deaade1..35ec1456 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -435,6 +435,7 @@ static LoopEvent rec_for(jit_State *J, const BCIns *fori, int isforl)
t = (LJ_DUALNUM || tref_isint(tr[FORL_IDX])) ? lj_opt_narrow_forl(J, tv) :
IRT_NUM;
for (i = FORL_IDX; i <= FORL_STEP; i++) {
+ if (!tr[i]) sload(J, ra+i);
lua_assert(tref_isnumber_str(tr[i]));
if (tref_isstr(tr[i]))
tr[i] = emitir(IRTG(IR_STRTO, IRT_NUM), tr[i], 0);