diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 12:36:02 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 16:06:43 -0800 |
commit | f39944c15e410735fc6ec1ad2f9dfa84ea4e409d (patch) | |
tree | b456eb0b2ffeea0edd2bfd4cd6bb1e15d1d9d6f1 /opcode.h | |
parent | 61aeaf969d4829d2801f5ecc331dbd94627b2b8f (diff) | |
download | perl-f39944c15e410735fc6ec1ad2f9dfa84ea4e409d.tar.gz |
Remove OA_DANGEROUS from grep and map
OA_DANGEROUS indicates that temporary copies may need to be made in
list assignment, to handle things like:
($a, $b) = ($b, $a);
In other words, an op type is flagged with OA_DANGEROUS if its return
values could occur elsewhere on the stack.
grep returns its arguments, while map returns the results of its first
expression. Since aassign_common_vars, which does the danger check,
will also check the kids of the mapstart/grepstart ops, it is not nec-
essary for grep and map themselves to be flagged this way.
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1900,10 +1900,10 @@ EXTCONST U32 PL_opargs[] = { 0x0002341d, /* unshift */ 0x0002d401, /* sort */ 0x00002409, /* reverse */ - 0x00025441, /* grepstart */ - 0x00000348, /* grepwhile */ - 0x00025441, /* mapstart */ - 0x00000348, /* mapwhile */ + 0x00025401, /* grepstart */ + 0x00000308, /* grepwhile */ + 0x00025401, /* mapstart */ + 0x00000308, /* mapwhile */ 0x00011300, /* range */ 0x00011100, /* flip */ 0x00000100, /* flop */ |