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

Reply via email to