This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add OPpCONCAT_NESTED flag
authorDavid Mitchell <davem@iabyn.com>
Fri, 17 Nov 2017 12:23:17 +0000 (12:23 +0000)
committerDavid Mitchell <davem@iabyn.com>
Thu, 23 Nov 2017 08:52:16 +0000 (08:52 +0000)
commitd962625ff9208c2f683374d283f74eee759c2202
tree31c972b1a35dffd0599590e25d7409bd4cd243fa
parented34dca8117dd19b8eb9b3668892fd309157c5ad
add OPpCONCAT_NESTED flag

This flag makes no functional difference to runtime (it merely flags
that an optimisation has been performed), but it will shortly be used to
assist Deparse and warnings.

OPf_STACKED, when set on a OP_CONCAT, normally indicates .=; but it
also gets set to optimise

    $a . $b . $c

into

    ($a . $b) .= $c

so that the first concat's PADTMP (which holds the result of $a.$b) can be
reused. Set a flag in this case to help deparse and warn distinguish the
cases.
lib/B/Op_private.pm
op.c
opcode.h
regen/op_private