Bug 1827389 - Fix mark rate telemetry to include marking done in sweep phase r=sfink
commitfbd6e308d834957355c836351e49c8d3720aa3bc
authorJon Coppeard <jcoppeard@mozilla.com>
Fri, 14 Apr 2023 07:59:50 +0000 (14 07:59 +0000)
committerJon Coppeard <jcoppeard@mozilla.com>
Fri, 14 Apr 2023 07:59:50 +0000 (14 07:59 +0000)
tree2c675bb5374b3a5569976b724ee6e4db63a7b5d1
parente0f91b4b0fa8776ea34338c15c9be73a036661f3
Bug 1827389 - Fix mark rate telemetry to include marking done in sweep phase r=sfink

Mark rate telemetry didn't include marking that happened in the sweep phase
(which includes all gray marking).

The patch removes the SWEEP_MARK phase kind and puts everything into MARK,
which is then also referenced under SWEEP. This seems to make more sense than
having these separate, since we already have the facility to reference phase
kinds from more than one parent.

Mark rate telemetry is based on the total marking time, which includes all
root/gray/weak marking.

The GC_MARK_MS telemetry is adjusted to remove time spent marking gray and
weak, to keep this as close to the current definition as possible. It still
includes root marking, as it did before.

Differential Revision: https://phabricator.services.mozilla.com/D175128
js/src/gc/GenerateStatsPhases.py
js/src/gc/Marking.cpp
js/src/gc/Statistics.cpp
js/src/gc/Sweeping.cpp
js/src/gc/Verifier.cpp