diff options
author | Mike Pall <mike> | 2011-11-04 14:48:44 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-11-04 14:49:27 +0100 |
commit | f1849fa928f7d8d870488f04a4d356eabaa5d057 (patch) | |
tree | ac167d5a1914f0d7f7a0308b477f5b66a5560db8 /src/buildvm_x86.dasc | |
parent | 7b0157aa99ea00c84245043d7d2467cb19297cec (diff) | |
download | luajit-f1849fa928f7d8d870488f04a4d356eabaa5d057.tar.gz luajit-f1849fa928f7d8d870488f04a4d356eabaa5d057.tar.bz2 luajit-f1849fa928f7d8d870488f04a4d356eabaa5d057.zip |
x64: Fix lightuserdata comparisons.
Diffstat (limited to '')
-rw-r--r-- | src/buildvm_x86.dasc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 21e18ea8..a667bcb6 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -4022,6 +4022,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4022 | | je <1 // Same GCobjs or pvalues? | 4022 | | je <1 // Same GCobjs or pvalues? |
4023 | | cmp RB, LJ_TISTABUD | 4023 | | cmp RB, LJ_TISTABUD |
4024 | | ja <2 // Different objects and not table/ud? | 4024 | | ja <2 // Different objects and not table/ud? |
4025 | |.if X64 | ||
4026 | | cmp RB, LJ_TUDATA // And not 64 bit lightuserdata. | ||
4027 | | jb <2 | ||
4028 | |.endif | ||
4025 | | | 4029 | | |
4026 | | // Different tables or userdatas. Need to check __eq metamethod. | 4030 | | // Different tables or userdatas. Need to check __eq metamethod. |
4027 | | // Field metatable must be at same offset for GCtab and GCudata! | 4031 | | // Field metatable must be at same offset for GCtab and GCudata! |