diff options
author | Mike Pall <mike> | 2022-01-16 21:00:24 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2022-01-16 21:00:24 +0100 |
commit | 1dddc55ca39f22f35b315e448fe1b79a57ad0cd4 (patch) | |
tree | 06ccf3b52094f79db709f777c7a22cf5becd5ad3 /src | |
parent | 2c218bf756b9cda41b12676e64728c4bc452b00e (diff) | |
download | luajit-1dddc55ca39f22f35b315e448fe1b79a57ad0cd4.tar.gz luajit-1dddc55ca39f22f35b315e448fe1b79a57ad0cd4.tar.bz2 luajit-1dddc55ca39f22f35b315e448fe1b79a57ad0cd4.zip |
Prevent replay of buffer operation for PHI operands.
Contributed by XmiliaH.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_opt_fold.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
605 | return ref; | 605 | return ref; |
606 | } | 606 | } |
607 | /* Replay puts to global temporary buffer. */ | 607 | /* Replay puts to global temporary buffer. */ |
608 | if (IR(hdr)->op2 == IRBUFHDR_RESET) { | 608 | if (IR(hdr)->op2 == IRBUFHDR_RESET && !irt_isphi(fright->t)) { |
609 | IRIns *ir = IR(fright->op1); | 609 | IRIns *ir = IR(fright->op1); |
610 | /* For now only handle single string.reverse .lower .upper .rep. */ | 610 | /* For now only handle single string.reverse .lower .upper .rep. */ |
611 | if (ir->o == IR_CALLL && | 611 | if (ir->o == IR_CALLL && |