summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-07-13 18:10:38 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-07-13 18:10:38 -0700
commitdd9a6ccfcb1b5e26680c14c1663ea9fac4480690 (patch)
tree71ed0d182d35ceed4cb2007b0366b3d867fd08bf /opcode.h
parentc75cfcf022bbc2d851c911d5a33a70983d4ede48 (diff)
downloadperl-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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/opcode.h b/opcode.h
index 217cb56481..2c7db8383a 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1847,7 +1847,7 @@ EXTCONST U32 PL_opargs[] = {
0x00024401, /* hslice */
0x00004b00, /* boolkeys */
0x00091480, /* unpack */
- 0x0002140d, /* pack */
+ 0x0002140f, /* pack */
0x00111408, /* split */
0x0002140d, /* join */
0x00002401, /* list */