diff options
Diffstat (limited to 'src/lj_opt_mem.c')
-rw-r--r-- | src/lj_opt_mem.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; |