line |
true |
false |
branch |
324
|
13 |
0 |
if (SvTYPE(a2) == SVt_PVGV) |
326
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
327
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
340
|
8 |
0 |
return svp ? *svp : &PL_sv_undef; |
343
|
4 |
0 |
return he ? HeVAL(he) : &PL_sv_undef; |
390
|
2 |
171 |
PREP_ALIAS_INC(value); |
|
1 |
0 |
PREP_ALIAS_INC(value); |
|
1 |
0 |
PREP_ALIAS_INC(value); |
|
0 |
1 |
PREP_ALIAS_INC(value); |
|
1 |
14 |
PREP_ALIAS_INC(value); |
|
1 |
0 |
PREP_ALIAS_INC(value); |
391
|
26 |
147 |
if ((Size_t) a1 == DA_ALIAS_PAD) { |
395
|
14 |
12 |
if (old != &PL_sv_undef) |
403
|
90 |
7 |
if (SvTYPE(a2) == SVt_PVGV) { |
410
|
5 |
9 |
if (!SvROK(value)) { |
412
|
12 |
0 |
SvSetMagicSV(a2, value); |
|
0 |
12 |
SvSetMagicSV(a2, value); |
427
|
1 |
0 |
if (oldcv != (CV *) value) { |
428
|
0 |
1 |
if (GvCVGEN(gv)) { |
437
|
1 |
0 |
if (GvINTRO(gv)) { |
441
|
0 |
1 |
SSCHECK(1); |
458
|
5 |
93 |
if (GvINTRO(gv)) { |
474
|
0 |
21 |
if (!av_store((AV *) a1, (Size_t) a2, value)) |
478
|
1 |
14 |
if (value == &PL_sv_undef) { |
482
|
0 |
14 |
if (!hv_store_ent((HV *) a1, a2, value, 0)) |
502
|
11 |
3 |
if (gp->gp_refcnt > 1) { |
514
|
0 |
14 |
SSCHECK(2); |
524
|
0 |
99 |
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); |
541
|
4 |
0 |
if (GIMME_V != G_LIST) { |
|
4 |
0 |
if (GIMME_V != G_LIST) { |
543
|
4 |
0 |
*MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef); |
546
|
0 |
0 |
EXTEND_MORTAL(SP - MARK); |
547
|
0 |
0 |
while (++MARK <= SP) |
561
|
19 |
13 |
while (i--) |
563
|
9 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
569
|
0 |
13 |
XPUSHs(sv); |
577
|
32 |
21 |
while (MARK < SP) { |
580
|
30 |
2 |
if (MARK < SP) |
582
|
1 |
1 |
else if (ckWARN(WARN_MISC)) |
585
|
3 |
28 |
if (val == &PL_sv_undef) |
591
|
17 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
597
|
0 |
21 |
XPUSHs(sv); |
609
|
7 |
8 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
|
8 |
0 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
611
|
0 |
15 |
if (!av_fetch(av, index, TRUE)) |
613
|
0 |
15 |
XPUSHaa(av, index); |
619
|
6 |
6 |
while (mg) { |
620
|
0 |
6 |
if (isUPPER(mg->mg_type)) |
631
|
4 |
0 |
IV index = SvIV(elem); |
632
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
634
|
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)) |
637
|
0 |
4 |
if (SvTYPE(av) != SVt_PVAV) |
639
|
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))) |
641
|
2 |
2 |
if (PL_op->op_private & OPpLVAL_INTRO) |
684
|
0 |
11 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
687
|
11 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
689
|
2 |
9 |
if (localizing) |
691
|
0 |
11 |
if (!(he = hv_fetch_ent(hv, key, TRUE, 0))) |
692
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
693
|
2 |
9 |
if (localizing) { |
694
|
1 |
1 |
if (!existed) |
722
|
0 |
3 |
if (SvTYPE(av) != SVt_PVAV) |
724
|
0 |
3 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
727
|
3 |
0 |
EXTEND(sp, count); |
|
0 |
3 |
EXTEND(sp, count); |
732
|
6 |
3 |
while (MARK < src) { |
733
|
6 |
0 |
IV i = SvIVx(*src); |
734
|
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)) |
736
|
2 |
4 |
if (local) |
738
|
2 |
4 |
if (i > max) |
744
|
1 |
2 |
if (max > AvMAX(av)) |
756
|
0 |
3 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
758
|
3 |
0 |
EXTEND(sp, i); |
|
0 |
3 |
EXTEND(sp, i); |
761
|
3 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
762
|
6 |
3 |
while (MARK < src) { |
763
|
0 |
6 |
if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0))) |
764
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
765
|
2 |
4 |
if (PL_op->op_private & OPpLVAL_INTRO) |
795
|
5 |
2 |
if (PL_op->op_flags & OPf_SPECIAL) { |
796
|
5 |
0 |
AV *av = GvAVn(PL_defgv); |
797
|
0 |
5 |
PUSHMARK(SP); |
798
|
1 |
4 |
if (is_single) { |
799
|
0 |
1 |
XPUSHs((SV*)av); |
801
|
0 |
4 |
const I32 maxarg = AvFILL(av) + 1; |
802
|
4 |
0 |
EXTEND(SP, maxarg); |
|
0 |
4 |
EXTEND(SP, maxarg); |
803
|
0 |
4 |
if (SvRMAGICAL(av)) { |
805
|
0 |
0 |
for (i=0; i < (U32)maxarg; i++) { |
810
|
0 |
0 |
(mg_get(*svp), *svp) : |
811
|
0 |
0 |
*svp : |
815
|
0 |
4 |
Copy(AvARRAY(av), SP+1, maxarg, SV*); |
820
|
7 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) { |
821
|
0 |
7 |
PUSHMARK(SP); |
822
|
7 |
0 |
EXTEND(SP, count << 1); |
|
0 |
7 |
EXTEND(SP, count << 1); |
824
|
10 |
7 |
for(index = start; index != start+count; index++) { |
826
|
1 |
9 |
if (is_single) { |
835
|
10 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
836
|
7 |
3 |
if (da_type == DA_ALIAS_PAD) { |
843
|
10 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) |
844
|
3 |
7 |
PUSHaa(da_type, da_type == DA_ALIAS_PAD ? |
864
|
7 |
16 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
868
|
0 |
23 |
XPUSHaa(DA_ALIAS_PAD, index); |
874
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) |
876
|
0 |
1 |
XPUSHaa(DA_ALIAS_AV, TARG); |
882
|
0 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) |
884
|
0 |
0 |
XPUSHaa(DA_ALIAS_HV, TARG); |
891
|
4 |
66 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
895
|
0 |
70 |
XPUSHaa(DA_ALIAS_RV, gv); |
902
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
906
|
0 |
1 |
XPUSHs(GvSV(gv)); |
913
|
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)) |
921
|
29 |
10 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
|
2 |
27 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
929
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
931
|
0 |
0 |
if (SvROK(sv)) |
934
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
936
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
937
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname); |
938
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type); |
940
|
28 |
10 |
if (SvTYPE(sv) == SVt_PVGV) |
941
|
25 |
3 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
942
|
12 |
26 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
943
|
9 |
3 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
|
0 |
9 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
957
|
0 |
35 |
XPUSHaa(DA_ALIAS_RV, sv); |
981
|
2 |
13 |
if (SvROK(sv)) { |
983
|
0 |
2 |
if (SvTYPE(sv) != SVt_PVGV) |
985
|
2 |
11 |
} else if (SvTYPE(sv) != SVt_PVGV) { |
986
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
988
|
0 |
0 |
if (SvROK(sv)) |
991
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
993
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
994
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol"); |
995
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV); |
997
|
14 |
0 |
if (SvTYPE(sv) == SVt_PVGV) |
998
|
7 |
7 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
999
|
11 |
3 |
if (PL_op->op_private & OPpLVAL_INTRO) |
1001
|
0 |
14 |
XPUSHaa(DA_ALIAS_GV, sv); |
1009
|
0 |
5 |
XPUSHaa(DA_ALIAS_AV, av); |
1018
|
0 |
10 |
XPUSHaa(DA_ALIAS_HV, hv); |
1026
|
17 |
59 |
if (PL_op->op_private & OPpASSIGN_BACKWARDS) { |
1039
|
70 |
2 |
I32 gimme = GIMME_V; |
1041
|
0 |
72 |
EXTEND(sp, 1); |
1046
|
29 |
43 |
if (PL_op->op_private & OPpALIAS) { |
1048
|
14 |
15 |
U32 type = hash ? SVt_PVHV : SVt_PVAV; |
1052
|
0 |
29 |
if (SP != rlast) |
1055
|
25 |
4 |
if (right != rlast || SvTYPE(*right) != type) { |
|
4 |
21 |
if (right != rlast || SvTYPE(*right) != type) { |
1056
|
0 |
8 |
PUSHMARK(right - 1); |
1057
|
4 |
4 |
hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX); |
1062
|
14 |
15 |
PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV; |
1068
|
116 |
43 |
while (SP < rlast) |
1069
|
105 |
11 |
if (!SvTEMP(*++SP)) |
1072
|
90 |
42 |
while (left <= llast) { |
1074
|
3 |
87 |
if (a1 == &PL_sv_undef) { |
1082
|
0 |
9 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
0 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1085
|
9 |
0 |
if (done || right > rlast) |
|
7 |
2 |
if (done || right > rlast) |
1090
|
20 |
7 |
while (right <= rlast) |
1101
|
5 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1104
|
10 |
0 |
if (done || right > rlast) |
|
8 |
2 |
if (done || right > rlast) |
1108
|
3 |
5 |
if (1 & ~(rlast - right)) { |
|
3 |
5 |
if (1 & ~(rlast - right)) { |
1109
|
1 |
2 |
if (ckWARN(WARN_MISC)) |
1114
|
20 |
7 |
while (svp > right) { |
1117
|
0 |
20 |
if (!he) /* is this possible? */ |
1118
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp)); |
1120
|
6 |
14 |
if (SvREFCNT(tmp) > 1) { /* existing element */ |
1125
|
5 |
9 |
if (val == &PL_sv_undef) |
1131
|
8 |
7 |
while (nils && (he = hv_iternext((HV *) a2))) { |
|
8 |
0 |
while (nils && (he = hv_iternext((HV *) a2))) { |
1132
|
5 |
3 |
if (HeVAL(he) == &PL_sv_undef) { |
1138
|
3 |
4 |
if (gimme != G_LIST || !dups) { |
|
1 |
2 |
if (gimme != G_LIST || !dups) { |
1142
|
13 |
2 |
while (svp++ < rlast) { |
1143
|
7 |
6 |
if (*svp) |
1200
|
14 |
54 |
if (right > rlast) |
1202
|
4 |
50 |
else if (done) |
1210
|
12 |
30 |
if (gimme == G_LIST) { |
1212
|
0 |
12 |
EXTEND(SP, 0); |
1213
|
7 |
12 |
while (rlast < SP) |
1216
|
12 |
18 |
} else if (gimme == G_SCALAR) { |
1218
|
0 |
12 |
XPUSHi(rlast - SP); |
|
0 |
12 |
XPUSHi(rlast - SP); |
1227
|
14 |
0 |
if (SvTRUE(sv)) { |
|
0 |
14 |
if (SvTRUE(sv)) { |
|
8 |
6 |
if (SvTRUE(sv)) { |
|
8 |
0 |
if (SvTRUE(sv)) { |
|
0 |
8 |
if (SvTRUE(sv)) { |
|
0 |
6 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
6 |
0 |
if (SvTRUE(sv)) { |
|
6 |
0 |
if (SvTRUE(sv)) { |
|
0 |
6 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
0 |
0 |
if (SvTRUE(sv)) { |
|
6 |
8 |
if (SvTRUE(sv)) { |
1239
|
14 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
14 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
8 |
6 |
if (!SvTRUE(sv)) { |
|
8 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
8 |
if (!SvTRUE(sv)) { |
|
0 |
6 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
6 |
0 |
if (!SvTRUE(sv)) { |
|
6 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
6 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
|
0 |
6 |
if (!SvTRUE(sv)) { |
|
0 |
0 |
if (!SvTRUE(sv)) { |
1252
|
3 |
2 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
1265
|
1 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
1 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1267
|
1 |
4 |
i = AvFILL(av); |
1269
|
7 |
5 |
while (MARK < SP) |
1272
|
0 |
5 |
PUSHi(i + 1); |
1280
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1283
|
6 |
4 |
while (MARK < SP) |
1286
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
1296
|
0 |
15 |
if (ins < 0) /* ?! */ |
1298
|
0 |
15 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1301
|
15 |
0 |
off = SvIV(MARK[2]); |
1302
|
6 |
9 |
if (off < 0 && (off += count) < 0) |
|
0 |
6 |
if (off < 0 && (off += count) < 0) |
1304
|
15 |
0 |
del = SvIV(ORIGMARK[3]); |
1305
|
3 |
12 |
if (del < 0 && (del += count - off) < 0) |
|
1 |
2 |
if (del < 0 && (del += count - off) < 0) |
1307
|
2 |
13 |
if (off > count) { |
1308
|
1 |
1 |
if (ckWARN(WARN_MISC)) |
1313
|
1 |
13 |
if ((count -= off + del) < 0) /* count of trailing elems */ |
1316
|
4 |
10 |
if (i > AvMAX(av)) |
1318
|
0 |
14 |
if (!AvREAL(av) && AvREIFY(av)) |
|
0 |
0 |
if (!AvREAL(av) && AvREIFY(av)) |
1323
|
21 |
14 |
for (i = 0; i < ins; i++) |
1325
|
7 |
7 |
if (ins > del) { |
1326
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1327
|
2 |
7 |
for (i = 0; i < del; i++) |
1329
|
0 |
7 |
Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *); |
1331
|
9 |
7 |
for (i = 0; i < ins; i++) |
1333
|
3 |
4 |
if (ins != del) |
1334
|
0 |
3 |
Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *); |
1335
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1338
|
14 |
14 |
for (i = 0; i < del; i++) |
1354
|
2 |
56 |
if (PL_op->op_flags & OPf_SPECIAL) |
1367
|
18 |
40 |
if (gimme == G_SCALAR) { |
1368
|
0 |
18 |
if (newsp == SP) { |
1372
|
8 |
10 |
FREETMPS; |
1375
|
18 |
22 |
} else if (gimme == G_LIST) { |
1376
|
27 |
18 |
while (newsp < SP) |
1377
|
19 |
8 |
if (!SvTEMP(sv = *++newsp)) |
1385
|
25 |
33 |
CX_LEAVE_SCOPE(cx); |
1403
|
31 |
6 |
SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef; |
1407
|
38 |
0 |
while (cxix >= 0) { |
1410
|
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) |
1416
|
0 |
37 |
if (cxix < 0) { |
1417
|
0 |
0 |
if (CxMULTICALL(cxstack)) { /* sort block */ |
1436
|
1 |
36 |
if (cxix < cxstack_ix) |
1440
|
0 |
37 |
if (CxMULTICALL(&cxstack[cxix])) { |
1442
|
0 |
0 |
if (gimme == G_VOID) |
1444
|
0 |
0 |
else if (gimme == G_SCALAR) |
1476
|
5 |
7 |
if (CxTRYBLOCK(cx)) |
1479
|
0 |
7 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
|
0 |
0 |
if (optype == OP_REQUIRE && !SvTRUE(sv) |
1480
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
1482
|
0 |
0 |
(void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv), |
1503
|
3 |
34 |
if (gimme == G_SCALAR) { |
1504
|
0 |
3 |
if (MARK == SP) { |
1508
|
3 |
0 |
FREETMPS; |
1511
|
24 |
10 |
} else if (gimme == G_LIST) { |
1512
|
43 |
24 |
while (MARK < SP) { |
1514
|
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))) |
|
0 |
0 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
|
0 |
0 |
if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv))) |
1529
|
25 |
12 |
if (type == CXt_SUB) { |
1532
|
7 |
30 |
CX_LEAVE_SCOPE(cx); |
1536
|
12 |
25 |
if (clearerr) |
1537
|
12 |
0 |
sv_setpvn(ERRSV, "", 0); |
1545
|
0 |
28 |
if (++PL_markstack_ptr == PL_markstack_max) |
1555
|
5 |
0 |
I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc(); |
1568
|
15 |
0 |
switch (GIMME_V) { |
1573
|
1 |
6 |
if (MARK == SP) { |
1575
|
0 |
1 |
EXTEND(SP, 1); |
1578
|
1 |
5 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
|
0 |
1 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
1584
|
10 |
6 |
while (MARK < SP) { |
1585
|
2 |
8 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
|
0 |
2 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
1595
|
2 |
23 |
if (PadnameOUTER( |
1597
|
1 |
1 |
&& ckWARN(WARN_CLOSURE)) |
1606
|
0 |
8 |
if (!list) goto bad; |
1607
|
11 |
8 |
for(i = start; i != start+count; i++) { |
1608
|
0 |
11 |
if (PadnameOUTER( |
1610
|
0 |
0 |
&& ckWARN(WARN_CLOSURE)) |
1614
|
7 |
1 |
if (op->op_ppaddr != DataAlias_pp_padrange_single) |
1630
|
0 |
0 |
if (!list) |
1633
|
195 |
15 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1634
|
351 |
210 |
while (op) { |
1636
|
156 |
195 |
op = OpSIBLING(op); |
1641
|
2 |
1 |
while ((op = OpSIBLING(op))) |
|
2 |
1 |
while ((op = OpSIBLING(op))) |
1647
|
0 |
0 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1648
|
0 |
0 |
while (OpHAS_SIBLING(op)) |
1649
|
0 |
0 |
op = OpSIBLING(op); |
1653
|
0 |
81 |
if (!list) goto bad; |
1656
|
0 |
2 |
if (!list) goto bad; |
1657
|
2 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1661
|
0 |
0 |
if (!list) goto bad; |
1662
|
0 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1666
|
0 |
16 |
if (!list) goto bad; |
1667
|
5 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1671
|
0 |
31 |
if (!list) goto bad; |
1672
|
20 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1676
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
1680
|
1 |
0 |
bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop), |
1690
|
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)) |
1692
|
89 |
0 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
|
0 |
89 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
1694
|
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)) |
1696
|
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)) |
1698
|
19 |
37 |
if (la->op_flags & OPf_PARENS) |
1705
|
31 |
0 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
|
0 |
31 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
1707
|
31 |
0 |
if (!(right = cUNOPx(right)->op_first) || |
|
1 |
30 |
if (!(right = cUNOPx(right)->op_first) || |
1708
|
0 |
1 |
!IS_PUSHMARK_OR_PADRANGE(right)) |
1710
|
15 |
16 |
op->op_private = hash ? OPpALIASHV : OPpALIASAV; |
1711
|
9 |
22 |
la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv; |
1712
|
9 |
22 |
if (pad) { |
1715
|
0 |
9 |
if (left->op_type == OP_PADRANGE) |
1717
|
1 |
8 |
else if (right->op_type == OP_PADRANGE && |
|
1 |
0 |
else if (right->op_type == OP_PADRANGE && |
1722
|
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)) |
1724
|
6 |
24 |
if (ra->op_flags & OPf_PARENS) |
1726
|
11 |
13 |
if (hash) { |
1727
|
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) |
1730
|
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) |
1740
|
3678 |
978 |
while (op) { |
1745
|
1833 |
1845 |
if (op->op_flags & OPf_KIDS) |
1761
|
5 |
251 |
if (op->op_ppaddr == da_tag_list) { |
1769
|
62 |
3 |
if (op->op_ppaddr != da_tag_entersub) |
1795
|
1 |
306 |
if (op->op_private & OPpLVAL_INTRO) |
1803
|
2 |
135 |
if (op->op_private & OPpLVAL_INTRO) |
1821
|
89 |
89 |
for (tmp = kid; tmp->op_type == OP_NULL && |
|
89 |
0 |
for (tmp = kid; tmp->op_type == OP_NULL && |
1824
|
7 |
82 |
if (tmp->op_type == OP_PADRANGE && |
|
6 |
1 |
if (tmp->op_type == OP_PADRANGE && |
1829
|
83 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), TRUE); |
1836
|
67 |
35 |
if (!(op->op_private & OPpASSIGN_BACKWARDS)) |
1837
|
67 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), FALSE); |
1850
|
35 |
0 |
kid = OpSIBLING(kid); |
1853
|
6 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
6 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1854
|
4 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1858
|
7 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1859
|
5 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
5 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1863
|
21 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
21 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1864
|
20 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
|
1 |
20 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
1865
|
19 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
|
1 |
19 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
1866
|
15 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
4 |
15 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1870
|
7 |
1 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
1 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1874
|
16 |
4 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
4 |
16 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1876
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
1879
|
3457 |
215 |
if (sib && OpHAS_SIBLING(op)) { |
|
1510 |
1947 |
if (sib && OpHAS_SIBLING(op)) { |
1880
|
639 |
871 |
if (kid) |
1882
|
1510 |
0 |
op = OpSIBLING(op); |
1895
|
106326 |
333 |
while (o->op_ppaddr != da_tag_list |
1900
|
121258 |
106324 |
while (OpHAS_SIBLING(o)) { |
1901
|
46241 |
75017 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
|
46008 |
233 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
1903
|
72220 |
3030 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
|
23579 |
51671 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
1909
|
121256 |
0 |
o = OpSIBLING(o); |
1911
|
56100 |
50224 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
|
0 |
56100 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
1926
|
333 |
0 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
|
0 |
333 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
1934
|
333 |
0 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
|
0 |
333 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
1951
|
13 |
320 |
if (cvop->op_flags & OPf_SPECIAL) { |
1954
|
15 |
304 |
} else if (!da_transform(aTHX_ pmop, TRUE) |
1955
|
15 |
0 |
&& !useful && ckWARN(WARN_VOID)) { |
|
1 |
14 |
&& !useful && ckWARN(WARN_VOID)) { |
1966
|
0 |
4558 |
if (da_inside < 0) |
1968
|
26 |
4532 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
|
25 |
1 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
1970
|
116 |
25 |
while ((tmp = o->op_next)) |
1972
|
25 |
0 |
if (da_transform(aTHX_ o, FALSE)) |
1995
|
0 |
6815 |
if (!PL_parser) |
1998
|
0 |
6815 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
|
0 |
0 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
2001
|
642 |
6173 |
if (kid->op_type != OP_GV || !DA_ACTIVE) |
2005
|
461 |
5712 |
cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv); |
2009
|
457 |
5716 |
if (cv == da_cv) /* Data::Alias::alias */ |
2011
|
17 |
5699 |
else if (cv == da_cvc) /* Data::Alias::copy */ |
2015
|
2 |
472 |
if (o->op_private & OPpENTERSUB_AMPER) |
2023
|
455 |
17 |
if (inside) |
2029
|
520 |
0 |
while (s < PL_bufend && isSPACE(*s)) s++; |
|
48 |
472 |
while (s < PL_bufend && isSPACE(*s)) s++; |
2031
|
472 |
0 |
if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) { |
2033
|
2 |
470 |
if (PL_bufptr > s) s = PL_bufptr; |
2040
|
0 |
472 |
if (SvPVX(PL_linestr) != old_buf) |
2055
|
38 |
434 |
if (da_iscope != &cxstack[cxstack_ix]) { |
2064
|
139 |
333 |
if (da_inside < 0) { |
2065
|
139 |
0 |
if (*s != '(' || da_inside != ~inside) |
|
0 |
139 |
if (*s != '(' || da_inside != ~inside) |
2072
|
0 |
333 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
|
5 |
328 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
2076
|
278 |
194 |
if (*s == '(' && da_inside >= 0) { |
|
139 |
139 |
if (*s == '(' && da_inside >= 0) { |
2083
|
73 |
260 |
if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */ |
2091
|
61 |
12 |
if (tok == '{' |
2135
|
73 |
0 |
if ((shift = s - PL_bufptr)) { /* here comes deeper magic */ |
2138
|
0 |
73 |
if ((PL_oldbufptr += shift) < s) |
2140
|
27 |
46 |
if ((PL_oldoldbufptr += shift) < s) |
2142
|
1 |
72 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
|
0 |
1 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
2144
|
37 |
36 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
|
36 |
1 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
2146
|
0 |
73 |
if (shift > 0) { |
2148
|
0 |
0 |
if (len + shift > SvLEN(PL_linestr)) |
2158
|
73 |
0 |
if (start_s < PL_bufptr) |
2169
|
0 |
6092 |
if (!(esop->op_flags & OPf_KIDS)) |
2172
|
6092 |
0 |
if (!(lsop->op_type == OP_LIST || |
|
4298 |
1794 |
if (!(lsop->op_type == OP_LIST || |
2173
|
4298 |
0 |
(lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST)) |
2174
|
4298 |
0 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
|
0 |
4298 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
2177
|
3965 |
333 |
if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv) |
2180
|
0 |
333 |
if (inside < 0) |
2183
|
320 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
|
320 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
2187
|
320 |
13 |
esop->op_type = inside ? OP_SCOPE : OP_LEAVE; |
2208
|
20 |
313 |
if (inside > 1) |
2213
|
320 |
13 |
if (inside) |
2224
|
672 |
0 |
while (OpSIBLING(argop) != cvop) |
|
339 |
333 |
while (OpSIBLING(argop) != cvop) |
2225
|
339 |
0 |
argop = OpSIBLING(argop); |
2228
|
96 |
237 |
if (argop->op_type == OP_NULL && inside) |
|
94 |
2 |
if (argop->op_type == OP_NULL && inside) |
2301
|
27 |
8 |
for (i = 0; i < items; i++) { |
2302
|
3 |
24 |
if (!SvROK(ST(i))) { |
2304
|
2 |
1 |
if (SvOK(ST(i))) |
|
2 |
0 |
if (SvOK(ST(i))) |
|
0 |
2 |
if (SvOK(ST(i))) |
2305
|
1 |
0 |
Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z)); |
2306
|
1 |
1 |
if (ckWARN(WARN_UNINITIALIZED)) |
2315
|
1 |
3 |
if (!(x = av_len((AV *) sv) + 1)) |
2320
|
0 |
3 |
if (!(x = HvKEYS(sv))) |
|
1 |
2 |
if (!(x = HvKEYS(sv))) |
2335
|
0 |
8 |
EXTEND(SP, 0); |
2336
|
19 |
8 |
for (i = 0; n--; ) { |
2339
|
3 |
16 |
if (x == SVt_PVAV) { |
2340
|
0 |
3 |
i -= x = AvFILL((AV *) sv) + 1; |
2341
|
0 |
3 |
Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *); |
2342
|
2 |
14 |
} else if (x == SVt_PVHV) { |
2347
|
4 |
2 |
while ((entry = hv_iternext(hv))) { |