• Michael Lippautz's avatar
    cppgc-js: Fix epoch counters · ad76d8be
    Michael Lippautz authored
    Upon starting a new full garbage collection the global epoch is
    incremented. Since EmbedderHeapTracer::TraceEpilogue is called within
    the marking phase, it is too late to finalize sweeping there as it
    would use the previous cppgc epoch.
    
    This makes metric computation crash as a single V8 full GC epoch
    contains two different cppgc epochs (finalizing sweeping, new GC
    cycle).
    
    This CL avoids introducing a new EmbedderHeapTracer API and instead
    makes use of the fact that cppgc is known to V8's heap.
    
    Bug: chromium:1211795
    Change-Id: I69837b083c4ee1edcad9d8c1a223278f992e5758
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3085264Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76196}
    ad76d8be
cpp-heap.cc 25 KB