Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 608810ff36970333dde9e4e9df5d96780a9a49e6
      
https://github.com/WebKit/WebKit/commit/608810ff36970333dde9e4e9df5d96780a9a49e6
  Author: Michael Saboff <[email protected]>
  Date:   2025-05-13 (Tue, 13 May 2025)

  Changed paths:
    M JSTests/microbenchmarks/regexp-non-bmp-matching.js
    M Source/JavaScriptCore/yarr/YarrJIT.cpp

  Log Message:
  -----------
  [Yarr] Improve efficiency of non-BMP character classes with a fixed size 
greater than 1
https://bugs.webkit.org/show_bug.cgi?id=292696
rdar://150893671

Reviewed by Daniel Liu.

Change fixed sized non-BMP only character classes to use the tryReadUnicodeChar 
helper without the non-BMP increment
by 2 optimization, since we know we aren't reading the first character of an 
alternative.  This removes a few instructions
from the path for matching these follow on code points.  This change is a 
slight speed-up on the regexp-non-bmp-matching
micro benchmark.

                                  Baseline            TuneNonBMPCharClass

regexp-non-bmp-matching       37.8051+-0.1193     ^     37.5405+-0.1291        
^ definitely 1.0070x faster

<geometric>                   37.8051+-0.1193     ^     37.5405+-0.1291        
^ definitely 1.0070x faster

Also removed a superfluous jump in the greedy character class path and cleaned 
up the regexp-non-bmp-matching.js test.

Note that a similar optimization was tried on non-BMP only greedy character 
classes, but there wasn't a statistically
significant performance win in that code.

* JSTests/microbenchmarks/regexp-non-bmp-matching.js:
* Source/JavaScriptCore/yarr/YarrJIT.cpp:

Canonical link: https://commits.webkit.org/294852@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to