浏览代码

Prevent replay of buffer operation for PHI operands.

Contributed by XmiliaH.
Mike Pall 3 年之前
父节点
当前提交
1dddc55ca3
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/lj_opt_fold.c

+ 1 - 1
src/lj_opt_fold.c

@@ -605,7 +605,7 @@ LJFOLDF(bufput_bufstr)
       return ref;
     }
     /* Replay puts to global temporary buffer. */
-    if (IR(hdr)->op2 == IRBUFHDR_RESET) {
+    if (IR(hdr)->op2 == IRBUFHDR_RESET && !irt_isphi(fright->t)) {
       IRIns *ir = IR(fright->op1);
       /* For now only handle single string.reverse .lower .upper .rep. */
       if (ir->o == IR_CALLL &&