[webkit-changes] [WebKit/WebKit] 085b98: [JSC] uDFG should be able to watch JSGlobalObject ...

Yusuke Suzuki noreply at github.com
Fri Oct 28 12:35:56 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 085b9807d093d97e6d2df08c98904a85e09465a6
      https://github.com/WebKit/WebKit/commit/085b9807d093d97e6d2df08c98904a85e09465a6
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-10-28 (Fri, 28 Oct 2022)

  Changed paths:
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp
    M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
    M Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
    M Source/JavaScriptCore/dfg/DFGArrayMode.cpp
    M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
    M Source/JavaScriptCore/dfg/DFGGraph.h
    M Source/JavaScriptCore/dfg/DFGJITCode.cpp
    M Source/JavaScriptCore/dfg/DFGJITCode.h
    M Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
    M Source/JavaScriptCore/dfg/DFGJITCompiler.h
    M Source/JavaScriptCore/dfg/DFGJITFinalizer.cpp
    M Source/JavaScriptCore/dfg/DFGPlan.cpp
    M Source/JavaScriptCore/dfg/DFGPlan.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  [JSC] uDFG should be able to watch JSGlobalObject WatchpointSets
https://bugs.webkit.org/show_bug.cgi?id=247154
rdar://101657085

Reviewed by Mark Lam.

This patch allows uDFG to watch JSGlobalObject WatchpointSets.
We extract this watchpoint insertion as a LinkerIR. And we run this when materializing DFG::JITData,
which should eventually become uDFG's linking phase. We also fixed a bug where we missed visiting
uDFG CallLinkInfo in CodeBlock.

* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeJITInlineCaches):
(JSC::CodeBlock::getICStatusMap):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):
* Source/JavaScriptCore/dfg/DFGGraph.h:
* Source/JavaScriptCore/dfg/DFGJITCode.cpp:
(JSC::DFG::JITData::JITData):
(JSC::DFG::attemptToWatch):
(JSC::DFG::JITData::tryInitialize):
* Source/JavaScriptCore/dfg/DFGJITCode.h:
(JSC::DFG::JITData::tryCreate):
(JSC::DFG::JITData::create): Deleted.
* Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::addToConstantPool):
* Source/JavaScriptCore/dfg/DFGJITCompiler.h:
* Source/JavaScriptCore/dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::finalize):
* Source/JavaScriptCore/dfg/DFGPlan.cpp:
(JSC::DFG::Plan::tryFinalizeJITData):
(JSC::DFG::Plan::finalizeJITData): Deleted.
* Source/JavaScriptCore/dfg/DFGPlan.h:

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




More information about the webkit-changes mailing list