Branch: refs/heads/davem/slc
Home: https://github.com/Perl/perl5
Commit: 79567c3ec0c82810c0aa1f5cdd92505720c98ef7
https://github.com/Perl/perl5/commit/79567c3ec0c82810c0aa1f5cdd92505720c98ef7
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M pod/perlreguts.pod
M regcomp_internal.h
M regcomp_study.c
M regexec.c
M t/re/re_tests
Log Message:
-----------
regex: document the super-linear cache.
Add a new section to perlreguts which explains what the super-linear
cache is and how it works. Also update various code comments relating to
the SLC to clarify how that code works and to refer back to perlreguts
for more information.
Commit: 0358a16e73d84a73d71755c93756777bdc826cc6
https://github.com/Perl/perl5/commit/0358a16e73d84a73d71755c93756777bdc826cc6
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M pod/perlreguts.pod
Log Message:
-----------
perlreguts.pod: add basic info on study_chunk()
There is currently a very brief mention of this function, which is the
regex engine's peep-hole optimiser. Expand this into a little section
of its own, with some basic details about how this function works.
Commit: 1b2abc16e027334f49f7d8c2a416456ba8c24032
https://github.com/Perl/perl5/commit/1b2abc16e027334f49f7d8c2a416456ba8c24032
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M Porting/todo.pod
Log Message:
-----------
Porting/todo.pod: update super-linear cache text
Provide a link to the new section on the SLC in perlreguts, and update a
p5p mailing list link: the old link went to an archive of p5p posts
which no longer exists.
Commit: c800ea350e0e9c4339009335a0342c1c86bafae6
https://github.com/Perl/perl5/commit/c800ea350e0e9c4339009335a0342c1c86bafae6
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M regexec.c
Log Message:
-----------
regex: improve SLC debugging output slightly
For the super-linear cache mechanism, improve the debugging output when
a cache entry is being set or tested.
Change the debugging output for a cached fail from/to:
- WHILEM: (cache) already tried at this position...
+ WHILEM[2/3]: (cache) already failed at pos 1234
i.e. identify which WHILEM it is and where it failed, and make it clear
that we've already *failed* at this position.
Also, add this new debugging message:
WHILEM[2/3]: (cache) marking failure at pos 1234
to show when the cache entry gets set.
Also, change the initial cache message from/to:
- WHILEM: Detected a super-linear match, switching on caching
+ WHILEM: Detected a super-linear match, enabling cache
so that the word 'cache' appears consistently in debugging messages
and so can be uniformly searched for in debugging log files.
Commit: 97a352b453e196dcc2cc8f23548245a14804cc55
https://github.com/Perl/perl5/commit/97a352b453e196dcc2cc8f23548245a14804cc55
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M regexec.c
Log Message:
-----------
regex debug: always show push/pop stack index
At high levels of debugging the regex engine shows the individual regex
states being pushed on or popped off the state stack. The pushes
sometimes explicitly show the stack index, while the pops never do. For
example:
| 2| push #2 WHILEM_A_pre
....
| 3| pop WHILEM_A_pre
Technically, the depth is always shown in the LH column (the 2 and 3
above) but you have to subtract 1 off the pop depth to pair them.
To make debugging easier, this commit makes both push and pop always
explicitly show the stack index, e.g.
| 2| push #2 WHILEM_A_pre
....
| 3| pop #2 WHILEM_A_pre
Commit: d65cac059c71ba01eff56fef84f43876713da7db
https://github.com/Perl/perl5/commit/d65cac059c71ba01eff56fef84f43876713da7db
Author: David Mitchell <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M regcomp_study.c
Log Message:
-----------
regcomp_study.c: fix an indentation
One line had an indentation that wasn't 4n.
Compare: https://github.com/Perl/perl5/compare/79567c3ec0c8%5E...d65cac059c71
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications