aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_err.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_err.c b/src/lj_err.c
index 283c3d18..a497ab11 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -329,12 +329,12 @@ static void err_unwind_win_jit(global_State *g, int errcode)
329 memset(&hist, 0, sizeof(hist)); 329 memset(&hist, 0, sizeof(hist));
330 RtlCaptureContext(&ctx); 330 RtlCaptureContext(&ctx);
331 while (1) { 331 while (1) {
332 uintptr_t frame, base, addr = ctx.CONTEXT_REG_PC; 332 DWORD64 frame, base, addr = ctx.CONTEXT_REG_PC;
333 void *hdata; 333 void *hdata;
334 PRUNTIME_FUNCTION func = RtlLookupFunctionEntry(addr, &base, &hist); 334 PRUNTIME_FUNCTION func = RtlLookupFunctionEntry(addr, &base, &hist);
335 if (!func) { /* Found frame without .pdata: must be JIT-compiled code. */ 335 if (!func) { /* Found frame without .pdata: must be JIT-compiled code. */
336 ExitNo exitno; 336 ExitNo exitno;
337 uintptr_t stub = lj_trace_unwind(G2J(g), addr - sizeof(MCode), &exitno); 337 uintptr_t stub = lj_trace_unwind(G2J(g), (uintptr_t)(addr - sizeof(MCode)), &exitno);
338 if (stub) { /* Jump to side exit to unwind the trace. */ 338 if (stub) { /* Jump to side exit to unwind the trace. */
339 ctx.CONTEXT_REG_PC = stub; 339 ctx.CONTEXT_REG_PC = stub;
340 G2J(g)->exitcode = errcode; 340 G2J(g)->exitcode = errcode;