Branch: refs/heads/smoke-me/khw-anyofr
  Home:   https://github.com/Perl/perl5
  Commit: 5321b9c69733b42c5c4c2b96233dadb966a28744
      
https://github.com/Perl/perl5/commit/5321b9c69733b42c5c4c2b96233dadb966a28744
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M Configure

  Log Message:
  -----------
  XXX Configure backtrace


  Commit: 4a0bf33fb21f2b4373029f5b068d663709daac26
      
https://github.com/Perl/perl5/commit/4a0bf33fb21f2b4373029f5b068d663709daac26
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c fix comments, white-space

One comment was just a typo, another was erroneous


  Commit: d947152d07255240d75c90c77d7fb745b0997e4b
      
https://github.com/Perl/perl5/commit/d947152d07255240d75c90c77d7fb745b0997e4b
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M embed.fnc
    M embed.h
    M proto.h
    M regcomp.c

  Log Message:
  -----------
  invlist_lowest


  Commit: 3f6a7c51fbf26f398ed7fd2e3ac216b5649e5da9
      
https://github.com/Perl/perl5/commit/3f6a7c51fbf26f398ed7fd2e3ac216b5649e5da9
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M embed.fnc
    M embed.h
    M proto.h
    M regcomp.c

  Log Message:
  -----------
  find_first_differing_byte_pos


  Commit: d799a089738154b2ee42c833a1d1f36172799284
      
https://github.com/Perl/perl5/commit/d799a089738154b2ee42c833a1d1f36172799284
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M regcomp.c

  Log Message:
  -----------
  regcomp.c: DTRT in av_store()

We should be increasing the ref count in the scalars.  If those aren't
needed past the end of the function doing the av_store, their ref count
can be decremented there.

Otherwise, things are inconsistent, and error prone.


  Commit: ba15cef57ceab98e86069e1f14c1c9e8e92c8d66
      
https://github.com/Perl/perl5/commit/ba15cef57ceab98e86069e1f14c1c9e8e92c8d66
  Author: Karl Williamson <[email protected]>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M pod/perldebguts.pod
    M regcomp.c
    M regcomp.h
    M regcomp.sym
    M regexec.c
    M regnodes.h
    M t/re/pat.t

  Log Message:
  -----------
  Add ANYOFHs regnode

This node is like ANYOFHb, but is used when more than one leading byte
is the same in all the matched  code points.

ANYOFHb is used to avoid having to convert from UTF-8 to code point for
something that won't match.  It checks that the first byte in the UTF-8
encoded target is the desired one, thus ruling out most of the possible
code points.

But for higher code points that require longer UTF-8 sequences, many
many non-matching code points pass this filter.  Its almost 200K that it
is ineffective for for code points above 0xFFFF.

This commit creates a new node type that addresses this problem.
Instead of a single byte, it stores as many leading bytes that are the
same for all code points that match the class.  For many classes, that
will cut down the number of possible false positives by a huge amount
before having to convert to code point to make the final determination.


Compare: https://github.com/Perl/perl5/compare/5321b9c69733%5E...ba15cef57cea

Reply via email to