v8/test/unittests
Omer Katz e072615cc2 cppgc: Establish marking invariants
This is a revival of https://chromium-review.googlesource.com/c/v8/v8/+/2228332

The CL establishes the following:
*) Objects are marked before being pushed to the worklists.
*) Live bytes are always accounted after tracing an object (i.e. move
   from Gray to Black below).
*) Previously not fully constructed objects are traced immediately
   instead of pushed to the marking worklist.

This establishes the following invariants for all marking worklists:
1) White = !object.is_marked() && !worklist.contains(object)
2) Gray = object.is_marked() && worklist.contains(object)
3) Black = object.is_marked() && !worklist.contains(object)

Bug: chromium:1056170
Change-Id: I821573b3fbc057e6ffb836154271ff986ecb4d2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336797
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69268}
2020-08-06 11:51:48 +00:00
..
api Reland "[builtins] Clean up the use of class_name / ES5 [[Class]]" 2020-04-24 11:46:43 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
base [base] Don't allow excluded regions to be freed 2020-07-31 11:22:38 +00:00
codegen [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
compiler Reland "[zone-compr] Introduce ZoneTypeTraits and ZoneCompression" 2020-07-31 11:43:08 +00:00
compiler-dispatcher [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
diagnostics Move unittest files 2019-05-27 08:52:23 +00:00
execution [sandbox] Access microtask queue in NativeContext via bottlenecks 2020-05-05 09:11:14 +00:00
heap cppgc: Establish marking invariants 2020-08-06 11:51:48 +00:00
interpreter [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
libplatform [unittests] Convert to the new MOCK_METHOD macro. 2020-06-10 15:50:38 +00:00
logging Reland^2 "[heap] Move start of incremental marking in allocation" 2020-07-14 12:07:34 +00:00
numbers [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
objects [Respect] Rename lists 2020-06-22 15:15:31 +00:00
parser Move remaining files in src/ 2019-05-24 18:24:36 +00:00
profiler [cpu-profiler] Add support for refcounting to StringsStorage 2020-03-30 19:08:06 +00:00
regress Reland "[runtime] Improve handling of enumeration index on global dictionary" 2020-03-02 15:41:15 +00:00
strings Fix some issues caught by _LIBCPP_DEBUG=0 2019-11-21 12:17:03 +00:00
tasks [zone] Cleanup zone allocations in src/compiler and tests, pt.1 2020-07-10 12:09:05 +00:00
torque [torque] use implicit parameters for template parameter inference 2020-07-31 15:11:09 +00:00
utils [wasm] Add templatized methods for static bounds checks 2020-06-24 03:41:28 +00:00
wasm [wasm-gc] Allow reference types to function signatures 2020-08-05 14:38:56 +00:00
zone [zone] Final cleanup of zone allocations 2020-07-16 17:47:46 +00:00
BUILD.gn Reland "[heap] Refactor allocation observer in AllocationCounter" 2020-08-04 09:20:02 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc [test] Configure GTest for thread-safe death tests. 2020-01-20 20:03:54 +00:00
test-helpers.cc [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
test-helpers.h [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
test-utils.cc [test] Create one Isolate per unit test (not test suite) 2020-04-14 11:36:25 +00:00
test-utils.h [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
testcfg.py [unittests] initialize the loop variable 2020-06-05 12:24:10 +00:00
unittests.status [unittest] Skip GCStackTest on win64 release builds 2020-06-30 12:28:15 +00:00