v8/test/cctest
Nikolaos Papaspyrou 4ad20bff97 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.

Bug: chromium:1154636
Change-Id: I2fbc65d4807c78656d4abc8c451043f6f86211b1
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3404733
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78905}
2022-02-02 14:27:50 +00:00
..
compiler [compiler] Remove support for --no-concurrent-inlining 2022-01-17 11:29:48 +00:00
heap heap: Fix the tracing of GC cycles 2022-02-02 14:27:50 +00:00
interpreter [interpreter] Add missing RegisterAllocationScope 2022-02-02 09:16:46 +00:00
libplatform [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{cctest,fuzzer,inspector} 2020-11-10 01:24:43 +00:00
libsampler Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
parsing [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
torque [csa, torque, cleanup] Rename CSA_ASSERT to CSA_DCHECK 2021-09-30 08:41:23 +00:00
wasm [wasm-gc] Remove rtts with depth 2022-01-31 09:55:05 +00:00
assembler-helper-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
assembler-helper-arm.h [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
BUILD.gn [Temporal] Part 2.1 Add TemporalParser to parse ISO8601 2021-11-24 00:50:24 +00:00
cctest-utils.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
cctest.cc [execution] Move v8::Locker::WasEverUsed() flag into Isolate 2022-01-20 19:08:49 +00:00
cctest.h heap: ManualGCScope should finalize marking 2022-01-14 09:59:21 +00:00
cctest.status [relaxed-simd] Skip FMA interpreter tests on Mac/ARM64 2022-01-28 22:38:43 +00:00
collector.h [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
DEPS
disasm-regex-helper.cc [ext-code-space] Avoid Code <-> CodeT conversions in runtime, pt.2 2021-12-14 12:19:05 +00:00
disasm-regex-helper.h
expression-type-collector-macros.h
gay-fixed.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-fixed.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-precision.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-precision.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-shortest.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
gay-shortest.h Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
manually-externalized-buffer.h
OWNERS Update OWNERS in test/* 2021-02-25 14:26:24 +00:00
print-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
print-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
profiler-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
profiler-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
scope-test-helper.h
setup-isolate-for-tests.cc
setup-isolate-for-tests.h
test-access-checks.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-accessor-assembler.cc [ic] Use the Map for hashing in the secondary stub cache 2021-10-15 14:54:28 +00:00
test-accessors.cc [cleanup] Fix Wshadow warnings in cctests 2021-09-27 09:18:00 +00:00
test-allocation.cc [cleanup][test] Remove redundant NOLINT annotations 2021-04-30 11:46:14 +00:00
test-api-accessors.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-api-array-buffer.cc [builtins] DataView should throws on detached buffer 2021-09-14 16:49:36 +00:00
test-api-icu.cc [Intl] Update ICU to 70-1 on v8 2021-11-12 11:35:09 +00:00
test-api-interceptors.cc [class] handle existing readonly properties in StoreOwnIC 2022-01-18 09:22:47 +00:00
test-api-stack-traces.cc Introduce v8::StackTrace::CurrentScriptNameOrSourceURL 2022-01-17 11:34:28 +00:00
test-api-typed-array.cc [rab / gsab] Add tests for the recent DataView bugs 2021-11-24 16:20:29 +00:00
test-api-wasm.cc [wasm][api] Add WasmModuleObject::Compile api function 2021-11-19 22:25:15 +00:00
test-api.cc [ShadowRealm] Part 1 - Skeleton 2022-01-25 18:10:57 +00:00
test-api.h Reland "Fix -Wimplicit-int-float-conversions." 2021-06-29 16:36:18 +00:00
test-array-list.cc
test-assembler-arm64.cc [cleanup] Rename RelocInfo::NONE to RelocInfo::NO_INFO to fix -Wshadow 2021-11-17 19:11:40 +00:00
test-assembler-arm.cc [wasm-simd][arm] Fuse extadd_pairwise and add SIMD on arm. 2021-06-28 14:26:00 +00:00
test-assembler-ia32.cc Fix test-assembler-ia32 2021-12-15 18:40:44 +00:00
test-assembler-loong64.cc [loong64] Fix the wrong encoding and usage of maskeqz/masknez instructions 2021-12-24 10:46:06 +00:00
test-assembler-mips64.cc [loong64][mips] Fix safepoint record of CallCFunction 2021-11-04 02:29:29 +00:00
test-assembler-mips.cc [loong64][mips] Fix safepoint record of CallCFunction 2021-11-04 02:29:29 +00:00
test-assembler-ppc.cc PPC [simd]: Add tests for some word sized vector instructions 2021-08-16 21:34:29 +00:00
test-assembler-riscv64.cc [riscv64] Add I8x16_Popcnt for WASM SIMD 2021-12-27 08:15:49 +00:00
test-assembler-s390.cc [cleanup] Rename RelocInfo::NONE to RelocInfo::NO_INFO to fix -Wshadow 2021-11-17 19:11:40 +00:00
test-assembler-x64.cc [x64] Implement 256-bit assembler for vshufps 2022-01-13 08:34:45 +00:00
test-atomicops.cc Add Relaxed_Memcmp 2021-12-03 18:00:48 +00:00
test-bignum-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-bignum.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-bit-vector.cc
test-circular-queue.cc
test-code-layout.cc [code] Make metadata offsets relative to metadata section 2020-10-27 10:49:13 +00:00
test-code-pages.cc [sparkplug] Remove BaselineData, use Code directly 2021-09-06 11:52:21 +00:00
test-code-stub-assembler.cc [cleanup] Remove condition based on kJSArgcIncludesReceiver 2022-01-17 09:50:49 +00:00
test-compiler.cc [local-isolate] Move worker RCS scope into LocalIsolate 2021-12-10 11:08:01 +00:00
test-concurrent-descriptor-array.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-feedback-vector.cc [ic] Fix -Wshadow by making InlineCacheState an enum class 2021-11-19 18:52:15 +00:00
test-concurrent-js-array.cc Reland "[compiler] Direct heap reads for JSArrayRef" 2021-02-22 12:15:50 +00:00
test-concurrent-prototype.cc [cleanup] Remove synchronized_ from map accessors 2021-05-17 15:07:46 +00:00
test-concurrent-script-context-table.cc [cleanup] Fix Wshadow warnings in cctests 2021-09-27 09:18:00 +00:00
test-concurrent-string.cc [string] Skip concurrent tests if FLAG_single_generation is on 2021-06-09 12:30:28 +00:00
test-concurrent-transition-array.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-constantpool.cc PPC: [cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-25 08:49:53 +00:00
test-conversions.cc [numbers] Rename ConversionFlags:NO_FLAG to NO_CONVERSION_FLAGS 2021-11-11 22:04:22 +00:00
test-cpu-profiler.cc LSC: Apply clang-tidy's modernize-use-bool-literals to V8 2022-01-25 10:30:05 +00:00
test-date.cc
test-debug-helper.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-debug.cc [debug] Add new 'CreateMessageFromException' function 2022-01-12 12:49:53 +00:00
test-decls.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-deoptimization.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-descriptor-array.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-dictionary.cc
test-disasm-arm64.cc [wasm-simd] Remove PrefetchTemporal and PrefetchNonTemporal operations 2021-03-22 17:47:49 +00:00
test-disasm-arm.cc [wasm-simd][arm] Fuse extadd_pairwise and add SIMD on arm. 2021-06-28 14:26:00 +00:00
test-disasm-ia32.cc [cleanup] Rename RelocInfo::NONE to RelocInfo::NO_INFO to fix -Wshadow 2021-11-17 19:11:40 +00:00
test-disasm-loong64.cc [loong64] Fix the wrong encoding and usage of maskeqz/masknez instructions 2021-12-24 10:46:06 +00:00
test-disasm-mips64.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-mips.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-ppc.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-riscv64.cc [riscv64] Add RISCV64 support for wasm-relaxed-simd 2022-01-10 01:40:22 +00:00
test-disasm-s390.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-disasm-x64.cc [x64] Implement 256-bit assembler for vshufps 2022-01-13 08:34:45 +00:00
test-diy-fp.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-double.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-elements-kind.cc [factory] Remove deprecated JSFunction ctors 2020-11-11 06:12:35 +00:00
test-factory.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-fast-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-feedback-vector.cc Remove the turboprop implementation 2022-01-20 12:31:39 +00:00
test-feedback-vector.h Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
test-field-type-tracking.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-fixed-dtoa.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-flags.cc [no-wasm][flags] Remove wasm flags 2021-03-16 07:31:25 +00:00
test-func-name-inference.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-fuzz-arm64.cc
test-global-handles.cc [cleanup] Fix Wshadow warnings in cctests 2021-09-27 09:18:00 +00:00
test-global-object.cc
test-hashcode.cc [dict-proto] Rename v8_dict_mode_prototypes flag 2021-03-29 11:53:45 +00:00
test-hashmap.cc
test-heap-profiler.cc Revert "factory: Move FeedbackVector construction to type" 2022-01-21 17:09:16 +00:00
test-helper-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-helper-riscv64.h [riscv64] Add tests for RVV VI VF instructions 2021-10-28 13:57:31 +00:00
test-icache.cc [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
test-identity-map.cc [string] Remove FLAG_thin_string and enable it all the time 2021-06-09 09:52:48 +00:00
test-ignition-statistics-extension.cc Fix counting ignition dispatches 2021-06-07 18:47:24 +00:00
test-inobject-slack-tracking.cc [runtime] Use NameToIndexHashTable in ScopeInfo 2022-01-27 18:25:52 +00:00
test-inspector.cc [inspector] Use ephemeron table for exception metadata 2021-09-16 08:45:11 +00:00
test-intl.cc [builtins] add Torque fast-path for String.prototype.localeCompare 2021-11-17 12:55:13 +00:00
test-javascript-arm64.cc
test-js-arm64-variables.cc
test-js-to-wasm.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-js-weak-refs.cc heap: Replace WeakObjects Worklist with ::heap::base::Worklist 2021-11-30 11:37:31 +00:00
test-liveedit.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-local-handles.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-lockers.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-log-stack-tracer.cc [ext-code-space] Use cage-friendly HeapObject::map() in compiler 2021-11-30 13:00:28 +00:00
test-log.cc [compiler] Remove OptimizationMarker::kLogFirstExecution 2022-01-27 07:36:56 +00:00
test-macro-assembler-arm64.cc [ext-code-space] Introduce RelocInfo::target_object(PtrComprCageBase) 2021-10-12 15:43:34 +00:00
test-macro-assembler-arm.cc [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
test-macro-assembler-loong64.cc [loong64] Fix an undefined behavior 2022-01-24 13:38:35 +00:00
test-macro-assembler-mips64.cc [mips] Fix build failed 2021-06-15 04:24:28 +00:00
test-macro-assembler-mips.cc [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
test-macro-assembler-riscv64.cc [riscv64] Delete s10 from scratch_list 2021-08-19 07:11:26 +00:00
test-macro-assembler-x64.cc [ext-code-space][compiler] Support calling CodeT targets 2021-12-16 13:45:12 +00:00
test-managed.cc [ext-code-space] Introduce managed-inl.h and global-handles-inl.h 2021-09-20 10:29:29 +00:00
test-mementos.cc [heap] Make creation of NewSpace and NewLargeObjectSpace optional 2021-05-04 06:47:54 +00:00
test-modules.cc Reland "[top-level-await] Remove --harmony-top-level-await" 2021-12-06 23:02:33 +00:00
test-object.cc [runtime] Fix constructors with custom instance types 2021-11-25 10:26:50 +00:00
test-orderedhashtable.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-parsing.cc [parser] Split AstRawString and Parser zones 2021-12-10 16:03:42 +00:00
test-persistent-handles.cc [cleanup] Fix some -Wshadow warnings 2021-11-02 17:11:48 +00:00
test-platform.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-pointer-auth-arm64.cc [arm64][cfi] Enable sim_abort_on_bad_auth by default. 2021-02-05 10:23:40 +00:00
test-profile-generator.cc Reland "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +00:00
test-property-details.cc [dict-proto] Allow storing certain PropertyDetails in single byte 2021-02-04 13:45:13 +00:00
test-ptr-compr-cage.cc [ext-code-space] Make the code space external for real 2021-10-20 16:29:51 +00:00
test-random-number-generator.cc
test-regexp.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-representation.cc
test-roots.cc
test-sampler-api.cc Add test for builtin stack frames in profile sample 2021-11-24 09:33:30 +00:00
test-serialize.cc Reland "[class] implement reparsing of class instance member initializers" 2022-01-24 16:24:35 +00:00
test-shared-strings.cc [string] Make String internalization threadsafe for shared strings 2022-01-13 11:32:25 +00:00
test-simple-riscv64.cc [cleanup][test] Remove redundant NOLINT annotations 2021-04-30 11:46:14 +00:00
test-smi-lexicographic-compare.cc
test-stack-unwinding-win64.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-strings.cc [sandbox] Shrink ExternalPointer_t to 32 bits 2022-01-25 12:03:28 +00:00
test-strtod.cc Reland "[base] Move most of src/numbers into base" 2021-06-24 15:00:27 +00:00
test-swiss-name-dictionary-csa.cc [ext-code-space][cleanup] Remove CodeDataContainer table 2021-12-16 17:32:39 +00:00
test-swiss-name-dictionary-infra.cc Reland [dict-proto] C++ implementation of SwissNameDictionary, pt. 10 2021-03-24 17:12:21 +00:00
test-swiss-name-dictionary-infra.h Reland [dict-proto] C++ implementation of SwissNameDictionary, pt. 10 2021-03-24 17:12:21 +00:00
test-swiss-name-dictionary-shared-tests.h [cctest] Fix -Wshadow warnings 2021-11-11 17:20:12 +00:00
test-swiss-name-dictionary.cc Reland "[dict-proto] SIMD support for SwissNameDictionary in Torque" 2021-03-31 13:01:34 +00:00
test-symbols.cc [runtime] Rename Name::Hash() to Name::EnsureHash() 2020-11-16 10:48:15 +00:00
test-sync-primitives-arm64.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-sync-primitives-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
test-temporal-parser.cc [Temporal] Part2 Add constructor and simple getters. 2022-01-07 19:18:33 +00:00
test-thread-termination.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-threads.cc
test-trace-event.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-traced-value.cc
test-transitions.cc [objects] Make PropertyKind an enum class to fix -Wshadow 2021-11-15 19:05:14 +00:00
test-transitions.h [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-typedarrays.cc [api] Remove deprecated [Shared]ArrayBuffer API 2021-03-12 16:24:42 +00:00
test-types.cc [turbofan] Extend Type system BitsetType to 64 bit. 2021-11-18 10:02:56 +00:00
test-unscopables-hidden-prototype.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
test-unwinder-code-pages.cc [ext-code-space][cleanup] Remove CodeDataContainer table 2021-12-16 17:32:39 +00:00
test-usecounters.cc
test-utils-arm64.cc
test-utils-arm64.h
test-utils.cc [api] V8::Initialize cleanup 2021-11-30 14:30:38 +00:00
test-v8windbg.cc
test-verifiers.cc [cleanup] Remove atomic kRelaxed accessors in favour for non-atomic ones 2021-03-08 10:57:19 +00:00
test-version.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
test-weakmaps.cc heap: Rename compaction flags 2021-11-10 09:01:59 +00:00
test-weaksets.cc heap: Rename compaction flags 2021-11-10 09:01:59 +00:00
test-web-snapshots.cc [web snapshot] Make ValueSerializer an inline member 2022-01-28 10:40:31 +00:00
testcfg.py
trace-extension.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
trace-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
unicode-helpers.cc
unicode-helpers.h