Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a48d2303546c4bb4cce553fc3d8158d1d8e6a4d0
      
https://github.com/WebKit/WebKit/commit/a48d2303546c4bb4cce553fc3d8158d1d8e6a4d0
  Author: Youenn Fablet <[email protected]>
  Date:   2026-07-06 (Mon, 06 Jul 2026)

  Changed paths:
    A LayoutTests/streams/tee-byob-microtask-gc-crash-expected.txt
    A LayoutTests/streams/tee-byob-microtask-gc-crash.html
    M Source/JavaScriptCore/runtime/MicrotaskQueue.cpp

  Log Message:
  -----------
  Make sure that MicrotaskQueue::drainImpl cannot have its micro task 
dispatcher being GCed while running
https://bugs.webkit.org/show_bug.cgi?id=318667
rdar://179017690

Reviewed by Yusuke Suzuki.

When the dispatcher runs, GC can happen, which could destroy the JS microtask 
dispatcher and its internal dispatcher.
To prevent this, we keep the JS micro task dispatcher alive with 
EnsureStillAliveScope.

Test: streams/tee-byob-microtask-gc-crash.html

* LayoutTests/streams/tee-byob-microtask-gc-crash-expected.txt: Added.
* LayoutTests/streams/tee-byob-microtask-gc-crash.html: Added.
* Source/JavaScriptCore/runtime/MicrotaskQueue.cpp:
(JSC::MicrotaskQueue::drainImpl):

Canonical link: https://commits.webkit.org/316546@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to