Branch Coverage

universal.c
Criterion Covered Total %
branch 474 948 50.0


line true false branch
45 5319981 10 const struct mro_meta *const meta = HvMROMETA(stash);
51 8996 5310995 if (!isa) {
56 1902716 3417275 if (hv_common(isa, NULL, name, len, ( flags & SVf_UTF8 ? HVhek_UTF8 : 0),
67 1879210 23506 if (our_stash) {
68 1879210 0 HEK *canon_name = HvENAME_HEK(our_stash);
1879210 0 HEK *canon_name = HvENAME_HEK(our_stash);
96 1879114 HEK *canon_name = HvENAME_HEK(our_stash);
0 1879114 HEK *canon_name = HvENAME_HEK(our_stash);
1879114 0 HEK *canon_name = HvENAME_HEK(our_stash);
69 0 1879210 if (!canon_name) canon_name = HvNAME_HEK(our_stash);
0 0 if (!canon_name) canon_name = HvNAME_HEK(our_stash);
0 0 if (!canon_name) canon_name = HvNAME_HEK(our_stash);
0 0 if (!canon_name) canon_name = HvNAME_HEK(our_stash);
71 1879109 101 if (hv_common(isa, NULL, HEK_KEY(canon_name), HEK_LEN(canon_name),
109 3751397 0 namepv = SvPV(namesv, namelen);
110 337 3751060 if (SvUTF8(namesv))
149 3 5530843 {
157 5399055 131791 if (SvROK(sv)) {
161 5399055 0 if (type && strEQ(type,name))
5317692 81363 if (type && strEQ(type,name))
163 5188217 129475 stash = SvOBJECT(sv) ? SvSTASH(sv) : NULL;
167 58272 73519 if (!stash)
171 5319991 129492 return stash ? isa_lookup(stash, name, len, flags) : FALSE;
1902615 3417376 return stash ? isa_lookup(stash, name, len, flags) : FALSE;
187 0 86 {
0 84 {
201 0 86 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
0 0 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
0 0 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
84 2 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
84 0 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
0 84 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
206 0 86 if (sv_isobject(sv)) {
212 2 84 if (sv_eq(classname, namesv)) {
217 0 84 PUSHMARK(SP);
231 82 0 does_it = SvTRUE( TOPs );
0 82 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 82 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
82 0 does_it = SvTRUE( TOPs );
82 0 does_it = SvTRUE( TOPs );
82 0 does_it = SvTRUE( TOPs );
3 79 does_it = SvTRUE( TOPs );
0 3 does_it = SvTRUE( TOPs );
3 79 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
0 0 does_it = SvTRUE( TOPs );
232 82 0 FREETMPS;
307 34 0 if (gv) {
310 34 0 if (HvNAME_get(stash))
34 0 if (HvNAME_get(stash))
0 34 if (HvNAME_get(stash))
0 0 if (HvNAME_get(stash))
34 0 if (HvNAME_get(stash))
0 34 if (HvNAME_get(stash))
34 0 if (HvNAME_get(stash))
311 34 0 Perl_croak_nocontext("Usage: %"HEKf"::%"HEKf"(%s)",
0 34 Perl_croak_nocontext("Usage: %"HEKf"::%"HEKf"(%s)",
312 34 0 HEKfARG(HvNAME_HEK(stash)),
329 0 3757879 if (items != 2)
331 3 3757876 else {
336 76 3757803 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
76 0 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
0 76 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
129144 3628659 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
122821 6323 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
83 122738 if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
339 2021383 1730014 ST(0) = boolSV(sv_derived_from_sv(sv, ST(1), 0));
345 2 37749902 {
353 0 37749904 if (items != 2)
363 0 37749904 if (!SvOK(sv) || (SvPOK(sv) && !SvCUR(sv)))
0 0 if (!SvOK(sv) || (SvPOK(sv) && !SvCUR(sv)))
0 0 if (!SvOK(sv) || (SvPOK(sv) && !SvCUR(sv)))
62914 37686990 if (!SvOK(sv) || (SvPOK(sv) && !SvCUR(sv)))
0 62914 if (!SvOK(sv) || (SvPOK(sv) && !SvCUR(sv)))
368 37686987 62917 if (SvROK(sv)) {
370 37686851 136 if (SvOBJECT(sv))
372 135 1 else if (isGV_with_GP(sv) && GvIO(sv))
135 0 else if (isGV_with_GP(sv) && GvIO(sv))
135 0 else if (isGV_with_GP(sv) && GvIO(sv))
135 0 else if (isGV_with_GP(sv) && GvIO(sv))
135 0 else if (isGV_with_GP(sv) && GvIO(sv))
135 0 else if (isGV_with_GP(sv) && GvIO(sv))
373 135 0 pkg = SvSTASH(GvIO(sv));
135 0 pkg = SvSTASH(GvIO(sv));
135 0 pkg = SvSTASH(GvIO(sv));
375 1 62916 else if (isGV_with_GP(sv) && GvIO(sv))
1 0 else if (isGV_with_GP(sv) && GvIO(sv))
1 0 else if (isGV_with_GP(sv) && GvIO(sv))
1 0 else if (isGV_with_GP(sv) && GvIO(sv))
1 0 else if (isGV_with_GP(sv) && GvIO(sv))
1 0 else if (isGV_with_GP(sv) && GvIO(sv))
376 1 0 pkg = SvSTASH(GvIO(sv));
1 0 pkg = SvSTASH(GvIO(sv));
1 0 pkg = SvSTASH(GvIO(sv));
377 140 62776 else if ((iogv = gv_fetchsv_nomg(sv, 0, SVt_PVIO)) && GvIO(iogv))
140 0 else if ((iogv = gv_fetchsv_nomg(sv, 0, SVt_PVIO)) && GvIO(iogv))
140 0 else if ((iogv = gv_fetchsv_nomg(sv, 0, SVt_PVIO)) && GvIO(iogv))
140 0 else if ((iogv = gv_fetchsv_nomg(sv, 0, SVt_PVIO)) && GvIO(iogv))
1 139 else if ((iogv = gv_fetchsv_nomg(sv, 0, SVt_PVIO)) && GvIO(iogv))
378 1 0 pkg = SvSTASH(GvIO(iogv));
1 0 pkg = SvSTASH(GvIO(iogv));
1 0 pkg = SvSTASH(GvIO(iogv));
381 121 62794 if (!pkg)
385 37749903 1 if (pkg) {
387 32025529 5724374 if (gv && isGV(gv))
32025529 0 if (gv && isGV(gv))
401 0 86 if (items != 2)
405 5 79 if (sv_does_sv( sv, ST(1), 0 ))
423 65 12925 if (SvROK(ST(0))) {
425 0 65 if (!SvOBJECT(sv))
433 12959 31 gvp = pkg ? (GV**)hv_fetchs(pkg, "VERSION", FALSE) : NULL;
435 12959 31 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
12959 0 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
12918 41 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
0 12918 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
0 0 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
0 0 if (gvp && isGV(gv = *gvp) && (sv = GvSV(gv)) && SvOK(sv)) {
439 60 12858 if ( !sv_isobject(sv) || !sv_derived_from(sv, "version"))
0 60 if ( !sv_isobject(sv) || !sv_derived_from(sv, "version"))
449 10592 2381 if (items > 1) {
452 31 10561 if (undef) {
453 20 11 if (pkg) {
454 20 0 const HEK * const name = HvNAME_HEK(pkg);
20 0 const HEK * const name = HvNAME_HEK(pkg);
0 20 const HEK * const name = HvNAME_HEK(pkg);
466 0 10561 if ( !sv_isobject(req) || !sv_derived_from(req, "version")) {
0 0 if ( !sv_isobject(req) || !sv_derived_from(req, "version")) {
471 102 10458 if ( vcmp( req, sv ) > 0 ) {
472 23 79 if ( hv_exists(MUTABLE_HV(SvRV(req)), "qv", 2 ) ) {
473 23 0 Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
0 23 Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
475 23 0 HEKfARG(HvNAME_HEK(pkg)),
479 79 0 Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
0 79 Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
481 79 0 HEKfARG(HvNAME_HEK(pkg)),
489 41 12798 if ( SvOK(sv) && sv_derived_from(sv, "version") ) {
41 0 if ( SvOK(sv) && sv_derived_from(sv, "version") ) {
0 41 if ( SvOK(sv) && sv_derived_from(sv, "version") ) {
12798 0 if ( SvOK(sv) && sv_derived_from(sv, "version") ) {
502 3 11630 if (items > 3 || items < 1)
511 20 11610 if ( sv_isobject(ST(0)) ) { /* get the class if called as an object method */
513 20 0 classname = HvNAME(stash);
20 0 classname = HvNAME(stash);
0 20 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
20 0 classname = HvNAME(stash);
0 20 classname = HvNAME(stash);
514 20 0 len = HvNAMELEN(stash);
20 0 len = HvNAMELEN(stash);
0 20 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
20 0 len = HvNAMELEN(stash);
0 20 len = HvNAMELEN(stash);
515 20 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
20 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 20 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
20 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 20 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 20 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
20 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
518 11610 0 classname = SvPV(ST(0), len);
522 11619 11 if ( items == 1 || ! SvOK(vs) ) { /* no param or explicit undef */
13 11606 if ( items == 1 || ! SvOK(vs) ) { /* no param or explicit undef */
13 0 if ( items == 1 || ! SvOK(vs) ) { /* no param or explicit undef */
13 0 if ( items == 1 || ! SvOK(vs) ) { /* no param or explicit undef */
527 20 11586 else if ( items == 3 ) {
529 20 0 Perl_sv_setpvf(aTHX_ vs,"v%s",SvPV_nolen_const(ST(2)));
533 0 11413 if ( strnNE(classname,"version", len) ) /* inherited new() */
0 0 if ( strnNE(classname,"version", len) ) /* inherited new() */
881 10532 if ( strnNE(classname,"version", len) ) /* inherited new() */
546 0 18861 if (items < 1)
552 18861 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
18861 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
569 0 126 if (items < 1)
575 126 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
126 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
592 0 152 if (items < 1)
598 152 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
152 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
615 0 45504 if (items < 1)
621 45504 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
45504 0 if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
631 45504 0 const IV swap = (IV)SvIV(ST(2));
633 823 44681 if ( !sv_isobject(robj) || !sv_derived_from(robj, "version") )
0 823 if ( !sv_isobject(robj) || !sv_derived_from(robj, "version") )
635 20 44661 robj = new_version(SvOK(robj) ? robj : newSVpvs_flags("0", SVs_TEMP));
20 0 robj = new_version(SvOK(robj) ? robj : newSVpvs_flags("0", SVs_TEMP));
20 0 robj = new_version(SvOK(robj) ? robj : newSVpvs_flags("0", SVs_TEMP));
640 52 45442 if ( swap )
661 0 6105 if (items < 1)
664 6105 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
6105 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
685 0 79 if (items < 1)
687 79 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version"))
79 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version"))
700 0 334 if (items != 1)
703 334 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
334 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
705 23 311 if ( hv_exists(MUTABLE_HV(SvRV(lobj)), "alpha", 5 ) )
728 51 6 if ( items == 2 && SvOK(ST(1)) ) {
0 51 if ( items == 2 && SvOK(ST(1)) ) {
0 0 if ( items == 2 && SvOK(ST(1)) ) {
0 0 if ( items == 2 && SvOK(ST(1)) ) {
730 0 51 if ( sv_isobject(ST(0)) ) { /* class called as an object method */
732 0 0 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
0 0 classname = HvNAME(stash);
733 0 0 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
0 0 len = HvNAMELEN(stash);
734 0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
0 0 flags = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
737 51 0 classname = SvPV(ST(0), len);
741 8 49 if ( !SvVOK(ver) ) { /* not already a v-string */
0 8 if ( !SvVOK(ver) ) { /* not already a v-string */
748 51 6 if ( items == 2
749 0 51 && strnNE(classname,"version", len) ) { /* inherited new() */
0 0 && strnNE(classname,"version", len) ) { /* inherited new() */
27 24 && strnNE(classname,"version", len) ) { /* inherited new() */
762 0 9804 if (items != 1)
765 9804 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
9804 0 if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
767 151 9653 if ( hv_exists(MUTABLE_HV(SvRV(lobj)), "qv", 2 ) )
782 0 1673 if (items != 1)
784 4 1669 else {
787 442 1231 if (SvUTF8(sv))
799 0 146 if (items != 1)
804 146 0 const char * const s = SvPV_const(sv,len);
805 132 14 if (!SvUTF8(sv) || is_utf8_string((const U8*)s,len))
132 0 if (!SvUTF8(sv) || is_utf8_string((const U8*)s,len))
817 0 465750 if (items != 1)
820 1106 464643 SvSETMAGIC(ST(0));
828 0 2466 if (items != 1)
833 336 2130 SvPV_force_nolen(sv);
835 13 2452 SvSETMAGIC(sv);
836 5 2460 ST(0) = boolSV(RETVAL);
845 0 446075 if (items != 1)
850 446075 0 dXSTARG;
853 0 446075 XSprePUSH; PUSHi((IV)RETVAL);
862 0 168421 if (items < 1 || items > 2)
866 165118 3303 const bool failok = (items < 2) ? 0 : (int)SvIV(ST(1));
165118 0 const bool failok = (items < 2) ? 0 : (int)SvIV(ST(1));
869 325 168094 ST(0) = boolSV(RETVAL);
878 0 6461 const UV uv = SvUV(ST(0));
880 0 6461 if (items > 1)
891 0 290708 const UV uv = SvUV(ST(0));
893 0 290708 if (items > 1)
909 4 158963 if (!SvROK(svz))
914 17 158946 if (items == 1) {
915 11 6 if (SvREADONLY(sv))
920 158946 0 else if (items == 2) {
921 158946 0 if (SvTRUE(ST(1))) {
0 158946 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 158946 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 158946 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
158946 0 if (SvTRUE(ST(1))) {
158946 0 if (SvTRUE(ST(1))) {
73 158873 if (SvTRUE(ST(1))) {
0 73 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
158873 73 if (SvTRUE(ST(1))) {
0 0 if (SvTRUE(ST(1))) {
926 256 158617 if (SvTYPE(sv) == SVt_PVAV && AvFILLp(sv) != -1) {
256 0 if (SvTYPE(sv) == SVt_PVAV && AvFILLp(sv) != -1) {
930 1056 256 for (svp = AvARRAY(sv) + AvFILLp(sv)
933 1056 0 if (*svp) SvPADTMP_on(*svp);
955 39 1 if ((items != 1 && items != 2) || !SvROK(svz))
3 36 if ((items != 1 && items != 2) || !SvROK(svz))
964 0 4 (SvREFCNT(sv) = SvUV(ST(1)) + 1)
965 4 32 : SvREFCNT(sv);
975 118 1 if (items != 1 || !SvROK(ST(0)))
3 115 if (items != 1 || !SvROK(ST(0)))
988 3054 0 if (items < 1 || items % 2 == 0)
0 3054 if (items < 1 || items % 2 == 0)
998 10 3044 if (items > 1) {
1000 18 10 for (svp = MARK + 2; svp <= SP; svp += 2) {
1004 18 0 const char * const key = SvPV_const(*varp, klen);
1008 1 0 if (klen == 5 && memEQ(key, "input", 5)) {
1 0 if (klen == 5 && memEQ(key, "input", 5)) {
1009 1 0 input = SvTRUE(*valp);
0 1 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 1 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 1 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
1 0 input = SvTRUE(*valp);
1 0 input = SvTRUE(*valp);
0 1 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
1 0 input = SvTRUE(*valp);
0 0 input = SvTRUE(*valp);
1014 9 0 if (klen == 6 && memEQ(key, "output", 6)) {
9 0 if (klen == 6 && memEQ(key, "output", 6)) {
1015 9 0 input = !SvTRUE(*valp);
0 9 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 9 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 9 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
9 0 input = !SvTRUE(*valp);
9 0 input = !SvTRUE(*valp);
0 9 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
0 9 input = !SvTRUE(*valp);
0 0 input = !SvTRUE(*valp);
1020 8 0 if (klen == 7 && memEQ(key, "details", 7)) {
8 0 if (klen == 7 && memEQ(key, "details", 7)) {
1021 8 0 details = SvTRUE(*valp);
0 8 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 8 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 8 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
8 0 details = SvTRUE(*valp);
8 0 details = SvTRUE(*valp);
0 8 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
8 0 details = SvTRUE(*valp);
0 0 details = SvTRUE(*valp);
1037 3 3051 gv = MAYBE_DEREF_GV(sv);
6 3048 gv = MAYBE_DEREF_GV(sv);
0 6 gv = MAYBE_DEREF_GV(sv);
3030 18 gv = MAYBE_DEREF_GV(sv);
3030 0 gv = MAYBE_DEREF_GV(sv);
1 3029 gv = MAYBE_DEREF_GV(sv);
3029 1 gv = MAYBE_DEREF_GV(sv);
0 3029 gv = MAYBE_DEREF_GV(sv);
3029 1 gv = MAYBE_DEREF_GV(sv);
1039 19 3035 if (!gv && !SvROK(sv))
18 1 if (!gv && !SvROK(sv))
1042 3050 4 if (gv && (io = GvIO(gv))) {
3050 0 if (gv && (io = GvIO(gv))) {
3050 0 if (gv && (io = GvIO(gv))) {
3050 0 if (gv && (io = GvIO(gv))) {
3050 0 if (gv && (io = GvIO(gv))) {
1043 3041 9 AV* const av = PerlIO_get_layers(aTHX_ input ?
1049 0 6133 for (i = last; i >= 0; i -= 3) {
6133 3050 for (i = last; i >= 0; i -= 3) {
1054 6133 0 const bool namok = namsvp && *namsvp && SvPOK(*namsvp);
6133 0 const bool namok = namsvp && *namsvp && SvPOK(*namsvp);
0 6133 const bool namok = namsvp && *namsvp && SvPOK(*namsvp);
1055 6133 0 const bool argok = argsvp && *argsvp && SvPOK(*argsvp);
6133 0 const bool argok = argsvp && *argsvp && SvPOK(*argsvp);
6112 21 const bool argok = argsvp && *argsvp && SvPOK(*argsvp);
1056 6133 0 const bool flgok = flgsvp && *flgsvp && SvIOK(*flgsvp);
6133 0 const bool flgok = flgsvp && *flgsvp && SvIOK(*flgsvp);
0 6133 const bool flgok = flgsvp && *flgsvp && SvIOK(*flgsvp);
1059 20 6113 if (details) {
1064 20 0 PUSHs(namok
1067 4 16 PUSHs(argok
1073 20 0 PUSHs(flgok
1079 6113 0 if (namok && argok)
17 6096 if (namok && argok)
1083 6096 0 else if (namok)
1088 6113 0 if (flgok) {
1091 26 6087 if (flags & PERLIO_F_UTF8) {
1116 0 10043 if (items != 1)
1119 7394 2649 if (SvRXOK(ST(0))) {
1128 2 0 REGEXP *rx = PL_curpm ? PM_GETRE(PL_curpm) : NULL;
1133 0 2 if (items != 0)
1139 0 2 if (!rx)
1145 2 0 PUSHs(ret ? sv_2mortal(ret) : &PL_sv_undef);
1157 0 2 if (items < 1 || items > 2)
1163 2 0 rx = PL_curpm ? PM_GETRE(PL_curpm) : NULL;
1165 0 2 if (!rx)
1168 2 0 if (items == 2 && SvTRUE(ST(1))) {
2 0 if (items == 2 && SvTRUE(ST(1))) {
0 2 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 2 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 2 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
2 0 if (items == 2 && SvTRUE(ST(1))) {
2 0 if (items == 2 && SvTRUE(ST(1))) {
0 2 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
2 0 if (items == 2 && SvTRUE(ST(1))) {
0 0 if (items == 2 && SvTRUE(ST(1))) {
1176 2 0 PUSHs(ret ? sv_2mortal(ret) : &PL_sv_undef);
1182 0 4 {
1193 0 4 if (items > 1)
1196 4 0 rx = PL_curpm ? PM_GETRE(PL_curpm) : NULL;
1198 0 4 if (!rx)
1201 2 2 if (items == 1 && SvTRUE(ST(0))) {
2 0 if (items == 1 && SvTRUE(ST(0))) {
0 2 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 2 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 2 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
2 0 if (items == 1 && SvTRUE(ST(0))) {
2 0 if (items == 1 && SvTRUE(ST(0))) {
1 1 if (items == 1 && SvTRUE(ST(0))) {
0 1 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
1 1 if (items == 1 && SvTRUE(ST(0))) {
0 0 if (items == 1 && SvTRUE(ST(0))) {
1214 0 4 if (!ret)
1221 9 4 for (i = 0; i <= length; i++) {
1224 0 9 if (!entry)
1237 0 13 {
1244 0 13 if (items != 1)
1258 12 1 if ((re = SvRX(ST(0)))) /* assign deliberate */
1263 12 0 if ( GIMME_V == G_ARRAY ) {
9 3 if ( GIMME_V == G_ARRAY ) {
1276 8 1 if (get_regex_charset(RX_EXTFLAGS(re)) != REGEX_DEPENDS_CHARSET) {
1287 45 9 while((ch = *fptr++)) {
1288 8 37 if(match_flags & 1) {
1315 1 0 if ( GIMME_V == G_ARRAY ) {
0 1 if ( GIMME_V == G_ARRAY ) {
1405 590112 12294 } while (++xsub < end);