diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-07-13 18:10:38 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-07-13 18:10:38 -0700 |
commit | dd9a6ccfcb1b5e26680c14c1663ea9fac4480690 (patch) | |
tree | 71ed0d182d35ceed4cb2007b0366b3d867fd08bf /opcode.h | |
parent | c75cfcf022bbc2d851c911d5a33a70983d4ede48 (diff) | |
download | perl-dd9a6ccfcb1b5e26680c14c1663ea9fac4480690.tar.gz |
[perl #113470] Constant folding for pack
This takes the pessimistic approach of skipping it for any first argu-
ment that is not a plain non-magical PV, just in case there is a 'p'
or 'P' in the stringified form.
Otherwise it scans the PV for 'p' or 'P' and skips the folding if either
is present.
Then it falls through to the usual op-filtering logic.
I nearly made ‘pack;’ crash, so I added a test to bproto.t.
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1847,7 +1847,7 @@ EXTCONST U32 PL_opargs[] = { 0x00024401, /* hslice */ 0x00004b00, /* boolkeys */ 0x00091480, /* unpack */ - 0x0002140d, /* pack */ + 0x0002140f, /* pack */ 0x00111408, /* split */ 0x0002140d, /* join */ 0x00002401, /* list */ |