[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