line |
true |
false |
branch |
321
|
8 |
0 |
if (SvTYPE(a2) == SVt_PVGV) |
323
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
|
0 |
0 |
else if (!SvROK(a2) || !(a2 = SvRV(a2)) |
324
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
|
0 |
0 |
|| (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV)) |
337
|
8 |
0 |
return svp ? *svp : &PL_sv_undef; |
340
|
4 |
0 |
return he ? HeVAL(he) : &PL_sv_undef; |
387
|
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); |
388
|
32 |
141 |
if ((Size_t) a1 == DA_ALIAS_PAD) { |
392
|
18 |
14 |
if (old != &PL_sv_undef) |
400
|
84 |
7 |
if (SvTYPE(a2) == SVt_PVGV) { |
407
|
5 |
9 |
if (!SvROK(value)) { |
409
|
12 |
0 |
SvSetMagicSV(a2, value); |
|
0 |
12 |
SvSetMagicSV(a2, value); |
424
|
1 |
0 |
if (oldcv != (CV *) value) { |
425
|
0 |
1 |
if (GvCVGEN(gv)) { |
434
|
1 |
0 |
if (GvINTRO(gv)) { |
438
|
0 |
1 |
SSCHECK(1); |
455
|
5 |
87 |
if (GvINTRO(gv)) { |
471
|
0 |
21 |
if (!av_store((AV *) a1, (Size_t) a2, value)) |
475
|
1 |
14 |
if (value == &PL_sv_undef) { |
479
|
0 |
14 |
if (!hv_store_ent((HV *) a1, a2, value, 0)) |
499
|
11 |
3 |
if (gp->gp_refcnt > 1) { |
511
|
0 |
14 |
SSCHECK(2); |
521
|
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); |
538
|
4 |
0 |
if (GIMME_V != G_LIST) { |
|
4 |
0 |
if (GIMME_V != G_LIST) { |
540
|
4 |
0 |
*MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef); |
543
|
0 |
0 |
EXTEND_MORTAL(SP - MARK); |
544
|
0 |
0 |
while (++MARK <= SP) |
558
|
19 |
13 |
while (i--) |
560
|
9 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
566
|
0 |
13 |
XPUSHs(sv); |
574
|
32 |
21 |
while (MARK < SP) { |
577
|
30 |
2 |
if (MARK < SP) |
579
|
1 |
1 |
else if (ckWARN(WARN_MISC)) |
582
|
3 |
28 |
if (val == &PL_sv_undef) |
588
|
17 |
4 |
if (PL_op->op_flags & OPf_SPECIAL) { |
594
|
0 |
21 |
XPUSHs(sv); |
606
|
7 |
8 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
|
8 |
0 |
(AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv); |
608
|
0 |
15 |
if (!av_fetch(av, index, TRUE)) |
610
|
0 |
15 |
XPUSHaa(av, index); |
616
|
6 |
6 |
while (mg) { |
617
|
0 |
6 |
if (isUPPER(mg->mg_type)) |
628
|
4 |
0 |
IV index = SvIV(elem); |
629
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
631
|
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)) |
634
|
0 |
4 |
if (SvTYPE(av) != SVt_PVAV) |
636
|
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))) |
638
|
2 |
2 |
if (PL_op->op_private & OPpLVAL_INTRO) |
681
|
0 |
11 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
684
|
11 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
686
|
2 |
9 |
if (localizing) |
688
|
0 |
11 |
if (!(he = hv_fetch_ent(hv, key, TRUE, 0))) |
689
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
690
|
2 |
9 |
if (localizing) { |
691
|
1 |
1 |
if (!existed) |
719
|
0 |
3 |
if (SvTYPE(av) != SVt_PVAV) |
721
|
0 |
3 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
724
|
3 |
0 |
EXTEND(sp, count); |
|
0 |
3 |
EXTEND(sp, count); |
729
|
6 |
3 |
while (MARK < src) { |
730
|
6 |
0 |
IV i = SvIVx(*src); |
731
|
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)) |
733
|
2 |
4 |
if (local) |
735
|
2 |
4 |
if (i > max) |
741
|
1 |
2 |
if (max > AvMAX(av)) |
753
|
0 |
3 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
|
0 |
0 |
if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv)) |
755
|
3 |
0 |
EXTEND(sp, i); |
|
0 |
3 |
EXTEND(sp, i); |
758
|
3 |
0 |
if (SvTYPE(hv) == SVt_PVHV) { |
759
|
6 |
3 |
while (MARK < src) { |
760
|
0 |
6 |
if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0))) |
761
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(key)); |
762
|
2 |
4 |
if (PL_op->op_private & OPpLVAL_INTRO) |
792
|
5 |
2 |
if (PL_op->op_flags & OPf_SPECIAL) { |
793
|
5 |
0 |
AV *av = GvAVn(PL_defgv); |
794
|
0 |
5 |
PUSHMARK(SP); |
795
|
1 |
4 |
if (is_single) { |
796
|
0 |
1 |
XPUSHs((SV*)av); |
798
|
0 |
4 |
const I32 maxarg = AvFILL(av) + 1; |
799
|
4 |
0 |
EXTEND(SP, maxarg); |
|
0 |
4 |
EXTEND(SP, maxarg); |
800
|
0 |
4 |
if (SvRMAGICAL(av)) { |
802
|
0 |
0 |
for (i=0; i < (U32)maxarg; i++) { |
807
|
0 |
0 |
(mg_get(*svp), *svp) : |
808
|
0 |
0 |
*svp : |
812
|
0 |
4 |
Copy(AvARRAY(av), SP+1, maxarg, SV*); |
817
|
7 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) { |
818
|
0 |
7 |
PUSHMARK(SP); |
819
|
7 |
0 |
EXTEND(SP, count << 1); |
|
0 |
7 |
EXTEND(SP, count << 1); |
821
|
10 |
7 |
for(index = start; index != start+count; index++) { |
823
|
1 |
9 |
if (is_single) { |
832
|
10 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
833
|
7 |
3 |
if (da_type == DA_ALIAS_PAD) { |
840
|
10 |
0 |
if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) |
841
|
3 |
7 |
PUSHaa(da_type, da_type == DA_ALIAS_PAD ? |
861
|
9 |
22 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
865
|
0 |
31 |
XPUSHaa(DA_ALIAS_PAD, index); |
871
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) |
873
|
0 |
1 |
XPUSHaa(DA_ALIAS_AV, TARG); |
879
|
0 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) |
881
|
0 |
0 |
XPUSHaa(DA_ALIAS_HV, TARG); |
888
|
4 |
58 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
892
|
0 |
62 |
XPUSHaa(DA_ALIAS_RV, gv); |
899
|
1 |
0 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
903
|
0 |
1 |
XPUSHs(GvSV(gv)); |
910
|
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)) |
918
|
29 |
10 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
|
2 |
27 |
if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do { |
926
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
928
|
0 |
0 |
if (SvROK(sv)) |
931
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
933
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
934
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname); |
935
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type); |
937
|
28 |
10 |
if (SvTYPE(sv) == SVt_PVGV) |
938
|
25 |
3 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
939
|
12 |
26 |
if (PL_op->op_private & OPpLVAL_INTRO) { |
940
|
9 |
3 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
|
0 |
9 |
if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv)) |
954
|
0 |
35 |
XPUSHaa(DA_ALIAS_RV, sv); |
978
|
2 |
13 |
if (SvROK(sv)) { |
980
|
0 |
2 |
if (SvTYPE(sv) != SVt_PVGV) |
982
|
2 |
11 |
} else if (SvTYPE(sv) != SVt_PVGV) { |
983
|
0 |
2 |
if (SvGMAGICAL(sv)) { |
985
|
0 |
0 |
if (SvROK(sv)) |
988
|
0 |
2 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
|
0 |
0 |
if (!SvOK(sv)) |
990
|
1 |
1 |
if (PL_op->op_private & HINT_STRICT_REFS) |
991
|
1 |
0 |
DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol"); |
992
|
1 |
0 |
sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV); |
994
|
14 |
0 |
if (SvTYPE(sv) == SVt_PVGV) |
995
|
7 |
7 |
sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv)); |
996
|
11 |
3 |
if (PL_op->op_private & OPpLVAL_INTRO) |
998
|
0 |
14 |
XPUSHaa(DA_ALIAS_GV, sv); |
1006
|
0 |
5 |
XPUSHaa(DA_ALIAS_AV, av); |
1015
|
0 |
10 |
XPUSHaa(DA_ALIAS_HV, hv); |
1023
|
17 |
59 |
if (PL_op->op_private & OPpASSIGN_BACKWARDS) { |
1036
|
70 |
2 |
I32 gimme = GIMME_V; |
1038
|
0 |
72 |
EXTEND(sp, 1); |
1043
|
29 |
43 |
if (PL_op->op_private & OPpALIAS) { |
1045
|
14 |
15 |
U32 type = hash ? SVt_PVHV : SVt_PVAV; |
1049
|
0 |
29 |
if (SP != rlast) |
1052
|
25 |
4 |
if (right != rlast || SvTYPE(*right) != type) { |
|
4 |
21 |
if (right != rlast || SvTYPE(*right) != type) { |
1053
|
0 |
8 |
PUSHMARK(right - 1); |
1054
|
4 |
4 |
hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX); |
1059
|
14 |
15 |
PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV; |
1065
|
116 |
43 |
while (SP < rlast) |
1066
|
105 |
11 |
if (!SvTEMP(*++SP)) |
1069
|
90 |
42 |
while (left <= llast) { |
1071
|
3 |
87 |
if (a1 == &PL_sv_undef) { |
1079
|
0 |
9 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
0 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1082
|
9 |
0 |
if (done || right > rlast) |
|
7 |
2 |
if (done || right > rlast) |
1087
|
20 |
7 |
while (right <= rlast) |
1098
|
5 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
|
0 |
5 |
if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2)) |
1101
|
10 |
0 |
if (done || right > rlast) |
|
8 |
2 |
if (done || right > rlast) |
1105
|
3 |
5 |
if (1 & ~(rlast - right)) { |
|
3 |
5 |
if (1 & ~(rlast - right)) { |
1106
|
1 |
2 |
if (ckWARN(WARN_MISC)) |
1111
|
20 |
7 |
while (svp > right) { |
1114
|
0 |
20 |
if (!he) /* is this possible? */ |
1115
|
0 |
0 |
DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp)); |
1117
|
6 |
14 |
if (SvREFCNT(tmp) > 1) { /* existing element */ |
1122
|
5 |
9 |
if (val == &PL_sv_undef) |
1128
|
10 |
7 |
while (nils && (he = hv_iternext((HV *) a2))) { |
|
10 |
0 |
while (nils && (he = hv_iternext((HV *) a2))) { |
1129
|
5 |
5 |
if (HeVAL(he) == &PL_sv_undef) { |
1135
|
3 |
4 |
if (gimme != G_LIST || !dups) { |
|
1 |
2 |
if (gimme != G_LIST || !dups) { |
1139
|
13 |
2 |
while (svp++ < rlast) { |
1140
|
7 |
6 |
if (*svp) |
1197
|
14 |
54 |
if (right > rlast) |
1199
|
4 |
50 |
else if (done) |
1207
|
12 |
30 |
if (gimme == G_LIST) { |
1209
|
0 |
12 |
EXTEND(SP, 0); |
1210
|
7 |
12 |
while (rlast < SP) |
1213
|
12 |
18 |
} else if (gimme == G_SCALAR) { |
1215
|
0 |
12 |
XPUSHi(rlast - SP); |
|
0 |
12 |
XPUSHi(rlast - SP); |
1224
|
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)) { |
1236
|
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)) { |
1249
|
3 |
2 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
|
3 |
0 |
if (!SvOK(sv)) { |
1262
|
1 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
1 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1264
|
1 |
4 |
i = AvFILL(av); |
1266
|
7 |
5 |
while (MARK < SP) |
1269
|
0 |
5 |
PUSHi(i + 1); |
1277
|
0 |
4 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1280
|
6 |
4 |
while (MARK < SP) |
1283
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
|
0 |
4 |
PUSHi(AvFILL(av) + 1); |
1293
|
0 |
15 |
if (ins < 0) /* ?! */ |
1295
|
0 |
15 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
|
0 |
0 |
if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av)) |
1298
|
15 |
0 |
off = SvIV(MARK[2]); |
1299
|
6 |
9 |
if (off < 0 && (off += count) < 0) |
|
0 |
6 |
if (off < 0 && (off += count) < 0) |
1301
|
15 |
0 |
del = SvIV(ORIGMARK[3]); |
1302
|
3 |
12 |
if (del < 0 && (del += count - off) < 0) |
|
1 |
2 |
if (del < 0 && (del += count - off) < 0) |
1304
|
2 |
13 |
if (off > count) { |
1305
|
1 |
1 |
if (ckWARN(WARN_MISC)) |
1310
|
1 |
13 |
if ((count -= off + del) < 0) /* count of trailing elems */ |
1313
|
4 |
10 |
if (i > AvMAX(av)) |
1315
|
0 |
14 |
if (!AvREAL(av) && AvREIFY(av)) |
|
0 |
0 |
if (!AvREAL(av) && AvREIFY(av)) |
1320
|
21 |
14 |
for (i = 0; i < ins; i++) |
1322
|
7 |
7 |
if (ins > del) { |
1323
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1324
|
2 |
7 |
for (i = 0; i < del; i++) |
1326
|
0 |
7 |
Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *); |
1328
|
9 |
7 |
for (i = 0; i < ins; i++) |
1330
|
3 |
4 |
if (ins != del) |
1331
|
0 |
3 |
Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *); |
1332
|
0 |
7 |
Move(svp+del, svp+ins, INT2SIZE(count), SV *); |
1335
|
14 |
14 |
for (i = 0; i < del; i++) |
1351
|
2 |
55 |
if (PL_op->op_flags & OPf_SPECIAL) |
1364
|
18 |
39 |
if (gimme == G_SCALAR) { |
1365
|
0 |
18 |
if (newsp == SP) { |
1369
|
8 |
10 |
FREETMPS; |
1372
|
18 |
21 |
} else if (gimme == G_LIST) { |
1373
|
27 |
18 |
while (newsp < SP) |
1374
|
19 |
8 |
if (!SvTEMP(sv = *++newsp)) |
1382
|
25 |
32 |
CX_LEAVE_SCOPE(cx); |
1400
|
31 |
6 |
SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef; |
1404
|
38 |
0 |
while (cxix >= 0) { |
1407
|
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) |
1413
|
0 |
37 |
if (cxix < 0) { |
1414
|
0 |
0 |
if (CxMULTICALL(cxstack)) { /* sort block */ |
1433
|
1 |
36 |
if (cxix < cxstack_ix) |
1437
|
0 |
37 |
if (CxMULTICALL(&cxstack[cxix])) { |
1439
|
0 |
0 |
if (gimme == G_VOID) |
1441
|
0 |
0 |
else if (gimme == G_SCALAR) |
1473
|
5 |
7 |
if (CxTRYBLOCK(cx)) |
1476
|
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) |
1477
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
|
0 |
0 |
&& (gimme == G_SCALAR || MARK == SP)) { |
1479
|
0 |
0 |
(void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv), |
1500
|
3 |
34 |
if (gimme == G_SCALAR) { |
1501
|
0 |
3 |
if (MARK == SP) { |
1505
|
3 |
0 |
FREETMPS; |
1508
|
24 |
10 |
} else if (gimme == G_LIST) { |
1509
|
43 |
24 |
while (MARK < SP) { |
1511
|
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))) |
1526
|
25 |
12 |
if (type == CXt_SUB) { |
1529
|
7 |
30 |
CX_LEAVE_SCOPE(cx); |
1533
|
12 |
25 |
if (clearerr) |
1534
|
12 |
0 |
sv_setpvn(ERRSV, "", 0); |
1542
|
0 |
28 |
if (++PL_markstack_ptr == PL_markstack_max) |
1552
|
5 |
0 |
I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc(); |
1565
|
15 |
0 |
switch (GIMME_V) { |
1570
|
1 |
6 |
if (MARK == SP) { |
1572
|
0 |
1 |
EXTEND(SP, 1); |
1575
|
1 |
5 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
|
0 |
1 |
if (!SvTEMP(sv) || SvREFCNT(sv) != 1) |
1581
|
10 |
6 |
while (MARK < SP) { |
1582
|
2 |
8 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
|
0 |
2 |
if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1) |
1592
|
2 |
31 |
if (PadnameOUTER( |
1594
|
1 |
1 |
&& ckWARN(WARN_CLOSURE)) |
1603
|
0 |
8 |
if (!list) goto bad; |
1604
|
11 |
8 |
for(i = start; i != start+count; i++) { |
1605
|
0 |
11 |
if (PadnameOUTER( |
1607
|
0 |
0 |
&& ckWARN(WARN_CLOSURE)) |
1611
|
7 |
1 |
if (op->op_ppaddr != DataAlias_pp_padrange_single) |
1627
|
0 |
0 |
if (!list) |
1630
|
187 |
15 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1631
|
343 |
202 |
while (op) { |
1633
|
156 |
187 |
op = OpSIBLING(op); |
1638
|
2 |
1 |
while ((op = OpSIBLING(op))) |
|
2 |
1 |
while ((op = OpSIBLING(op))) |
1644
|
0 |
0 |
op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL; |
1645
|
0 |
0 |
while (OpHAS_SIBLING(op)) |
1646
|
0 |
0 |
op = OpSIBLING(op); |
1650
|
0 |
81 |
if (!list) goto bad; |
1653
|
0 |
2 |
if (!list) goto bad; |
1654
|
2 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1658
|
0 |
0 |
if (!list) goto bad; |
1659
|
0 |
0 |
if (op->op_ppaddr != DataAlias_pp_padsv) |
1663
|
0 |
16 |
if (!list) goto bad; |
1664
|
5 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1668
|
0 |
31 |
if (!list) goto bad; |
1669
|
20 |
11 |
if (op->op_ppaddr != DataAlias_pp_rv2sv) |
1673
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
|
3 |
0 |
if (!list || (op->op_flags & OPf_KIDS)) |
1677
|
1 |
0 |
bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop), |
1687
|
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)) |
1689
|
89 |
0 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
|
0 |
89 |
if (left->op_type || !(left->op_flags & OPf_KIDS)) |
1691
|
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)) |
1693
|
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)) |
1695
|
19 |
37 |
if (la->op_flags & OPf_PARENS) |
1702
|
31 |
0 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
|
0 |
31 |
if (right->op_type || !(right->op_flags & OPf_KIDS)) |
1704
|
31 |
0 |
if (!(right = cUNOPx(right)->op_first) || |
|
1 |
30 |
if (!(right = cUNOPx(right)->op_first) || |
1705
|
0 |
1 |
!IS_PUSHMARK_OR_PADRANGE(right)) |
1707
|
15 |
16 |
op->op_private = hash ? OPpALIASHV : OPpALIASAV; |
1708
|
9 |
22 |
la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv; |
1709
|
9 |
22 |
if (pad) { |
1712
|
0 |
9 |
if (left->op_type == OP_PADRANGE) |
1714
|
1 |
8 |
else if (right->op_type == OP_PADRANGE && |
|
1 |
0 |
else if (right->op_type == OP_PADRANGE && |
1719
|
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)) |
1721
|
6 |
24 |
if (ra->op_flags & OPf_PARENS) |
1723
|
11 |
13 |
if (hash) { |
1724
|
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) |
1727
|
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) |
1737
|
3644 |
970 |
while (op) { |
1742
|
1817 |
1827 |
if (op->op_flags & OPf_KIDS) |
1758
|
5 |
251 |
if (op->op_ppaddr == da_tag_list) { |
1766
|
61 |
3 |
if (op->op_ppaddr != da_tag_entersub) |
1792
|
1 |
299 |
if (op->op_private & OPpLVAL_INTRO) |
1800
|
2 |
135 |
if (op->op_private & OPpLVAL_INTRO) |
1818
|
89 |
89 |
for (tmp = kid; tmp->op_type == OP_NULL && |
|
89 |
0 |
for (tmp = kid; tmp->op_type == OP_NULL && |
1821
|
7 |
82 |
if (tmp->op_type == OP_PADRANGE && |
|
6 |
1 |
if (tmp->op_type == OP_PADRANGE && |
1826
|
83 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), TRUE); |
1833
|
67 |
35 |
if (!(op->op_private & OPpASSIGN_BACKWARDS)) |
1834
|
67 |
0 |
da_lvalue(aTHX_ OpSIBLING(kid), FALSE); |
1847
|
35 |
0 |
kid = OpSIBLING(kid); |
1850
|
6 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
6 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1851
|
4 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1855
|
7 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1856
|
5 |
2 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
2 |
5 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1860
|
21 |
0 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
|
0 |
21 |
if (!(tmp = OpSIBLING(kid))) break; /* array */ |
1861
|
20 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
|
1 |
20 |
if (!(tmp = OpSIBLING(tmp))) break; /* offset */ |
1862
|
19 |
1 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
|
1 |
19 |
if (!(tmp = OpSIBLING(tmp))) break; /* length */ |
1863
|
15 |
4 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
|
4 |
15 |
if (!(tmp = OpSIBLING(tmp))) break; /* first elem */ |
1867
|
7 |
1 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
1 |
7 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1871
|
16 |
3 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
|
3 |
16 |
if (!(tmp = OpSIBLING(kid))) break; /* first elem */ |
1873
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
|
49 |
47 |
mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp))); |
1876
|
3423 |
215 |
if (sib && OpHAS_SIBLING(op)) { |
|
1498 |
1925 |
if (sib && OpHAS_SIBLING(op)) { |
1877
|
637 |
861 |
if (kid) |
1879
|
1498 |
0 |
op = OpSIBLING(op); |
1892
|
48012 |
327 |
while (o->op_ppaddr != da_tag_list |
1897
|
60233 |
48010 |
while (OpHAS_SIBLING(o)) { |
1898
|
19590 |
40643 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
|
19448 |
142 |
if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){ |
1900
|
39258 |
1527 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
|
12054 |
28731 |
} else switch (o->op_type ? o->op_type : o->op_targ) { |
1906
|
60231 |
0 |
o = OpSIBLING(o); |
1908
|
25829 |
22181 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
|
0 |
25829 |
if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first)) |
1923
|
327 |
0 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
|
0 |
327 |
if (!(cvop = cUNOPx(pmop)->op_first) || |
1931
|
327 |
0 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
|
0 |
327 |
if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) { |
1948
|
13 |
314 |
if (cvop->op_flags & OPf_SPECIAL) { |
1951
|
11 |
302 |
} else if (!da_transform(aTHX_ pmop, TRUE) |
1952
|
11 |
0 |
&& !useful && ckWARN(WARN_VOID)) { |
|
1 |
10 |
&& !useful && ckWARN(WARN_VOID)) { |
1963
|
0 |
3069 |
if (da_inside < 0) |
1965
|
26 |
3043 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
|
25 |
1 |
if (da_inside && da_iscope == &cxstack[cxstack_ix]) { |
1967
|
116 |
25 |
while ((tmp = o->op_next)) |
1969
|
25 |
0 |
if (da_transform(aTHX_ o, FALSE)) |
1992
|
0 |
4659 |
if (!PL_parser) |
1995
|
0 |
4659 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
|
0 |
0 |
if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL) |
1998
|
421 |
4238 |
if (kid->op_type != OP_GV || !DA_ACTIVE) |
2002
|
432 |
3806 |
cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv); |
2006
|
449 |
3789 |
if (cv == da_cv) /* Data::Alias::alias */ |
2008
|
17 |
3772 |
else if (cv == da_cvc) /* Data::Alias::copy */ |
2012
|
2 |
464 |
if (o->op_private & OPpENTERSUB_AMPER) |
2020
|
447 |
17 |
if (inside) |
2026
|
512 |
0 |
while (s < PL_bufend && isSPACE(*s)) s++; |
|
48 |
464 |
while (s < PL_bufend && isSPACE(*s)) s++; |
2028
|
464 |
0 |
if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) { |
2030
|
2 |
462 |
if (PL_bufptr > s) s = PL_bufptr; |
2037
|
0 |
464 |
if (SvPVX(PL_linestr) != old_buf) |
2052
|
37 |
427 |
if (da_iscope != &cxstack[cxstack_ix]) { |
2061
|
137 |
327 |
if (da_inside < 0) { |
2062
|
137 |
0 |
if (*s != '(' || da_inside != ~inside) |
|
0 |
137 |
if (*s != '(' || da_inside != ~inside) |
2069
|
0 |
327 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
|
5 |
322 |
XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no); |
2073
|
274 |
190 |
if (*s == '(' && da_inside >= 0) { |
|
137 |
137 |
if (*s == '(' && da_inside >= 0) { |
2080
|
71 |
256 |
if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */ |
2088
|
60 |
11 |
if (tok == '{' |
2132
|
71 |
0 |
if ((shift = s - PL_bufptr)) { /* here comes deeper magic */ |
2135
|
0 |
71 |
if ((PL_oldbufptr += shift) < s) |
2137
|
25 |
46 |
if ((PL_oldoldbufptr += shift) < s) |
2139
|
1 |
70 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
|
0 |
1 |
if (PL_last_uni && (PL_last_uni += shift) < s) |
2141
|
37 |
34 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
|
36 |
1 |
if (PL_last_lop && (PL_last_lop += shift) < s) |
2143
|
0 |
71 |
if (shift > 0) { |
2145
|
0 |
0 |
if (len + shift > SvLEN(PL_linestr)) |
2155
|
71 |
0 |
if (start_s < PL_bufptr) |
2166
|
0 |
4343 |
if (!(esop->op_flags & OPf_KIDS)) |
2169
|
4343 |
0 |
if (!(lsop->op_type == OP_LIST || |
|
3143 |
1200 |
if (!(lsop->op_type == OP_LIST || |
2170
|
3143 |
0 |
(lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST)) |
2171
|
3143 |
0 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
|
0 |
3143 |
|| OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS)) |
2174
|
2816 |
327 |
if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv) |
2177
|
0 |
327 |
if (inside < 0) |
2180
|
314 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
|
314 |
13 |
SvPOK_off(inside ? da_cv : da_cvc); |
2184
|
314 |
13 |
esop->op_type = inside ? OP_SCOPE : OP_LEAVE; |
2205
|
20 |
307 |
if (inside > 1) |
2210
|
314 |
13 |
if (inside) |
2221
|
662 |
0 |
while (OpSIBLING(argop) != cvop) |
|
335 |
327 |
while (OpSIBLING(argop) != cvop) |
2222
|
335 |
0 |
argop = OpSIBLING(argop); |
2225
|
95 |
232 |
if (argop->op_type == OP_NULL && inside) |
|
93 |
2 |
if (argop->op_type == OP_NULL && inside) |
2298
|
27 |
8 |
for (i = 0; i < items; i++) { |
2299
|
3 |
24 |
if (!SvROK(ST(i))) { |
2301
|
2 |
1 |
if (SvOK(ST(i))) |
|
2 |
0 |
if (SvOK(ST(i))) |
|
0 |
2 |
if (SvOK(ST(i))) |
2302
|
1 |
0 |
Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z)); |
2303
|
1 |
1 |
if (ckWARN(WARN_UNINITIALIZED)) |
2312
|
1 |
3 |
if (!(x = av_len((AV *) sv) + 1)) |
2317
|
0 |
3 |
if (!(x = HvKEYS(sv))) |
|
1 |
2 |
if (!(x = HvKEYS(sv))) |
2332
|
0 |
8 |
EXTEND(SP, 0); |
2333
|
19 |
8 |
for (i = 0; n--; ) { |
2336
|
3 |
16 |
if (x == SVt_PVAV) { |
2337
|
0 |
3 |
i -= x = AvFILL((AV *) sv) + 1; |
2338
|
0 |
3 |
Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *); |
2339
|
2 |
14 |
} else if (x == SVt_PVHV) { |
2344
|
4 |
2 |
while ((entry = hv_iternext(hv))) { |