aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2023-12-23 19:49:43 +0100
committerMike Pall <mike>2023-12-23 19:49:43 +0100
commitdbd363ca256bbc671834253e7cbe226b397af8c8 (patch)
treed5ffa1e36f474366cd6fa389ee38b1d9b5066129 /src
parent293199c5eba1e3036d975c045947051d9e160b48 (diff)
parent658530562c2ac7ffa8e4ca5d18856857471244e9 (diff)
downloadluajit-dbd363ca256bbc671834253e7cbe226b397af8c8.tar.gz
luajit-dbd363ca256bbc671834253e7cbe226b397af8c8.tar.bz2
luajit-dbd363ca256bbc671834253e7cbe226b397af8c8.zip
Merge branch 'master' into v2.1
Diffstat (limited to 'src')
-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 dbfba258..cc73a849 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -383,6 +383,7 @@ typedef struct IRType1 { uint8_t irt; } IRType1;
383#define irt_isu32(t) (irt_type(t) == IRT_U32) 383#define irt_isu32(t) (irt_type(t) == IRT_U32)
384#define irt_isi64(t) (irt_type(t) == IRT_I64) 384#define irt_isi64(t) (irt_type(t) == IRT_I64)
385#define irt_isu64(t) (irt_type(t) == IRT_U64) 385#define irt_isu64(t) (irt_type(t) == IRT_U64)
386#define irt_isp32(t) (irt_type(t) == IRT_P32)
386 387
387#define irt_isfp(t) (irt_isnum(t) || irt_isfloat(t)) 388#define irt_isfp(t) (irt_isnum(t) || irt_isfloat(t))
388#define irt_isinteger(t) (irt_typerange((t), IRT_I8, IRT_INT)) 389#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 55b40c3b..29b33f29 100644
--- a/src/lj_opt_mem.c
+++ b/src/lj_opt_mem.c
@@ -960,6 +960,8 @@ int lj_opt_fwd_wasnonnil(jit_State *J, IROpT loadop, IRRef xref)
960 if (skref == xkref || !irref_isk(skref) || !irref_isk(xkref)) 960 if (skref == xkref || !irref_isk(skref) || !irref_isk(xkref))
961 return 0; /* A nil store with same const key or var key MAY alias. */ 961 return 0; /* A nil store with same const key or var key MAY alias. */
962 /* Different const keys CANNOT alias. */ 962 /* Different const keys CANNOT alias. */
963 } else if (irt_isp32(IR(skref)->t) != irt_isp32(IR(xkref)->t)) {
964 return 0; /* HREF and HREFK MAY alias. */
963 } /* Different key types CANNOT alias. */ 965 } /* Different key types CANNOT alias. */
964 } /* Other non-nil stores MAY alias. */ 966 } /* Other non-nil stores MAY alias. */
965 ref = store->prev; 967 ref = store->prev;