Lines Matching refs:allocator

28   void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) {  in Destroy()
29 Drain(allocator); in Destroy()
34 void *Allocate(SizeClassAllocator *allocator, uptr class_id) { in Allocate()
39 if (UNLIKELY(!Refill(c, allocator, class_id))) in Allocate()
45 return reinterpret_cast<void *>(allocator->CompactPtrToPointer( in Allocate()
46 allocator->GetRegionBeginBySizeClass(class_id), chunk)); in Allocate()
49 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) { in Deallocate()
57 DrainHalfMax(c, allocator, class_id); in Deallocate()
58 CompactPtrT chunk = allocator->PointerToCompactPtr( in Deallocate()
59 allocator->GetRegionBeginBySizeClass(class_id), in Deallocate()
65 void Drain(SizeClassAllocator *allocator) { in Drain()
66 MemoryMapperT memory_mapper(*allocator); in Drain()
69 while (c->count > 0) Drain(&memory_mapper, c, allocator, i, c->count); in Drain()
99 NOINLINE bool Refill(PerClass *c, SizeClassAllocator *allocator, in Refill()
103 if (UNLIKELY(!allocator->GetFromAllocator(&stats_, class_id, c->chunks, in Refill()
110 NOINLINE void DrainHalfMax(PerClass *c, SizeClassAllocator *allocator, in DrainHalfMax()
112 MemoryMapperT memory_mapper(*allocator); in DrainHalfMax()
113 Drain(&memory_mapper, c, allocator, class_id, c->max_count / 2); in DrainHalfMax()
117 SizeClassAllocator *allocator, uptr class_id, uptr count) { in Drain()
121 allocator->ReturnToAllocator(memory_mapper, &stats_, class_id, in Drain()
139 TransferBatch *CreateBatch(uptr class_id, SizeClassAllocator *allocator, in CreateBatch()
142 return (TransferBatch*)Allocate(allocator, batch_class_id); in CreateBatch()
147 void DestroyBatch(uptr class_id, SizeClassAllocator *allocator, in DestroyBatch()
150 Deallocate(allocator, batch_class_id, b); in DestroyBatch()
153 void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) { in Destroy()
154 Drain(allocator); in Destroy()
159 void *Allocate(SizeClassAllocator *allocator, uptr class_id) { in Allocate()
164 if (UNLIKELY(!Refill(c, allocator, class_id))) in Allocate()
174 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) { in Deallocate()
182 Drain(c, allocator, class_id); in Deallocate()
187 void Drain(SizeClassAllocator *allocator) { in Drain()
191 Drain(c, allocator, i); in Drain()
241 NOINLINE bool Refill(PerClass *c, SizeClassAllocator *allocator, in Refill()
244 TransferBatch *b = allocator->AllocateBatch(&stats_, this, class_id); in Refill()
250 DestroyBatch(class_id, allocator, b); in Refill()
254 NOINLINE void Drain(PerClass *c, SizeClassAllocator *allocator, in Drain()
259 class_id, allocator, (TransferBatch *)c->batch[first_idx_to_drain]); in Drain()
269 allocator->DeallocateBatch(&stats_, class_id, b); in Drain()