|
@@ -1826,7 +1826,8 @@ LJFOLDF(merge_eqne_snew_kgc)
|
|
if (len <= FOLD_SNEW_MAX_LEN) {
|
|
if (len <= FOLD_SNEW_MAX_LEN) {
|
|
IROp op = (IROp)fins->o;
|
|
IROp op = (IROp)fins->o;
|
|
IRRef strref = fleft->op1;
|
|
IRRef strref = fleft->op1;
|
|
- lua_assert(IR(strref)->o == IR_STRREF);
|
|
|
|
|
|
+ if (IR(strref)->o != IR_STRREF)
|
|
|
|
+ return NEXTFOLD;
|
|
if (op == IR_EQ) {
|
|
if (op == IR_EQ) {
|
|
emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len));
|
|
emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len));
|
|
/* Caveat: fins/fleft/fright is no longer valid after emitir. */
|
|
/* Caveat: fins/fleft/fright is no longer valid after emitir. */
|