Lines Matching refs:heap

5 #include "src/heap/paged-spaces.h"
13 #include "src/heap/array-buffer-sweeper.h"
14 #include "src/heap/heap.h"
15 #include "src/heap/incremental-marking.h"
16 #include "src/heap/memory-allocator.h"
17 #include "src/heap/memory-chunk-inl.h"
18 #include "src/heap/memory-chunk-layout.h"
19 #include "src/heap/paged-spaces-inl.h"
20 #include "src/heap/read-only-heap.h"
21 #include "src/heap/safepoint.h"
32 PagedSpaceObjectIterator::PagedSpaceObjectIterator(Heap* heap,
41 cage_base_(heap->isolate())
44 heap->MakeHeapIterable();
48 PagedSpaceObjectIterator::PagedSpaceObjectIterator(Heap* heap,
58 cage_base_(heap->isolate())
61 heap->MakeHeapIterable();
87 page->SetOldGenerationPageFlags(heap()->incremental_marking()->IsMarking());
95 PagedSpace::PagedSpace(Heap* heap, AllocationSpace space,
99 : SpaceWithLinearArea(heap, space, free_list, allocation_info_),
110 heap()->memory_allocator()->Free(MemoryAllocator::FreeMode::kImmediately,
123 MarkCompactCollector* collector = heap()->mark_compact_collector();
201 heap()->NotifyOldGenerationExpansion(identity(), p);
235 heap()->safepoint()->AssertActive();
257 heap()->incremental_marking()->non_atomic_marking_state();
335 DCHECK(!heap()->deserialization_complete());
346 Page* page = heap()->memory_allocator()->AllocatePage(
358 Page* page = heap()->memory_allocator()->AllocatePage(
364 heap()->isolate()->AddCodeMemoryChunk(page);
386 heap()->incremental_marking()->black_allocation()) {
407 if (heap()->incremental_marking()->black_allocation()) {
415 DCHECK(heap()->incremental_marking()->black_allocation());
466 // skipped when scanning the heap.
477 heap()->incremental_marking()->black_allocation()) {
488 heap()->UnprotectAndRegisterMemoryChunk(
494 heap()->incremental_marking()->marking_state()->IsWhite(
502 0, heap()->incremental_marking()->non_atomic_marking_state()->live_bytes(
513 heap()->isolate()->RemoveCodeMemoryChunk(page);
519 heap()->memory_allocator()->Free(MemoryAllocator::FreeMode::kConcurrently,
526 DCHECK(heap()->memory_allocator()->IsMemoryChunkExecutable(page));
534 DCHECK(heap()->memory_allocator()->IsMemoryChunkExecutable(page));
542 DCHECK(heap()->memory_allocator()->IsMemoryChunkExecutable(page));
547 std::unique_ptr<ObjectIterator> PagedSpace::GetObjectIterator(Heap* heap) {
549 new PagedSpaceObjectIterator(heap, this));
566 // skipped when scanning the heap. This also puts it back in the free list
594 heap()->UnprotectAndRegisterMemoryChunk(
620 MarkCompactCollector* collector = heap()->mark_compact_collector();
650 if (heap()->ShouldExpandOldGenerationOnSlowAllocation(local_heap) &&
651 heap()->CanExpandOldGenerationBackground(local_heap, AreaSize())) {
701 heap()->StartIncrementalMarkingIfAllocationLimitIsReachedBackground();
712 heap()->UnprotectAndRegisterMemoryChunk(
755 PagedSpaceObjectIterator it(isolate->heap(), this, page);
767 isolate->heap()->space_for_maps()->Contains(map));
776 isolate->heap()->VerifyRememberedSetFor(object);
779 // All the interior pointers should be contained in the heap.
809 size_t bytes = heap()->array_buffer_sweeper()->old().BytesSlow();
815 VerifyCountersAfterSweeping(isolate->heap());
821 heap()->incremental_marking()->marking_state();
822 PtrComprCageBase cage_base(heap()->isolate());
825 PagedSpaceObjectIterator it(heap(), this, page);
828 // All the interior pointers should be contained in the heap.
839 void PagedSpace::VerifyCountersAfterSweeping(Heap* heap) {
842 PtrComprCageBase cage_base(heap->isolate());
846 PagedSpaceObjectIterator it(heap, this, page);
872 heap()->incremental_marking()->non_atomic_marking_state();
906 VMState<GC> state(heap()->isolate());
907 RCS_SCOPE(heap()->isolate(),
927 heap()->NotifyOldGenerationExpansion(identity(), page);
942 MarkCompactCollector* collector = heap()->mark_compact_collector();
962 PagedSpace* main_space = heap()->paged_space(identity());
972 if (heap()->ShouldExpandOldGenerationOnSlowAllocation() &&
973 heap()->CanExpandOldGeneration(AreaSize())) {
984 if (heap()->gc_state() != Heap::NOT_IN_GC && !heap()->force_oom()) {
986 // GC and give it a chance to increase the heap limit.
1001 MarkCompactCollector* collector = heap()->mark_compact_collector();
1041 heap()->StartIncrementalMarkingIfAllocationLimitIsReached(
1042 heap()->GCFlagsForIncrementalMarking(),
1061 // TODO(dmercadier): use a heap instead of sorting like that.
1062 // Using a heap will have multiple benefits:
1064 // late. Using a heap, sorting could be done online: FreeListCategories would
1065 // be inserted in a heap (ie, in a sorted manner).