Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8f742098b444303d409e7b87ea10cf42cafaa5a7
https://github.com/WebKit/WebKit/commit/8f742098b444303d409e7b87ea10cf42cafaa5a7
Author: Yusuke Suzuki <[email protected]>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
A JSTests/stress/dynamic-import-inline-microtask-result-promise.js
M Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp
M Source/JavaScriptCore/runtime/JSMicrotask.cpp
M Source/JavaScriptCore/runtime/JSModuleLoader.cpp
M Source/JavaScriptCore/runtime/JSPromise.cpp
M Source/JavaScriptCore/runtime/JSPromise.h
M Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp
Log Message:
-----------
[JSC] Support Inlined InternalMicrotask reaction with Promise
https://bugs.webkit.org/show_bug.cgi?id=314788
rdar://177040942
Reviewed by Sosuke Suzuki.
313220@main now offers yet another JSCell* space in JSPromise, thus we
can just store JSPromise* as well when adding inline InternalMicrotask
reaction. This patch supports it and now all InternalMicrotask reaction
can be inlined when it is only one reaction in the promise.
Test: JSTests/stress/dynamic-import-inline-microtask-result-promise.js
* JSTests/stress/dynamic-import-inline-microtask-result-promise.js: Added.
(shouldBe):
(async const):
(catch):
(err.null.throw.new.Error):
(then):
* Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp:
(JSC::CyclicModuleRecord::executeAsync):
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::runInternalMicrotask):
* Source/JavaScriptCore/runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::innerModuleLoading):
* Source/JavaScriptCore/runtime/JSPromise.cpp:
(JSC::JSPromise::setInlineMicrotaskReaction):
(JSC::JSPromise::spillInlineReaction):
(JSC::JSPromise::performPromiseThenWithInternalMicrotask):
(JSC::JSPromise::settleInlineInternalMicrotask):
(JSC::JSPromise::resolveWithInternalMicrotaskForAsyncAwait):
* Source/JavaScriptCore/runtime/JSPromise.h:
* Source/JavaScriptCore/wasm/js/JSWebAssembly.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Canonical link: https://commits.webkit.org/313230@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications