From 1dddc55ca39f22f35b315e448fe1b79a57ad0cd4 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sun, 16 Jan 2022 21:00:24 +0100 Subject: [PATCH] Prevent replay of buffer operation for PHI operands. Contributed by XmiliaH. --- src/lj_opt_fold.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index e3fe8bbf..0c5a4a6a 100644 --- a/src/lj_opt_fold.c +++ b/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 &&