v8/test/cctest/heap
Peter Marshall 11926e6ecc [gc] Attach page to LocalArrayBufferTracker rather than space
Each local ABT is logically for one page. We passed the space in to the
constructor, but this is wrong because the space a page is in can
change, e.g. for compaction pages.

Instead, pass the page to the local ABT constructor and always get the
space from this. To do this we need to push the AllocateLocalTracker()
helper and friends down to Page, rather than its superclass MemoryChunk.

Unfortunately, we need to keep ReleaseLocalTracker() on MemoryChunk even
though only Pages can have local trackers, because we can't do virtual
dispatch on MemoryChunk::ReleaseAllocatedMemory() which would allow us
to clean up the tracker memory nicely for pages only.

We also have to make sure we update external bytes accounting properly
when swapping spaces, as in SemiSpace::Swap().

Change-Id: Iff02e41dd12a6b04a57fcc32f9e2b4f049fcbc24
Reviewed-on: https://chromium-review.googlesource.com/1107635
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53930}
2018-06-21 13:19:28 +00:00
..
heap-tester.h [in-place weak refs] Fix weak_objects_in_code handling. 2018-05-22 16:46:22 +00:00
heap-utils.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
heap-utils.h [heap] Exclude the owner of the linear allocation area from evacuation. 2016-11-03 12:13:23 +00:00
test-alloc.cc [explicit isolates] Remove GetIsolates from Map 2018-06-19 09:59:58 +00:00
test-array-buffer-tracker.cc [gc] Attach page to LocalArrayBufferTracker rather than space 2018-06-21 13:19:28 +00:00
test-compaction.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-concurrent-marking.cc [heap] Clear ephemeron worklist when tearing down 2018-06-13 15:28:21 +00:00
test-embedder-tracing.cc [GetIsolate] Remove GetIsolate in simple cases 2018-06-11 11:02:59 +00:00
test-heap.cc [asm] Remove Assembler(isolate...) constructor 2018-06-21 12:50:54 +00:00
test-incremental-marking.cc [V8 Platform] Make CallOnWorkerThread use std::unique_ptr 2018-03-26 17:43:22 +00:00
test-invalidated-slots.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-lab.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-mark-compact.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-page-promotion.cc [heap] Do eager unmapping in CollectAllAvailableGarbage. 2018-04-19 16:13:04 +00:00
test-spaces.cc [heap] Cleanup heap creation a bit. 2018-06-11 18:21:36 +00:00
test-unmapper.cc [V8Platform] Remove deprecated Background threads APIs and make new APIs pure virtual. 2018-05-16 23:27:02 +00:00
test-weak-references.cc [asm] Remove Assembler(isolate...) constructor 2018-06-21 12:50:54 +00:00