v8/test/cctest/heap
jgruber ab9e012426 Reland: [builtins] Patch self-references in constants table
Original CL: https://crrev.com/c/1018468

During code generation, we generate self-references (i.e. references to
the Code object currently being generated) as references to a temporary
handle. When the final Code object has been allocated, the handle's
location is fixed up and RelocInfo iteration fixes up all references
embedded in the generated code.

This adds support for this mechanism to the builtins constants table
builder. CodeObject() is now a new handle pointing to a dedicated
self-reference marker in order to distinguish between self-references
and references to undefined. In Factory::NewCode, we patch up
the constants table.

TBR=yangguo@chromium.org,mlippautz@chromium.org

Bug: v8:6666
Change-Id: I3fa422c57de99c9851dc7a86394a8387c7c2b397
Reviewed-on: https://chromium-review.googlesource.com/1039366
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52916}
2018-05-02 12:33:06 +00:00
..
heap-tester.h Reland: [cleanup] Refactor the Factory 2018-04-09 19:52: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 [objects.h splitting] Move classes related to api callbacks. 2018-05-02 10:24:44 +00:00
test-array-buffer-tracker.cc Dispose isolate at end of UNINITIALIZED_TEST 2017-10-04 16:21:09 +00:00
test-compaction.cc Reland: [cleanup] Refactor the Factory 2018-04-09 19:52:22 +00:00
test-concurrent-marking.cc Reland "Introduce ConcurrentMarking::StopRequest API." 2018-02-19 14:46:44 +00:00
test-embedder-tracing.cc [heap] Increase test coverage for embedder tracing 2017-12-07 14:11:51 +00:00
test-heap.cc Reland: [builtins] Patch self-references in constants table 2018-05-02 12:33:06 +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] Do eager unmapping in CollectAllAvailableGarbage. 2018-04-19 16:13:04 +00:00
test-unmapper.cc [heap] Do eager unmapping in CollectAllAvailableGarbage. 2018-04-19 16:13:04 +00:00
test-weak-references.cc [in-place weak refs] Add WeakArrayList & replace Heap::retained_maps with it. 2018-04-16 08:36:34 +00:00