Lines Matching refs:page
24 Page* page = static_cast<Page*>(chunk);
25 page->SetYoungGenerationPageFlags(heap()->incremental_marking()->IsMarking());
26 page->list_node().Initialize();
28 page->AllocateYoungGenerationBitmap();
32 ->ClearLiveness(page);
34 page->InitializationMemoryFence();
35 return page;
70 // Clear new space flags to avoid this page being treated as a new
71 // space page that is potentially being swept.
199 // Duplicate the flags that was set on the old page.
237 for (Page* page : *this) {
238 page->set_owner(this);
239 page->SetFlags(flags, mask);
241 page->ClearFlag(MemoryChunk::FROM_PAGE);
242 page->SetFlag(MemoryChunk::TO_PAGE);
243 page->ClearFlag(MemoryChunk::NEW_SPACE_BELOW_AGE_MARK);
245 page, 0);
247 page->SetFlag(MemoryChunk::FROM_PAGE);
248 page->ClearFlag(MemoryChunk::TO_PAGE);
250 DCHECK(page->InYoungGeneration());
261 void SemiSpace::RemovePage(Page* page) {
262 if (current_page_ == page) {
263 if (page->prev_page()) {
264 current_page_ = page->prev_page();
267 memory_chunk_list_.Remove(page);
269 DecrementCommittedPhysicalMemory(page->CommittedPhysicalMemory());
272 DecrementExternalBackingStoreBytes(t, page->ExternalBackingStoreBytes(t));
276 void SemiSpace::PrependPage(Page* page) {
277 page->SetFlags(current_page()->GetFlags());
278 page->set_owner(this);
279 memory_chunk_list_.PushFront(page);
282 IncrementCommittedPhysicalMemory(page->CommittedPhysicalMemory());
285 IncrementExternalBackingStoreBytes(t, page->ExternalBackingStoreBytes(t));
289 void SemiSpace::MovePageToTheEnd(Page* page) {
290 DCHECK_EQ(page->owner(), this);
291 memory_chunk_list_.Remove(page);
292 memory_chunk_list_.PushBack(page);
293 current_page_ = page;
332 Page* page = current_page();
334 DCHECK_LE(page->address(), start);
336 DCHECK_LE(end, page->address() + Page::kPageSize);
338 const size_t added_pages = page->active_system_pages()->Add(
339 start - page->address(), end - page->address(),
375 for (const Page* page : *this) {
376 CHECK_EQ(page->owner(), this);
377 CHECK(page->InNewSpace());
378 CHECK(page->IsFlagSet(is_from_space ? MemoryChunk::FROM_PAGE
380 CHECK(!page->IsFlagSet(is_from_space ? MemoryChunk::TO_PAGE
382 CHECK(page->IsFlagSet(MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING));
386 if (page->heap()->incremental_marking()->IsMarking()) {
387 CHECK(page->IsFlagSet(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING));
390 !page->IsFlagSet(MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING));
395 external_backing_store_bytes[t] += page->ExternalBackingStoreBytes(t);
398 computed_committed_physical_memory += page->CommittedPhysicalMemory();
400 CHECK_IMPLIES(page->list_node().prev(),
401 page->list_node().prev()->list_node().next() == page);
417 Page* page = Page::FromAllocationAreaAddress(start);
419 SemiSpace* space = reinterpret_cast<SemiSpace*>(page->owner());
421 // Start address is before end address, either on same page,
422 // or end address is on a later page in the linked list of
424 if (page == end_page) {
427 while (page != end_page) {
428 page = page->next_page();
430 DCHECK(page);
525 // Order here is important to make use of the page pool.
558 // Concurrent marking may have local live bytes for this page.
579 // Clear remainder of current page.
617 Page* page = Page::FromAddress(start);
618 // We move a page with a parked allocaiton to the end of the pages list
619 // to maintain the invariant that the last page is the used one.
620 to_space_.MovePageToTheEnd(page);
647 // Not enough room in the page, try to allocate a new one.
688 Page* page = Page::FromAddress(to_top - kTaggedSize);
689 if (page->Contains(to_top)) {
690 int remaining_in_page = static_cast<int>(page->area_end() - to_top);
710 // to be end of curent to space page.
775 // At end of page, switch to next page.
776 Page* page = Page::FromAllocationAreaAddress(current)->next_page();
777 CHECK(!page->IsFlagSet(Page::PAGE_NEW_OLD_PROMOTION));
778 CHECK(!page->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION));
779 current = page->area_start();