Lines Matching refs:chunk
223 // Don't leave a small free block, useless for a large object or chunk.
399 MemoryChunk* chunk = MemoryChunk::Initialize(heap,
406 chunk->set_next_chunk(NULL);
407 chunk->set_prev_chunk(NULL);
408 chunk->initialize_scan_on_scavenge(true);
410 chunk->SetFlag(in_to_space ? MemoryChunk::IN_TO_SPACE
412 ASSERT(!chunk->IsFlagSet(in_to_space ? MemoryChunk::IN_FROM_SPACE
414 NewSpacePage* page = static_cast<NewSpacePage*>(chunk);
437 MemoryChunk* chunk = FromAddress(base);
439 ASSERT(base == chunk->address());
441 chunk->heap_ = heap;
442 chunk->size_ = size;
443 chunk->area_start_ = area_start;
444 chunk->area_end_ = area_end;
445 chunk->flags_ = 0;
446 chunk->set_owner(owner);
447 chunk->InitializeReservedMemory();
448 chunk->slots_buffer_ = NULL;
449 chunk->skip_list_ = NULL;
450 chunk->ResetLiveBytes();
451 Bitmap::Clear(chunk);
452 chunk->initialize_scan_on_scavenge(false);
453 chunk->SetFlag(WAS_SWEPT_PRECISELY);
459 chunk->SetFlag(IS_EXECUTABLE);
463 chunk->SetFlag(CONTAINS_ONLY_DATA);
466 return chunk;
577 MemoryChunk* chunk = AllocateChunk(owner->AreaSize(),
581 if (chunk == NULL) return NULL;
583 return Page::Initialize(isolate_->heap(), chunk, executable, owner);
590 MemoryChunk* chunk = AllocateChunk(object_size, executable, owner);
591 if (chunk == NULL) return NULL;
592 return LargePage::Initialize(isolate_->heap(), chunk);
596 void MemoryAllocator::Free(MemoryChunk* chunk) {
597 LOG(isolate_, DeleteEvent("MemoryChunk", chunk));
598 if (chunk->owner() != NULL) {
600 static_cast<ObjectSpace>(1 << chunk->owner()->identity());
601 PerformAllocationCallback(space, kAllocationActionFree, chunk->size());
605 reinterpret_cast<Address>(chunk), chunk->IsEvacuationCandidate());
607 delete chunk->slots_buffer();
608 delete chunk->skip_list();
610 VirtualMemory* reservation = chunk->reserved_memory();
612 FreeMemory(reservation, chunk->executable());
614 FreeMemory(chunk->address(),
615 chunk->size(),
616 chunk->executable());
766 MemoryChunk* chunk = MemoryChunk::FromAddress(address);
767 if (!chunk->InNewSpace() && !static_cast<Page*>(chunk)->WasSwept()) {
768 static_cast<PagedSpace*>(chunk->owner())->IncrementUnsweptFreeBytes(-by);
770 chunk->IncrementLiveBytes(by);
1013 // this chunk must be a power of two and it must be aligned to its size.
1288 // allocate memory from the OS. A SemiSpace is given a contiguous chunk of
2604 // this large page in the chunk map.
2672 // Cut the chunk out from the chunk list.
2680 // Free the chunk.
2711 MemoryChunk* chunk = MemoryChunk::FromAddress(address);
2713 bool owned = (chunk->owner() == this);
2725 for (LargePage* chunk = first_page_;
2726 chunk != NULL;
2727 chunk = chunk->next_page()) {
2728 // Each chunk contains an object that starts at the large object page's
2730 HeapObject* object = chunk->GetObject();