v8/test/mkgrokdump
Dan Elphick 81c34968a7 [heap] Make ReadOnlySpace use bump pointer allocation
This changes ReadOnlySpace to no longer be a PagedSpace but instead it
is now a BaseSpace. BasicSpace is a new base class that Space inherits
from and which has no allocation methods and does not dictate how the
pages should be held.

ReadOnlySpace unlike Space holds its pages as a
std::vector<ReadOnlyPage>, where ReadOnlyPage directly subclasses
BasicMemoryChunk, meaning they do not have prev_ and next_ pointers and
cannot be held in a heap::List. This is desirable since with pointer
compression we would like to remap these pages to different memory
addresses which would be impossible with a heap::List.

Since ReadOnlySpace no longer uses most of the code from the other
Spaces it makes sense to simplify its memory allocation to use a simple
bump pointer and always allocate a new page whenever an allocation
exceeds the remaining space on the final page.

Change-Id: Iee6d9f96cfb174b4026ee671ee4f897909b38418
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2209060
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#68137}
2020-06-03 11:59:37 +00:00
..
BUILD.gn Remove manual references to exe_and_shlib_deps 2018-06-04 18:35:43 +00:00
DEPS Introduce mkgrokdump to update tools/v8heapconst.py. 2017-04-20 06:15:02 +00:00
mkgrokdump.cc [heap] Make ReadOnlySpace use bump pointer allocation 2020-06-03 11:59:37 +00:00
mkgrokdump.status Remove 'embedded_builtins' variant 2019-10-22 12:58:02 +00:00
README [test] Add README to test/mkgrokdump, containing rebaseline instruction. 2017-05-16 16:53:47 +00:00
testcfg.py [test] migrate mkgrokdump suite to TestLoader 2019-02-12 12:59:43 +00:00

If you change the heap layout, expect this test to fail (in CQ). You will then
need to build x64 release and run `<outdir>/mkgrokdump > tools/v8heapconst.py`
to rebaseline.