v8/test/mkgrokdump
Maciej Goszczycki 9c06209306 Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator."
Code relocation info is now always allocated in old-space. Before relocation
info allocated for placeholders and builtins (which get replaced with
trampolines in nosnap builds) would become unreachable. Since read-only space
is not GCed and ReadOnlyHeapIterator doesn't check for reachability,
ValidateSnapshot would fail finding unreachable objects returned by
ReadOnlyHeapIterator.

Because trampoline relocation info gets replaced with canonical one, this only
affects no-embdded-builtins nosnap builds, which don't get much benefit from
read-only relocation info anyway.

A new check has been added to the read-only deserializer to verify that every
read-only object is reachable at mksnapshot-time.

The CombinedHeapIterator iteration order was changed to iterate over
read-only space first, because that's how HeapIterator worked.

This is a reland of 3d1d8eae77

Original change's description:
> [heap] Skip ro-space from heap iterators, add CombinedHeapIterator.
>
> Read-only space sharing requires an iterator independent of heap. This
> also enables future removal of read-only space from heap.
>
> Bug: v8:7464
> Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795
> Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Dan Elphick <delphick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#60819}

Bug: v8:7464
Change-Id: I49ae070955b77956962334a84f762ab29052d5ff
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513
Reviewed-by: Dan Elphick <delphick@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
Cr-Commit-Position: refs/heads/master@{#61185}
2019-05-02 17:35:18 +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 Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." 2019-05-02 17:35:18 +00:00
mkgrokdump.status [test] Don't test jitless without embedded-builtins 2019-02-26 14:33:01 +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.