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

  Changed paths:
    A JSTests/stress/multi-get-by-val-mixed-dfg.js
    A JSTests/stress/multi-get-by-val-mixed-oob-dfg.js
    A JSTests/stress/multi-get-by-val-sane-chain-oob-dfg.js
    A JSTests/stress/multi-put-by-val-mixed-dfg.js
    A JSTests/stress/multi-put-by-val-oob-dfg.js
    M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp

  Log Message:
  -----------
  [JSC] Add DFG MultiGetByVal and MultiPutByVal
https://bugs.webkit.org/show_bug.cgi?id=315832
rdar://178232333

Reviewed by Yijia Huang.

This patch
implements MultiGetByVal / MultiPutByVal in DFG.
They are already implemented in FTL, so basically importing the
implementation from FTL to DFG. The key difference is that we are not
supporting Int32Result and Int52Result since they are annotated in
DFG ValueRep phase which runs only on FTL. So we only support JSResults
or DoubleResult.

* JSTests/stress/multi-get-by-val-mixed-dfg.js: Added.
(shouldBe):
(test):
* JSTests/stress/multi-get-by-val-mixed-oob-dfg.js: Added.
(shouldBe):
(test):
* JSTests/stress/multi-get-by-val-sane-chain-oob-dfg.js: Added.
(shouldBe):
(test):
* JSTests/stress/multi-put-by-val-mixed-dfg.js: Added.
(shouldBe):
(shouldBeArray):
(test):
* JSTests/stress/multi-put-by-val-oob-dfg.js: Added.
(shouldBe):
(shouldBeArray):
(test):
* Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
*
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::getIntTypedArrayStoreOperand):
(JSC::DFG::compileClampIntegerToByte): Deleted.
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::arrayModeToIndexingType):
(JSC::DFG::arrayModeToTypedArrayType):
(JSC::DFG::SpeculativeJIT::compileMultiGetByVal):
(JSC::DFG::SpeculativeJIT::compileMultiPutByVal):

Canonical link: 
https://flagged.apple.com:443/proxy?t2=Dw4L8j0im7&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE0ODI3QG1haW4=&emid=1af70b88-5c53-4a09-af63-5b8859c7a41f&c=11



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

Reply via email to