aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_asm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index cc788407..5968c5e3 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -1022,13 +1022,13 @@ static void asm_snap_prep(ASMState *as)
1022static void asm_snap_prev(ASMState *as) 1022static void asm_snap_prev(ASMState *as)
1023{ 1023{
1024 if (as->curins < as->snapref) { 1024 if (as->curins < as->snapref) {
1025 ptrdiff_t ofs = as->mctoporig - as->mcp; 1025 uintptr_t ofs = (uintptr_t)(as->mctoporig - as->mcp);
1026 if (ofs >= 0x10000) lj_trace_err(as->J, LJ_TRERR_MCODEOV); 1026 if (ofs >= 0x10000) lj_trace_err(as->J, LJ_TRERR_MCODEOV);
1027 do { 1027 do {
1028 if (as->snapno == 0) return; 1028 if (as->snapno == 0) return;
1029 as->snapno--; 1029 as->snapno--;
1030 as->snapref = as->T->snap[as->snapno].ref; 1030 as->snapref = as->T->snap[as->snapno].ref;
1031 as->T->snap[as->snapno].mcofs = ofs; /* Remember mcode offset. */ 1031 as->T->snap[as->snapno].mcofs = (uint16_t)ofs; /* Remember mcode ofs. */
1032 } while (as->curins < as->snapref); /* May have no ins inbetween. */ 1032 } while (as->curins < as->snapref); /* May have no ins inbetween. */
1033 as->snapalloc = 1; 1033 as->snapalloc = 1;
1034 } 1034 }