[prev in list] [next in list] [prev in thread] [next in thread]
List: perl5-changes
Subject: [perl.git] branch smueller/padsv_nolv, updated. v5.17.9-35-gaf8a8bc
From: "Rafael Garcia-Suarez" <rgarciasuarez () gmail ! com>
Date: 2013-02-27 11:15:22
Message-ID: E1UAeyo-0004t2-Th () camel ! ams6 ! corp ! booking ! com
[Download RAW message or body]
In perl.git, the branch smueller/padsv_nolv has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/af8a8bc9ae79d50f98a95af0242701b54721d237?hp=01785aa431268818974b17c7a6bdd1dfe2869696>
- Log -----------------------------------------------------------------
commit af8a8bc9ae79d50f98a95af0242701b54721d237
Author: Rafael Garcia-Suarez <rgs@consttype.org>
Date: Wed Feb 27 12:09:35 2013 +0100
Don't use padsv_nolv in attributed "my" declarations
When checking the optree constructed for "my" variables declarations with
attributes, disable the padsv_nolv optimisation that might have been done by
ck_padsv earlier.
I think that another, probably simpler and more efficient, approach to
implement the padsv_nolv optimisation would be to do it directly at optree
construction time, in my_kids() or my_attrs(), instead of doing that
optype-change dance in the ck functions.
-----------------------------------------------------------------------
Summary of changes:
op.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/op.c b/op.c
index f4859bd..46b535d 100644
--- a/op.c
+++ b/op.c
@@ -8280,6 +8280,11 @@ Perl_ck_spair(pTHX_ OP *o)
type == OP_PADAV || type == OP_PADHV ||
type == OP_RV2AV || type == OP_RV2HV)
return o;
+ if (type == OP_PADSV_NOLV) {
+ /* revert the work that could have been done by ck_padsv */
+ newop->op_type = OP_PADSV;
+ newop->op_ppaddr = PL_ppaddr[OP_PADSV];
+ }
}
#ifdef PERL_MAD
op_getmad(kUNOP->op_first,newop,'K');
--
Perl5 Master Repository
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic