summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-11-08 12:36:02 -0800
committerFather Chrysostomos <sprout@cpan.org>2014-11-08 16:06:43 -0800
commitf39944c15e410735fc6ec1ad2f9dfa84ea4e409d (patch)
treeb456eb0b2ffeea0edd2bfd4cd6bb1e15d1d9d6f1 /opcode.h
parent61aeaf969d4829d2801f5ecc331dbd94627b2b8f (diff)
downloadperl-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.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/opcode.h b/opcode.h
index 5d29d5235a..6e9c17a2ac 100644
--- a/opcode.h
+++ b/opcode.h
@@ -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 */