[webkit-changes] [WebKit/WebKit] 931918: [JSC] Place UpperTierExecutionCounter to DFG::JITData

Yusuke Suzuki noreply at github.com
Mon Sep 23 18:23:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 931918328011eb64a2d1134f1d00ba073cc27b8f
      https://github.com/WebKit/WebKit/commit/931918328011eb64a2d1134f1d00ba073cc27b8f
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-09-23 (Mon, 23 Sep 2024)

  Changed paths:
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp
    M Source/JavaScriptCore/dfg/DFGJITCode.cpp
    M Source/JavaScriptCore/dfg/DFGJITCode.h
    M Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
    M Source/JavaScriptCore/dfg/DFGOperations.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp

  Log Message:
  -----------
  [JSC] Place UpperTierExecutionCounter to DFG::JITData
https://bugs.webkit.org/show_bug.cgi?id=280227
rdar://136535578

Reviewed by Yijia Huang.

This patch moves UpperTierExecutionCounter to DFG::JITData. Throughout
DFG Handler IC work, we materialized DFG::JITData in DFG. Thus we can
just use this register all the time and we can place it. Since this is
frequently accessed, this makes code simplified, removing some large
address materialization.

* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeUnconditionally):
* Source/JavaScriptCore/dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::checkIfOptimizationThresholdReached):
(JSC::DFG::JITCode::optimizeNextInvocation):
(JSC::DFG::JITCode::dontOptimizeAnytimeSoon):
(JSC::DFG::JITCode::optimizeAfterWarmUp):
(JSC::DFG::JITCode::optimizeSoon):
(JSC::DFG::JITCode::forceOptimizationSlowPathConcurrently):
* Source/JavaScriptCore/dfg/DFGJITCode.h:
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::shouldTriggerFTLCompile):
(JSC::DFG::JSC_DEFINE_NOEXCEPT_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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



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


More information about the webkit-changes mailing list