| line |
true |
false |
branch |
|
336
|
13 |
0 |
if (SvTYPE(a2) == SVt_PVGV) |
|
338
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
|
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
|
339
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
|
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
|
352
|
8 |
0 |
return svp ? *svp : &PL_sv_undef; |
|
355
|
4 |
0 |
return he ? HeVAL(he) : &PL_sv_undef; |
|
403
|
0 |
26 |
PREP_ALIAS_INC(value); |
|
|
1 |
0 |
PREP_ALIAS_INC(value); |
|
|
1 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
1 |
PREP_ALIAS_INC(value); |
|
|
1 |
4 |
PREP_ALIAS_INC(value); |
|
|
1 |
0 |
PREP_ALIAS_INC(value); |
|
406
|
14 |
12 |
if (old != &PL_sv_undef) |
|
411
|
25 |
149 |
if ((Size_t) a1 == DA_ALIAS_PAD) |
|
414
|
2 |
147 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
10 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
419
|
90 |
7 |
if (SvTYPE(a2) == SVt_PVGV) { |
|
426
|
5 |
9 |
if (!SvROK(value)) { |
|
428
|
12 |
0 |
SvSetMagicSV(a2, value); |
|
|
0 |
12 |
SvSetMagicSV(a2, value); |
|
443
|
1 |
0 |
if (oldcv != (CV *) value) { |
|
444
|
0 |
1 |
if (GvCVGEN(gv)) { |
|
453
|
1 |
0 |
if (GvINTRO(gv)) { |
|
457
|
0 |
1 |
SSCHECK(1); |
|
474
|
5 |
93 |
if (GvINTRO(gv)) { |
|
490
|
0 |
23 |
if (!av_store((AV *) a1, (SSize_t) a2, value)) |
|
494
|
1 |
14 |
if (value == &PL_sv_undef) { |
|
498
|
0 |
14 |
if (!hv_store_ent((HV *) a1, a2, value, 0)) |
|
518
|
11 |
3 |
if (gp->gp_refcnt > 1) { |
|
530
|
0 |
14 |
SSCHECK(2); |
|
540
|
0 |
84 |
PREP_ALIAS_INC(sv); |
|
|
0 |
0 |
PREP_ALIAS_INC(sv); |
|
|
0 |
0 |
PREP_ALIAS_INC(sv); |
|
|
0 |
0 |
PREP_ALIAS_INC(sv); |
|
|
0 |
22 |
PREP_ALIAS_INC(sv); |
|
|
0 |
0 |
PREP_ALIAS_INC(sv); |
|
557
|
4 |
0 |
if (GIMME_V != G_LIST) { |
|
559
|
4 |
0 |
*MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef); |
|
562
|
0 |
0 |
EXTEND_MORTAL(SP - MARK); |
|
563
|
0 |
0 |
while (++MARK <= SP) |
|
577
|
19 |
13 |
while (i--) |
|
579
|
9 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
|
585
|
0 |
13 |
XPUSHs(sv); |
|
593
|
32 |
21 |
while (MARK < SP) { |
|
596
|
30 |
2 |
if (MARK < SP) |
|
598
|
1 |
1 |
else if (ckWARN(WARN_MISC)) |
|
601
|
3 |
28 |
if (val == &PL_sv_undef) |
|
607
|
17 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
|
613
|
0 |
21 |
XPUSHs(sv); |
|
625
|
8 |
9 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
|
|
9 |
0 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
|
630
|
0 |
17 |
if (!av_fetch(av, index, TRUE)) |
|
632
|
0 |
17 |
XPUSHaa(av, index); |
|
643
|
0 |
0 |
if (!av_fetch(av, index, TRUE)) |
|
646
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
|
0 |
0 |
PREP_ALIAS_INC(value); |
|
647
|
0 |
0 |
if (!av_store(av, index, value)) |
|
655
|
6 |
6 |
while (mg) { |
|
656
|
0 |
6 |
if (isUPPER(mg->mg_type)) |
|
668
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
670
|
0 |
4 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
|
0 |
0 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
|
0 |
0 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
|
0 |
0 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
|
0 |
0 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
|
0 |
0 |
if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC)) |
|
673
|
0 |
4 |
if (SvTYPE(av) != SVt_PVAV) |
|
675
|
4 |
0 |
if (index > DA_ARRAY_MAXIDX || !(svp = av_fetch(av, index, TRUE))) |
|
|
0 |
4 |
if (index > DA_ARRAY_MAXIDX || !(svp = av_fetch(av, index, TRUE))) |
|
677
|
2 |
2 |
if (PL_op->op_private & OPpLVAL_INTRO) |
|
720
|
0 |
11 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
723
|
11 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
|
725
|
2 |
9 |
if (localizing) |
|
727
|
0 |
11 |
if (!(he = hv_fetch_ent(hv, key, TRUE, 0))) |
|
729
|
2 |
9 |
if (localizing) { |
|
730
|
1 |
1 |
if (!existed) |
|
758
|
0 |
3 |
if (SvTYPE(av) != SVt_PVAV) |
|
760
|
0 |
3 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
763
|
3 |
0 |
EXTEND(sp, count); |
|
|
0 |
3 |
EXTEND(sp, count); |
|
768
|
6 |
3 |
while (MARK < src) { |
|
770
|
6 |
0 |
if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0)) |
|
|
0 |
6 |
if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0)) |
|
|
0 |
0 |
if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0)) |
|
772
|
2 |
4 |
if (local) |
|
774
|
2 |
4 |
if (i > max) |
|
780
|
1 |
2 |
if (max > AvMAX(av)) |
|
792
|
0 |
3 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
794
|
3 |
0 |
EXTEND(sp, i); |
|
|
0 |
3 |
EXTEND(sp, i); |
|
797
|
3 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
|
798
|
6 |
3 |
while (MARK < src) { |
|
799
|
0 |
6 |
if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0))) |
|
801
|
2 |
4 |
if (PL_op->op_private & OPpLVAL_INTRO) |
|
831
|
5 |
2 |
if (PL_op->op_flags & OPf_SPECIAL) { |
|
832
|
5 |
0 |
AV *av = GvAVn(PL_defgv); |
|
833
|
0 |
5 |
PUSHMARK(SP); |
|
834
|
1 |
4 |
if (is_single) { |
|
835
|
0 |
1 |
XPUSHs((SV*)av); |
|
837
|
0 |
4 |
const I32 maxarg = AvFILL(av) + 1; |
|
838
|
4 |
0 |
EXTEND(SP, maxarg); |
|
|
0 |
4 |
EXTEND(SP, maxarg); |
|
839
|
0 |
4 |
if (SvRMAGICAL(av)) { |
|
841
|
0 |
0 |
for (i=0; i < (U32)maxarg; i++) { |
|
846
|
0 |
0 |
(mg_get(*svp), *svp) : |
|
847
|
0 |
0 |
*svp : |
|
856
|
7 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) { |
|
857
|
0 |
7 |
PUSHMARK(SP); |
|
858
|
7 |
0 |
EXTEND(SP, count << 1); |
|
|
0 |
7 |
EXTEND(SP, count << 1); |
|
860
|
10 |
7 |
for(index = start; index != start+count; index++) { |
|
862
|
1 |
9 |
if (is_single) { |
|
871
|
10 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) { |
|
872
|
7 |
3 |
if (da_type == DA_ALIAS_PAD) { |
|
879
|
10 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) |
|
880
|
3 |
7 |
PUSHaa(da_type, da_type == DA_ALIAS_PAD ? |
|
901
|
0 |
1 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) { |
|
913
|
7 |
15 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) { |
|
917
|
0 |
22 |
XPUSHaa(DA_ALIAS_PAD, index); |
|
923
|
1 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) |
|
925
|
0 |
1 |
XPUSHaa(DA_ALIAS_AV, TARG); |
|
931
|
0 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) |
|
933
|
0 |
0 |
XPUSHaa(DA_ALIAS_HV, TARG); |
|
940
|
4 |
66 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
|
944
|
0 |
70 |
XPUSHaa(DA_ALIAS_RV, gv); |
|
951
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
|
955
|
0 |
1 |
XPUSHs(GvSV(gv)); |
|
962
|
10 |
0 |
if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv)) |
|
|
10 |
0 |
if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv)) |
|
|
0 |
10 |
if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv)) |
|
970
|
29 |
10 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
|
|
2 |
27 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
|
978
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
|
980
|
0 |
0 |
if (SvROK(sv)) |
|
983
|
0 |
2 |
if (!SvOK(sv)) |
|
985
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
|
989
|
28 |
10 |
if (SvTYPE(sv) == SVt_PVGV) |
|
990
|
25 |
3 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
|
991
|
12 |
26 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
|
992
|
9 |
3 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
|
|
0 |
9 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
|
1006
|
0 |
35 |
XPUSHaa(DA_ALIAS_RV, sv); |
|
1030
|
2 |
13 |
if (SvROK(sv)) { |
|
1032
|
0 |
2 |
if (SvTYPE(sv) != SVt_PVGV) |
|
1034
|
2 |
11 |
} else if (SvTYPE(sv) != SVt_PVGV) { |
|
1035
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
|
1037
|
0 |
0 |
if (SvROK(sv)) |
|
1040
|
0 |
2 |
if (!SvOK(sv)) |
|
1042
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
|
1046
|
14 |
0 |
if (SvTYPE(sv) == SVt_PVGV) |
|
1047
|
7 |
7 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
|
1048
|
11 |
3 |
if (PL_op->op_private & OPpLVAL_INTRO) |
|
1050
|
0 |
14 |
XPUSHaa(DA_ALIAS_GV, sv); |
|
1058
|
0 |
5 |
XPUSHaa(DA_ALIAS_AV, av); |
|
1067
|
0 |
10 |
XPUSHaa(DA_ALIAS_HV, hv); |
|
1075
|
17 |
60 |
if (PL_op->op_private & OPpASSIGN_BACKWARDS) { |
|
1090
|
0 |
72 |
EXTEND(sp, 1); |
|
1095
|
29 |
43 |
if (PL_op->op_private & OPpALIAS) { |
|
1097
|
14 |
15 |
U32 type = hash ? SVt_PVHV : SVt_PVAV; |
|
1101
|
0 |
29 |
if (SP != rlast) |
|
1104
|
25 |
4 |
if (right != rlast || SvTYPE(*right) != type) { |
|
|
4 |
21 |
if (right != rlast || SvTYPE(*right) != type) { |
|
1105
|
0 |
8 |
PUSHMARK(right - 1); |
|
1106
|
4 |
4 |
hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX); |
|
1111
|
14 |
15 |
PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV; |
|
1117
|
116 |
43 |
while (SP < rlast) |
|
1118
|
105 |
11 |
if (!SvTEMP(*++SP)) |
|
1121
|
90 |
42 |
while (left <= llast) { |
|
1123
|
3 |
87 |
if (a1 == &PL_sv_undef) { |
|
1131
|
0 |
9 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
|
0 |
0 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
1134
|
9 |
0 |
if (done || right > rlast) |
|
|
7 |
2 |
if (done || right > rlast) |
|
1139
|
20 |
7 |
while (right <= rlast) |
|
1150
|
5 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
|
0 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
1153
|
10 |
0 |
if (done || right > rlast) |
|
|
8 |
2 |
if (done || right > rlast) |
|
1157
|
3 |
5 |
if (1 & ~(rlast - right)) { |
|
|
3 |
5 |
if (1 & ~(rlast - right)) { |
|
1158
|
1 |
2 |
if (ckWARN(WARN_MISC)) |
|
1163
|
20 |
7 |
while (svp > right) { |
|
1166
|
0 |
20 |
if (!he) /* is this possible? */ |
|
1169
|
6 |
14 |
if (SvREFCNT(tmp) > 1) { /* existing element */ |
|
1174
|
5 |
9 |
if (val == &PL_sv_undef) |
|
1180
|
9 |
7 |
while (nils && (he = hv_iternext((HV *) a2))) { |
|
|
9 |
0 |
while (nils && (he = hv_iternext((HV *) a2))) { |
|
1181
|
5 |
4 |
if (HeVAL(he) == &PL_sv_undef) { |
|
1187
|
3 |
4 |
if (gimme != G_LIST || !dups) { |
|
|
1 |
2 |
if (gimme != G_LIST || !dups) { |
|
1191
|
13 |
2 |
while (svp++ < rlast) { |
|
1192
|
7 |
6 |
if (*svp) |
|
1249
|
14 |
54 |
if (right > rlast) |
|
1251
|
4 |
50 |
else if (done) |
|
1259
|
12 |
30 |
if (gimme == G_LIST) { |
|
1261
|
0 |
12 |
EXTEND(SP, 0); |
|
1262
|
7 |
12 |
while (rlast < SP) |
|
1265
|
12 |
18 |
} else if (gimme == G_SCALAR) { |
|
1267
|
0 |
12 |
XPUSHi(rlast - SP); |
|
|
0 |
12 |
XPUSHi(rlast - SP); |
|
1276
|
6 |
8 |
if (SvTRUE(sv)) { |
|
1288
|
8 |
6 |
if (!SvTRUE(sv)) { |
|
1301
|
3 |
2 |
if (!SvOK(sv)) { |
|
1314
|
1 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
|
0 |
1 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
1316
|
1 |
4 |
i = AvFILL(av); |
|
1318
|
7 |
5 |
while (MARK < SP) |
|
1321
|
0 |
5 |
PUSHi(i + 1); |
|
1329
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
1332
|
6 |
4 |
while (MARK < SP) |
|
1335
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
|
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
|
1345
|
0 |
15 |
if (ins < 0) /* ?! */ |
|
1347
|
0 |
15 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
1351
|
6 |
9 |
if (off < 0 && (off += count) < 0) |
|
|
0 |
6 |
if (off < 0 && (off += count) < 0) |
|
1354
|
3 |
12 |
if (del < 0 && (del += count - off) < 0) |
|
|
1 |
2 |
if (del < 0 && (del += count - off) < 0) |
|
1356
|
2 |
13 |
if (off > count) { |
|
1357
|
1 |
1 |
if (ckWARN(WARN_MISC)) |
|
1362
|
1 |
13 |
if ((count -= off + del) < 0) /* count of trailing elems */ |
|
1365
|
4 |
10 |
if (i > AvMAX(av)) |
|
1367
|
0 |
14 |
if (!AvREAL(av) && AvREIFY(av)) |
|
|
0 |
0 |
if (!AvREAL(av) && AvREIFY(av)) |
|
1372
|
21 |
14 |
for (i = 0; i < ins; i++) |
|
1374
|
7 |
7 |
if (ins > del) { |
|
1375
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
|
1376
|
2 |
7 |
for (i = 0; i < del; i++) |
|
1378
|
0 |
7 |
Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *); |
|
1380
|
9 |
7 |
for (i = 0; i < ins; i++) |
|
1382
|
3 |
4 |
if (ins != del) |
|
1383
|
0 |
3 |
Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *); |
|
1384
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
|
1387
|
14 |
14 |
for (i = 0; i < del; i++) |
|
1403
|
2 |
56 |
if (PL_op->op_flags & OPf_SPECIAL) |
|
1416
|
18 |
40 |
if (gimme == G_SCALAR) { |
|
1417
|
0 |
18 |
if (newsp == SP) { |
|
1421
|
8 |
10 |
FREETMPS; |
|
1424
|
18 |
22 |
} else if (gimme == G_LIST) { |
|
1425
|
27 |
18 |
while (newsp < SP) |
|
1426
|
19 |
8 |
if (!SvTEMP(sv = *++newsp)) |
|
1434
|
25 |
33 |
CX_LEAVE_SCOPE(cx); |
|
1452
|
31 |
6 |
SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef; |
|
1456
|
38 |
0 |
while (cxix >= 0) { |
|
1459
|
26 |
12 |
if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT) |
|
|
1 |
25 |
if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT) |
|
|
1 |
0 |
if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT) |
|
1465
|
0 |
37 |
if (cxix < 0) { |
|
1466
|
0 |
0 |
if (CxMULTICALL(cxstack)) { /* sort block */ |
|
1485
|
1 |
36 |
if (cxix < cxstack_ix) |
|
1489
|
0 |
37 |
if (CxMULTICALL(&cxstack[cxix])) { |
|
1491
|
0 |
0 |
if (gimme == G_VOID) |
|
1493
|
0 |
0 |
else if (gimme == G_SCALAR) |
|
1525
|
5 |
7 |
if (CxTRYBLOCK(cx)) |
|
1528
|
0 |
7 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
1529
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
|
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
|
1531
|
0 |
0 |
(void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv), |
|
1552
|
3 |
34 |
if (gimme == G_SCALAR) { |
|
1553
|
0 |
3 |
if (MARK == SP) { |
|
1557
|
3 |
0 |
FREETMPS; |
|
1560
|
24 |
10 |
} else if (gimme == G_LIST) { |
|
1561
|
43 |
24 |
while (MARK < SP) { |
|
1563
|
39 |
4 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
|
0 |
39 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
|
0 |
0 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
|
0 |
0 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
|
0 |
0 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
1578
|
25 |
12 |
if (type == CXt_SUB) { |
|
1581
|
7 |
30 |
CX_LEAVE_SCOPE(cx); |
|
1585
|
12 |
25 |
if (clearerr) |
|
1586
|
12 |
0 |
sv_setpvn(ERRSV, "", 0); |
|
1594
|
0 |
28 |
if (++PL_markstack_ptr == PL_markstack_max) |
|
1604
|
5 |
0 |
I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc(); |
|
1622
|
1 |
6 |
if (MARK == SP) { |
|
1624
|
0 |
1 |
EXTEND(SP, 1); |
|
1627
|
1 |
5 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
|
|
0 |
1 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
|
1633
|
10 |
6 |
while (MARK < SP) { |
|
1634
|
2 |
8 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
|
|
0 |
2 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
|
1644
|
1 |
23 |
if (PadnameOUTER( |
|
1646
|
1 |
0 |
&& ckWARN(WARN_CLOSURE)) |
|
1655
|
0 |
8 |
if (!list) goto bad; |
|
1656
|
11 |
8 |
for(i = start; i != start+count; i++) { |
|
1657
|
0 |
11 |
if (PadnameOUTER( |
|
1659
|
0 |
0 |
&& ckWARN(WARN_CLOSURE)) |
|
1663
|
7 |
1 |
if (op->op_ppaddr != DataAlias_pp_padrange_single) |
|
1679
|
0 |
0 |
if (!list) |
|
1682
|
198 |
17 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
|
1683
|
356 |
215 |
while (op) { |
|
1685
|
158 |
198 |
op = OpSIBLING(op); |
|
1690
|
2 |
1 |
while ((op = OpSIBLING(op))) |
|
|
2 |
1 |
while ((op = OpSIBLING(op))) |
|
1696
|
0 |
0 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
|
1697
|
0 |
0 |
while (OpHAS_SIBLING(op)) |
|
1698
|
0 |
0 |
op = OpSIBLING(op); |
|
1702
|
0 |
81 |
if (!list) goto bad; |
|
1705
|
0 |
2 |
if (!list) goto bad; |
|
1706
|
2 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
|
1710
|
0 |
0 |
if (!list) goto bad; |
|
1711
|
0 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
|
1715
|
0 |
16 |
if (!list) goto bad; |
|
1716
|
5 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
|
1720
|
0 |
31 |
if (!list) goto bad; |
|
1721
|
20 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
|
1725
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
|
|
0 |
3 |
if (!list || (op->op_flags & OPf_KIDS)) |
|
1729
|
1 |
0 |
bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop), |
|
1739
|
89 |
0 |
if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left)) |
|
|
89 |
0 |
if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left)) |
|
|
89 |
0 |
if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left)) |
|
|
0 |
89 |
if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left)) |
|
1741
|
89 |
0 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
|
|
0 |
89 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
|
1743
|
89 |
0 |
if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left)) |
|
|
2 |
87 |
if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left)) |
|
|
0 |
2 |
if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left)) |
|
1745
|
89 |
0 |
if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la)) |
|
|
89 |
0 |
if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la)) |
|
|
33 |
56 |
if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la)) |
|
1747
|
19 |
37 |
if (la->op_flags & OPf_PARENS) |
|
1754
|
31 |
0 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
|
|
0 |
31 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
|
1756
|
31 |
0 |
if (!(right = cUNOPx(right)->op_first) || |
|
1757
|
1 |
30 |
!IS_PUSHMARK_OR_PADRANGE(right)) |
|
|
0 |
1 |
!IS_PUSHMARK_OR_PADRANGE(right)) |
|
1759
|
15 |
16 |
op->op_private = hash ? OPpALIASHV : OPpALIASAV; |
|
1760
|
9 |
22 |
la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv; |
|
1761
|
9 |
22 |
if (pad) { |
|
1764
|
0 |
9 |
if (left->op_type == OP_PADRANGE) |
|
1766
|
1 |
8 |
else if (right->op_type == OP_PADRANGE && |
|
1767
|
1 |
0 |
(right->op_flags & OPf_SPECIAL)) |
|
1771
|
31 |
0 |
if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra)) |
|
|
31 |
0 |
if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra)) |
|
|
1 |
30 |
if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra)) |
|
1773
|
6 |
24 |
if (ra->op_flags & OPf_PARENS) |
|
1775
|
11 |
13 |
if (hash) { |
|
1776
|
9 |
2 |
if (ra->op_type != OP_PADHV && ra->op_type != OP_RV2HV) |
|
|
0 |
9 |
if (ra->op_type != OP_PADHV && ra->op_type != OP_RV2HV) |
|
1779
|
11 |
2 |
if (ra->op_type != OP_PADAV && ra->op_type != OP_RV2AV) |
|
|
1 |
10 |
if (ra->op_type != OP_PADAV && ra->op_type != OP_RV2AV) |
|
1789
|
3661 |
968 |
while (op) { |
|
1794
|
1801 |
1860 |
if (op->op_flags & OPf_KIDS) |
|
1810
|
5 |
236 |
if (op->op_ppaddr == da_tag_list) { |
|
1818
|
62 |
3 |
if (op->op_ppaddr != da_tag_entersub) |
|
1844
|
1 |
306 |
if (op->op_private & OPpLVAL_INTRO) |
|
1852
|
2 |
135 |
if (op->op_private & OPpLVAL_INTRO) |
|
1868
|
1 |
0 |
if (PadnameOUTER(PadnamelistARRAY(PL_comppad_name)[op->op_targ]) |
|
1869
|
0 |
1 |
&& ckWARN(WARN_CLOSURE)) |
|
1887
|
89 |
89 |
for (tmp = kid; tmp->op_type == OP_NULL && |
|
1888
|
89 |
0 |
(tmp->op_flags & OPf_KIDS); ) |
|
1890
|
7 |
82 |
if (tmp->op_type == OP_PADRANGE && |
|
1891
|
6 |
1 |
(tmp->op_flags & OPf_SPECIAL)) |
|
1895
|
83 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), TRUE); |
|
1902
|
68 |
35 |
if (!(op->op_private & OPpASSIGN_BACKWARDS)) |
|
1903
|
68 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), FALSE); |
|
1916
|
35 |
0 |
kid = OpSIBLING(kid); |
|
1919
|
6 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
|
0 |
6 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
1920
|
4 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
|
2 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
1924
|
7 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
|
0 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
1925
|
5 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
|
2 |
5 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
1929
|
21 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
|
0 |
21 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
1930
|
20 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
|
|
1 |
20 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
|
1931
|
19 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
|
|
1 |
19 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
|
1932
|
15 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
|
4 |
15 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
1936
|
7 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
|
0 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
1940
|
16 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
|
0 |
16 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
1942
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
|
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
|
1950
|
3438 |
217 |
if (sib && OpHAS_SIBLING(op)) { |
|
|
1519 |
1919 |
if (sib && OpHAS_SIBLING(op)) { |
|
1951
|
627 |
892 |
if (kid) |
|
1953
|
1519 |
0 |
op = OpSIBLING(op); |
|
1968
|
516660 |
325 |
&& o->op_ppaddr != da_tag_enter |
|
|
516650 |
10 |
&& o->op_ppaddr != da_tag_enter |
|
1971
|
594148 |
516648 |
while (OpHAS_SIBLING(o)) { |
|
1972
|
196643 |
397505 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
|
|
196643 |
0 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
|
1974
|
363269 |
34236 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
|
|
112171 |
285334 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
|
1980
|
594146 |
0 |
o = OpSIBLING(o); |
|
1982
|
298467 |
218181 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
|
|
0 |
298467 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
|
1986
|
10 |
325 |
if (o->op_ppaddr == da_tag_enter) { |
|
1987
|
10 |
0 |
o = OpSIBLING(o); |
|
1997
|
335 |
0 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
|
1998
|
0 |
335 |
cvop->op_ppaddr != da_tag_rv2cv) { |
|
2005
|
335 |
0 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
|
|
0 |
335 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
|
2011
|
13 |
322 |
if (cLISTOPx(esop)->op_first->op_ppaddr == da_tag_enter) { |
|
2022
|
13 |
322 |
if (cvop->op_flags & OPf_SPECIAL) { |
|
2025
|
30 |
291 |
} else if (!da_transform(aTHX_ pmop, TRUE) |
|
2026
|
15 |
15 |
&& !useful && ckWARN(WARN_VOID)) { |
|
|
1 |
14 |
&& !useful && ckWARN(WARN_VOID)) { |
|
2037
|
0 |
21882 |
if (da_inside < 0) |
|
2039
|
26 |
21856 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
|
|
25 |
1 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
|
2041
|
116 |
25 |
while ((tmp = o->op_next)) |
|
2043
|
25 |
0 |
if (da_transform(aTHX_ o, FALSE)) |
|
2066
|
0 |
48015 |
if (!PL_parser) |
|
2069
|
0 |
48015 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
|
|
0 |
0 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
|
2072
|
3895 |
44120 |
if (kid->op_type != OP_GV || !DA_ACTIVE) |
|
2076
|
4119 |
40001 |
cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv); |
|
2080
|
461 |
43659 |
if (cv == da_cv) /* Data::Alias::alias */ |
|
2082
|
17 |
43642 |
else if (cv == da_cvc) /* Data::Alias::copy */ |
|
2086
|
2 |
476 |
if (o->op_private & OPpENTERSUB_AMPER) |
|
2094
|
459 |
17 |
if (inside) |
|
2100
|
524 |
0 |
while (s < PL_bufend && isSPACE(*s)) s++; |
|
|
48 |
476 |
while (s < PL_bufend && isSPACE(*s)) s++; |
|
2102
|
476 |
0 |
if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) { |
|
2104
|
2 |
474 |
if (PL_bufptr > s) s = PL_bufptr; |
|
2111
|
0 |
476 |
if (SvPVX(PL_linestr) != old_buf) |
|
2126
|
38 |
438 |
if (da_iscope != &cxstack[cxstack_ix]) { |
|
2135
|
141 |
335 |
if (da_inside < 0) { |
|
2136
|
141 |
0 |
if (*s != '(' || da_inside != ~inside) |
|
|
0 |
141 |
if (*s != '(' || da_inside != ~inside) |
|
2143
|
0 |
335 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
|
|
5 |
330 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
|
2147
|
282 |
194 |
if (*s == '(' && da_inside >= 0) { |
|
|
141 |
141 |
if (*s == '(' && da_inside >= 0) { |
|
2154
|
73 |
262 |
if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */ |
|
2162
|
73 |
0 |
if (tok == '{' |
|
2164
|
61 |
12 |
|| tok == PERLY_BRACE_OPEN |
|
2206
|
73 |
0 |
if ((shift = s - PL_bufptr)) { /* here comes deeper magic */ |
|
2209
|
0 |
73 |
if ((PL_oldbufptr += shift) < s) |
|
2211
|
27 |
46 |
if ((PL_oldoldbufptr += shift) < s) |
|
2213
|
1 |
72 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
|
|
0 |
1 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
|
2215
|
37 |
36 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
|
|
36 |
1 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
|
2217
|
0 |
73 |
if (shift > 0) { |
|
2219
|
0 |
0 |
if (len + shift > SvLEN(PL_linestr)) |
|
2229
|
73 |
0 |
if (start_s < PL_bufptr) |
|
2240
|
0 |
45280 |
if (!(esop->op_flags & OPf_KIDS)) |
|
2243
|
45280 |
0 |
if (!(lsop->op_type == OP_LIST || |
|
2244
|
30875 |
14405 |
(lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST)) |
|
|
30875 |
0 |
(lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST)) |
|
2245
|
30875 |
0 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
|
|
0 |
30875 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
|
2248
|
30540 |
335 |
if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv) |
|
2251
|
0 |
335 |
if (inside < 0) |
|
2254
|
322 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
|
|
322 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
|
2258
|
322 |
13 |
esop->op_type = inside ? OP_SCOPE : OP_LEAVE; |
|
2261
|
13 |
322 |
if (!inside && !OpHAS_SIBLING(lsop)) { |
|
|
13 |
0 |
if (!inside && !OpHAS_SIBLING(lsop)) { |
|
2279
|
20 |
315 |
if (inside > 1) |
|
2284
|
322 |
13 |
if (inside) |
|
2295
|
676 |
0 |
while (OpSIBLING(argop) != cvop) |
|
|
341 |
335 |
while (OpSIBLING(argop) != cvop) |
|
2296
|
341 |
0 |
argop = OpSIBLING(argop); |
|
2299
|
96 |
239 |
if (argop->op_type == OP_NULL && inside) |
|
|
94 |
2 |
if (argop->op_type == OP_NULL && inside) |
|
2372
|
27 |
8 |
for (i = 0; i < items; i++) { |
|
2373
|
3 |
24 |
if (!SvROK(ST(i))) { |
|
2375
|
1 |
2 |
if (SvOK(ST(i))) |
|
2377
|
1 |
1 |
if (ckWARN(WARN_UNINITIALIZED)) |
|
2386
|
1 |
3 |
if (!(x = av_len((AV *) sv) + 1)) |
|
2391
|
0 |
3 |
if (!(x = HvKEYS(sv))) |
|
|
1 |
2 |
if (!(x = HvKEYS(sv))) |
|
2406
|
0 |
8 |
EXTEND(SP, 0); |
|
2407
|
19 |
8 |
for (i = 0; n--; ) { |
|
2410
|
3 |
16 |
if (x == SVt_PVAV) { |
|
2411
|
0 |
3 |
i -= x = AvFILL((AV *) sv) + 1; |
|
2412
|
0 |
3 |
Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *); |
|
2413
|
2 |
14 |
} else if (x == SVt_PVHV) { |
|
2418
|
4 |
2 |
while ((entry = hv_iternext(hv))) { |