Lines Matching refs:info

262 size_t FreeListSpace::GetSlotIndexForAllocationInfo(const AllocationInfo* info) const {  in GetSlotIndexForAllocationInfo()
263 DCHECK_GE(info, allocation_info_); in GetSlotIndexForAllocationInfo()
264 DCHECK_LT(info, reinterpret_cast<AllocationInfo*>(allocation_info_map_->End())); in GetSlotIndexForAllocationInfo()
265 return info - allocation_info_; in GetSlotIndexForAllocationInfo()
331 void FreeListSpace::RemoveFreePrev(AllocationInfo* info) { in RemoveFreePrev() argument
332 CHECK_GT(info->GetPrevFree(), 0U); in RemoveFreePrev()
333 auto it = free_blocks_.lower_bound(info); in RemoveFreePrev()
335 CHECK_EQ(*it, info); in RemoveFreePrev()
344 AllocationInfo* info = GetAllocationInfoForAddress(reinterpret_cast<uintptr_t>(obj)); in Free() local
345 DCHECK(!info->IsFree()); in Free()
346 const size_t allocation_size = info->ByteSize(); in Free()
349 info->SetByteSize(allocation_size, true); // Mark as free. in Free()
351 AllocationInfo* next_info = info->GetNextInfo(); in Free()
354 size_t prev_free_bytes = info->GetPrevFreeBytes(); in Free()
359 RemoveFreePrev(info); in Free()
360 info = info->GetPrevFreeInfo(); in Free()
362 DCHECK_EQ(info->GetPrevFreeBytes(), 0U) << "Previous allocation was free"; in Free()
384 info->SetByteSize(new_free_size, true); in Free()
385 DCHECK_EQ(info->GetNextInfo(), new_free_info); in Free()
400 AllocationInfo* info = GetAllocationInfoForAddress(reinterpret_cast<uintptr_t>(obj)); in AllocationSize() local
401 DCHECK(!info->IsFree()); in AllocationSize()
402 size_t alloc_size = info->ByteSize(); in AllocationSize()
420 AllocationInfo* info = *it; in Alloc() local
423 new_info = info->GetPrevFreeInfo(); in Alloc()
425 info->SetPrevFreeBytes(info->GetPrevFreeBytes() - allocation_size); in Alloc()
426 if (info->GetPrevFreeBytes() > 0) { in Alloc()
427 AllocationInfo* new_free = info - info->GetPrevFree(); in Alloc()
429 new_free->SetByteSize(info->GetPrevFreeBytes(), true); in Alloc()
431 free_blocks_.insert(info); in Alloc()