1. 22 Nov, 2021 2 commits
    • Dominik Inführ's avatar
      Reland "[heap] Support multiple clients in shared GC" · 2c88cec4
      Dominik Inführ authored
      This is a reland of 90a9d6cb
      
      The original CL got reverted because of two different issues:
      
      * The DCHECK failure on AllowGarbageCollection::IsAllowed() got fixed
        in https://crrev.com/c/3289625.
      * The crash with the incremental marking job were because of a nested
        GC started from a SafepointScope. This CL adds IgnoreLocalGCRequests
        scopes to SafepointScopes in src/heap.
      
      In addition this CL prevents shared GCs during isolate deserialization
      by locking the clients_mutex_ until the isolate is fully deserialized.
      The original GC used a DisallowSafepoints scope to prevent shared GCs
      from interrupting isolate deserialization.
      
      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}
      
      Bug: v8:11708, v8:12375, v8:12377
      Change-Id: I9d1af6fbc06a3a8b6f216ec5e9027665ad071809
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3283067
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#78013}
      2c88cec4
    • v8-ci-autoroll-builder's avatar
      Update V8 DEPS. · fd86d20a
      v8-ci-autoroll-builder authored
      Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/63b08e1..eabf027
      
      R=v8-waterfall-sheriff@grotations.appspotmail.com,mtv-sf-v8-sheriff@grotations.appspotmail.com
      
      Change-Id: I5d37b3b024f5da8769268becc86166d74282c6ee
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3294405
      Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Bot-Commit: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/main@{#78012}
      fd86d20a
  2. 21 Nov, 2021 1 commit
  3. 20 Nov, 2021 7 commits
  4. 19 Nov, 2021 14 commits
  5. 18 Nov, 2021 16 commits