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