[perl #123790] Disable targlex for some ops
authorFather Chrysostomos <sprout@cpan.org>
Thu, 26 Mar 2015 19:44:57 +0000 (12:44 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 26 Mar 2015 21:28:50 +0000 (14:28 -0700)
commit21639bf469a072bd10798e16db95edc313588cbb
tree1f032139a65d55b88bc52b2cd59d8b81a217cd21
parent3a069a007de5155703648b15035bd71689dd5290
[perl #123790] Disable targlex for some ops

The targlex optimisation (which makes the op write directly to the
lexical in $lexical = some op, skipping the assignment) does not take
typeglob assignment into account.  Since this optimisation has been
enabled for some ops in 5.21.x, we actually have a regression.  So
this commit disables the optimisation once more for ops that did not
have it on in 5.20.  This is a temporary fix, until we find a better
overall fix.  Other ops that still have the optimisation are buggy,
but no more buggy than in 5.20.
lib/B/Op_private.pm
opcode.h
regen/opcodes
t/op/lex_assign.t