Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 8f1dfd6b42c0401d2eaa19cf235bc5540b163c48
https://github.com/Perl/perl5/commit/8f1dfd6b42c0401d2eaa19cf235bc5540b163c48
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
is_utf8_invariant_string_loc: mv declarations, do init
This moves two variable declarations, making the ARGS_ASSERT macro
first, and it combines one declaration with its initialization.
Commit: 1698d0cdfec1aca744b70a1c012702217760c4bf
https://github.com/Perl/perl5/commit/1698d0cdfec1aca744b70a1c012702217760c4bf
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
variant_under_utf8_count: mv ARGS_ASSERT
Better to have this first in the function
Commit: 93ed852596cd49cc5bd74753c734a9efd2ea94d0
https://github.com/Perl/perl5/commit/93ed852596cd49cc5bd74753c734a9efd2ea94d0
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M regexec.c
Log Message:
-----------
regexec.c: Move declarations to the point of initialization
Commit: 076296097806f5c98c4cf5ac8e17d496630c6a1e
https://github.com/Perl/perl5/commit/076296097806f5c98c4cf5ac8e17d496630c6a1e
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
Create BYTES_REMAINING_IN_WORD()
This macro encapsulates the task of finding how far until the next word
boundary the passed-in address is.
There are several places that could use this, but instead of converting
use this in those places, the next commit will create macros that depend
on this one and those places will instead convert to use those other new
macros.
Commit: 2d92a682d12955130874f799abdea3100abfd87a
https://github.com/Perl/perl5/commit/2d92a682d12955130874f799abdea3100abfd87a
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
Create WORTH_PER_WORD_LOOP(), WORTH_PER_WORD_LOOP_BINMODE()
There are several places in the perl core that, for performance, use
word-at-a-time operations on byte data when the data to be processed is
long enough to overcome the extra setup overhead required.
The code that does this is not immediately obvious, and is currently
repeated at each such place.
This macro creates two macros that encapsulate this logic, making each
place that uses them easier to read.
One macro is for data that isn't dependent on the character set. The
other is for character data. EBCDIC data is not suitable for per-word
operation, so the this macro always returns false on an EBCDIC platform.
This allows for the removal of some EBCDIC #ifdefs in our code base.
Commit: 2b72566df316499b857478e59882007432c4089f
https://github.com/Perl/perl5/commit/2b72566df316499b857478e59882007432c4089f
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
M regexec.c
M utf8.c
Log Message:
-----------
Use new WORTH_PER_WORD_LOOP()
This converts the places that could benefit from this new macro (and
its kin) to use them.
Commit: 8009da5632a4bb2c65e93f61617e545e0f9c4581
https://github.com/Perl/perl5/commit/8009da5632a4bb2c65e93f61617e545e0f9c4581
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M utf8.c
Log Message:
-----------
utf8.c: Clarify comment
Commit: fe84202a86ba8a5924cc22e6472f9aeb4fdc01a2
https://github.com/Perl/perl5/commit/fe84202a86ba8a5924cc22e6472f9aeb4fdc01a2
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
Remove PERL_IS_SUBWORD_ADDR
This has been subsumed by BYTES_REMAINING_IN_WORD, and is no longer
used.
Commit: 83b95f2c6afcc87aecb83faaeba7faaced400487
https://github.com/Perl/perl5/commit/83b95f2c6afcc87aecb83faaeba7faaced400487
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
inline.h: Remove trailing blanks
Commit: 042da8324e9573661b8848eb0eaefb0b6894bfb5
https://github.com/Perl/perl5/commit/042da8324e9573661b8848eb0eaefb0b6894bfb5
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M inline.h
Log Message:
-----------
variant_byte_number: Handle unusual byte ordering
Instead of refusing to compile, it is easy to handle this case.
Commit: 4092daf53e7ff6fd3e52d7398574c5f1d1f22d80
https://github.com/Perl/perl5/commit/4092daf53e7ff6fd3e52d7398574c5f1d1f22d80
Author: Karl Williamson <[email protected]>
Date: 2025-11-01 (Sat, 01 Nov 2025)
Changed paths:
M embed.fnc
M embed.h
M inline.h
M proto.h
M regexec.c
Log Message:
-----------
Remove some special EBCDIC code
The 'variant_byte_number' function was written to find the byte number
in a word of the first byte whose meaning varies depending on if the
string it is part of is encoded in UTF-8 or not. On ASCII machines,
that is simply when the upper bit is set. On EBCDIC machines, there is
no similar pattern, so this function hasn't been compiled on those.
A long time ago, I realized that this function could also handle binary
data by coercing that binary data into having the form of having that
bit set or not depending on the pattern being looked for, and then
calling that function.
But I actually hadn't realized until now that it was binary data not
tied to a character set that was being worked on. This commit rectifies
that. A new alias is added for that function that emphasizes that it
works on binary data, the function is now compiled for EBCDIC, and the
EBCDIC-only code that avoided using it is now removed.
Compare: https://github.com/Perl/perl5/compare/1f3c53ebd07a...4092daf53e7f
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications