memset(&hist, 0, sizeof(hist));
RtlCaptureContext(&ctx);
while (1) {
- uintptr_t frame, base, addr = ctx.CONTEXT_REG_PC;
+ DWORD64 frame, base, addr = ctx.CONTEXT_REG_PC;
void *hdata;
PRUNTIME_FUNCTION func = RtlLookupFunctionEntry(addr, &base, &hist);
if (!func) { /* Found frame without .pdata: must be JIT-compiled code. */
ExitNo exitno;
- uintptr_t stub = lj_trace_unwind(G2J(g), addr - sizeof(MCode), &exitno);
+ uintptr_t stub = lj_trace_unwind(G2J(g), (uintptr_t)(addr - sizeof(MCode)), &exitno);
if (stub) { /* Jump to side exit to unwind the trace. */
ctx.CONTEXT_REG_PC = stub;
G2J(g)->exitcode = errcode;