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