]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Inhibit CSE for table.concat().
authorMike Pall <mike>
Sun, 28 Apr 2013 09:31:41 +0000 (11:31 +0200)
committerMike Pall <mike>
Sun, 28 Apr 2013 09:31:41 +0000 (11:31 +0200)
src/lj_opt_fold.c

index 94d5702fd4db80bce1ae19ccf595ffc963176f89..d8b6e88434141f37b2fadbed3987bb83d24566ce 100644 (file)
@@ -602,6 +602,8 @@ LJFOLDF(bufstr_kfold_cse)
                   ira->o == IR_CALLL || ira->o == IR_CARG);
        if (ira->o == IR_BUFHDR && !(ira->op2 & IRBUFHDR_APPEND))
          return ref;  /* CSE succeeded. */
+       if (ira->o == IR_CALLL && ira->op2 == IRCALL_lj_buf_puttab)
+         break;
        ira = IR(ira->op1);
        irb = IR(irb->op1);
       }