diff options
author | Mike Pall <mike> | 2010-02-24 01:18:49 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-24 01:18:49 +0100 |
commit | 857f538eacdb2c45913cd8c32f3c0d8a6f273f50 (patch) | |
tree | c67a6d4c8ae617dad442daba6bdad4263c605058 /src | |
parent | 8ae2f9feaaed874e01a87df6646242b80acceabb (diff) | |
download | luajit-857f538eacdb2c45913cd8c32f3c0d8a6f273f50.tar.gz luajit-857f538eacdb2c45913cd8c32f3c0d8a6f273f50.tar.bz2 luajit-857f538eacdb2c45913cd8c32f3c0d8a6f273f50.zip |
Fix exit state for 64 bit mode.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_target_x86.h | 2 | ||||
-rw-r--r-- | src/lj_trace.c | 2 |
2 files changed, 2 insertions, 2 deletions
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 { | |||
116 | /* This definition must match with the *.dasc file(s). */ | 116 | /* This definition must match with the *.dasc file(s). */ |
117 | typedef struct { | 117 | typedef struct { |
118 | lua_Number fpr[RID_NUM_FPR]; /* Floating-point registers. */ | 118 | lua_Number fpr[RID_NUM_FPR]; /* Floating-point registers. */ |
119 | int32_t gpr[RID_NUM_GPR]; /* General-purpose registers. */ | 119 | intptr_t gpr[RID_NUM_GPR]; /* General-purpose registers. */ |
120 | int32_t spill[256]; /* Spill slots. */ | 120 | int32_t spill[256]; /* Spill slots. */ |
121 | } ExitState; | 121 | } ExitState; |
122 | 122 | ||
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) | |||
636 | setintV(L->top++, RID_NUM_GPR); | 636 | setintV(L->top++, RID_NUM_GPR); |
637 | setintV(L->top++, RID_NUM_FPR); | 637 | setintV(L->top++, RID_NUM_FPR); |
638 | for (i = 0; i < RID_NUM_GPR; i++) | 638 | for (i = 0; i < RID_NUM_GPR; i++) |
639 | setintV(L->top++, ex->gpr[i]); | 639 | setnumV(L->top++, cast_num(ex->gpr[i])); |
640 | for (i = 0; i < RID_NUM_FPR; i++) { | 640 | for (i = 0; i < RID_NUM_FPR; i++) { |
641 | setnumV(L->top, ex->fpr[i]); | 641 | setnumV(L->top, ex->fpr[i]); |
642 | if (LJ_UNLIKELY(tvisnan(L->top))) | 642 | if (LJ_UNLIKELY(tvisnan(L->top))) |