4651df6bba
This CL introduces the following changes to the 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): - Manually iterate through page objects, instead of using the PagedSpaceObjectIterator, for performance (avoid calling MakeHeapIterable all the time) and to simplify the handling of filler objects. - Clear bits when reusing evacuated pages of the new space. - Use the cage base to iterate correctly through code objects. - Introduce a method for verifying the validity of the object start bitmap. - Minor fixes, additional checks and cleanup. Bug: v8:12851 Change-Id: I245937ffe6f4b53c4c2dcf5126e8836aec4dc79e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3675099 Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#80869} |
||
---|---|---|
.. | ||
base | ||
cppgc | ||
cppgc-js | ||
allocation-observer-unittest.cc | ||
bitmap-test-utils.h | ||
bitmap-unittest.cc | ||
code-object-registry-unittest.cc | ||
embedder-tracing-unittest.cc | ||
gc-idle-time-handler-unittest.cc | ||
gc-tracer-unittest.cc | ||
heap-controller-unittest.cc | ||
heap-unittest.cc | ||
heap-utils.cc | ||
heap-utils.h | ||
index-generator-unittest.cc | ||
lab-unittest.cc | ||
list-unittest.cc | ||
local-factory-unittest.cc | ||
local-heap-unittest.cc | ||
marking-unittest.cc | ||
marking-worklist-unittest.cc | ||
memory-reducer-unittest.cc | ||
object-start-bitmap-unittest.cc | ||
object-stats-unittest.cc | ||
persistent-handles-unittest.cc | ||
progressbar-unittest.cc | ||
safepoint-unittest.cc | ||
slot-set-unittest.cc | ||
spaces-unittest.cc | ||
unmapper-unittest.cc |