Lines Matching refs:run
489 Run* run = nullptr; in FreeInternal() local
512 run = reinterpret_cast<Run*>(base_ + pm_idx * kPageSize); in FreeInternal()
513 DCHECK_EQ(run->magic_num_, kMagicNum); in FreeInternal()
526 DCHECK(run != nullptr); in FreeInternal()
527 return FreeFromRun(self, ptr, run); in FreeInternal()
741 size_t RosAlloc::FreeFromRun(Thread* self, void* ptr, Run* run) { in FreeFromRun() argument
742 DCHECK_EQ(run->magic_num_, kMagicNum); in FreeFromRun()
743 DCHECK_LT(run, ptr); in FreeFromRun()
744 DCHECK_LT(ptr, run->End()); in FreeFromRun()
745 const size_t idx = run->size_bracket_idx_; in FreeFromRun()
750 run_was_full = run->IsFull(); in FreeFromRun()
755 if (LIKELY(run->IsThreadLocal())) { in FreeFromRun()
757 DCHECK_LT(run->size_bracket_idx_, kNumThreadLocalSizeBrackets); in FreeFromRun()
758 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in FreeFromRun()
759 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in FreeFromRun()
760 run->MarkThreadLocalFreeBitMap(ptr); in FreeFromRun()
763 << reinterpret_cast<intptr_t>(run); in FreeFromRun()
769 run->FreeSlot(ptr); in FreeFromRun()
771 if (run->IsAllFree()) { in FreeFromRun()
773 std::set<Run*>::iterator pos = non_full_runs->find(run); in FreeFromRun()
778 << reinterpret_cast<intptr_t>(run) << " from non_full_runs_"; in FreeFromRun()
781 if (run == current_runs_[idx]) { in FreeFromRun()
784 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in FreeFromRun()
785 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in FreeFromRun()
786 run->ZeroHeader(); in FreeFromRun()
789 FreePages(self, run, true); in FreeFromRun()
795 if (run != current_runs_[idx]) { in FreeFromRun()
798 std::set<Run*>::iterator pos = non_full_runs->find(run); in FreeFromRun()
801 DCHECK(full_runs->find(run) != full_runs->end()); in FreeFromRun()
803 full_runs->erase(run); in FreeFromRun()
806 << reinterpret_cast<intptr_t>(run) << " from full_runs_"; in FreeFromRun()
809 non_full_runs->insert(run); in FreeFromRun()
810 DCHECK(!run->IsFull()); in FreeFromRun()
813 << reinterpret_cast<intptr_t>(run) in FreeFromRun()
1170 Run* run = nullptr; in BulkFree() local
1180 run = reinterpret_cast<Run*>(base_ + pm_idx * kPageSize); in BulkFree()
1188 run = reinterpret_cast<Run*>(base_ + pi * kPageSize); in BulkFree()
1207 run = reinterpret_cast<Run*>(base_ + pm_idx * kPageSize); in BulkFree()
1215 run = reinterpret_cast<Run*>(base_ + pi * kPageSize); in BulkFree()
1223 DCHECK(run != nullptr); in BulkFree()
1224 DCHECK_EQ(run->magic_num_, kMagicNum); in BulkFree()
1226 freed_bytes += run->MarkBulkFreeBitMap(ptr); in BulkFree()
1228 if (!run->to_be_bulk_freed_) { in BulkFree()
1229 run->to_be_bulk_freed_ = true; in BulkFree()
1230 runs.push_back(run); in BulkFree()
1233 runs.insert(run); in BulkFree()
1241 for (Run* run : runs) { in BulkFree()
1243 DCHECK(run->to_be_bulk_freed_); in BulkFree()
1244 run->to_be_bulk_freed_ = false; in BulkFree()
1246 size_t idx = run->size_bracket_idx_; in BulkFree()
1248 if (run->IsThreadLocal()) { in BulkFree()
1249 DCHECK_LT(run->size_bracket_idx_, kNumThreadLocalSizeBrackets); in BulkFree()
1250 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in BulkFree()
1251 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in BulkFree()
1252 run->UnionBulkFreeBitMapToThreadLocalFreeBitMap(); in BulkFree()
1255 << std::hex << reinterpret_cast<intptr_t>(run); in BulkFree()
1257 DCHECK(run->IsThreadLocal()); in BulkFree()
1261 bool run_was_full = run->IsFull(); in BulkFree()
1262 run->MergeBulkFreeBitMapIntoAllocBitMap(); in BulkFree()
1265 << reinterpret_cast<intptr_t>(run); in BulkFree()
1272 if (run->IsAllFree()) { in BulkFree()
1275 bool run_was_current = run == current_runs_[idx]; in BulkFree()
1277 DCHECK(full_runs->find(run) == full_runs->end()); in BulkFree()
1278 DCHECK(non_full_runs->find(run) == non_full_runs->end()); in BulkFree()
1284 std::unordered_set<Run*, hash_run, eq_run>::iterator pos = full_runs->find(run); in BulkFree()
1289 << reinterpret_cast<intptr_t>(run) in BulkFree()
1292 DCHECK(full_runs->find(run) == full_runs->end()); in BulkFree()
1296 DCHECK(full_runs->find(run) == full_runs->end()); in BulkFree()
1297 DCHECK(non_full_runs->find(run) != non_full_runs->end()); in BulkFree()
1298 non_full_runs->erase(run); in BulkFree()
1301 << reinterpret_cast<intptr_t>(run) in BulkFree()
1304 DCHECK(non_full_runs->find(run) == non_full_runs->end()); in BulkFree()
1307 run->ZeroHeader(); in BulkFree()
1309 FreePages(self, run, true); in BulkFree()
1315 if (run == current_runs_[idx]) { in BulkFree()
1316 DCHECK(non_full_runs->find(run) == non_full_runs->end()); in BulkFree()
1317 DCHECK(full_runs->find(run) == full_runs->end()); in BulkFree()
1322 DCHECK(full_runs->find(run) != full_runs->end()); in BulkFree()
1323 DCHECK(non_full_runs->find(run) == non_full_runs->end()); in BulkFree()
1325 full_runs->erase(run); in BulkFree()
1328 << reinterpret_cast<intptr_t>(run) in BulkFree()
1332 non_full_runs->insert(run); in BulkFree()
1335 << reinterpret_cast<intptr_t>(run) in BulkFree()
1340 DCHECK(full_runs->find(run) == full_runs->end()); in BulkFree()
1341 DCHECK(non_full_runs->find(run) != non_full_runs->end()); in BulkFree()
1417 Run* run = reinterpret_cast<Run*>(base_ + i * kPageSize); in DumpPageMap() local
1418 size_t idx = run->size_bracket_idx_; in DumpPageMap()
1422 << " is_thread_local=" << run->is_thread_local_ in DumpPageMap()
1423 << " is_all_free=" << (run->IsAllFree() ? 1 : 0) in DumpPageMap()
1474 Run* run = reinterpret_cast<Run*>(base_ + pm_idx * kPageSize); in UsableSize() local
1475 DCHECK_EQ(run->magic_num_, kMagicNum); in UsableSize()
1476 size_t idx = run->size_bracket_idx_; in UsableSize()
1478 - (reinterpret_cast<byte*>(run) + headerSizes[idx]); in UsableSize()
1603 Run* run = reinterpret_cast<Run*>(base_ + i * kPageSize); in InspectAll() local
1604 DCHECK_EQ(run->magic_num_, kMagicNum); in InspectAll()
1607 run->InspectAllSlots(handler, arg); in InspectAll()
1608 size_t num_pages = numOfPages[run->size_bracket_idx_]; in InspectAll()
1674 void RosAlloc::RevokeRun(Thread* self, size_t idx, Run* run) { in RevokeRun() argument
1676 DCHECK(run != dedicated_full_run_); in RevokeRun()
1677 if (run->IsFull()) { in RevokeRun()
1679 full_runs_[idx].insert(run); in RevokeRun()
1680 DCHECK(full_runs_[idx].find(run) != full_runs_[idx].end()); in RevokeRun()
1683 << reinterpret_cast<intptr_t>(run) in RevokeRun()
1687 } else if (run->IsAllFree()) { in RevokeRun()
1688 run->ZeroHeader(); in RevokeRun()
1690 FreePages(self, run, true); in RevokeRun()
1692 non_full_runs_[idx].insert(run); in RevokeRun()
1693 DCHECK(non_full_runs_[idx].find(run) != non_full_runs_[idx].end()); in RevokeRun()
1696 << reinterpret_cast<intptr_t>(run) in RevokeRun()
1939 Run* run = reinterpret_cast<Run*>(base_ + i * kPageSize); in Verify() local
1940 DCHECK_EQ(run->magic_num_, kMagicNum); in Verify()
1941 size_t idx = run->size_bracket_idx_; in Verify()
1954 runs.push_back(run); in Verify()
1990 for (auto& run : runs) { in Verify() local
1991 run->Verify(self, this); in Verify()