Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: fbebf96ce083dc15b63c04d5695997d6e2657b03
https://github.com/Perl/perl5/commit/fbebf96ce083dc15b63c04d5695997d6e2657b03
Author: Richard Leach <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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