aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_opt_mem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_opt_mem.c b/src/lj_opt_mem.c
index 9f714056..f7833654 100644
--- a/src/lj_opt_mem.c
+++ b/src/lj_opt_mem.c
@@ -179,7 +179,8 @@ static TRef fwd_ahload(jit_State *J, IRRef xref)
179 } 179 }
180 ref = store->prev; 180 ref = store->prev;
181 } 181 }
182 lua_assert(ir->o != IR_TNEW || irt_isnil(fins->t)); 182 if (ir->o == IR_TNEW && !irt_isnil(fins->t))
183 return 0; /* Type instability in loop-carried dependency. */
183 if (irt_ispri(fins->t)) { 184 if (irt_ispri(fins->t)) {
184 return TREF_PRI(irt_type(fins->t)); 185 return TREF_PRI(irt_type(fins->t));
185 } else if (irt_isnum(fins->t) || (LJ_DUALNUM && irt_isint(fins->t)) || 186 } else if (irt_isnum(fins->t) || (LJ_DUALNUM && irt_isint(fins->t)) ||