summaryrefslogtreecommitdiff
path: root/src/lj_carith.c
diff options
context:
space:
mode:
authorMike Pall <mike>2014-04-01 00:34:13 +0200
committerMike Pall <mike>2014-04-01 00:34:13 +0200
commitcaefd06871a6e2e673520d8565a51257e735a097 (patch)
tree1f49a3202d1cd039d4a4a2c613c198f7c805ff07 /src/lj_carith.c
parentb65515fb4831d3cd9071c31ed56ba2a95578189a (diff)
parent19b69f21d409375ad8362c04186b246c1749fc8e (diff)
downloadluajit-caefd06871a6e2e673520d8565a51257e735a097.tar.gz
luajit-caefd06871a6e2e673520d8565a51257e735a097.tar.bz2
luajit-caefd06871a6e2e673520d8565a51257e735a097.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src/lj_carith.c')
-rw-r--r--src/lj_carith.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lj_carith.c b/src/lj_carith.c
index d8b5f91a..1b1786a6 100644
--- a/src/lj_carith.c
+++ b/src/lj_carith.c
@@ -75,7 +75,7 @@ static int carith_checkarg(lua_State *L, CTState *cts, CDArith *ca)
75 ok = 1; 75 ok = 1;
76 } else { 76 } else {
77 ca->ct[1-i] = ct; /* Use enum to improve error message. */ 77 ca->ct[1-i] = ct; /* Use enum to improve error message. */
78 ca->p[1-i] = NULL; 78 ca->p[1-i] = (void *)(intptr_t)1; /* To make it unequal. */
79 break; 79 break;
80 } 80 }
81 } 81 }
@@ -236,7 +236,9 @@ static int lj_carith_meta(lua_State *L, CTState *cts, CDArith *ca, MMS mm)
236 const char *repr[2]; 236 const char *repr[2];
237 int i, isenum = -1, isstr = -1; 237 int i, isenum = -1, isstr = -1;
238 if (mm == MM_eq) { /* Equality checks never raise an error. */ 238 if (mm == MM_eq) { /* Equality checks never raise an error. */
239 setboolV(L->top-1, 0); 239 int eq = ca->p[0] == ca->p[1];
240 setboolV(L->top-1, eq);
241 setboolV(&G(L)->tmptv2, eq); /* Remember for trace recorder. */
240 return 1; 242 return 1;
241 } 243 }
242 for (i = 0; i < 2; i++) { 244 for (i = 0; i < 2; i++) {