]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix ABC elimination.
authorMike Pall <mike>
Tue, 1 Jul 2014 15:53:40 +0000 (17:53 +0200)
committerMike Pall <mike>
Tue, 1 Jul 2014 15:53:40 +0000 (17:53 +0200)
src/lj_record.c

index 47d7115bf433d73c33481631fd4782efdf86d39e..12b76bbacf2b73dfdc9c1f6f4d46e9f144fa1602 100644 (file)
@@ -1060,7 +1060,7 @@ static void rec_idx_abc(jit_State *J, TRef asizeref, TRef ikey, uint32_t asize)
       lua_assert(irt_isint(J->scev.t) && ir->o == IR_SLOAD);
       stop = numberVint(&(J->L->base - J->baseslot)[ir->op1 + FORL_STOP]);
       /* Runtime value for stop of loop is within bounds? */
-      if ((int64_t)stop + ofs < (int64_t)asize) {
+      if ((uint64_t)stop + ofs < (uint64_t)asize) {
        /* Emit invariant bounds check for stop. */
        emitir(IRTG(IR_ABC, IRT_P32), asizeref, ofs == 0 ? J->scev.stop :
               emitir(IRTI(IR_ADD), J->scev.stop, ofsref));