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

Reply via email to