1. 10 May, 2021 1 commit
  2. 07 May, 2021 2 commits
  3. 30 Apr, 2021 1 commit
  4. 09 Mar, 2021 1 commit
  5. 08 Mar, 2021 1 commit
  6. 24 Feb, 2021 2 commits
    • Omer Katz's avatar
      cppgc: Add missing guard for PersistentNode allocation. · d98b12d3
      Omer Katz authored
      Two threads might get the same PersistentNode because the
      BasicCrossThreadPersistent ctor wasn't taking a lock. Then if one thread
      frees the node and the other initalizes it or updates its owner, we get
      some random object in our free list of PersistentNodes.
      
      I debug a crash in Assign(Unsafe) and Clear where the PersistentNode
      seemed to be allocated on stack. Empirically, adding this guard resolved
      it. I can't confirm in the code that the scenario above is what was
      happening.
      
      Drive-by: adding a few DCHECKs.
      
      Bug: chromium:1056170
      Change-Id: I37d8ed5bb942a124c98d7524b7f04fe8ccb2aefd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718144
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73023}
      d98b12d3
    • Omer Katz's avatar
      cppgc: Check AssignUnsafe use cases · e18591df
      Omer Katz authored
      Assert that the lock is help whenever AssignUnsafe is called.
      LazyMutex::AssertHeld resolves to a DCHECK so this should not
      regress production performance (other than the call itself
      that might not be inlined).
      
      Bug: chromium:1056170
      Change-Id: Ic2005d180e6960c24dff7743aa3e0d5e57a63d80
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716286Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Omer Katz <omerkatz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73000}
      e18591df
  7. 02 Feb, 2021 1 commit
  8. 28 Jan, 2021 1 commit
  9. 14 Jan, 2021 1 commit
  10. 09 Oct, 2020 1 commit
    • Michael Lippautz's avatar
      Migrate CrossThreadPersistent · 4569ffae
      Michael Lippautz authored
      Adds a cross-thread reference for strongly and weakly retaining
      objects on a thread other than the thread that owns the object.
      
      The intended use of the reference is by setting it up on the
      originating thread, holding the object alive from another thread, and
      ultimately accessing the object again on the originating thread.
      
      The reference has known caveats:
      - It's unsafe to use when the heap may terminate;
      - It's unsafe to transitively reach through the graph because of
        compaction;
      
      Change-Id: I84fbdde69a099eb54af5b93c34e2169915b17e64
      Bug: chromium:1056170
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2436449
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70428}
      4569ffae