aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r--src/lj_asm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 9cdbcf12..aed12043 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -3044,7 +3044,7 @@ static void asm_tail_sync(ASMState *as)
3044 SnapShot *snap = &as->T->snap[as->T->nsnap-1]; /* Last snapshot. */ 3044 SnapShot *snap = &as->T->snap[as->T->nsnap-1]; /* Last snapshot. */
3045 MSize n, nent = snap->nent; 3045 MSize n, nent = snap->nent;
3046 SnapEntry *map = &as->T->snapmap[snap->mapofs]; 3046 SnapEntry *map = &as->T->snapmap[snap->mapofs];
3047 SnapEntry *flinks = map + nent + 1; 3047 SnapEntry *flinks = map + nent + snap->depth;
3048 BCReg newbase = 0, topslot = 0; 3048 BCReg newbase = 0, topslot = 0;
3049 3049
3050 checkmclim(as); 3050 checkmclim(as);
@@ -3102,11 +3102,11 @@ static void asm_tail_sync(ASMState *as)
3102 if (!(sn & (SNAP_CONT|SNAP_FRAME))) 3102 if (!(sn & (SNAP_CONT|SNAP_FRAME)))
3103 emit_movmroi(as, RID_BASE, ofs+4, irt_toitype(ir->t)); 3103 emit_movmroi(as, RID_BASE, ofs+4, irt_toitype(ir->t));
3104 else if (s != 0) /* Do not overwrite link to previous frame. */ 3104 else if (s != 0) /* Do not overwrite link to previous frame. */
3105 emit_movmroi(as, RID_BASE, ofs+4, (int32_t)(*flinks++)); 3105 emit_movmroi(as, RID_BASE, ofs+4, (int32_t)(*flinks--));
3106 } 3106 }
3107 checkmclim(as); 3107 checkmclim(as);
3108 } 3108 }
3109 lua_assert(map + nent + 1 + snap->depth == flinks); 3109 lua_assert(map + nent == flinks);
3110} 3110}
3111 3111
3112/* Fixup the tail code. */ 3112/* Fixup the tail code. */