v8/include/cppgc/internal
Maya Lekova 8b9d0138b3 Revert "cppgc: Rework GC info creation"
This reverts commit d76064df4f.

Reason for revert: Breaking MSAN - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/37390/overview

Original change's description:
> cppgc: Rework GC info creation
>
> Previously, GCInfoTrait relied on the non-trivial constructor of a
> static object for registering a new GCInfo object. The generated code
> is required to be thread-safe which is achieved by introducing guard
> variables in the compiler.
>
> The new version is similar to Blink in that it relies on zero
> initialization of a trivially constructible atomic.
>
> Compared to guard variables that are created per GCInfo registration,
> the atomic creates less bloat (~20bytes/type) and also results in a
> better fast path.
>
> Minimum example: https://godbolt.org/z/qrdTf8
>
> Bug: chromium:1056170
> Change-Id: I95efbbf035b655d0440c9477f5391e310e2b71fa
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2764750
> Reviewed-by: Omer Katz <omerkatz@chromium.org>
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#73463}

Bug: chromium:1056170
Change-Id: I71960103513d6db7789d752b70727d014c2e6406
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2767020
Auto-Submit: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@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@{#73466}
2021-03-17 12:01:49 +00:00
..
api-constants.h cppgc: Mark object as constructed using std::atomic::fetch_or 2020-11-11 17:30:18 +00:00
atomic-entry-flag.h cppgc: Add write barrier 2020-06-02 18:03:35 +00:00
caged-heap-local-data.h cppgc: Avoid dispatching write barrier during atomic pause 2021-02-08 12:56:09 +00:00
compiler-specific.h cppgc: Add initial implementation of young generation 2020-06-17 06:48:10 +00:00
finalizer-trait.h cppgc: Add public target to build against 2020-04-21 12:48:23 +00:00
gc-info.h Revert "cppgc: Rework GC info creation" 2021-03-17 12:01:49 +00:00
logging.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
name-trait.h cppgc: Fix compile-time typename for release builds 2020-10-09 09:33:02 +00:00
persistent-node.h cppgc: Fix {Weak}CrossThreadPersistent destruction 2021-03-09 21:36:00 +00:00
pointer-policies.h cppgc: Add checks and locks to (Weak)CrossThreadPersistents 2021-03-08 14:01:13 +00:00
prefinalizer-handler.h cppgc: Typo and signature fix 2020-09-02 07:34:20 +00:00
write-barrier.h cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00