v8/include/cppgc
Michael Lippautz 20e1ba2808 cppgc: Move ProcessWeakness into FinishMarking
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: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70259}
2020-10-01 14:57:31 +00:00
..
internal cppgc: Typo and signature fix 2020-09-02 07:34:20 +00:00
allocation.h cppgc: Remove NOLINT(runtime/references) 2020-06-22 10:08:55 +00:00
common.h heap,cppgc: Update StackState enum values 2020-05-12 12:07:27 +00:00
custom-space.h cppgc: Allocation cleanups 2020-05-11 15:50:28 +00:00
default-platform.h Reland "cppgc: Provide jobs support through DefaultPlatform and TestPlatform" 2020-09-28 09:07:25 +00:00
DEPS cppgc: Add public target to build against 2020-04-21 12:48:23 +00:00
garbage-collected.h cppgc: Use object start bitmap to trace mixins 2020-07-10 12:00:45 +00:00
heap.h cppgc: Typo and signature fix 2020-09-02 07:34:20 +00:00
liveness-broker.h Reland "cppgc: Properly clear (Weak)Peristent and WeakMember pointers" 2020-06-19 08:48:49 +00:00
macros.h cppgc: Add initial implementation of young generation 2020-06-17 06:48:10 +00:00
member.h cppgc: Nullify source Members on move 2020-08-28 10:38:36 +00:00
OWNERS cppgc: Make bikineev and omerkatz owners of include/cppgc 2020-08-28 08:05:30 +00:00
persistent.h Reland "cppgc: Properly clear (Weak)Peristent and WeakMember pointers" 2020-06-19 08:48:49 +00:00
platform.h cppgc: Add DefaultPlatform and standalone sample 2020-07-23 09:54:32 +00:00
prefinalizer.h cppgc: Use full qualifier in prefinalizer macro. 2020-08-05 15:50:07 +00:00
README.md cppgc: Hello world 2020-03-23 21:42:56 +00:00
source-location.h cppgc: Adds docs to SourceLocation 2020-06-08 18:31:36 +00:00
trace-trait.h cppgc: Use object start bitmap to trace mixins 2020-07-10 12:00:45 +00:00
type-traits.h cppgc: Make Trace methods const 2020-04-20 13:15:13 +00:00
visitor.h cppgc: Move ProcessWeakness into FinishMarking 2020-10-01 14:57:31 +00:00

C++ Garbage Collection

This directory provides an open-source garbage collection library for C++.

The library is under construction, meaning that all APIs in this directory are incomplete and considered unstable and should not be used.