diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_opt_loop.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lj_opt_loop.c b/src/lj_opt_loop.c index 04c6d06d..441b8add 100644 --- a/src/lj_opt_loop.c +++ b/src/lj_opt_loop.c | |||
@@ -223,7 +223,7 @@ static void loop_subst_snap(jit_State *J, SnapShot *osnap, | |||
223 | } | 223 | } |
224 | J->guardemit.irt = 0; | 224 | J->guardemit.irt = 0; |
225 | /* Setup new snapshot. */ | 225 | /* Setup new snapshot. */ |
226 | snap->mapofs = (uint16_t)nmapofs; | 226 | snap->mapofs = (uint32_t)nmapofs; |
227 | snap->ref = (IRRef1)J->cur.nins; | 227 | snap->ref = (IRRef1)J->cur.nins; |
228 | snap->nslots = nslots; | 228 | snap->nslots = nslots; |
229 | snap->topslot = osnap->topslot; | 229 | snap->topslot = osnap->topslot; |
@@ -251,7 +251,7 @@ static void loop_subst_snap(jit_State *J, SnapShot *osnap, | |||
251 | nmap += nn; | 251 | nmap += nn; |
252 | while (omap < nextmap) /* Copy PC + frame links. */ | 252 | while (omap < nextmap) /* Copy PC + frame links. */ |
253 | *nmap++ = *omap++; | 253 | *nmap++ = *omap++; |
254 | J->cur.nsnapmap = (uint16_t)(nmap - J->cur.snapmap); | 254 | J->cur.nsnapmap = (uint32_t)(nmap - J->cur.snapmap); |
255 | } | 255 | } |
256 | 256 | ||
257 | typedef struct LoopState { | 257 | typedef struct LoopState { |
@@ -369,7 +369,7 @@ static void loop_unroll(LoopState *lps) | |||
369 | } | 369 | } |
370 | } | 370 | } |
371 | if (!irt_isguard(J->guardemit)) /* Drop redundant snapshot. */ | 371 | if (!irt_isguard(J->guardemit)) /* Drop redundant snapshot. */ |
372 | J->cur.nsnapmap = (uint16_t)J->cur.snap[--J->cur.nsnap].mapofs; | 372 | J->cur.nsnapmap = (uint32_t)J->cur.snap[--J->cur.nsnap].mapofs; |
373 | lua_assert(J->cur.nsnapmap <= J->sizesnapmap); | 373 | lua_assert(J->cur.nsnapmap <= J->sizesnapmap); |
374 | *psentinel = J->cur.snapmap[J->cur.snap[0].nent]; /* Restore PC. */ | 374 | *psentinel = J->cur.snapmap[J->cur.snap[0].nent]; /* Restore PC. */ |
375 | 375 | ||
@@ -383,7 +383,7 @@ static void loop_undo(jit_State *J, IRRef ins, SnapNo nsnap, MSize nsnapmap) | |||
383 | SnapShot *snap = &J->cur.snap[nsnap-1]; | 383 | SnapShot *snap = &J->cur.snap[nsnap-1]; |
384 | SnapEntry *map = J->cur.snapmap; | 384 | SnapEntry *map = J->cur.snapmap; |
385 | map[snap->mapofs + snap->nent] = map[J->cur.snap[0].nent]; /* Restore PC. */ | 385 | map[snap->mapofs + snap->nent] = map[J->cur.snap[0].nent]; /* Restore PC. */ |
386 | J->cur.nsnapmap = (uint16_t)nsnapmap; | 386 | J->cur.nsnapmap = (uint32_t)nsnapmap; |
387 | J->cur.nsnap = nsnap; | 387 | J->cur.nsnap = nsnap; |
388 | J->guardemit.irt = 0; | 388 | J->guardemit.irt = 0; |
389 | lj_ir_rollback(J, ins); | 389 | lj_ir_rollback(J, ins); |