Lines Matching defs:SizeClassAllocatorLocalCache
18 template <class SizeClassAllocator> struct SizeClassAllocatorLocalCache { struct
19 typedef typename SizeClassAllocator::SizeClassMap SizeClassMap;
20 typedef typename SizeClassAllocator::CompactPtrT CompactPtrT;
22 struct TransferBatch {
52 void initLinkerInitialized(GlobalStats *S, SizeClassAllocator *A) { in initLinkerInitialized()
59 void init(GlobalStats *S, SizeClassAllocator *A) { in init()
64 void destroy(GlobalStats *S) { in destroy()
70 void *allocate(uptr ClassId) { in allocate()
88 void deallocate(uptr ClassId, void *P) { in deallocate()
104 bool isEmpty() const { in isEmpty()
111 void drain() { in drain()
124 TransferBatch *createBatch(uptr ClassId, void *B) { in createBatch()
130 LocalStats &getStats() { return Stats; } in getStats()
134 static const uptr BatchClassId = SizeClassMap::BatchClassId;
135 struct PerClass {
142 PerClass PerClassArray[NumClasses] = {};
143 LocalStats Stats;
144 SizeClassAllocator *Allocator = nullptr;
146 ALWAYS_INLINE void initCacheMaybe(PerClass *C) { in initCacheMaybe()
153 NOINLINE void initCache() { in initCache()
168 void destroyBatch(uptr ClassId, void *B) { in destroyBatch()
173 NOINLINE bool refill(PerClass *C, uptr ClassId) { in refill()
186 NOINLINE void drain(PerClass *C, uptr ClassId) { in drain()