Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: fbebf96ce083dc15b63c04d5695997d6e2657b03 https://github.com/Perl/perl5/commit/fbebf96ce083dc15b63c04d5695997d6e2657b03 Author: Richard Leach <richardle...@users.noreply.github.com> Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths: M sv.c Log Message: ----------- Perl_sv_setsv_flags: handle mixed IV and NV fast case When the fast code at the start of Perl_sv_setsv_flags was modified to also support bodyless NVs, the simplest possible change was made. However, this meant that there was no fast handling when one SV was an IV and the other a NV. Actually having this seems desirable since it avoids the need to allocate (and later release) an XPVIV or XPVNV body. Commit: 5a659e4bacfa90ab9255146b01ef7193bf6f941b https://github.com/Perl/perl5/commit/5a659e4bacfa90ab9255146b01ef7193bf6f941b Author: Richard Leach <richardle...@users.noreply.github.com> Date: 2024-12-16 (Mon, 16 Dec 2024) Changed paths: M sv.c Log Message: ----------- Perl_sv_setsv_flags: remove unreachable NULL/IV/NV code The fast code at the top of Perl_sv_setsv_flags now handles all cases where both SVs are < SVt_NV / SVt_IV, depending on the size of NVs. This means that the subsequent code paths involving those combinations are unreachable and can be removed to streamline there function. Note: Doing this actually made a difference with gcc 12.2.0, which didn't seem to figure out that this was possible by itself. Similarly, sprinking some ASSUME() statements around didn't help. Commit: 4419193b1c013e6538fdc84bd61f6db022961624 https://github.com/Perl/perl5/commit/4419193b1c013e6538fdc84bd61f6db022961624 Author: Richard Leach <richardle...@users.noreply.github.com> Date: 2024-12-16 (Mon, 16 Dec 2024) Changed paths: M embed.fnc M embed.h M proto.h M sv.c Log Message: ----------- Perl_sv_setsv_flags: extract croaks to a cold helper function Perl_sv_setsv_flags has a number of fail-safe checks which will croak if triggered. However, these code paths are *really* cold - they aren't even hit by the test harness. Since they are so cold and always result in an immediate croak, they can be pulled out into an unoptimized helper function. This leaves Perl_sv_setsv_flags smaller and therefore more cache friendly. Commit: 0877c09313129ad9ab50aeabf870cf5fce9724a0 https://github.com/Perl/perl5/commit/0877c09313129ad9ab50aeabf870cf5fce9724a0 Author: Richard Leach <richardle...@users.noreply.github.com> Date: 2024-12-16 (Mon, 16 Dec 2024) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta entry for Perl_sv_setsv_flags changes Compare: https://github.com/Perl/perl5/compare/7015de198635...0877c0931312 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications