Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5dd6865434312c3def91b287b6faba33ba795833
      
https://github.com/WebKit/WebKit/commit/5dd6865434312c3def91b287b6faba33ba795833
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-06-30 (Tue, 30 Jun 2026)

  Changed paths:
    A JSTests/microbenchmarks/get-by-val-array-storage-sparse-hole.js
    A JSTests/microbenchmarks/get-by-val-array-storage-sparse.js
    M Source/JavaScriptCore/dfg/DFGOperations.cpp
    M Source/JavaScriptCore/dfg/DFGOperations.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  [JSC] Add ArrayStorage + GetByVal specific operation
https://bugs.webkit.org/show_bug.cgi?id=318180
rdar://180990441

Reviewed by Tadeu Zagallo.

This patch adds operationGetByValArrayStorageInt, which is tailored for
ArrayStorage slow path operation. DFG / FTL can use this when we already
speculate ArrayStorage, but it is a slow path.

                                                 ToT                     Patched

get-by-val-array-storage-sparse-hole      122.9244+-1.1533     ^     
62.5947+-9.6089        ^ definitely 1.9638x faster
get-by-val-array-storage-sparse           117.8623+-0.4612     ^     
84.7042+-0.5769        ^ definitely 1.3915x faster

Tests: JSTests/microbenchmarks/get-by-val-array-storage-sparse-hole.js
       JSTests/microbenchmarks/get-by-val-array-storage-sparse.js

* JSTests/microbenchmarks/get-by-val-array-storage-sparse-hole.js: Added.
(get array):
* JSTests/microbenchmarks/get-by-val-array-storage-sparse.js: Added.
(get array):
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::getByValArrayStorageInt):
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOperations.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetByValImpl):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to