diff options
author | Mike Pall <mike> | 2012-11-06 17:05:37 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2012-11-06 17:05:37 +0100 |
commit | 4e5ef81b869dd15238ccfd5aeef09ce577f9b805 (patch) | |
tree | 4f87b74e0ad1c0ee9390cc34a513379fb4f6cd48 /src/lj_crecord.c | |
parent | 8a1a6097bef28df3875f5f9c2624952bd173cf81 (diff) | |
download | luajit-4e5ef81b869dd15238ccfd5aeef09ce577f9b805.tar.gz luajit-4e5ef81b869dd15238ccfd5aeef09ce577f9b805.tar.bz2 luajit-4e5ef81b869dd15238ccfd5aeef09ce577f9b805.zip |
FFI: Fix recording of bool call result check on x86/x64.
Diffstat (limited to 'src/lj_crecord.c')
-rw-r--r-- | src/lj_crecord.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 9d361a7a..c9cdb261 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c | |||
@@ -1140,7 +1140,12 @@ static int crec_call(jit_State *J, RecordFFData *rd, GCcdata *cd) | |||
1140 | tr = TREF_NIL; | 1140 | tr = TREF_NIL; |
1141 | } else { | 1141 | } else { |
1142 | crec_snap_caller(J); | 1142 | crec_snap_caller(J); |
1143 | #if LJ_TARGET_X86ORX64 | ||
1144 | /* Note: only the x86/x64 backend supports U8 and only for EQ(tr, 0). */ | ||
1145 | lj_ir_set(J, IRTG(IR_NE, IRT_U8), tr, lj_ir_kint(J, 0)); | ||
1146 | #else | ||
1143 | lj_ir_set(J, IRTGI(IR_NE), tr, lj_ir_kint(J, 0)); | 1147 | lj_ir_set(J, IRTGI(IR_NE), tr, lj_ir_kint(J, 0)); |
1148 | #endif | ||
1144 | J->postproc = LJ_POST_FIXGUARDSNAP; | 1149 | J->postproc = LJ_POST_FIXGUARDSNAP; |
1145 | tr = TREF_TRUE; | 1150 | tr = TREF_TRUE; |
1146 | } | 1151 | } |