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 83972db9..27305fe6 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -597,7 +597,8 @@ LJFOLDF(bufput_bufstr) | |||
597 | /* New buffer, no other buffer op inbetween and same buffer? */ | 597 | /* New buffer, no other buffer op inbetween and same buffer? */ |
598 | if (fleft->o == IR_BUFHDR && fleft->op2 == IRBUFHDR_RESET && | 598 | if (fleft->o == IR_BUFHDR && fleft->op2 == IRBUFHDR_RESET && |
599 | fleft->prev == hdr && | 599 | fleft->prev == hdr && |
600 | fleft->op1 == IR(hdr)->op1) { | 600 | fleft->op1 == IR(hdr)->op1 && |
601 | !(irt_isphi(fright->t) && IR(hdr)->prev)) { | ||
601 | IRRef ref = fins->op1; | 602 | IRRef ref = fins->op1; |
602 | IR(ref)->op2 = IRBUFHDR_APPEND; /* Modify BUFHDR. */ | 603 | IR(ref)->op2 = IRBUFHDR_APPEND; /* Modify BUFHDR. */ |
603 | IR(ref)->op1 = fright->op1; | 604 | IR(ref)->op1 = fright->op1; |