Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 9776e50db40702ca74902a969a1876b6a2f08313
      
https://github.com/Perl/perl5/commit/9776e50db40702ca74902a969a1876b6a2f08313
  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: eef219a86910c50ec91de6d25e9099b6bd2044a6
      
https://github.com/Perl/perl5/commit/eef219a86910c50ec91de6d25e9099b6bd2044a6
  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: a1674e62352268aa2a37b501246fe7f127e09fb2
      
https://github.com/Perl/perl5/commit/a1674e62352268aa2a37b501246fe7f127e09fb2
  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: 9489aebee4a2909bfb51409e80f779aba2f94e62
      
https://github.com/Perl/perl5/commit/9489aebee4a2909bfb51409e80f779aba2f94e62
  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: f7f8aaeea84645e6f456845d604d28aabb24ab2e
      
https://github.com/Perl/perl5/commit/f7f8aaeea84645e6f456845d604d28aabb24ab2e
  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: 1ef8980377505a164ce3b283183f0ef905efa2e8
      
https://github.com/Perl/perl5/commit/1ef8980377505a164ce3b283183f0ef905efa2e8
  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/627f45ad13aa...1ef898037750

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to