Commit 98f510b
committed
don't call vivifier macros Perl_error_log/Perl_debug_log in a loop
- macros Perl_error_log/Perl_debug_log internally call exported
function PerlIO_stderr(my_perl) which may or may not call Newxz() or
calloc(). A naive person would think these macros are PL_something
my_perl->Isomething vars or they are C image globals vars. These 2 macros
are not simple data var derefs, but are in fact vivifing function calls.
Probably 20-30 years, before PerlIO was invented, I will guess
Perl_error_log/Perl_debug_log where just "#define Perl_error_log 2".
- Fix this by caching the PerlIO * ptrs to C autos.
- Why the PerlIO API is NULL ptr, and why these vivifier function calls
need to be called everywhere in all of core, at all PL_phases of
execution, is beyond the scope of this commit.1 parent 69b5e8a commit 98f510b
6 files changed
+69
-49
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
877 | 877 | | |
878 | 878 | | |
879 | 879 | | |
| 880 | + | |
| 881 | + | |
880 | 882 | | |
881 | 883 | | |
882 | 884 | | |
883 | | - | |
| 885 | + | |
884 | 886 | | |
885 | 887 | | |
886 | 888 | | |
887 | | - | |
| 889 | + | |
| 890 | + | |
888 | 891 | | |
889 | 892 | | |
890 | 893 | | |
891 | 894 | | |
892 | 895 | | |
893 | 896 | | |
894 | | - | |
| 897 | + | |
895 | 898 | | |
896 | 899 | | |
897 | | - | |
| 900 | + | |
898 | 901 | | |
899 | 902 | | |
900 | | - | |
| 903 | + | |
901 | 904 | | |
902 | 905 | | |
903 | 906 | | |
904 | 907 | | |
905 | 908 | | |
906 | | - | |
| 909 | + | |
907 | 910 | | |
908 | 911 | | |
909 | 912 | | |
| |||
1646 | 1649 | | |
1647 | 1650 | | |
1648 | 1651 | | |
| 1652 | + | |
1649 | 1653 | | |
1650 | 1654 | | |
1651 | 1655 | | |
1652 | | - | |
| 1656 | + | |
1653 | 1657 | | |
1654 | 1658 | | |
1655 | 1659 | | |
1656 | | - | |
| 1660 | + | |
1657 | 1661 | | |
1658 | 1662 | | |
1659 | | - | |
| 1663 | + | |
1660 | 1664 | | |
1661 | 1665 | | |
1662 | 1666 | | |
1663 | 1667 | | |
1664 | | - | |
| 1668 | + | |
1665 | 1669 | | |
1666 | 1670 | | |
1667 | | - | |
1668 | | - | |
| 1671 | + | |
| 1672 | + | |
1669 | 1673 | | |
1670 | 1674 | | |
1671 | 1675 | | |
| |||
3022 | 3026 | | |
3023 | 3027 | | |
3024 | 3028 | | |
| 3029 | + | |
3025 | 3030 | | |
3026 | 3031 | | |
3027 | 3032 | | |
3028 | 3033 | | |
3029 | 3034 | | |
3030 | 3035 | | |
3031 | | - | |
| 3036 | + | |
3032 | 3037 | | |
3033 | 3038 | | |
3034 | | - | |
| 3039 | + | |
3035 | 3040 | | |
3036 | | - | |
| 3041 | + | |
3037 | 3042 | | |
3038 | 3043 | | |
3039 | | - | |
| 3044 | + | |
3040 | 3045 | | |
3041 | 3046 | | |
3042 | | - | |
| 3047 | + | |
3043 | 3048 | | |
3044 | 3049 | | |
3045 | 3050 | | |
| |||
3297 | 3302 | | |
3298 | 3303 | | |
3299 | 3304 | | |
| 3305 | + | |
| 3306 | + | |
3300 | 3307 | | |
3301 | 3308 | | |
3302 | 3309 | | |
3303 | 3310 | | |
3304 | 3311 | | |
3305 | 3312 | | |
| 3313 | + | |
3306 | 3314 | | |
3307 | 3315 | | |
3308 | 3316 | | |
| |||
3313 | 3321 | | |
3314 | 3322 | | |
3315 | 3323 | | |
3316 | | - | |
| 3324 | + | |
3317 | 3325 | | |
3318 | 3326 | | |
3319 | 3327 | | |
3320 | | - | |
| 3328 | + | |
3321 | 3329 | | |
3322 | 3330 | | |
3323 | 3331 | | |
| |||
3334 | 3342 | | |
3335 | 3343 | | |
3336 | 3344 | | |
3337 | | - | |
| 3345 | + | |
3338 | 3346 | | |
3339 | 3347 | | |
3340 | 3348 | | |
3341 | 3349 | | |
3342 | | - | |
| 3350 | + | |
3343 | 3351 | | |
3344 | 3352 | | |
3345 | 3353 | | |
3346 | 3354 | | |
3347 | 3355 | | |
3348 | 3356 | | |
3349 | | - | |
| 3357 | + | |
3350 | 3358 | | |
3351 | 3359 | | |
3352 | 3360 | | |
| |||
3548 | 3556 | | |
3549 | 3557 | | |
3550 | 3558 | | |
3551 | | - | |
3552 | | - | |
3553 | | - | |
| 3559 | + | |
| 3560 | + | |
| 3561 | + | |
| 3562 | + | |
| 3563 | + | |
| 3564 | + | |
3554 | 3565 | | |
3555 | 3566 | | |
3556 | 3567 | | |
| |||
3568 | 3579 | | |
3569 | 3580 | | |
3570 | 3581 | | |
| 3582 | + | |
| 3583 | + | |
| 3584 | + | |
3571 | 3585 | | |
3572 | | - | |
3573 | | - | |
3574 | | - | |
3575 | | - | |
| 3586 | + | |
| 3587 | + | |
| 3588 | + | |
| 3589 | + | |
3576 | 3590 | | |
3577 | 3591 | | |
3578 | 3592 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4616 | 4616 | | |
4617 | 4617 | | |
4618 | 4618 | | |
| 4619 | + | |
4619 | 4620 | | |
4620 | 4621 | | |
4621 | 4622 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1377 | 1377 | | |
1378 | 1378 | | |
1379 | 1379 | | |
1380 | | - | |
| 1380 | + | |
1381 | 1381 | | |
1382 | 1382 | | |
1383 | 1383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8762 | 8762 | | |
8763 | 8763 | | |
8764 | 8764 | | |
8765 | | - | |
| 8765 | + | |
| 8766 | + | |
8766 | 8767 | | |
8767 | 8768 | | |
8768 | 8769 | | |
8769 | | - | |
| 8770 | + | |
8770 | 8771 | | |
8771 | 8772 | | |
8772 | 8773 | | |
8773 | 8774 | | |
8774 | | - | |
| 8775 | + | |
8775 | 8776 | | |
8776 | 8777 | | |
8777 | 8778 | | |
8778 | 8779 | | |
8779 | 8780 | | |
8780 | 8781 | | |
8781 | 8782 | | |
8782 | | - | |
| 8783 | + | |
8783 | 8784 | | |
8784 | 8785 | | |
8785 | 8786 | | |
8786 | 8787 | | |
8787 | 8788 | | |
8788 | 8789 | | |
8789 | | - | |
| 8790 | + | |
8790 | 8791 | | |
8791 | 8792 | | |
8792 | 8793 | | |
8793 | 8794 | | |
8794 | 8795 | | |
8795 | 8796 | | |
8796 | 8797 | | |
8797 | | - | |
| 8798 | + | |
8798 | 8799 | | |
8799 | 8800 | | |
8800 | 8801 | | |
8801 | | - | |
| 8802 | + | |
8802 | 8803 | | |
8803 | 8804 | | |
8804 | 8805 | | |
| |||
9211 | 9212 | | |
9212 | 9213 | | |
9213 | 9214 | | |
9214 | | - | |
| 9215 | + | |
| 9216 | + | |
9215 | 9217 | | |
9216 | | - | |
| 9218 | + | |
9217 | 9219 | | |
9218 | 9220 | | |
9219 | 9221 | | |
| |||
9247 | 9249 | | |
9248 | 9250 | | |
9249 | 9251 | | |
9250 | | - | |
| 9252 | + | |
| 9253 | + | |
9251 | 9254 | | |
9252 | 9255 | | |
9253 | 9256 | | |
9254 | 9257 | | |
9255 | | - | |
| 9258 | + | |
9256 | 9259 | | |
9257 | 9260 | | |
9258 | 9261 | | |
9259 | | - | |
| 9262 | + | |
9260 | 9263 | | |
9261 | 9264 | | |
9262 | 9265 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4871 | 4871 | | |
4872 | 4872 | | |
4873 | 4873 | | |
| 4874 | + | |
4874 | 4875 | | |
4875 | 4876 | | |
4876 | | - | |
| 4877 | + | |
4877 | 4878 | | |
4878 | | - | |
| 4879 | + | |
4879 | 4880 | | |
4880 | 4881 | | |
4881 | | - | |
| 4882 | + | |
4882 | 4883 | | |
4883 | 4884 | | |
4884 | 4885 | | |
4885 | 4886 | | |
4886 | 4887 | | |
4887 | | - | |
| 4888 | + | |
4888 | 4889 | | |
4889 | 4890 | | |
4890 | | - | |
| 4891 | + | |
4891 | 4892 | | |
4892 | 4893 | | |
4893 | 4894 | | |
| |||
0 commit comments