Lines Matching refs:fpr
134 FreePageRun* fpr = *it;
135 DCHECK(fpr->IsFree());
136 size_t fpr_byte_size = fpr->ByteSize(this);
143 << std::hex << reinterpret_cast<intptr_t>(fpr)
149 reinterpret_cast<FreePageRun*>(reinterpret_cast<uint8_t*>(fpr) + req_byte_size);
162 fpr->SetByteSize(this, req_byte_size);
163 DCHECK_EQ(fpr->ByteSize(this) % kPageSize, static_cast<size_t>(0));
165 res = fpr;
232 FreePageRun* fpr = *it;
235 DCHECK_EQ(last_free_page_run, fpr);
237 size_t fpr_byte_size = fpr->ByteSize(this);
240 free_page_runs_.erase(fpr);
242 LOG(INFO) << "RosAlloc::AllocPages() : Erased run 0x" << std::hex << reinterpret_cast<intptr_t>(fpr)
247 FreePageRun* remainder = reinterpret_cast<FreePageRun*>(reinterpret_cast<uint8_t*>(fpr) + req_byte_size);
259 fpr->SetByteSize(this, req_byte_size);
260 DCHECK_EQ(fpr->ByteSize(this) % kPageSize, static_cast<size_t>(0));
262 res = fpr;
356 FreePageRun* fpr = reinterpret_cast<FreePageRun*>(ptr);
358 fpr->magic_num_ = kMagicNumFree;
360 fpr->SetByteSize(this, byte_size);
361 DCHECK_ALIGNED(fpr->ByteSize(this), kPageSize);
363 DCHECK(free_page_runs_.find(fpr) == free_page_runs_.end());
368 << std::hex << reinterpret_cast<uintptr_t>(fpr) << " [" << std::dec << pm_idx << "] -0x"
369 << std::hex << reinterpret_cast<uintptr_t>(fpr->End(this)) << " [" << std::dec
370 << (fpr->End(this) == End() ? page_map_size_ : ToPageMapIndex(fpr->End(this))) << "]";
372 for (auto it = free_page_runs_.upper_bound(fpr); it != free_page_runs_.end(); ) {
381 if (fpr->End(this) == h->Begin()) {
395 fpr->SetByteSize(this, fpr->ByteSize(this) + h->ByteSize(this));
396 DCHECK_EQ(fpr
406 for (auto it = free_page_runs_.upper_bound(fpr); it != free_page_runs_.begin(); ) {
417 if (l->End(this) == fpr->Begin()) {
427 l->SetByteSize(this, l->ByteSize(this) + fpr->ByteSize(this));
431 fpr->magic_num_ = 0;
433 fpr = l;
445 DCHECK_EQ(fpr->ByteSize(this) % kPageSize, static_cast<size_t>(0));
446 DCHECK(free_page_runs_.find(fpr) == free_page_runs_.end());
447 DCHECK(fpr->IsFree());
448 fpr->ReleasePages(this);
449 DCHECK(fpr->IsFree());
450 free_page_runs_.insert(fpr);
451 DCHECK(free_page_runs_.find(fpr) != free_page_runs_.end());
453 LOG(INFO) << "RosAlloc::FreePages() : Inserted run 0x" << std::hex << reinterpret_cast<intptr_t>(fpr)
1220 FreePageRun* fpr = reinterpret_cast<FreePageRun*>(base_ + i * kPageSize);
1221 if (free_page_runs_.find(fpr) != free_page_runs_.end()) {
1224 DCHECK(fpr->IsFree());
1227 curr_fpr = fpr;
1228 curr_fpr_size = fpr->ByteSize(this);
1232 << " (FPR start) fpr_size=" << curr_fpr_size
1248 stream << "[" << i << "]=Empty (FPR part)"
1411 FreePageRun* fpr = reinterpret_cast<FreePageRun*>(base_ + i * kPageSize);
1412 DCHECK(free_page_runs_.find(fpr) != free_page_runs_.end());
1413 size_t fpr_size = fpr->ByteSize(this);
1415 void* start = fpr;
1419 start = reinterpret_cast<uint8_t*>(fpr) + kPageSize;
1421 void* end = reinterpret_cast<uint8_t*>(fpr) + fpr_size;
1760 FreePageRun* fpr = reinterpret_cast<FreePageRun*>(base_ + i * kPageSize);
1761 DCHECK_EQ(fpr->magic_num_, kMagicNumFree);
1762 CHECK(free_page_runs_.find(fpr) != free_page_runs_.end())
1764 size_t fpr_size = fpr->ByteSize(this);
2003 FreePageRun* fpr = reinterpret_cast<FreePageRun*>(base_ + i * kPageSize);
2004 // There is a race condition where FreePage can coalesce fpr with the previous
2006 // a run starting at fpr. To handle this race, we skip reclaiming the page range and go
2008 if (free_page_runs_.find(fpr) != free_page_runs_.end()) {
2009 size_t fpr_size = fpr->ByteSize(this);
2011 uint8_t* start = reinterpret_cast<uint8_t*>(fpr);
2076 for (FreePageRun* fpr : free_page_runs_) {
2078 fpr->ByteSize(this));
2079 total_free += fpr->ByteSize(this);