Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 62667c9f166eeb70cfb472f46e02a8dbcaca5587
https://github.com/WebKit/WebKit/commit/62667c9f166eeb70cfb472f46e02a8dbcaca5587
Author: Sosuke Suzuki <[email protected]>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A JSTests/microbenchmarks/string-prototype-padEnd-multiple-chars-resolved.js
A JSTests/microbenchmarks/string-prototype-padEnd-single-char-resolved.js
A
JSTests/microbenchmarks/string-prototype-padStart-multiple-chars-resolved.js
A JSTests/microbenchmarks/string-prototype-padStart-single-char-resolved.js
A JSTests/stress/string-pad-start-end.js
M Source/JavaScriptCore/builtins/StringPrototype.js
M Source/JavaScriptCore/runtime/StringPrototype.cpp
Log Message:
-----------
[JSC] Implement `String#padStart` and `String#padEnd` in C++
https://bugs.webkit.org/show_bug.cgi?id=304732
Reviewed by Yusuke Suzuki.
This patch changes to implement `String#padStart` and `String#padEnd`.
TipOfTree
Patched
string-prototype-padStart-single-char-resolved
49.7305+-0.9690 ^
45.6120+-2.2737 ^ definitely 1.0903x faster
string-prototype-padEnd-multiple-chars-resolved
90.9060+-17.0049 ^
45.5150+-0.9702 ^ definitely 1.9973x faster
string-prototype-padStart-multiple-chars-resolved
79.6428+-4.2212 ^
46.3482+-1.8191 ^ definitely 1.7184x faster
string-prototype-padEnd-single-char-resolved
51.1737+-10.9220
47.7548+-8.5827 might be 1.0716x faster
Test: JSTests/stress/string-pad-start-end.js
* JSTests/microbenchmarks/string-prototype-padEnd-multiple-chars-resolved.js:
Added.
(test):
* JSTests/microbenchmarks/string-prototype-padEnd-single-char-resolved.js:
Added.
(test):
* JSTests/microbenchmarks/string-prototype-padStart-multiple-chars-resolved.js:
Added.
(test):
* JSTests/microbenchmarks/string-prototype-padStart-single-char-resolved.js:
Added.
(test):
* JSTests/stress/string-pad-start-end.js: Added.
(shouldBe):
(testPadStartVariants):
(testPadEndVariants):
* Source/JavaScriptCore/builtins/StringPrototype.js:
(linkTimeConstant.repeatCharactersSlowPath): Deleted.
(padStart): Deleted.
(padEnd): Deleted.
* Source/JavaScriptCore/runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::createFillerString):
(JSC::padString):
(JSC::JSC_DEFINE_HOST_FUNCTION):
Canonical link: https://commits.webkit.org/305005@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications