diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 12:30:33 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 16:06:42 -0800 |
commit | 61aeaf969d4829d2801f5ecc331dbd94627b2b8f (patch) | |
tree | 4fe1ea6533e86825755dcd386b82e1cedf4b92e3 /opcode.h | |
parent | 15da1ccf5401cb5b69ab5ab40a17dd79ebcde211 (diff) | |
download | perl-61aeaf969d4829d2801f5ecc331dbd94627b2b8f.tar.gz |
Remove OA_DANGEROUS from sort
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.
pp_sort returns its arguments. aassign_common_vars will check its kid
ops for danger as well, so it’s not necessary for sort itself to be
flagged this way. This will allow cases like ($a,$b) = sort($c,$d) to
forego the temp copy.
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1898,7 +1898,7 @@ EXTCONST U32 PL_opargs[] = { 0x0000bb04, /* pop */ 0x0000bb04, /* shift */ 0x0002341d, /* unshift */ - 0x0002d441, /* sort */ + 0x0002d401, /* sort */ 0x00002409, /* reverse */ 0x00025441, /* grepstart */ 0x00000348, /* grepwhile */ |