Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2eedeabcb721282641ccc06a25be24cca67ad8df
https://github.com/WebKit/WebKit/commit/2eedeabcb721282641ccc06a25be24cca67ad8df
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-24 (Mon, 24 Aug 2026)
Changed paths:
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/heap/SlotVisitor.cpp
Log Message:
-----------
[JSC] Stop broadcasting to every parallel marker when a bonus visitor task
ends
https://bugs.webkit.org/show_bug.cgi?id=322451
rdar://185735562
Reviewed by Yijia Huang.
Heap::runTaskInParallel() publishes a bonus task, runs it on the collector
visitor (collector thread), then clears it. And both setting and
clearing a bonus task (for parallel visitors) notify
m_markingConditionVariable. While publishing a bonus task requires
broadcasting notification, clearing does not need it since it just
reduces a possible task. Also, we do not need to notify
m_markingConditionVariable when clearing a bonus task in drainFromShared
too. We add m_bonusVisitorTaskConditionVariable to signal it to the
collector thread.
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::clearConcurrentRetainedDataIfPossible):
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/heap/SlotVisitor.cpp:
(JSC::SlotVisitor::drainFromShared):
Canonical link: https://commits.webkit.org/319764@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications