]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Record missing FORI slot loads (e.g. after return to lower frame).
authorMike Pall <mike>
Sun, 21 Aug 2011 13:08:27 +0000 (15:08 +0200)
committerMike Pall <mike>
Sun, 21 Aug 2011 13:08:27 +0000 (15:08 +0200)
src/lj_record.c

index 0deaade19d8493847c4440fe8f32c5a2db31faac..35ec1456e988fd405fd02e1106bb6feabcc68ecd 100644 (file)
@@ -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);