v8/include/cppgc
Omer Katz 58ca454f51 cppgc: Support incremental marking without non-nested tasks
For the standalone library, some platform implementations might not
support non-nested tasks. We can still offer incremental marking in
such cases using regular tasks and without assuming an empty stack.
(cppgc's default platform e.g. doesn't support non-nested tasks.)

This CL also updates GCInvoker to not trigger an incremental GC if we
won't be able to finalize it. That makes finalizing through an
non-nested incremental task safe.

Bug: chromium:1056170
Change-Id: I85f0c9f2efe643cb87dd65d80417eea0d6ee5d52
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2414217
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69971}
2020-09-17 12:07:17 +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 cppgc: Support incremental marking without non-nested tasks 2020-09-17 12:07:17 +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 api: Add JSVisitor and JSMember reference 2020-07-07 13:48: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.