Lines Matching defs:chunk
38 #include "src/heap/basic-memory-chunk.h"
63 #include "src/heap/memory-chunk-inl.h"
64 #include "src/heap/memory-chunk-layout.h"
1429 for (MemoryChunk* chunk = space->first_page(); chunk != space->last_page();
1430 chunk = chunk->list_node().next())
1431 DCHECK_NULL(chunk->invalidated_slots<OLD_TO_NEW>());
2479 MemoryChunk* chunk = MemoryChunk::cast(basic_chunk);
2480 if (chunk->SweepingDone()) return;
2483 DCHECK(!chunk->IsLargePage());
2485 Page* page = Page::cast(chunk);
2828 void Heap::UnprotectAndRegisterMemoryChunk(MemoryChunk* chunk,
2833 if (unprotected_memory_chunks_.insert(chunk).second) {
2834 chunk->SetCodeModificationPermissions();
2846 void Heap::UnregisterUnprotectedMemoryChunk(MemoryChunk* chunk) {
2847 unprotected_memory_chunks_.erase(chunk);
2852 for (auto chunk = unprotected_memory_chunks_.begin();
2853 chunk != unprotected_memory_chunks_.end(); chunk++) {
2854 DCHECK(memory_allocator()->IsMemoryChunkExecutable(*chunk));
2855 (*chunk)->SetDefaultCodePermissions();
3349 MemoryChunk* chunk = static_cast<MemoryChunk*>(basic_chunk);
3350 if (chunk->InYoungGeneration()) return;
3351 BaseSpace* space = chunk->owner();
3420 BasicMemoryChunk* chunk = BasicMemoryChunk::FromHeapObject(object);
3421 return chunk->NeverEvacuate() || IsLargeObject(object);
3518 // coincide with chunk and thus the trick is just not applicable.
3540 MemoryChunk* chunk = MemoryChunk::FromHeapObject(object);
3541 DCHECK(!chunk->RegisteredObjectWithInvalidatedSlots<OLD_TO_OLD>(object));
3542 DCHECK(!chunk->RegisteredObjectWithInvalidatedSlots<OLD_TO_NEW>(object));
3643 MemoryChunk* chunk = MemoryChunk::FromHeapObject(object);
3644 DCHECK(!chunk->RegisteredObjectWithInvalidatedSlots<OLD_TO_NEW>(object));
3645 DCHECK(!chunk->RegisteredObjectWithInvalidatedSlots<OLD_TO_OLD>(object));
4770 void CollectSlots(MemoryChunk* chunk, Address start, Address end,
4774 chunk,
4783 chunk, [=](SlotType type, Address slot) {
4792 MemoryChunk* chunk = MemoryChunk::FromHeapObject(object);
4793 DCHECK_IMPLIES(chunk->mutex() == nullptr, ReadOnlyHeap::Contains(object));
4794 // In RO_SPACE chunk->mutex() may be nullptr, so just ignore it.
4796 chunk->mutex());
4803 CollectSlots<OLD_TO_NEW>(chunk, start, end, &old_to_new, &typed_old_to_new);
5974 MemoryChunk* chunk) {
5977 chunk->MarkNeverEvacuate();
5980 isolate()->AddCodeMemoryChunk(chunk);
6421 int Heap::InsertIntoRememberedSetFromCode(MemoryChunk* chunk, Address slot) {
6422 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
6515 Address chunk = object.ptr() & ~kLogicalChunkAlignmentMask;
6516 if (reachable_.count(chunk) == 0) return true;
6517 return reachable_[chunk]->count(object) == 0;
6522 Address chunk = object.ptr() & ~kLogicalChunkAlignmentMask;
6523 if (reachable_.count(chunk) == 0) {
6524 reachable_[chunk] = new std::unordered_set<HeapObject, Object::Hasher>();
6526 if (reachable_[chunk]->count(object)) return false;
6527 reachable_[chunk]->insert(object);
7130 MemoryChunk* chunk = MemoryChunk::FromHeapObject(obj);
7131 AllocationSpace src = chunk->owner_identity();
7213 // Check if the inner pointer points into a large object chunk.
7280 MemoryChunk* chunk = MemoryChunk::FromHeapObject(object);
7281 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
7289 MemoryChunk* chunk = MemoryChunk::FromHeapObject(table);
7290 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
7426 BasicMemoryChunk* chunk = BasicMemoryChunk::FromHeapObject(object);
7430 // Slim chunk flags consistency.
7431 CHECK_EQ(chunk->InYoungGeneration(), slim_chunk->InYoungGeneration());
7432 CHECK_EQ(chunk->IsFlagSet(MemoryChunk::INCREMENTAL_MARKING),
7435 AllocationSpace identity = chunk->owner()->identity();
7441 CHECK_EQ(chunk->InReadOnlySpace(), slim_chunk->InReadOnlySpace());
7444 if (chunk->IsWritable()) {