Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3f3463a1d924785c5a671cc3e7dd730d90ecea27
https://github.com/WebKit/WebKit/commit/3f3463a1d924785c5a671cc3e7dd730d90ecea27
Author: Yusuke Suzuki <[email protected]>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js
M Source/JavaScriptCore/builtins/BuiltinNames.h
M Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp
M Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
M Source/JavaScriptCore/bytecode/LinkTimeConstant.h
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/runtime/JSMicrotask.cpp
M Source/JavaScriptCore/runtime/Microtask.h
Log Message:
-----------
[JSC] Use InternalMicrotask in AsyncFromSyncIterator
https://bugs.webkit.org/show_bug.cgi?id=304755
rdar://167285616
Reviewed by Sosuke Suzuki.
This patch moves AsyncFromSyncIterator's driving function from
resolveWithoutPromiseForAsyncAwait to
resolveWithInternalMicrotaskForAsyncAwait. This is the step towards
removing "WithoutPromise" variant of these operations and fully
migrating to InternalMicrotask based one. This patch is keeping next
etc. function as JS since this is synchronously called from user JS, so
keeping it in JS is efficient, while moving promise resolving functions
to InternalMicrotask C++.
* Source/JavaScriptCore/builtins/AsyncFromSyncIteratorPrototype.js:
(next):
(return):
(throw):
(linkTimeConstant.asyncFromSyncIteratorOnRejected): Deleted.
(linkTimeConstant.asyncFromSyncIteratorOnFulfilledContinue): Deleted.
(linkTimeConstant.asyncFromSyncIteratorOnFulfilledDone): Deleted.
(): Deleted.
* Source/JavaScriptCore/builtins/BuiltinNames.h:
* Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
* Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h:
* Source/JavaScriptCore/bytecode/LinkTimeConstant.h:
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSGlobalObject::init):
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::asyncFromSyncIteratorContinueOrDone):
(JSC::runInternalMicrotask):
* Source/JavaScriptCore/runtime/Microtask.h:
Canonical link: https://commits.webkit.org/304988@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications