Home | History | Annotate | Download | only in src

Lines Matching refs:Page

46 Page* PageIterator::next() {
56 // Page
58 Page* Page::next_page() {
63 Address Page::AllocationTop() {
69 void Page::ClearRSet() {
76 // | page address | words (6) | bit offset (5) | pointer alignment (2) |
80 // | page address | words(5) | bit offset(5) | pointer alignment (3) |
86 Address Page::ComputeRSetBitPosition(Address address, int offset,
88 ASSERT(Page::is_rset_in_use());
90 Page* page = Page::FromAddress(address);
91 uint32_t bit_offset = ArithmeticShiftRight(page->Offset(address) + offset,
96 page->address() + kRSetOffset + (bit_offset / kBitsPerInt) * kIntSize;
98 // of a page or else we have a large object page.
99 ASSERT((page->RSetStart() <= rset_address && rset_address < page->RSetEnd())
100 || page->IsLargeObjectPage());
102 if (rset_address >= page->RSetEnd()) {
103 // We have a large object page, and the remembered set address is actually
107 // the page, but anything after kRSetEndOffset must be relocated to after
109 // (page->ObjectAreaStart() + object size)
114 FixedArray::SizeFor(Memory::int_at(page->ObjectAreaStart()
122 void Page::SetRSet(Address address, int offset) {
132 void Page::UnsetRSet(Address address, int offset) {
141 bool Page::IsRSetSet(Address address, int offset) {
164 bool MemoryAllocator::IsPageInSpace(Page* p, PagedSpace* space) {
177 Page* MemoryAllocator::GetNextPage(Page* p) {
179 intptr_t raw_addr = p->opaque_header & ~Page::kPageAlignmentMask;
180 return Page::FromAddress(AddressFrom<Address>(raw_addr));
184 int MemoryAllocator::GetChunkId(Page* p) {
186 return static_cast<int>(p->opaque_header & Page::kPageAlignmentMask);
190 void MemoryAllocator::SetNextPage(Page* prev, Page* next) {
198 PagedSpace* MemoryAllocator::PageOwner(Page* page) {
199 int chunk_id = GetChunkId(page);
227 void MemoryAllocator::ProtectChunkFromPage(Page* page) {
228 int id = GetChunkId(page);
233 void MemoryAllocator::UnprotectChunkFromPage(Page* page) {
234 int id = GetChunkId(page);
246 Page* p = Page::FromAddress(addr);
253 // Try linear allocation in the page of alloc_info's allocation top. Does
254 // not contain slow case logic (eg, move to the next page or try free list
302 // Round the chunk address up to the nearest page-aligned address
303 // and return the heap object in that page.
304 Page* page = Page::FromAddress(RoundUp(address(), Page::kPageSize));
305 return HeapObject::FromAddress(page->ObjectAreaStart());
314 RoundUp((object_size - Page::kObjectAreaSize) / kPointerSize,