Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 451833e4ed7d46edb45cd2a0b82551a05ce68ede https://github.com/Perl/perl5/commit/451833e4ed7d46edb45cd2a0b82551a05ce68ede Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021)
Changed paths: M dump.c Log Message: ----------- Use an LVALUE hv_fetch() in S_sequence_num() instead of fetch/store. Commit: ded520dc1b4f4e452d606f7acda4700ae023932a https://github.com/Perl/perl5/commit/ded520dc1b4f4e452d606f7acda4700ae023932a Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M ext/mro/mro.pm M ext/mro/mro.xs Log Message: ----------- S_mro_get_linear_isa_c3() now uses sv_inc_nomg(). Previously it was coding the increment "longhand", to avoid bugs in 5.6.x. However, this XS code is now exclusively in the core, and 5.6.x is long dead, so there's no need to work around it. The "longhand" code might *seem* to be more efficient (due to inlining some logic) but it still required at least one call to a function in sv.c (so no real change in generated code size) and that call was for the increment 0 => 1, so likely called a lot, so no significant change in total calls made. Commit: 009b864d9e6614ebbaed4f82c3bd6de967b53856 https://github.com/Perl/perl5/commit/009b864d9e6614ebbaed4f82c3bd6de967b53856 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M mro_core.c Log Message: ----------- Pre-extend the ISA hash in Perl_mro_get_linear_isa(). Commit: 10b6fccfaddd6179d0a1f0a8bd9688d4829eb900 https://github.com/Perl/perl5/commit/10b6fccfaddd6179d0a1f0a8bd9688d4829eb900 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M ext/Hash-Util-FieldHash/FieldHash.xs M ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm Log Message: ----------- Hash::Util::FieldHash fix_trigger can pre-size the hash before use. This is only called by CLONE (and hence only matters for ithreads), but it's an improvement, and small and self-contained. Commit: ae9fbee784e5fa83f50add6e6a8659379f4033e2 https://github.com/Perl/perl5/commit/ae9fbee784e5fa83f50add6e6a8659379f4033e2 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M perl.c Log Message: ----------- Pre-size the %ENV hash before populating it from environ. Also use HvTOTALKEYS() instead of HvKEYS(), as the latter makes a check for placeholders, which here cannot make a difference. Commit: 43231a2f47936854a0cf2d8f4d0f9a16c8d5eeb2 https://github.com/Perl/perl5/commit/43231a2f47936854a0cf2d8f4d0f9a16c8d5eeb2 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M perl.c Log Message: ----------- Move some variables in S_init_postdump_symbols() to a tighter scope. Commit: 5fe1e1c7d536af9e841701d7ad72536bda2b04e3 https://github.com/Perl/perl5/commit/5fe1e1c7d536af9e841701d7ad72536bda2b04e3 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M perl.c Log Message: ----------- Comment about some subtleties in S_init_postdump_symbols(). Commit: fc0034ab201eceb6cc28b88455af900b2ee6b099 https://github.com/Perl/perl5/commit/fc0034ab201eceb6cc28b88455af900b2ee6b099 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M perl.c Log Message: ----------- Use sv_inc() for the env de-dup hash in S_init_postdump_symbols(). This replaces an hv_exists/hv_store pair with a single LVALUE hv_fetch. Commit: 77745d701ca519f67def45b50e91f34685ee92e3 https://github.com/Perl/perl5/commit/77745d701ca519f67def45b50e91f34685ee92e3 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M pp.c Log Message: ----------- Pre-extend new anonymous hashes before assigning to them. We know how many pairs of keys/values are on the stack, so pre-extend the hash to the appropriate size, instead of letting the hash needlessly re-size one or more times during the assignment loop. Commit: e2737abbb702a05e83f4aa2486a941ac3964446a https://github.com/Perl/perl5/commit/e2737abbb702a05e83f4aa2486a941ac3964446a Author: Nicholas Clark <n...@ccl4.org> Date: 2021-08-23 (Mon, 23 Aug 2021) Changed paths: M pp_hot.c Log Message: ----------- Pre-extend hashes in list assignment before assigning to them. We know how many pairs of keys/values are on the stack, so pre-extend the hash to the appropriate size, instead of letting the hash needlessly re-size one or more times during the assignment loop. Compare: https://github.com/Perl/perl5/compare/94344ab1abb1...e2737abbb702