Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 02fd5f298eb0726573ffa11ead463140a6cb3f8a
      
https://github.com/WebKit/WebKit/commit/02fd5f298eb0726573ffa11ead463140a6cb3f8a
  Author: Sosuke Suzuki <[email protected]>
  Date:   2025-03-14 (Fri, 14 Mar 2025)

  Changed paths:
    A JSTests/stress/regexp-prototype-test-fastpath-check.js
    M Source/JavaScriptCore/builtins/BuiltinNames.h
    M Source/JavaScriptCore/builtins/RegExpPrototype.js
    M Source/JavaScriptCore/bytecode/LinkTimeConstant.h
    M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
    M Source/JavaScriptCore/runtime/Intrinsic.h
    M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
    M Source/JavaScriptCore/runtime/RegExpPrototype.cpp
    M Source/JavaScriptCore/runtime/RegExpPrototype.h
    M Source/JavaScriptCore/runtime/RegExpPrototypeInlines.h

  Log Message:
  -----------
  [JSC] Implement `RegExp.prototype.test` in C++
https://bugs.webkit.org/show_bug.cgi?id=289765

Reviewed by Yusuke Suzuki.

This patch implements `RegExp.prototype.test` in C++.

It is already handled by the DFG/FTL, so this patch improves
performance in the LLInt/Baseline JIT. No performance
regressions were found in the DFG/FTL.

Benchmark results without DFG/FTL:
                                                  TipOfTree                  
Patched

simple-regexp-test-folding                     54.2258+-2.8848     ^     
32.5454+-0.7088        ^ definitely 1.6662x faster
simple-regexp-test-folding-with-hoisted-regexp
                                               37.9803+-0.3388     ^     
18.3770+-0.2817        ^ definitely 2.0667x faster
simple-regexp-test-folding-fail-with-hoisted-regexp
                                               36.4906+-0.3061     ^     
17.7502+-0.3467        ^ definitely 2.0558x faster
simple-regexp-test-folding-fail                53.1335+-0.5068     ^     
31.7124+-0.7364        ^ definitely 1.6755x faster

Benchmark results with DFG/FTL:
                                                  TipOfTree                  
Patched

simple-regexp-test-folding                      2.3313+-0.0701     ?      
2.3508+-0.1976        ?
simple-regexp-test-folding-with-hoisted-regexp
                                               11.3422+-0.5250           
10.9961+-0.2163          might be 1.0315x faster
simple-regexp-test-folding-fail-with-hoisted-regexp
                                               13.4536+-5.4919           
12.0053+-5.1104          might be 1.1206x faster
simple-regexp-test-folding-fail                 1.8815+-0.0610            
1.7787+-0.1649          might be 1.0578x faster

* Source/JavaScriptCore/runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/runtime/RegExpPrototypeInlines.h:
(JSC::regExpExecWatchpointIsValid):

Canonical link: https://commits.webkit.org/292161@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