Lines Matching refs:allocator

27   void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) {
28 Drain(allocator);
33 void *Allocate(SizeClassAllocator *allocator, uptr class_id) {
38 if (UNLIKELY(!Refill(c, allocator, class_id)))
44 return reinterpret_cast<void *>(allocator->CompactPtrToPointer(
45 allocator->GetRegionBeginBySizeClass(class_id), chunk));
48 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) {
51 // If the first allocator call on a new thread is a deallocation, then
56 Drain(c, allocator, class_id, c->max_count / 2);
57 CompactPtrT chunk = allocator->PointerToCompactPtr(
58 allocator->GetRegionBeginBySizeClass(class_id),
64 void Drain(SizeClassAllocator *allocator) {
68 Drain(c, allocator, i, c->count);
98 NOINLINE bool Refill(PerClass *c, SizeClassAllocator *allocator,
102 if (UNLIKELY(!allocator->GetFromAllocator(&stats_, class_id, c->chunks,
109 NOINLINE void Drain(PerClass *c, SizeClassAllocator *allocator, uptr class_id,
114 allocator->ReturnToAllocator(&stats_, class_id,
132 TransferBatch *CreateBatch(uptr class_id, SizeClassAllocator *allocator,
135 return (TransferBatch*)Allocate(allocator, batch_class_id);
140 void DestroyBatch(uptr class_id, SizeClassAllocator *allocator,
143 Deallocate(allocator, batch_class_id, b);
146 void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) {
147 Drain(allocator);
152 void *Allocate(SizeClassAllocator *allocator, uptr class_id) {
157 if (UNLIKELY(!Refill(c, allocator, class_id)))
167 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) {
170 // If the first allocator call on a new thread is a deallocation, then
175 Drain(c, allocator, class_id);
180 void Drain(SizeClassAllocator *allocator) {
184 Drain(c, allocator, i);
234 NOINLINE bool Refill(PerClass *c, SizeClassAllocator *allocator,
237 TransferBatch *b = allocator->AllocateBatch(&stats_, this, class_id);
243 DestroyBatch(class_id, allocator, b);
247 NOINLINE void Drain(PerClass *c, SizeClassAllocator *allocator,
252 class_id, allocator, (TransferBatch *)c->batch[first_idx_to_drain]);
256 Report("FATAL: Internal error: %s's allocator failed to allocate a "
262 allocator->DeallocateBatch(&stats_, class_id, b);