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))); |