diff options
-rw-r--r-- | src/lj_opt_fold.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 409549c9..a15f927c 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -1826,7 +1826,8 @@ LJFOLDF(merge_eqne_snew_kgc) | |||
1826 | if (len <= FOLD_SNEW_MAX_LEN) { | 1826 | if (len <= FOLD_SNEW_MAX_LEN) { |
1827 | IROp op = (IROp)fins->o; | 1827 | IROp op = (IROp)fins->o; |
1828 | IRRef strref = fleft->op1; | 1828 | IRRef strref = fleft->op1; |
1829 | lua_assert(IR(strref)->o == IR_STRREF); | 1829 | if (IR(strref)->o != IR_STRREF) |
1830 | return NEXTFOLD; | ||
1830 | if (op == IR_EQ) { | 1831 | if (op == IR_EQ) { |
1831 | emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len)); | 1832 | emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len)); |
1832 | /* Caveat: fins/fleft/fright is no longer valid after emitir. */ | 1833 | /* Caveat: fins/fleft/fright is no longer valid after emitir. */ |