]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Sat, 6 Dec 2025 07:38:49 +0000 (08:38 +0100)
committerMike Pall <mike>
Sat, 6 Dec 2025 07:38:49 +0000 (08:38 +0100)
1  2 
src/lj_record.c

diff --cc src/lj_record.c
index 536d7171ea057861ba6a94c2ff749a14f96510c7,04a379250d683407c8f58d4fa14addf95a2188b4..5c0f00d92c3fbe25bbb7e9cac85f5c560d87a805
@@@ -531,16 -470,10 +546,10 @@@ static LoopEvent rec_for(jit_State *J, 
                                                   IRT_NUM;
      for (i = FORL_IDX; i <= FORL_STEP; i++) {
        if (!tr[i]) sload(J, ra+i);
 -      lua_assert(tref_isnumber_str(tr[i]));
 +      lj_assertJ(tref_isnumber_str(tr[i]), "bad FORI argument type");
        if (tref_isstr(tr[i]))
        tr[i] = emitir(IRTG(IR_STRTO, IRT_NUM), tr[i], 0);
-       if (t == IRT_INT) {
-       if (!tref_isinteger(tr[i]))
-         tr[i] = emitir(IRTGI(IR_CONV), tr[i], IRCONV_INT_NUM|IRCONV_CHECK);
-       } else {
-       if (!tref_isnum(tr[i]))
-         tr[i] = emitir(IRTN(IR_CONV), tr[i], IRCONV_NUM_INT);
-       }
+       tr[i] = fori_conv(J, tr[i], t);
      }
      tr[FORL_EXT] = tr[FORL_IDX];
      stop = tr[FORL_STOP];