97 NumAllocationSizeClasses = 64,
98 MaxAllocationSizeToPool = NumAllocationSizeClasses * 65536,
100 MaxOSAllocCacheSize = 64 * 1024 * 1024,
101 MaxOSAllocsCached = 64
116 return static_cast<int32>(
Size >> 16) + ((
Size & 0xFFFF) ? 1 : 0) - 1;
135 int32 NextPoolSize[Limits::NumAllocationSizeClasses];
138 FPoolDescriptorBase* ClassesListHeads[Limits::NumAllocationSizeClasses];
153 void DestroyPool(FPoolDescriptorBase* Pool);
162#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_7
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Size
Definition VulkanMemory.cpp:4034
Definition OutputDevice.h:133
FPThreadsRecursiveMutex FPlatformRecursiveMutex
Definition AndroidPlatformMutex.h:12
Definition PooledVirtualMemoryAllocator.h:70
SIZE_T VMSizeDivVirtualSizeAlignment
Definition PooledVirtualMemoryAllocator.h:75
FPoolDescriptorBase * Next
Definition PooledVirtualMemoryAllocator.h:72
Definition PooledVirtualMemoryAllocator.h:61
void Free(void *Ptr, SIZE_T Size, UE::FPlatformRecursiveMutex *Mutex=nullptr, bool ThreadIsTimeCritical=false)
void FreeAll(UE::FPlatformRecursiveMutex *Mutex=nullptr)
FPooledVirtualMemoryAllocator()
void * Allocate(SIZE_T Size, uint32 AllocationHint=0, UE::FPlatformRecursiveMutex *Mutex=nullptr)
uint64 GetCachedFreeTotal() const
uint64 GetCachedImmediatelyFreeable() const
Definition PooledVirtualMemoryAllocator.h:80
void DumpAllocatorStats(class FOutputDevice &Ar)
void Refresh()
Definition PooledVirtualMemoryAllocator.h:86
void UpdateStats()
Definition PooledVirtualMemoryAllocator.h:89
Definition CachedOSPageAllocator.h:37