This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[MERGE] add OP_MULTICONCAT and optimize_optree()
authorDavid Mitchell <davem@iabyn.com>
Tue, 31 Oct 2017 16:08:06 +0000 (16:08 +0000)
committerDavid Mitchell <davem@iabyn.com>
Tue, 31 Oct 2017 16:08:06 +0000 (16:08 +0000)
This branch contains one main commit which adds the new OP_MULTICONCAT op,
plus a few prior commits to provide support; in particular, adding an extra
top-down optree scan phase to allow extra optimisation opportunities, just
before the peephole optimiser is run.

See the OP_MULTICONCAT for more details, but in summary it:
allows multiple OP_CONCAT, OP_CONST ops, plus optionally an OP_SASSIGN
or OP_STRINGIFY, to be combined into a single OP_MULTICONCAT op, which can
make things a *lot* faster: 4x or more.


Trivial merge