line |
true |
false |
branch |
332
|
13 |
0 |
if (SvTYPE(a2) == SVt_PVGV) |
334
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
335
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
348
|
8 |
0 |
return svp ? *svp : &PL_sv_undef; |
351
|
4 |
0 |
return he ? HeVAL(he) : &PL_sv_undef; |
399
|
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); |
402
|
14 |
12 |
if (old != &PL_sv_undef) |
407
|
26 |
149 |
if ((Size_t) a1 == DA_ALIAS_PAD) |
410
|
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); |
415
|
90 |
7 |
if (SvTYPE(a2) == SVt_PVGV) { |
422
|
5 |
9 |
if (!SvROK(value)) { |
424
|
12 |
0 |
SvSetMagicSV(a2, value); |
|
0 |
12 |
SvSetMagicSV(a2, value); |
439
|
1 |
0 |
if (oldcv != (CV *) value) { |
440
|
0 |
1 |
if (GvCVGEN(gv)) { |
449
|
1 |
0 |
if (GvINTRO(gv)) { |
453
|
0 |
1 |
SSCHECK(1); |
470
|
5 |
93 |
if (GvINTRO(gv)) { |
486
|
0 |
23 |
if (!av_store((AV *) a1, (SSize_t) a2, value)) |
490
|
1 |
14 |
if (value == &PL_sv_undef) { |
494
|
0 |
14 |
if (!hv_store_ent((HV *) a1, a2, value, 0)) |
514
|
11 |
3 |
if (gp->gp_refcnt > 1) { |
526
|
0 |
14 |
SSCHECK(2); |
536
|
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); |
553
|
4 |
0 |
if (GIMME_V != G_LIST) { |
|
4 |
0 |
if (GIMME_V != G_LIST) { |
555
|
4 |
0 |
*MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef); |
558
|
0 |
0 |
EXTEND_MORTAL(SP - MARK); |
559
|
0 |
0 |
while (++MARK <= SP) |
573
|
19 |
13 |
while (i--) |
575
|
9 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
581
|
0 |
13 |
XPUSHs(sv); |
589
|
32 |
21 |
while (MARK < SP) { |
592
|
30 |
2 |
if (MARK < SP) |
594
|
1 |
1 |
else if (ckWARN(WARN_MISC)) |
597
|
3 |
28 |
if (val == &PL_sv_undef) |
603
|
17 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
609
|
0 |
21 |
XPUSHs(sv); |
621
|
8 |
9 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
|
9 |
0 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
626
|
0 |
17 |
if (!av_fetch(av, index, TRUE)) |
628
|
0 |
17 |
XPUSHaa(av, index); |
651
|
6 |
6 |
while (mg) { |
652
|
0 |
6 |
if (isUPPER(mg->mg_type)) |
663
|
4 |
0 |
IV index = SvIV(elem); |
664
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
666
|
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)) |
669
|
0 |
4 |
if (SvTYPE(av) != SVt_PVAV) |
671
|
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))) |
673
|
2 |
2 |
if (PL_op->op_private & OPpLVAL_INTRO) |
716
|
0 |
11 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
719
|
11 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
721
|
2 |
9 |
if (localizing) |
723
|
0 |
11 |
if (!(he = hv_fetch_ent(hv, key, TRUE, 0))) |
724
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
725
|
2 |
9 |
if (localizing) { |
726
|
1 |
1 |
if (!existed) |
754
|
0 |
3 |
if (SvTYPE(av) != SVt_PVAV) |
756
|
0 |
3 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
759
|
3 |
0 |
EXTEND(sp, count); |
|
0 |
3 |
EXTEND(sp, count); |
764
|
6 |
3 |
while (MARK < src) { |
765
|
6 |
0 |
IV i = SvIVx(*src); |
766
|
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)) |
768
|
2 |
4 |
if (local) |
770
|
2 |
4 |
if (i > max) |
776
|
1 |
2 |
if (max > AvMAX(av)) |
788
|
0 |
3 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
790
|
3 |
0 |
EXTEND(sp, i); |
|
0 |
3 |
EXTEND(sp, i); |
793
|
3 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
794
|
6 |
3 |
while (MARK < src) { |
795
|
0 |
6 |
if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0))) |
796
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
797
|
2 |
4 |
if (PL_op->op_private & OPpLVAL_INTRO) |
827
|
5 |
2 |
if (PL_op->op_flags & OPf_SPECIAL) { |
828
|
5 |
0 |
AV *av = GvAVn(PL_defgv); |
829
|
0 |
5 |
PUSHMARK(SP); |
830
|
1 |
4 |
if (is_single) { |
831
|
0 |
1 |
XPUSHs((SV*)av); |
833
|
0 |
4 |
const I32 maxarg = AvFILL(av) + 1; |
834
|
4 |
0 |
EXTEND(SP, maxarg); |
|
0 |
4 |
EXTEND(SP, maxarg); |
835
|
0 |
4 |
if (SvRMAGICAL(av)) { |
837
|
0 |
0 |
for (i=0; i < (U32)maxarg; i++) { |
842
|
0 |
0 |
(mg_get(*svp), *svp) : |
843
|
0 |
0 |
*svp : |
847
|
0 |
4 |
Copy(AvARRAY(av), SP+1, maxarg, SV*); |
852
|
7 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) { |
853
|
0 |
7 |
PUSHMARK(SP); |
854
|
7 |
0 |
EXTEND(SP, count << 1); |
|
0 |
7 |
EXTEND(SP, count << 1); |
856
|
10 |
7 |
for(index = start; index != start+count; index++) { |
858
|
1 |
9 |
if (is_single) { |
867
|
10 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) { |
868
|
7 |
3 |
if (da_type == DA_ALIAS_PAD) { |
875
|
10 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) |
876
|
3 |
7 |
PUSHaa(da_type, da_type == DA_ALIAS_PAD ? |
909
|
7 |
16 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) { |
913
|
0 |
23 |
XPUSHaa(DA_ALIAS_PAD, index); |
919
|
1 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) |
921
|
0 |
1 |
XPUSHaa(DA_ALIAS_AV, TARG); |
927
|
0 |
0 |
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) |
929
|
0 |
0 |
XPUSHaa(DA_ALIAS_HV, TARG); |
936
|
4 |
66 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
940
|
0 |
70 |
XPUSHaa(DA_ALIAS_RV, gv); |
947
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
951
|
0 |
1 |
XPUSHs(GvSV(gv)); |
958
|
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)) |
966
|
29 |
10 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
|
2 |
27 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
974
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
976
|
0 |
0 |
if (SvROK(sv)) |
979
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
981
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
982
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname); |
983
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type); |
985
|
28 |
10 |
if (SvTYPE(sv) == SVt_PVGV) |
986
|
25 |
3 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
987
|
12 |
26 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
988
|
9 |
3 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
|
0 |
9 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
1002
|
0 |
35 |
XPUSHaa(DA_ALIAS_RV, sv); |
1026
|
2 |
13 |
if (SvROK(sv)) { |
1028
|
0 |
2 |
if (SvTYPE(sv) != SVt_PVGV) |
1030
|
2 |
11 |
} else if (SvTYPE(sv) != SVt_PVGV) { |
1031
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
1033
|
0 |
0 |
if (SvROK(sv)) |
1036
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
1038
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
1039
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol"); |
1040
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV); |
1042
|
14 |
0 |
if (SvTYPE(sv) == SVt_PVGV) |
1043
|
7 |
7 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
1044
|
11 |
3 |
if (PL_op->op_private & OPpLVAL_INTRO) |
1046
|
0 |
14 |
XPUSHaa(DA_ALIAS_GV, sv); |
1054
|
0 |
5 |
XPUSHaa(DA_ALIAS_AV, av); |
1063
|
0 |
10 |
XPUSHaa(DA_ALIAS_HV, hv); |
1071
|
17 |
61 |
if (PL_op->op_private & OPpASSIGN_BACKWARDS) { |
1084
|
70 |
2 |
I32 gimme = GIMME_V; |
1086
|
0 |
72 |
EXTEND(sp, 1); |
1091
|
29 |
43 |
if (PL_op->op_private & OPpALIAS) { |
1093
|
14 |
15 |
U32 type = hash ? SVt_PVHV : SVt_PVAV; |
1097
|
0 |
29 |
if (SP != rlast) |
1100
|
25 |
4 |
if (right != rlast || SvTYPE(*right) != type) { |
|
4 |
21 |
if (right != rlast || SvTYPE(*right) != type) { |
1101
|
0 |
8 |
PUSHMARK(right - 1); |
1102
|
4 |
4 |
hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX); |
1107
|
14 |
15 |
PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV; |
1113
|
116 |
43 |
while (SP < rlast) |
1114
|
105 |
11 |
if (!SvTEMP(*++SP)) |
1117
|
90 |
42 |
while (left <= llast) { |
1119
|
3 |
87 |
if (a1 == &PL_sv_undef) { |
1127
|
0 |
9 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
0 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1130
|
9 |
0 |
if (done || right > rlast) |
|
7 |
2 |
if (done || right > rlast) |
1135
|
20 |
7 |
while (right <= rlast) |
1146
|
5 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1149
|
10 |
0 |
if (done || right > rlast) |
|
8 |
2 |
if (done || right > rlast) |
1153
|
3 |
5 |
if (1 & ~(rlast - right)) { |
|
3 |
5 |
if (1 & ~(rlast - right)) { |
1154
|
1 |
2 |
if (ckWARN(WARN_MISC)) |
1159
|
20 |
7 |
while (svp > right) { |
1162
|
0 |
20 |
if (!he) /* is this possible? */ |
1163
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp)); |
1165
|
6 |
14 |
if (SvREFCNT(tmp) > 1) { /* existing element */ |
1170
|
5 |
9 |
if (val == &PL_sv_undef) |
1176
|
8 |
7 |
while (nils && (he = hv_iternext((HV *) a2))) { |
|
8 |
0 |
while (nils && (he = hv_iternext((HV *) a2))) { |
1177
|
5 |
3 |
if (HeVAL(he) == &PL_sv_undef) { |
1183
|
3 |
4 |
if (gimme != G_LIST || !dups) { |
|
1 |
2 |
if (gimme != G_LIST || !dups) { |
1187
|
13 |
2 |
while (svp++ < rlast) { |
1188
|
7 |
6 |
if (*svp) |
1245
|
14 |
54 |
if (right > rlast) |
1247
|
4 |
50 |
else if (done) |
1255
|
12 |
30 |
if (gimme == G_LIST) { |
1257
|
0 |
12 |
EXTEND(SP, 0); |
1258
|
7 |
12 |
while (rlast < SP) |
1261
|
12 |
18 |
} else if (gimme == G_SCALAR) { |
1263
|
0 |
12 |
XPUSHi(rlast - SP); |
|
0 |
12 |
XPUSHi(rlast - SP); |
1272
|
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)) { |
1284
|
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)) { |
1297
|
3 |
2 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
1310
|
1 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
1 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1312
|
1 |
4 |
i = AvFILL(av); |
1314
|
7 |
5 |
while (MARK < SP) |
1317
|
0 |
5 |
PUSHi(i + 1); |
1325
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1328
|
6 |
4 |
while (MARK < SP) |
1331
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
1341
|
0 |
15 |
if (ins < 0) /* ?! */ |
1343
|
0 |
15 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1346
|
15 |
0 |
off = SvIV(MARK[2]); |
1347
|
6 |
9 |
if (off < 0 && (off += count) < 0) |
|
0 |
6 |
if (off < 0 && (off += count) < 0) |
1349
|
15 |
0 |
del = SvIV(ORIGMARK[3]); |
1350
|
3 |
12 |
if (del < 0 && (del += count - off) < 0) |
|
1 |
2 |
if (del < 0 && (del += count - off) < 0) |
1352
|
2 |
13 |
if (off > count) { |
1353
|
1 |
1 |
if (ckWARN(WARN_MISC)) |
1358
|
1 |
13 |
if ((count -= off + del) < 0) /* count of trailing elems */ |
1361
|
4 |
10 |
if (i > AvMAX(av)) |
1363
|
0 |
14 |
if (!AvREAL(av) && AvREIFY(av)) |
|
0 |
0 |
if (!AvREAL(av) && AvREIFY(av)) |
1368
|
21 |
14 |
for (i = 0; i < ins; i++) |
1370
|
7 |
7 |
if (ins > del) { |
1371
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1372
|
2 |
7 |
for (i = 0; i < del; i++) |
1374
|
0 |
7 |
Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *); |
1376
|
9 |
7 |
for (i = 0; i < ins; i++) |
1378
|
3 |
4 |
if (ins != del) |
1379
|
0 |
3 |
Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *); |
1380
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1383
|
14 |
14 |
for (i = 0; i < del; i++) |
1399
|
2 |
56 |
if (PL_op->op_flags & OPf_SPECIAL) |
1412
|
18 |
40 |
if (gimme == G_SCALAR) { |
1413
|
0 |
18 |
if (newsp == SP) { |
1417
|
8 |
10 |
FREETMPS; |
1420
|
18 |
22 |
} else if (gimme == G_LIST) { |
1421
|
27 |
18 |
while (newsp < SP) |
1422
|
19 |
8 |
if (!SvTEMP(sv = *++newsp)) |
1430
|
25 |
33 |
CX_LEAVE_SCOPE(cx); |
1448
|
31 |
6 |
SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef; |
1452
|
38 |
0 |
while (cxix >= 0) { |
1455
|
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) |
1461
|
0 |
37 |
if (cxix < 0) { |
1462
|
0 |
0 |
if (CxMULTICALL(cxstack)) { /* sort block */ |
1481
|
1 |
36 |
if (cxix < cxstack_ix) |
1485
|
0 |
37 |
if (CxMULTICALL(&cxstack[cxix])) { |
1487
|
0 |
0 |
if (gimme == G_VOID) |
1489
|
0 |
0 |
else if (gimme == G_SCALAR) |
1521
|
5 |
7 |
if (CxTRYBLOCK(cx)) |
1524
|
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) |
1525
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
1527
|
0 |
0 |
(void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv), |
1548
|
3 |
34 |
if (gimme == G_SCALAR) { |
1549
|
0 |
3 |
if (MARK == SP) { |
1553
|
3 |
0 |
FREETMPS; |
1556
|
24 |
10 |
} else if (gimme == G_LIST) { |
1557
|
43 |
24 |
while (MARK < SP) { |
1559
|
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))) |
1574
|
25 |
12 |
if (type == CXt_SUB) { |
1577
|
7 |
30 |
CX_LEAVE_SCOPE(cx); |
1581
|
12 |
25 |
if (clearerr) |
1582
|
12 |
0 |
sv_setpvn(ERRSV, "", 0); |
1590
|
0 |
28 |
if (++PL_markstack_ptr == PL_markstack_max) |
1600
|
5 |
0 |
I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc(); |
1613
|
15 |
0 |
switch (GIMME_V) { |
1618
|
1 |
6 |
if (MARK == SP) { |
1620
|
0 |
1 |
EXTEND(SP, 1); |
1623
|
1 |
5 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
|
0 |
1 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
1629
|
10 |
6 |
while (MARK < SP) { |
1630
|
2 |
8 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
|
0 |
2 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
1640
|
2 |
23 |
if (PadnameOUTER( |
1642
|
1 |
1 |
&& ckWARN(WARN_CLOSURE)) |
1651
|
0 |
8 |
if (!list) goto bad; |
1652
|
11 |
8 |
for(i = start; i != start+count; i++) { |
1653
|
0 |
11 |
if (PadnameOUTER( |
1655
|
0 |
0 |
&& ckWARN(WARN_CLOSURE)) |
1659
|
7 |
1 |
if (op->op_ppaddr != DataAlias_pp_padrange_single) |
1675
|
0 |
0 |
if (!list) |
1678
|
198 |
17 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1679
|
356 |
215 |
while (op) { |
1681
|
158 |
198 |
op = OpSIBLING(op); |
1686
|
2 |
1 |
while ((op = OpSIBLING(op))) |
|
2 |
1 |
while ((op = OpSIBLING(op))) |
1692
|
0 |
0 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1693
|
0 |
0 |
while (OpHAS_SIBLING(op)) |
1694
|
0 |
0 |
op = OpSIBLING(op); |
1698
|
0 |
81 |
if (!list) goto bad; |
1701
|
0 |
2 |
if (!list) goto bad; |
1702
|
2 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1706
|
0 |
0 |
if (!list) goto bad; |
1707
|
0 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1711
|
0 |
16 |
if (!list) goto bad; |
1712
|
5 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1716
|
0 |
31 |
if (!list) goto bad; |
1717
|
20 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1721
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
1725
|
1 |
0 |
bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop), |
1735
|
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)) |
1737
|
89 |
0 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
|
0 |
89 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
1739
|
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)) |
1741
|
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)) |
1743
|
19 |
37 |
if (la->op_flags & OPf_PARENS) |
1750
|
31 |
0 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
|
0 |
31 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
1752
|
31 |
0 |
if (!(right = cUNOPx(right)->op_first) || |
|
1 |
30 |
if (!(right = cUNOPx(right)->op_first) || |
1753
|
0 |
1 |
!IS_PUSHMARK_OR_PADRANGE(right)) |
1755
|
15 |
16 |
op->op_private = hash ? OPpALIASHV : OPpALIASAV; |
1756
|
9 |
22 |
la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv; |
1757
|
9 |
22 |
if (pad) { |
1760
|
0 |
9 |
if (left->op_type == OP_PADRANGE) |
1762
|
1 |
8 |
else if (right->op_type == OP_PADRANGE && |
|
1 |
0 |
else if (right->op_type == OP_PADRANGE && |
1767
|
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)) |
1769
|
6 |
24 |
if (ra->op_flags & OPf_PARENS) |
1771
|
11 |
13 |
if (hash) { |
1772
|
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) |
1775
|
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) |
1785
|
3693 |
983 |
while (op) { |
1790
|
1840 |
1853 |
if (op->op_flags & OPf_KIDS) |
1806
|
5 |
251 |
if (op->op_ppaddr == da_tag_list) { |
1814
|
62 |
3 |
if (op->op_ppaddr != da_tag_entersub) |
1840
|
1 |
306 |
if (op->op_private & OPpLVAL_INTRO) |
1848
|
2 |
135 |
if (op->op_private & OPpLVAL_INTRO) |
1883
|
89 |
89 |
for (tmp = kid; tmp->op_type == OP_NULL && |
|
89 |
0 |
for (tmp = kid; tmp->op_type == OP_NULL && |
1886
|
7 |
82 |
if (tmp->op_type == OP_PADRANGE && |
|
6 |
1 |
if (tmp->op_type == OP_PADRANGE && |
1891
|
83 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), TRUE); |
1898
|
69 |
35 |
if (!(op->op_private & OPpASSIGN_BACKWARDS)) |
1899
|
69 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), FALSE); |
1912
|
35 |
0 |
kid = OpSIBLING(kid); |
1915
|
6 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
6 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1916
|
4 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1920
|
7 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1921
|
5 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
5 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1925
|
21 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
21 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1926
|
20 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
|
1 |
20 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
1927
|
19 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
|
1 |
19 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
1928
|
15 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
4 |
15 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1932
|
7 |
1 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
1 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1936
|
16 |
4 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
4 |
16 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1938
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
1946
|
3470 |
217 |
if (sib && OpHAS_SIBLING(op)) { |
|
1516 |
1954 |
if (sib && OpHAS_SIBLING(op)) { |
1947
|
642 |
874 |
if (kid) |
1949
|
1516 |
0 |
op = OpSIBLING(op); |
1962
|
106390 |
335 |
while (o->op_ppaddr != da_tag_list |
1967
|
121328 |
106388 |
while (OpHAS_SIBLING(o)) { |
1968
|
46272 |
75056 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
|
46039 |
233 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
1970
|
72259 |
3030 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
|
23597 |
51692 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
1976
|
121326 |
0 |
o = OpSIBLING(o); |
1978
|
56129 |
50259 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
|
0 |
56129 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
1993
|
335 |
0 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
|
0 |
335 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
2001
|
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) { |
2018
|
13 |
322 |
if (cvop->op_flags & OPf_SPECIAL) { |
2021
|
15 |
306 |
} else if (!da_transform(aTHX_ pmop, TRUE) |
2022
|
15 |
0 |
&& !useful && ckWARN(WARN_VOID)) { |
|
1 |
14 |
&& !useful && ckWARN(WARN_VOID)) { |
2033
|
0 |
4564 |
if (da_inside < 0) |
2035
|
26 |
4538 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
|
25 |
1 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
2037
|
116 |
25 |
while ((tmp = o->op_next)) |
2039
|
25 |
0 |
if (da_transform(aTHX_ o, FALSE)) |
2062
|
0 |
6825 |
if (!PL_parser) |
2065
|
0 |
6825 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
|
0 |
0 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
2068
|
642 |
6183 |
if (kid->op_type != OP_GV || !DA_ACTIVE) |
2072
|
461 |
5722 |
cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv); |
2076
|
461 |
5722 |
if (cv == da_cv) /* Data::Alias::alias */ |
2078
|
17 |
5705 |
else if (cv == da_cvc) /* Data::Alias::copy */ |
2082
|
2 |
476 |
if (o->op_private & OPpENTERSUB_AMPER) |
2090
|
459 |
17 |
if (inside) |
2096
|
524 |
0 |
while (s < PL_bufend && isSPACE(*s)) s++; |
|
48 |
476 |
while (s < PL_bufend && isSPACE(*s)) s++; |
2098
|
476 |
0 |
if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) { |
2100
|
2 |
474 |
if (PL_bufptr > s) s = PL_bufptr; |
2107
|
0 |
476 |
if (SvPVX(PL_linestr) != old_buf) |
2122
|
38 |
438 |
if (da_iscope != &cxstack[cxstack_ix]) { |
2131
|
141 |
335 |
if (da_inside < 0) { |
2132
|
141 |
0 |
if (*s != '(' || da_inside != ~inside) |
|
0 |
141 |
if (*s != '(' || da_inside != ~inside) |
2139
|
0 |
335 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
|
5 |
330 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
2143
|
282 |
194 |
if (*s == '(' && da_inside >= 0) { |
|
141 |
141 |
if (*s == '(' && da_inside >= 0) { |
2150
|
73 |
262 |
if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */ |
2158
|
61 |
12 |
if (tok == '{' |
2202
|
73 |
0 |
if ((shift = s - PL_bufptr)) { /* here comes deeper magic */ |
2205
|
0 |
73 |
if ((PL_oldbufptr += shift) < s) |
2207
|
27 |
46 |
if ((PL_oldoldbufptr += shift) < s) |
2209
|
1 |
72 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
|
0 |
1 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
2211
|
37 |
36 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
|
36 |
1 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
2213
|
0 |
73 |
if (shift > 0) { |
2215
|
0 |
0 |
if (len + shift > SvLEN(PL_linestr)) |
2225
|
73 |
0 |
if (start_s < PL_bufptr) |
2236
|
0 |
6100 |
if (!(esop->op_flags & OPf_KIDS)) |
2239
|
6100 |
0 |
if (!(lsop->op_type == OP_LIST || |
|
4306 |
1794 |
if (!(lsop->op_type == OP_LIST || |
2240
|
4306 |
0 |
(lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST)) |
2241
|
4306 |
0 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
|
0 |
4306 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
2244
|
3971 |
335 |
if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv) |
2247
|
0 |
335 |
if (inside < 0) |
2250
|
322 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
|
322 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
2254
|
322 |
13 |
esop->op_type = inside ? OP_SCOPE : OP_LEAVE; |
2275
|
20 |
315 |
if (inside > 1) |
2280
|
322 |
13 |
if (inside) |
2291
|
676 |
0 |
while (OpSIBLING(argop) != cvop) |
|
341 |
335 |
while (OpSIBLING(argop) != cvop) |
2292
|
341 |
0 |
argop = OpSIBLING(argop); |
2295
|
96 |
239 |
if (argop->op_type == OP_NULL && inside) |
|
94 |
2 |
if (argop->op_type == OP_NULL && inside) |
2368
|
27 |
8 |
for (i = 0; i < items; i++) { |
2369
|
3 |
24 |
if (!SvROK(ST(i))) { |
2371
|
2 |
1 |
if (SvOK(ST(i))) |
|
2 |
0 |
if (SvOK(ST(i))) |
|
0 |
2 |
if (SvOK(ST(i))) |
2372
|
1 |
0 |
Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z)); |
2373
|
1 |
1 |
if (ckWARN(WARN_UNINITIALIZED)) |
2382
|
1 |
3 |
if (!(x = av_len((AV *) sv) + 1)) |
2387
|
0 |
3 |
if (!(x = HvKEYS(sv))) |
|
1 |
2 |
if (!(x = HvKEYS(sv))) |
2402
|
0 |
8 |
EXTEND(SP, 0); |
2403
|
19 |
8 |
for (i = 0; n--; ) { |
2406
|
3 |
16 |
if (x == SVt_PVAV) { |
2407
|
0 |
3 |
i -= x = AvFILL((AV *) sv) + 1; |
2408
|
0 |
3 |
Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *); |
2409
|
2 |
14 |
} else if (x == SVt_PVHV) { |
2414
|
4 |
2 |
while ((entry = hv_iternext(hv))) { |