diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 13:03:45 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 16:06:44 -0800 |
commit | fc5ae97dc1cda30f5602828e5ee550c298f86a3f (patch) | |
tree | e8fa1ebe882cd5b5e8c28a25b2f85f0bef02b857 | |
parent | e518ea42e3594500d5b65ec487d88325c27f4f87 (diff) | |
download | perl-fc5ae97dc1cda30f5602828e5ee550c298f86a3f.tar.gz |
enterwrite is not OA_DANGEROUS
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.
‘write’ only ever returns a read-only true or false, so temp copies
are not necessary for its sake.
-rw-r--r-- | opcode.h | 2 | ||||
-rw-r--r-- | regen/opcodes | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -1963,7 +1963,7 @@ EXTCONST U32 PL_opargs[] = { 0x0000e40c, /* select */ 0x0000eb0c, /* getc */ 0x0917640d, /* read */ - 0x0000eb44, /* enterwrite */ + 0x0000eb04, /* enterwrite */ 0x00000100, /* leavewrite */ 0x0002e405, /* prtf */ 0x0002e405, /* print */ diff --git a/regen/opcodes b/regen/opcodes index 24a4aa8af7..c541d277c3 100644 --- a/regen/opcodes +++ b/regen/opcodes @@ -337,7 +337,7 @@ select select ck_select st@ F? getc getc ck_eof st% F? read read ck_fun imst@ F R S S? -enterwrite write ck_fun dis% F? +enterwrite write ck_fun is% F? leavewrite write exit ck_null 1 prtf printf ck_listiob ims@ F? L |