Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3e9331148002ecc61cc0a11e2084e58689d5f5a2
https://github.com/WebKit/WebKit/commit/3e9331148002ecc61cc0a11e2084e58689d5f5a2
Author: Sosuke Suzuki <[email protected]>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A JSTests/microbenchmarks/array-prototype-includes-untyped-int32.js
A JSTests/microbenchmarks/array-prototype-indexOf-untyped-int32.js
A JSTests/stress/array-prototype-includes-untyped-int32-double.js
A JSTests/stress/array-prototype-includes-untyped-int32-hole.js
A JSTests/stress/array-prototype-indexOf-untyped-int32-double.js
A JSTests/stress/array-prototype-indexOf-untyped-int32-hole.js
M Source/JavaScriptCore/dfg/DFGOperations.cpp
M Source/JavaScriptCore/dfg/DFGOperations.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
Log Message:
-----------
[JSC] Optimize searching untyped element from int32 array for `indexOf` and
`includes`
https://bugs.webkit.org/show_bug.cgi?id=290388
Reviewed by Yusuke Suzuki.
This patch adds a dedicated JIT operation for searching untyped
element from int32 array for `Array#indexOf` and `Array#includes`.
TipOfTree
Patched
array-prototype-indexOf-untyped-int32 36.1595+-0.6719 ^
6.9764+-0.0820 ^ definitely 5.1831x faster
array-prototype-includes-untyped-int32 39.2141+-0.4759 ^
8.3772+-0.0831 ^ definitely 4.6811x faster
* JSTests/microbenchmarks/array-prototype-includes-untyped-int32.js: Added.
(shouldBe):
(test):
* JSTests/microbenchmarks/array-prototype-indexOf-untyped-int32.js: Added.
(shouldBe):
(test):
* JSTests/stress/array-prototype-includes-untyped-int32-hole.js: Added.
(shouldBe):
(test):
* JSTests/stress/array-prototype-indexOf-untyped-int32-hole.js: Added.
(shouldBe):
(test):
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOperations.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOfOrArrayIncludes):
Canonical link: https://commits.webkit.org/292999@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