[webkit-changes] [WebKit/WebKit] 754ed1: BBQPlan should not be an EntryPlan

Keith Miller noreply at github.com
Tue Sep 24 13:14:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 754ed19097422f6e5912cb4cfb33afcf21245f16
      https://github.com/WebKit/WebKit/commit/754ed19097422f6e5912cb4cfb33afcf21245f16
  Author: Keith Miller <keith_miller at apple.com>
  Date:   2024-09-24 (Tue, 24 Sep 2024)

  Changed paths:
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
    M Source/JavaScriptCore/wasm/WasmBBQPlan.h
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp
    M Source/JavaScriptCore/wasm/WasmIPIntTierUpCounter.h
    M Source/JavaScriptCore/wasm/WasmLLIntTierUpCounter.h
    M Source/JavaScriptCore/wasm/WasmModule.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  -----------
  BBQPlan should not be an EntryPlan
https://bugs.webkit.org/show_bug.cgi?id=280274
rdar://136594153

Reviewed by Yusuke Suzuki.

Right now BBQPlan is also an EntryPlan which means it needs to do all the
validation/module call graph steps required for entry. This was error prone
as e.g. BBQPlan with useWasmLLInt=0 would not report it's callsites to the
CalleeGroup thus would never would call OMG code.

This patch instead makes useWasmLLInt/useWasmIPInt=0 instantly trigger a
sync tier up to BBQ. This should simplify the code paths and make things
much simpler.

* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::BBQPlan):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):
(JSC::Wasm::BBQPlan::prepareImpl): Deleted.
(JSC::Wasm::BBQPlan::didCompleteCompilation): Deleted.
(JSC::Wasm::BBQPlan::initializeCallees): Deleted.
(JSC::Wasm::BBQPlan::didReceiveFunctionData): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQPlan.h:
* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::CalleeGroup):
* Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
(JSC::IPInt::jitCompileAndSetHeuristics):
* Source/JavaScriptCore/wasm/WasmIPIntTierUpCounter.h:
(JSC::Wasm::IPIntTierUpCounter::optimizeAfterWarmUp):
* Source/JavaScriptCore/wasm/WasmLLIntTierUpCounter.h:
(JSC::Wasm::LLIntTierUpCounter::optimizeAfterWarmUp):
* Source/JavaScriptCore/wasm/WasmModule.cpp:
(JSC::Wasm::Module::getOrCreateCalleeGroup):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::jitCompileSIMDFunction):

Canonical link: https://commits.webkit.org/284175@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