Branch Coverage

pp.c
Criterion Covered Total %
branch 3232 4092 79.0


line true false branch
59 127658662 211994 if (GIMME_V == G_SCALAR)
22138 127848518 if (GIMME_V == G_SCALAR)
60 0 22138 XPUSHs(&PL_sv_undef);
67 0 51742143 {
71 6326126 45416017 if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
72 6326124 2 if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
75 23575017 28167126 if (PL_op->op_flags & OPf_REF) {
78 14 28167112 } else if (PL_op->op_private & OPpMAYBE_LVSUB) {
80 14 0 if (flags && !(flags & OPpENTERSUB_INARGS)) {
1 13 if (flags && !(flags & OPpENTERSUB_INARGS)) {
81 0 1 if (GIMME == G_SCALAR)
0 1 if (GIMME == G_SCALAR)
88 25844259 2322866 gimme = GIMME_V;
89 7354541 20812584 if (gimme == G_ARRAY) {
27 7354513 if (gimme == G_ARRAY) {
91 14503 7340038 const Size_t maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
93 7340038 14502 if (SvMAGICAL(TARG)) {
95 137635 14502 for (i=0; i < maxarg; i++) {
97 137635 0 SP[i+1] = (svp) ? *svp : &PL_sv_undef;
102 17834362 7340038 for (i=0; i < (PADOFFSET)maxarg; i++) {
104 17749810 84552 SP[i+1] = sv ? sv : &PL_sv_undef;
109 14567986 6244598 else if (gimme == G_SCALAR) {
111 81 14567905 const SSize_t maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
124 0 58472045 XPUSHs(TARG);
125 400842 58071203 if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
126 400336 506 if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
128 57904737 567308 if (PL_op->op_flags & OPf_REF)
130 2 567306 else if (PL_op->op_private & OPpMAYBE_LVSUB) {
132 2 0 if (flags && !(flags & OPpENTERSUB_INARGS)) {
1 1 if (flags && !(flags & OPpENTERSUB_INARGS)) {
133 0 1 if (GIMME == G_SCALAR)
0 1 if (GIMME == G_SCALAR)
139 519376 47931 gimme = GIMME_V;
140 163438 403869 if (gimme == G_ARRAY) {
143 402192 1677 else if ((PL_op->op_private & OPpTRUEBOOL
144 0 402192 || ( PL_op->op_private & OPpMAYBE_TRUEBOOL
145 0 0 && block_gimme() == G_VOID ))
146 5 1672 && (!SvRMAGICAL(TARG) || !mg_find(TARG, PERL_MAGIC_tied)))
0 5 && (!SvRMAGICAL(TARG) || !mg_find(TARG, PERL_MAGIC_tied)))
147 0 1672 SETs(HvUSEDKEYS(TARG) ? &PL_sv_yes : sv_2mortal(newSViv(0)));
1248 424 SETs(HvUSEDKEYS(TARG) ? &PL_sv_yes : sv_2mortal(newSViv(0)));
148 1360 400837 else if (gimme == G_SCALAR) {
159 0 210 XPUSHs(TARG);
179 6 53 if (CvISXSUB(mg->mg_obj)) { /* constant */
215 39472834 3184322 if (!isGV(sv) || SvFAKE(sv)) SvGETMAGIC(sv);
27 39472807 if (!isGV(sv) || SvFAKE(sv)) SvGETMAGIC(sv);
216 21546116 21111040 if (SvROK(sv)) {
217 21546116 0 if (SvAMAGIC(sv)) {
19956437 1589679 if (SvAMAGIC(sv)) {
1226 19955211 if (SvAMAGIC(sv)) {
222 98472 22684534 if (SvTYPE(sv) == SVt_PVIO) {
229 22684528 6 else if (!isGV_with_GP(sv))
0 22684528 else if (!isGV_with_GP(sv))
233 3261013 17850027 if (!isGV_with_GP(sv)) {
0 3261013 if (!isGV_with_GP(sv)) {
234 1236913 16613114 if (!SvOK(sv)) {
1236913 0 if (!SvOK(sv)) {
1236913 0 if (!SvOK(sv)) {
238 1236891 22 if (vivify_sv && sv != &PL_sv_undef) {
1236891 0 if (vivify_sv && sv != &PL_sv_undef) {
240 0 1236891 if (SvREADONLY(sv))
242 1236877 14 if (cUNOP->op_targ) {
245 1 1236876 if (SvTYPE(stash) != SVt_PVHV) stash = NULL;
250 14 0 const char * const name = CopSTASHPV(PL_curcop);
14 0 const char * const name = CopSTASHPV(PL_curcop);
14 0 const char * const name = CopSTASHPV(PL_curcop);
0 14 const char * const name = CopSTASHPV(PL_curcop);
0 0 const char * const name = CopSTASHPV(PL_curcop);
14 0 const char * const name = CopSTASHPV(PL_curcop);
0 14 const char * const name = CopSTASHPV(PL_curcop);
251 14 0 gv = newGVgen_flags(name,
14 0 gv = newGVgen_flags(name,
0 14 gv = newGVgen_flags(name,
0 0 gv = newGVgen_flags(name,
14 0 gv = newGVgen_flags(name,
0 14 gv = newGVgen_flags(name,
0 14 gv = newGVgen_flags(name,
14 0 gv = newGVgen_flags(name,
254 12663 1224228 prepare_SV_for_RV(sv);
352 1223876 prepare_SV_for_RV(sv);
0 352 prepare_SV_for_RV(sv);
0 0 prepare_SV_for_RV(sv);
0 0 prepare_SV_for_RV(sv);
0 0 prepare_SV_for_RV(sv);
257 1236890 1 SvSETMAGIC(sv);
260 19 3 if (PL_op->op_flags & OPf_REF || strict)
1 18 if (PL_op->op_flags & OPf_REF || strict)
262 11 7 if (ckWARN(WARN_UNINITIALIZED))
266 6106 16607008 if (noinit)
268 5994 112 if (!(sv = MUTABLE_SV(gv_fetchsv_nomg(
274 4 16607004 if (strict)
276 3 1 (SV *)Perl_die(aTHX_
279 1 2 (SvPOKp(sv) && SvCUR(sv)>32 ? "..." : ""),
282 15766761 840243 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpDONT_INIT_GV))
295 83292 41733421 if (SvFAKE(sv) && !(PL_op->op_private & OPpALLOW_FAKE)) {
83216 76 if (SvFAKE(sv) && !(PL_op->op_private & OPpALLOW_FAKE)) {
311 1555117 712652 ((PL_op->op_flags & OPf_SPECIAL) && !(PL_op->op_flags & OPf_MOD))
312 2267769 40389356 || PL_op->op_type == OP_READLINE
41939702 4771 || PL_op->op_type == OP_READLINE
314 1351212 41305843 if (PL_op->op_private & OPpLVAL_INTRO)
330 39 2810722 if (PL_op->op_private & HINT_STRICT_REFS) {
331 4 35 if (SvOK(sv))
4 0 if (SvOK(sv))
0 4 if (SvOK(sv))
332 34 1 Perl_die(aTHX_ S_no_symref_sv, sv,
333 32 2 (SvPOKp(sv) && SvCUR(sv)>32 ? "..." : ""), what);
337 39 2810683 if (!SvOK(sv)) {
39 0 if (!SvOK(sv)) {
39 0 if (!SvOK(sv)) {
338 0 39 if (
342 11 28 if (ckWARN(WARN_UNINITIALIZED))
344 30 9 if (type != SVt_PV && GIMME_V == G_ARRAY) {
30 0 if (type != SVt_PV && GIMME_V == G_ARRAY) {
8 22 if (type != SVt_PV && GIMME_V == G_ARRAY) {
351 39766 2770917 if ((PL_op->op_flags & OPf_SPECIAL) &&
29435 10331 if ((PL_op->op_flags & OPf_SPECIAL) &&
354 460 28975 if (!(gv = gv_fetchsv_nomg(sv, GV_ADDMG, type)))
367 2 73059926 {
372 67233307 5826621 if (SvROK(sv)) {
373 67233307 0 if (SvAMAGIC(sv)) {
56010648 11222659 if (SvAMAGIC(sv)) {
111342 55899306 if (SvAMAGIC(sv)) {
378 2 67233305 switch (SvTYPE(sv)) {
391 4804173 1022448 if (!isGV_with_GP(gv)) {
0 4804173 if (!isGV_with_GP(gv)) {
393 464 1021955 if (!gv)
396 5821110 5018 sv = GvSVn(gv);
398 9685018 63374415 if (PL_op->op_flags & OPf_MOD) {
399 12 9685006 if (PL_op->op_private & OPpLVAL_INTRO) {
400 0 12 if (cUNOP->op_first->op_type == OP_NULL)
402 5 7 else if (gv)
407 4834088 4850918 else if (PL_op->op_private & OPpDEREF)
418 3727601 25198 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
1 3727600 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
1 0 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
419 25199 3727600 if (lvalue) {
421 7742 17457 if (!*sv) {
427 285 3727315 SETs(sv_2mortal(newSViv(AvFILL(MUTABLE_AV(av)))));
436 1058021 39269 if (PL_op->op_flags & OPf_MOD || LVRET) {
8 1058013 if (PL_op->op_flags & OPf_MOD || LVRET) {
6 2 if (PL_op->op_flags & OPf_MOD || LVRET) {
446 1057824 191 if (mg && mg->mg_len != -1) {
1057511 313 if (mg && mg->mg_len != -1) {
449 1054575 2936 if (mg->mg_flags & MGf_BYTES && DO_UTF8(sv))
1009237 45338 if (mg->mg_flags & MGf_BYTES && DO_UTF8(sv))
1009237 0 if (mg->mg_flags & MGf_BYTES && DO_UTF8(sv))
451 0 1057511 PUSHu(i);
465 1714662 627919 : ((PL_op->op_private & (OPpLVAL_INTRO|OPpMAY_RETURN_CONSTANT))
468 643233 1071429 : GV_ADD;
473 588064 1754517 if (cv) NOOP;
474 342597 245467 else if ((flags == (GV_ADD|GV_NOEXPAND)) && gv && SvROK(gv)) {
342597 0 else if ((flags == (GV_ADD|GV_NOEXPAND)) && gv && SvROK(gv)) {
342597 0 else if ((flags == (GV_ADD|GV_NOEXPAND)) && gv && SvROK(gv)) {
491 1 520318 if (SvGMAGICAL(TOPs)) SETs(sv_mortalcopy(TOPs));
492 519212 1107 if (SvPOK(TOPs) && SvCUR(TOPs) >= 7) {
519193 19 if (SvPOK(TOPs) && SvCUR(TOPs) >= 7) {
494 398912 120281 if (strnEQ(s, "CORE::", 6)) {
496 9 398903 if (!code || code == -KEY_CORE)
501 261300 137603 if (sv) ret = sv;
507 121399 8 if (cv && SvPOK(cv))
51720 69679 if (cv && SvPOK(cv))
508 51720 0 ret = newSVpvn_flags(
51720 0 ret = newSVpvn_flags(
3 51717 ret = newSVpvn_flags(
51720 0 ret = newSVpvn_flags(
51720 0 ret = newSVpvn_flags(
3 51717 ret = newSVpvn_flags(
517 0 1872324 {
520 1574962 297362 if (CvCLONE(cv))
537 6296193 327985 if (GIMME != G_ARRAY) {
3438383 3185795 if (GIMME != G_ARRAY) {
538 3438381 2 if (++MARK <= SP)
546 9 3185786 EXTEND_MORTAL(SP - MARK);
547 3185983 3185795 while (++MARK <= SP)
560 897 25739219 if (SvTYPE(sv) == SVt_PVLV && LvTYPE(sv) == 'y') {
5 892 if (SvTYPE(sv) == SVt_PVLV && LvTYPE(sv) == 'y') {
561 4 1 if (LvTARGLEN(sv))
563 5 0 if (!(sv = LvTARG(sv)))
568 1320698 24419413 else if (SvTYPE(sv) == SVt_PVAV) {
569 2679 1318019 if (!AvREAL((const AV *)sv) && AvREIFY((const AV *)sv))
2679 0 if (!AvREAL((const AV *)sv) && AvREIFY((const AV *)sv))
574 1309 24418104 else if (SvPADTMP(sv) && !IS_PADGV(sv))
588 5514 133622411 {
593 4960082 128667843 if (!SvROK(sv))
597 0 128667843 PUSHTARG;
606 255401 3517720 if (MAXARG == 1)
610 1 255401 if (SvTYPE(stash) != SVt_PVHV)
618 1 3517719 if (!ssv) goto curstash;
619 3517715 4 if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
3 3517712 if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
3 0 if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
2 1 if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
2 3517712 if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
621 3517710 7 ptr = SvPV_const(ssv,len);
622 8 3517709 if (len == 0)
638 254551 1 const char * const elem = SvPV_const(sv, len);
643 254552 0 if (elem) {
648 11045 0 if (len == 5 && strEQ(second_letter, "RRAY"))
11045 0 if (len == 5 && strEQ(second_letter, "RRAY"))
651 5719 5326 if (tmpRef && !AvREAL((const AV *)tmpRef)
3 5716 if (tmpRef && !AvREAL((const AV *)tmpRef)
652 3 0 && AvREIFY((const AV *)tmpRef))
657 161296 0 if (len == 4 && strEQ(second_letter, "ODE"))
161296 0 if (len == 4 && strEQ(second_letter, "ODE"))
161296 0 if (len == 4 && strEQ(second_letter, "ODE"))
161296 0 if (len == 4 && strEQ(second_letter, "ODE"))
161296 0 if (len == 4 && strEQ(second_letter, "ODE"))
658 161295 1 tmpRef = MUTABLE_SV(GvCVu(gv));
661 2 1802 if (len == 10 && strEQ(second_letter, "ILEHANDLE")) {
2 0 if (len == 10 && strEQ(second_letter, "ILEHANDLE")) {
667 1802 0 if (len == 6 && strEQ(second_letter, "ORMAT"))
1802 0 if (len == 6 && strEQ(second_letter, "ORMAT"))
671 2 0 if (len == 4 && strEQ(second_letter, "LOB"))
2 0 if (len == 4 && strEQ(second_letter, "LOB"))
2 0 if (len == 4 && strEQ(second_letter, "LOB"))
2 0 if (len == 4 && strEQ(second_letter, "LOB"))
2 0 if (len == 4 && strEQ(second_letter, "LOB"))
675 59085 0 if (len == 4 && strEQ(second_letter, "ASH"))
59085 0 if (len == 4 && strEQ(second_letter, "ASH"))
59085 0 if (len == 4 && strEQ(second_letter, "ASH"))
59085 0 if (len == 4 && strEQ(second_letter, "ASH"))
59085 0 if (len == 4 && strEQ(second_letter, "ASH"))
679 7550 0 if (*second_letter == 'O' && !elem[2] && len == 2)
7550 0 if (*second_letter == 'O' && !elem[2] && len == 2)
7550 0 if (*second_letter == 'O' && !elem[2] && len == 2)
683 40 0 if (len == 4 && strEQ(second_letter, "AME"))
40 0 if (len == 4 && strEQ(second_letter, "AME"))
40 0 if (len == 4 && strEQ(second_letter, "AME"))
40 0 if (len == 4 && strEQ(second_letter, "AME"))
40 0 if (len == 4 && strEQ(second_letter, "AME"))
687 9 0 if (len == 7 && strEQ(second_letter, "ACKAGE")) {
9 0 if (len == 7 && strEQ(second_letter, "ACKAGE")) {
689 9 0 const HEK * const hek = stash ? HvNAME_HEK(stash) : NULL;
9 0 const HEK * const hek = stash ? HvNAME_HEK(stash) : NULL;
9 0 const HEK * const hek = stash ? HvNAME_HEK(stash) : NULL;
2 7 const HEK * const hek = stash ? HvNAME_HEK(stash) : NULL;
690 7 2 sv = hek ? newSVhek(hek) : newSVpvs("__ANON__");
694 13720 0 if (len == 6 && strEQ(second_letter, "CALAR"))
13720 0 if (len == 6 && strEQ(second_letter, "CALAR"))
695 12060 1660 tmpRef = GvSVn(gv);
699 220253 34299 if (tmpRef)
701 220302 34250 if (sv)
705 0 254552 XPUSHs(sv);
716 18581 4 (void)SvPV(sv, len);
717 18522 63 if (len == 0 || len > I32_MAX || !SvPOK(sv) || SvUTF8(sv) || SvVALID(sv)) {
9734 8788 if (len == 0 || len > I32_MAX || !SvPOK(sv) || SvUTF8(sv) || SvVALID(sv)) {
732 313845 134590 if (PL_op->op_flags & OPf_STACKED)
734 3 134587 else if (PL_op->op_private & OPpTARGET_MY)
0 134587 else if (PL_op->op_private & OPpTARGET_MY)
737 134587 0 sv = DEFSV;
740 2102 446333 if(PL_op->op_type == OP_TRANSR) {
742 1790 312 const char * const pv = SvPV(sv,len);
749 0 446331 PUSHi(do_trans(sv));
765 961470 59832 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
97978 863492 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
97978 0 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
0 97978 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
4 863488 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
1 3 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
0 1 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
3 0 if (chomping && (RsSNARF(PL_rs) || RsRECORD(PL_rs)))
767 327 922996 if (SvTYPE(sv) == SVt_PVAV) {
770 0 327 const I32 max = AvFILL(av);
772 15612 327 for (i = 0; i <= max; i++) {
774 15612 0 if (sv && ((sv = *(SV**)sv), sv != &PL_sv_undef))
15612 0 if (sv && ((sv = *(SV**)sv), sv != &PL_sv_undef))
779 0 922996 else if (SvTYPE(sv) == SVt_PVHV) {
783 0 0 while ((entry = hv_iternext(hv)))
787 1 922995 else if (SvREADONLY(sv)) {
790 10045 912950 else if (SvIsCOW(sv)) {
794 210 922785 if (PL_encoding) {
795 63 147 if (!SvUTF8(sv)) {
805 922788 207 s = SvPV(sv, len);
806 863168 59808 if (chomping) {
810 863168 0 if (s && len) {
824141 39027 if (s && len) {
812 824139 2 if (RsPARA(PL_rs)) {
8 824131 if (RsPARA(PL_rs)) {
813 7 1 if (*s != '\n')
816 15 0 while (len && s[-1] == '\n') {
8 7 while (len && s[-1] == '\n') {
824 824131 2 const char *rsptr = SvPV_const(PL_rs, rslen);
828 298 823835 : rslen;
830 124 824009 if (SvUTF8(PL_rs) != SvUTF8(sv)) {
832 10 114 if (SvUTF8(PL_rs)) {
837 3 7 if (is_utf8) {
846 96 18 else if (PL_encoding) {
851 96 0 rsptr = SvPV_const(svrecode, rslen);
860 823889 237 if (rslen == 1) {
861 819309 4580 if (*s != *rsptr)
866 225 12 if (len < rslen - 1)
870 131 94 if (memNE(s, rsptr, rslen))
875 5 819442 s = SvPV_force_nomg_nolen(sv);
879 435703 383744 SvSETMAGIC(sv);
887 59685 123 if (len && !SvPOK(sv))
10 59675 if (len && !SvPOK(sv))
888 0 10 s = SvPV_force_nomg(sv, len);
889 4660 55148 if (DO_UTF8(sv)) {
4660 0 if (DO_UTF8(sv)) {
890 4660 0 if (s && len) {
4660 0 if (s && len) {
894 9393 4 while (s > start && UTF8_IS_CONTINUATION(*s))
4737 4656 while (s > start && UTF8_IS_CONTINUATION(*s))
896 4660 0 if (is_utf8_string((U8*)s, send - s)) {
907 55148 0 else if (s && len) {
55025 123 else if (s && len) {
917 15 59793 SvSETMAGIC(sv);
926 944978 59750 if (chomping)
929 0 1004708 SETTARG;
938 614 94 if (chomping)
940 962 708 while (MARK < SP)
943 0 708 XPUSHTARG;
0 708 XPUSHTARG;
952 8278917 68526 if (!PL_op->op_private) {
0 8278917 if (!PL_op->op_private) {
958 4 68522 if (!sv)
961 38646 29876 SV_CHECK_THINKFIRST_COW_DROP(sv);
973 8 4542 if (cv_const_sv((const CV *)sv))
974 2 6 Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
976 1 5 SVfARG(CvANON((const CV *)sv)
5 0 SVfARG(CvANON((const CV *)sv)
990 0 4549 if (hek) share_hek_hek(hek);
992 4546 0 if (gv) CvGV_set(MUTABLE_CV(sv), gv);
993 0 0 else if (hek) {
1008 42 859 = GvCVu((const GV *)sv) && (stash = GvSTASH((const GV *)sv))
42 0 = GvCVu((const GV *)sv) && (stash = GvSTASH((const GV *)sv))
1009 901 0 && HvENAME_get(stash);
42 0 && HvENAME_get(stash);
42 0 && HvENAME_get(stash);
42 0 && HvENAME_get(stash);
1 41 && HvENAME_get(stash);
0 41 && HvENAME_get(stash);
41 0 && HvENAME_get(stash);
0 42 && HvENAME_get(stash);
1011 16 885 if((stash = GvHV((const GV *)sv))) {
1012 7 9 if(HvENAME_get(stash))
7 0 if(HvENAME_get(stash))
7 0 if(HvENAME_get(stash))
0 7 if(HvENAME_get(stash))
0 7 if(HvENAME_get(stash))
7 0 if(HvENAME_get(stash))
7 0 if(HvENAME_get(stash))
1025 7 894 if(stash)
1029 5 896 if( strEQ(GvNAME((const GV *)sv), "ISA")
5 0 if( strEQ(GvNAME((const GV *)sv), "ISA")
5 0 if( strEQ(GvNAME((const GV *)sv), "ISA")
5 896 if( strEQ(GvNAME((const GV *)sv), "ISA")
1030 5 0 && (stash = GvSTASH((const GV *)sv))
1031 5 0 && (method_changed || HvENAME(stash)) )
5 0 && (method_changed || HvENAME(stash)) )
5 0 && (method_changed || HvENAME(stash)) )
5 0 && (method_changed || HvENAME(stash)) )
0 5 && (method_changed || HvENAME(stash)) )
0 5 && (method_changed || HvENAME(stash)) )
5 0 && (method_changed || HvENAME(stash)) )
5 0 && (method_changed || HvENAME(stash)) )
1033 42 854 else if(method_changed)
1041 10381 35998 if (SvTYPE(sv) >= SVt_PV && SvPVX_const(sv) && SvLEN(sv)) {
1483 8898 if (SvTYPE(sv) >= SVt_PV && SvPVX_const(sv) && SvLEN(sv)) {
1481 2 if (SvTYPE(sv) >= SVt_PV && SvPVX_const(sv) && SvLEN(sv)) {
1042 1481 0 SvPV_free(sv);
0 1481 SvPV_free(sv);
0 0 SvPV_free(sv);
0 0 SvPV_free(sv);
1046 0 46379 SvOK_off(sv);
1047 80 46299 SvSETMAGIC(sv);
1058 14720444 0 if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
0 14720444 if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
0 0 if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
0 0 if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
1060 2 14720442 if (SvROK(TOPs))
1063 8044891 6675553 if (!SvREADONLY(TOPs) && !SvGMAGICAL(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
1064 326701 7718190 && SvIVX(TOPs) != (inc ? IV_MAX : IV_MIN))
8044885 6 && SvIVX(TOPs) != (inc ? IV_MAX : IV_MIN))
1066 326696 7718189 SvIV_set(TOPs, SvIVX(TOPs) + (inc ? 1 : -1));
1069 6636971 38588 else if (inc)
1072 37 14720407 SvSETMAGIC(TOPs);
1074 14355160 365284 if (inc && !SvOK(TARG))
5334494 9020666 if (inc && !SvOK(TARG))
5334494 0 if (inc && !SvOK(TARG))
5334494 0 if (inc && !SvOK(TARG))
1084 25 33352 dVAR; dSP; dATARGET; SV *svl, *svr;
1088 596 32781 tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
586 10 tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
1095 502 32289 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
501 1 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
501 0 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
32641 150 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
15 32626 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
12 3 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
12 0 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
32625 16 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
1100 0 32625 if (SvUOK(svr)) {
1104 32126 499 if (iv >= 0) {
1112 1 32125 if (baseuok) {
1116 32021 104 if (iv >= 0) {
1127 9665 22461 if (!(baseuv & (baseuv - 1))) {
1137 22392 69 NV base = baseuok ? baseuv : -(NV)baseuv;
1139 9773 12688 if (power & 1) {
1142 44710 22461 while (power >>= 1) {
1144 26131 18579 if (power & 1) {
1149 0 22461 SETn( result );
1150 0 22461 SvIV_please_nomg(svr);
0 0 SvIV_please_nomg(svr);
0 0 SvIV_please_nomg(svr);
1155 57990 9665 while (diff >>= 1) {
1157 19264 38726 if (baseuv >> highbit) {
1162 4994 4671 if (power * highbit <= 8 * sizeof(UV)) {
1168 4727 267 if (odd_power) {
1171 14278 4994 while (power >>= 1) {
1173 4842 9436 if (power & 1) {
1178 35 4959 if (baseuok || !odd_power)
17 18 if (baseuok || !odd_power)
1180 0 4976 SETu( result );
1181 18 0 else if (result <= (UV)IV_MAX)
1183 0 18 SETi( -(IV)result );
1184 0 0 else if (result == (UV)IV_MIN)
1186 0 0 SETi( IV_MIN );
1189 0 0 SETn( -(NV)result );
1197 148 5188 NV right = SvNV_nomg(svr);
1198 554 4782 NV left = SvNV_nomg(svl);
1238 1 5335 SETn( Perl_pow( left, right) );
1242 4671 665 if (is_int)
1243 0 4671 SvIV_please_nomg(svr);
0 0 SvIV_please_nomg(svr);
0 0 SvIV_please_nomg(svr);
1251 61362 687884 dVAR; dSP; dATARGET; SV *svl, *svr;
1252 10886 738360 tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
10848 26 tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
1256 79826 658560 if (SvIV_please_nomg(svr)) {
79822 4 if (SvIV_please_nomg(svr)) {
79822 0 if (SvIV_please_nomg(svr)) {
654217 84169 if (SvIV_please_nomg(svr)) {
1261 7267 646950 if (SvIV_please_nomg(svl)) {
7261 6 if (SvIV_please_nomg(svl)) {
7261 0 if (SvIV_please_nomg(svl)) {
630884 23332 if (SvIV_please_nomg(svl)) {
1271 1 630883 if (auvok) {
1275 619735 11148 if (aiv >= 0) {
1282 63 630821 if (buvok) {
1286 630254 567 if (biv >= 0) {
1299 630796 88 if (ahigh && bhigh) {
1303 620686 10110 } else if (!ahigh && !bhigh) {
1307 609794 10892 if (auvok == buvok) {
1310 0 609794 SETu( product );
1312 10892 0 } else if (product <= (UV)IV_MIN) {
1316 0 10892 SETi( -(IV)product );
1322 9023 1087 if (bhigh) {
1332 10103 7 if (!(product_middle & topmask)) {
1342 10103 0 if (product_low >= product_middle) {
1344 10074 29 if (auvok == buvok) {
1347 0 10074 SETu( product_low );
1349 29 0 } else if (product_low <= (UV)IV_MIN) {
1353 0 29 SETi( -(IV)product_low );
1363 104961 2635 NV right = SvNV_nomg(svr);
1364 101937 5659 NV left = SvNV_nomg(svl);
1366 3 107593 SETn( left * right );
1373 296 899370 dVAR; dSP; dATARGET; SV *svl, *svr;
1374 2306 897360 tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
2224 69 tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
1399 8077 889352 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
8075 2 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
8075 0 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
889746 7683 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
7914 881832 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
7909 5 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
7909 0 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
887774 1972 if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
1405 60 887714 if (right_non_neg) {
1410 887653 61 if (biv >= 0) {
1423 8 887766 if (right == 0)
1426 6 887760 if (left_non_neg) {
1431 887047 713 if (aiv >= 0) {
1440 22 887744 if (left >= right
1457 19 3 if (result * right == left) {
1459 17 2 if (left_non_neg == right_non_neg) {
1461 0 17 SETu( result );
1465 2 0 if (result <= (UV)IV_MIN)
1466 0 2 SETi( -(IV)result );
1469 0 0 SETn( -(NV)result );
1477 888381 9021 NV right = SvNV_nomg(svr);
1478 616785 280617 NV left = SvNV_nomg(svl);
1483 2 897400 if (right == 0.0)
1486 1 897399 PUSHn( left / right );
1493 3051 554126 dVAR; dSP; dATARGET;
1494 803 556374 tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
795 8 tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
1506 11 556371 if (SvIV_please_nomg(svr)) {
10 1 if (SvIV_please_nomg(svr)) {
10 0 if (SvIV_please_nomg(svr)) {
556376 6 if (SvIV_please_nomg(svr)) {
1508 1 556375 if (!right_neg) {
1512 556370 5 if (biv >= 0) {
1521 4 2 dright = SvNV_nomg(svr);
1523 2 4 if (right_neg)
1525 2 4 if (dright < UV_MAX_P1) {
1536 556378 4 if (!use_double && SvIV_please_nomg(svl)) {
32 556346 if (!use_double && SvIV_please_nomg(svl)) {
30 2 if (!use_double && SvIV_please_nomg(svl)) {
30 0 if (!use_double && SvIV_please_nomg(svl)) {
30 0 if (!use_double && SvIV_please_nomg(svl)) {
556346 2 if (!use_double && SvIV_please_nomg(svl)) {
1538 4 556372 if (!left_neg) {
1542 556360 12 if (aiv >= 0) {
1551 4 2 dleft = SvNV_nomg(svl);
1553 2 4 if (left_neg)
1558 2 4 if (!use_double) {
1559 2 0 if (dleft < UV_MAX_P1) {
1572 0 0 if (dright_valid)
1580 4 556378 if (use_double) {
1583 0 4 if (!dright)
1587 2 2 if ((left_neg != right_neg) && dans)
2 0 if ((left_neg != right_neg) && dans)
1589 2 2 if (right_neg)
1596 2 556376 if (!right)
1600 10 556366 if ((left_neg != right_neg) && ans)
1602 5 556371 if (right_neg) {
1605 5 0 if (ans <= ~((UV)IV_MAX)+1)
1613 0 556380 PUSHTARG;
1620 8 321202 dVAR; dSP; dATARGET;
1624 321195 15 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
42160 279035 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
13 2 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
42173 0 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
0 42173 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
1630 48559 230478 tryAMAGICbin_MG(repeat_amg, AMGf_assign);
0 48559 tryAMAGICbin_MG(repeat_amg, AMGf_assign);
1634 301604 19606 if (SvIOKp(sv)) {
1635 0 301604 if (SvUOK(sv)) {
1636 0 0 const UV uv = SvUV_nomg(sv);
1637 0 0 if (uv > IV_MAX)
1642 301601 3 const IV iv = SvIV_nomg(sv);
1643 301593 11 if (iv < 0)
1649 18928 678 else if (SvNOKp(sv)) {
1650 18928 0 const NV nv = SvNV_nomg(sv);
1651 18916 12 if (nv < 0.0)
1657 0 678 count = SvIV_nomg(sv);
1659 321195 15 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
42160 279035 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
13 2 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
42173 0 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
0 42173 if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
1668 33999 8174 if (items > 0 && max > 0 && (max < items || max < count))
33999 0 if (items > 0 && max > 0 && (max < items || max < count))
0 33999 if (items > 0 && max > 0 && (max < items || max < count))
1670 8 42165 MEXTEND(MARK, max);
1671 25836 16337 if (count > 1) {
1672 27564 25836 while (SP > MARK) {
1697 27564 0 if (*SP)
1699 3390 24174 if (mod && SvPADTMP(*SP) && !IS_PADGV(*SP))
1 3389 if (mod && SvPADTMP(*SP) && !IS_PADGV(*SP))
1711 8164 8173 else if (count <= 0)
1721 279029 8 if (TARG != tmpstr)
1723 265278 13759 SvPV_force_nomg(TARG, len);
1724 282 278755 isutf = DO_UTF8(TARG);
0 282 isutf = DO_UTF8(TARG);
1725 253438 25599 if (count != 1) {
1726 17285 236153 if (count < 1)
1730 0 236153 if (len > MEM_SIZE_MAX / count)
1733 236153 0 SvGROW(TARG, max + 1);
3733 232420 SvGROW(TARG, max + 1);
1739 282 278755 if (isutf)
1744 8 279029 if (PL_op->op_private & OPpREPEAT_DOLIST) {
1753 1 279036 PUSHTARG;
1760 176845 21719274 dVAR; dSP; dATARGET; bool useleft; SV *svl, *svr;
1761 10100 21886019 tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
2426 7672 tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
1764 13 21893678 useleft = USE_LEFT(svl);
13 0 useleft = USE_LEFT(svl);
13 0 useleft = USE_LEFT(svl);
8 5 useleft = USE_LEFT(svl);
1768 23854 21869837 if (SvIV_please_nomg(svr)) {
23849 5 if (SvIV_please_nomg(svr)) {
23849 0 if (SvIV_please_nomg(svr)) {
18568791 3324900 if (SvIV_please_nomg(svr)) {
1776 18568783 8 if (!useleft) {
1782 54534 18514249 if (SvIV_please_nomg(svl)) {
54532 2 if (SvIV_please_nomg(svl)) {
54532 0 if (SvIV_please_nomg(svl)) {
18567284 1499 if (SvIV_please_nomg(svl)) {
1783 169 18567115 if ((auvok = SvUOK(svl)))
1787 18541038 26077 if (aiv >= 0) {
1797 18567292 1499 if (a_valid) {
1803 0 18567292 if (buvok)
1807 18562170 5122 if (biv >= 0) {
1823 23253 18544039 if (auvok ^ buvok) {
1826 23253 0 if (result >= auv)
1830 18498726 45313 if (auv >= buv) {
1833 18498726 0 if (result <= auv)
1837 45313 0 if (result <= buv) {
1845 18567292 0 if (result_good) {
1847 18503218 64074 if (auvok)
1848 45 18503173 SETu( result );
1851 64068 6 if (result <= (UV)IV_MIN)
1852 1 64067 SETi( -(IV)result );
1855 0 6 SETn( -(NV)result );
1864 3325746 653 NV value = SvNV_nomg(svr);
1867 0 3326399 if (!useleft) {
1869 0 0 SETn(-value);
1872 3299741 26658 SETn( SvNV_nomg(svl) - value );
0 3326399 SETn( SvNV_nomg(svl) - value );
1879 30788 27569 dVAR; dSP; dATARGET; SV *svl, *svr;
1880 61 58296 tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
55 4 tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
1884 58293 7 const IV shift = SvIV_nomg(svr);
1885 391 57909 if (PL_op->op_private & HINT_INTEGER) {
1886 391 0 const IV i = SvIV_nomg(svl);
1887 0 391 SETi(i << shift);
1890 57901 8 const UV u = SvUV_nomg(svl);
1891 1 57908 SETu(u << shift);
1899 72212 171493 dVAR; dSP; dATARGET; SV *svl, *svr;
1900 144 243561 tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
59 83 tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
1904 243644 0 const IV shift = SvIV_nomg(svr);
1905 3 243641 if (PL_op->op_private & HINT_INTEGER) {
1906 3 0 const IV i = SvIV_nomg(svl);
1907 0 3 SETi(i >> shift);
1910 243639 2 const UV u = SvUV_nomg(svl);
1911 2 243639 SETu(u >> shift);
1922 533 29806436 tryAMAGICbin_MG(lt_amg, AMGf_set|AMGf_numeric);
326 197 tryAMAGICbin_MG(lt_amg, AMGf_set|AMGf_numeric);
1925 27350260 2456373 SETs(boolSV(
27082252 268008 SETs(boolSV(
11438558 18368075 SETs(boolSV(
1938 1865 20980254 tryAMAGICbin_MG(gt_amg, AMGf_set|AMGf_numeric);
1595 269 tryAMAGICbin_MG(gt_amg, AMGf_set|AMGf_numeric);
1941 19727764 1252759 SETs(boolSV(
19723626 4138 SETs(boolSV(
14411424 6569099 SETs(boolSV(
1954 1184 6417265 tryAMAGICbin_MG(le_amg, AMGf_set|AMGf_numeric);
80 1104 tryAMAGICbin_MG(le_amg, AMGf_set|AMGf_numeric);
1957 3104190 3314179 SETs(boolSV(
3023447 80743 SETs(boolSV(
1051680 5366688 SETs(boolSV(
1970 1424 7821227 tryAMAGICbin_MG(ge_amg, AMGf_set|AMGf_numeric);
436 988 tryAMAGICbin_MG(ge_amg, AMGf_set|AMGf_numeric);
1973 6901566 920649 SETs(boolSV(
6899693 1873 SETs(boolSV(
5012666 2809549 SETs(boolSV(
1986 559335 4957329 tryAMAGICbin_MG(ne_amg, AMGf_set|AMGf_numeric);
29466 529869 tryAMAGICbin_MG(ne_amg, AMGf_set|AMGf_numeric);
1989 5166244 320954 SETs(boolSV(
5165962 282 SETs(boolSV(
2859198 2628000 SETs(boolSV(
2011 560303 12879619 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
559245 1058 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
559245 0 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
8187966 5251956 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
4694318 3493648 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
4694146 172 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
4694146 0 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
4656709 3531257 if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
2012 4656067 642 if (!SvUOK(left)) {
2014 4653696 2371 if (!SvUOK(right)) {
2020 2340 31 if (leftiv < 0)
2029 250 392 if (SvUOK(right)) {
2038 326 66 if (rightiv < 0)
2050 8741152 42061 NV const rnv = SvNV_nomg(right);
2051 8418305 364908 NV const lnv = SvNV_nomg(left);
2059 5152810 3630402 if (lnv < rnv)
2061 242587 4910223 if (lnv > rnv)
2063 335 242252 if (lnv == rnv)
2076 963 3452330 tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
11 952 tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
2080 84 3453198 if (value == 2) {
2085 0 3453198 SETi(value);
2098 0 488251 switch (PL_op->op_type) {
2117 38672 449579 tryAMAGICbin_MG(amg_type, AMGf_set);
38040 632 tryAMAGICbin_MG(amg_type, AMGf_set);
2122 0 450211 : sv_cmp_flags(left, right, 0));
2123 304831 145380 SETs(boolSV(cmp * multiplier < rhs));
2131 1374175 197431954 tryAMAGICbin_MG(seq_amg, AMGf_set);
18965 1355208 tryAMAGICbin_MG(seq_amg, AMGf_set);
2134 165609703 33177459 SETs(boolSV(sv_eq_flags(left, right, 0)));
2142 3506 5707427 tryAMAGICbin_MG(sne_amg, AMGf_set);
12 3494 tryAMAGICbin_MG(sne_amg, AMGf_set);
2145 2677055 3033866 SETs(boolSV(!sv_eq_flags(left, right, 0)));
2153 755 2646026 tryAMAGICbin_MG(scmp_amg, 0);
98 657 tryAMAGICbin_MG(scmp_amg, 0);
2158 0 2646683 : sv_cmp_flags(left, right, 0));
2159 0 2646683 SETi( cmp );
2166 255385 25307625 dVAR; dSP; dATARGET;
2167 144036 25418974 tryAMAGICbin_MG(band_amg, AMGf_assign);
179 143855 tryAMAGICbin_MG(band_amg, AMGf_assign);
2170 168971 25393858 if (SvNIOKp(left) || SvNIOKp(right)) {
1023 167948 if (SvNIOKp(left) || SvNIOKp(right)) {
2173 1772 25393109 if (PL_op->op_private & HINT_INTEGER) {
2174 1770 2 const IV i = SvIV_nomg(left) & SvIV_nomg(right);
1768 4 const IV i = SvIV_nomg(left) & SvIV_nomg(right);
2175 1 1771 SETi(i);
2178 25385779 7330 const UV u = SvUV_nomg(left) & SvUV_nomg(right);
25323007 70102 const UV u = SvUV_nomg(left) & SvUV_nomg(right);
2179 128128 25264980 SETu(u);
2181 0 25394880 if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
0 0 if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
2182 5 25394875 if (right_ro_nonnum) SvNIOK_off(right);
2186 5 167943 SETTARG;
2194 1999389 819736 dVAR; dSP; dATARGET;
2197 1035280 1783845 tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
280 1035000 tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
407 1034867 tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
2200 350076 2468636 if (SvNIOKp(left) || SvNIOKp(right)) {
63 350013 if (SvNIOKp(left) || SvNIOKp(right)) {
2203 2819 2465880 if (PL_op->op_private & HINT_INTEGER) {
2204 4 2815 const IV l = (USE_LEFT(left) ? SvIV_nomg(left) : 0);
4 0 const IV l = (USE_LEFT(left) ? SvIV_nomg(left) : 0);
4 0 const IV l = (USE_LEFT(left) ? SvIV_nomg(left) : 0);
4 0 const IV l = (USE_LEFT(left) ? SvIV_nomg(left) : 0);
2815 4 const IV l = (USE_LEFT(left) ? SvIV_nomg(left) : 0);
2205 2815 4 const IV r = SvIV_nomg(right);
2206 1410 1409 const IV result = op_type == OP_BIT_OR ? (l | r) : (l ^ r);
2207 2 2817 SETi(result);
2210 54 2465826 const UV l = (USE_LEFT(left) ? SvUV_nomg(left) : 0);
54 0 const UV l = (USE_LEFT(left) ? SvUV_nomg(left) : 0);
54 0 const UV l = (USE_LEFT(left) ? SvUV_nomg(left) : 0);
4 50 const UV l = (USE_LEFT(left) ? SvUV_nomg(left) : 0);
2462630 3200 const UV l = (USE_LEFT(left) ? SvUV_nomg(left) : 0);
2211 2462757 3123 const UV r = SvUV_nomg(right);
2212 2342017 123863 const UV result = op_type == OP_BIT_OR ? (l | r) : (l ^ r);
2213 1034592 1431287 SETu(result);
2215 0 2468698 if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
0 0 if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
2216 4 2468694 if (right_ro_nonnum) SvNIOK_off(right);
2220 12 350001 SETTARG;
2233 36985 2222478 if (!SvPOKp(sv) || SvNIOK(sv) || (!SvPOK(sv) && SvNIOKp(sv)))
0 36985 if (!SvPOKp(sv) || SvNIOK(sv) || (!SvPOK(sv) && SvNIOKp(sv)))
0 0 if (!SvPOKp(sv) || SvNIOK(sv) || (!SvPOK(sv) && SvNIOKp(sv)))
2235 36894 91 s = SvPV_nomg_const(sv, len);
2236 36944 41 if (isIDFIRST(*s)) {
2240 39 2 else if (*s == '+' || (*s == '-' && !looks_like_number(sv))) {
14 25 else if (*s == '+' || (*s == '-' && !looks_like_number(sv))) {
6 8 else if (*s == '+' || (*s == '-' && !looks_like_number(sv))) {
2242 0 8 *SvPV_force_nomg(TARG, len) = *s == '-' ? '+' : '-';
2 6 *SvPV_force_nomg(TARG, len) = *s == '-' ? '+' : '-';
2245 0 36952 SETTARG; PUTBACK;
2252 290 2208978 tryAMAGICun_MG(neg_amg, AMGf_numeric);
196 94 tryAMAGICun_MG(neg_amg, AMGf_numeric);
2253 36944 2172128 if (S_negate_string(aTHX)) return NORMAL;
2257 2168692 3436 if (SvIOK(sv)) {
2260 42 2168659 if (SvIsUV(sv)) {
2261 31 11 if (SvIVX(sv) == IV_MIN) {
2263 0 31 SETi(SvIVX(sv)); /* special case: -((UV)IV_MAX+1) ==
2267 0 11 else if (SvUVX(sv) <= IV_MAX) {
2268 0 0 SETi(-SvIVX(sv));
2272 2168659 0 else if (SvIVX(sv) != IV_MIN) {
2273 0 2168659 SETi(-SvIVX(sv));
2278 0 0 SETu((UV)IV_MIN);
2283 3412 35 if (SvNIOKp(sv) && (SvNIOK(sv) || !SvPOK(sv)))
3412 0 if (SvNIOKp(sv) && (SvNIOK(sv) || !SvPOK(sv)))
2284 3401 11 SETn(-SvNV_nomg(sv));
0 3412 SETn(-SvNV_nomg(sv));
2285 20 15 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
20 0 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
20 0 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
20 0 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
9 11 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
0 0 else if (SvPOKp(sv) && SvIV_please_nomg(sv))
2288 4 22 SETn(-SvNV_nomg(sv));
0 26 SETn(-SvNV_nomg(sv));
2296 1084598 34174537 tryAMAGICun_MG(not_amg, AMGf_set);
21 1084577 tryAMAGICun_MG(not_amg, AMGf_set);
2297 35259114 0 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
2917496 32341618 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
2917495 1 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
0 2917495 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
24277575 8064044 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
24277575 0 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
23885781 391794 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
13657103 10228678 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
381 13656722 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
10229059 14048516 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
6979470 1084574 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
6979461 9 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
3682142 3297319 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
9 3682142 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
2 7 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
3682144 3297326 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
0 1084574 *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
2304 2284 600199 tryAMAGICun_MG(compl_amg, AMGf_numeric);
2277 6 tryAMAGICun_MG(compl_amg, AMGf_numeric);
2307 490290 109915 if (SvNIOKp(sv)) {
2308 7 490283 if (PL_op->op_private & HINT_INTEGER) {
2309 7 0 const IV i = ~SvIV_nomg(sv);
2310 0 7 SETi(i);
2313 490281 2 const UV u = ~SvUV_nomg(sv);
2314 0 490283 SETu(u);
2323 109915 0 tmps = (U8*)SvPV_nomg(TARG, len);
2325 84711 25204 if (SvUTF8(TARG)) {
2335 36198 25204 while (tmps < send) {
2338 33760 2438 targlen += UNISKIP(~c);
28909 4851 targlen += UNISKIP(~c);
21370 7539 targlen += UNISKIP(~c);
21368 2 targlen += UNISKIP(~c);
21368 0 targlen += UNISKIP(~c);
21368 0 targlen += UNISKIP(~c);
21368 0 targlen += UNISKIP(~c);
2340 31324 4874 if (c > 0xff)
2347 25201 3 if (nwide) {
2353 36193 25201 while (tmps < send) {
2369 5 3 while (tmps < send) {
2378 0 25204 SETTARG;
2384 84707 4 for ( ; anum && (unsigned long)tmps % sizeof(long); anum--, tmps++)
0 84707 for ( ; anum && (unsigned long)tmps % sizeof(long); anum--, tmps++)
2387 90584 84711 for ( ; anum >= (I32)sizeof(long); anum -= (I32)sizeof(long), tmpl++)
2392 518064 84711 for ( ; anum > 0; anum--, tmps++)
2394 0 84711 SETTARG;
2404 17572 5662375 dVAR; dSP; dATARGET;
2405 5 5679942 tryAMAGICbin_MG(mult_amg, AMGf_assign);
0 5 tryAMAGICbin_MG(mult_amg, AMGf_assign);
2407 5676914 3033 dPOPTOPiirl_nomg;
5671125 8822 dPOPTOPiirl_nomg;
2408 3 5679944 SETi( left * right );
2416 3 3035117 dVAR; dSP; dATARGET;
2417 3 3035117 tryAMAGICbin_MG(div_amg, AMGf_assign);
0 3 tryAMAGICbin_MG(div_amg, AMGf_assign);
2420 3035116 4 IV value = SvIV_nomg(right);
2421 1 3035119 if (value == 0)
2423 3035111 8 num = SvIV_nomg(left);
2426 1 3035118 if (value == -1)
2430 1 3035118 SETi(value);
2443 0 21864 dVAR; dSP; dATARGET;
2444 1 21863 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
0 1 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
2446 21861 3 dPOPTOPiirl_nomg;
21859 5 dPOPTOPiirl_nomg;
2447 0 21864 if (!right)
2450 0 21864 if (right == -1)
2451 0 0 SETi( 0 );
2453 0 21864 SETi( left % right );
2466 0 0 dVAR; dSP; dATARGET;
2467 0 0 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
0 0 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
2469 0 0 dPOPTOPiirl_nomg;
0 0 dPOPTOPiirl_nomg;
2470 0 0 if (!right)
2473 0 0 if (right == -1)
2474 0 0 SETi( 0 );
2476 0 0 SETi( left % PERL_ABS(right) );
2483 1 96 dVAR; dSP; dATARGET;
2484 0 97 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
0 0 tryAMAGICbin_MG(modulo_amg, AMGf_assign);
2486 96 1 dPOPTOPiirl_nomg;
95 2 dPOPTOPiirl_nomg;
2487 1 96 if (!right)
2516 1 95 if (right == -1)
2517 0 1 SETi( 0 );
2519 0 95 SETi( left % right );
2527 437503 5681608 dVAR; dSP; dATARGET;
2528 3 6119108 tryAMAGICbin_MG(add_amg, AMGf_assign);
0 3 tryAMAGICbin_MG(add_amg, AMGf_assign);
2530 6118674 437 dPOPTOPiirl_ul_nomg;
125960 5993151 dPOPTOPiirl_ul_nomg;
125960 0 dPOPTOPiirl_ul_nomg;
125960 0 dPOPTOPiirl_ul_nomg;
1 125959 dPOPTOPiirl_ul_nomg;
5977870 15282 dPOPTOPiirl_ul_nomg;
2531 1 6119110 SETi( left + right );
2538 1423979 2194677 dVAR; dSP; dATARGET;
2539 137 3618519 tryAMAGICbin_MG(subtr_amg, AMGf_assign);
0 137 tryAMAGICbin_MG(subtr_amg, AMGf_assign);
2541 3618612 44 dPOPTOPiirl_ul_nomg;
3 3618653 dPOPTOPiirl_ul_nomg;
3 0 dPOPTOPiirl_ul_nomg;
3 0 dPOPTOPiirl_ul_nomg;
1 2 dPOPTOPiirl_ul_nomg;
3614266 4388 dPOPTOPiirl_ul_nomg;
2542 1 3618655 SETi( left - right );
2550 5 1314857 tryAMAGICbin_MG(lt_amg, AMGf_set);
0 5 tryAMAGICbin_MG(lt_amg, AMGf_set);
2552 1314857 5 dPOPTOPiirl_nomg;
1313527 1335 dPOPTOPiirl_nomg;
2553 607049 707813 SETs(boolSV(left < right));
2561 5 284319 tryAMAGICbin_MG(gt_amg, AMGf_set);
0 5 tryAMAGICbin_MG(gt_amg, AMGf_set);
2563 284301 23 dPOPTOPiirl_nomg;
284297 27 dPOPTOPiirl_nomg;
2564 176672 107652 SETs(boolSV(left > right));
2572 5 881821 tryAMAGICbin_MG(le_amg, AMGf_set);
0 5 tryAMAGICbin_MG(le_amg, AMGf_set);
2574 881821 5 dPOPTOPiirl_nomg;
881821 5 dPOPTOPiirl_nomg;
2575 138921 742905 SETs(boolSV(left <= right));
2583 5 292172 tryAMAGICbin_MG(ge_amg, AMGf_set);
0 5 tryAMAGICbin_MG(ge_amg, AMGf_set);
2585 291637 540 dPOPTOPiirl_nomg;
291637 540 dPOPTOPiirl_nomg;
2586 188562 103615 SETs(boolSV(left >= right));
2594 17686 992728 tryAMAGICbin_MG(eq_amg, AMGf_set);
0 17686 tryAMAGICbin_MG(eq_amg, AMGf_set);
2596 992914 17500 dPOPTOPiirl_nomg;
990912 19502 dPOPTOPiirl_nomg;
2597 847220 163194 SETs(boolSV(left == right));
2605 1 46000 tryAMAGICbin_MG(ne_amg, AMGf_set);
0 1 tryAMAGICbin_MG(ne_amg, AMGf_set);
2607 45997 4 dPOPTOPiirl_nomg;
45997 4 dPOPTOPiirl_nomg;
2608 18208 27793 SETs(boolSV(left != right));
2616 1 41 tryAMAGICbin_MG(ncmp_amg, 0);
0 1 tryAMAGICbin_MG(ncmp_amg, 0);
2618 26 16 dPOPTOPiirl_nomg;
29 13 dPOPTOPiirl_nomg;
2621 23 19 if (left > right)
2623 5 18 else if (left < right)
2627 0 42 SETi(value);
2635 3 50388 tryAMAGICun_MG(neg_amg, 0);
0 3 tryAMAGICun_MG(neg_amg, 0);
2636 8 50383 if (S_negate_string(aTHX)) return NORMAL;
2639 50368 15 IV const i = SvIV_nomg(sv);
2640 0 50383 SETi(-i);
2650 0 1102 tryAMAGICbin_MG(atan2_amg, 0);
0 0 tryAMAGICbin_MG(atan2_amg, 0);
2652 997 105 dPOPTOPnnrl_nomg;
748 354 dPOPTOPnnrl_nomg;
2653 0 1102 SETn(Perl_atan2(left, right));
2666 6377 1295278 switch (op_type) {
2688 218 1301437 tryAMAGICun_MG(amg_type, 0);
211 7 tryAMAGICun_MG(amg_type, 0);
2691 1294548 6896 const NV value = SvNV_nomg(arg);
2692 1292450 8994 if (neg_report) {
2693 5783 1286667 if (op_type == OP_LOG ? (value <= 0.0) : (value < 0.0)) {
5 1292445 if (op_type == OP_LOG ? (value <= 0.0) : (value < 0.0)) {
2699 0 1301439 XPUSHn(func(value));
0 1301439 XPUSHn(func(value));
2722 2720 765769 if (!PL_srand_called) {
2726 0 768489 {
2731 665073 103416 if (MAXARG < 1)
2735 665071 2 if(!sv)
2738 262811 402260 value = SvNV(sv);
2741 37 768452 if (value == 0.0)
2759 24 6 if (MAXARG >= 1 && (TOPs || POPs)) {
2 22 if (MAXARG >= 1 && (TOPs || POPs)) {
0 2 if (MAXARG >= 1 && (TOPs || POPs)) {
2766 2 20 pv = SvPV(top, len);
2769 2 20 if (!(flags & IS_NUMBER_IN_UV)) {
2781 27 3 if (anum)
2782 0 27 XPUSHu(anum);
0 27 XPUSHu(anum);
2787 0 3 XPUSHTARG;
0 3 XPUSHTARG;
2795 3847 1895385 tryAMAGICun_MG(int_amg, AMGf_numeric);
50 3797 tryAMAGICun_MG(int_amg, AMGf_numeric);
2798 1157363 741819 const IV iv = SvIV_nomg(sv);
2804 2 1899180 if (!SvOK(sv)) {
1 1 if (!SvOK(sv)) {
1 0 if (!SvOK(sv)) {
2805 0 1 SETu(0);
2807 1400182 498999 else if (SvIOK(sv)) {
2808 0 1400182 if (SvIsUV(sv))
2809 0 0 SETu(SvUV_nomg(sv));
0 0 SETu(SvUV_nomg(sv));
2811 0 1400182 SETi(iv);
2814 498993 6 const NV value = SvNV_nomg(sv);
2815 498556 443 if (value >= 0.0) {
2816 498491 65 if (value < (NV)UV_MAX + 0.5) {
2817 0 498491 SETu(U_V(value));
2819 0 65 SETn(Perl_floor(value));
2823 443 0 if (value > (NV)IV_MIN - 0.5) {
2824 0 443 SETi(I_V(value));
2826 0 0 SETn(Perl_ceil(value));
2837 829 27276 tryAMAGICun_MG(abs_amg, AMGf_numeric);
813 5 tryAMAGICun_MG(abs_amg, AMGf_numeric);
2841 7927 19354 const IV iv = SvIV_nomg(sv);
2843 2 27279 if (!SvOK(sv)) {
2 0 if (!SvOK(sv)) {
2 0 if (!SvOK(sv)) {
2844 0 2 SETu(0);
2846 12183 15096 else if (SvIOK(sv)) {
2848 27 12156 if (SvIsUV(sv)) {
2849 27 0 SETu(SvUV_nomg(sv)); /* force it to be numeric only */
0 27 SETu(SvUV_nomg(sv)); /* force it to be numeric only */
2851 9755 2401 if (iv >= 0) {
2852 0 9755 SETi(iv);
2854 2401 0 if (iv != IV_MIN) {
2855 0 2401 SETi(-iv);
2859 0 0 SETu(IV_MIN);
2864 15094 2 const NV value = SvNV_nomg(sv);
2865 9282 5814 if (value < 0.0)
2866 0 9282 SETn(-value);
2868 0 5814 SETn(value);
2884 2366632 287328 tmps = (SvPV_const(sv, len));
2885 2461 2651499 if (DO_UTF8(sv)) {
2461 0 if (DO_UTF8(sv)) {
2892 2457 0 tmps = SvPV_const(tsv, len);
2894 9001 2644955 if (PL_op->op_type == OP_HEX)
2897 9615 302 while (*tmps && len && isSPACE(*tmps))
9615 0 while (*tmps && len && isSPACE(*tmps))
916 8699 while (*tmps && len && isSPACE(*tmps))
2899 5542 3459 if (*tmps == '0')
2901 36 8965 if (*tmps == 'x' || *tmps == 'X') {
2905 3999 4966 else if (*tmps == 'b' || *tmps == 'B')
2910 21 2653918 if (flags & PERL_SCAN_GREATER_THAN_UV_MAX) {
2911 0 21 XPUSHn(result_nv);
0 21 XPUSHn(result_nv);
2914 12 2653906 XPUSHu(result_uv);
0 2653918 XPUSHu(result_uv);
2922 64864 16289651 {
2927 84 16354431 if (SvOK(sv)) {
84 0 if (SvOK(sv)) {
0 84 if (SvOK(sv)) {
2928 15135579 1218852 if (!IN_BYTES)
2929 4 15135575 SETi(sv_len_utf8_nomg(sv));
2933 1218551 301 (void)SvPV_nomg_const(sv,len);
2934 0 1218852 SETi(len);
2937 3 81 if (!SvPADTMP(TARG)) {
2939 0 3 SETTARG;
2961 11578316 34528 if (!pos1_is_uv && pos1_iv < 0 && curlen) {
2193687 9384629 if (!pos1_is_uv && pos1_iv < 0 && curlen) {
2965 9982944 1629900 if ((pos1_is_uv || pos1_iv > 0) && (UV)pos1_iv > curlen)
5780706 4202238 if ((pos1_is_uv || pos1_iv > 0) && (UV)pos1_iv > curlen)
7410571 35 if ((pos1_is_uv || pos1_iv > 0) && (UV)pos1_iv > curlen)
2968 3338789 8274020 if (len_iv || len_is_uv) {
315160 3023629 if (len_iv || len_is_uv) {
2969 8254468 334712 if (!len_is_uv && len_iv < 0) {
498 8253970 if (!len_is_uv && len_iv < 0) {
2971 491 7 if (curlen)
2976 7384643 1204039 if (!pos1_is_uv && pos1_iv < 0) {
1089 7383554 if (!pos1_is_uv && pos1_iv < 0) {
2980 64977 8522616 if ((UV)len_iv > curlen-(UV)pos1_iv)
2993 20 11612789 if (!pos2_is_uv && pos2_iv < 0) {
2994 16 4 if (!pos1_is_uv && pos1_iv < 0)
1 15 if (!pos1_is_uv && pos1_iv < 0)
2998 9982894 1629895 else if (!pos1_is_uv && pos1_iv < 0)
2171 9980723 else if (!pos1_is_uv && pos1_iv < 0)
3001 11 11612783 if ((UV)pos2_iv < (UV)pos1_iv)
3003 2 11612792 if ((UV)pos2_iv > curlen)
3025 11578254 29086 I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
11 11578243 I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
11 0 I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
3026 11607340 0 const bool rvalue = (GIMME_V != G_VOID);
3034 8587959 3019381 if (num_args > 2) {
3035 11361 8576598 if (num_args > 3) {
3038 8587957 2 if ((len_sv = POPs)) {
3039 8587867 90 len_iv = SvIV(len_sv);
3040 8272792 315165 len_is_uv = len_iv ? SvIOK_UV(len_sv) : 1;
8272792 0 len_is_uv = len_iv ? SvIOK_UV(len_sv) : 1;
3045 11602741 4599 pos1_iv = SvIV(pos_sv);
3048 1395056 10212284 if (PL_op->op_private & OPpSUBSTR_REPL_FIRST) {
3053 29088 11578252 if (lvalue && !repl_sv) {
3062 29034 54 : (LvFLAGS(ret) |= 1, (STRLEN)(UV)-pos1_iv);
3066 18425 10663 : (LvFLAGS(ret) |= 2, (STRLEN)(UV)-len_iv);
3072 1406414 10171838 if (repl_sv) {
603 1405811 if (repl_sv) {
3073 1406409 5 repl = SvPV_const(repl_sv, repl_len);
3075 8 1406406 if (SvROK(sv))
3079 1137036 269378 tmps = SvPV_force_nomg(sv, curlen);
3080 364 1406050 if (DO_UTF8(repl_sv) && repl_len) {
364 0 if (DO_UTF8(repl_sv) && repl_len) {
300 64 if (DO_UTF8(repl_sv) && repl_len) {
3081 179 121 if (!DO_UTF8(sv)) {
0 179 if (!DO_UTF8(sv)) {
3086 2146 1403968 else if (DO_UTF8(sv))
2146 0 else if (DO_UTF8(sv))
3089 10138758 33080 else tmps = SvPV_const(sv, curlen);
3090 609095 10969157 if (DO_UTF8(sv)) {
583264 25831 if (DO_UTF8(sv)) {
3091 582852 412 utf8_curlen = sv_or_pv_len_utf8(sv, tmps, curlen);
5 582847 utf8_curlen = sv_or_pv_len_utf8(sv, tmps, curlen);
5 0 utf8_curlen = sv_or_pv_len_utf8(sv, tmps, curlen);
4 1 utf8_curlen = sv_or_pv_len_utf8(sv, tmps, curlen);
3092 73884 509380 if (utf8_curlen == curlen)
3103 11578203 49 if (!translate_substr_offsets(
3109 73884 11504319 ? sv_or_pv_pos_u2b(sv, tmps, pos, &byte_len) : pos;
3113 10178306 1399897 if (rvalue) {
3114 35 10178271 SvTAINTED_off(TARG); /* decontaminate */
3120 72687 10105619 if (utf8_curlen)
3124 1406391 10171812 if (repl) {
3127 2144 1404247 if (repl_need_utf8_upgrade) {
3130 2144 0 repl = SvPV_const(repl_sv_copy, repl_len);
3132 0 1406391 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
3139 10178306 1399897 if (rvalue) {
3140 1 10178305 SvSETMAGIC(TARG);
3146 23 26 if (repl)
3155 2818697 2 const IV size = POPi;
3156 2818696 3 const IV offset = POPi;
3158 265292 2553407 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
4 265288 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
3 1 const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
3161 2553410 265289 if (lvalue) { /* it's an lvalue! */
3171 4064 261225 SvTAINTED_off(TARG); /* decontaminate */
3195 1575006 977592 const bool threeargs = MAXARG >= 3 && (TOPs || ((void)POPs,0));
2 1575004 const bool threeargs = MAXARG >= 3 && (TOPs || ((void)POPs,0));
3197 1575004 977594 if (threeargs)
3198 1570729 4275 offset = POPi;
3201 2287273 265325 big_p = SvPV_const(big, biglen);
3202 2545909 6689 little_p = SvPV_const(little, llen);
3204 26111 2526487 big_utf8 = DO_UTF8(big);
2 26109 big_utf8 = DO_UTF8(big);
3205 42 2552556 little_utf8 = DO_UTF8(little);
0 42 little_utf8 = DO_UTF8(little);
3206 26111 2526487 if (big_utf8 ^ little_utf8) {
3208 22 26089 if (little_utf8 && !PL_encoding) {
22 0 if (little_utf8 && !PL_encoding) {
3213 0 22 if (little_utf8) {
3228 0 26089 ? newSVpvn(big_p, biglen) : newSVpvn(little_p, llen);
3230 855 25234 if (PL_encoding) {
3235 0 26089 if (little_utf8) {
3238 0 0 big_p = SvPV_const(big, biglen);
3241 26089 0 little_p = SvPV_const(little, llen);
3245 2287638 264960 if (SvGAMAGIC(big)) {
36 2287602 if (SvGAMAGIC(big)) {
36 0 if (SvGAMAGIC(big)) {
36 0 if (SvGAMAGIC(big)) {
3250 264978 18 big = newSVpvn_flags(big_p, biglen,
3254 2545963 6635 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
26 2545937 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
25 1 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
0 25 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
2544418 1520 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
2 2544416 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
2 0 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
2 0 if (SvGAMAGIC(little) || (is_index && !SvOK(little))) {
3263 6656 6 little = newSVpvn_flags(little_p, llen,
3268 977594 1575004 if (!threeargs)
3269 635 976959 offset = is_index ? 0 : biglen;
3271 29 1574975 if (big_utf8 && offset > 0)
29 0 if (big_utf8 && offset > 0)
3273 897 1574107 if (!is_index)
3276 3 2552595 if (offset < 0)
3278 7 2552588 else if (offset > (I32)biglen)
3280 2551066 1532 if (!(little_p = is_index
867258 1685340 if (!(little_p = is_index
3288 1642212 43128 if (retval > 0 && big_utf8)
127 1642085 if (retval > 0 && big_utf8)
3293 0 2552598 PUSHi(retval);
3300 64 2259477 SvTAINTED_off(TARG);
3302 1 2259527 TAINT_IF(SvTAINTED(TARG));
0 1 TAINT_IF(SvTAINTED(TARG));
3304 1 2259527 PUSHTARG;
3314 2269413 4964976 const U8 *s = (U8*)SvPV_const(argsv, len);
3316 49770 7184619 if (PL_encoding && SvPOK(argsv) && !DO_UTF8(argsv)) {
49769 1 if (PL_encoding && SvPOK(argsv) && !DO_UTF8(argsv)) {
1447 48322 if (PL_encoding && SvPOK(argsv) && !DO_UTF8(argsv)) {
0 1447 if (PL_encoding && SvPOK(argsv) && !DO_UTF8(argsv)) {
3322 176749 7057640 XPUSHu(DO_UTF8(argsv)
176746 3 XPUSHu(DO_UTF8(argsv)
0 7234389 XPUSHu(DO_UTF8(argsv)
0 7234389 XPUSHu(DO_UTF8(argsv)
3330 8 3089040 {
7532 3081515 {
3337 2912502 176546 if (!IN_BYTES /* under bytes, chr(-1) eq chr(0xff), etc. */
2839451 0 if (!IN_BYTES /* under bytes, chr(-1) eq chr(0xff), etc. */
50765 2846897 if (!IN_BYTES /* under bytes, chr(-1) eq chr(0xff), etc. */
3338 2854279 58223 && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
2839451 14828 && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
2839441 10 && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
0 0 && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
3339 2861727 50765 ||
3340 2 2861725 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
2 0 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
0 2 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
2846897 14828 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
3341 8 50757 && SvNV_nomg(top) < 0.0))) {
4 2846893 && SvNV_nomg(top) < 0.0))) {
3342 2 20 if (ckWARN(WARN_UTF8)) {
3343 0 2 if (SvGMAGICAL(top)) {
3353 3030813 58213 value = SvUV_nomg(top);
3358 591893 2497154 if (value > 255 && !IN_BYTES) {
591888 5 if (value > 255 && !IN_BYTES) {
3359 124355 467533 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
124355 0 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
106604 17751 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
35631 70973 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
14840 20791 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
14836 4 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
14834 2 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
14828 6 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
1206 123149 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
468739 0 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
417809 50930 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
10466 407343 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
35 10431 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
21 14 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
15 6 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
9 6 SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
3365 0 591888 XPUSHs(TARG);
3369 340787 2156372 SvGROW(TARG,2);
6339 334448 SvGROW(TARG,2);
3376 1386 2495773 if (PL_encoding && !IN_BYTES) {
1386 0 if (PL_encoding && !IN_BYTES) {
3379 1386 0 if (SvCUR(TARG) == 0
3380 1386 0 || ! is_utf8_string((U8*)tmps, SvCUR(TARG))
3381 33 1353 || UTF8_IS_REPLACEMENT((U8*) tmps, (U8*) tmps + SvCUR(TARG)))
33 0 || UTF8_IS_REPLACEMENT((U8*) tmps, (U8*) tmps + SvCUR(TARG)))
33 0 || UTF8_IS_REPLACEMENT((U8*) tmps, (U8*) tmps + SvCUR(TARG)))
33 0 || UTF8_IS_REPLACEMENT((U8*) tmps, (U8*) tmps + SvCUR(TARG)))
3383 33 0 SvGROW(TARG, 2);
0 33 SvGROW(TARG, 2);
3392 0 2497159 XPUSHs(TARG);
3402 7 1 const char *tmps = SvPV_const(left, len);
3404 2 6 if (DO_UTF8(left)) {
2 0 if (DO_UTF8(left)) {
3412 1 0 tmps = SvPV_const(tsv, len);
3435 6 1 sv_setpv(TARG, PerlProc_crypt(tmps, SvPV_nolen_const(right)));
3437 0 7 SETTARG;
3449 28733 172994 {
3476 6 201721 if (SvOK(source)) {
6 0 if (SvOK(source)) {
0 6 if (SvOK(source)) {
3477 172976 28745 s = (const U8*)SvPV_nomg_const(source, slen);
3479 4 2 if (ckWARN(WARN_UNINITIALIZED))
3494 198649 3078 if (! slen) { /* If empty */
3498 9391 189258 else if (DO_UTF8(source)) { /* Is the source utf8? */
9389 2 else if (DO_UTF8(source)) { /* Is the source utf8? */
3501 4825 4564 if (op_type == OP_UCFIRST) {
3511 289 9097 if (ulen != tculen) inplace = FALSE;
3522 1532 187728 if (op_type == OP_LCFIRST) {
3525 3 1529 *tmpbuf = (IN_LOCALE_RUNTIME) ? toLOWER_LC(*s) :
769 760 *tmpbuf = (IN_LOCALE_RUNTIME) ? toLOWER_LC(*s) :
195 566 *tmpbuf = (IN_LOCALE_RUNTIME) ? toLOWER_LC(*s) :
3526 768 1 ((IN_UNI_8_BIT) ? toLOWER_LATIN1(*s) : toLOWER(*s));
3529 3 187725 else if (IN_LOCALE_RUNTIME) {
3534 769 186956 else if (! IN_UNI_8_BIT) {
1 768 else if (! IN_UNI_8_BIT) {
3535 4147 182810 *tmpbuf = toUPPER(*s); /* Returns caseless for non-ascii, or
3541 384 384 if (tculen > 1) {
3546 375 9 if (UTF8_IS_DOWNGRADEABLE_START(*tmpbuf)) {
3561 6 3 if (title_ord > 255) {
3581 0 201724 if (inplace) {
3586 0 0 s = d = (U8*)SvPV_force_nomg(source, slen);
3587 143 201581 } else {
3595 47412 154312 d = (U8*)SvGROW(dest, need);
210 47202 d = (U8*)SvGROW(dest, need);
3601 9392 192332 if (doing_utf8) {
3602 9392 0 if (! inplace) {
3603 9386 6 if (! convert_source_to_utf8) {
3610 4940 4446 if (slen > ulen) {
3628 100 6 for (; s < send; s++) {
3641 2 9390 if (tainted) {
3643 0 2 SvTAINTED_on(dest);
3647 189254 3078 if (slen) {
3648 6 189248 if (IN_LOCALE_RUNTIME) {
3650 0 6 SvTAINTED_on(dest);
3652 0 189254 if (inplace) { /* in-place, only need to change the 1st char */
3670 4 192328 if (SvUTF8(source) && ! IN_BYTES)
2 2 if (SvUTF8(source) && ! IN_BYTES)
3673 192332 0 if (!inplace) { /* Finish the rest of the string, unchanged */
3679 201724 0 if (dest != source && SvTAINTED(source))
45937 155787 if (dest != source && SvTAINTED(source))
0 45937 if (dest != source && SvTAINTED(source))
3680 0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
3681 1 201723 SvSETMAGIC(dest);
3689 207 243726 {
3701 18389 225544 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 18389 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 0 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 0 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
3702 0 18389 && SvTEMP(source) && !DO_UTF8(source)
0 0 && SvTEMP(source) && !DO_UTF8(source)
0 0 && SvTEMP(source) && !DO_UTF8(source)
3703 0 0 && (IN_LOCALE_RUNTIME || ! IN_UNI_8_BIT)) {
0 0 && (IN_LOCALE_RUNTIME || ! IN_UNI_8_BIT)) {
0 0 && (IN_LOCALE_RUNTIME || ! IN_UNI_8_BIT)) {
3713 0 0 s = d = (U8*)SvPV_force_nomg(source, len);
3715 9738 234195 } else {
3727 50 243883 if (SvOK(source)) {
50 0 if (SvOK(source)) {
0 50 if (SvOK(source)) {
3728 243670 213 s = (const U8*)SvPV_nomg_const(source, len);
3730 2 48 if (ckWARN(WARN_UNINITIALIZED))
3738 153281 90652 d = (U8*)SvGROW(dest, min);
12779 140502 d = (U8*)SvGROW(dest, min);
3747 6734 237199 if (DO_UTF8(source)) {
6733 1 if (DO_UTF8(source)) {
3764 91613 6723 while (s < send) {
3768 7 91606 if (in_iota_subscript && ! _is_utf8_mark(s)) {
6 1 if (in_iota_subscript && ! _is_utf8_mark(s)) {
3784 79 91524 if (uv == GREEK_CAPITAL_LETTER_IOTA
3785 0 79 && utf8_to_uvchr_buf(s, send, 0) == COMBINING_GREEK_YPOGEGRAMMENI)
60 19 && utf8_to_uvchr_buf(s, send, 0) == COMBINING_GREEK_YPOGEGRAMMENI)
3790 475 91109 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
12 463 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
3800 12 0 SvGROW(dest, min);
12 0 SvGROW(dest, min);
3808 13 6710 if (in_iota_subscript) {
3816 1 6722 if (tainted) {
3818 0 1 SvTAINTED_on(dest);
3822 236892 308 if (len) {
3828 3 236889 if (IN_LOCALE_RUNTIME) {
3830 0 3 SvTAINTED_on(dest);
3831 25 3 for (; s < send; d++, s++)
3834 2338 234551 else if (! IN_UNI_8_BIT) {
2337 1 else if (! IN_UNI_8_BIT) {
3835 2639281 234552 for (; s < send; d++, s++) {
3836 2200540 438741 *d = toUPPER(*s);
3840 78871 2317 for (; s < send; d++, s++) {
3842 78842 29 if (LIKELY(*d != LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)) {
3852 9 20 if (*s == LATIN_SMALL_LETTER_SHARP_S) {
3856 0 9 if (SvLEN(dest) < ++min) {
3858 0 0 SvGROW(dest, min);
0 0 SvGROW(dest, min);
3909 320 20 for (; s < send; s++) {
3923 237200 0 if (source != dest) {
3928 243923 0 if (dest != source && SvTAINTED(source))
208 243715 if (dest != source && SvTAINTED(source))
0 208 if (dest != source && SvTAINTED(source))
3929 0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
3930 3 243920 SvSETMAGIC(dest);
3935 1951 2497169 {
3947 6022 2493098 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 6022 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 0 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
0 0 if (SvPADTMP(source) && !SvREADONLY(source) && !SvAMAGIC(source)
3948 0 6022 && SvTEMP(source) && !DO_UTF8(source)) {
0 0 && SvTEMP(source) && !DO_UTF8(source)) {
0 0 && SvTEMP(source) && !DO_UTF8(source)) {
3953 0 0 s = d = (U8*)SvPV_force_nomg(source, len);
3955 8995 2490125 } else {
3967 3 2499117 if (SvOK(source)) {
3 0 if (SvOK(source)) {
0 3 if (SvOK(source)) {
3968 2472735 26382 s = (const U8*)SvPV_nomg_const(source, len);
3970 2 1 if (ckWARN(WARN_UNINITIALIZED))
3978 1892269 606851 d = (U8*)SvGROW(dest, min);
11534 1880735 d = (U8*)SvGROW(dest, min);
3987 6709 2492411 if (DO_UTF8(source)) {
6682 27 if (DO_UTF8(source)) {
3992 91399 6679 while (s < send) {
4002 71 91325 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
3 68 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
4014 3 0 SvGROW(dest, min);
3 0 SvGROW(dest, min);
4027 257 6422 if (tainted) {
4029 0 257 SvTAINTED_on(dest);
4032 2489121 3317 if (len) {
4038 271 2488850 if (IN_LOCALE_RUNTIME) {
4040 0 271 SvTAINTED_on(dest);
4041 442 271 for (; s < send; d++, s++)
4044 2431 2486419 else if (! IN_UNI_8_BIT) {
2404 27 else if (! IN_UNI_8_BIT) {
4045 35657691 2486446 for (; s < send; d++, s++) {
4046 3811005 31846686 *d = toLOWER(*s);
4050 79681 2404 for (; s < send; d++, s++) {
4055 2492438 0 if (source != dest) {
4060 2499117 0 if (dest != source && SvTAINTED(source))
3737 2495380 if (dest != source && SvTAINTED(source))
0 3737 if (dest != source && SvTAINTED(source))
4061 0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
4062 3 2499114 SvSETMAGIC(dest);
4071 322183 2878 const char *s = SvPV_const(sv,len);
4074 324120 941 if (len) {
28099 296021 if (len) {
4077 314438 9682 SvGROW(TARG, (len * 2) + 1);
31753 282685 SvGROW(TARG, (len * 2) + 1);
4079 1150 322970 if (DO_UTF8(sv)) {
1150 0 if (DO_UTF8(sv)) {
4080 1965 1150 while (len) {
4084 1360 605 if (UTF8_IS_INVARIANT(*s)) {
4085 477 883 if (_isQUOTEMETA(*s)) {
4089 520 85 else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
4093 516 4 if (IN_LOCALE_RUNTIME
4094 516 0 || _isQUOTEMETA(TWO_BYTE_UTF8_TO_NATIVE(*s, *(s + 1))))
210 306 || _isQUOTEMETA(TWO_BYTE_UTF8_TO_NATIVE(*s, *(s + 1))))
4099 0 85 else if (is_QUOTEMETA_high(s)) {
10 75 else if (is_QUOTEMETA_high(s)) {
0 10 else if (is_QUOTEMETA_high(s)) {
0 10 else if (is_QUOTEMETA_high(s)) {
0 10 else if (is_QUOTEMETA_high(s)) {
0 10 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
4 71 else if (is_QUOTEMETA_high(s)) {
0 4 else if (is_QUOTEMETA_high(s)) {
0 4 else if (is_QUOTEMETA_high(s)) {
0 4 else if (is_QUOTEMETA_high(s)) {
0 4 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
3 68 else if (is_QUOTEMETA_high(s)) {
0 3 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 3 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
47 21 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 47 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 21 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
0 21 else if (is_QUOTEMETA_high(s)) {
0 0 else if (is_QUOTEMETA_high(s)) {
4 81 else if (is_QUOTEMETA_high(s)) {
4103 695 1270 if (to_quote) {
4106 0 1965 if (ulen > len)
4109 2640 1965 while (ulen--)
4114 30512 292458 else if (IN_UNI_8_BIT) {
0 30512 else if (IN_UNI_8_BIT) {
4115 623633 30512 while (len--) {
4116 101616 522017 if (_isQUOTEMETA(*s))
4124 13158430 292458 while (len--) {
4125 2576025 10582405 if (!isWORDCHAR_A(*s))
4136 0 325061 SETTARG;
4141 3 5005 {
66 4942 {
4154 4494 514 const U8 flags = ( full_folding ? FOLD_FLAGS_FULL : 0 )
4165 2 5006 if (SvOK(source)) {
2 0 if (SvOK(source)) {
0 2 if (SvOK(source)) {
4166 4998 8 s = (const U8*)SvPV_nomg_const(source, len);
4168 1 1 if (ckWARN(WARN_UNINITIALIZED))
4177 1331 3677 d = (U8*)SvGROW(dest, min);
67 1264 d = (U8*)SvGROW(dest, min);
4183 4208 800 if (DO_UTF8(source)) { /* UTF-8 flagged string. */
3077 1131 if (DO_UTF8(source)) { /* UTF-8 flagged string. */
4185 4271 3077 while (s < send) {
4191 330 3941 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
12 318 if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
4193 12 0 SvGROW(dest, min);
12 0 SvGROW(dest, min);
4202 256 2821 if (tainted) {
4204 0 256 SvTAINTED_on(dest);
4207 1927 4 else if (len) {
4208 256 1671 if ( IN_LOCALE_RUNTIME ) { /* Under locale */
4210 0 256 SvTAINTED_on(dest);
4211 256 256 for (; s < send; d++, s++)
4214 1402 269 else if ( !IN_UNI_8_BIT ) { /* Under nothing, or bytes */
271 1131 else if ( !IN_UNI_8_BIT ) { /* Under nothing, or bytes */
4215 3281 1400 for (; s < send; d++, s++)
4216 76 3205 *d = toFOLD(*s);
4224 348 268 for (; s < send; d++, s++) {
4225 3 345 if (*s == MICRO_SIGN) {
4244 4 3 for (; s < send; s++) {
4247 3 1 if NATIVE_IS_INVARIANT(fc) {
4248 0 3 if (full_folding
4264 18 327 else if (full_folding && *s == LATIN_SMALL_LETTER_SHARP_S) {
4267 1 17 if (SvLEN(dest) < ++min) {
4269 1 0 SvGROW(dest, min);
1 0 SvGROW(dest, min);
4285 3 5005 if (SvTAINTED(source))
0 3 if (SvTAINTED(source))
4286 0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
4287 5 5003 SvSETMAGIC(dest);
4297 165956 178000 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
2 165954 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
2 0 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
4299 343956 0 if (SvTYPE(av) == SVt_PVAV) {
4303 6 343950 if (localizing) {
4307 3 3 can_preserve = SvCANEXISTDELETE(av);
2 1 can_preserve = SvCANEXISTDELETE(av);
2 0 can_preserve = SvCANEXISTDELETE(av);
2 0 can_preserve = SvCANEXISTDELETE(av);
2 0 can_preserve = SvCANEXISTDELETE(av);
2 0 can_preserve = SvCANEXISTDELETE(av);
4310 178002 165954 if (lval && localizing) {
6 177996 if (lval && localizing) {
4313 12 6 for (svp = MARK + 1; svp <= SP; svp++) {
4314 12 0 const SSize_t elem = SvIV(*svp);
4315 12 0 if (elem > max)
4318 2 4 if (max > AvMAX(av))
4322 1004368 343956 while (++MARK <= SP) {
4324 1004366 2 SSize_t elem = SvIV(*MARK);
4327 12 1004356 if (localizing && can_preserve) {
12 0 if (localizing && can_preserve) {
4336 472361 532007 if (lval) {
4337 472361 0 if (!svp || !*svp)
0 472361 if (!svp || !*svp)
4339 12 472349 if (localizing) {
4340 0 12 if (preeminent)
4346 803152 201216 *MARK = svp ? *svp : &PL_sv_undef;
4349 336178 7778 if (GIMME != G_ARRAY) {
88179 255777 if (GIMME != G_ARRAY) {
4351 88178 1 *++MARK = SP > ORIGMARK ? *SP : &PL_sv_undef;
4359 0 1008 {
4366 999 9 if (
4368 996 3 || (sv = SvRV(sv),
8 991 || (sv = SvRV(sv),
4370 991 5 || SvOBJECT(sv)
4378 2 989 if (PL_op->op_flags & OPf_SPECIAL && SvTYPE(sv) == SVt_PVAV)
1 1 if (PL_op->op_flags & OPf_SPECIAL && SvTYPE(sv) == SVt_PVAV)
4386 864 126 if (PL_op->op_type == OP_RKEYS || PL_op->op_type == OP_RVALUES) {
4387 794 70 return (SvTYPE(sv) == SVt_PVHV) ? Perl_do_kv(aTHX) : Perl_pp_akeys(aTHX);
4392 63 63 : Perl_pp_aeach(aTHX);
4397 0 103 {
4401 135 0 const I32 gimme = GIMME_V;
4405 32 103 if (current > av_len(array)) {
4407 16 16 if (gimme == G_SCALAR)
4415 58 45 if (gimme == G_ARRAY) {
4417 58 0 PUSHs(element ? *element : &PL_sv_undef);
4427 86 0 const I32 gimme = GIMME_V;
4431 18 68 if (gimme == G_SCALAR) {
4433 0 18 PUSHi(av_len(array) + 1);
4441 18 29 if (PL_op->op_type == OP_AKEYS || PL_op->op_type == OP_RKEYS) {
4442 87 29 for (i = 0; i <= n; i++) {
4447 54 18 for (i = 0; i <= n; i++) {
4449 54 0 PUSHs(elem ? *elem : &PL_sv_undef);
4459 0 1113716 {
4464 890760 222956 const I32 gimme = GIMME_V;
4472 1082835 30881 if (entry) {
4475 860063 222772 if (gimme == G_ARRAY) {
4484 479 30402 else if (gimme == G_SCALAR)
4495 23 2 const I32 gimme = GIMME_V;
4499 19 6 SV *unsliced_keysv = sliced ? NULL : POPs;
4501 6 19 SV **mark = sliced ? PL_stack_base + POPMARK : &unsliced_keysv-1;
4504 15 10 && mg_find((const SV *)osv, PERL_MAGIC_tied);
7 8 && mg_find((const SV *)osv, PERL_MAGIC_tied);
4505 15 10 const bool can_preserve = SvCANEXISTDELETE(osv);
8 7 const bool can_preserve = SvCANEXISTDELETE(osv);
8 0 const bool can_preserve = SvCANEXISTDELETE(osv);
8 0 const bool can_preserve = SvCANEXISTDELETE(osv);
8 0 const bool can_preserve = SvCANEXISTDELETE(osv);
8 0 const bool can_preserve = SvCANEXISTDELETE(osv);
4507 6 19 SV ** const end = sliced ? SP : &unsliced_keysv;
4509 15 10 if (type == SVt_PVHV) { /* hash element */
4511 18 15 while (++MARK <= end) {
4515 18 0 if (can_preserve)
4517 5 13 if (tied) {
4519 5 0 if (he)
4526 5 8 if (preeminent)
4527 5 0 SvREFCNT_inc_simple_void(sv); /* De-mortalize */
4529 8 10 if (preeminent) {
4530 0 8 if (!sv) DIE(aTHX_ PL_no_helem_sv, SVfARG(keysv));
4532 3 5 if (tied) {
4544 10 0 else if (type == SVt_PVAV) { /* array element */
4545 10 0 if (PL_op->op_flags & OPf_SPECIAL) {
4547 21 10 while (++MARK <= end) {
4548 21 0 SSize_t idx = SvIV(*MARK);
4551 21 0 if (can_preserve)
4553 5 16 if (tied) {
4555 5 0 if (svp)
4562 3 13 if (preeminent)
4563 3 0 SvREFCNT_inc_simple_void(sv); /* De-mortalize */
4565 6 15 if (preeminent) {
4567 3 3 if (tied) {
4584 6 19 if (sliced) {
4585 2 4 if (gimme == G_VOID)
4587 0 4 else if (gimme == G_SCALAR) {
4589 0 0 if (SP > MARK)
4596 6 13 else if (gimme != G_VOID)
4609 25 5739305 if (PL_op->op_private & OPpLVAL_INTRO)
4612 4366280 1373025 gimme = GIMME_V;
4613 1959789 3779516 discard = (gimme == G_VOID) ? G_DISCARD : 0;
4615 10319 5728986 if (PL_op->op_private & OPpSLICE) {
4619 10317 2 if (hvtype == SVt_PVHV) { /* hash element */
4620 33364 10317 while (++MARK <= SP) {
4622 203 33161 *MARK = sv ? sv : &PL_sv_undef;
4625 2 0 else if (hvtype == SVt_PVAV) { /* array element */
4626 2 0 if (PL_op->op_flags & OPf_SPECIAL) {
4627 4 2 while (++MARK <= SP) {
4628 2 2 SV * const sv = av_delete(MUTABLE_AV(hv), SvIV(*MARK), discard);
4629 2 2 *MARK = sv ? sv : &PL_sv_undef;
4635 9748 571 if (discard)
4637 1 570 else if (gimme == G_SCALAR) {
4639 0 1 if (SP > MARK)
4650 5728933 53 if (SvTYPE(hv) == SVt_PVHV)
4652 53 0 else if (SvTYPE(hv) == SVt_PVAV) {
4653 53 0 if (PL_op->op_flags & OPf_SPECIAL)
4654 51 2 sv = av_delete(MUTABLE_AV(hv), SvIV(keysv), discard);
4660 4311476 1417505 if (!sv)
4662 1959217 3769764 if (!discard)
4675 123768 22210789 if (UNLIKELY( PL_op->op_private & OPpEXISTS_SUB )) {
4679 4578 119190 if (cv)
4681 385 118805 if (gv && isGV(gv) && GvCV(gv) && !GvCVGEN(gv))
385 0 if (gv && isGV(gv) && GvCV(gv) && !GvCVGEN(gv))
1 384 if (gv && isGV(gv) && GvCV(gv) && !GvCVGEN(gv))
0 1 if (gv && isGV(gv) && GvCV(gv) && !GvCVGEN(gv))
4687 21989142 221647 if (LIKELY( SvTYPE(hv) == SVt_PVHV )) {
4688 16272216 5716926 if (hv_exists_ent(hv, tmpsv, 0))
4691 221647 0 else if (SvTYPE(hv) == SVt_PVAV) {
4692 221647 0 if (PL_op->op_flags & OPf_SPECIAL) { /* array element */
4693 221645 2 if (av_exists(MUTABLE_AV(hv), SvIV(tmpsv)))
36945 184701 if (av_exists(MUTABLE_AV(hv), SvIV(tmpsv)))
4707 258916 887898 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
1 258915 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
1 0 const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
4711 217025 929789 if (localizing) {
4715 3633 213392 if (SvCANEXISTDELETE(hv))
0 3633 if (SvCANEXISTDELETE(hv))
0 0 if (SvCANEXISTDELETE(hv))
0 0 if (SvCANEXISTDELETE(hv))
0 0 if (SvCANEXISTDELETE(hv))
0 0 if (SvCANEXISTDELETE(hv))
4719 7329994 1146814 while (++MARK <= SP) {
4725 859542 6470452 if (localizing && can_preserve) {
859542 0 if (localizing && can_preserve) {
4733 1020740 6309254 he = hv_fetch_ent(hv, keysv, lval, 0);
4734 7301991 28003 svp = he ? &HeVAL(he) : NULL;
4736 6309254 1020740 if (lval) {
4737 6309254 0 if (!svp || !*svp || *svp == &PL_sv_undef) {
6309254 0 if (!svp || !*svp || *svp == &PL_sv_undef) {
0 6309254 if (!svp || !*svp || *svp == &PL_sv_undef) {
4740 859542 5449712 if (localizing) {
4741 594 858948 if (HvNAME_get(hv) && isGV(*svp))
4 590 if (HvNAME_get(hv) && isGV(*svp))
0 4 if (HvNAME_get(hv) && isGV(*svp))
0 0 if (HvNAME_get(hv) && isGV(*svp))
4 0 if (HvNAME_get(hv) && isGV(*svp))
0 4 if (HvNAME_get(hv) && isGV(*svp))
4 0 if (HvNAME_get(hv) && isGV(*svp))
2 2 if (HvNAME_get(hv) && isGV(*svp))
4743 854935 4605 else if (preeminent)
4750 7301991 28003 *MARK = svp && *svp ? *svp : &PL_sv_undef;
7301991 0 *MARK = svp && *svp ? *svp : &PL_sv_undef;
4752 1146812 2 if (GIMME != G_ARRAY) {
3636 1143178 if (GIMME != G_ARRAY) {
4754 3635 1 *++MARK = SP > ORIGMARK ? *SP : &PL_sv_undef;
4765 13331334 2854401 if (GIMME != G_ARRAY) {
10639560 5546175 if (GIMME != G_ARRAY) {
4766 10639551 9 if (++MARK <= SP)
4789 336488 653516 if (GIMME != G_ARRAY) {
971329 18675 if (GIMME != G_ARRAY) {
4790 930542 40787 I32 ix = SvIV(*lastlelem);
4791 2352 968977 if (ix < 0)
4793 626 970703 if (ix < 0 || ix >= max)
4801 18563 112 if (max == 0) {
4806 41728 18563 for (lelem = firstlelem; lelem <= lastlelem; lelem++) {
4807 39687 2041 I32 ix = SvIV(*lelem);
4808 4 41724 if (ix < 0)
4810 18 41710 if (ix < 0 || ix >= max)
4814 0 41710 if (!(*lelem = firstrelem[ix]))
4816 1837 39873 else if (mod && SvPADTMP(*lelem) && !IS_PADGV(*lelem))
1192 645 else if (mod && SvPADTMP(*lelem) && !IS_PADGV(*lelem))
4820 8 18555 if (is_something_there)
4833 0 5146535 mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
5134926 11609 mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
4842 6284339 0 SV* const retval = sv_2mortal( PL_op->op_flags & OPf_SPECIAL
4846 6085128 6284337 while (MARK < SP) {
4848 0 6085128 (MARK++, SvGMAGICAL(*MARK) ? sv_mortalcopy(*MARK) : *MARK);
4850 6085123 5 if (MARK < SP)
75028 6010095 if (MARK < SP)
4865 0 6284337 XPUSHs(retval);
4871 0 68 {
4872 68 0 if (SvTYPE(ary) == SVt_PVAV) return ary;
4874 63 5 if (!SvROK(ary) || SvTYPE(SvRV(ary)) != SVt_PVAV)
3 60 if (!SvROK(ary) || SvTYPE(SvRV(ary)) != SVt_PVAV)
4876 3 57 else if (SvOBJECT(SvRV(ary)))
4903 35 335428 AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
4912 434 335027 const MAGIC * const mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied);
4914 418 335043 if (mg) {
4915 418 0 return Perl_tied_method(aTHX_ SV_CONST(SPLICE), mark - 1, MUTABLE_SV(ary), mg,
401 17 return Perl_tied_method(aTHX_ SV_CONST(SPLICE), mark - 1, MUTABLE_SV(ary), mg,
4922 327561 7482 if (++MARK < SP) {
4923 327524 37 offset = i = SvIV(*MARK);
4924 76457 251104 if (offset < 0)
4926 0 327561 if (offset < 0)
4928 269459 58102 if (++MARK < SP) {
4929 269421 38 length = SvIVx(*MARK++);
4930 2 269457 if (length < 0) {
4932 0 2 if (length < 0)
4943 6 335037 if (offset > AvFILLp(ary) + 1) {
4944 4 2 if (num_args > 2)
4949 71528 263515 if (after < 0) { /* not that much array */
4952 0 71528 if (!AvALLOC(ary))
4960 81791 253252 if (newlen && !AvREAL(ary) && AvREIFY(ary))
122 81669 if (newlen && !AvREAL(ary) && AvREIFY(ary))
122 0 if (newlen && !AvREAL(ary) && AvREIFY(ary))
4964 83053 335043 for (dst = MARK, i = newlen; i; i--) {
4969 246006 89037 if (diff < 0) { /* shrinking the area */
4971 2772 243234 if (newlen) {
4972 0 2772 Newx(tmparyval, newlen, SV*); /* so remember insertion */
4973 0 2772 Copy(MARK, tmparyval, newlen, SV*);
4977 246000 6 if (GIMME == G_ARRAY) { /* copy return vals to stack */
101848 144158 if (GIMME == G_ARRAY) { /* copy return vals to stack */
4978 0 101848 MEXTEND(MARK, length);
4979 0 101848 Copy(AvARRAY(ary)+offset, MARK, length, SV*);
4980 40417 61431 if (AvREAL(ary)) {
4981 0 40417 EXTEND_MORTAL(length);
4982 91686 40417 for (i = length, dst = MARK; i; i--) {
4991 144158 0 if (AvREAL(ary)) {
4993 271433 144158 for (i = length - 1, dst = &AvARRAY(ary)[offset]; i > 0; i--)
5001 78079 167927 if (offset < after) { /* easier to pull up */
5002 3668 74411 if (offset) { /* esp. if nothing to pull */
5005 287543 3668 for (i = offset; i > 0; i--) /* can't trust Copy */
5013 1929 165998 if (after) { /* anything to pull down? */
5016 0 1929 Move(src, dst, after, SV*);
5022 632862 246006 while (i)
5025 2772 243234 if (newlen) {
5026 0 2772 Copy( tmparyval, AvARRAY(ary) + offset, newlen, SV* );
5032 2366 86671 if (length) {
5033 0 2366 Newx(tmparyval, length, SV*); /* so remember deletion */
5034 0 2366 Copy(AvARRAY(ary)+offset, tmparyval, length, SV*);
5037 76929 12108 if (diff > 0) { /* expanding */
5039 23242 53687 if (offset < after && diff <= AvARRAY(ary) - AvALLOC(ary)) {
100 23142 if (offset < after && diff <= AvARRAY(ary) - AvALLOC(ary)) {
5040 97 3 if (offset) {
5043 0 97 Move(src, dst, offset, SV*);
5050 4224 72605 if (AvFILLp(ary) + diff >= AvMAX(ary)) /* oh, well */
5054 66594 10235 if (after) {
5057 81837970 66594 for (i = after; i; i--) {
5064 79019 10018 if (newlen) {
5065 0 79019 Copy( MARK, AvARRAY(ary) + offset, newlen, SV* );
5069 89031 6 if (GIMME == G_ARRAY) { /* copy return vals to stack */
26766 62271 if (GIMME == G_ARRAY) { /* copy return vals to stack */
5070 411 26355 if (length) {
5071 0 411 Copy(tmparyval, MARK, length, SV*);
5072 411 0 if (AvREAL(ary)) {
5073 0 411 EXTEND_MORTAL(length);
5074 448 411 for (i = length, dst = MARK; i; i--) {
5082 1955 60316 else if (length--) {
5084 1955 0 if (AvREAL(ary)) {
5086 472 1955 while (length-- > 0)
5095 16 335027 if (SvMAGICAL(ary))
5105 18 11756883 AV * const ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
5106 49493 11707399 const MAGIC * const mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied);
5108 31 11756861 if (mg) {
5109 31 0 *MARK-- = SvTIED_obj(MUTABLE_SV(ary), mg);
5110 0 31 PUSHMARK(MARK);
5113 22 9 call_sv(SV_CONST(PUSH),G_SCALAR|G_DISCARD|G_METHOD_NAMED);
5118 2 11756859 if (SvREADONLY(ary) && MARK < SP) Perl_croak_no_modify();
5120 12340447 11756857 for (++MARK; MARK <= SP; MARK++) {
5122 12340447 0 if (*MARK) SvGETMAGIC(*MARK);
722556 11617891 if (*MARK) SvGETMAGIC(*MARK);
5124 12340445 0 if (*MARK)
5128 41780 11715077 if (PL_delaymagic & DM_ARRAY_ISA)
5134 905420 10851464 if (OP_GIMME(PL_op, 0) != G_VOID) {
5135 51 905369 PUSHi( AvFILL(ary) + 1 );
0 905420 PUSHi( AvFILL(ary) + 1 );
5141 0 110530049 {
5145 105276285 5253764 ? MUTABLE_AV(GvAV(PL_defgv)) : DEREF_PLAIN_ARRAY(MUTABLE_AV(POPs));
3 5253761 ? MUTABLE_AV(GvAV(PL_defgv)) : DEREF_PLAIN_ARRAY(MUTABLE_AV(POPs));
5146 109938319 591730 SV * const sv = PL_op->op_type == OP_SHIFT ? av_shift(av) : av_pop(av);
5149 3845396 106684653 if (AvREAL(av))
5158 12 1920450 AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
5159 648 1919814 const MAGIC * const mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied);
5161 10 1920452 if (mg) {
5162 10 0 *MARK-- = SvTIED_obj(MUTABLE_SV(ary), mg);
5163 0 10 PUSHMARK(MARK);
5166 5 5 call_sv(SV_CONST(UNSHIFT),G_SCALAR|G_DISCARD|G_METHOD_NAMED);
5173 2005702 1920452 while (MARK < SP) {
5179 2251 1918211 if (OP_GIMME(PL_op, 0) != G_VOID) {
5180 633 1618 PUSHi( AvFILL(ary) + 1 );
2 2249 PUSHi( AvFILL(ary) + 1 );
5189 103450 142 if (GIMME == G_ARRAY) {
18821 84771 if (GIMME == G_ARRAY) {
5190 18 18803 if (PL_op->op_private & OPpREVERSE_INPLACE) {
5201 8 10 if (SvMAGICAL(av)) {
5207 8 0 bool can_preserve = SvCANEXISTDELETE(av);
7 1 bool can_preserve = SvCANEXISTDELETE(av);
7 0 bool can_preserve = SvCANEXISTDELETE(av);
7 0 bool can_preserve = SvCANEXISTDELETE(av);
7 0 bool can_preserve = SvCANEXISTDELETE(av);
7 0 bool can_preserve = SvCANEXISTDELETE(av);
5209 12 8 for (i = 0, j = av_len(av); i < j; ++i, --j) {
5212 12 0 if (can_preserve) {
5213 2 10 if (!av_exists(av, i)) {
5214 2 0 if (av_exists(av, j)) {
5221 1 9 else if (!av_exists(av, j)) {
5239 9 1 if (begin) {
5242 13 9 while (begin < end) {
5253 116531 18803 while (MARK < SP) {
5270 23 84748 if (SP - MARK > 1)
5273 84740 8 sv_setsv(TARG, SP > MARK ? *SP : find_rundefsv());
5276 84625 146 up = SvPV_force(TARG, len);
5277 53395 31376 if (len > 1) {
5278 7 53388 if (DO_UTF8(TARG)) { /* first reverse each character */
7 0 if (DO_UTF8(TARG)) { /* first reverse each character */
5281 41 7 while (s < send) {
5282 29 12 if (UTF8_IS_INVARIANT(*s)) {
5287 0 12 if (!utf8_to_uvchr_buf(s, send, 0))
12 0 if (!utf8_to_uvchr_buf(s, send, 0))
5293 12 12 while (down > up) {
5303 54606 53395 while (down > up) {
5311 0 84771 SETTARG;
5320 2243746 3 IV limit = POPi; /* note, negative is forever */
5323 1967943 275806 const char *s = SvPV_const(sv, len);
5324 37873 2205876 const bool do_utf8 = DO_UTF8(sv);
0 37873 const bool do_utf8 = DO_UTF8(sv);
5333 37873 2205876 : (STRLEN)(strend - s);
5340 2231818 11931 const I32 gimme = GIMME_V;
5352 0 2243749 if (!pm || !s)
5356 42 2243707 TAINT_IF(get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET &&
0 42 TAINT_IF(get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET &&
5364 286 2243463 if (pm->op_pmreplrootu.op_pmtargetgv) {
5365 286 0 ary = GvAVn(pm->op_pmreplrootu.op_pmtargetgv);
5370 286 2243463 if (ary) {
5376 1 285 if ((mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied))) {
1 285 if ((mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied))) {
5377 0 1 PUSHMARK(SP);
5378 0 1 XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
1 0 XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
5381 0 285 if (!AvREAL(ary)) {
5385 0 0 for (i = AvFILLp(ary); i >= 0; i--)
5395 91264 2152485 if (RX_EXTFLAGS(rx) & RXf_SKIPWHITE) {
5396 54 91210 if (do_utf8) {
5397 74 80 while (isSPACE_utf8(s))
8 72 while (isSPACE_utf8(s))
8 0 while (isSPACE_utf8(s))
0 8 while (isSPACE_utf8(s))
8 64 while (isSPACE_utf8(s))
4 4 while (isSPACE_utf8(s))
4 0 while (isSPACE_utf8(s))
0 4 while (isSPACE_utf8(s))
60 4 while (isSPACE_utf8(s))
56 4 while (isSPACE_utf8(s))
12 44 while (isSPACE_utf8(s))
4 8 while (isSPACE_utf8(s))
0 4 while (isSPACE_utf8(s))
4 0 while (isSPACE_utf8(s))
0 4 while (isSPACE_utf8(s))
4 0 while (isSPACE_utf8(s))
4 0 while (isSPACE_utf8(s))
0 4 while (isSPACE_utf8(s))
100 54 while (isSPACE_utf8(s))
5400 91210 0 else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET) {
5401 0 0 while (isSPACE_LC(*s))
5405 7227 91210 while (isSPACE(*s))
5409 85892 2157857 if (RX_EXTFLAGS(rx) & RXf_PMf_MULTILINE) {
5415 946345 1297404 if (!limit)
5417 183027 2060722 if (RX_EXTFLAGS(rx) & RXf_WHITE) {
5418 934451 324 while (--limit) {
5421 358 934093 if (do_utf8) {
5422 928 150 while (m < strend && ! isSPACE_utf8(m) ) {
768 160 while (m < strend && ! isSPACE_utf8(m) ) {
720 48 while (m < strend && ! isSPACE_utf8(m) ) {
16 144 while (m < strend && ! isSPACE_utf8(m) ) {
16 0 while (m < strend && ! isSPACE_utf8(m) ) {
16 0 while (m < strend && ! isSPACE_utf8(m) ) {
0 16 while (m < strend && ! isSPACE_utf8(m) ) {
16 128 while (m < strend && ! isSPACE_utf8(m) ) {
8 8 while (m < strend && ! isSPACE_utf8(m) ) {
0 8 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
0 8 while (m < strend && ! isSPACE_utf8(m) ) {
120 8 while (m < strend && ! isSPACE_utf8(m) ) {
112 8 while (m < strend && ! isSPACE_utf8(m) ) {
24 88 while (m < strend && ! isSPACE_utf8(m) ) {
8 16 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
0 112 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
0 8 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
8 0 while (m < strend && ! isSPACE_utf8(m) ) {
0 8 while (m < strend && ! isSPACE_utf8(m) ) {
5425 720 0 if (strend - m < t)
5431 934093 0 else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET)
5433 0 0 while (m < strend && !isSPACE_LC(*m))
0 0 while (m < strend && !isSPACE_LC(*m))
5436 4174308 182553 while (m < strend && !isSPACE(*m))
3422768 751540 while (m < strend && !isSPACE(*m))
5439 751748 182703 if (m >= strend)
5442 109 751639 if (gimme_scalar) {
5444 25 84 if (m-s == 0)
5449 751531 108 dstr = newSVpvn_flags(s, m-s,
5451 0 751639 XPUSHs(dstr);
5455 208 751540 if (do_utf8)
5461 208 751540 if (do_utf8) {
5462 354 4 while (s < strend && isSPACE_utf8(s) )
234 120 while (s < strend && isSPACE_utf8(s) )
30 204 while (s < strend && isSPACE_utf8(s) )
12 108 while (s < strend && isSPACE_utf8(s) )
12 0 while (s < strend && isSPACE_utf8(s) )
0 12 while (s < strend && isSPACE_utf8(s) )
12 0 while (s < strend && isSPACE_utf8(s) )
12 96 while (s < strend && isSPACE_utf8(s) )
6 6 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
0 6 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
90 6 while (s < strend && isSPACE_utf8(s) )
84 6 while (s < strend && isSPACE_utf8(s) )
18 66 while (s < strend && isSPACE_utf8(s) )
6 12 while (s < strend && isSPACE_utf8(s) )
0 6 while (s < strend && isSPACE_utf8(s) )
84 0 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
0 6 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
0 6 while (s < strend && isSPACE_utf8(s) )
6 0 while (s < strend && isSPACE_utf8(s) )
5465 751540 0 else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET)
5467 0 0 while (s < strend && isSPACE_LC(*s))
0 0 while (s < strend && isSPACE_LC(*s))
5470 714287 50684 while (s < strend && isSPACE(*s))
13431 700856 while (s < strend && isSPACE(*s))
5475 84711 1976011 else if (RX_EXTFLAGS(rx) & RXf_START_ONLY) {
5476 117930 0 while (--limit) {
5477 2646359 83112 for (m = s; m < strend && *m != '\n'; m++)
2611541 34818 for (m = s; m < strend && *m != '\n'; m++)
5480 33219 84711 if (m >= strend)
5483 0 33219 if (gimme_scalar) {
5485 0 0 if (m-s == 0)
5490 33052 167 dstr = newSVpvn_flags(s, m-s,
5492 9 33210 XPUSHs(dstr);
5497 289986 1686025 else if (RX_EXTFLAGS(rx) & RXf_NULL && !(s >= strend)) {
251416 38570 else if (RX_EXTFLAGS(rx) & RXf_NULL && !(s >= strend)) {
5506 251405 11 if (!gimme_scalar) {
5508 1 251404 if (items < slen)
0 1 if (items < slen)
11 251393 if (items < slen)
5514 32720 218696 if (do_utf8) {
5515 42236 0 while (--limit) {
5519 21 42215 if (gimme_scalar) {
5521 0 21 if (s-m == 0)
5531 9516 32720 if (s >= strend)
5535 1869018 1 while (--limit) {
5536 22 1868996 if (gimme_scalar) {
5542 1868996 0 if (make_mortal)
5550 1650323 218695 if (s >= strend)
5555 1721903 2692 else if (do_utf8 == (RX_UTF8(rx) != 0) &&
1494122 227781 else if (do_utf8 == (RX_UTF8(rx) != 0) &&
5556 1493980 142 (RX_EXTFLAGS(rx) & RXf_USE_INTUIT) && !RX_NPARENS(rx)
5557 1269034 224946 && (RX_EXTFLAGS(rx) & RXf_CHECK_ALL)
5558 1269034 0 && !(RX_EXTFLAGS(rx) & RXf_ANCH)) {
5563 49784 1219250 if (len == 1 && !RX_UTF8(rx) && !tail) {
2 1219248 if (len == 1 && !RX_UTF8(rx) && !tail) {
5564 1219248 0 const char c = *SvPV_nolen_const(csv);
5565 3106871 25207 while (--limit) {
5566 34977383 1194041 for (m = s; m < strend && *m != c; m++)
33064553 1912830 for (m = s; m < strend && *m != c; m++)
5568 1912830 1194041 if (m >= strend)
5570 40 1912790 if (gimme_scalar) {
5572 8 32 if (m-s == 0)
5577 1912790 0 dstr = newSVpvn_flags(s, m-s,
5579 21 1912769 XPUSHs(dstr);
5583 0 1912830 if (do_utf8)
5590 82897 227 while (s < strend && --limit &&
69799 13098 while (s < strend && --limit &&
33338 36461 while (s < strend && --limit &&
5594 5 33333 if (gimme_scalar) {
5596 0 5 if (m-s == 0)
5601 33331 2 dstr = newSVpvn_flags(s, m-s,
5603 4 33329 XPUSHs(dstr);
5607 2 33336 if (do_utf8)
5616 1463602 90762 while (s < strend && --limit)
1456230 7372 while (s < strend && --limit)
5623 1098803 357427 if (rex_return == 0)
5625 0 1098803 TAINT_IF(RX_MATCH_TAINTED(rx));
5631 46 1098757 if (gimme_scalar) {
5633 6 40 if (m-s == 0)
5638 1084777 13980 dstr = newSVpvn_flags(s, m-s,
5640 65 1098692 XPUSHs(dstr);
5642 116422 982381 if (RX_NPARENS(rx)) {
5644 116422 116422 for (i = 1; i <= (I32)RX_NPARENS(rx); i++) {
5651 12 116410 if (gimme_scalar) {
5653 9 3 if (m-s == 0)
5658 116393 17 if (m >= orig && s >= orig) {
5659 108907 7486 dstr = newSVpvn_flags(s, m-s,
5665 0 116410 XPUSHs(dstr);
5674 2243623 126 if (!gimme_scalar) {
5677 0 2243749 if (iters > maxiters)
5681 493162 1750587 if (s < strend || (iters && origlimit)) {
36613 456549 if (s < strend || (iters && origlimit)) {
5682 1787096 104 if (!gimme_scalar) {
5684 1783159 3937 dstr = newSVpvn_flags(s, l, (do_utf8 ? SVf_UTF8 : 0) | make_mortal);
5685 0 1787096 XPUSHs(dstr);
5689 408901 47648 else if (!origlimit) {
5690 408883 18 if (gimme_scalar) {
5693 387031 72113 while (iters > 0 && (!TOPs || !SvANY(TOPs) || SvCUR(TOPs) == 0)) {
0 387031 while (iters > 0 && (!TOPs || !SvANY(TOPs) || SvCUR(TOPs) == 0)) {
6 387025 while (iters > 0 && (!TOPs || !SvANY(TOPs) || SvCUR(TOPs) == 0)) {
50255 336770 while (iters > 0 && (!TOPs || !SvANY(TOPs) || SvCUR(TOPs) == 0)) {
5694 10 50251 if (TOPs && !make_mortal)
5703 285 2243464 LEAVE_SCOPE(oldsave); /* may undo an earlier SWITCHSTACK */
5705 286 2243463 if (realarray) {
5706 285 1 if (!mg) {
5707 0 285 if (SvSMAGICAL(ary)) {
5712 1 284 if (gimme == G_ARRAY) {
0 1 if (gimme == G_ARRAY) {
5714 0 1 Copy(AvARRAY(ary), SP + 1, iters, SV*);
5722 0 1 call_sv(SV_CONST(PUSH),G_SCALAR|G_DISCARD|G_METHOD_NAMED);
5725 0 1 if (gimme == G_ARRAY) {
0 0 if (gimme == G_ARRAY) {
5729 0 0 for (i=0; i < iters; i++) {
5731 0 0 PUSHs((svp) ? *svp : &PL_sv_undef);
5738 2243333 130 if (gimme == G_ARRAY)
5743 0 415 PUSHi(iters);
5752 32 243 if (SvPADSTALE(sv)) {
5767 50 16734 if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV
5789 0 0 ? "[out of range]" : PL_op_name[PL_op->op_type];
5790 0 0 if(OP_IS_SOCKET(op_type))
5797 0 268 {
203 98 {
5799 527 6 int opnum = SvIOK(cSVOP_sv) ? (int)SvUV(cSVOP_sv) : 0;
0 527 int opnum = SvIOK(cSVOP_sv) ? (int)SvUV(cSVOP_sv) : 0;
5802 531 2 SV **svp = at_ ? AvARRAY(at_) : NULL;
5803 531 2 I32 minargs = 0, maxargs = 0, numargs = at_ ? AvFILLp(at_)+1 : 0;
5804 527 6 I32 oa = opnum ? PL_opargs[opnum] >> OASHIFT : 0;
5811 834 495 while (oa) {
5812 796 38 if ((oa & 7) == OA_LIST) { maxargs = I32_MAX; break; }
5814 269 527 if (oa & OA_OPTIONAL) seen_question = 1;
5815 527 269 if (!seen_question) minargs++;
5819 444 89 if(numargs < minargs) err = "Not enough";
5820 155 289 else if(numargs > maxargs) err = "Too many";
5821 244 289 if (err)
5823 241 3 Perl_croak(aTHX_
3 0 Perl_croak(aTHX_
5835 21 268 if(!maxargs) RETURN;
5840 45 223 if (pushmark) {
5845 31 237 EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
0 0 EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
5849 367 202 for (; oa&&(numargs||!pushmark); (void)(numargs&&(++svp,--numargs))) {
259 108 for (; oa&&(numargs||!pushmark); (void)(numargs&&(++svp,--numargs))) {
98 10 for (; oa&&(numargs||!pushmark); (void)(numargs&&(++svp,--numargs))) {
5854 62 162 if (!numargs && defgv && whicharg == minargs + 1) {
61 1 if (!numargs && defgv && whicharg == minargs + 1) {
5860 133 30 else PUSHs(numargs ? svp && *svp ? *svp : &PL_sv_undef : NULL);
133 0 else PUSHs(numargs ? svp && *svp ? *svp : &PL_sv_undef : NULL);
133 0 else PUSHs(numargs ? svp && *svp ? *svp : &PL_sv_undef : NULL);
5863 30 20 while (numargs--) {
5864 30 0 PUSHs(svp && *svp ? *svp : &PL_sv_undef);
30 0 PUSHs(svp && *svp ? *svp : &PL_sv_undef);
5869 8 0 if (!svp || !*svp || !SvROK(*svp)
8 0 if (!svp || !*svp || !SvROK(*svp)
6 2 if (!svp || !*svp || !SvROK(*svp)
5870 4 2 || SvTYPE(SvRV(*svp)) != SVt_PVHV)
5871 0 6 DIE(aTHX_
5874 0 0 whicharg, OP_DESC(PL_op->op_next)
5879 7 45 if (!numargs) PUSHs(NULL);
5880 45 0 else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
45 0 else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
14 31 else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
14 0 else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
14 0 else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
5886 31 0 PUSHs(S_rv2gv(aTHX_
31 0 PUSHs(S_rv2gv(aTHX_
5894 6 53 if (!numargs) goto try_defsv;
5898 53 0 if (!svp || !*svp || !SvROK(*svp)
53 0 if (!svp || !*svp || !SvROK(*svp)
44 9 if (!svp || !*svp || !SvROK(*svp)
5902 29 15 || SvTYPE(SvRV(*svp)) > (
12 17 || SvTYPE(SvRV(*svp)) > (
21 23 || SvTYPE(SvRV(*svp)) > (
5909 18 12 DIE(aTHX_
5917 12 6 : "reference to one of [$@%*]"
5920 7 16 if (opnum == OP_UNDEF && SvRV(*svp) == (SV *)PL_defgv
2 5 if (opnum == OP_UNDEF && SvRV(*svp) == (SV *)PL_defgv
5921 1 1 && cxstack[cxstack_ix].cx_type & CXp_HASARGS) {
5944 4 9 if (PL_op->op_private & OPpOFFBYONE) {
5948 0 13 XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
1 12 XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
1 0 XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));