diff options
author | Mike Pall <mike> | 2014-04-15 19:56:23 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2014-04-15 19:56:23 +0200 |
commit | 43dc06bac1fc59faee71f84287550b1f8843cf47 (patch) | |
tree | 4c2ae2865696a145f48e87cf7b40b31bb739fb66 /src | |
parent | 27c453e8e8aa048b7e4f5974f395822e1fa4c0ff (diff) | |
download | luajit-43dc06bac1fc59faee71f84287550b1f8843cf47.tar.gz luajit-43dc06bac1fc59faee71f84287550b1f8843cf47.tar.bz2 luajit-43dc06bac1fc59faee71f84287550b1f8843cf47.zip |
Fix FOLD of string concatenations.
Diffstat (limited to 'src')
-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 7194e618..ab963ed4 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -585,7 +585,8 @@ LJFOLDF(bufstr_kfold_cse) | |||
585 | if (fleft->o == IR_BUFHDR) { /* No put operations? */ | 585 | if (fleft->o == IR_BUFHDR) { /* No put operations? */ |
586 | if (!(fleft->op2 & IRBUFHDR_APPEND)) /* Empty buffer? */ | 586 | if (!(fleft->op2 & IRBUFHDR_APPEND)) /* Empty buffer? */ |
587 | return lj_ir_kstr(J, &J2G(J)->strempty); | 587 | return lj_ir_kstr(J, &J2G(J)->strempty); |
588 | fins->op1 = fleft->prev; /* Relies on checks in bufput_append. */ | 588 | fins->op1 = fleft->op1; |
589 | fins->op2 = fleft->prev; /* Relies on checks in bufput_append. */ | ||
589 | return CSEFOLD; | 590 | return CSEFOLD; |
590 | } else if (fleft->o == IR_BUFPUT) { | 591 | } else if (fleft->o == IR_BUFPUT) { |
591 | IRIns *irb = IR(fleft->op1); | 592 | IRIns *irb = IR(fleft->op1); |