1. 20 Nov, 2020 1 commit
    • Omer Katz's avatar
      Reland "cppgc: Use tracing scopes" · 2c66a0ef
      Omer Katz authored
      This reverts commit 64bf4c53.
      
      Reason for revert: fix in patchset 2
      
      Original change's description:
      > Revert "cppgc: Use tracing scopes"
      >
      > This reverts commit 548fe208.
      >
      > Reason for revert: Issues on Mac64: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac64%20-%20debug/31710
      >
      > Original change's description:
      > > cppgc: Use tracing scopes
      > >
      > > The scopes themselves mostly have the same coverage as current scopes in
      > > blink. A few exception due to encapsulation exist and are highlighted as
      > > comments on the CL.
      > >
      > > Bug: chromium:1056170
      > > Change-Id: I48af2cfdfd53a8caa1ab5d805d377f6f13a825bc
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540552
      > > Commit-Queue: Omer Katz <omerkatz@chromium.org>
      > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#71285}
      >
      > TBR=ulan@chromium.org,mlippautz@chromium.org,omerkatz@chromium.org
      >
      > Change-Id: I20dce9309dcaeff6ea61bdc51df3a2f62c2a103f
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: chromium:1056170
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550782
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#71289}
      
      TBR=ulan@chromium.org,mlippautz@chromium.org,clemensb@chromium.org,omerkatz@chromium.org
      
      # Not skipping CQ checks because this is a reland.
      
      Bug: chromium:1056170
      Change-Id: I9c57cdb3b0d310366cdf3e6fbcd1254fdc363163
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2550666
      Auto-Submit: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71305}
      2c66a0ef
  2. 19 Nov, 2020 4 commits
  3. 11 Nov, 2020 1 commit
  4. 23 Oct, 2020 1 commit
    • Omer Katz's avatar
      Reland "cppgc: Port backing store compaction." · b5979eaa
      Omer Katz authored
      This is a reland of 90ea9b35
      
      Original change's description:
      > cppgc: Port backing store compaction.
      >
      > This CL ports the existing backing store compaction algorithm from
      > blink. It does not attempt to improve on the existing algorithm.
      >
      > Currently only unified heap uses the compaction implementation. It is
      > never triggered through standalone GCs.
      >
      > The compaction implementation resides within an internal "subtle" namespace.
      >
      > Bug: v8:10990
      > Change-Id: I4aa781db1b711e7aafc34234c4fb142de84394d7
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485228
      > Commit-Queue: Omer Katz <omerkatz@chromium.org>
      > Reviewed-by: Anton Bikineev <bikineev@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#70714}
      
      Bug: v8:10990
      Change-Id: I527c2042a26648d058bfe4d355527cce9a3eeadc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2492331
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70736}
      b5979eaa
  5. 22 Oct, 2020 5 commits
  6. 21 Oct, 2020 2 commits
  7. 20 Oct, 2020 1 commit
  8. 16 Oct, 2020 1 commit
    • Omer Katz's avatar
      cppgc: Add TraceStrongly to Visitor · cb802efb
      Omer Katz authored
      Align the library with the current blink implementation.
      TraceStrongly takes a WeakMember and strongifies it so that the
      referenced objects is retained.
      This is used in blink during tracing of some weak collections.
      
      Bug: chromium:1056170
      Change-Id: I306f84fc37a856d309bccc7f544750abb2bdc7c9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2479003
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Auto-Submit: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70561}
      cb802efb
  9. 15 Oct, 2020 1 commit
  10. 14 Oct, 2020 1 commit
  11. 09 Oct, 2020 2 commits
  12. 08 Oct, 2020 2 commits
  13. 06 Oct, 2020 5 commits
  14. 02 Oct, 2020 2 commits
    • Omer Katz's avatar
      cppgc: Mark in construction objects externally · cebd8b65
      Omer Katz authored
      In construction objects don't have anything to sync with on the
      allocation side since they weren't marked as fully constructed yet.
      This could mean the initialization of the marking bit on the mutator
      thread and setting the mark bit on a concurrent thread could race
      (potentially resulting in losing the mark bit when the gc info index
      overwrites it).
      
      This CL fixes this issue by using a set of in construction objects.
      In construction objects are no longer marked. Instead they are pushed
      to the set and the heap object header is marked when they are popped
      from the worklist. Since the set avoids duplicates, this allows us to
      both avoid worklist explosion (due to pushing the same in construction
       object multiple times) and avoid the data race on the mark bit.
      
      This CL uses an unordered_set to record objects. Synchronization uses
      a lock, which could be costly but is not expected to be obtained often.
      
      Bug: chromium:1056170
      Change-Id: I366b59f476c166ff06e15b280df9e846034cc6cf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2437388
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70282}
      cebd8b65
    • Michael Lippautz's avatar
      Disable GCStackTest.IteratePointersFindsParameterNesting8 for MSVC · aaf8d462
      Michael Lippautz authored
      The test gets miscompiled on MSVC >=19.25, see bug.
      
      Bug: v8:10658
      Change-Id: I3b75fe45916fa9e59ec78b852b7bdf707f11a2cc
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2443731
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Anton Bikineev <bikineev@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70278}
      aaf8d462
  15. 01 Oct, 2020 1 commit
    • Michael Lippautz's avatar
      cppgc: Move ProcessWeakness into FinishMarking · 20e1ba28
      Michael Lippautz authored
      For cross-thread handling we require the atomic marking pause to
      provide an atomically consistent view of markbits and weak references.
      This is ensured by locking the whole atomic pause from entering to
      weak processing.
      
      This CL move ProcessWeakness() into FinishMarking() which allows to
      nicely scope the upcomming lock from EnterAtomicPause() to
      LeaveAtomicPause(). The alternative is requiring the caller to ensure
      proper locking which is harder than ensuring that the Marker is
      consistent.
      
      Bug: chromium:1056170
      Change-Id: Ib6028a0d76fcf9422c4a0d422fec3d568f106bf2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2442620
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70259}
      20e1ba28
  16. 28 Sep, 2020 2 commits
  17. 25 Sep, 2020 2 commits
  18. 17 Sep, 2020 2 commits
  19. 16 Sep, 2020 1 commit
  20. 09 Sep, 2020 2 commits
  21. 01 Sep, 2020 1 commit