diff options
author | Andy Lester <andy@petdance.com> | 2006-04-19 18:16:53 -0500 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2006-04-20 10:02:25 +0000 |
commit | e15d5972b12383d939a792aa5189460c258c4f51 (patch) | |
tree | ff5391de96494240dce2f7b6a7449bb1044053f0 /sv.c | |
parent | c4fd899278c3d558515085807d99f631cae59e1b (diff) | |
download | perl-e15d5972b12383d939a792aa5189460c258c4f51.tar.gz |
op_type shrinking
Message-ID: <20060420041653.GA28523@petdance.com>
p4raw-id: //depot/perl@27910
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -11889,7 +11889,7 @@ S_find_uninit_var(pTHX_ OP* obase, SV* uninit_sv, bool match) subscript_type = FUV_SUBSCRIPT_HASH; } else { - index = S_find_array_subscript(aTHX_ (AV*)sv, uninit_sv); + index = find_array_subscript((AV*)sv, uninit_sv); if (index >= 0) subscript_type = FUV_SUBSCRIPT_ARRAY; } @@ -12103,13 +12103,14 @@ S_find_uninit_var(pTHX_ OP* obase, SV* uninit_sv, bool match) * or are optimized away, then it's unambiguous */ o2 = NULL; for (kid=o; kid; kid = kid->op_sibling) { - if (kid && - ( (kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) - || (kid->op_type == OP_NULL && ! (kid->op_flags & OPf_KIDS)) - || (kid->op_type == OP_PUSHMARK) + if (kid) { + const OPCODE type = kid->op_type; + if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid))) + || (type == OP_NULL && ! (kid->op_flags & OPf_KIDS)) + || (type == OP_PUSHMARK) ) - ) continue; + } if (o2) { /* more than one found */ o2 = NULL; break; |