Lines Matching defs:TSDRegistrySharedT
28 struct TSDRegistrySharedT { struct
29 using ThisT = TSDRegistrySharedT<Allocator, TSDsArraySize, DefaultTSDCount>; argument
31 struct ScopedTSD {
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()
94 void disable() NO_THREAD_SAFETY_ANALYSIS { in disable()
100 void enable() NO_THREAD_SAFETY_ANALYSIS { in enable()
106 bool setOption(Option O, sptr Value) { in setOption()
115 bool getDisableMemInit() const { return *getTlsPtr() & 1; } in getDisableMemInit()
117 void getStats(ScopedString *Str) EXCLUDES(MutexTSDs) { in getStats()
136 ALWAYS_INLINE TSD<Allocator> *getTSDAndLock() NO_THREAD_SAFETY_ANALYSIS { in getTSDAndLock()
152 ALWAYS_INLINE uptr *getTlsPtr() const { in getTlsPtr()
163 ALWAYS_INLINE void setCurrentTSD(TSD<Allocator> *CurrentTSD) { in setCurrentTSD()
168 ALWAYS_INLINE TSD<Allocator> *getCurrentTSD() { in getCurrentTSD()
172 bool setNumberOfTSDs(u32 N) EXCLUDES(MutexTSDs) { in setNumberOfTSDs()
198 void setDisableMemInit(bool B) { in setDisableMemInit()
203 NOINLINE void initThread(Allocator *Instance) NO_THREAD_SAFETY_ANALYSIS { in initThread()
213 NOINLINE TSD<Allocator> *getTSDAndLockSlow(TSD<Allocator> *CurrentTSD) in getTSDAndLockSlow()
257 atomic_u32 CurrentIndex = {};
260 u32 CoPrimes[TSDsArraySize] GUARDED_BY(MutexTSDs) = {};
262 HybridMutex Mutex;
263 HybridMutex MutexTSDs;
264 TSD<Allocator> TSDs[TSDsArraySize];