- 10 May, 2021 1 commit
-
-
Michael Lippautz authored
This is a reland of 7458e67c Original change's description: > cppgc: Implement basic Member and Persistent checks > > Adds check for > - same heap on assignment > - header and containment > > The verification state is eagerly created for on-heap Member > references using caged heap and lazily created on first assignment for > all others. > > Bug: chromium:1056170 > Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74449} Bug: chromium:1056170 Change-Id: I9cecfcf7ba2cb70650fd51f345fbf740b96ff6ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2882804Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74468}
-
- 07 May, 2021 2 commits
-
-
Zhi An Ng authored
This reverts commit 7458e67c. Reason for revert: Crash on windows https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20debug/37698/overview Original change's description: > cppgc: Implement basic Member and Persistent checks > > Adds check for > - same heap on assignment > - header and containment > > The verification state is eagerly created for on-heap Member > references using caged heap and lazily created on first assignment for > all others. > > Bug: chromium:1056170 > Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74449} Bug: chromium:1056170 Change-Id: I466522a7d879560c99dabbd96c3b097894743a87 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2880149 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#74450}
-
Michael Lippautz authored
Adds check for - same heap on assignment - header and containment The verification state is eagerly created for on-heap Member references using caged heap and lazily created on first assignment for all others. Bug: chromium:1056170 Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74449}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I41c4c18dd3f70ec255e9d2769ffd25a38f6f2784 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862764Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74307}
-
- 09 Mar, 2021 1 commit
-
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I89dd887a75a475f998d950e86f35c7fe2af5d67f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2743887Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73307}
-
- 08 Mar, 2021 1 commit
-
-
Omer Katz authored
This CL adds missing locks to the PersistentRegions for (Weak)CrossThreadPersistents. To make sure no locks are missed in the future, this CL also splits PersistentRegion and introduces CrossThreadPersistentRegion that checks whether a lock is taken whenever it is accessed. Bug: chromium:1056170 Change-Id: Iaaef4a28af0f02bcb896706e9abf1ee5ad2ee1e1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2737299 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73264}
-
- 24 Feb, 2021 2 commits
-
-
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:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73023}
-
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:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73000}
-
- 02 Feb, 2021 1 commit
-
-
Michael Lippautz authored
- Allow downcasting construciton and assignment; - Add WeakCrossThreadPersistent::Lock() that safely retrieves a strong handle for a weak reference; Bug: chromium:1056170 Change-Id: I5f8d85a87c9955506dd87723ffb4c80d66770c04 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2663160 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72468}
-
- 28 Jan, 2021 1 commit
-
-
Michael Lippautz authored
This allows construction and destruction of empty Persistent and friends, which simplifiest the use for embedders. Bug: chromium:1056170 Change-Id: I4286639aa5d50f9f98654b859de10bb80cbada21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2655505 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72396}
-
- 14 Jan, 2021 1 commit
-
-
Michael Lippautz authored
Adds support for Member<const T> by keeping the untyped storage in MemberBase const, which is stronger than the required constness. All accesses go through BasicMember which can re-add the appropriate constness specified by the user. The same concept is applied to all Member and Persistent handles. Bug: chromium:1056170 Change-Id: I5a620258be3acb6a1b4b1437e69b8d7d1ec5ce6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2625871Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#72090}
-
- 09 Oct, 2020 1 commit
-
-
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:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#70428}
-