Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bb9d4d5b23a5ab7aac6fbac9033a2ce09ab1a01
      
https://github.com/WebKit/WebKit/commit/5bb9d4d5b23a5ab7aac6fbac9033a2ce09ab1a01
  Author: Yusuke Suzuki <[email protected]>
  Date:   2024-07-30 (Tue, 30 Jul 2024)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.h
    M Source/JavaScriptCore/wasm/WasmEntryPlan.cpp
    M Source/JavaScriptCore/wasm/WasmEntryPlan.h
    M Source/JavaScriptCore/wasm/WasmPlan.cpp
    M Source/JavaScriptCore/wasm/WasmPlan.h
    M Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp

  Log Message:
  -----------
  [JSC] Do not invoke macro-task unnecessarily for wasm instantiate
https://bugs.webkit.org/show_bug.cgi?id=277345
rdar://problem/132831541

Reviewed by Yijia Huang.

WebAssembly.instantiate could do compile and instantiate. At that time, since 
wasm LLInt is doing similar thing for both,
when instantiating after compiling, we may already have well-established wasm 
module. We should skip resolving promise in
the next macro task in that case since we already asynchronously compiled the 
module and further asynchronous instantiation
is not necessary.

* Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::CalleeGroup):
(JSC::Wasm::CalleeGroup::compileAsync):
* Source/JavaScriptCore/wasm/WasmCalleeGroup.h:
* Source/JavaScriptCore/wasm/WasmEntryPlan.cpp:
(JSC::Wasm::EntryPlan::completeSyncIfPossible):
* Source/JavaScriptCore/wasm/WasmEntryPlan.h:
* Source/JavaScriptCore/wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::addCompletionTaskIfNecessary):
(JSC::Wasm::Plan::addCompletionTask): Deleted.
* Source/JavaScriptCore/wasm/WasmPlan.h:
* Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp:
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiateForStreaming):
(JSC::JSC_DEFINE_HOST_FUNCTION):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to