diff options
| author | Mike Pall <mike> | 2013-04-22 22:37:22 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2013-04-22 22:37:22 +0200 |
| commit | 1ae3e5204b8cbd8b643a5a3ab747211be8fe6fba (patch) | |
| tree | 224097ada9863e30de84f27db0b2c4f535b6cca9 /src | |
| parent | a2c78810ca0162c06b3ae02b52d6b4c04a8d5be3 (diff) | |
| download | luajit-1ae3e5204b8cbd8b643a5a3ab747211be8fe6fba.tar.gz luajit-1ae3e5204b8cbd8b643a5a3ab747211be8fe6fba.tar.bz2 luajit-1ae3e5204b8cbd8b643a5a3ab747211be8fe6fba.zip | |
Fix PHI barrier in BUFPUT FOLD rule.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_opt_fold.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index f35593f3..fc91a75e 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
| @@ -547,8 +547,8 @@ LJFOLDF(bufput_kgc) | |||
| 547 | if (len2 == 0) { /* Empty string? */ | 547 | if (len2 == 0) { /* Empty string? */ |
| 548 | return LEFTFOLD; | 548 | return LEFTFOLD; |
| 549 | } else { | 549 | } else { |
| 550 | PHIBARRIER(fleft); | 550 | if (fleft->o == IR_BUFPUT && IR(fleft->op2)->o == IR_KGC && |
| 551 | if (fleft->o == IR_BUFPUT && IR(fleft->op2)->o == IR_KGC) { | 551 | !irt_isphi(fleft->t)) { |
| 552 | /* Join two constant string puts in a row. */ | 552 | /* Join two constant string puts in a row. */ |
| 553 | GCstr *s1 = ir_kstr(IR(fleft->op2)); | 553 | GCstr *s1 = ir_kstr(IR(fleft->op2)); |
| 554 | MSize len1 = s1->len; | 554 | MSize len1 = s1->len; |
