From 857f538eacdb2c45913cd8c32f3c0d8a6f273f50 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 24 Feb 2010 01:18:49 +0100 Subject: Fix exit state for 64 bit mode. --- src/lj_target_x86.h | 2 +- src/lj_trace.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lj_target_x86.h b/src/lj_target_x86.h index 2ccea549..cb1892d5 100644 --- a/src/lj_target_x86.h +++ b/src/lj_target_x86.h @@ -116,7 +116,7 @@ enum { /* This definition must match with the *.dasc file(s). */ typedef struct { lua_Number fpr[RID_NUM_FPR]; /* Floating-point registers. */ - int32_t gpr[RID_NUM_GPR]; /* General-purpose registers. */ + intptr_t gpr[RID_NUM_GPR]; /* General-purpose registers. */ int32_t spill[256]; /* Spill slots. */ } ExitState; diff --git a/src/lj_trace.c b/src/lj_trace.c index 6f63c945..d55d3a85 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c @@ -636,7 +636,7 @@ int LJ_FASTCALL lj_trace_exit(jit_State *J, void *exptr) setintV(L->top++, RID_NUM_GPR); setintV(L->top++, RID_NUM_FPR); for (i = 0; i < RID_NUM_GPR; i++) - setintV(L->top++, ex->gpr[i]); + setnumV(L->top++, cast_num(ex->gpr[i])); for (i = 0; i < RID_NUM_FPR; i++) { setnumV(L->top, ex->fpr[i]); if (LJ_UNLIKELY(tvisnan(L->top))) -- cgit v1.2.3-55-g6feb