• Nikolaos Papaspyrou's avatar
    heap: Fix reporting of incremental and background scopes · d609cd98
    Nikolaos Papaspyrou authored
    Method GCTracer::UpdateStatistics was responsible for copying
    incremental and background scopes to the current event, before
    reporting. It was called, however, at the end of the atomic pause and,
    as a result, some of these scopes would be prematurely copied to the
    current event (e.g., incremental and background sweeping scopes) and
    misreported.
    
    This CL fixes this by splitting the update of statistics and the
    copying of incremental and background scopes. It introduces the
    method GCTracer::FinalizeCurrentEvent which does the latter, which
    is called from GCTracer::StopCycle. It also introduces methods for
    correctly accessing and updating scopes, before the current event is
    finalized, and eliminates the distinction between
    GCTracer::AddScopeSample and GCTracer::AddScopeSampleBackground.
    
    Bug: chromium:1154636
    Change-Id: I2a6d9abb3daa2c48b2dce12dc2685cfc84130abf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3576792Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79938}
    d609cd98
gc-tracer.h 23.3 KB