v8/test/unittests/heap
Michael Lippautz c23bc72c83 [handles] Split off traced handles from regular global handles
v8::TracedReference and their underlying traced handles are not
actually phantom references but have been historically represented as
such. This patch splits off their backing implementaton into
`TracedHandles`.

As a drive-by, re-organize the free list to rely on indices instead of
pointers, saving a full word for each node. In additon, the setup also
allows for freeing fully empty node blocks after GCs.

Allocation/free of nodes is also organized in a way that avoids
jumping between handles/blocks/nodes for accounting purposes.

Removing CRTP in GlobalHandle internals is left for a follow up.

Bug: v8:13372
Change-Id: Ib55aa9ba71202d5918b486c161fe6f747d31c719
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3966952
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83872}
2022-10-24 10:04:08 +00:00
..
base cppgc: young-gen: Reuse SlotSet. 2022-10-06 09:23:01 +00:00
cppgc cppgc: young-gen: Switch from std::set to slot-set. 2022-10-10 11:54:36 +00:00
cppgc-js cppgc-js: Gracefully handle v8::TracedReference::Reset() calls from dtor 2022-10-12 14:50:11 +00:00
allocation-observer-unittest.cc [heap] Support removing of observers during Step() 2020-08-17 10:42:32 +00:00
bitmap-test-utils.h [heap] Relax accessing markbits in ranges. 2019-02-25 15:28:41 +00:00
bitmap-unittest.cc [heap] Fix an out-of-bounds access in the marking bitmap 2020-04-20 09:07:57 +00:00
code-object-registry-unittest.cc Reland "[heap] Sweep code pages on the background thread" 2022-06-22 07:59:18 +00:00
conservative-stack-visitor-unittest.cc [heap] Revise conservative stack scanning visitor 2022-10-07 16:10:08 +00:00
embedder-tracing-unittest.cc [handles] Split off traced handles from regular global handles 2022-10-24 10:04:08 +00:00
gc-idle-time-handler-unittest.cc Reland "Fix -Wimplicit-int-float-conversions." 2021-06-29 16:36:18 +00:00
gc-tracer-unittest.cc [heap] Don't finalize all of sweeping for MinorMC 2022-10-19 13:51:40 +00:00
global-handles-unittest.cc [handles] Split off traced handles from regular global handles 2022-10-24 10:04:08 +00:00
global-safepoint-unittest.cc [heap] Fix remaining test failures with --shared-heap 2022-10-05 08:30:26 +00:00
heap-controller-unittest.cc [cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-24 17:32:01 +00:00
heap-unittest.cc [heap] Don't finalize all of sweeping for MinorMC 2022-10-19 13:51:40 +00:00
heap-utils.cc [heap] Implement concurrent sweeping for MinorMC 2022-10-14 11:28:46 +00:00
heap-utils.h [heap] Move Sweeper from collectors to heap 2022-10-06 13:30:33 +00:00
index-generator-unittest.cc [Heap]: Implement IndexGenerator for Jobs use cases. 2020-09-11 19:25:33 +00:00
lab-unittest.cc [heap] Add Heap::NotifyObjectSizeChange for right-trimming 2022-04-27 08:01:24 +00:00
list-unittest.cc [heap] Make Heap::Contains const 2020-05-13 13:19:22 +00:00
local-factory-unittest.cc [heap] Use v8_flags for accessing flag values 2022-09-05 10:59:05 +00:00
local-handles-unittest.cc [test] Migrate cctest/test-local-handles to unittests/ 2022-08-15 16:51:26 +00:00
local-heap-unittest.cc [heap] Invoke internal GC callbacks before Heap verification 2022-08-17 09:00:28 +00:00
marking-inner-pointer-resolution-unittest.cc [heap] Fix inner pointer resolution unit test 2022-10-06 15:26:35 +00:00
marking-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
marking-worklist-unittest.cc [heap] Fix marking in per-context mode 2022-08-22 19:18:38 +00:00
memory-reducer-unittest.cc [heap] Use v8_flags for accessing flag values 2022-09-05 10:59:05 +00:00
object-start-bitmap-unittest.cc heap: Fix and clean up object start bitmap 2022-05-31 16:37:08 +00:00
object-stats-unittest.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
page-promotion-unittest.cc [heap] Move marking states to heap. 2022-10-05 16:22:57 +00:00
persistent-handles-unittest.cc [test] Move cctest/test-persistent-handles to 2022-06-27 11:30:34 +00:00
progressbar-unittest.cc heap: Fix TSAN race when setting a flag after page initialization 2021-08-19 10:28:57 +00:00
safepoint-unittest.cc [test][cleanup] Fix -Wshadow warnings in unittests 2021-09-27 08:59:01 +00:00
shared-heap-unittest.cc [heap] Collect shared spaces in full GC for shared heap isolate 2022-09-21 15:59:23 +00:00
slot-set-unittest.cc cppgc: young-gen: Reuse SlotSet. 2022-10-06 09:23:01 +00:00
spaces-unittest.cc [heap] Add Heap::NotifyObjectSizeChange for right-trimming 2022-04-27 08:01:24 +00:00
unmapper-unittest.cc [heap] Enable concurrent sweeping for MinorMC 2022-10-18 10:26:26 +00:00