Home
last modified time | relevance | path

Searched refs:MemoryChunk (Results 1 – 25 of 85) sorted by relevance

1234

/third_party/node/deps/v8/src/heap/
Dmemory-chunk.cc21 void MemoryChunk::DiscardUnusedMemory(Address addr, size_t size) { in DiscardUnusedMemory()
33 void MemoryChunk::InitializationMemoryFence() { in InitializationMemoryFence()
45 void MemoryChunk::DecrementWriteUnprotectCounterAndMaybeSetPermissions( in DecrementWriteUnprotectCounterAndMaybeSetPermissions()
49 DCHECK(IsFlagSet(MemoryChunk::IS_EXECUTABLE)); in DecrementWriteUnprotectCounterAndMaybeSetPermissions()
72 void MemoryChunk::SetReadable() { in SetReadable()
76 void MemoryChunk::SetReadAndExecutable() { in SetReadAndExecutable()
82 void MemoryChunk::SetCodeModificationPermissions() { in SetCodeModificationPermissions()
83 DCHECK(IsFlagSet(MemoryChunk::IS_EXECUTABLE)); in SetCodeModificationPermissions()
101 MemoryChunk::GetCodeModificationPermission())); in SetCodeModificationPermissions()
105 void MemoryChunk::SetDefaultCodePermissions() { in SetDefaultCodePermissions()
[all …]
Dheap-write-barrier-inl.h44 struct MemoryChunk { struct
53 V8_INLINE static heap_internals::MemoryChunk* FromHeapObject( in FromHeapObject() argument
56 return reinterpret_cast<MemoryChunk*>(object.ptr() & ~kPageAlignmentMask); in FromHeapObject()
89 heap_internals::MemoryChunk* value_chunk = in GenerationalBarrierInternal() argument
90 heap_internals::MemoryChunk::FromHeapObject(value); in GenerationalBarrierInternal()
91 heap_internals::MemoryChunk* object_chunk = in GenerationalBarrierInternal()
92 heap_internals::MemoryChunk::FromHeapObject(object); in GenerationalBarrierInternal()
105 heap_internals::MemoryChunk* value_chunk = in GenerationalEphemeronKeyBarrierInternal()
106 heap_internals::MemoryChunk::FromHeapObject(value); in GenerationalEphemeronKeyBarrierInternal()
107 heap_internals::MemoryChunk* table_chunk = in GenerationalEphemeronKeyBarrierInternal()
[all …]
Dremembered-set.h31 static void Insert(SlotSet* slot_set, MemoryChunk* chunk, Address slot_addr) { in Insert()
38 static int Iterate(SlotSet* slot_set, MemoryChunk* chunk, Callback callback, in Iterate()
48 static void Remove(SlotSet* slot_set, MemoryChunk* chunk, Address slot_addr) { in Remove()
55 static void RemoveRange(SlotSet* slot_set, MemoryChunk* chunk, Address start, in RemoveRange()
67 static void CheckNoneInRange(SlotSet* slot_set, MemoryChunk* chunk, in CheckNoneInRange()
93 static void Insert(MemoryChunk* chunk, Address slot_addr) { in Insert()
104 static bool Contains(MemoryChunk* chunk, Address slot_addr) { in Contains()
114 static void CheckNoneInRange(MemoryChunk* chunk, Address start, Address end) { in CheckNoneInRange()
122 static void Remove(MemoryChunk* chunk, Address slot_addr) { in Remove()
130 static void RemoveRange(MemoryChunk* chunk, Address start, Address end, in RemoveRange()
[all …]
Dmemory-allocator.h53 void AddMemoryChunkSafe(MemoryChunk* chunk) { in AddMemoryChunkSafe()
61 MemoryChunk* TryGetPooledMemoryChunkSafe() { in TryGetPooledMemoryChunkSafe()
67 MemoryChunk* chunk = GetMemoryChunkSafe(ChunkQueueType::kPooled); in TryGetPooledMemoryChunkSafe()
107 void AddMemoryChunkSafe(ChunkQueueType type, MemoryChunk* chunk) { in AddMemoryChunkSafe()
112 MemoryChunk* GetMemoryChunkSafe(ChunkQueueType type) { in GetMemoryChunkSafe()
115 MemoryChunk* chunk = chunks_[type].back(); in GetMemoryChunkSafe()
131 std::vector<MemoryChunk*> chunks_[ChunkQueueType::kNumberOfChunkQueues];
200 MemoryChunk* chunk);
232 bool IsMemoryChunkExecutable(MemoryChunk* chunk) { in IsMemoryChunkExecutable()
311 void PreFreeMemory(MemoryChunk* chunk);
[all …]
Dmemory-chunk.h32 class MemoryChunk : public BasicMemoryChunk {
56 MemoryChunk(Heap* heap, BaseSpace* space, size_t size, Address area_start,
61 static MemoryChunk* FromAddress(Address a) { in FromAddress()
66 static MemoryChunk* FromHeapObject(HeapObject o) { in FromHeapObject()
70 static MemoryChunk* cast(BasicMemoryChunk* chunk) { in cast()
72 return static_cast<MemoryChunk*>(chunk); in cast()
75 static const MemoryChunk* cast(const BasicMemoryChunk* chunk) { in cast()
77 return static_cast<const MemoryChunk*>(chunk); in cast()
86 ExternalBackingStoreType type, MemoryChunk* from, MemoryChunk* to,
201 heap::ListNode<MemoryChunk>& list_node() { return list_node_; } in list_node()
[all …]
Dmark-compact.h38 MarkBitCellIterator(const MemoryChunk* chunk, Bitmap* bitmap) in MarkBitCellIterator()
90 const MemoryChunk* chunk_;
109 inline iterator(const MemoryChunk* chunk, Bitmap* bitmap, Address start);
127 const MemoryChunk* const chunk_;
138 LiveObjectRange(const MemoryChunk* chunk, Bitmap* bitmap) in LiveObjectRange()
150 const MemoryChunk* const chunk_;
167 static bool VisitBlackObjects(MemoryChunk* chunk, MarkingState* state,
174 static void VisitBlackObjectsNoFail(MemoryChunk* chunk, MarkingState* state,
181 static void VisitGreyObjectsNoFail(MemoryChunk* chunk, MarkingState* state,
186 static void RecomputeLiveBytes(MemoryChunk* chunk, MarkingState* state);
[all …]
Dmemory-allocator.cc145 MemoryChunk* chunk = nullptr; in PerformFreeMemoryOnQueuedNonRegularChunks()
154 MemoryChunk* chunk = nullptr; in PerformFreeMemoryOnQueuedChunks()
163 bool pooled = chunk->IsFlagSet(MemoryChunk::POOLED); in PerformFreeMemoryOnQueuedChunks()
350 MemoryChunk::kAlignment); in AllocateUninitializedChunk()
358 AllocateAlignedMemory(chunk_size, area_size, MemoryChunk::kAlignment, in AllocateUninitializedChunk()
407 if (chunk->IsFlagSet(MemoryChunk::IS_EXECUTABLE)) { in PartialFreeMemory()
435 DCHECK(!chunk->IsFlagSet(MemoryChunk::UNREGISTERED)); in UnregisterBasicMemoryChunk()
446 UnregisterExecutableMemoryChunk(static_cast<MemoryChunk*>(chunk)); in UnregisterBasicMemoryChunk()
449 static_cast<MemoryChunk*>(chunk)); in UnregisterBasicMemoryChunk()
451 chunk->SetFlag(MemoryChunk::UNREGISTERED); in UnregisterBasicMemoryChunk()
[all …]
Dspaces.h175 virtual MemoryChunk* first_page() { return memory_chunk_list_.front(); } in first_page()
176 virtual MemoryChunk* last_page() { return memory_chunk_list_.back(); } in last_page()
178 virtual const MemoryChunk* first_page() const { in first_page()
181 virtual const MemoryChunk* last_page() const { in last_page()
185 heap::List<MemoryChunk>& memory_chunk_list() { return memory_chunk_list_; } in memory_chunk_list()
187 virtual Page* InitializePage(MemoryChunk* chunk) { in InitializePage()
204 heap::List<MemoryChunk> memory_chunk_list_;
220 class Page : public MemoryChunk {
224 MainThreadFlags(MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING) |
225 MainThreadFlags(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING) |
[all …]
Dmemory-chunk-inl.h14 void MemoryChunk::IncrementExternalBackingStoreBytes( in IncrementExternalBackingStoreBytes()
22 void MemoryChunk::DecrementExternalBackingStoreBytes( in DecrementExternalBackingStoreBytes()
30 void MemoryChunk::MoveExternalBackingStoreBytes(ExternalBackingStoreType type, in MoveExternalBackingStoreBytes()
31 MemoryChunk* from, in MoveExternalBackingStoreBytes()
32 MemoryChunk* to, in MoveExternalBackingStoreBytes()
42 AllocationSpace MemoryChunk::owner_identity() const { in owner_identity()
Dinvalidated-slots.h34 static InvalidatedSlotsFilter OldToOld(MemoryChunk* chunk);
35 static InvalidatedSlotsFilter OldToNew(MemoryChunk* chunk);
40 explicit InvalidatedSlotsFilter(MemoryChunk* chunk,
62 static InvalidatedSlotsCleanup OldToNew(MemoryChunk* chunk);
63 static InvalidatedSlotsCleanup NoCleanup(MemoryChunk* chunk);
65 explicit InvalidatedSlotsCleanup(MemoryChunk* chunk,
Dinvalidated-slots.cc15 InvalidatedSlotsFilter InvalidatedSlotsFilter::OldToOld(MemoryChunk* chunk) { in OldToOld()
20 InvalidatedSlotsFilter InvalidatedSlotsFilter::OldToNew(MemoryChunk* chunk) { in OldToNew()
26 MemoryChunk* chunk, InvalidatedSlots* invalidated_slots, in InvalidatedSlotsFilter()
47 InvalidatedSlotsCleanup InvalidatedSlotsCleanup::OldToNew(MemoryChunk* chunk) { in OldToNew()
51 InvalidatedSlotsCleanup InvalidatedSlotsCleanup::NoCleanup(MemoryChunk* chunk) { in NoCleanup()
56 MemoryChunk* chunk, InvalidatedSlots* invalidated_slots) { in InvalidatedSlotsCleanup()
Dbasic-memory-chunk.cc19 heap_internals::MemoryChunk::kIsExecutableBit);
21 heap_internals::MemoryChunk::kMarkingBit);
23 heap_internals::MemoryChunk::kFromPageBit);
25 heap_internals::MemoryChunk::kToPageBit);
27 heap_internals::MemoryChunk::kReadOnlySpaceBit);
29 heap_internals::MemoryChunk::kFlagsOffset);
31 heap_internals::MemoryChunk::kHeapOffset);
Dnew-spaces.cc21 Page* SemiSpace::InitializePage(MemoryChunk* chunk) { in InitializePage()
23 chunk->SetFlag(in_to_space ? MemoryChunk::TO_PAGE : MemoryChunk::FROM_PAGE); in InitializePage()
44 MemoryChunk* current_page = first_page(); in EnsureCurrentCapacity()
59 MemoryChunk* next_current = current_page->list_node().next(); in EnsureCurrentCapacity()
152 MemoryChunk* chunk = memory_chunk_list_.front(); in Uncommit()
211 MemoryChunk* last = last_page(); in RewindPages()
241 page->ClearFlag(MemoryChunk::FROM_PAGE); in FixPagesFlags()
242 page->SetFlag(MemoryChunk::TO_PAGE); in FixPagesFlags()
243 page->ClearFlag(MemoryChunk::NEW_SPACE_BELOW_AGE_MARK); in FixPagesFlags()
247 page->SetFlag(MemoryChunk::FROM_PAGE); in FixPagesFlags()
[all …]
Dmemory-chunk-layout.cc18 return ::RoundUp(MemoryChunk::kHeaderSize + Bitmap::kSize, in CodePageGuardStartOffset()
35 return MemoryChunk::kPageSize - in ObjectEndOffsetInCodePage()
45 return RoundUp(MemoryChunk::kHeaderSize + Bitmap::kSize, kDoubleSize); in ObjectStartOffsetInDataPage()
57 size_t memory = MemoryChunk::kPageSize - ObjectStartOffsetInDataPage(); in AllocatableMemoryInDataPage()
Dlarge-spaces.cc36 : MemoryChunk(heap, space, chunk_size, area_start, area_end, in LargePage()
44 SetFlag(MemoryChunk::LARGE_PAGE); in LargePage()
48 LargePage* LargePage::Initialize(Heap* heap, MemoryChunk* chunk, in Initialize()
58 page->SetFlag(MemoryChunk::LARGE_PAGE); in Initialize()
255 MemoryChunk* chunk = MemoryChunk::FromHeapObject(obj); in ClearMarkingStateOfLiveObjects()
267 current += MemoryChunk::kPageSize) { in InsertChunkMapEntries()
275 current += MemoryChunk::kPageSize) { in RemoveChunkMapEntries()
283 DCHECK(page->IsFlagSet(MemoryChunk::FROM_PAGE)); in PromoteNewLargeObject()
284 DCHECK(!page->IsFlagSet(MemoryChunk::TO_PAGE)); in PromoteNewLargeObject()
288 page->ClearFlag(MemoryChunk::FROM_PAGE); in PromoteNewLargeObject()
[all …]
Dconcurrent-marking.h30 class MemoryChunk; variable
39 std::unordered_map<MemoryChunk*, MemoryChunkData, MemoryChunk::Hasher>;
86 void ClearMemoryChunkData(MemoryChunk* chunk);
Dscavenger.cc45 DCHECK(MemoryChunk::FromHeapObject(host)->InNewLargeObjectSpace()); in VisitMapPointer()
125 MemoryChunk* chunk = MemoryChunk::FromHeapObject(host); in HandleSlot()
141 !MemoryChunk::FromHeapObject(target)->IsFlagSet( in HandleSlot()
142 MemoryChunk::IS_EXECUTABLE)); in HandleSlot()
148 MemoryChunk::FromHeapObject(host), slot.address()); in HandleSlot()
193 std::vector<std::pair<ParallelWorkItem, MemoryChunk*>> memory_chunks, in JobTask()
312 std::vector<std::pair<ParallelWorkItem, MemoryChunk*>> memory_chunks; in CollectGarbage()
314 heap_, [&memory_chunks](MemoryChunk* chunk) { in CollectGarbage()
431 MemoryChunk* chunk; in CollectGarbage()
444 heap_, [](MemoryChunk* chunk) { in CollectGarbage()
[all …]
Dheap-write-barrier.cc105 MemoryChunk* chunk = MemoryChunk::FromHeapObject(object); in IsImmortalImmovableHeapObject()
109 if (!chunk->IsFlagSet(MemoryChunk::NEVER_EVACUATE)) return false; in IsImmortalImmovableHeapObject()
Dmark-compact-inl.h66 MemoryChunk* source_page = MemoryChunk::FromHeapObject(object); in RecordSlot()
72 void MarkCompactCollector::RecordSlot(MemoryChunk* source_page, in RecordSlot()
77 target_page->IsFlagSet(MemoryChunk::IS_EXECUTABLE)) { in RecordSlot()
127 LiveObjectRange<mode>::iterator::iterator(const MemoryChunk* chunk, in iterator()
Dlarge-spaces.h27 class LargePage : public MemoryChunk {
40 return static_cast<LargePage*>(MemoryChunk::FromHeapObject(o)); in FromHeapObject()
57 static LargePage* Initialize(Heap* heap, MemoryChunk* chunk,
63 STATIC_ASSERT(sizeof(LargePage) <= MemoryChunk::kHeaderSize);
Dmark-compact.cc99 const MemoryChunk* chunk) = 0;
229 const MemoryChunk* chunk) override { in bitmap()
662 MemoryChunk::FromHeapObject(obj))); in VerifyMarkbitsAreClean()
839 !p->IsFlagSet(MemoryChunk::FORCE_EVACUATION_CANDIDATE_FOR_TESTING)); in CollectEvacuationCandidates()
863 if (p->IsFlagSet(MemoryChunk::PINNED)) { in CollectEvacuationCandidates()
864 p->ClearFlag(MemoryChunk::PINNED); in CollectEvacuationCandidates()
875 if (p->IsFlagSet(MemoryChunk::FORCE_EVACUATION_CANDIDATE_FOR_TESTING)) { in CollectEvacuationCandidates()
878 p->ClearFlag(MemoryChunk::FORCE_EVACUATION_CANDIDATE_FOR_TESTING); in CollectEvacuationCandidates()
1295 MemoryChunk::FromHeapObject(host), slot.address()); in MarkObject()
1527 MemoryChunk* chunk = MemoryChunk::FromHeapObject(host); in RecordMigratedSlot()
[all …]
Dscavenger.h88 using EmptyChunksList = ::heap::base::Worklist<MemoryChunk*, 64>;
97 void ScavengePage(MemoryChunk* page);
124 void AddPageToSweeperIfNecessary(MemoryChunk* page);
273 std::vector<std::pair<ParallelWorkItem, MemoryChunk*>> memory_chunks,
287 std::vector<std::pair<ParallelWorkItem, MemoryChunk*>> memory_chunks_;
Dheap-inl.h328 return page->IsFlagSet(MemoryChunk::NEW_SPACE_BELOW_AGE_MARK) && in ShouldBePromoted()
405 chunk->IsFlagSet(MemoryChunk::PAGE_NEW_NEW_PROMOTION)); in UpdateAllocationSite()
407 chunk->IsFlagSet(MemoryChunk::PAGE_NEW_OLD_PROMOTION)); in UpdateAllocationSite()
608 DCHECK(page->IsFlagSet(MemoryChunk::IS_EXECUTABLE)); in CodeSpaceMemoryModificationScope()
622 DCHECK(page->IsFlagSet(MemoryChunk::IS_EXECUTABLE)); in ~CodeSpaceMemoryModificationScope()
660 chunk_->IsFlagSet(MemoryChunk::IS_EXECUTABLE)) { in CodePageMemoryModificationScope()
664 MemoryChunk::cast(chunk_)->SetCodeModificationPermissions(); in CodePageMemoryModificationScope()
670 MemoryChunk::cast(chunk_)->SetDefaultCodePermissions(); in ~CodePageMemoryModificationScope()
Dconcurrent-allocator.cc30 static_cast<int>(MemoryChunk::kPageSize - in RunInternal()
88 optional_scope.emplace(MemoryChunk::FromAddress(lab_.top())); in FreeLinearAllocationArea()
98 optional_scope.emplace(MemoryChunk::FromAddress(lab_.top())); in MakeLinearAllocationAreaIterable()
/third_party/node/deps/v8/src/execution/
Disolate-utils-inl.h52 heap_internals::MemoryChunk* chunk = in GetHeapFromWritableObject()
53 heap_internals::MemoryChunk::FromHeapObject(object); in GetHeapFromWritableObject()
80 heap_internals::MemoryChunk* chunk = in GetIsolateFromHeapObject()
81 heap_internals::MemoryChunk::FromHeapObject(object); in GetIsolateFromHeapObject()

1234