Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 066bf22ea15bae168fe39e7095761b1565131b5f
https://github.com/WebKit/WebKit/commit/066bf22ea15bae168fe39e7095761b1565131b5f
Author: Yusuke Suzuki <[email protected]>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M Source/JavaScriptCore/builtins/AsyncIteratorPrototype.js
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.h
M Source/JavaScriptCore/runtime/JSMicrotask.cpp
M Source/JavaScriptCore/runtime/JSMicrotask.h
M Source/JavaScriptCore/runtime/JSPromise.cpp
M Source/JavaScriptCore/runtime/JSPromise.h
M Source/JavaScriptCore/runtime/Microtask.h
M Source/JavaScriptCore/runtime/MicrotaskQueue.cpp
M Source/JavaScriptCore/runtime/MicrotaskQueue.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
M Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp
M Source/WebCore/dom/Microtasks.cpp
Log Message:
-----------
[JSC] Shrink sizeof(QueuedTask) by embedding uint8_t payload into
CompactRefPtrTuple additionally
https://bugs.webkit.org/show_bug.cgi?id=304816
rdar://167395028
Reviewed by Sosuke Suzuki.
We make InternalMicrotask uint8_t, and by doing so, we can additionally
add uint8_t payload to QueuedTask. This makes sizeof(QueuedTask) 40 by
removing one JSValue argument since it is no longer used (by using this
payload instead).
* Source/JavaScriptCore/builtins/AsyncIteratorPrototype.js:
(overriddenName.string_appeared_here.asyncDispose):
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::queueMicrotask):
* Source/JavaScriptCore/runtime/JSGlobalObject.h:
* Source/JavaScriptCore/runtime/JSMicrotask.cpp:
(JSC::promiseResolveThenableJobFastSlow):
(JSC::promiseResolveThenableJobWithInternalMicrotaskFastSlow):
(JSC::runInternalMicrotask):
* Source/JavaScriptCore/runtime/JSMicrotask.h:
* Source/JavaScriptCore/runtime/JSPromise.cpp:
(JSC::JSPromise::performPromiseThenExported):
(JSC::JSPromise::performPromiseThen):
(JSC::JSPromise::performPromiseThenWithInternalMicrotask):
(JSC::JSPromise::resolvePromise):
(JSC::JSPromise::triggerPromiseReactions):
(JSC::JSPromise::resolveWithInternalMicrotaskForAsyncAwait):
(JSC::JSPromise::resolveWithInternalMicrotask):
(JSC::JSPromise::rejectWithInternalMicrotask):
(JSC::JSPromise::fulfillWithInternalMicrotask):
(JSC::JSPromise::then):
* Source/JavaScriptCore/runtime/JSPromise.h:
* Source/JavaScriptCore/runtime/Microtask.h:
* Source/JavaScriptCore/runtime/MicrotaskQueue.cpp:
(JSC::DebuggableMicrotaskDispatcher::run):
* Source/JavaScriptCore/runtime/MicrotaskQueue.h:
(JSC::QueuedTask::QueuedTask):
(JSC::QueuedTask::job const):
(JSC::QueuedTask::payload const):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::drainMicrotasks):
* Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::queueMicrotask):
* Source/WebCore/bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::queueMicrotask):
* Source/WebCore/dom/Microtasks.cpp:
(WebCore::MicrotaskQueue::runJSMicrotask):
Canonical link: https://commits.webkit.org/305034@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications