summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-10-03 19:50:45 -0700
committerFather Chrysostomos <sprout@cpan.org>2014-10-11 00:10:16 -0700
commit3ad7d3042169c5402b34cdc33048c5488be19f2c (patch)
tree20e2cef6c30ac9cb4bb365f9c4fe5f6f9c9b4f11 /opcode.h
parent30bccb25bef4aaad4b320bff7a818e513dd280f5 (diff)
downloadperl-3ad7d3042169c5402b34cdc33048c5488be19f2c.tar.gz
Handle state vars correctly in ref assignment
Only \state(@_) was handling this correctly, as pp_lvavref calls pp_padav.
Diffstat (limited to 'opcode.h')
-rw-r--r--opcode.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/opcode.h b/opcode.h
index eb3dc33f87..8117fd9f80 100644
--- a/opcode.h
+++ b/opcode.h
@@ -2745,9 +2745,9 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
-1, /* clonecv */
630, /* padrange */
632, /* refassign */
- 637, /* lvref */
- 642, /* lvrefslice */
- 643, /* lvavref */
+ 638, /* lvref */
+ 644, /* lvrefslice */
+ 645, /* lvavref */
};
@@ -3106,8 +3106,8 @@ EXTCONST U16 PL_op_private_bitdefs[] = {
/* runcv */ 0x00bd,
/* fc */ 0x0003,
/* padrange */ 0x281c, 0x019b,
- /* refassign */ 0x281c, 0x037a, 0x250c, 0x13e8, 0x0067,
- /* lvref */ 0x281c, 0x037a, 0x250c, 0x13e8, 0x0003,
+ /* refassign */ 0x281c, 0x037a, 0x3a10, 0x250c, 0x13e8, 0x0067,
+ /* lvref */ 0x281c, 0x037a, 0x3a10, 0x250c, 0x13e8, 0x0003,
/* lvrefslice */ 0x281d,
/* lvavref */ 0x281c, 0x3a10, 0x0003,
@@ -3497,8 +3497,8 @@ EXTCONST U8 PL_op_private_valid[] = {
/* INTROCV */ (0),
/* CLONECV */ (0),
/* PADRANGE */ (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO),
- /* REFASSIGN */ (OPpARG2_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpLVAL_INTRO),
- /* LVREF */ (OPpARG1_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpLVAL_INTRO),
+ /* REFASSIGN */ (OPpARG2_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpPAD_STATE|OPpLVREF_TYPE|OPpLVAL_INTRO),
+ /* LVREF */ (OPpARG1_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpPAD_STATE|OPpLVREF_TYPE|OPpLVAL_INTRO),
/* LVREFSLICE */ (OPpLVAL_INTRO),
/* LVAVREF */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO),