Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 43c25c9714e7fb514a0a2c70646dc457ab199ab7
https://github.com/WebKit/WebKit/commit/43c25c9714e7fb514a0a2c70646dc457ab199ab7
Author: Yusuke Suzuki <[email protected]>
Date: 2025-03-04 (Tue, 04 Mar 2025)
Changed paths:
M Source/JavaScriptCore/CMakeLists.txt
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/Sources.txt
A Source/JavaScriptCore/runtime/MicrotaskQueue.cpp
A Source/JavaScriptCore/runtime/MicrotaskQueue.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/JavaScriptCore/runtime/VM.h
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
Log Message:
-----------
[JSC] Extract MicrotaskQueue
https://bugs.webkit.org/show_bug.cgi?id=289074
rdar://146088353
Reviewed by Yijia Huang.
This patch extracts JSC's MicrotaskQueue to prepare to extend it to
fully cover WebCore use case. Right now it is only used for
JavaScriptCore framework etc.
1. This patch extends MicrotaskQueue to accept multiple instances. We
have a linked list in VM and managing all the instances of
MicrotaskQueue associated with this VM.
2. Move MicrotaskQueue to its own file.
* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/runtime/MicrotaskQueue.cpp: Added.
(JSC::QueuedTask::run):
(JSC::MicrotaskQueue::create):
(JSC::MicrotaskQueue::visitAggregateImpl):
* Source/JavaScriptCore/runtime/MicrotaskQueue.h: Added.
(JSC::QueuedTask::QueuedTask):
(JSC::QueuedTask::identifier const):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::queueMicrotask):
(JSC::VM::drainMicrotasks):
(JSC::VM::beginMarking):
(JSC::VM::visitAggregateImpl):
(JSC::QueuedTask::run): Deleted.
(JSC::MicrotaskQueue::visitAggregateImpl): Deleted.
* Source/JavaScriptCore/runtime/VM.h:
(JSC::QueuedTask::QueuedTask): Deleted.
(JSC::QueuedTask::identifier const): Deleted.
(JSC::MicrotaskQueue::dequeue): Deleted.
(JSC::MicrotaskQueue::enqueue): Deleted.
(JSC::MicrotaskQueue::isEmpty const): Deleted.
(JSC::MicrotaskQueue::size const): Deleted.
(JSC::MicrotaskQueue::clear): Deleted.
(JSC::MicrotaskQueue::beginMarking): Deleted.
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/291566@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