Lines Matching refs:idx
333 size_t idx = pm_idx + 1; in FreePages() local
335 while (idx < end && page_map_[idx] == pm_part_type) { in FreePages()
336 page_map_[idx] = kPageMapEmpty; in FreePages()
338 idx++; in FreePages()
545 RosAlloc::Run* RosAlloc::AllocRun(Thread* self, size_t idx) { in AllocRun() argument
549 new_run = reinterpret_cast<Run*>(AllocPages(self, numOfPages[idx], kPageMapRun)); in AllocRun()
555 new_run->size_bracket_idx_ = idx; in AllocRun()
558 if (kUsePrefetchDuringAllocRun && idx < kNumThreadLocalSizeBrackets) { in AllocRun()
565 const size_t num_of_slots = numOfSlots[idx]; in AllocRun()
566 const size_t bracket_size = bracketSizes[idx]; in AllocRun()
568 uint8_t* begin = reinterpret_cast<uint8_t*>(new_run) + headerSizes[idx]; in AllocRun()
579 RosAlloc::Run* RosAlloc::RefillRun(Thread* self, size_t idx) { in RefillRun() argument
581 auto* const bt = &non_full_runs_[idx]; in RefillRun()
592 return AllocRun(self, idx); in RefillRun()
595 inline void* RosAlloc::AllocFromCurrentRunUnlocked(Thread* self, size_t idx) { in AllocFromCurrentRunUnlocked() argument
596 Run* current_run = current_runs_[idx]; in AllocFromCurrentRunUnlocked()
603 full_runs_[idx].insert(current_run); in AllocFromCurrentRunUnlocked()
607 << " into full_runs_[" << std::dec << idx << "]"; in AllocFromCurrentRunUnlocked()
609 DCHECK(non_full_runs_[idx].find(current_run) == non_full_runs_[idx].end()); in AllocFromCurrentRunUnlocked()
610 DCHECK(full_runs_[idx].find(current_run) != full_runs_[idx].end()); in AllocFromCurrentRunUnlocked()
612 current_run = RefillRun(self, idx); in AllocFromCurrentRunUnlocked()
615 current_runs_[idx] = dedicated_full_run_; in AllocFromCurrentRunUnlocked()
619 DCHECK(non_full_runs_[idx].find(current_run) == non_full_runs_[idx].end()); in AllocFromCurrentRunUnlocked()
620 DCHECK(full_runs_[idx].find(current_run) == full_runs_[idx].end()); in AllocFromCurrentRunUnlocked()
622 current_runs_[idx] = current_run; in AllocFromCurrentRunUnlocked()
639 size_t idx = SizeToIndexAndBracketSize(size, &bracket_size); in AllocFromRunThreadUnsafe() local
641 void* slot_addr = AllocFromCurrentRunUnlocked(self, idx); in AllocFromRunThreadUnsafe()
658 size_t idx = SizeToIndexAndBracketSize(size, &bracket_size); in AllocFromRun() local
660 if (LIKELY(idx < kNumThreadLocalSizeBrackets)) { in AllocFromRun()
662 Run* thread_local_run = reinterpret_cast<Run*>(self->GetRosAllocRun(idx)); in AllocFromRun()
666 MutexLock mu(self, *size_bracket_locks_[idx]); in AllocFromRun()
667 CHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end()); in AllocFromRun()
668 CHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end()); in AllocFromRun()
679 MutexLock mu(self, *size_bracket_locks_[idx]); in AllocFromRun()
693 full_runs_[idx].insert(thread_local_run); in AllocFromRun()
697 << " into full_runs_[" << std::dec << idx << "]"; in AllocFromRun()
700 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end()); in AllocFromRun()
701 DCHECK(full_runs_[idx].find(thread_local_run) != full_runs_[idx].end()); in AllocFromRun()
704 thread_local_run = RefillRun(self, idx); in AllocFromRun()
706 self->SetRosAllocRun(idx, dedicated_full_run_); in AllocFromRun()
709 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end()); in AllocFromRun()
710 DCHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end()); in AllocFromRun()
712 self->SetRosAllocRun(idx, thread_local_run); in AllocFromRun()
738 MutexLock mu(self, *size_bracket_locks_[idx]); in AllocFromRun()
739 slot_addr = AllocFromCurrentRunUnlocked(self, idx); in AllocFromRun()
760 const size_t idx = run->size_bracket_idx_; in FreeFromRun() local
761 const size_t bracket_size = bracketSizes[idx]; in FreeFromRun()
763 MutexLock brackets_mu(self, *size_bracket_locks_[idx]); in FreeFromRun()
773 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in FreeFromRun()
774 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in FreeFromRun()
785 auto* non_full_runs = &non_full_runs_[idx]; in FreeFromRun()
796 if (run == current_runs_[idx]) { in FreeFromRun()
797 current_runs_[idx] = dedicated_full_run_; in FreeFromRun()
799 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in FreeFromRun()
800 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in FreeFromRun()
810 if (run != current_runs_[idx]) { in FreeFromRun()
811 auto* full_runs = kIsDebugBuild ? &full_runs_[idx] : nullptr; in FreeFromRun()
828 << " into non_full_runs_[" << std::dec << idx << "]"; in FreeFromRun()
839 const uint8_t idx = size_bracket_idx_; in FreeListToStr() local
840 const size_t bracket_size = bracketSizes[idx]; in FreeListToStr()
857 size_t idx = size_bracket_idx_; in Dump() local
861 << " size_bracket_idx=" << idx in Dump()
873 const uint8_t idx = size_bracket_idx_; in FreeSlot() local
874 const size_t bracket_size = bracketSizes[idx]; in FreeSlot()
889 const uint8_t idx = size_bracket_idx_; in MergeThreadLocalFreeListToFreeList() local
896 *is_all_free_after_out = free_list_.Size() == numOfSlots[idx]; in MergeThreadLocalFreeListToFreeList()
925 const uint8_t idx = size_bracket_idx_; in AddToFreeListShared() local
926 const size_t bracket_size = bracketSizes[idx]; in AddToFreeListShared()
939 const uint8_t idx = size_bracket_idx_; in ZeroHeaderAndSlotHeaders() local
947 memset(this, 0, headerSizes[idx]); in ZeroHeaderAndSlotHeaders()
950 const size_t size = numOfPages[idx] * gPageSize; in ZeroHeaderAndSlotHeaders()
959 const uint8_t idx = size_bracket_idx_; in ZeroData() local
961 memset(slot_begin, 0, numOfSlots[idx] * bracketSizes[idx]); in ZeroData()
966 size_t idx = size_bracket_idx_; in InspectAllSlots() local
967 uint8_t* slot_base = reinterpret_cast<uint8_t*>(this) + headerSizes[idx]; in InspectAllSlots()
968 size_t num_slots = numOfSlots[idx]; in InspectAllSlots()
969 size_t bracket_size = IndexToBracketSize(idx); in InspectAllSlots()
971 reinterpret_cast<uint8_t*>(this) + numOfPages[idx] * gPageSize); in InspectAllSlots()
1103 size_t idx = run->size_bracket_idx_; in BulkFree() local
1104 MutexLock brackets_mu(self, *size_bracket_locks_[idx]); in BulkFree()
1107 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end()); in BulkFree()
1108 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end()); in BulkFree()
1126 auto* non_full_runs = &non_full_runs_[idx]; in BulkFree()
1127 auto* full_runs = kIsDebugBuild ? &full_runs_[idx] : nullptr; in BulkFree()
1131 bool run_was_current = run == current_runs_[idx]; in BulkFree()
1171 if (run == current_runs_[idx]) { in BulkFree()
1192 << " into non_full_runs_[" << std::dec << idx; in BulkFree()
1274 size_t idx = run->size_bracket_idx_; in DumpPageMap() local
1276 << " idx=" << idx in DumpPageMap()
1277 << " numOfPages=" << numOfPages[idx] in DumpPageMap()
1310 size_t idx = pm_idx + 1; in UsableSize() local
1312 while (idx < end && page_map_[idx] == kPageMapLargeObjectPart) { in UsableSize()
1314 idx++; in UsableSize()
1332 size_t idx = run->size_bracket_idx_; in UsableSize() local
1334 - (reinterpret_cast<uint8_t*>(run) + headerSizes[idx]); in UsableSize()
1335 DCHECK_EQ(offset_from_slot_base % bracketSizes[idx], static_cast<size_t>(0)); in UsableSize()
1336 return IndexToBracketSize(idx); in UsableSize()
1435 size_t idx = i + 1; in InspectAll() local
1436 while (idx < pm_end && page_map_[idx] == kPageMapLargeObjectPart) { in InspectAll()
1438 idx++; in InspectAll()
1505 for (size_t idx = 0; idx < kNumThreadLocalSizeBrackets; idx++) { in RevokeThreadLocalRuns() local
1506 MutexLock mu(self, *size_bracket_locks_[idx]); in RevokeThreadLocalRuns()
1507 Run* thread_local_run = reinterpret_cast<Run*>(thread->GetRosAllocRun(idx)); in RevokeThreadLocalRuns()
1513 thread->SetRosAllocRun(idx, dedicated_full_run_); in RevokeThreadLocalRuns()
1517 free_bytes += num_free_slots * bracketSizes[idx]; in RevokeThreadLocalRuns()
1529 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end()); in RevokeThreadLocalRuns()
1530 DCHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end()); in RevokeThreadLocalRuns()
1531 RevokeRun(self, idx, thread_local_run); in RevokeThreadLocalRuns()
1537 void RosAlloc::RevokeRun(Thread* self, size_t idx, Run* run) { in RevokeRun() argument
1538 size_bracket_locks_[idx]->AssertHeld(self); in RevokeRun()
1542 full_runs_[idx].insert(run); in RevokeRun()
1543 DCHECK(full_runs_[idx].find(run) != full_runs_[idx].end()); in RevokeRun()
1547 << " into full_runs_[" << std::dec << idx << "]"; in RevokeRun()
1555 non_full_runs_[idx].insert(run); in RevokeRun()
1556 DCHECK(non_full_runs_[idx].find(run) != non_full_runs_[idx].end()); in RevokeRun()
1560 << " into non_full_runs_[" << std::dec << idx << "]"; in RevokeRun()
1568 for (size_t idx = 0; idx < kNumThreadLocalSizeBrackets; ++idx) { in RevokeThreadUnsafeCurrentRuns() local
1569 MutexLock mu(self, *size_bracket_locks_[idx]); in RevokeThreadUnsafeCurrentRuns()
1570 if (current_runs_[idx] != dedicated_full_run_) { in RevokeThreadUnsafeCurrentRuns()
1571 RevokeRun(self, idx, current_runs_[idx]); in RevokeThreadUnsafeCurrentRuns()
1572 current_runs_[idx] = dedicated_full_run_; in RevokeThreadUnsafeCurrentRuns()
1596 for (size_t idx = 0; idx < kNumThreadLocalSizeBrackets; idx++) { in AssertThreadLocalRunsAreRevoked() local
1597 MutexLock mu(self, *size_bracket_locks_[idx]); in AssertThreadLocalRunsAreRevoked()
1598 Run* thread_local_run = reinterpret_cast<Run*>(thread->GetRosAllocRun(idx)); in AssertThreadLocalRunsAreRevoked()
1613 for (size_t idx = 0; idx < kNumThreadLocalSizeBrackets; ++idx) { in AssertAllThreadLocalRunsAreRevoked() local
1614 MutexLock brackets_mu(self, *size_bracket_locks_[idx]); in AssertAllThreadLocalRunsAreRevoked()
1615 CHECK_EQ(current_runs_[idx], dedicated_full_run_); in AssertAllThreadLocalRunsAreRevoked()
1785 size_t idx = i + 1; in Verify() local
1786 while (idx < pm_end && page_map_[idx] == kPageMapLargeObjectPart) { in Verify()
1788 idx++; in Verify()
1814 size_t idx = run->size_bracket_idx_; in Verify() local
1815 CHECK_LT(idx, kNumOfSizeBrackets) << "Out of range size bracket index : " << idx; in Verify()
1816 size_t num_pages = numOfPages[idx]; in Verify()
1868 const size_t idx = size_bracket_idx_; in Verify() local
1869 CHECK_LT(idx, kNumOfSizeBrackets) << "Out of range size bracket index : " << Dump(); in Verify()
1870 uint8_t* slot_base = reinterpret_cast<uint8_t*>(this) + headerSizes[idx]; in Verify()
1871 const size_t num_slots = numOfSlots[idx]; in Verify()
1872 size_t bracket_size = IndexToBracketSize(idx); in Verify()
1874 reinterpret_cast<uint8_t*>(this) + numOfPages[idx] * gPageSize) in Verify()
1891 CHECK_EQ(i, idx) in Verify()
1908 if (idx == i) { in Verify()
1923 auto& non_full_runs = rosalloc->non_full_runs_[idx]; in Verify()
1933 auto& full_runs = rosalloc->full_runs_[idx]; in Verify()
1970 CHECK_EQ(SizeToIndex(obj_size + memory_tool_modifier), idx) in Verify()
1972 << "obj_size=" << obj_size << "(" << obj_size + memory_tool_modifier << "), idx=" << idx in Verify()
2122 size_t idx = i + 1; in DumpStats() local
2123 while (idx < page_map_size_ && page_map_[idx] == kPageMapLargeObjectPart) { in DumpStats()
2125 idx++; in DumpStats()
2138 size_t idx = run->size_bracket_idx_; in DumpStats() local
2139 size_t num_pages = numOfPages[idx]; in DumpStats()
2140 num_runs[idx]++; in DumpStats()
2141 num_pages_runs[idx] += num_pages; in DumpStats()
2142 num_slots[idx] += numOfSlots[idx]; in DumpStats()
2144 num_used_slots[idx] += numOfSlots[idx] - num_free_slots; in DumpStats()
2145 num_metadata_bytes[idx] += headerSizes[idx]; in DumpStats()