diff options
-rw-r--r-- | src/lj_asm.c | 4 |
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) | |||
1022 | static void asm_snap_prev(ASMState *as) | 1022 | static 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 | } |