• Michael Lippautz's avatar
    Reland "[heap] Refactor atomic marking phase" · 25e32252
    Michael Lippautz authored
    This is a reland of commit a3f66927
    
    The reland addresses a few CHECKs that were too agressive and also
    properly adjusts Oilpan's marking configurations depending on V8's
    flags.
    
    Original change's description:
    > [heap] Refactor atomic marking phase
    >
    > The atomic marking phase was organized in many distinct smaller
    > phases. In particular, before http://crrev.com/c/3584115 the marking
    > phase split into two large separate phases.
    >
    > This CL reorganizes marking into two phases that perform regular V8
    > heap marking, Oilpan, and ephemerons:
    > - A parallel phase that likely drains all marking worklists;
    > - A single-threaded final phase to catch any left overs;
    >
    > This avoids artificial splitting in phases and also avoids repeated
    > starting and joining of jobs.
    >
    > Change-Id: I5cccfc5777837d9ece10d8f4925781bf2d07d9da
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3602507
    > Reviewed-by: Omer Katz <omerkatz@chromium.org>
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#80265}
    
    Change-Id: I26648da361b92d787c173aa9d390100ce8958728
    Bug: chromium:1320896
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616519
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#80301}
    25e32252
cpp-heap.cc 33.9 KB