v8/test/unittests/heap
Nikolaos Papaspyrou 36610bbdd7 heap: Recalculate the object start bitmap if needed
This CL adds to the existing experimental implementation of the
object start bitmap, that is evaluated as a mechanism for resolving
inner pointers (behind the flag v8_enable_conservative_stack_scanning).

It fixes method ObjectStartBitmap::FindBasePtr to ensure that the
correct base pointer is returned, even if the bitmap is not fully
populated (e.g., with object evacuation or inline object allocation).
This method now recalculates the part of the bitmap that is
required for returning the correct result, by iterating through
objects of the page. A special constructor has been introduced to the
PagedSpaceObjectIterator for this purpose.

It also moves the existing inline methods of ObjectStartBitmap to a
new -inl.h header file, to avoid circular dependencies.

Bug: v8:12851
Change-Id: Iabd0df020bee3bb63ef9d4888591b25d24d79dd9
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3641179
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80538}
2022-05-16 08:48:56 +00:00
..
base [heap] Improve accounting of PagedSpace::CommittedPhysicalMemory() 2022-03-09 18:28:21 +00:00
cppgc [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00
cppgc-js [api] Rework heap snapshot exposing internals 2022-05-06 08:10:40 +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 [heap] Split out paged-spaces.h 2020-05-14 19:25:25 +00:00
embedder-tracing-unittest.cc [api] Remove APIs for resurrecting finalizers 2022-04-21 07:05:25 +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: Inline GCTracer::Scope constructor and destructor 2022-04-13 13:17:39 +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 Split V8_OS_MACOSX into V8_OS_DARWIN and V8_OS_MACOS 2022-02-18 10:24:59 +00:00
heap-utils.cc heap: Refactor sweeping finalization for young GC 2022-03-08 16:48:43 +00:00
heap-utils.h heap: Convert embedder tracing tests to unittests 2022-04-08 12:43:55 +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 [compiler] Introduce ReusableUnoptimizedCompileState 2021-12-08 11:14:27 +00:00
local-heap-unittest.cc Reland "[heap] Optimize time to reach global safepoint" 2022-01-12 10:35:25 +00:00
marking-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
marking-worklist-unittest.cc cppgc-js, heap: Concurrently push references from v8 to Oilpan 2021-12-27 11:34:29 +00:00
memory-reducer-unittest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
object-start-bitmap-unittest.cc heap: Recalculate the object start bitmap if needed 2022-05-16 08:48:56 +00:00
object-stats-unittest.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
persistent-handles-unittest.cc [handles] Make DetachPersistent insert into ordered_blocks_ 2020-08-05 12:03:52 +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
slot-set-unittest.cc [heap] Simplify Sweeper::CleanupInvalidTypedSlotsOfFreeRanges 2022-04-06 13:22:03 +00:00
spaces-unittest.cc [heap] Add Heap::NotifyObjectSizeChange for right-trimming 2022-04-27 08:01:24 +00:00
unmapper-unittest.cc [sandbox] Turn V8_SANDBOX into V8_ENABLE_SANDBOX 2022-05-13 16:23:23 +00:00