v8/test/unittests
Nikolaos Papaspyrou 73a1c635fe heap: Fix the tracing of GC cycles
Conceptually, a full GC cycle completes when the sweeping phase is
finished. As sweeping is performed concurrently, this happens after
Heap::CollectGarbage has returned and, at the latest, before the next
full GC cycle begins. However, an arbitrary number of young GC cycles
may happen in the meantime. Tracing information for the sweeping phase
must be added to the corresponding full GC cycle event. Until now, this
was not done correctly: this information was added to the GCTracer's
current event and could thus be attributed to a subsequent young or full
GC cycle.

This CL introduces methods GCTracer::(Start|Stop)Cycle to delimit a
cycle (still allowing for full GC cycles to be interrupted by young GC
cycles). These methods are different from (Start|Stop)ObservablePause,
which delimit the observable pause of each GC. The events of "pending"
full GC cycles are kept until they are properly amended and reported,
when the sweeping phase is finished.

This is a reland of 4ad20bff97
which was reviewed here: https://crrev.com/3404733

Bug: v8:12503
Bug: chromium:1154636
Change-Id: Icc315b53cff1f3b19b8efe49db34340a5608bcd2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3432211
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78911}
2022-02-02 20:46:01 +00:00
..
api Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler ppc: Don't emit cnttzd, cnttzw if Power proc. version is less than 9 2021-11-10 15:41:24 +00:00
base [base] Add VirtualAddressSpace unittests 2022-01-18 12:50:12 +00:00
codegen [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
compiler Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
compiler-dispatcher [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
debug [inspector] Speed up DebugPropertyIterator. 2021-09-13 12:52:11 +00:00
diagnostics [gdbjit] Fix overlapping AddressRegion check 2021-08-19 17:29:57 +00:00
execution Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
heap heap: Fix the tracing of GC cycles 2022-02-02 20:46:01 +00:00
interpreter Reland "[class] implement reparsing of class instance member initializers" 2022-01-24 16:24:35 +00:00
libplatform [Jobs API]: Cleanup migration of missing Jobs pieces. 2020-09-02 20:51:29 +00:00
logging Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
numbers [fastcall] Support JSArray as arguments 2021-06-23 14:01:40 +00:00
objects [rab/gsab] Re-enable serializing flags with ValueSerializer 2022-01-19 12:45:39 +00:00
parser [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
profiler [cpu-profiler] Add method to estimate mem size of ProfilerCodeObserver 2021-08-23 19:07:15 +00:00
regexp [regexp] Hide the generic JSRegExp::DataAt/SetDataAt accessors 2021-09-29 11:37:41 +00:00
regress [heap] Remove Factory::NewUninitializedFixedArray 2021-04-26 13:52:38 +00:00
runtime Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
sandbox V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
strings [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
tasks [local-isolate] Move worker RCS scope into LocalIsolate 2021-12-10 11:08:01 +00:00
torque Revert "Reland "[Torque] Generalize Torque literals to larger size"" 2022-01-28 16:51:22 +00:00
utils [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm [wasm-gc] Disallow forward-declared supertypes 2022-01-31 13:53:27 +00:00
zone [zone] Final cleanup of zone allocations 2020-07-16 17:47:46 +00:00
avoid-windows-h-includes.cc Test that heap-inl.h doesn't include windows.h 2021-10-14 21:18:51 +00:00
BUILD.gn [rab/gsab] Re-enable serializing flags with ValueSerializer 2022-01-19 12:45:39 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
test-helpers.cc [compiler-dispatcher] Move Job pointer to SFI 2021-12-08 16:03:35 +00:00
test-helpers.h [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
test-utils.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-utils.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
testcfg.py [unittests] initialize the loop variable 2020-06-05 12:24:10 +00:00
unittests.status PPC: skip some cppgc tests as PPC page size is too large 2021-07-12 20:24:14 +00:00