Lines Matching defs:StorageUniquerImpl
251 struct StorageUniquerImpl { struct
252 using BaseStorage = StorageUniquer::BaseStorage;
253 using StorageAllocator = StorageUniquer::StorageAllocator;
260 bool hasParametricStorage(TypeID id) { return parametricUniquers.count(id); } in hasParametricStorage()
264 getOrCreate(TypeID id, unsigned hashValue, in getOrCreate()
278 mutate(TypeID id, BaseStorage *storage, in mutate()
290 StorageAllocator &getThreadSafeAllocator() { in getThreadSafeAllocator()
318 BaseStorage *getSingleton(TypeID id) { in getSingleton()
325 bool hasSingleton(TypeID id) const { return singletonInstances.count(id); } in hasSingleton()
334 ThreadLocalCache<StorageAllocator *> threadSafeAllocator;
337 std::vector<std::unique_ptr<StorageAllocator>> threadAllocators;
340 llvm::sys::SmartMutex<true> threadAllocatorMutex;
345 StorageAllocator allocator;
349 parametricUniquers;
353 DenseMap<TypeID, BaseStorage *> singletonInstances;
356 bool threadingIsEnabled = true;