Branch Coverage

sv.c
Criterion Covered Total %
branch 3563 4770 74.7


line true false branch
385 363222048 2162036 while (sv < svend) {
414 8647825 49404 for (sva = PL_sv_arenaroot; sva; sva = MUTABLE_SV(SvANY(sva))) {
417 1461482117 8647823 for (sv = sva + 1; sv < svend; ++sv) {
418 992812334 468669783 if (SvTYPE(sv) != (svtype)SVTYPEMASK
419 48384594 944427740 && (sv->sv_flags & mask) == flags
420 48384592 2 && SvREFCNT(sv))
471 990180 18904056 if (SvOBJECT(target)) {
473 1 990179 if (SvWEAKREF(ref)) {
497 14230043 0 if (!GvGP(sv))
504 2781842 11448201 if ( ((obj = GvSV(sv) )) && SvOBJECT(obj)) {
165 2781677 if ( ((obj = GvSV(sv) )) && SvOBJECT(obj)) {
510 555665 13674378 if ( ((obj = MUTABLE_SV(GvAV(sv)) )) && SvOBJECT(obj)) {
2 555663 if ( ((obj = MUTABLE_SV(GvAV(sv)) )) && SvOBJECT(obj)) {
516 1075094 13154949 if ( ((obj = MUTABLE_SV(GvHV(sv)) )) && SvOBJECT(obj)) {
32 1075062 if ( ((obj = MUTABLE_SV(GvHV(sv)) )) && SvOBJECT(obj)) {
522 8961339 5268704 if ( ((obj = MUTABLE_SV(GvCV(sv)) )) && SvOBJECT(obj)) {
4 8961335 if ( ((obj = MUTABLE_SV(GvCV(sv)) )) && SvOBJECT(obj)) {
541 14257778 0 if (!GvGP(sv) || sv == (SV*)PL_stderrgv || sv == (SV*)PL_defoutgv)
14245486 12292 if (!GvGP(sv) || sv == (SV*)PL_stderrgv || sv == (SV*)PL_defoutgv)
14233196 12290 if (!GvGP(sv) || sv == (SV*)PL_stderrgv || sv == (SV*)PL_defoutgv)
545 14233196 0 if ( ((obj = MUTABLE_SV(GvIO(sv)) )) && SvOBJECT(obj)) {
14233196 0 if ( ((obj = MUTABLE_SV(GvIO(sv)) )) && SvOBJECT(obj)) {
14233196 0 if ( ((obj = MUTABLE_SV(GvIO(sv)) )) && SvOBJECT(obj)) {
138889 14094307 if ( ((obj = MUTABLE_SV(GvIO(sv)) )) && SvOBJECT(obj)) {
138889 0 if ( ((obj = MUTABLE_SV(GvIO(sv)) )) && SvOBJECT(obj)) {
557 27115 2 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
27115 0 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
27115 0 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
27115 0 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
27115 0 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
14833 12282 if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
558 14835 0 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
14835 0 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
14835 0 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
14835 0 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
14835 0 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
4874 9961 || (PL_defoutgv && GvGP(PL_defoutgv) && (SV*)GvIO(PL_defoutgv) == sv))
588 12292 59 if (olddef && isGV_with_GP(olddef))
12292 0 if (olddef && isGV_with_GP(olddef))
12292 0 if (olddef && isGV_with_GP(olddef))
592 12290 61 if (olderr && isGV_with_GP(olderr))
12290 0 if (olderr && isGV_with_GP(olderr))
12290 0 if (olderr && isGV_with_GP(olderr))
604 0 0 if (sv == (const SV *) PL_fdpid || sv == (const SV *)PL_strtab) {
0 0 if (sv == (const SV *) PL_fdpid || sv == (const SV *)PL_strtab) {
689 0 0 for (sva = PL_sv_arenaroot; sva; sva = svanext) {
691 0 0 while (svanext && SvFAKE(svanext))
0 0 while (svanext && SvFAKE(svanext))
694 0 0 if (!SvFAKE(sva))
701 0 0 while (aroot) {
704 0 0 while (i--) {
715 0 0 while (i--)
1035 2331611 12353 if (!aroot || aroot->curr >= aroot->set_size) {
10593 2321018 if (!aroot || aroot->curr >= aroot->set_size) {
1083 2343964 297485358 if (next >= end) {
1117 17955858 21606 new_body_inline(xpv, sv_type);
1153 2131735116 1237510 if (old_type == new_type)
1165 217275104 1914460012 if (new_type > SVt_PVMG && SvIsCOW(sv)) {
0 217275104 if (new_type > SVt_PVMG && SvIsCOW(sv)) {
1213 21299 85295442 if (SvROK(sv)) {
1216 0 21299 if (new_type == SVt_NV)
1219 1164048 84131394 if (new_type < SVt_PVIV) {
1220 164048 1000000 new_type = (new_type == SVt_NV)
1226 777452 385469 if (new_type < SVt_PVNV) {
1250 0 0 if (UNLIKELY(old_type_details->cant_upgrade))
1255 0 2131735116 if (UNLIKELY(old_type > new_type))
1286 151164456 466074 new_body_inline(new_body, new_type);
1295 93697497 57933033 if (new_type == SVt_PVAV) {
1299 0 93697497 if (old_type_details->body_size) {
1308 0 57933033 SvOK_off(sv);
1326 608404 151022126 if (old_type >= SVt_PVMG) {
1353 1022306667 316 if(new_type_details->arena) {
1355 1020977059 1329608 new_body_inline(new_body, new_type);
1363 110072095 912234888 if (old_type_details->copy) {
1369 0 110072095 if (new_type_details->offset > old_type_details->offset) {
1392 2552167 1019754816 if (UNLIKELY(new_type == SVt_PVIO)) {
1405 12376333 1009930650 if (UNLIKELY(new_type == SVt_REGEXP))
1407 986316931 23613719 else if (old_type < SVt_PV) {
1418 25385057 1148552456 if (old_type > SVt_IV) {
1454 38663 0 SvOOK_offset(sv, delta);
5747 32916 SvOOK_offset(sv, delta);
1489 0 528858734 if (SvROK(sv))
1491 12353 528846381 if (SvTYPE(sv) < SVt_PV) {
1495 7281 528839100 else if (SvOOK(sv)) { /* pv is offset? */
1498 3172 4109 if (newlen > SvLEN(sv))
1507 4708166 524130934 if (SvIsCOW(sv)) S_sv_uncow(aTHX_ sv, 0);
1519 528802415 56319 if (newlen & 0xff)
1523 524289866 4568868 if (newlen > SvLEN(sv)) { /* need more room? */
1526 275019882 249269984 if (newlen < minlen)
1529 0 524289866 newlen = PERL_STRLEN_ROUNDUP(newlen);
1531 18946435 505343431 if (SvLEN(sv) && s) {
1536 36 505343395 if (SvPVX_const(sv) && SvCUR(sv)) {
36 0 if (SvPVX_const(sv) && SvCUR(sv)) {
1569 34058 897502803 SV_CHECK_THINKFIRST_COW_DROP(sv);
1580 1 0 if (!isGV_with_GP(sv))
1 0 if (!isGV_with_GP(sv))
1588 0 1 Perl_croak(aTHX_ "Can't coerce %s to integer in %s", sv_reftype(sv,0),
1589 0 0 OP_DESC(PL_op));
1592 0 897536859 (void)SvIOK_only(sv); /* validate number */
1594 3084914 894451945 SvTAINT(sv);
13 3084901 SvTAINT(sv);
13 0 SvTAINT(sv);
1611 53 1 SvSETMAGIC(sv);
1639 125111975 517942 if (u <= (UV)IV_MAX) {
1662 3 2 SvSETMAGIC(sv);
1681 111309 52914138 SV_CHECK_THINKFIRST_COW_DROP(sv);
1693 1 0 if (!isGV_with_GP(sv))
1 0 if (!isGV_with_GP(sv))
1701 0 1 Perl_croak(aTHX_ "Can't coerce %s to number in %s", sv_reftype(sv,0),
1702 0 0 OP_DESC(PL_op));
1706 0 53025446 (void)SvNOK_only(sv); /* validate number */
1707 27678 52997768 SvTAINT(sv);
0 27678 SvTAINT(sv);
0 0 SvTAINT(sv);
1724 1 768489 SvSETMAGIC(sv);
1739 9 37 if (DO_UTF8(sv)) {
9 0 if (DO_UTF8(sv)) {
1750 224 37 for ( ; s < end && d < limit; s++ ) {
1752 0 224 if (! isASCII(ch) && !isPRINT_LC(ch)) {
0 0 if (! isASCII(ch) && !isPRINT_LC(ch)) {
1759 0 224 if (ch == '\n') {
1763 0 224 else if (ch == '\r') {
1767 0 224 else if (ch == '\f') {
1771 0 224 else if (ch == '\\') {
1775 11 213 else if (ch == '\0') {
1779 213 0 else if (isPRINT_LC(ch))
1783 0 0 *d++ = toCTRL(ch);
1786 0 37 if (s < end) {
1813 44 0 if (PL_op)
1814 0 44 Perl_warner(aTHX_ packWARN(WARN_NUMERIC),
1817 0 0 OP_DESC(PL_op));
1857 1759 34 if (SvPOK(sv) || SvPOKp(sv)) {
1858 1745 14 sbegin = SvPV_nomg_const(sv, len);
1872 14 11 if (ckWARN(WARN_NUMERIC))
1979 8559 2929 if (SvNVX(sv) < (NV)IV_MIN) {
1985 2872 57 if (SvNVX(sv) > (NV)UV_MAX) {
1996 0 57 if (SvNVX(sv) <= (UV)IV_MAX) {
1998 0 0 if ((NV)(SvIVX(sv)) == SvNVX(sv)) {
2007 57 0 if ((NV)(SvUVX(sv)) == SvNVX(sv)) {
2008 0 57 if (SvUVX(sv) == UV_MAX) {
2029 8174908 5872702 if (SvNOKp(sv)) {
2036 362437 7812471 if (SvTYPE(sv) == SVt_NV)
2051 8167589 7319 if (SvNVX(sv) < (NV)IV_MAX + 0.5) {
2053 3210755 4956834 if (SvNVX(sv) == (NV) SvIVX(sv)
2055 3209655 1100 && (((UV)1 << NV_PRESERVES_UV_BITS) >
2062 3209651 4 if (SvNOK(sv))
2095 580 6739 if (
2100 0 580 && (((UV)1 << NV_PRESERVES_UV_BITS) > SvUVX(sv))
2105 0 0 && SvNOK(sv)
2116 1713162 4159540 else if (SvPOKp(sv)) {
2132 1675850 37312 if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
2135 407666 1268184 if (SvTYPE(sv) < SVt_PVIV)
2138 19620 17692 } else if (SvTYPE(sv) < SVt_PVNV)
2145 1697228 15934 if ((numtype & (IS_NUMBER_IN_UV
2153 1682371 14857 if (!(numtype & IS_NUMBER_NEG)) {
2155 1673325 9046 if (value <= (UV)IV_MAX) {
2164 14857 0 if (value <= (UV)IV_MIN) {
2169 0 0 if (SvTYPE(sv) < SVt_PVNV)
2183 37312 1675850 if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
2188 3366 33946 if (! numtype && ckWARN(WARN_NUMERIC))
27 3339 if (! numtype && ckWARN(WARN_NUMERIC))
2228 21378 15928 if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
2236 4440 11488 if (((UV)1 << NV_PRESERVES_UV_BITS) >
2237 3781 12147 U_V(SvNVX(sv) > 0 ? SvNVX(sv) : -SvNVX(sv))) {
2242 4187 253 if ((NV)(SvIVX(sv)) == SvNVX(sv))
2246 852 3588 if (!(U_V(SvNVX(sv) > 0 ? SvNVX(sv) : -SvNVX(sv))
0 4440 if (!(U_V(SvNVX(sv) > 0 ? SvNVX(sv) : -SvNVX(sv))
2271 3360 33946 if (!numtype)
2276 9 4159531 if (isGV_with_GP(sv))
9 0 if (isGV_with_GP(sv))
2279 1206 4158325 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
137 1069 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
2281 158 4159373 if (SvTYPE(sv) < SVt_IV)
2305 13887908 0 if (!sv)
2311 22160 13865748 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
11844 10316 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
2314 35141 13852767 if (SvROK(sv)) {
2315 35141 0 if (SvAMAGIC(sv)) {
249 34892 if (SvAMAGIC(sv)) {
249 0 if (SvAMAGIC(sv)) {
2317 249 0 if (flags & SV_SKIP_OVERLOAD)
2320 249 0 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 249 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 0 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
2321 239 10 return SvIV(tmpstr);
2327 13852767 0 if (SvVALID(sv) || isREGEXP(sv)) {
13852766 1 if (SvVALID(sv) || isREGEXP(sv)) {
0 13852766 if (SvVALID(sv) || isREGEXP(sv)) {
2340 0 1 isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
0 0 isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
2344 0 1 if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
2347 0 0 if (numtype & IS_NUMBER_NEG) {
2348 0 0 if (value < (UV)IV_MIN)
2351 0 0 if (value < (UV)IV_MAX)
2355 1 0 if (!numtype) {
2356 0 1 if (ckWARN(WARN_NUMERIC))
2363 1053368 12799398 if (SvTHINKFIRST(sv)) {
2369 167409 885959 if (SvREADONLY(sv) && !SvOK(sv)) {
37 167372 if (SvREADONLY(sv) && !SvOK(sv)) {
37 0 if (SvREADONLY(sv) && !SvOK(sv)) {
37 0 if (SvREADONLY(sv) && !SvOK(sv)) {
2370 16 21 if (ckWARN(WARN_UNINITIALIZED))
2376 13840480 12249 if (!SvIOKp(sv)) {
2377 9681936 4158539 if (S_sv_2iuv_common(aTHX_ sv))
2383 15018 9679167 return SvIsUV(sv) ? (IV)SvUVX(sv) : SvIVX(sv);
2401 14390025 0 if (!sv)
2404 16 14390009 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
6 10 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
2407 6249032 8140993 if (SvROK(sv)) {
2408 6249032 0 if (SvAMAGIC(sv)) {
6247794 1238 if (SvAMAGIC(sv)) {
6247787 7 if (SvAMAGIC(sv)) {
2410 6247787 0 if (flags & SV_SKIP_OVERLOAD)
2413 3 6247784 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 3 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 0 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
2414 0 3 return SvUV(tmpstr);
2420 8140993 0 if (SvVALID(sv) || isREGEXP(sv)) {
8140992 1 if (SvVALID(sv) || isREGEXP(sv)) {
0 8140992 if (SvVALID(sv) || isREGEXP(sv)) {
2428 0 1 isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
0 0 isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
2432 0 1 if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
2435 0 0 if (!(numtype & IS_NUMBER_NEG))
2438 1 0 if (!numtype) {
2439 0 1 if (ckWARN(WARN_NUMERIC))
2446 1507128 6633864 if (SvTHINKFIRST(sv)) {
2452 1254969 252159 if (SvREADONLY(sv) && !SvOK(sv)) {
6 1254963 if (SvREADONLY(sv) && !SvOK(sv)) {
6 0 if (SvREADONLY(sv) && !SvOK(sv)) {
6 0 if (SvREADONLY(sv) && !SvOK(sv)) {
2453 4 2 if (ckWARN(WARN_UNINITIALIZED))
2459 207130 7933856 if (!SvIOKp(sv)) {
2460 206128 1001 if (S_sv_2iuv_common(aTHX_ sv))
2466 4522 8135462 return SvIsUV(sv) ? SvUVX(sv) : (UV)SvIVX(sv);
2483 4562105 0 if (!sv)
2487 4561761 344 if (SvGMAGICAL(sv) || SvVALID(sv) || isREGEXP(sv)) {
4561757 4 if (SvGMAGICAL(sv) || SvVALID(sv) || isREGEXP(sv)) {
0 4561757 if (SvGMAGICAL(sv) || SvVALID(sv) || isREGEXP(sv)) {
2492 230 118 if (flags & SV_GMAGIC)
2494 4 344 if (SvNOKp(sv))
2496 16 328 if (SvPOKp(sv) && !SvIOKp(sv)) {
2499 21 0 if (!SvIOKp(sv) && ckWARN(WARN_NUMERIC) &&
2504 301 27 if (SvIOKp(sv)) {
2505 0 301 if (SvIsUV(sv))
2510 27 0 if (SvROK(sv)) {
2513 22 5 if (isREGEXP(sv)) {
0 22 if (isREGEXP(sv)) {
2520 465411 4096346 } else if (SvTHINKFIRST(sv)) {
2521 26 465385 if (SvROK(sv)) {
2523 26 0 if (SvAMAGIC(sv)) {
26 0 if (SvAMAGIC(sv)) {
26 0 if (SvAMAGIC(sv)) {
2525 26 0 if (flags & SV_SKIP_OVERLOAD)
2528 22 4 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 22 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 0 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
2529 2 20 return SvNV(tmpstr);
2539 282933 182452 if (SvREADONLY(sv) && !SvOK(sv)) {
202883 80050 if (SvREADONLY(sv) && !SvOK(sv)) {
202883 0 if (SvREADONLY(sv) && !SvOK(sv)) {
202883 0 if (SvREADONLY(sv) && !SvOK(sv)) {
2540 87 202796 if (ckWARN(WARN_UNINITIALIZED))
2545 968402 3390468 if (SvTYPE(sv) < SVt_NV) {
2565 1536253 1854215 else if (SvTYPE(sv) < SVt_PVNV)
2567 11907 4346963 if (SvNOKp(sv)) {
2570 4158573 188390 if (SvIOKp(sv)) {
2571 3408 4155165 SvNV_set(sv, SvIsUV(sv) ? (NV)SvUVX(sv) : (NV)SvIVX(sv));
2580 4158573 0 if (SvIOK(sv) &&
3408 4155165 if (SvIOK(sv) &&
2567 841 if (SvIOK(sv) &&
4153194 5379 if (SvIOK(sv) &&
2581 1481 1086 SvIsUV(sv) ? ((SvUVX(sv) != UV_MAX)&&(SvUVX(sv) == U_V(SvNVX(sv))))
2588 186292 2098 else if (SvPOKp(sv)) {
2591 829 185463 if (!SvIOKp(sv) && !numtype && ckWARN(WARN_NUMERIC))
1 828 if (!SvIOKp(sv) && !numtype && ckWARN(WARN_NUMERIC))
2612 185029 1262 if (((UV)1 << NV_PRESERVES_UV_BITS) >
2613 184403 1888 U_V(SvNVX(sv) > 0 ? SvNVX(sv) : -SvNVX(sv))) {
2615 359 903 } else if (!(numtype & IS_NUMBER_IN_UV)) {
2621 297 606 if ((numtype & IS_NUMBER_NEG) && (value > (UV)IV_MIN)) {
0 297 if ((numtype & IS_NUMBER_NEG) && (value > (UV)IV_MIN)) {
2628 297 606 if (numtype & IS_NUMBER_NEG) {
2630 231 375 } else if (value <= (UV)IV_MAX) {
2637 903 0 if (numtype & IS_NUMBER_NOT_INT) {
2645 521 382 if (SvNVX(sv) < (NV)IV_MAX + 0.5) {
2646 123 398 if (SvIVX(sv) == I_V(nv)) {
2656 382 0 if (numtype & IS_NUMBER_NOT_INT) {
2661 220 162 if (value == nv_as_uv && SvUVX(sv) != UV_MAX) {
123 97 if (value == nv_as_uv && SvUVX(sv) != UV_MAX) {
2674 828 185463 if (!numtype)
2679 16 2082 if (isGV_with_GP(sv)) {
16 0 if (isGV_with_GP(sv)) {
2684 2082 0 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
153 1929 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
2725 2333887 925 if (!SvROK(sv))
2727 2333887 0 if (SvAMAGIC(sv)) {
306715 2027172 if (SvAMAGIC(sv)) {
281718 24997 if (SvAMAGIC(sv)) {
2729 925 280793 TAINT_IF(tmpsv && SvTAINTED(tmpsv));
0 925 TAINT_IF(tmpsv && SvTAINTED(tmpsv));
0 0 TAINT_IF(tmpsv && SvTAINTED(tmpsv));
0 925 TAINT_IF(tmpsv && SvTAINTED(tmpsv));
2730 925 280793 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
925 0 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
0 0 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
2752 95155956 8846 if (is_uv)
2754 0 0 else if (iv >= 0) {
95106224 49732 else if (iv >= 0) {
2763 0 0 } while (uv /= 10);
619840502 95164802 } while (uv /= 10);
2764 0 0 if (sign)
49732 95115070 if (sign)
2787 0 112001065 if (!sv) {
2788 0 0 if (lp)
2794 14038811 97962254 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
7043714 6995097 if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
2796 2095640 109905422 if (SvROK(sv)) {
2797 2095640 0 if (SvAMAGIC(sv)) {
1552831 542809 if (SvAMAGIC(sv)) {
1004374 548457 if (SvAMAGIC(sv)) {
2799 1004258 116 if (flags & SV_SKIP_OVERLOAD)
2802 34136 970122 TAINT_IF(tmpstr && SvTAINTED(tmpstr));
0 34136 TAINT_IF(tmpstr && SvTAINTED(tmpstr));
0 0 TAINT_IF(tmpstr && SvTAINTED(tmpstr));
0 34136 TAINT_IF(tmpstr && SvTAINTED(tmpstr));
2803 34136 970122 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
2 34134 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
0 2 if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
2809 32676 1458 if ((SvFLAGS(tmpstr) & (SVf_POK)) == SVf_POK) {
2810 30924 1752 if (flags & SV_CONST_RETURN) {
2816 32656 20 if (lp)
2821 167 33967 if (SvUTF8(tmpstr))
2834 0 2061390 if (!referent) {
2837 206592 1854798 } else if (SvTYPE(referent) == SVt_REGEXP &&
14 206578 } else if (SvTYPE(referent) == SVt_REGEXP &&
2838 3 11 (!(PL_curcop->cop_hints & HINT_NO_AMAGIC) ||
2846 20 206561 if (RX_UTF8(re))
2851 206581 0 if (lp)
2863 1312001 542808 if (SvOBJECT(referent)) {
2864 1312001 0 const HEK *const name = HvNAME_HEK(SvSTASH(referent));
1312001 0 const HEK *const name = HvNAME_HEK(SvSTASH(referent));
6 1311995 const HEK *const name = HvNAME_HEK(SvSTASH(referent));
2866 1311999 2 if (name) {
2870 87 1311912 if (HEK_UTF8(name)) {
2894 11125885 1854809 } while (addr >>= 4);
2902 1312001 542808 if (stashname) {
2913 1841600 13209 if (lp)
2920 13845251 96060171 if (SvPOKp(sv)) {
2921 13844526 725 if (lp)
2923 325 13844926 if (flags & SV_MUTABLE_RETURN)
2925 13832245 12681 if (flags & SV_CONST_RETURN)
2930 95164802 895369 if (SvIOK(sv)) {
2938 81272451 13892351 if (SvTYPE(sv) < SVt_PVIV)
2943 90137227 5027575 s = SvGROW_mutable(sv, len + 1);
2949 63030 832339 else if (SvNOK(sv)) {
2950 7885 55145 if (SvTYPE(sv) < SVt_PVNV)
2952 2021 61009 if (SvNVX(sv) == 0.0) {
2953 1373 648 s = SvGROW_mutable(sv, 2);
2959 26457 34552 s = SvGROW_mutable(sv, NV_DIG + 20);
2972 2 61007 if (PL_numeric_standard || IN_SOME_LOCALE_FORM_RUNTIME) {
0 2 if (PL_numeric_standard || IN_SOME_LOCALE_FORM_RUNTIME) {
2977 0 61007 if (! PL_numeric_standard
2978 0 0 && PL_numeric_radix_sv && SvUTF8(PL_numeric_radix_sv)
0 0 && PL_numeric_radix_sv && SvUTF8(PL_numeric_radix_sv)
2979 0 0 && instr(s, SvPVX_const(PL_numeric_radix_sv)))
2999 699784 61009 while (*s) s++;
3006 833 831506 else if (isGV_with_GP(sv)) {
833 0 else if (isGV_with_GP(sv)) {
3013 67 766 if (SvUTF8(buffer))
3015 823 10 if (lp)
3019 34941 796565 else if (isREGEXP(sv)) {
1 34940 else if (isREGEXP(sv)) {
3020 796566 0 if (lp) *lp = RX_WRAPLEN((REGEXP *)sv);
3024 34906 34 if (lp)
3026 34928 12 if (flags & SV_UNDEF_RETURNS_NULL)
3028 34863 65 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
1132 33731 if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
3031 11764 23145 if (!SvREADONLY(sv) && SvTYPE(sv) < SVt_PV)
1226 10538 if (!SvREADONLY(sv) && SvTYPE(sv) < SVt_PV)
3038 95226713 1119 if (lp)
3044 95083113 144719 if (flags & SV_CONST_RETURN)
3046 4 144715 if (flags & SV_MUTABLE_RETURN)
3090 3385953 109926 if ((flags & SV_GMAGIC) && SvGMAGICAL(ssv))
20250 3365703 if ((flags & SV_GMAGIC) && SvGMAGICAL(ssv))
3092 3367552 128326 s = SvPV_nomg_const(ssv,len);
3094 180931 3314947 if (SvUTF8(ssv))
3114 7 883 {
3118 6 884 if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
0 6 if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
3119 2 882 || isGV_with_GP(sv) || SvROK(sv)) {
0 2 || isGV_with_GP(sv) || SvROK(sv)) {
3 879 || isGV_with_GP(sv) || SvROK(sv)) {
3125 873 13 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
3 870 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
10 3 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
3144 2 194 if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
0 2 if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
3 189 if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
3145 1 193 || isGV_with_GP(sv) || SvROK(sv))
0 1 || isGV_with_GP(sv) || SvROK(sv))
1 192 || isGV_with_GP(sv) || SvROK(sv))
3150 190 6 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
189 1 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
4 2 return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
3178 1529195 57160406 if(flags & SV_GMAGIC) SvGETMAGIC(sv);
1529195 0 if(flags & SV_GMAGIC) SvGETMAGIC(sv);
3180 219989 58469612 if (!SvOK(sv))
219988 1 if (!SvOK(sv))
0 219988 if (!SvOK(sv))
3182 57073620 1395993 if (SvROK(sv)) {
3183 57073620 0 if (SvAMAGIC(sv)) {
19968860 37104760 if (SvAMAGIC(sv)) {
61785 19907075 if (SvAMAGIC(sv)) {
3185 11951 49834 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
0 11951 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
0 0 if (tmpsv && (!SvROK(tmpsv) || (SvRV(tmpsv) != SvRV(sv))))
3186 11951 0 return cBOOL(SvTRUE(tmpsv));
0 11951 return cBOOL(SvTRUE(tmpsv));
0 0 return cBOOL(SvTRUE(tmpsv));
0 11951 return cBOOL(SvTRUE(tmpsv));
0 0 return cBOOL(SvTRUE(tmpsv));
0 0 return cBOOL(SvTRUE(tmpsv));
5708 6243 return cBOOL(SvTRUE(tmpsv));
5708 0 return cBOOL(SvTRUE(tmpsv));
565 5143 return cBOOL(SvTRUE(tmpsv));
559 6 return cBOOL(SvTRUE(tmpsv));
0 559 return cBOOL(SvTRUE(tmpsv));
6 5702 return cBOOL(SvTRUE(tmpsv));
6243 0 return cBOOL(SvTRUE(tmpsv));
6242 1 return cBOOL(SvTRUE(tmpsv));
0 6242 return cBOOL(SvTRUE(tmpsv));
1 0 return cBOOL(SvTRUE(tmpsv));
0 1 return cBOOL(SvTRUE(tmpsv));
0 6243 return cBOOL(SvTRUE(tmpsv));
0 0 return cBOOL(SvTRUE(tmpsv));
3190 1395992 1 if (isREGEXP(sv))
0 1395992 if (isREGEXP(sv))
3192 0 1 RX_WRAPLEN(sv) > 1 || (RX_WRAPLEN(sv) && *RX_WRAPPED(sv) != '0');
0 0 RX_WRAPLEN(sv) > 1 || (RX_WRAPLEN(sv) && *RX_WRAPPED(sv) != '0');
0 0 RX_WRAPLEN(sv) > 1 || (RX_WRAPLEN(sv) && *RX_WRAPPED(sv) != '0');
3193 0 1395992 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
0 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
0 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
770853 625139 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
770853 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
195791 575062 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
15527 180264 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
88 15439 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
538012 87127 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
538012 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
529726 8286 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
0 529726 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
0 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
87127 0 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
0 87127 return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
3268 2692334 0 if (sv == &PL_sv_undef)
3270 175101 2517233 if (!SvPOK_nog(sv)) {
3272 0 175101 if (SvREADONLY(sv) && (SvPOKp(sv) || SvIOKp(sv) || SvNOKp(sv))) {
0 0 if (SvREADONLY(sv) && (SvPOKp(sv) || SvIOKp(sv) || SvNOKp(sv))) {
3274 0 0 if (SvUTF8(sv)) {
3275 0 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
0 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
0 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3279 0 175101 (void) SvPV_force_flags(sv,len,flags & SV_GMAGIC);
3283 427658 2264676 if (SvUTF8(sv)) {
3284 0 427658 if (extra) SvGROW(sv, SvCUR(sv) + extra);
0 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
0 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3288 258506 2006170 if (SvIsCOW(sv)) {
3292 27529 2237147 if (PL_encoding && !(flags & SV_UTF8_NO_ENCODING)) {
27529 0 if (PL_encoding && !(flags & SV_UTF8_NO_ENCODING)) {
3294 3534 23993 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3534 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
2151 1383 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3298 473814 1763333 if (SvCUR(sv) == 0) {
3299 145376 328438 if (extra) SvGROW(sv, extra);
145376 0 if (extra) SvGROW(sv, extra);
1088 144288 if (extra) SvGROW(sv, extra);
3311 1726259 37074 if (flags & SV_FORCE_UTF8_UPGRADE) goto must_be_utf8;
3317 18690628 1591038 while (t < e) {
3319 18555407 135221 if (NATIVE_IS_INVARIANT(ch)) continue;
3329 3406 1587632 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3406 0 if (extra) SvGROW(sv, SvCUR(sv) + extra);
76 3330 if (extra) SvGROW(sv, SvCUR(sv) + extra);
3406 2067 170228 if (SvLEN(sv) < size) {
3419 1797 270 if (invariant_head <= 0) {
3426 100521 2067 while (t < e) {
3431 2067 0 SvPV_free(sv); /* No longer using pre-existing string */
0 2067 SvPV_free(sv); /* No longer using pre-existing string */
0 0 SvPV_free(sv); /* No longer using pre-existing string */
0 0 SvPV_free(sv); /* No longer using pre-existing string */
3452 180165 170228 while (d < e) {
3454 71013 109152 if (! NATIVE_IS_INVARIANT(chr)) two_byte_count++;
3473 313967 170228 while (e >= t) {
3474 109152 204815 if (NATIVE_IS_INVARIANT(*e)) {
3484 1871 170424 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
270 1601 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
3492 164 106 if (mg) {
3495 110 160 if ((mg = mg_find(sv, PERL_MAGIC_utf8)))
3528 85228 353618 if (SvPOKp(sv) && SvUTF8(sv)) {
3529 85227 1 if (SvCUR(sv)) {
3534 430 84797 if (SvIsCOW(sv)) {
3537 81773 3454 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
208 81565 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
3540 177 31 if (mg && mg->mg_len > 0 && mg->mg_flags & MGf_BYTES) {
10 167 if (mg && mg->mg_len > 0 && mg->mg_flags & MGf_BYTES) {
0 10 if (mg && mg->mg_len > 0 && mg->mg_flags & MGf_BYTES) {
3545 190 18 if ((mg = mg_find(sv, PERL_MAGIC_utf8)))
3549 85227 0 s = (U8 *) SvPV_flags(sv, len, mg_flags);
3551 383 84844 if (!utf8_to_bytes(s, &len)) {
3552 15 368 if (fail_ok)
3555 15 0 if (PL_op)
3556 0 15 Perl_croak(aTHX_ "Wide character in %s",
3557 0 0 OP_DESC(PL_op));
3583 1 465749 if (SvREADONLY(sv)) {
3607 2465 0 if (SvPOKp(sv)) {
3614 2463 2 if (!sv_utf8_downgrade(sv, TRUE))
3621 2460 3 if (!is_utf8_string(c, SvCUR(sv)))
3624 173917 328 while (c < e) {
3626 2132 171785 if (!UTF8_IS_INVARIANT(ch)) {
3631 13 2447 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
13 0 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
3637 12 1 if (mg) {
3639 10 2 if (pos > 0) {
3640 18 0 for (c = start + pos; c > start; c--) {
3641 8 10 if (UTF8_IS_START(*c))
3647 12 1 if ((mg = mg_find(sv, PERL_MAGIC_utf8)))
3698 13705838 49295 if (dtype != SVt_PVGV && !isGV_with_GP(dstr)) {
0 13705838 if (dtype != SVt_PVGV && !isGV_with_GP(dstr)) {
0 0 if (dtype != SVt_PVGV && !isGV_with_GP(dstr)) {
13705770 68 if (dtype != SVt_PVGV && !isGV_with_GP(dstr)) {
3702 13527403 178435 if (dtype >= SVt_PV) {
3703 8350 13519053 SvPV_free(dstr);
0 8350 SvPV_free(dstr);
0 0 SvPV_free(dstr);
0 0 SvPV_free(dstr);
3709 0 13705838 (void)SvOK_off(dstr);
3715 13705812 26 if (GvSTASH(dstr))
3717 13704630 1208 gv_name_set(MUTABLE_GV(dstr), name, len,
3722 13755133 0 if(GvGP(MUTABLE_GV(sstr))) {
3724 374928 13380205 if(GvCVGEN(sstr)) {
3731 9803056 3577149 else if(
3732 9803048 8 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
9803048 0 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
9803048 0 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
9803048 0 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
13 9803035 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
2 9803033 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
9803033 0 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
9803048 0 GvCV((const GV *)sstr) && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
3739 3952085 9803048 if(
3740 9212 3942873 !mro_changes && GvGP(MUTABLE_GV(dstr)) && GvCVu((const GV *)dstr)
9212 0 !mro_changes && GvGP(MUTABLE_GV(dstr)) && GvCVu((const GV *)dstr)
23 9189 !mro_changes && GvGP(MUTABLE_GV(dstr)) && GvCVu((const GV *)dstr)
3741 21 2 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
21 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
21 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
21 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 21 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 21 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
21 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
21 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
3748 49295 13705838 if(dtype == SVt_PVGV) {
3750 8 49287 if(
3751 8 49287 strEQ(name,"ISA")
8 0 strEQ(name,"ISA")
8 0 strEQ(name,"ISA")
3754 6 2 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
6 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
6 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
6 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 6 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 6 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
6 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 6 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
3759 48673 616 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
66 48607 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
0 66 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
3760 616 48607 || (len == 1 && name[0] == ':')) {
0 616 || (len == 1 && name[0] == ':')) {
3765 66 0 if((old_stash = GvHV(dstr)))
3776 0 13755133 (void)SvOK_off(dstr);
3780 9153032 4602101 if (SvTAINTED(sstr))
0 9153032 if (SvTAINTED(sstr))
3781 0 0 SvTAINT(dstr);
0 0 SvTAINT(dstr);
0 0 SvTAINT(dstr);
3782 13755073 60 if (GvIMPORTED(dstr) != GVf_IMPORTED
3783 12494530 1260543 && CopSTASH_ne(PL_curcop, GvSTASH(dstr)))
3788 6 13755127 if(mro_changes == 2) {
3789 5 1 if (GvAV((const GV *)sstr)) {
3792 5 0 if (SvSMAGICAL(sref) && (mg = mg_find(sref, PERL_MAGIC_isa))) {
5 0 if (SvSMAGICAL(sref) && (mg = mg_find(sref, PERL_MAGIC_isa))) {
3793 5 0 if (SvTYPE(mg->mg_obj) != SVt_PVAV) {
3804 66 13755061 else if(mro_changes == 3) {
3806 66 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
66 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
66 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
66 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
10 56 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
4 52 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
52 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
0 66 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
66 0 if(old_stash ? (HV *)HvENAME_get(old_stash) : stash)
3812 9803069 3951992 else if(mro_changes) mro_method_changed_in(GvSTASH(dstr));
3813 13755133 0 if (GvIO(dstr) && dtype == SVt_PVGV) {
13755133 0 if (GvIO(dstr) && dtype == SVt_PVGV) {
13755133 0 if (GvIO(dstr) && dtype == SVt_PVGV) {
3240 13751893 if (GvIO(dstr) && dtype == SVt_PVGV) {
3837 156129 1013598 if (intro) {
3866 156129 1013598 if (intro) {
3867 148799 7330 if (stype == SVt_PVCV) {
3869 9 148790 if (GvCVGEN(dstr)) {
3881 148799 7330 if (stype == SVt_PVCV) {
3890 0 148799 SS_ADD_END(4);
3895 904509 265218 if (stype == SVt_PVCV && (*location != sref || GvCVGEN(dstr))) {
16168 888341 if (stype == SVt_PVCV && (*location != sref || GvCVGEN(dstr))) {
1 16167 if (stype == SVt_PVCV && (*location != sref || GvCVGEN(dstr))) {
3897 158937 729405 if (cv) {
3898 158934 3 if (!GvCVGEN((const GV *)dstr) &&
3938 154996 if (!GvCVGEN((const GV *)dstr) &&
3899 0 3938 (CvROOT(cv) || CvXSUB(cv)) &&
145725 9271 (CvROOT(cv) || CvXSUB(cv)) &&
3902 16 145709 (CvCONST(cv) || ckWARN(WARN_REDEFINE)))
3907 9271 16 : NULL;
3908 16 9271 report_redefined_cv(
9287 0 report_redefined_cv(
9287 0 report_redefined_cv(
9287 0 report_redefined_cv(
0 9287 report_redefined_cv(
3920 13676 145258 if (!intro)
3921 9280 4396 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 4396 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 0 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 0 cv_ckproto_len_flags(cv, (const GV *)dstr,
1 9279 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 4396 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 0 cv_ckproto_len_flags(cv, (const GV *)dstr,
9280 0 cv_ckproto_len_flags(cv, (const GV *)dstr,
1 9279 cv_ckproto_len_flags(cv, (const GV *)dstr,
3928 888339 0 if(GvSTASH(dstr)) gv_method_changed(dstr); /* sub foo { 1 } sub bar { 2 } *bar = \&foo */
153265 735074 if(GvSTASH(dstr)) gv_method_changed(dstr); /* sub foo { 1 } sub bar { 2 } *bar = \&foo */
3931 1169702 22 if (import_flag && !(GvFLAGS(dstr) & import_flag)
997850 171852 if (import_flag && !(GvFLAGS(dstr) & import_flag)
3932 774460 223390 && CopSTASH_ne(PL_curcop, GvSTASH(dstr))) {
3935 53189 1116535 if (stype == SVt_PVHV) {
3938 53186 3 if (
3940 24 53162 (len > 1 && name[len-2] == ':' && name[len-1] == ':')
0 24 (len > 1 && name[len-2] == ':' && name[len-1] == ':')
3941 3 53162 || (len == 1 && name[0] == ':')
0 3 || (len == 1 && name[0] == ':')
3943 24 0 && (!dref || HvENAME_get(dref))
24 0 && (!dref || HvENAME_get(dref))
24 0 && (!dref || HvENAME_get(dref))
24 0 && (!dref || HvENAME_get(dref))
0 24 && (!dref || HvENAME_get(dref))
1 23 && (!dref || HvENAME_get(dref))
23 0 && (!dref || HvENAME_get(dref))
24 0 && (!dref || HvENAME_get(dref))
3951 4972 1111563 else if (
3953 39 4933 && strEQ(GvNAME((GV*)dstr), "ISA")
39 0 && strEQ(GvNAME((GV*)dstr), "ISA")
39 0 && strEQ(GvNAME((GV*)dstr), "ISA")
39 4933 && strEQ(GvNAME((GV*)dstr), "ISA")
3956 37 2 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
37 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
37 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
37 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 37 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
0 37 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
37 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
37 0 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
3959 37 0 MAGIC * const omg = dref && SvSMAGICAL(dref)
3961 37 0 : NULL;
3962 27 10 if (SvSMAGICAL(sref) && (mg = mg_find(sref, PERL_MAGIC_isa))) {
27 0 if (SvSMAGICAL(sref) && (mg = mg_find(sref, PERL_MAGIC_isa))) {
3963 12 15 if (SvTYPE(mg->mg_obj) != SVt_PVAV) {
3968 27 0 if (omg) {
3969 0 27 if (SvTYPE(omg->mg_obj) == SVt_PVAV) {
3972 0 0 while (items--)
3989 10 0 sv_magic(
4001 10 1116488 else if (stype == SVt_PVIO) {
4011 1013595 156129 if (!intro) SvREFCNT_dec(dref);
4012 0 1169724 if (SvTAINTED(sstr))
0 0 if (SvTAINTED(sstr))
4013 0 0 SvTAINT(dstr);
0 0 SvTAINT(dstr);
0 0 SvTAINT(dstr);
4040 1005695546 1198 if (sstr == dstr)
4043 0 1005695546 if (SvIS_FREED(dstr)) {
4047 63824266 941871280 SV_CHECK_THINKFIRST_COW_DROP(dstr);
4048 48385 1005647130 if (!sstr)
4050 1 1005695514 if (SvIS_FREED(sstr)) {
4062 50016808 71222 if (dtype != SVt_PVGV && dtype != SVt_PVLV) {
4063 0 50016808 (void)SvOK_off(dstr);
4068 222655939 249665590 if (SvIOK(sstr)) {
4081 0 220170969 (void)SvIOK_only(dstr);
4083 27328 220143641 if (SvIsUV(sstr))
4092 5758911 243906679 if (!SvROK(sstr))
4094 41787063 202119616 if (dtype < SVt_PV && dtype != SVt_IV)
4099 1 4685404 if (SvNOK(sstr)) {
4114 0 4676631 (void)SvNOK_only(dstr);
4125 121817430 183138636 if (dtype < SVt_PV)
4129 7388763 13841738 if (dtype < SVt_PVIV)
4133 41058229 25000533 if (dtype < SVt_PVNV)
4139 0 0 if (PL_op)
4141 0 0 Perl_croak(aTHX_ "Bizarre copy of %s in %s", type, OP_DESC(PL_op));
0 0 Perl_croak(aTHX_ "Bizarre copy of %s in %s", type, OP_DESC(PL_op));
4149 28 5 if (dtype < SVt_REGEXP)
4151 13 15 if (dtype >= SVt_PV) {
4152 4 9 SvPV_free(dstr);
0 4 SvPV_free(dstr);
0 0 SvPV_free(dstr);
0 0 SvPV_free(dstr);
4165 10146078 81968025 if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) {
8990555 1155523 if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) {
4167 2 8990552 if (SvTYPE(sstr) != stype)
4170 13738747 78375355 if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) {
13738747 0 if (isGV_with_GP(sstr) && dtype <= SVt_PVLV) {
4174 225239 78150116 if (stype == SVt_PVLV)
119769 105467 if (stype == SVt_PVLV)
35108996 43041120 if (stype == SVt_PVLV)
4176 0 225239 if (isREGEXP(sstr)) goto upgregexp;
3 225236 if (isREGEXP(sstr)) goto upgregexp;
4188 8 717092350 if (dtype == SVt_PVCV) {
4190 0 8 if (SvOK(sstr)) {
0 0 if (SvOK(sstr)) {
0 0 if (SvOK(sstr)) {
4192 8 0 const char *const ptr = SvPV_const(sstr, len);
4194 8 0 SvGROW(dstr, len + 1);
1 7 SvGROW(dstr, len + 1);
4201 0 0 SvOK_off(dstr);
4204 0 717092350 else if (dtype == SVt_PVAV || dtype == SVt_PVHV || dtype == SVt_PVFM) {
4206 0 0 if (PL_op)
4208 0 0 Perl_croak(aTHX_ "Cannot copy to %s in %s", type, OP_DESC(PL_op));
0 0 Perl_croak(aTHX_ "Cannot copy to %s in %s", type, OP_DESC(PL_op));
4211 274430224 442662126 } else if (sflags & SVf_ROK) {
4212 1187660 273242564 if (isGV_with_GP(dstr)
1187660 0 if (isGV_with_GP(dstr)
4213 17933 1169727 && SvTYPE(SvRV(sstr)) == SVt_PVGV && isGV_with_GP(SvRV(sstr))) {
17933 0 && SvTYPE(SvRV(sstr)) == SVt_PVGV && isGV_with_GP(SvRV(sstr))) {
17933 0 && SvTYPE(SvRV(sstr)) == SVt_PVGV && isGV_with_GP(SvRV(sstr))) {
4215 1547 16386 if (sstr == dstr) {
4216 1547 0 if (GvIMPORTED(dstr) != GVf_IMPORTED
4217 1547 0 && CopSTASH_ne(PL_curcop, GvSTASH(dstr)))
4228 59530321 214881970 if (dtype >= SVt_PV) {
4229 1169727 58360594 if (isGV_with_GP(dstr)) {
1169727 0 if (isGV_with_GP(dstr)) {
4233 833612 57526982 if (SvPVX_const(dstr)) {
4234 833612 0 SvPV_free(dstr);
1 833611 SvPV_free(dstr);
1 0 SvPV_free(dstr);
0 1 SvPV_free(dstr);
4239 0 273242564 (void)SvOK_off(dstr);
4247 53 442662073 else if (isGV_with_GP(dstr)) {
53 0 else if (isGV_with_GP(dstr)) {
4248 14 39 if (!(sflags & SVf_OK)) {
4254 39 0 if (dstr != (const SV *)gv) {
4259 36 3 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
22 14 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
0 22 if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
4260 3 14 || (len == 1 && name[0] == ':')) {
0 3 || (len == 1 && name[0] == ':')) {
4263 22 0 if((old_stash = GvHV(dstr))) {
4272 39 0 if (GvGP(dstr))
4276 22 16 if (reset_isa) {
4278 22 0 if(
4279 22 0 old_stash ? (HV *)HvENAME_get(old_stash) : stash
22 0 old_stash ? (HV *)HvENAME_get(old_stash) : stash
22 0 old_stash ? (HV *)HvENAME_get(old_stash) : stash
22 0 old_stash ? (HV *)HvENAME_get(old_stash) : stash
0 22 old_stash ? (HV *)HvENAME_get(old_stash) : stash
0 22 old_stash ? (HV *)HvENAME_get(old_stash) : stash
22 0 old_stash ? (HV *)HvENAME_get(old_stash) : stash
0 22 old_stash ? (HV *)HvENAME_get(old_stash) : stash
4289 2861066 439801007 else if ((dtype == SVt_REGEXP || dtype == SVt_PVLV)
4290 2861036 30 && (stype == SVt_REGEXP || isREGEXP(sstr))) {
2861036 0 && (stype == SVt_REGEXP || isREGEXP(sstr))) {
3 2861033 && (stype == SVt_REGEXP || isREGEXP(sstr))) {
4293 410953386 31708654 else if (sflags & SVp_POK) {
4312 391059245 19894141 if (
4321 129965439 48127048 || (len &&
129903751 61688 || (len &&
4322 115179375 14724376 ((!GE_COWBUF_THRESHOLD(cur) && SvLEN(dstr) > cur)
4325 1472698 113768365 || CowREFCNT(sstr) == SV_COW_REFCNT_MAX))
4345 178092487 212966758 &&
203914206 45143767 &&
4353 45191965 1523183 !(sflags & SVf_OOK) && /* and not involved in OOK hack? */
4356 46715148 202342825 SvREFCNT(sstr) == 1 && /* and no other references to it? */
48198 45143767 SvREFCNT(sstr) == 1 && /* and no other references to it? */
4359 184020410 19893796 && ((flags & SV_COW_SHARED_HASH_KEYS)
133951036 50069374 && ((flags & SV_COW_SHARED_HASH_KEYS)
4360 122135173 307517 ? (!((sflags & CAN_COW_MASK) == CAN_COW_FLAGS
4365 133951036 0 && !(SvFLAGS(dstr) & SVf_BREAK)
4367 123020789 10930247 && GE_COW_THRESHOLD(cur) && cur+1 < len
122442690 578099 && GE_COW_THRESHOLD(cur) && cur+1 < len
4368 33529266 88605907 && (GE_COWBUF_THRESHOLD(cur) || SvLEN(dstr) < cur+1)
4376 115000782 0 SvGROW(dstr, cur + 1); /* inlined from sv_setpvn */
55899190 59101592 SvGROW(dstr, cur + 1); /* inlined from sv_setpvn */
4391 250808837 45143767 if (!isSwipe) {
4392 88913424 161895413 if (!(sflags & SVf_IsCOW)) {
4405 31251110 264701494 if (SvPVX_const(dstr)) { /* we know that dtype >= SVt_PV */
4406 31251097 13 SvPV_free(dstr);
238478 31012619 SvPV_free(dstr);
238478 0 SvPV_free(dstr);
3168 235310 SvPV_free(dstr);
4409 250808837 45143767 if (!isSwipe) {
4412 202681789 48127048 if (len) {
4445 0 45143767 (void)SvOK_off(sstr); /* NOTE: nukes most SvFLAGS on sstr */
4452 49507778 361445608 if (sflags & SVp_NOK) {
4455 52646817 358306569 if (sflags & SVp_IOK) {
4459 130 52646687 if (sflags & SVf_IVisUV)
4464 12373158 398580228 const MAGIC * const smg = SvVSTRING_mg(sstr);
4465 345 410953041 if (smg) {
4472 27904234 3804420 else if (sflags & (SVp_IOK|SVp_NOK)) {
4473 0 27904234 (void)SvOK_off(dstr);
4475 25064720 2839514 if (sflags & SVp_IOK) {
4479 3050447 24853787 if (sflags & SVp_NOK) {
4484 0 3804420 if (isGV_with_GP(sstr)) {
0 0 if (isGV_with_GP(sstr)) {
4488 0 3804420 (void)SvOK_off(dstr);
4490 16772114 699132583 if (SvTAINTED(sstr))
5303 16766811 if (SvTAINTED(sstr))
4491 5303 0 SvTAINT(dstr);
5303 0 SvTAINT(dstr);
5303 0 SvTAINT(dstr);
4508 20 2 SvSETMAGIC(dstr);
4519 2926319 27601574 {
4534 27601574 2926319 if (dstr) {
4535 0 27601574 if (SvTHINKFIRST(dstr))
4537 11148937 16452637 else if (SvPVX_const(dstr))
4541 2926268 51 new_SV(dstr);
4553 21581025 8946868 if (SvIsCOW(sstr)) {
0 8946868 if (SvIsCOW(sstr)) {
4555 14623946 6957079 if (SvLEN(sstr) == 0) {
4590 549781 29978112 if (SvUTF8(sstr))
4613 195988048 137068023 {
4619 33218379 300414990 SV_CHECK_THINKFIRST_COW_DROP(sv);
4620 577298 333056071 if (!ptr) {
4621 0 577298 (void)SvOK_off(sv);
4627 0 333056071 if (iv < 0)
4633 333056071 0 dptr = SvGROW(sv, len + 1);
218751565 114304506 dptr = SvGROW(sv, len + 1);
4638 1737922 331318149 SvTAINT(sv);
10003 1727919 SvTAINT(sv);
10003 0 SvTAINT(sv);
4639 125031 332931040 if (SvTYPE(sv) == SVt_PVCV) CvAUTOLOAD_off(sv);
4656 1 0 SvSETMAGIC(sv);
4670 3091642 19956933 {
4676 262314 24215571 SV_CHECK_THINKFIRST_COW_DROP(sv);
4677 1429310 23048575 if (!ptr) {
4678 0 1429310 (void)SvOK_off(sv);
4684 23048575 0 SvGROW(sv, len + 1);
6268326 16780249 SvGROW(sv, len + 1);
4688 51097 22997478 SvTAINT(sv);
605 50492 SvTAINT(sv);
605 0 SvTAINT(sv);
4689 2922046 20126529 if (SvTYPE(sv) == SVt_PVCV) CvAUTOLOAD_off(sv);
4706 456 226555 SvSETMAGIC(sv);
4716 130912644 0 if (!hek) {
4720 0 130912644 if (HEK_LEN(hek) == HEf_SVKEY) {
4723 147483 130765119 } else {
4725 42 130912602 if (flags & HVhek_WASUTF8) {
4731 0 130912602 } else if (flags & HVhek_UNSHARED) {
4733 0 0 if (HEK_UTF8(hek))
4739 130750792 161810 SV_CHECK_THINKFIRST_COW_DROP(sv);
4741 15704 130896898 SvPV_free(sv);
0 15704 SvPV_free(sv);
0 0 SvPV_free(sv);
0 0 SvPV_free(sv);
4747 649 130911953 if (HEK_UTF8(hek))
4780 67 169415 {
4786 20 169462 SV_CHECK_THINKFIRST_COW_DROP(sv);
4788 0 169482 if (!ptr) {
4789 0 0 (void)SvOK_off(sv);
4790 0 0 if (flags & SV_SMAGIC)
4791 0 0 SvSETMAGIC(sv);
4794 25255 144227 if (SvPVX_const(sv))
4795 25255 0 SvPV_free(sv);
0 25255 SvPV_free(sv);
0 0 SvPV_free(sv);
0 0 SvPV_free(sv);
4803 169422 60 ? len + 1 :
4807 0 60 PERL_STRLEN_ROUNDUP(len + 1);
4809 60 169422 if (flags & SV_HAS_TRAILING_NUL) {
4831 60 169422 if (!(flags & SV_HAS_TRAILING_NUL)) {
4835 384 169098 SvTAINT(sv);
0 384 SvTAINT(sv);
0 0 SvTAINT(sv);
4836 1 169481 if (flags & SV_SMAGIC)
4837 1 0 SvSETMAGIC(sv);
4922 202475167 183283969 if (len && CowREFCNT(sv) == 0)
144835913 57639254 if (len && CowREFCNT(sv) == 0)
4932 144835913 183283969 if (len) CowREFCNT(sv)--;
4936 321310614 6809268 if (flags & SV_COW_DROP_PV) {
4940 6809268 0 SvGROW(sv, cur + 1);
6809268 0 SvGROW(sv, cur + 1);
4945 183283969 144835913 if (len) {
4980 39 628218425 if (SvREADONLY(sv))
4982 380792034 247426391 else if (SvIsCOW(sv))
4984 232642752 395575673 if (SvROK(sv))
4986 13541430 382034243 else if (SvFAKE(sv) && isGV_with_GP(sv))
13541404 26 else if (SvFAKE(sv) && isGV_with_GP(sv))
13541404 0 else if (SvFAKE(sv) && isGV_with_GP(sv))
4988 26 382034243 else if (SvFAKE(sv) && isREGEXP(sv)) {
5 21 else if (SvFAKE(sv) && isREGEXP(sv)) {
5 0 else if (SvFAKE(sv) && isREGEXP(sv)) {
4992 21 5 const svtype new_type =
20 1 const svtype new_type =
4993 18 2 islv ? SVt_NULL : SvMAGIC(sv) || SvSTASH(sv) ? SVt_PVMG : SVt_PV;
4997 3 23 if (new_type == SVt_PVMG) {
5003 21 5 if (!islv) SvCUR_set(temp, SvCUR(sv));
5008 22 4 if (flags & SV_COW_DROP_PV) {
5017 3 1 SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
5024 21 5 if (!islv) {
5037 3523080 378511163 else if (SvVOK(sv)) sv_unmagic(sv, PERL_MAGIC_vstring);
177 3522903 else if (SvVOK(sv)) sv_unmagic(sv, PERL_MAGIC_vstring);
5073 638524 96 if (!ptr || !SvPOKp(sv))
638522 2 if (!ptr || !SvPOKp(sv))
5076 633675 4847 if (!delta) {
5080 633673 2 max_delta = SvLEN(sv) ? SvLEN(sv) : SvCUR(sv);
5081 0 633675 if (delta > max_delta)
5085 337 633338 SV_CHECK_THINKFIRST(sv);
5088 295713 337962 if (!SvOOK(sv)) {
5089 0 295713 if (!SvLEN(sv)) { /* make copy of shared string */
5092 0 0 SvGROW(sv, len + 1);
0 0 SvGROW(sv, len + 1);
5099 337962 0 SvOOK_offset(sv, old_delta);
181215 156747 SvOOK_offset(sv, old_delta);
5126 443055 190620 if (delta < 0x100) {
5170 241929136 3731773 const char * const dstr = SvPV_force_flags(dsv, dlen, flags);
5175 102357225 143303684 if (!(flags & SV_CATBYTES) || !SvUTF8(dsv)) {
102242891 114334 if (!(flags & SV_CATBYTES) || !SvUTF8(dsv)) {
5176 251254 245295321 if (flags & SV_CATUTF8 && !SvUTF8(dsv)) {
36961 214293 if (flags & SV_CATUTF8 && !SvUTF8(dsv)) {
5180 245509614 0 else SvGROW(dsv, dlen + slen + 1);
12762593 232747021 else SvGROW(dsv, dlen + slen + 1);
5181 16 245546559 if (sstr == dstr)
5196 114334 0 SvGROW(dsv, dlen + slen * 2 + 1);
7158 107176 SvGROW(dsv, dlen + slen * 2 + 1);
5199 1668726 114334 while (sstr < send) {
5207 723365 244937544 SvTAINT(dsv);
2727 720638 SvTAINT(dsv);
2727 0 SvTAINT(dsv);
5208 19414 245641495 if (flags & SV_SMAGIC)
5209 1 19413 SvSETMAGIC(dsv);
5238 42400776 0 if (ssv) {
5240 36460589 5940187 const char *spv = SvPV_flags_const(ssv, slen, flags);
5241 42400776 0 if (spv) {
5242 20891439 21509337 if (flags & SV_GMAGIC)
2 20891437 if (flags & SV_GMAGIC)
5244 185435 42215341 sv_catpvn_flags(dsv, spv, slen,
0 185435 sv_catpvn_flags(dsv, spv, slen,
5246 1 42400775 if (flags & SV_SMAGIC)
5247 1 0 SvSETMAGIC(dsv);
5271 840708 0 if (!ptr)
5273 840695 13 junk = SvPV_force(sv, tlen);
5275 840708 0 SvGROW(sv, tlen + len + 1);
35342 805366 SvGROW(sv, tlen + len + 1);
5276 0 840708 if (ptr == junk)
5281 652 840056 SvTAINT(sv);
0 652 SvTAINT(sv);
0 0 SvTAINT(sv);
5316 1 0 SvSETMAGIC(sv);
5342 506448642 829512 new_SV(sv);
5343 88319015 418959139 if (len) {
5345 88319015 0 SvGROW(sv, len + 1);
88319015 0 SvGROW(sv, len + 1);
5371 11388456 23192251 {
5393 8490768 26089939 if (!obj || obj == sv ||
5394 8483026 7742 how == PERL_MAGIC_arylen ||
5395 6856853 1626173 how == PERL_MAGIC_symtab ||
5396 237914 6618939 (SvTYPE(obj) == SVt_PVGV &&
5397 237914 0 (GvSV(obj) == sv || GvHV(obj) == (const HV *)sv
5398 0 237914 || GvAV(obj) == (const AV *)sv || GvCV(obj) == (const CV *)sv
0 0 || GvAV(obj) == (const AV *)sv || GvCV(obj) == (const CV *)sv
5399 0 0 || GvIOp(obj) == (const IO *)sv || GvFORM(obj) == (const CV *)sv)))
0 0 || GvIOp(obj) == (const IO *)sv || GvFORM(obj) == (const CV *)sv)))
5416 16811 34563896 if (how == PERL_MAGIC_tiedscalar && SvTYPE(sv) == SVt_PVIO &&
16140 671 if (how == PERL_MAGIC_tiedscalar && SvTYPE(sv) == SVt_PVIO &&
5417 16140 0 obj && SvROK(obj) && GvIO(SvRV(obj)) == (const IO *)sv)
16140 0 obj && SvROK(obj) && GvIO(SvRV(obj)) == (const IO *)sv)
14837 1303 obj && SvROK(obj) && GvIO(SvRV(obj)) == (const IO *)sv)
14837 0 obj && SvROK(obj) && GvIO(SvRV(obj)) == (const IO *)sv)
14833 1307 obj && SvROK(obj) && GvIO(SvRV(obj)) == (const IO *)sv)
5424 14929387 19651320 if (name) {
5425 8362974 6566413 if (namlen > 0)
5427 6210697 355716 else if (namlen == HEf_SVKEY) {
5446 109 1003036 if (SvTYPE(sv) == SVt_PVLV && LvTYPE(sv) == 'y') {
3 106 if (SvTYPE(sv) == SVt_PVLV && LvTYPE(sv) == 'y') {
5488 21363472 0 if (how < 0 || (unsigned)how > C_ARRAY_LENGTH(PL_magic_data)
5489 0 21363472 || ((flags = PL_magic_data[how]),
5500 21334378 29094 ? NULL : PL_magic_vtables + vtable_index;
5506 5606 21357866 if (SvREADONLY(sv)) {
5507 3 5603 if (
5514 21095484 267985 if (SvMAGICAL(sv) || (how == PERL_MAGIC_taint && SvTYPE(sv) >= SVt_PVMG)) {
55744 21039740 if (SvMAGICAL(sv) || (how == PERL_MAGIC_taint && SvTYPE(sv) >= SVt_PVMG)) {
14030 41714 if (SvMAGICAL(sv) || (how == PERL_MAGIC_taint && SvTYPE(sv) >= SVt_PVMG)) {
5515 267987 14028 if (SvMAGIC(sv) && (mg = mg_find(sv, how))) {
241335 26652 if (SvMAGIC(sv) && (mg = mg_find(sv, how))) {
5519 5874 235461 if (how == PERL_MAGIC_taint)
5526 26651 21095483 if (SvMAGICAL(sv) && DO_UTF8(sv)
15 26636 if (SvMAGICAL(sv) && DO_UTF8(sv)
15 0 if (SvMAGICAL(sv) && DO_UTF8(sv)
5527 0 15 && (mg = mg_find(sv, PERL_MAGIC_regex_global))
5528 0 0 && mg->mg_len != -1
5529 0 0 && mg->mg_flags & MGf_BYTES) {
5557 25893338 10178942 if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv))
21295805 4597533 if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv))
5560 21739270 21295805 for (mg = *mgp; mg; mg = *mgp) {
5562 2478914 19260356 if (mg->mg_type == type && (!flags || virt == vtbl)) {
2478913 1 if (mg->mg_type == type && (!flags || virt == vtbl)) {
5564 2478735 178 if (virt && virt->svt_free)
993448 1485287 if (virt && virt->svt_free)
5566 1652391 826522 if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) {
1652391 0 if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) {
5567 182736 1469655 if (mg->mg_len > 0)
5569 1469651 4 else if (mg->mg_len == HEf_SVKEY)
5571 0 4 else if (mg->mg_type == PERL_MAGIC_utf8)
5574 16398 2462515 if (mg->mg_flags & MGf_REFCOUNTED)
5581 18836954 2458851 if (SvMAGIC(sv)) {
5582 18836954 0 if (SvMAGICAL(sv)) /* if we're under save_magic, wait for restore_magic; */
5641 0 34966 if (!SvOK(sv)) /* let undefs pass */
0 0 if (!SvOK(sv)) /* let undefs pass */
0 0 if (!SvOK(sv)) /* let undefs pass */
5643 0 34966 if (!SvROK(sv))
5645 0 34966 else if (SvWEAKREF(sv)) {
5649 1 34965 else if (SvREADONLY(sv)) croak_no_modify();
5696 43205046 11277446 if (SvTYPE(tsv) == SVt_PVHV) {
5699 8976316 2301130 if (! ((mg =
5700 2321170 8956276 (SvMAGICAL(tsv) ? mg_find(tsv, PERL_MAGIC_backref) : NULL))))
5710 10745583 43736909 if ( (!*svp && SvTYPE(sv) == SVt_PVAV)
10745583 0 if ( (!*svp && SvTYPE(sv) == SVt_PVAV)
5711 43736909 10745583 || (*svp && SvTYPE(*svp) != SVt_PVAV)
725560 43011349 || (*svp && SvTYPE(*svp) != SVt_PVAV)
5716 725560 0 SvREFCNT_inc_simple_void(av);
5718 725560 0 if (*svp) {
5724 46186 679374 if (mg)
5730 10745583 43736909 if (!av) {
5737 3570916 40165993 if (AvFILLp(av) >= AvMAX(av)) {
5755 21189343 1209328 if (SvTYPE(tsv) == SVt_PVHV) {
5756 21189343 0 if (SvOOK(tsv))
5759 0 1209328 else if (SvIS_FREED(tsv) && PL_phase == PERL_PHASE_DESTRUCT) {
0 0 else if (SvIS_FREED(tsv) && PL_phase == PERL_PHASE_DESTRUCT) {
5785 1209327 1 = SvMAGICAL(tsv) ? mg_find(tsv, PERL_MAGIC_backref) : NULL;
5786 1209327 1 svp = mg ? &(mg->mg_obj) : NULL;
5789 1 22398670 if (!svp)
5791 0 22398670 if (!*svp) {
5796 0 0 if (PL_phase == PERL_PHASE_DESTRUCT && SvREFCNT(tsv) == 0)
0 0 if (PL_phase == PERL_PHASE_DESTRUCT && SvREFCNT(tsv) == 0)
5802 21170251 1228419 if (SvTYPE(*svp) == SVt_PVAV) {
5821 55180 21115071 if (*svp == sv) {
5828 506056 20609015 if (topsv != sv) {
5832 44330322 0 while (--p > svp) {
5833 506056 43824266 if (*p == sv) {
5852 0 1228419 else if (SvIS_FREED(*svp) && PL_phase == PERL_PHASE_DESTRUCT) {
0 0 else if (SvIS_FREED(*svp) && PL_phase == PERL_PHASE_DESTRUCT) {
5857 0 1228419 if (*svp != sv)
5873 799154 12203 if (!av)
5879 0 799154 if (SvIS_FREED(av)) {
5880 0 0 if (PL_in_clean_all) /* All is fair */
5888 259 798895 if (is_array) {
5891 259 0 if (svp)
5900 799154 0 if (svp) {
5901 801857 799154 while (svp <= last) {
5902 801857 0 if (*svp) {
5904 22727 779130 if (SvWEAKREF(referrer)) {
5908 0 22727 SvOK_off(referrer);
5910 20046 2681 SvSETMAGIC(referrer);
5911 2417 776713 } else if (SvTYPE(referrer) == SVt_PVGV ||
5918 776713 0 } else if (SvTYPE(referrer) == SVt_PVCV ||
5920 537 776176 if (SvTYPE(sv) == SVt_PVHV) { /* stash backref */
5941 2962 798895 if (is_array)
5947 259 798895 if (is_array) {
5981 0 1507376 if (!bigstr)
5983 1506753 623 SvPV_force_flags(bigstr, curlen, flags);
5985 0 1507376 if (offset + len > curlen) {
5986 0 0 SvGROW(bigstr, offset+len+1);
0 0 SvGROW(bigstr, offset+len+1);
5991 79 1507297 SvTAINT(bigstr);
0 79 SvTAINT(bigstr);
0 0 SvTAINT(bigstr);
5993 964143 543233 if (i > 0) { /* string might grow */
5994 964143 0 big = SvGROW(bigstr, SvCUR(bigstr) + i + 1);
3791 960352 big = SvGROW(bigstr, SvCUR(bigstr) + i + 1);
5999 23803095 964143 while (midend > mid) /* shove everything down */
6003 1781 962362 SvSETMAGIC(bigstr);
6006 32160 511073 else if (i == 0) {
6008 171 31989 SvSETMAGIC(bigstr);
6017 0 511073 if (midend > bigend)
6021 8480 502593 if (mid - big > bigend - midend) { /* faster to shorten from end */
6022 725 7755 if (littlelen) {
6027 931 7549 if (i > 0) {
6034 1445 501148 else if ((i = mid - big)) { /* faster from front */
6039 1063 382 if (littlelen)
6042 447 500701 else if (littlelen) {
6050 1389 509684 SvSETMAGIC(bigstr);
6074 46389 7757818 SV_CHECK_THINKFIRST_COW_DROP(sv);
6075 0 7804207 if (SvREFCNT(nsv) != 1) {
6079 0 7804207 if (SvMAGICAL(sv)) {
6080 0 0 if (SvMAGICAL(nsv))
6100 0 7804207 if(SvTYPE(sv) == SVt_IV) {
6131 7804207 0 del_SV(nsv);
6155 776112 64 if (GvCV(gv) == cv && GvGP(gv)->gp_refcnt < 2 && SvREFCNT(cv) < 2) {
776100 12 if (GvCV(gv) == cv && GvGP(gv)->gp_refcnt < 2 && SvREFCNT(cv) < 2) {
776040 60 if (GvCV(gv) == cv && GvGP(gv)->gp_refcnt < 2 && SvREFCNT(cv) < 2) {
6161 111 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
111 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
6 5 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
100 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
6 100 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
106 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
106 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
106 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
104 2 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
0 104 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
4 100 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
100 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
104 0 gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
6162 104 0 ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
104 0 ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
0 104 ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
4 100 ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
100 0 ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
6163 111 25 : newSVpvn_flags( "__ANON__", 8, 0 );
11 100 : newSVpvn_flags( "__ANON__", 8, 0 );
6206 1934262699 1187059393 while (sv) {
6213 910402654 1023860045 if (type <= SVt_IV) {
6217 476032471 434370183 if (SvROK(sv))
6226 427250064 596609981 if (type >= SVt_PVMG) {
6227 242288568 184961496 if (SvOBJECT(sv)) {
6228 242288563 3 if (!curse(sv, 1)) goto get_next_sv;
6233 54671034 372579025 if (type == SVt_PVHV) {
6235 708831 53962203 if (SvMAGIC(sv))
6238 279665107 92913918 else if (type == SVt_PVMG && SvPAD_OUR(sv)) {
23402 279641705 else if (type == SVt_PVMG && SvPAD_OUR(sv)) {
6239 23402 0 SvREFCNT_dec(SvOURSTASH(sv));
6241 68298682 304256941 else if (type == SVt_PVAV && AvPAD_NAMELIST(sv)) {
66049827 2248855 else if (type == SVt_PVAV && AvPAD_NAMELIST(sv)) {
6243 18631928 351674840 } else if (SvMAGIC(sv)) {
6249 279665107 147584952 if (type == SVt_PVMG && SvPAD_TYPED(sv))
22 279665085 if (type == SVt_PVMG && SvPAD_TYPED(sv))
6256 386967 12291 IoIFP(sv) != PerlIO_stdin() &&
6257 374678 12289 IoIFP(sv) != PerlIO_stdout() &&
6258 370635 4043 IoIFP(sv) != PerlIO_stderr() &&
6263 12125 2540033 if (IoDIRP(sv) && !(IoFLAGS(sv) & IOf_FAKE_DIRP))
2261 9864 if (IoDIRP(sv) && !(IoFLAGS(sv) & IOf_FAKE_DIRP))
6269 1 2552157 if ((const GV *)sv == PL_statgv)
6283 3450539 1111630 if ((stash = CvSTASH(sv)))
6287 3892 54667142 if (PL_last_swash_hv == (const HV *)sv) {
6290 50903385 3767649 if (HvTOTALKEYS((HV*)sv) > 0) {
6294 42858147 8045238 if ( PL_phase != PERL_PHASE_DESTRUCT
6295 823006 42035141 && (name = HvNAME((HV*)sv)))
268 822738 && (name = HvNAME((HV*)sv)))
114 154 && (name = HvNAME((HV*)sv)))
114 0 && (name = HvNAME((HV*)sv)))
154 0 && (name = HvNAME((HV*)sv)))
114 154 && (name = HvNAME((HV*)sv)))
268 42857879 && (name = HvNAME((HV*)sv)))
6297 268 0 if (PL_stashcache) {
6300 268 0 (void)hv_delete(PL_stashcache, name,
268 0 (void)hv_delete(PL_stashcache, name,
114 154 (void)hv_delete(PL_stashcache, name,
114 0 (void)hv_delete(PL_stashcache, name,
154 0 (void)hv_delete(PL_stashcache, name,
114 154 (void)hv_delete(PL_stashcache, name,
114 154 (void)hv_delete(PL_stashcache, name,
17 251 (void)hv_delete(PL_stashcache, name,
17 0 (void)hv_delete(PL_stashcache, name,
17 0 (void)hv_delete(PL_stashcache, name,
17 0 (void)hv_delete(PL_stashcache, name,
17 0 (void)hv_delete(PL_stashcache, name,
0 0 (void)hv_delete(PL_stashcache, name,
17 0 (void)hv_delete(PL_stashcache, name,
251 0 (void)hv_delete(PL_stashcache, name,
251 0 (void)hv_delete(PL_stashcache, name,
97 154 (void)hv_delete(PL_stashcache, name,
97 0 (void)hv_delete(PL_stashcache, name,
154 0 (void)hv_delete(PL_stashcache, name,
97 154 (void)hv_delete(PL_stashcache, name,
6327 0 68298682 if (PL_comppad == av) {
6331 65570691 2727991 if (AvREAL(av) && AvFILLp(av) > -1) {
56721416 8849275 if (AvREAL(av) && AvFILLp(av) > -1) {
6344 193975 2714240 if (LvTYPE(sv) == 'T') { /* for tie: return HE to pool */
6349 2678351 35889 else if (LvTYPE(sv) != 't') /* unless tie: unrefcnted fake SV** */
6351 0 2908215 if (isREGEXP(sv)) goto freeregexp;
0 2908215 if (isREGEXP(sv)) goto freeregexp;
6353 4297878 2908204 if (isGV_with_GP(sv)) {
4297878 0 if (isGV_with_GP(sv)) {
6354 4297686 192 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
902650 3395036 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
900738 1912 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
6355 900738 0 && HvENAME_get(stash))
900738 0 && HvENAME_get(stash))
900734 4 && HvENAME_get(stash))
0 900734 && HvENAME_get(stash))
9 900725 && HvENAME_get(stash))
900725 0 && HvENAME_get(stash))
900734 0 && HvENAME_get(stash))
6358 4297877 0 if (GvNAME_HEK(sv))
6363 4297877 0 if (!SvVALID(sv) && (stash = GvSTASH(sv)))
4196390 101487 if (!SvVALID(sv) && (stash = GvSTASH(sv)))
6370 110895 7095186 if ((const GV *)sv == PL_last_in_gv)
6372 1585 7093601 else if ((const GV *)sv == PL_statgv)
6374 2 7093599 else if ((const GV *)sv == PL_stderrgv)
6384 18297 898117349 if (SvOOK(sv)) {
6386 18297 0 SvOOK_offset(sv, offset);
486 17811 SvOOK_offset(sv, offset);
6390 2859122 895276524 if (SvROK(sv)) {
6394 12203 437217102 if (SvWEAKREF(sv))
6401 549169458 346107066 else if (SvPVX_const(sv)
6402 40891 549128567 && !(SvTYPE(sv) == SVt_PVIO
4043 36848 && !(SvTYPE(sv) == SVt_PVIO
6405 229867735 319264875 if (SvIsCOW(sv)) {
6410 162955624 66912111 if (SvLEN(sv)) {
6414 71968976 90986648 if (CowREFCNT(sv)) {
6427 408328928 140803682 if (SvLEN(sv)) {
6451 1023859845 434370375 if (sv_type_details->arena) {
6455 192 434370183 else if (sv_type_details->body_size) {
6461 747203299 1187059392 if (sv != orig_sv && !SvREFCNT(sv))
747203299 0 if (sv != orig_sv && !SvREFCNT(sv))
6462 747203299 0 del_SV(sv);
6468 1660630391 544081152 if (next_sv) {
6472 473570998 1187059393 else if (!iter_sv) {
6474 269420051 204150947 } else if (SvTYPE(iter_sv) == SVt_PVAV) {
6476 212698635 56721416 if (AvFILLp(av) > -1) {
6487 204150947 0 } else if (SvTYPE(iter_sv) == SVt_PVHV) {
6489 50903395 153247552 if (!sv && !HvTOTALKEYS((HV *)iter_sv)) {
50903385 10 if (!sv && !HvTOTALKEYS((HV *)iter_sv)) {
6513 1787718 908239631 if (!sv)
6515 0 908239631 if (!SvREFCNT(sv)) {
6519 161036330 747203301 if (--(SvREFCNT(sv)))
6529 1912644 745290657 if (SvIMMORTAL(sv)) {
1912644 0 if (SvIMMORTAL(sv)) {
1912644 0 if (SvIMMORTAL(sv)) {
1912644 0 if (SvIMMORTAL(sv)) {
0 1912644 if (SvIMMORTAL(sv)) {
6558 242293443 0 if (HvNAME(stash)) {
242293443 0 if (HvNAME(stash)) {
154 242293289 if (HvNAME(stash)) {
242293441 2 if (HvNAME(stash)) {
152 242293289 if (HvNAME(stash)) {
242293441 0 if (HvNAME(stash)) {
6561 242293440 1 if (!SvOBJECT(stash)) destructor = (CV *)SvSTASH(stash);
6562 241318892 974549 if (!destructor || HvMROMETA(stash)->destroy_gen
241318892 0 if (!destructor || HvMROMETA(stash)->destroy_gen
1115729 240203163 if (!destructor || HvMROMETA(stash)->destroy_gen
6567 102181 1988097 if (gv) destructor = GvCV(gv);
6568 2090277 1 if (!SvOBJECT(stash))
6571 1204313 885964 destructor ? (HV *)destructor : ((HV *)0)+1;
6578 3777680 238515761 if (destructor && destructor != ((CV *)0)+1
6581 2724637 1053043 && !CvCONST(destructor)
6584 2354630 370007 && (CvISXSUB(destructor)
6585 2354629 1 || (CvSTART(destructor)
6586 479663 1874966 && (CvSTART(destructor)->op_next->op_type
6588 163 479500 && (CvSTART(destructor)->op_next->op_type
6590 163 0 || CvSTART(destructor)->op_next->op_next->op_type
6595 0 849670 {
6599 2337 847333 PUSHSTACKi(PERLSI_DESTROY);
6601 0 849670 PUSHMARK(SP);
6606 0 849670 POPSTACK;
6609 849670 0 if(SvREFCNT(tmpref) < 2) {
6618 242293443 0 } while (SvOBJECT(sv) && SvSTASH(sv) != stash);
1 242293442 } while (SvOBJECT(sv) && SvSTASH(sv) != stash);
6621 242288568 4874 if (check_refcnt && SvREFCNT(sv)) {
5 242288563 if (check_refcnt && SvREFCNT(sv)) {
6622 2 3 if (PL_in_clean_objs)
6623 2 0 Perl_croak(aTHX_
0 2 Perl_croak(aTHX_
6625 2 0 HEKfARG(HvNAME_HEK(stash)));
6631 242293437 0 if (SvOBJECT(sv)) {
6655 0 0 if (sv)
6688 1178508757 1 if (LIKELY( rc == 1 )) {
6700 72992296 1105516461 if (SvIMMORTAL(sv)) {
72992296 0 if (SvIMMORTAL(sv)) {
72992296 0 if (SvIMMORTAL(sv)) {
72992296 0 if (SvIMMORTAL(sv)) {
0 72992296 if (SvIMMORTAL(sv)) {
6706 1178508751 1 if (! SvREFCNT(sv)) /* may have have been resurrected */
6707 1178508751 0 del_SV(sv);
6715 1 0 if (SvFLAGS(sv) & SVf_BREAK)
6719 1 0 if (PL_in_clean_all) /* All is fair */
6721 0 1 if (SvIMMORTAL(sv)) {
0 0 if (SvIMMORTAL(sv)) {
0 0 if (SvIMMORTAL(sv)) {
0 0 if (SvIMMORTAL(sv)) {
0 0 if (SvIMMORTAL(sv)) {
6726 1 0 if (ckWARN_d(WARN_INTERNAL)) {
6768 2463 0 if (!sv)
6771 2463 0 (void)SvPV_const(sv, len);
6795 0 4458183 {
6796 4458183 0 if (!sv)
6808 19385808 209036 const U8 *s = (U8*)SvPV_nomg_const(sv, len);
6812 19594844 0 if (PL_utf8cache && SvUTF8(sv)) {
2040170 17554674 if (PL_utf8cache && SvUTF8(sv)) {
6814 1513611 526559 MAGIC *mg = SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_utf8) : NULL;
6816 1366743 673427 if (mg && (mg->mg_len != -1 || mg->mg_ptr)) {
46220 1320523 if (mg && (mg->mg_len != -1 || mg->mg_ptr)) {
4 46216 if (mg && (mg->mg_len != -1 || mg->mg_ptr)) {
6817 1320523 4 if (mg->mg_len != -1)
6828 0 1320527 if (PL_utf8cache < 0) {
6839 0 17554674 return SvUTF8(sv) ? Perl_utf8_length(aTHX_ s, s + len) : len;
6853 2 1 while (s < send && uoffset) {
168 47 while (s < send && uoffset) {
6857 1 0 if (s == send) {
31 16 if (s == send) {
6860 0 1 else if (s > send) {
0 31 else if (s > send) {
6881 71753 3332 if (uoffset < 2 * backw) {
6887 147558 0 while (s < send && uoffset--)
75805 71753 while (s < send && uoffset--)
6890 0 71753 if (s > send)
6895 1037 3332 while (backw--) {
6897 1159 1037 while (UTF8_IS_CONTINUATION(*send))
6924 134284 16853 if (!uoffset)
6927 134258 26 if (!SvREADONLY(sv) && !SvGMAGICAL(sv) && SvPOK(sv)
6928 134258 0 && PL_utf8cache
6929 74640 59618 && (*mgp || (SvTYPE(sv) >= SVt_PVMG &&
6931 118732 15506 if ((*mgp)->mg_ptr) {
6933 59033 59699 if (cache[0] == uoffset) {
6937 118 59581 if (cache[2] == uoffset) {
6942 59554 27 if (cache[0] < uoffset) {
6944 16 59538 if (cache[0] > uoffset0) {
6949 59553 1 if ((*mgp)->mg_len != -1) {
6963 22 5 else if (cache[2] < uoffset) {
6965 9 13 if (cache[2] > uoffset0) {
6985 15505 1 else if ((*mgp)->mg_len != -1) {
6997 75086 47 if (!found || PL_utf8cache < 0) {
0 75086 if (!found || PL_utf8cache < 0) {
7004 0 47 if (found && PL_utf8cache < 0)
0 0 if (found && PL_utf8cache < 0)
7010 75133 0 if (PL_utf8cache && !SvGMAGICAL(sv) && SvPOK(sv)) {
75121 12 if (PL_utf8cache && !SvGMAGICAL(sv) && SvPOK(sv)) {
7011 14 75107 if (at_end)
7051 76848 6 start = (U8*)SvPV_flags(sv, len, flags);
7052 76849 5 if (len) {
7057 75228 1621 if (lenp
7058 74288 940 && *lenp /* don't bother doing work for 0, as its bytes equivalent
7069 5 0 if (lenp)
7106 22 35 if (lenp) {
7122 719857 491 if (SvREADONLY(sv) || SvGMAGICAL(sv) || !SvPOK(sv))
7125 672957 46900 if (!*mgp && (SvTYPE(sv) < SVt_PVMG ||
7165 1083765 13 if (SvREADONLY(sv))
7168 94 1083671 if (!*mgp && (SvTYPE(sv) < SVt_PVMG ||
7176 15747 1068018 if (!(cache = (STRLEN *)(*mgp)->mg_ptr)) {
7182 1 1083764 if (PL_utf8cache < 0 && SvPOKp(sv)) {
1 0 if (PL_utf8cache < 0 && SvPOKp(sv)) {
7200 15749 1068016 if (cache[1] == 0) {
7204 1413 1066603 } else if (cache[3] == 0) {
7205 1404 9 if (byte > cache[1]) {
7226 1066564 39 if (byte > cache[1]) {
7233 664 1065900 if (keep_later < keep_earlier) {
7244 30 9 else if (byte > cache[3]) {
7251 6 24 if (keep_later < keep_earlier) {
7267 4 5 if (keep_later < keep_earlier) {
7294 768 8481 if (forw < 2 * backw) {
7298 183 768 while (end > target) {
7300 14 183 while (UTF8_IS_CONTINUATION(*end)) {
7337 1009367 0 s = (const U8*)SvPV_flags(sv, blen, flags);
7339 0 1009367 if (blen < offset)
7345 1009362 5 if (!SvREADONLY(sv)
7346 1009362 0 && PL_utf8cache
7347 1009348 14 && SvTYPE(sv) >= SVt_PVMG
7348 1009276 72 && (mg = mg_find(sv, PERL_MAGIC_utf8)))
7350 1008459 817 if (mg->mg_ptr) {
7352 2 1008457 if (cache[1] == offset) {
7356 3 1008454 if (cache[3] == offset) {
7361 1008433 21 if (cache[1] < offset) {
7363 8411 1000022 if (mg->mg_len != -1) {
7372 17 4 else if (cache[3] < offset) {
7389 817 0 } else if (mg->mg_len != -1) {
7394 1009271 91 if (!found || PL_utf8cache < 0) {
1 1009270 if (!found || PL_utf8cache < 0) {
7397 1 91 if (found && PL_utf8cache < 0)
1 0 if (found && PL_utf8cache < 0)
7402 1009362 0 if (PL_utf8cache) {
7403 691 1008671 if (blen == offset)
7436 129 0 if (!sv)
7451 0 2 if (from_cache == real)
7489 0 214925342 if (!sv1) {
7497 868 214924474 if (sv1 == sv2 && flags & SV_GMAGIC
0 868 if (sv1 == sv2 && flags & SV_GMAGIC
7498 0 0 && (SvTHINKFIRST(sv1) || SvGMAGICAL(sv1))) {
7499 0 0 pv1 = SvPV_const(sv1, cur1);
7502 212841206 2084136 pv1 = SvPV_flags_const(sv1, cur1, flags);
7505 0 214925342 if (!sv2){
7510 214238630 686712 pv2 = SvPV_flags_const(sv2, cur2, flags);
7512 212670690 2254652 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
211787521 883169 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
130900 211656621 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
130893 7 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
7515 10883 120010 if (PL_encoding) {
7516 10792 91 if (SvUTF8(sv1)) {
7519 10792 0 pv2 = SvPV_const(svrecode, cur2);
7524 91 0 pv1 = SvPV_const(svrecode, cur1);
7527 118 10765 if (cur1 != cur2) {
7533 117607 2403 if (SvUTF8(sv1)) {
7546 67860610 146944604 if (cur1 == cur2)
7547 67409845 450765 eq = (pv1 == pv2) || memEQ(pv1, pv2, cur1);
32025008 35384837 eq = (pv1 == pv2) || memEQ(pv1, pv2, cur1);
7589 1 97914584 if (!sv1) {
7594 97506682 407902 pv1 = SvPV_flags_const(sv1, cur1, flags);
7596 4 97914581 if (!sv2) {
7601 97506783 407798 pv2 = SvPV_flags_const(sv2, cur2, flags);
7603 97907681 6904 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
97907376 305 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
17036 97890340 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
17036 0 if (cur1 && cur2 && SvUTF8(sv1) != SvUTF8(sv2) && !IN_BYTES) {
7606 9268 7768 if (SvUTF8(sv1)) {
7607 211 9057 if (PL_encoding) {
7610 211 0 pv2 = SvPV_const(svrecode, cur2);
7615 9053 4 return retval ? retval < 0 ? -1 : +1 : 0;
6251 2802 return retval ? retval < 0 ? -1 : +1 : 0;
7619 231 7537 if (PL_encoding) {
7622 231 0 pv1 = SvPV_const(svrecode, cur1);
7627 7525 12 return retval ? retval < 0 ? -1 : +1 : 0;
2504 5021 return retval ? retval < 0 ? -1 : +1 : 0;
7632 6904 97891087 if (!cur1) {
7633 15 6889 cmp = cur2 ? -1 : 0;
7634 97890782 305 } else if (!cur2) {
7639 96371691 1519091 if (retval) {
7640 45383213 50988478 cmp = retval < 0 ? -1 : 1;
7641 1219462 299629 } else if (cur1 == cur2) {
7644 602102 617360 cmp = cur1 < cur2 ? -1 : 1;
7686 0 0 if (PL_collation_standard)
7690 0 0 pv1 = sv1 ? sv_collxfrm_flags(sv1, &len1, flags) : (char *) NULL;
7692 0 0 pv2 = sv2 ? sv_collxfrm_flags(sv2, &len2, flags) : (char *) NULL;
7694 0 0 if (!pv1 || !len1) {
0 0 if (!pv1 || !len1) {
7695 0 0 if (pv2 && len2)
0 0 if (pv2 && len2)
7701 0 0 if (!pv2 || !len2)
0 0 if (!pv2 || !len2)
7707 0 0 if (retval)
7708 0 0 return retval < 0 ? -1 : 1;
7755 0 0 mg = SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_collxfrm) : (MAGIC *) NULL;
7756 0 0 if (!mg || !mg->mg_ptr || *(U32*)mg->mg_ptr != PL_collation_ix) {
0 0 if (!mg || !mg->mg_ptr || *(U32*)mg->mg_ptr != PL_collation_ix) {
0 0 if (!mg || !mg->mg_ptr || *(U32*)mg->mg_ptr != PL_collation_ix) {
7761 0 0 if (mg)
7763 0 0 s = SvPV_flags_const(sv, len, flags);
7764 0 0 if ((xf = mem_collxfrm(s, len, &xlen))) {
7765 0 0 if (! mg) {
7778 0 0 if (mg) {
7784 0 0 if (mg && mg->mg_ptr) {
0 0 if (mg && mg->mg_ptr) {
7807 5 0 return (SvCUR(sv) - append) ? SvPVX(sv) : NULL;
7814 0 2228 const STRLEN recsize = SvUV(SvRV(PL_rs)); /* RsRECORD() guarantees > 0. */
7816 2228 0 char *buffer = SvGROW(sv, (STRLEN)(recsize + append + 1)) + append;
8 2220 char *buffer = SvGROW(sv, (STRLEN)(recsize + append + 1)) + append;
7849 6 2222 if (PerlIO_isutf8(fp) && bytesread > 0) {
6 0 if (PerlIO_isutf8(fp) && bytesread > 0) {
7856 13 4 while (charcount < recsize) {
7858 27 8 while (bufp < bend) {
7859 23 4 if (charstart) {
7862 22 5 if (bufp + skip > bend) {
7874 9 4 if (charcount < recsize) {
7891 4 5 if (charstart)
7895 9 0 buffer = SvGROW(sv, append + bytesread + readsize + 1) + append;
0 9 buffer = SvGROW(sv, append + bytesread + readsize + 1) + append;
7898 7 2 if (morebytesread <= 0) {
7920 0 2228 if (bytesread < 0)
7924 1872 356 return (SvCUR(sv) - append) ? SvPVX(sv) : NULL;
7941 7 116261686 {
7953 1358381 114903312 if (SvTHINKFIRST(sv))
7954 1358342 39 sv_force_normal_flags(sv, append ? 0 : SV_COW_DROP_PV);
7962 3271066 112990627 if (append) {
7963 13 3271053 if (PerlIO_isutf8(fp)) {
7964 6 7 if (!SvUTF8(sv)) {
7968 7 3271046 } else if (SvUTF8(sv)) {
7974 112990627 3271059 if (!append) {
7977 11143 116250543 if (PerlIO_isutf8(fp))
7980 111321872 4939814 if (IN_PERL_COMPILETIME) {
7985 20149 4919665 else if (RsSNARF(PL_rs)) {
20149 0 else if (RsSNARF(PL_rs)) {
20149 0 else if (RsSNARF(PL_rs)) {
7992 20149 0 if (!PerlLIO_fstat(PerlIO_fileno(fp), &st) && S_ISREG(st.st_mode)) {
7693 12456 if (!PerlLIO_fstat(PerlIO_fileno(fp), &st) && S_ISREG(st.st_mode)) {
7994 7692 1 if (offset != (Off_t) -1 && st.st_size + append > offset) {
7158 534 if (offset != (Off_t) -1 && st.st_size + append > offset) {
7995 7158 0 (void) SvGROW(sv, (STRLEN)((st.st_size - offset) + append + 1));
1495 5663 (void) SvGROW(sv, (STRLEN)((st.st_size - offset) + append + 1));
8001 2229 4917436 else if (RsRECORD(PL_rs)) {
2227 2 else if (RsRECORD(PL_rs)) {
2226 1 else if (RsRECORD(PL_rs)) {
2 0 else if (RsRECORD(PL_rs)) {
8004 4917434 3 else if (RsPARA(PL_rs)) {
166349 4751085 else if (RsPARA(PL_rs)) {
8011 10767 4740321 if (PerlIO_isutf8(fp)) {
8012 10686 81 rsptr = SvPVutf8(PL_rs, rslen);
8015 24 4740297 if (SvUTF8(PL_rs)) {
8016 2 22 if (!sv_utf8_downgrade(PL_rs, TRUE)) {
8020 4740316 3 rsptr = SvPV_const(PL_rs, rslen);
8024 116239307 20149 rslast = rslen ? rsptr[rslen - 1] : '\0';
8026 166349 116093107 if (rspara) { /* have to do this both before and after */
8028 165614 840 if (PerlIO_eof(fp))
8031 165509 105 if (i != '\n') {
8032 165509 0 if (i == -1)
8037 105 0 } while (i != EOF);
8048 116258608 8 if (PerlIO_fast_gets(fp)) {
8072 3607531 112651077 if ((I32)(SvLEN(sv) - append) <= cnt + 1) {
8076 3254727 352804 if (rslen && cnt > 80 && (I32)SvLEN(sv) > append) {
2249849 1004878 if (rslen && cnt > 80 && (I32)SvLEN(sv) > append) {
8084 1357682 0 SvGROW(sv, (STRLEN)(append + (cnt <= 0 ? 2 : (cnt + 1))));
1040243 317439 SvGROW(sv, (STRLEN)(append + (cnt <= 0 ? 2 : (cnt + 1))));
1357625 57 SvGROW(sv, (STRLEN)(append + (cnt <= 0 ? 2 : (cnt + 1))));
1040186 317439 SvGROW(sv, (STRLEN)(append + (cnt <= 0 ? 2 : (cnt + 1))));
8099 117460932 792407 if (cnt > 0) {
8100 117430412 30520 if (rslen) {
8101 3354765258 646826 while (cnt > 0) { /* this | eat */
8103 3237981672 116783586 if ((*bp++ = *ptr++) == rslast) /* really | dust */
8117 332559 1106674 if (shortbuffered) { /* oh well, must extend */
8122 332559 0 SvGROW(sv, SvLEN(sv) + append + cnt + 2);
332559 0 SvGROW(sv, SvLEN(sv) + append + cnt + 2);
8153 999595 137597 if (i == EOF) /* all done for ever? */
8158 999595 0 SvGROW(sv, bpx + cnt + 2);
622733 376862 SvGROW(sv, bpx + cnt + 2);
8163 30238 969357 if (rslen && (STDCHAR)i == rslast) /* all done for now? */
941840 27517 if (rslen && (STDCHAR)i == rslast) /* all done for now? */
8168 855663 115955440 if ((rslen > 1 && (STRLEN)(bp - (STDCHAR*)SvPVX_const(sv)) < rslen) ||
51 855612 if ((rslen > 1 && (STRLEN)(bp - (STDCHAR*)SvPVX_const(sv)) < rslen) ||
690043 116121009 if ((rslen > 1 && (STRLEN)(bp - (STDCHAR*)SvPVX_const(sv)) < rslen) ||
8172 1917139 114341467 if (shortbuffered)
8199 4 4 if (rslen) {
8202 9 3 while ((i = PerlIO_getc(fp)) != EOF && (*bp++ = (STDCHAR)i) != rslast && bp < bpe)
8 1 while ((i = PerlIO_getc(fp)) != EOF && (*bp++ = (STDCHAR)i) != rslast && bp < bpe)
8 0 while ((i = PerlIO_getc(fp)) != EOF && (*bp++ = (STDCHAR)i) != rslast && bp < bpe)
8211 2 2 if (cnt > 0)
8217 0 8 if (cnt < 0)
8219 0 8 if (append)
8224 3 5 if (i != EOF && /* joy */
1 2 if (i != EOF && /* joy */
8225 1 0 (!rslen ||
8226 0 1 SvCUR(sv) < rslen ||
8241 0 2 if (!(cnt < (I32)sizeof(buf) && PerlIO_eof(fp)))
0 2 if (!(cnt < (I32)sizeof(buf) && PerlIO_eof(fp)))
8250 165509 116093105 if (rspara) { /* have to do this both before and after */
8251 168392 677 while (i != EOF) { /* to make sure file boundaries work right */
8253 164832 3560 if (i != '\n') {
8260 116136215 122399 return (SvCUR(sv) - append) ? SvPVX(sv) : NULL;
8274 545 1935741 {
8275 1936286 0 if (!sv)
8297 8573257 0 if (!sv)
8299 117716 8455541 if (SvTHINKFIRST(sv)) {
8300 2 117714 if (SvREADONLY(sv)) {
8303 104 117610 if (SvROK(sv)) {
8305 104 0 if (SvAMAGIC(sv) && AMG_CALLunary(sv, inc_amg))
104 0 if (SvAMAGIC(sv) && AMG_CALLunary(sv, inc_amg))
103 1 if (SvAMAGIC(sv) && AMG_CALLunary(sv, inc_amg))
0 93 if (SvAMAGIC(sv) && AMG_CALLunary(sv, inc_amg))
8314 1284132 7289020 if ((flags & (SVp_NOK|SVp_IOK)) == SVp_NOK) {
8317 1284132 0 (void) SvIV(sv);
8320 6371729 2201423 if ((flags & SVf_IOK) || ((flags & (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
0 6371729 if ((flags & SVf_IOK) || ((flags & (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
8325 1346 2200458 if (SvIsUV(sv)) {
8326 389 957 if (SvUVX(sv) == UV_MAX)
8329 0 957 (void)SvIOK_only_UV(sv);
8332 2 2200456 if (SvIVX(sv) == IV_MAX)
8335 0 2200456 (void)SvIOK_only(sv);
8341 552 6371177 if (flags & SVp_NOK) {
8343 116 436 if (NV_OVERFLOWS_INTEGERS_AT &&
8350 0 552 (void)SvNOK_only(sv);
8355 40671 6330506 if (!(flags & SVp_POK) || !*SvPVX_const(sv)) {
7 40664 if (!(flags & SVp_POK) || !*SvPVX_const(sv)) {
8356 6330167 346 if ((flags & SVTYPEMASK) < SVt_PVIV)
8357 6330159 8 sv_upgrade(sv, ((flags & SVTYPEMASK) > SVt_IV ? SVt_PVIV : SVt_IV));
8358 0 6330513 (void)SvIOK_only(sv);
8363 67466 40664 while (isALPHA(*d)) d++;
8364 61079 40664 while (isDIGIT(*d)) d++;
8365 725 39939 if (d < SvEND(sv)) {
8371 717 8 if (numtype && !(numtype & IS_NUMBER_INFINITY)) {
717 0 if (numtype && !(numtype & IS_NUMBER_INFINITY)) {
8380 381 336 if (SvIOK(sv))
8384 0 336 if (flags & SVp_NOK) {
8385 0 0 (void)SvNOK_only(sv);
8401 8 336 if (!numtype && ckWARN(WARN_NUMERIC))
2 6 if (!numtype && ckWARN(WARN_NUMERIC))
8407 41960 16 while (d >= SvPVX_const(sv)) {
8408 13252 28708 if (isDIGIT(*d)) {
8409 1249 12003 if (++*d <= '9')
8428 788 27920 if (isALPHA(*d))
8435 16 0 SvGROW(sv, SvCUR(sv) + 2);
0 16 SvGROW(sv, SvCUR(sv) + 2);
8437 61 16 for (d = SvPVX(sv) + SvCUR(sv); d > SvPVX_const(sv); d--)
8439 6 10 if (isDIGIT(d[1]))
8456 23 15147 {
8458 15170 0 if (!sv)
8479 53758 0 if (!sv)
8481 38228 15530 if (SvTHINKFIRST(sv)) {
8482 0 38228 if (SvREADONLY(sv)) {
8485 129 38099 if (SvROK(sv)) {
8487 129 0 if (SvAMAGIC(sv) && AMG_CALLunary(sv, dec_amg))
129 0 if (SvAMAGIC(sv) && AMG_CALLunary(sv, dec_amg))
129 0 if (SvAMAGIC(sv) && AMG_CALLunary(sv, dec_amg))
1 118 if (SvAMAGIC(sv) && AMG_CALLunary(sv, dec_amg))
8498 2331 51299 if ((flags & SVf_IOK) || ((flags & (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
0 2331 if ((flags & SVf_IOK) || ((flags & (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
8503 1632 50719 if (SvIsUV(sv)) {
8504 0 1632 if (SvUVX(sv) == 0) {
8505 0 0 (void)SvIOK_only(sv);
8509 0 1632 (void)SvIOK_only_UV(sv);
8513 682 50037 if (SvIVX(sv) == IV_MIN) {
8518 0 50037 (void)SvIOK_only(sv);
8524 921 1410 if (flags & SVp_NOK) {
8528 1010 593 if (NV_OVERFLOWS_INTEGERS_AT &&
8535 0 1603 (void)SvNOK_only(sv);
8540 15 1395 if (!(flags & SVp_POK)) {
8541 11 4 if ((flags & SVTYPEMASK) < SVt_PVIV)
8542 10 1 sv_upgrade(sv, ((flags & SVTYPEMASK) > SVt_IV) ? SVt_PVIV : SVt_IV);
8544 0 15 (void)SvIOK_only(sv);
8550 1388 7 if (numtype && !(numtype & IS_NUMBER_INFINITY)) {
1388 0 if (numtype && !(numtype & IS_NUMBER_INFINITY)) {
8559 1052 336 if (SvIOK(sv))
8563 0 336 if (flags & SVp_NOK) {
8564 0 0 (void)SvNOK_only(sv);
8616 191991213 0 if (flags & SV_GMAGIC)
202071 191789142 if (flags & SV_GMAGIC)
8618 191955214 35985 new_SV(sv);
8620 5127 191986072 PUSH_EXTEND_MORTAL__SV_C(sv);
8642 328811835 38468 new_SV(sv);
8644 1481 328848822 PUSH_EXTEND_MORTAL__SV_C(sv);
8678 110024624 233113 new_SV(sv);
8691 42383351 67874386 if(flags & SVs_TEMP){
8692 458 42382893 PUSH_EXTEND_MORTAL__SV_C(sv);
8714 228671157 6246 if (!sv)
8716 9835876 218835281 if (SvIMMORTAL(sv))
9111574 724302 if (SvIMMORTAL(sv))
9081951 29623 if (SvIMMORTAL(sv))
9037403 44548 if (SvIMMORTAL(sv))
1398376 7639027 if (SvIMMORTAL(sv))
8718 17382 220216275 PUSH_EXTEND_MORTAL__SV_C(sv);
8739 48874051 15483 new_SV(sv);
8740 47955943 933591 sv_setpvn(sv, s, len || s == NULL ? len : strlen(s));
8763 27150228 77585 new_SV(sv);
8782 2 56344611 if (!hek) {
8785 2 0 new_SV(sv);
8789 1007599 55337012 if (HEK_LEN(hek) == HEf_SVKEY) {
8793 3965 55333047 if (flags & HVhek_WASUTF8) {
8804 0 55333047 } else if (flags & HVhek_UNSHARED) {
8810 0 0 if (HEK_UTF8(hek))
8820 55285526 47521 new_SV(sv);
8827 10778 55322269 if (HEK_UTF8(hek))
8858 236 16344718 if (len < 0) {
8865 16344953 1 if (!hash)
8867 16302577 42377 new_SV(sv);
8871 216 16344738 SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
8876 216 16344738 if (is_utf8)
8878 20 16344934 if (src != orig_src)
8954 118068 43 new_SV(sv);
8974 498129 402 new_SV(sv);
8994 292263767 328110 new_SV(sv);
9014 32331294 13268 new_SV(sv);
9033 285368465 455616 new_SV(sv);
9086 87414 24412315 {
9090 24499729 0 if (!old)
9092 0 24499729 if (SvTYPE(old) == (svtype)SVTYPEMASK) {
9098 24475778 23949 new_SV(sv);
9119 0 0 sv_resetpvn(*s ? s : NULL, strlen(s), stash);
9129 29 0 if (!stash || SvTYPE(stash) != SVt_PVHV)
28 1 if (!stash || SvTYPE(stash) != SVt_PVHV)
9132 12 16 if (!s) { /* reset ?? searches */
9134 6 6 if (mg) {
9139 6 6 while (pmp < end) {
9153 16 0 if (!HvARRAY(stash))
9158 19 16 while (s < send) {
9161 1 18 if (s[1] == '-') {
9165 20 19 for ( ; i <= max; i++) {
9168 1768 19 for (i = 0; i <= (I32) HvMAX(stash); i++) {
9170 1031 1768 for (entry = HvARRAY(stash)[i];
9177 967 64 if (!todo[(U8)*HeKEY(entry)])
9181 47 17 if (sv && !SvREADONLY(sv)) {
45 2 if (sv && !SvREADONLY(sv)) {
9182 16 29 SV_CHECK_THINKFIRST_COW_DROP(sv);
9183 44 1 if (!isGV(sv)) SvOK_off(sv);
0 44 if (!isGV(sv)) SvOK_off(sv);
9185 13 51 if (GvAV(gv)) {
9188 16 48 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
4 12 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
4 0 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
0 4 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
0 0 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
4 0 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
0 4 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
0 4 if (GvHV(gv) && !HvNAME_get(GvHV(gv))) {
9223 1535541 0 if (isGV_with_GP(sv)) {
1535541 0 if (isGV_with_GP(sv)) {
9225 1535541 0 io = GvIO(gv);
1535541 0 io = GvIO(gv);
1535541 0 io = GvIO(gv);
9226 3 1535538 if (!io)
9233 0 374489 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
9235 373224 1265 if (SvROK(sv)) {
0 373224 if (SvROK(sv)) {
9240 1263 2 if (gv)
9241 1263 0 io = GvIO(gv);
1263 0 io = GvIO(gv);
1263 0 io = GvIO(gv);
9244 2 1263 if (!io) {
9246 0 2 if (SvGMAGICAL(sv)) {
9276 0 2648127 if (!sv) {
9281 54205 2593881 switch (SvTYPE(sv)) {
9293 105221 2542865 if (SvROK(sv)) {
9294 105221 0 if (SvAMAGIC(sv))
2 105219 if (SvAMAGIC(sv))
0 2 if (SvAMAGIC(sv))
9298 105210 11 if (SvTYPE(sv) == SVt_PVCV) {
9304 0 11 else if(SvGETMAGIC(sv), isGV_with_GP(sv))
4 7 else if(SvGETMAGIC(sv), isGV_with_GP(sv))
0 4 else if(SvGETMAGIC(sv), isGV_with_GP(sv))
7 4 else if(SvGETMAGIC(sv), isGV_with_GP(sv))
9309 988901 1553964 else if (isGV_with_GP(sv)) {
0 988901 else if (isGV_with_GP(sv)) {
9316 296578 2246291 if (!gv) {
9321 1924589 321702 if (!isGV_with_GP(gv)) {
20895 1903694 if (!isGV_with_GP(gv)) {
9325 1903351 343 *st = GvESTASH(gv);
9326 1327920 575774 if (lref & ~GV_ADDMG && !GvCVu(gv)) {
1327907 13 if (lref & ~GV_ADDMG && !GvCVu(gv)) {
19027 1308880 if (lref & ~GV_ADDMG && !GvCVu(gv)) {
9332 1903692 2 return GvCVu(gv);
9349 0 0 if (!sv)
9351 0 0 if (SvPOK(sv)) {
9353 0 0 if (tXpv &&
0 0 if (tXpv &&
9354 0 0 (tXpv->xpv_cur > 1 ||
9355 0 0 (tXpv->xpv_cur && *sv->sv_u.svu_pv != '0')))
9361 0 0 if (SvIOK(sv))
9364 0 0 if (SvNOK(sv))
9398 4472980 2024453 if (flags & SV_GMAGIC) SvGETMAGIC(sv);
1198 4471782 if (flags & SV_GMAGIC) SvGETMAGIC(sv);
9399 6469561 27872 if (SvTHINKFIRST(sv) && (!SvROK(sv) || SvREADONLY(sv)))
6294258 175303 if (SvTHINKFIRST(sv) && (!SvROK(sv) || SvREADONLY(sv)))
9402 6309787 187644 if (SvPOK(sv)) {
9403 4698663 1611124 if (lp)
9410 187644 0 if (SvTYPE(sv) > SVt_PVLV
9411 1 187643 || isGV_with_GP(sv))
1 0 || isGV_with_GP(sv))
9413 0 1 Perl_croak(aTHX_ "Can't coerce %s to string in %s", sv_reftype(sv,0),
9414 0 0 OP_DESC(PL_op));
9416 4 187639 if (!s) {
9419 178820 8823 if (lp)
9422 175371 12272 if (s != SvPVX_const(sv)) { /* Almost, but not quite, sv_setpvn() */
6260 169111 if (s != SvPVX_const(sv)) { /* Almost, but not quite, sv_setpvn() */
9423 175303 68 if (SvROK(sv))
9426 175371 0 SvGROW(sv, len + 1);
175364 7 SvGROW(sv, len + 1);
9431 179554 8089 if (!SvPOK(sv)) {
9433 0 179554 SvTAINT(sv);
0 0 SvTAINT(sv);
0 0 SvTAINT(sv);
9494 6757 8869950 if (ob && SvOBJECT(sv)) {
6757 0 if (ob && SvOBJECT(sv)) {
9495 6757 0 return SvPV_nolen_const(sv_ref(NULL, sv, ob));
9506 1150195 5651123 if (SvVOK(sv))
1150171 24 if (SvVOK(sv))
9508 6783719 17575 if (SvROK(sv))
9513 48 18 case SVt_PVLV: return (char *) (SvROK(sv) ? "REF"
26 22 case SVt_PVLV: return (char *) (SvROK(sv) ? "REF"
9521 252367 0 case SVt_PVGV: return (char *) (isGV_with_GP(sv)
0 252367 case SVt_PVGV: return (char *) (isGV_with_GP(sv)
9545 13514 128667843 if (!dst)
9548 128681357 0 if (ob && SvOBJECT(sv)) {
127068005 1613352 if (ob && SvOBJECT(sv)) {
9549 127068005 0 HvNAME_get(SvSTASH(sv))
4 2 HvNAME_get(SvSTASH(sv))
127067999 0 HvNAME_get(SvSTASH(sv))
4 127067999 HvNAME_get(SvSTASH(sv))
9550 127068003 0 ? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
127068003 0 ? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
127068003 0 ? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
4 127067999 ? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
9551 127068005 0 : sv_setpvn(dst, "__ANON__", 8);
6 127067999 : sv_setpvn(dst, "__ANON__", 8);
9572 10 562156 {
9573 562166 0 if (!sv)
9576 145595 416571 if (!SvROK(sv))
9579 141810 3785 if (!SvOBJECT(sv))
9596 0 66 {
9601 66 0 if (!sv)
9604 49 17 if (!SvROK(sv))
9607 49 0 if (!SvOBJECT(sv))
9609 49 0 hvname = HvNAME_get(SvSTASH(sv));
49 0 hvname = HvNAME_get(SvSTASH(sv));
0 49 hvname = HvNAME_get(SvSTASH(sv));
0 0 hvname = HvNAME_get(SvSTASH(sv));
49 0 hvname = HvNAME_get(SvSTASH(sv));
0 49 hvname = HvNAME_get(SvSTASH(sv));
9610 49 0 if (!hvname)
9635 234546309 20553 new_SV(sv);
9637 96180 234470682 SV_CHECK_THINKFIRST_COW_DROP(rv);
9639 416 234566446 if (SvTYPE(rv) >= SVt_PVMG) {
9647 0 234566446 } else if (SvROK(rv)) {
9650 234221783 344663 prepare_SV_for_RV(rv);
344658 5 prepare_SV_for_RV(rv);
137333 207325 prepare_SV_for_RV(rv);
0 137333 prepare_SV_for_RV(rv);
0 0 prepare_SV_for_RV(rv);
0 0 prepare_SV_for_RV(rv);
9653 0 234566862 SvOK_off(rv);
9657 234566861 1 if (classname) {
9689 9 14375 if (!pv) {
9691 0 9 SvSETMAGIC(rv);
9798 1 239754862 {
235335909 4418952 {
9805 1 239754862 if (!SvROK(sv))
9808 13581 239741281 if (SvFLAGS(tmpRef) & (SVs_OBJECT|SVf_READONLY)) {
9809 1 13580 if (SvREADONLY(tmpRef))
9811 13580 0 if (SvOBJECT(tmpRef)) {
9819 13 239754848 if(SvSMAGICAL(tmpRef))
9820 13 0 if(mg_find(tmpRef, PERL_MAGIC_ext) || mg_find(tmpRef, PERL_MAGIC_uvar))
4 9 if(mg_find(tmpRef, PERL_MAGIC_ext) || mg_find(tmpRef, PERL_MAGIC_uvar))
9838 44 13541360 SV * const temp = flags & SV_COW_DROP_PV ? NULL : sv_newmortal();
9844 44 13541360 if (!(flags & SV_COW_DROP_PV))
9847 13541404 0 if (GvGP(sv)) {
9848 13541404 0 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
9648730 3892674 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
9648726 4 if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
9849 9648726 0 && HvNAME_get(stash))
9648726 0 && HvNAME_get(stash))
15 9648711 && HvNAME_get(stash))
9648726 0 && HvNAME_get(stash))
15 9648711 && HvNAME_get(stash))
9648726 0 && HvNAME_get(stash))
9853 13541387 17 if (GvSTASH(sv)) {
9858 13541404 0 if (GvNAME_HEK(sv)) {
9863 13541347 57 if(SvTYPE(sv) == SVt_PVGV) {
9876 13541360 44 if (flags & SV_COW_DROP_PV) SvOK_off(sv);
0 13541360 if (flags & SV_COW_DROP_PV) SvOK_off(sv);
9879 6 13541398 if ((const GV *)sv == PL_last_in_gv)
9881 5 13541393 else if ((const GV *)sv == PL_statgv)
9906 18 232818044 if (SvWEAKREF(ref)) {
9916 58863143 173954901 if (SvREFCNT(target) != 1 || (flags & SV_IMMEDIATE_UNREF))
49339127 9524016 if (SvREFCNT(target) != 1 || (flags & SV_IMMEDIATE_UNREF))
9935 2787 5982 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
2787 0 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
9937 7 2780 if (mg)
9955 30747582 0 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
30747582 0 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
9957 6098 30741484 if (mg && (mg->mg_len & 1) )
66 6032 if (mg && (mg->mg_len & 1) )
9998 0 0 SvSETMAGIC(sv);
10116 3 0 SvSETMAGIC(sv);
10238 3 0 SvSETMAGIC(sv);
10270 51 53 if (ckWARN(WARN_MISSING)) {
10271 51 0 Perl_warner(aTHX_ packWARN(WARN_MISSING), "Missing argument in %s",
10272 0 51 PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
0 0 PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
10286 1790955 25363853 switch (**pattern) {
10291 58396 1790949 while (isDIGIT(**pattern)) {
10293 6 58390 if (tmp < var)
10294 6 0 Perl_croak(aTHX_ "Integer overflow in format string for %s", (PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn"));
0 6 Perl_croak(aTHX_ "Integer overflow in format string for %s", (PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn"));
0 0 Perl_croak(aTHX_ "Integer overflow in format string for %s", (PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn"));
10309 17 411 if (neg)
10311 424 4 if (nv < UV_MAX) {
10315 360 64 if (uv & 1 && uv == nv)
0 360 if (uv & 1 && uv == nv)
10320 1651 424 } while (uv /= 10);
10321 17 407 if (neg)
10376 17344 5922537 bool has_utf8 = DO_UTF8(sv); /* has the result utf8? */
0 17344 bool has_utf8 = DO_UTF8(sv); /* has the result utf8? */
10392 782589 5157292 if (flags & SV_GMAGIC)
146 782443 if (flags & SV_GMAGIC)
10396 5939440 441 (void)SvPV_force_nomg(sv, origlen);
10399 5939872 9 if (patlen == 0)
10401 221027 5718845 if (patlen == 2 && pat[0] == '%' && pat[1] == 's') {
220916 111 if (patlen == 2 && pat[0] == '%' && pat[1] == 's') {
719 220197 if (patlen == 2 && pat[0] == '%' && pat[1] == 's') {
10402 536 183 if (args) {
10403 536 0 const char * const s = va_arg(*args, char*);
10404 536 0 sv_catpv_nomg(sv, s ? s : nullstr);
10406 182 1 else if (svix < svmax) {
0 182 else if (svix < svmax) {
10415 90357 5848796 if (args && patlen == 3 && pat[0] == '%' &&
90299 58 if (args && patlen == 3 && pat[0] == '%' &&
13934 76365 if (args && patlen == 3 && pat[0] == '%' &&
10416 13934 0 pat[1] == '-' && pat[2] == 'p') {
10417 13934 0 argsv = MUTABLE_SV(va_arg(*args, void*));
10424 674493 5250726 if ( !args && patlen <= 5 && pat[0] == '%' && pat[1] == '.'
464842 209651 if ( !args && patlen <= 5 && pat[0] == '%' && pat[1] == '.'
616 464226 if ( !args && patlen <= 5 && pat[0] == '%' && pat[1] == '.'
10425 548 68 && (pat[patlen-1] == 'g' || pat[patlen-1] == 'f') ) {
10430 256 548 while (*pp >= '0' && *pp <= '9')
10432 193 355 if (pp - pat == (int)patlen - 1 && svix < svmax) {
10433 191 2 const NV nv = SvNV(*svargs);
10434 64 129 if (*pp == 'g') {
10438 62 2 if (digits && digits < sizeof(ebuf) - NV_DIG - 10) {
10442 0 62 if (*ebuf) /* May return an empty string for digits==0 */
10445 16 113 } else if (!digits) {
10448 16 0 if ((p = F0convert(nv, ebuf + sizeof ebuf, &l))) {
10457 2380544 3544597 if (!args && svix < svmax && DO_UTF8(*svargs))
117 2380427 if (!args && svix < svmax && DO_UTF8(*svargs))
113 4 if (!args && svix < svmax && DO_UTF8(*svargs))
10461 13584833 2535366 for (p = (char*)pat; p < patend; p = q) {
10517 56240957 3389759 for (q = p; q < patend && *q != '%'; ++q) ;
46045883 10195074 for (q = p; q < patend && *q != '%'; ++q) ;
10518 12292251 1292582 if (q > p) {
10519 52099 12240152 if (has_utf8 && !pat_utf8)
17421 34678 if (has_utf8 && !pat_utf8)
10520 17361 60 sv_catpvn_nomg_utf8_upgrade(sv, p, q - p, nsv);
10525 10195074 3389759 if (q++ >= patend)
10542 7239158 2955916 if (args) {
10567 209422 7029736 if (*q == '-')
10569 1174 7028562 else if (strnEQ(q, UTF8f, sizeof(UTF8f)-1)) { /* UTF8f */
10572 1174 0 is_utf8 = (bool)va_arg(*args, int);
10573 1143 31 elen = va_arg(*args, UV);
10574 1143 31 eptr = va_arg(*args, char *);
10579 228675 7009309 if (*q++ == 'p') {
10580 209413 19262 if (sv) { /* SVf */
10581 42 209371 if (n) {
10585 209298 115 argsv = MUTABLE_SV(va_arg(*args, void*));
10586 209389 24 eptr = SvPV_const(argsv, elen);
10587 17071 192342 if (DO_UTF8(argsv))
17071 0 if (DO_UTF8(argsv))
10591 19260 2 else if (n==2 || n==3) { /* HEKf */
10592 19260 0 HEK * const hek = va_arg(*args, HEK *);
10595 89 19171 if (HEK_UTF8(hek)) is_utf8 = TRUE;
10596 0 19260 if (n==3) precis = 256, has_precis = TRUE;
10599 0 2 else if (n) {
10607 16704 9948517 if ( (width = expect_number(&q)) ) {
10608 51 16653 if (*q == '$') {
10618 11902163 5 while (*q) {
10622 559 1426 if (plus == '+' && *q == ' ') /* '+' over ' ' */
280 279 if (plus == '+' && *q == ' ') /* '+' over ' ' */
10649 25178 9926176 if (*q == '*') {
10651 8 25170 if ( (ewix = expect_number(&q)) )
10652 6 2 if (*q++ != '$')
10656 2787 9948565 if (*q == 'v') {
10658 2786 1 if (vectorize)
10660 2734 52 if ((vectorarg = asterisk)) {
10669 9923441 25124 if (!asterisk)
10671 2 9923439 if( *q == '0' )
10676 2784 9945781 if (vectorize && vectorarg) {
51 2733 if (vectorize && vectorarg) {
10678 0 51 if (args)
10679 0 0 vecsv = va_arg(*args, SV*);
10680 1 50 else if (evix) {
10682 0 1 ? svargs[evix-1] : S_vcatpvfn_missing_argument(aTHX);
10685 50 0 ? svargs[svix++] : S_vcatpvfn_missing_argument(aTHX);
10687 51 0 dotstr = SvPV_const(vecsv, dotstrlen);
10690 9 42 if (DO_UTF8(vecsv))
0 9 if (DO_UTF8(vecsv))
10692 6 36 else if (has_utf8) {
10695 6 0 dotstr = SvPV_const(vecsv, dotstrlen);
10700 25124 9923441 if (asterisk) {
10701 19301 5823 if (args)
10702 19079 222 i = va_arg(*args, int);
10704 5 5818 i = (ewix ? ewix <= svmax : svix < svmax) ?
5822 1 i = (ewix ? ewix <= svmax : svix < svmax) ?
10705 5 5817 SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
5822 0 SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
10713 7193 9958025 if (*q == '.') {
10715 4215 2978 if (*q == '*') {
10717 0 2978 if ( ((epix = expect_number(&q))) && (*q++ != '$') )
0 0 if ( ((epix = expect_number(&q))) && (*q++ != '$') )
10720 2978 0 if (epix)
10722 2575 403 if (args)
10723 2465 110 i = va_arg(*args, int);
10725 403 0 i = (ewix ? ewix <= svmax : svix < svmax)
10726 0 403 ? SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
0 403 ? SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
403 0 ? SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
10732 4215 4215 while (isDIGIT(*q))
10738 2784 9962434 if (vectorize) {
10739 0 2784 if (args) {
10740 0 0 VECTORIZE_ARGS
0 0 VECTORIZE_ARGS
0 0 VECTORIZE_ARGS
0 0 VECTORIZE_ARGS
10742 1 2783 else if (efix ? (efix > 0 && efix <= svmax) : svix < svmax) {
2528 256 else if (efix ? (efix > 0 && efix <= svmax) : svix < svmax) {
10743 0 2528 vecsv = svargs[efix ? efix-1 : svix++];
10744 149 2379 vecstr = (U8*)SvPV_const(vecsv,veclen);
10745 57 2471 vec_utf8 = DO_UTF8(vecsv);
6 51 vec_utf8 = DO_UTF8(vecsv);
10751 2370 158 if (sv_isobject(vecsv) && sv_derived_from(vecsv, "version")) {
2370 0 if (sv_isobject(vecsv) && sv_derived_from(vecsv, "version")) {
10752 4 2366 if ( hv_exists(MUTABLE_HV(SvRV(vecsv)), "alpha", 5 ) ) {
10760 2366 0 vecstr = (U8*)SvPV_const(vecsv, veclen);
10761 2 2364 vec_utf8 = DO_UTF8(vecsv);
0 2 vec_utf8 = DO_UTF8(vecsv);
10806 27 4114403 if (*q == 'l') { /* lld, llf */
10815 1 5 if (*++q == 'h') { /* hhd, hhu */
10834 7274 9957944 if (*q == '%') {
10837 2 7272 if (vectorize) {
10844 9955162 2782 if (!vectorize && !args) {
2945884 7009278 if (!vectorize && !args) {
10845 50 2945834 if (efix) {
10848 12 38 ? svargs[i] : S_vcatpvfn_missing_argument(aTHX);
10851 2945770 64 ? svargs[svix++] : S_vcatpvfn_missing_argument(aTHX);
10860 131835 2 if (vectorize)
10862 131815 20 uv = (args) ? va_arg(*args, int) : SvIV(argsv);
129942 1873 uv = (args) ? va_arg(*args, int) : SvIV(argsv);
20 0 uv = (args) ? va_arg(*args, int) : SvIV(argsv);
10863 131826 9 if ((uv > 255 ||
0 131826 if ((uv > 255 ||
10864 0 0 (!NATIVE_IS_INVARIANT(uv) && SvUTF8(sv)))
10865 9 0 && !IN_BYTES) {
10878 3047057 2 if (vectorize)
10880 2665166 381891 if (args) {
10881 2664199 967 eptr = va_arg(*args, char*);
10882 2665166 0 if (eptr)
10890 379142 2749 eptr = SvPV_const(argsv, elen);
10891 202 381689 if (DO_UTF8(argsv)) {
202 0 if (DO_UTF8(argsv)) {
10893 54 148 if (has_precis && precis < elen) {
40 14 if (has_precis && precis < elen) {
10894 40 0 STRLEN ulen = sv_or_pv_len_utf8(argsv, eptr, elen);
1 39 STRLEN ulen = sv_or_pv_len_utf8(argsv, eptr, elen);
1 0 STRLEN ulen = sv_or_pv_len_utf8(argsv, eptr, elen);
1 0 STRLEN ulen = sv_or_pv_len_utf8(argsv, eptr, elen);
10899 54 148 if (width) { /* fudge width (can't fudge elen) */
10900 53 1 if (has_precis && precis < elen)
11 42 if (has_precis && precis < elen)
10904 43 0 elen - sv_or_pv_len_utf8(argsv,eptr,elen);
1 42 elen - sv_or_pv_len_utf8(argsv,eptr,elen);
1 0 elen - sv_or_pv_len_utf8(argsv,eptr,elen);
1 0 elen - sv_or_pv_len_utf8(argsv,eptr,elen);
10911 2712 3413299 if (has_precis && precis < elen)
2089 623 if (has_precis && precis < elen)
10918 6 1 if (alt || vectorize)
4 2 if (alt || vectorize)
10920 2 2 uv = PTR2UV(args ? va_arg(*args, void*) : argsv);
2 0 uv = PTR2UV(args ? va_arg(*args, void*) : argsv);
10936 2463 2258361 if (vectorize) {
10938 10 2453 if (!veclen)
10940 38 2415 if (vec_utf8)
10949 4 2449 if (plus)
10952 2082098 176263 else if (args) {
10954 0 0 case 'c': iv = (char)va_arg(*args, int); break;
10955 0 0 case 'h': iv = (short)va_arg(*args, int); break;
10956 2035346 74 case 'l': iv = va_arg(*args, long); break;
10957 0 0 case 'V': iv = va_arg(*args, IV); break;
10958 0 0 case 'z': iv = va_arg(*args, SSize_t); break;
10959 0 0 case 't': iv = va_arg(*args, ptrdiff_t); break;
10960 46292 386 default: iv = va_arg(*args, int); break;
10966 0 0 iv = va_arg(*args, Quad_t); break;
10973 163549 12714 IV tiv = SvIV(argsv); /* work around GCC bug #13488 */
10988 2258361 2453 if ( !vectorize ) /* we already set uv above */
10990 2250189 8172 if (iv >= 0) {
10992 631 2249558 if (plus)
11035 63 4504118 if (vectorize) {
11038 8 5074 if (!veclen)
11040 106 4968 if (vec_utf8)
11050 2129739 2374379 else if (args) {
11052 0 0 case 'c': uv = (unsigned char)va_arg(*args, unsigned); break;
11053 0 0 case 'h': uv = (unsigned short)va_arg(*args, unsigned); break;
11054 2078846 24 case 'l': uv = va_arg(*args, unsigned long); break;
11055 0 0 case 'V': uv = va_arg(*args, UV); break;
11056 0 0 case 'z': uv = va_arg(*args, Size_t); break;
11057 0 0 case 't': uv = va_arg(*args, ptrdiff_t); break; /* will sign extend, but there is no uptrdiff_t, so oh well */
11061 50869 0 default: uv = va_arg(*args, unsigned); break;
11064 0 0 uv = va_arg(*args, Uquad_t); break;
11071 2806 2371573 UV tuv = SvUV(argsv); /* work around GCC bug #13488 */
11090 6625437 144573 bool tempalt = uv ? alt : FALSE; /* Vectors can't change alt */
6463533 161904 bool tempalt = uv ? alt : FALSE; /* Vectors can't change alt */
11096 1562172 1071892 p = (char *)((c == 'X') ? PL_hexdigit + 16 : PL_hexdigit);
11100 5790986 2634064 } while (uv >>= 4);
11101 161737 2472327 if (tempalt) {
11110 390457 210681 } while (uv >>= 3);
11111 137 210544 if (alt && *ptr != '0')
118 19 if (alt && *ptr != '0')
11118 6313 2215 } while (uv >>= 1);
11119 27 2188 if (tempalt) {
11128 7031996 3923050 } while (uv /= base);
11133 2076 6767934 if (has_precis) {
11134 1799 277 if (precis > elen)
11136 77 200 else if (precis == 0 && elen == 1 && *eptr == '0'
62 15 else if (precis == 0 && elen == 1 && *eptr == '0'
42 20 else if (precis == 0 && elen == 1 && *eptr == '0'
11137 8 34 && !(base == 8 && alt)) /* "%#.0o" prints "0" */
4 4 && !(base == 8 && alt)) /* "%#.0o" prints "0" */
11141 17 2059 if (fill == '0')
11155 13696 12 if (vectorize)
11164 13695 1 switch (intsize) {
11196 0 458 va_arg(*args, long double) :
11197 458 0 va_arg(*args, double)
11201 458 13237 : SvNV(argsv);
3232 10005 : SvNV(argsv);
11206 13503 192 if (c != 'e' && c != 'E' && (nv * 0) == 0) {
13500 3 if (c != 'e' && c != 'E' && (nv * 0) == 0) {
11211 0 13500 if (i == PERL_INT_MIN)
11213 11914 1586 if (i > 0)
11216 2537 11158 need += has_precis ? precis : 6; /* known default */
11218 472 13223 if (need < width)
11288 253 13442 if (PL_efloatsize < need) {
11295 13105 590 if ( !(width || left || plus || alt) && fill != '0'
13105 0 if ( !(width || left || plus || alt) && fill != '0'
13095 10 if ( !(width || left || plus || alt) && fill != '0'
13085 10 if ( !(width || left || plus || alt) && fill != '0'
12051 1034 if ( !(width || left || plus || alt) && fill != '0'
11296 1018 11033 && has_precis && intsize != 'q' ) { /* Shortcuts */
1018 0 && has_precis && intsize != 'q' ) { /* Shortcuts */
11299 38 980 if ( c == 'g' && precis) {
11302 38 0 if (*PL_efloatbuf) {
11306 412 568 } else if ( c == 'f' && !precis) {
11307 4 408 if ((eptr = F0convert(nv, ebuf + sizeof ebuf, &elen)))
11317 0 13249 if (intsize == 'q') {
11323 0 0 while (p >= prifldbl) { *--ptr = *p--; }
11326 2091 11158 if (has_precis) {
11328 2 2091 do { *--ptr = '0' + (base % 10); } while (base /= 10);
11331 590 12659 if (width) {
11333 15 590 do { *--ptr = '0' + (base % 10); } while (base /= 10);
11335 1037 12212 if (fill == '0')
11337 10 13239 if (left)
11339 19 13230 if (plus)
11341 10 13239 if (alt)
11350 15 13234 if (! PL_numeric_standard && ! IN_SOME_LOCALE_FORM) {
0 15 if (! PL_numeric_standard && ! IN_SOME_LOCALE_FORM) {
0 15 if (! PL_numeric_standard && ! IN_SOME_LOCALE_FORM) {
11364 0 13249 elen = ((intsize == 'q')
11365 0 0 ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, nv)
0 0 ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, nv)
11366 13249 0 : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)nv));
0 13249 : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)nv));
11375 0 13287 if (PL_numeric_radix_sv && SvUTF8(PL_numeric_radix_sv)
0 0 if (PL_numeric_radix_sv && SvUTF8(PL_numeric_radix_sv)
11376 0 0 && instr(eptr, SvPVX_const(PL_numeric_radix_sv)))
11387 5 2 if (vectorize)
11390 0 5 if (args) {
11392 0 0 case 'c': *(va_arg(*args, char*)) = i; break;
11393 0 0 case 'h': *(va_arg(*args, short*)) = i; break;
11394 0 0 default: *(va_arg(*args, int*)) = i; break;
11395 0 0 case 'l': *(va_arg(*args, long*)) = i; break;
11396 0 0 case 'V': *(va_arg(*args, IV*)) = i; break;
11397 0 0 case 'z': *(va_arg(*args, SSize_t*)) = i; break;
11398 0 0 case 't': *(va_arg(*args, ptrdiff_t*)) = i; break;
11404 0 0 *(va_arg(*args, Quad_t*)) = i; break;
11411 1 4 sv_setuv_mg(argsv, has_utf8 ? (UV)sv_len_utf8(sv) : (UV)i);
11418 347 0 if (!args
11419 347 0 && (PL_op->op_type == OP_PRTF || PL_op->op_type == OP_SPRINTF)
11420 331 16 && ckWARN(WARN_PRINTF))
11423 323 8 Perl_sv_setpvf(aTHX_ msg, "Invalid conversion in %sprintf: ",
11425 328 3 if (fmtstart < patend) {
11429 670 328 for (f = fmtstart; f < fmtend; f++) {
11430 503 167 if (isPRINT(*f)) {
11445 39 300 if (c == '\0')
11451 339 0 SvGROW(sv, SvCUR(sv) + elen + 1);
0 339 SvGROW(sv, SvCUR(sv) + elen + 1);
11461 69037 10130679 if (is_utf8 != has_utf8) {
11462 17400 51637 if (is_utf8) {
11463 17391 9 if (SvCUR(sv))
11473 7 51630 if (width) { /* fudge width (can't fudge elen) */
11481 0 10199716 if (have < zeros)
11487 0 10199716 if (need >= (((STRLEN)~0) - SvCUR(sv) - dotstrlen - 1))
11489 10199716 0 SvGROW(sv, SvCUR(sv) + need + dotstrlen + 1);
2530336 7669380 SvGROW(sv, SvCUR(sv) + need + dotstrlen + 1);
11491 838 10198878 if (esignlen && fill == '0') {
11493 1068 838 for (i = 0; i < (int)esignlen; i++)
11496 614392 9585324 if (gap && !left) {
576784 37608 if (gap && !left) {
11500 169733 10029983 if (esignlen && fill != '0') {
11502 331267 169733 for (i = 0; i < (int)esignlen; i++)
11505 1799 10197917 if (zeros) {
11507 1899 1799 for (i = zeros; i; i--)
11510 10139605 60111 if (elen) {
11514 614392 9585324 if (gap && left) {
37608 576784 if (gap && left) {
11518 7527 10192189 if (vectorize) {
11519 5019 2508 if (veclen) {
11526 69300 10130416 if (is_utf8)
11528 69300 10130416 if (has_utf8)
11532 5019 10194697 if (vectorize) {
11537 5006 5920119 SvTAINT(sv);
285 4721 SvTAINT(sv);
285 0 SvTAINT(sv);
11541 0 5925125 if (oldlocale) {
11968 0 183447 Newxz(tbl->tbl_ary, tbl->tbl_max + 1, PTR_TBL_ENT_t*);
11986 37034853 84732191 for (; tblent; tblent = tblent->next) {
37040083 84732219 for (; tblent; tblent = tblent->next) {
11987 37034853 0 if (tblent->oldval == sv)
37034853 5230 if (tblent->oldval == sv)
12001 5230 84732219 return tblent ? tblent->newval : NULL;
12014 0 84732191 if (tblent) {
12019 360517 84371674 if (tbl->tbl_arena_next == tbl->tbl_arena_end) {
12037 29345648 55386543 if (tblent->next && tbl->tbl_items > tbl->tbl_max)
57147 29288501 if (tblent->next && tbl->tbl_items > tbl->tbl_max)
12055 0 57148 Renew(ary, newsize, PTR_TBL_ENT_t*);
12056 0 57148 Zero(&ary[oldsize], newsize-oldsize, PTR_TBL_ENT_t*);
12059 72808448 57148 for (i=0; i < oldsize; i++, ary++) {
12063 24523886 48284562 if (!ent)
12067 36473705 36398141 if ((newsize & PTR_TABLE_HASH(ent->oldval)) != i) {
12075 24587284 48284562 } while (ent);
12085 1 0 if (tbl && tbl->tbl_items) {
1 0 if (tbl && tbl->tbl_items) {
12088 0 1 Zero(tbl->tbl_ary, tbl->tbl_max + 1, struct ptr_tbl_ent **);
12090 1 1 while (arena) {
12111 183447 0 if (!tbl) {
12117 360516 183447 while (arena) {
14045 92911 17 if (SvPOK(sv) && !SvUTF8(sv) && !IN_BYTES && SvROK(encoding)) {
92911 0 if (SvPOK(sv) && !SvUTF8(sv) && !IN_BYTES && SvROK(encoding)) {
92911 0 if (SvPOK(sv) && !SvUTF8(sv) && !IN_BYTES && SvROK(encoding)) {
0 92911 if (SvPOK(sv) && !SvUTF8(sv) && !IN_BYTES && SvROK(encoding)) {
14053 0 92911 PUSHMARK(sp);
14072 92909 0 s = SvPV_const(uni, len);
14073 92909 0 if (s != SvPVX_const(sv)) {
14074 76425 16484 SvGROW(sv, len + 1);
0 76425 SvGROW(sv, len + 1);
14078 92909 0 FREETMPS;
14080 50382 42527 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
47 50335 if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
14083 0 47 if (mg)
14085 47 0 if ((mg = mg_find(sv, PERL_MAGIC_utf8)))
14091 2 15 return SvPOKp(sv) ? SvPVX(sv) : NULL;
14118 846 0 if (SvPOK(ssv) && SvPOK(dsv) && SvROK(encoding) && offset) {
846 0 if (SvPOK(ssv) && SvPOK(dsv) && SvROK(encoding) && offset) {
846 0 if (SvPOK(ssv) && SvPOK(dsv) && SvROK(encoding) && offset) {
0 846 if (SvPOK(ssv) && SvPOK(dsv) && SvROK(encoding) && offset) {
14124 0 846 PUSHMARK(sp);
14135 846 0 ret = SvTRUE(TOPs);
0 846 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
0 846 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
765 81 ret = SvTRUE(TOPs);
765 0 ret = SvTRUE(TOPs);
765 0 ret = SvTRUE(TOPs);
765 0 ret = SvTRUE(TOPs);
0 765 ret = SvTRUE(TOPs);
765 0 ret = SvTRUE(TOPs);
81 0 ret = SvTRUE(TOPs);
81 0 ret = SvTRUE(TOPs);
0 81 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
81 0 ret = SvTRUE(TOPs);
0 0 ret = SvTRUE(TOPs);
14136 846 0 *offset = SvIV(offsv);
14138 846 0 FREETMPS;
14169 41 0 if (!hv || SvMAGICAL(hv) || !HvARRAY(hv) ||
36 5 if (!hv || SvMAGICAL(hv) || !HvARRAY(hv) ||
33 3 if (!hv || SvMAGICAL(hv) || !HvARRAY(hv) ||
31 2 if (!hv || SvMAGICAL(hv) || !HvARRAY(hv) ||
14175 128 0 for (i=HvMAX(hv); i>=0; i--) {
14177 37 97 for (entry = array[i]; entry; entry = HeNEXT(entry)) {
14178 6 31 if (HeVAL(entry) != val)
14180 31 0 if ( HeVAL(entry) == &PL_sv_undef ||
0 31 if ( HeVAL(entry) == &PL_sv_undef ||
14183 31 0 if (!HeKEY(entry))
14185 0 31 if (HeKLEN(entry) == HEf_SVKEY)
14203 15 0 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
15 0 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
10 5 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
10 0 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
15 0 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
10 5 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
5 5 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
5 0 if (!av || SvMAGICAL(av) || !AvARRAY(av) ||
14207 10 0 if (val != &PL_sv_undef) {
5 0 if (val != &PL_sv_undef) {
14211 12 2 for (i=AvFILLp(av); i>=0; i--)
1220 0 for (i=AvFILLp(av); i>=0; i--)
14212 4 8 if (svp[i] == val)
1215 5 if (svp[i] == val)
14235 458 897 if (gv && isGV(gv)) {
453 5 if (gv && isGV(gv)) {
14244 2 451 if ((unsigned int)SvPVX(name)[1] <= 26) {
14254 897 5 CV * const cv = gv ? ((CV *)gv) : find_runcv(NULL);
14260 902 0 if (!cv || !CvPADLIST(cv))
902 0 if (!cv || !CvPADLIST(cv))
14267 38 1317 if (subscript_type == FUV_SUBSCRIPT_HASH) {
14275 61 1256 else if (subscript_type == FUV_SUBSCRIPT_ARRAY) {
14279 11 1245 else if (subscript_type == FUV_SUBSCRIPT_WITHIN) {
14317 4908 0 if (!obase || (match && (!uninit_sv || uninit_sv == &PL_sv_undef ||
1888 3020 if (!obase || (match && (!uninit_sv || uninit_sv == &PL_sv_undef ||
1888 0 if (!obase || (match && (!uninit_sv || uninit_sv == &PL_sv_undef ||
1684 204 if (!obase || (match && (!uninit_sv || uninit_sv == &PL_sv_undef ||
1684 0 if (!obase || (match && (!uninit_sv || uninit_sv == &PL_sv_undef ||
14335 21 11 || (obase->op_type == OP_PADRANGE
0 21 || (obase->op_type == OP_PADRANGE
14336 0 0 && SvTYPE(PAD_SVl(obase->op_targ)) == SVt_PVHV)
14342 15 17 if (pad) { /* @lex, %lex */
14347 8 9 if (cUNOPx(obase)->op_first->op_type == OP_GV) {
14350 8 0 if (!gv)
14352 3 5 sv = hash ? MUTABLE_SV(GvHV(gv)): MUTABLE_SV(GvAV(gv));
14354 7 2 else if (obase == PL_op) /* @{expr}, %{expr} */
14362 8 15 if (hash) {
14364 5 3 if (keysv)
14369 8 7 if (index >= 0)
14373 10 13 if (match && subscript_type == FUV_SUBSCRIPT_WITHIN)
2 8 if (match && subscript_type == FUV_SUBSCRIPT_WITHIN)
14376 8 7 return varname(gv, hash ? '%' : '@', obase->op_targ,
14381 0 7 if (cUNOPx(obase)->op_first->op_type == OP_GV) {
14384 0 0 if (!gv || !GvSTASH(gv))
0 0 if (!gv || !GvSTASH(gv))
14386 0 0 if (match && (GvSV(gv) != uninit_sv))
0 0 if (match && (GvSV(gv) != uninit_sv))
14394 375 654 if (match && PAD_SVl(obase->op_targ) != uninit_sv)
186 189 if (match && PAD_SVl(obase->op_targ) != uninit_sv)
14401 542 0 if (!gv || (match && GvSV(gv) != uninit_sv) || !GvSTASH(gv))
377 165 if (!gv || (match && GvSV(gv) != uninit_sv) || !GvSTASH(gv))
229 148 if (!gv || (match && GvSV(gv) != uninit_sv) || !GvSTASH(gv))
393 1 if (!gv || (match && GvSV(gv) != uninit_sv) || !GvSTASH(gv))
14406 8 6 if (match) {
14409 8 0 if (!av || SvRMAGICAL(av))
4 4 if (!av || SvRMAGICAL(av))
14412 3 1 if (!svp || *svp != uninit_sv)
2 1 if (!svp || *svp != uninit_sv)
14420 25 0 if (!gv)
14422 18 7 if (match) {
14425 18 0 if (!av || SvRMAGICAL(av))
18 0 if (!av || SvRMAGICAL(av))
14428 17 1 if (!svp || *svp != uninit_sv)
16 1 if (!svp || *svp != uninit_sv)
14438 4 0 if (!o || o->op_type != OP_NULL ||
4 0 if (!o || o->op_type != OP_NULL ||
4 0 if (!o || o->op_type != OP_NULL ||
14448 10 93 if (PL_op == obase)
14458 62 31 if (o->op_type == OP_PADAV || o->op_type == OP_PADHV) {
14461 31 0 else if ((o->op_type == OP_RV2AV || o->op_type == OP_RV2HV)
14462 31 0 && cUNOPo->op_first->op_type == OP_GV)
14465 31 0 if (!gv)
14468 8 23 == OP_RV2HV ? MUTABLE_SV(GvHV(gv)) : MUTABLE_SV(GvAV(gv));
14470 93 0 if (!sv)
14473 93 0 if (kid && kid->op_type == OP_NEGATE) {
0 93 if (kid && kid->op_type == OP_NEGATE) {
14478 93 0 if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
45 48 if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
0 45 if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
0 0 if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
0 0 if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
14481 0 45 if (negate) {
14487 33 12 if (match) {
14488 25 8 if (SvMAGICAL(sv))
14490 6 19 if (obase->op_type == OP_HELEM) {
14492 6 0 if (!he || HeVAL(he) != uninit_sv)
4 2 if (!he || HeVAL(he) != uninit_sv)
14497 19 0 const IV opsviv = SvIV(opsv);
14498 0 19 SV * const * const svp = av_fetch(MUTABLE_AV(sv),
14501 12 7 if (!svp || *svp != uninit_sv)
8 4 if (!svp || *svp != uninit_sv)
14505 7 17 if (obase->op_type == OP_HELEM)
14509 0 17 return varname(gv, '@', o->op_targ, NULL,
0 0 return varname(gv, '@', o->op_targ, NULL,
17 0 return varname(gv, '@', o->op_targ, NULL,
14516 33 15 if (obase->op_type == OP_HELEM) {
14518 26 7 if (keysv)
14525 5 10 if (index >= 0)
14529 9 8 if (match)
14531 3 6 return varname(gv,
14545 0 8 if ( o->op_type == OP_PUSHMARK
14546 0 0 || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)
0 0 || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)
14550 4 4 if (!o->op_sibling) {
14553 1 3 if (o->op_type == OP_GV) { /* open FOO; */
14555 0 1 if (match && GvSV(gv) != uninit_sv)
0 0 if (match && GvSV(gv) != uninit_sv)
14573 25 488 if ( !(obase->op_flags & OPf_STACKED)) {
14574 25 0 if (uninit_sv == ((obase->op_private & OPpTARGET_MY)
14576 12 13 : DEFSV))
13 0 : DEFSV))
14591 19 54 if ((obase->op_flags & OPf_STACKED)
14592 0 19 &&
14594 0 0 || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)))
0 0 || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)))
14690 19 16 if (gv && GvSV(gv) == uninit_sv)
11 8 if (gv && GvSV(gv) == uninit_sv)
14697 2 4 if ( !(obase->op_flags & OPf_MOD))
14702 4 8 if (SvROK(PL_rs) && uninit_sv == SvRV(PL_rs))
3 1 if (SvROK(PL_rs) && uninit_sv == SvRV(PL_rs))
14708 2630 186 if (!(obase->op_flags & OPf_KIDS))
14713 2703 0 if (!o)
14726 4495 2192 for (kid=o; kid; kid = kid->op_sibling) {
14727 4495 0 if (kid) {
14729 968 3527 if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid)))
0 968 if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid)))
0 0 if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid)))
0 0 if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid)))
14730 1017 2510 || (type == OP_NULL && ! (kid->op_flags & OPf_KIDS))
898 119 || (type == OP_NULL && ! (kid->op_flags & OPf_KIDS))
14732 197 3211 || (type == OP_PADRANGE)
14736 2700 511 if (o2) { /* more than one found */
14742 514 2189 if (o2)
14746 1136 100 while (o) {
14748 722 414 if (sv)
14770 1564 0 if (PL_op) {
14772 1563 1 if (uninit_sv && PL_curpad) {
1554 9 if (uninit_sv && PL_curpad) {
14774 1383 171 if (varname)
14778 0 1564 Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv,
1383 181 Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv,
14780 0 0 " in ", OP_DESC(PL_op));