aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_ir.h1
-rw-r--r--src/lj_opt_mem.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h
index 9fd4e275..6d974ed2 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -346,6 +346,7 @@ typedef struct IRType1 { uint8_t irt; } IRType1;
346#define irt_isu32(t) (irt_type(t) == IRT_U32) 346#define irt_isu32(t) (irt_type(t) == IRT_U32)
347#define irt_isi64(t) (irt_type(t) == IRT_I64) 347#define irt_isi64(t) (irt_type(t) == IRT_I64)
348#define irt_isu64(t) (irt_type(t) == IRT_U64) 348#define irt_isu64(t) (irt_type(t) == IRT_U64)
349#define irt_isp32(t) (irt_type(t) == IRT_P32)
349 350
350#define irt_isfp(t) (irt_isnum(t) || irt_isfloat(t)) 351#define irt_isfp(t) (irt_isnum(t) || irt_isfloat(t))
351#define irt_isinteger(t) (irt_typerange((t), IRT_I8, IRT_INT)) 352#define irt_isinteger(t) (irt_typerange((t), IRT_I8, IRT_INT))
diff --git a/src/lj_opt_mem.c b/src/lj_opt_mem.c
index 04b95a6f..214fb632 100644
--- a/src/lj_opt_mem.c
+++ b/src/lj_opt_mem.c
@@ -879,6 +879,8 @@ int lj_opt_fwd_wasnonnil(jit_State *J, IROpT loadop, IRRef xref)
879 if (skref == xkref || !irref_isk(skref) || !irref_isk(xkref)) 879 if (skref == xkref || !irref_isk(skref) || !irref_isk(xkref))
880 return 0; /* A nil store with same const key or var key MAY alias. */ 880 return 0; /* A nil store with same const key or var key MAY alias. */
881 /* Different const keys CANNOT alias. */ 881 /* Different const keys CANNOT alias. */
882 } else if (irt_isp32(IR(skref)->t) != irt_isp32(IR(xkref)->t)) {
883 return 0; /* HREF and HREFK MAY alias. */
882 } /* Different key types CANNOT alias. */ 884 } /* Different key types CANNOT alias. */
883 } /* Other non-nil stores MAY alias. */ 885 } /* Other non-nil stores MAY alias. */
884 ref = store->prev; 886 ref = store->prev;