Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b68bb7b7c02bcdb97d5a2c4a20a0f69afc6c1497
https://github.com/WebKit/WebKit/commit/b68bb7b7c02bcdb97d5a2c4a20a0f69afc6c1497
Author: Dan Hecht <[email protected]>
Date: 2026-10-08 (Thu, 08 Oct 2026)
Changed paths:
M Source/JavaScriptCore/heap/Collector.cpp
M Source/JavaScriptCore/heap/Collector.h
Log Message:
-----------
[JSC] Sum the GC log and signpost values over all of the Collector's heaps
https://bugs.webkit.org/show_bug.cgi?id=326693
rdar://189425869
Reviewed by Marcus Plutowski.
The logGC lines and the GC signpost describe only heap(), the Collector's one
heap: its pointer, capacity, barriers executed and mutator mark stack size.
Once a Collector covers several heaps, they should describe the collection.
- Capacity, barriers executed and mutator mark stack sizes are summed over the
Collector's heaps.
- The pointer that identifies the collection, in the log lines' "[GC<...>]"
prefix and the signpost's "GC:(...)" field, is its heap's when it has one
heap, as in Heap's own log lines, and "all" otherwise.
- The per-visitor breakdown of bytes visited sums visitors that share a name.
Every heap's mutator visitor is named "M", so it would otherwise keep only
the first heap's count.
Also move the signpost code and the per-visitor breakdown into helpers, and
rename m_gcVersion to m_signpostVersion, since only the signpost reads it.
With one heap, the output is unchanged.
* Source/JavaScriptCore/heap/Collector.cpp:
(JSC::Collector::runBeginPhase):
(JSC::Collector::runFixpointPhase):
(JSC::Collector::runReloopPhase):
(JSC::Collector::runEndPhase):
(JSC::Collector::dump const):
(JSC::Collector::bytesVisitedPerVisitorDump):
(JSC::Collector::capacity):
(JSC::Collector::barriersExecuted):
(JSC::Collector::mutatorMarkStacksSize):
(JSC::Collector::beginSignpost):
(JSC::Collector::endSignpost):
* Source/JavaScriptCore/heap/Collector.h:
Canonical link: https://commits.webkit.org/323109@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications