Home | History | Annotate | Download | only in heap

Lines Matching refs:page

32     : range_(Page::FromAddress(start),
33 Page::FromAllocationAreaAddress(limit)->next_page()) {
58 if (Page::IsAlignedToPageSize(current_)) {
59 Page* page = Page::FromAllocationAreaAddress(current_);
60 page = page->next_page();
61 DCHECK(!page->is_anchor());
62 current_ = page->area_start();
124 void MemoryAllocator::ProtectChunkFromPage(Page* page) {
125 int id = GetChunkId(page);
130 void MemoryAllocator::UnprotectChunkFromPage(Page* page) {
131 int id = GetChunkId(page);
152 for (Page* p : *this) {
192 Page* Page::Initialize(Heap* heap, MemoryChunk* chunk, Executability executable,
200 Page* page = static_cast<Page*>(chunk);
201 heap->incremental_marking()->SetNewSpacePageFlags(page);
202 page->AllocateLocalTracker();
203 return page;
209 template <Page::InitializationMode mode>
210 Page* Page::Initialize(Heap* heap, MemoryChunk* chunk, Executability executable,
212 Page* page = reinterpret_cast<Page*>(chunk);
213 DCHECK(page->area_size() <= kAllocatableMemory);
216 owner->IncreaseCapacity(page->area_size());
220 page->InitializeFreeListCategories();
222 // page as allocated memory that cannot be used for further allocations.
224 owner->Free(page->area_start(), page->area_size());
227 return page;
230 Page* Page::ConvertNewToOld(Page* old_page, PagedSpace* new_owner) {
235 Page* new_page = Page::Initialize<kDoNotFreeMemory>(
241 void Page::InitializeFreeListCategories() {
253 PrintIsolate(heap()->isolate(), "live-bytes: reset page=%p %d->0\n",
263 heap()->isolate(), "live-bytes: update page=%p delta=%d %d->%d\n",
273 if (!chunk->InNewSpace() && !static_cast<Page*>(chunk)->SweepingDone()) {
280 Page* p = Page::FromAddress(addr);
281 if (!Page::IsValid(p)) return false;
287 Page* p = Page::FromAddress(HeapObject::cast(o)->address());
288 if (!Page::IsValid(p)) return false;
292 void PagedSpace::UnlinkFreeListCategories(Page* page) {
293 DCHECK_EQ(this, page->owner());
294 page->ForAllFreeListCategories([this](FreeListCategory* category) {
300 intptr_t PagedSpace::RelinkFreeListCategories(Page* page) {
301 DCHECK_EQ(this, page->owner());
303 page->ForAllFreeListCategories([&added](FreeListCategory* category) {
319 Page* Page::FromAnyPointerAddress(Heap* heap, Address addr) {
320 return static_cast<Page*>(MemoryChunk::FromAnyPointerAddress(heap, addr));
323 void Page::MarkNeverAllocateForTesting() {
330 void Page::MarkEvacuationCandidate() {
338 void Page::ClearEvacuationCandidate() {
387 Page* FreeListCategory::page() {
388 return Page::FromAddress(reinterpret_cast<Address>(this));
393 Page::FromAddress(reinterpret_cast<Address>(this))->owner())
401 // Try linear allocation in the page of alloc_info's allocation top. Does
402 // not contain slow case logic (e.g. move to the next page or try free list
613 FATAL("Code page is too large.");