Răsfoiți Sursa

Prevent replay of buffer operation for PHI operands.

Contributed by XmiliaH.
Mike Pall 3 ani în urmă
părinte
comite
1dddc55ca3
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  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 &&