Lines Matching full:allocator
27 template <class Allocator, u32 TSDsArraySize, u32 DefaultTSDCount>
29 using ThisT = TSDRegistrySharedT<Allocator, TSDsArraySize, DefaultTSDCount>;
39 TSD<Allocator> &operator*() { return *CurrentTSD; }
41 TSD<Allocator> *operator->() {
47 TSD<Allocator> *CurrentTSD;
50 void init(Allocator *Instance) REQUIRES(Mutex) { in init()
61 void initOnceMaybe(Allocator *Instance) EXCLUDES(Mutex) { in initOnceMaybe()
68 void unmapTestOnly(Allocator *Instance) EXCLUDES(Mutex) { in unmapTestOnly()
78 void drainCaches(Allocator *Instance) { in drainCaches()
87 ALWAYS_INLINE void initThreadMaybe(Allocator *Instance, in initThreadMaybe()
136 ALWAYS_INLINE TSD<Allocator> *getTSDAndLock() NO_THREAD_SAFETY_ANALYSIS { in getTSDAndLock()
137 TSD<Allocator> *TSD = getCurrentTSD(); in getTSDAndLock()
161 static_assert(alignof(TSD<Allocator>) >= 2, "");
163 ALWAYS_INLINE void setCurrentTSD(TSD<Allocator> *CurrentTSD) { in setCurrentTSD()
168 ALWAYS_INLINE TSD<Allocator> *getCurrentTSD() { in getCurrentTSD()
169 return reinterpret_cast<TSD<Allocator> *>(*getTlsPtr() & ~1ULL); in getCurrentTSD()
203 NOINLINE void initThread(Allocator *Instance) NO_THREAD_SAFETY_ANALYSIS { in initThread()
213 NOINLINE TSD<Allocator> *getTSDAndLockSlow(TSD<Allocator> *CurrentTSD) in getTSDAndLockSlow()
229 TSD<Allocator> *CandidateTSD = nullptr; in getTSDAndLockSlow()
264 TSD<Allocator> TSDs[TSDsArraySize];