• Dominik Inführ's avatar
    Revert "[heap] Support multiple clients in shared GC" · 2f98fb28
    Dominik Inführ authored
    This reverts commit 90a9d6cb.
    
    Reason for revert: Seems to make some test to fail flakily. Revert for now until this is fixed.
    
    Original change's description:
    > [heap] Support multiple clients in shared GC
    >
    > Add support for safepointing multiple isolates as described in the
    > design doc (link is below). A safepoint across multiple isolates is
    > considered a global safepoint to distinguish it from regular safepoints.
    >
    > The basic idea behind the implementation is that we reach a
    > safepoint for each client. What's new is that now also main threads
    > need to participate in the safepointing protocol and need to give up
    > control in time. The slow paths of Park(), Unpark() and Safepoint() on
    > the main thread need to be adjusted for this reason as well.
    >
    > This CL introduces GlobalSafepoint and GlobalSafepointScope to mirror
    > IsolateSafepoint and IsolateSafepointScope.
    >
    > This CL adds the type IgnoreLocalGCRequests, it is used to prevent
    > Park() and Unpark() from honoring the request from background threads
    > to perform a local GC. This is used heap-internally to not have GCs
    > (or even nested GCs) in certain locations. E.g. when initiating a
    > safepoint to perform a GC we don't want a "recursive" GC to occur.
    >
    > Design doc: https://docs.google.com/document/d/1y6C9zAACEr0sBYMIYk3YpXosnkF3Ak4CEuWJu1-3zXs/edit?usp=sharing
    >
    > Bug: v8:11708
    > Change-Id: I5aca8f5f24873279271a53be3bb093fc92a1a1eb
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3009224
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#77812}
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: v8:11708
    Change-Id: I85fbf896c59492fc571b3bfaa7f9e3ea8a883260
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3275552
    Auto-Submit: Dominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77845}
    2f98fb28
heap.h 105 KB