| line |
true |
false |
branch |
|
123
|
0 |
9475 |
if (!cxstk) return -1; |
|
124
|
12966 |
1506 |
for (i = startingblock; i >= 0; i--) |
|
127
|
4997 |
7969 |
switch (CxTYPE(cx)) |
|
160
|
0 |
1735 |
if (!cxstack) return -1; |
|
189
|
1007 |
0 |
if (!top_si || !ccstack || cxix < 0) |
|
|
1007 |
0 |
if (!top_si || !ccstack || cxix < 0) |
|
|
1007 |
0 |
if (!top_si || !ccstack || cxix < 0) |
|
196
|
5 |
4262 |
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) |
|
|
0 |
5 |
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) |
|
199
|
0 |
0 |
if (!top_si) |
|
206
|
5 |
4262 |
if (cxix < 0) |
|
210
|
4262 |
0 |
if (PL_DBsub && cxix >= 0 && |
|
|
4262 |
0 |
if (PL_DBsub && cxix >= 0 && |
|
211
|
0 |
4262 |
ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
213
|
1002 |
3260 |
if (!count--) |
|
218
|
0 |
1002 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) |
|
|
0 |
0 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) |
|
221
|
1002 |
0 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
|
133 |
869 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
|
0 |
133 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
256
|
728 |
0 |
if (!top_si || !ccstack || cxix < 0) |
|
|
728 |
0 |
if (!top_si || !ccstack || cxix < 0) |
|
|
0 |
728 |
if (!top_si || !ccstack || cxix < 0) |
|
261
|
0 |
728 |
if (PL_op && (PL_op->op_type == OP_TIE || PL_op->op_type == OP_TIED)) |
|
|
728 |
0 |
if (PL_op && (PL_op->op_type == OP_TIE || PL_op->op_type == OP_TIED)) |
|
|
728 |
0 |
if (PL_op && (PL_op->op_type == OP_TIE || PL_op->op_type == OP_TIED)) |
|
264
|
0 |
0 |
for (i = cxix; i >= 0; i--) |
|
267
|
0 |
0 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_BLOCK) |
|
|
0 |
0 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_BLOCK) |
|
269
|
0 |
0 |
OP *op = cx->blk_oldcop ? (OP*)cx->blk_oldcop : PL_op; |
|
270
|
0 |
0 |
if (op && (op->op_type == OP_LIST || op->op_type == OP_AASSIGN)) |
|
|
0 |
0 |
if (op && (op->op_type == OP_LIST || op->op_type == OP_AASSIGN)) |
|
|
0 |
0 |
if (op && (op->op_type == OP_LIST || op->op_type == OP_AASSIGN)) |
|
282
|
2 |
3478 |
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) |
|
|
0 |
2 |
while (cxix < 0 && top_si->si_type != PERLSI_MAIN) |
|
285
|
0 |
0 |
if (!top_si) |
|
292
|
2 |
3478 |
if (cxix < 0) |
|
296
|
3478 |
0 |
if (PL_DBsub && cxix >= 0 && |
|
|
3478 |
0 |
if (PL_DBsub && cxix >= 0 && |
|
297
|
0 |
3478 |
ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
299
|
726 |
2752 |
if (!count--) |
|
304
|
0 |
726 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) |
|
|
0 |
0 |
if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) |
|
307
|
726 |
0 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
|
96 |
630 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
|
0 |
96 |
if (PL_DBsub && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub)) |
|
314
|
726 |
0 |
debugger_trouble = (cx->blk_oldcop && cx->blk_oldcop->op_type == OP_DBSTATE); |
|
|
0 |
726 |
debugger_trouble = (cx->blk_oldcop && cx->blk_oldcop->op_type == OP_DBSTATE); |
|
316
|
832 |
516 |
for (i = cxix-1; i>=0 ; i--) |
|
322
|
0 |
599 |
if (debugger_trouble && i > 0) return tcx; |
|
|
0 |
0 |
if (debugger_trouble && i > 0) return tcx; |
|
346
|
82 |
434 |
return ((end_of_block && cxix > 1) ? &ccstack[cxix-1] : cx); |
|
|
82 |
0 |
return ((end_of_block && cxix > 1) ? &ccstack[cxix-1] : cx); |
|
369
|
1 |
95 |
if (!cx) return G_VOID; |
|
397
|
0 |
23 |
if (!l) return (numop*)0; |
|
399
|
25 |
0 |
while (i-- > 0) |
|
402
|
23 |
2 |
if (ret->numop_op->op_type != OP_NULL && ret->numop_op->op_type != OP_SCOPE) |
|
|
23 |
0 |
if (ret->numop_op->op_type != OP_NULL && ret->numop_op->op_type != OP_SCOPE) |
|
433
|
67 |
565 |
if (!l) return Nullop; |
|
435
|
779 |
55 |
while (i-- > 0) |
|
438
|
599 |
180 |
if (ret->op_type != OP_NULL |
|
439
|
599 |
0 |
&& ret->op_type != OP_SCOPE |
|
440
|
510 |
89 |
&& ret->op_type != OP_LEAVE) |
|
471
|
2177 |
656 |
if (o && len < OPLIST_MAX) |
|
|
2177 |
0 |
if (o && len < OPLIST_MAX) |
|
477
|
2177 |
656 |
if (len > 0) |
|
513
|
2833 |
0 |
if (!start || !next) |
|
|
0 |
2833 |
if (!start || !next) |
|
519
|
656 |
2177 |
if (!l) |
|
528
|
2006 |
593 |
for (o = start; o; p = o, o = OpSIBLING(o), ++cn) |
|
|
4839 |
593 |
for (o = start; o; p = o, o = OpSIBLING(o), ++cn) |
|
530
|
793 |
4046 |
if (o->op_type == OP_ENTERSUB && o->op_next == next) |
|
|
656 |
137 |
if (o->op_type == OP_ENTERSUB && o->op_next == next) |
|
533
|
2177 |
2006 |
if (o->op_flags & OPf_KIDS) |
|
538
|
1584 |
593 |
if (find_ancestors_from(cUNOPo->op_first, next, l)) |
|
546
|
0 |
593 |
if (outer_call) |
|
573
|
2 |
726 |
if (!cx) |
|
605
|
2 |
726 |
if (!cx) |
|
638
|
656 |
72 |
return_op ? return_op->op_type == OP_LEAVE : FALSE); |
|
|
91 |
565 |
return_op ? return_op->op_type == OP_LEAVE : FALSE); |
|
640
|
656 |
72 |
if (!return_op || !start_cop) |
|
|
0 |
656 |
if (!return_op || !start_cop) |
|
642
|
67 |
5 |
if (return_op_out) *return_op_out = Nullop; |
|
646
|
588 |
68 |
if (return_op_out) |
|
651
|
0 |
656 |
if (!result) |
|
704
|
0 |
9 |
if (!o) return -999; |
|
706
|
9 |
0 |
if (!pm || pm->op_type != OP_PUSHMARK) |
|
|
0 |
9 |
if (!pm || pm->op_type != OP_PUSHMARK) |
|
709
|
9 |
0 |
if ( (l = OpSIBLING(pm)) && (l->op_type == OP_LIST || (l->op_type == OP_NULL && l->op_targ == OP_LIST))) |
|
|
9 |
0 |
if ( (l = OpSIBLING(pm)) && (l->op_type == OP_LIST || (l->op_type == OP_NULL && l->op_targ == OP_LIST))) |
|
|
9 |
0 |
if ( (l = OpSIBLING(pm)) && (l->op_type == OP_LIST || (l->op_type == OP_NULL && l->op_targ == OP_LIST))) |
|
|
4 |
5 |
if ( (l = OpSIBLING(pm)) && (l->op_type == OP_LIST || (l->op_type == OP_NULL && l->op_targ == OP_LIST))) |
|
|
4 |
0 |
if ( (l = OpSIBLING(pm)) && (l->op_type == OP_LIST || (l->op_type == OP_NULL && l->op_targ == OP_LIST))) |
|
712
|
5 |
0 |
else if (l) |
|
758
|
39 |
0 |
if (!parent || ! (parent->op_flags & OPf_KIDS)) |
|
|
0 |
39 |
if (!parent || ! (parent->op_flags & OPf_KIDS)) |
|
761
|
57 |
21 |
for(o = cUNOPx(parent)->op_first; o; o=OpSIBLING(o)) |
|
|
96 |
21 |
for(o = cUNOPx(parent)->op_first; o; o=OpSIBLING(o)) |
|
763
|
0 |
96 |
if (returnop && o->op_type == OP_ENTERSUB && o->op_next == returnop) |
|
|
0 |
0 |
if (returnop && o->op_type == OP_ENTERSUB && o->op_next == returnop) |
|
|
0 |
0 |
if (returnop && o->op_type == OP_ENTERSUB && o->op_next == returnop) |
|
765
|
92 |
4 |
if (o->op_type == OP_RV2AV || o->op_type == OP_RV2HV |
|
|
90 |
2 |
if (o->op_type == OP_RV2AV || o->op_type == OP_RV2HV |
|
766
|
82 |
8 |
|| o->op_type == OP_PADAV || o->op_type == OP_PADHV |
|
|
79 |
3 |
|| o->op_type == OP_PADAV || o->op_type == OP_PADHV |
|
767
|
0 |
79 |
|| o->op_type == OP_ENTERSUB) |
|
770
|
74 |
5 |
if (o->op_type == OP_HSLICE || o->op_type == OP_ASLICE) |
|
|
2 |
72 |
if (o->op_type == OP_HSLICE || o->op_type == OP_ASLICE) |
|
773
|
1 |
6 |
if (slice_length == 0) |
|
808
|
0 |
35 |
if (!cx) return -1; |
|
842
|
0 |
0 |
if (!cx) return Nullav; |
|
849
|
0 |
0 |
for(i=mark_from+1; i<=mark_to; ++i) |
|
850
|
0 |
0 |
if (skip-- <= 0) av_push(a, newSVsv(PL_stack_base[i])); |
|
878
|
0 |
21 |
if (!cx) return Nullav; |
|
961
|
0 |
81 |
if (!cx) |
|
965
|
0 |
81 |
else if (!cx->blk_sub.cv) |
|
969
|
62 |
19 |
else if (CvLVALUE(cx->blk_sub.cv)) |
|
1009
|
461 |
118 |
if (!o || !r) |
|
|
0 |
461 |
if (!o || !r) |
|
1011
|
0 |
118 |
EXTEND(SP, 2); |
|
1017
|
30 |
431 |
if (o->op_type == OP_ENTERSUB && (first = cUNOPx(o)->op_first) |
|
|
30 |
0 |
if (o->op_type == OP_ENTERSUB && (first = cUNOPx(o)->op_first) |
|
1018
|
7 |
23 |
&& (second = OpSIBLING(first)) && OpSIBLING(second) != Nullop) |
|
|
7 |
23 |
&& (second = OpSIBLING(first)) && OpSIBLING(second) != Nullop) |
|
|
7 |
0 |
&& (second = OpSIBLING(first)) && OpSIBLING(second) != Nullop) |
|
|
7 |
0 |
&& (second = OpSIBLING(first)) && OpSIBLING(second) != Nullop) |
|
1022
|
461 |
0 |
if (GIMME == G_ARRAY) |
|
|
283 |
178 |
if (GIMME == G_ARRAY) |
|
1024
|
0 |
283 |
EXTEND(SP, 2); |
|
1030
|
0 |
178 |
EXTEND(SP, 1); |
|
1062
|
4 |
42 |
if (!o) |
|
1064
|
4 |
0 |
RETVAL = (gimme == G_SCALAR ? 1 : gimme == G_ARRAY ? -1 : 0); |
|
|
0 |
4 |
RETVAL = (gimme == G_SCALAR ? 1 : gimme == G_ARRAY ? -1 : 0); |
|
1066
|
35 |
7 |
else if (o->op_type == OP_AASSIGN) |
|
1070
|
18 |
17 |
if (lhs == 0) RETVAL = -1; |
|
1071
|
4 |
13 |
else if (rhs >= lhs-1) RETVAL = 0; |
|
1115
|
5 |
68 |
if (!l) |
|
1121
|
199 |
68 |
for( i=0; i < l->length; ++i ) |
|
1125
|
191 |
8 |
bool v = (OP_GIMME(o, -1) == G_VOID); |
|
|
122 |
69 |
bool v = (OP_GIMME(o, -1) == G_VOID); |
|
1133
|
32 |
2 |
if (truebool || v) |
|
|
28 |
4 |
if (truebool || v) |
|
1136
|
4 |
0 |
pseudobool = (pseudobool || n == 0); |
|
|
2 |
2 |
pseudobool = (pseudobool || n == 0); |
|
1139
|
10 |
5 |
if (truebool || v) |
|
|
7 |
3 |
if (truebool || v) |
|
1145
|
5 |
1 |
truebool = (truebool || n == 0); |
|
|
4 |
1 |
truebool = (truebool || n == 0); |
|
1155
|
34 |
34 |
RETVAL = truebool || pseudobool; |
|
|
2 |
32 |
RETVAL = truebool || pseudobool; |
|
1187
|
23 |
0 |
numop* lno = os ? lastnumop(os) : (numop*)0; |
|
1190
|
0 |
23 |
if (!lno) |
|
1197
|
23 |
0 |
if (lno && (type == OP_AASSIGN || type == OP_SASSIGN) && lno->numop_num == 1) |
|
|
23 |
0 |
if (lno && (type == OP_AASSIGN || type == OP_SASSIGN) && lno->numop_num == 1) |
|
|
21 |
2 |
if (lno && (type == OP_AASSIGN || type == OP_SASSIGN) && lno->numop_num == 1) |
|
|
21 |
0 |
if (lno && (type == OP_AASSIGN || type == OP_SASSIGN) && lno->numop_num == 1) |
|
1199
|
0 |
21 |
if (type == OP_AASSIGN) |
|
1202
|
0 |
0 |
if (lhs_count == 0) r = newAV(); |
|
1215
|
23 |
0 |
if (os) free(os); |
|
1217
|
0 |
23 |
EXTEND(SP, 1); |
|
1218
|
21 |
2 |
PUSHs(r ? sv_2mortal(newRV_noinc((SV*) r)) : &PL_sv_undef); |
|
1247
|
2 |
21 |
if (!cx) |