5#include "Containers/Array.h"
6#include "Containers/Map.h"
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
CORE_API FMallocCallstackHandler * GMallocCallstackHandler
Definition MallocCallstackHandler.cpp:16
@ DEFAULT_ALIGNMENT
Definition MemoryBase.h:24
uint32 Size
Definition VulkanMemory.cpp:4034
Definition MallocCallstackHandler.h:16
FMalloc * UsedMalloc
Definition MallocCallstackHandler.h:221
void IncDisabled()
Definition MallocCallstackHandler.h:226
static constexpr SIZE_T MaxCallStackDepth
Definition MallocCallstackHandler.h:167
virtual void InitializeStatsMetadata() override
Definition MallocCallstackHandler.h:102
bool Initialized
Definition MallocCallstackHandler.h:222
virtual void MarkTLSCachesAsUnusedOnCurrentThread()
Definition MallocCallstackHandler.h:85
virtual CORE_API void * Malloc(SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) override
Definition MallocCallstackHandler.cpp:43
void DecDisabled()
Definition MallocCallstackHandler.h:233
virtual int32 GetCallStackIndex()
Definition MallocCallstackHandler.cpp:141
void DumpStackTraceToLog(int32 StackIndex)
Definition MallocCallstackHandler.cpp:185
virtual bool ValidateHeap() override
Definition MallocCallstackHandler.h:137
virtual bool GetAllocationSize(void *Original, SIZE_T &SizeOut) override
Definition MallocCallstackHandler.h:53
virtual void TrackFree(void *Ptr, uint32 OldSize, int32 CallStackIndex)=0
virtual CORE_API void * Realloc(void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) override
Definition MallocCallstackHandler.cpp:70
virtual void SetupTLSCachesOnCurrentThread() override
Definition MallocCallstackHandler.h:69
virtual void OnMallocInitialized() override
Definition MallocCallstackHandler.h:152
virtual void UpdateStats() override
Definition MallocCallstackHandler.h:108
FCriticalSection CriticalSection
Definition MallocCallstackHandler.h:223
virtual void GetAllocatorStats(FGenericMemoryStats &out_Stats) override
Definition MallocCallstackHandler.h:114
virtual void ClearAndDisableTLSCachesOnCurrentThread() override
Definition MallocCallstackHandler.h:93
uint32 DisabledTLS
Definition MallocCallstackHandler.h:224
virtual void OnPostFork() override
Definition MallocCallstackHandler.h:162
virtual void Init()
Definition MallocCallstackHandler.cpp:27
virtual void Trim(bool bTrimThreadCaches) override
Definition MallocCallstackHandler.h:61
virtual void DumpAllocatorStats(class FOutputDevice &Ar) override
Definition MallocCallstackHandler.h:120
virtual CORE_API void TrackRealloc(void *OldPtr, void *NewPtr, uint32 NewSize, uint32 OldSize, int32 CallStackIndex)
Definition MallocCallstackHandler.cpp:118
TMap< FCallStackMapKey, int32 > CallStackMapKeyToCallStackIndexMap
Definition MallocCallstackHandler.h:250
static constexpr SIZE_T CallStackEntriesToSkipCount
Definition MallocCallstackHandler.h:168
virtual bool IsInternallyThreadSafe() const override
Definition MallocCallstackHandler.h:129
virtual void OnPreFork() override
Definition MallocCallstackHandler.h:157
virtual bool IsDisabled()
Definition MallocCallstackHandler.h:239
virtual void TrackMalloc(void *Ptr, uint32 Size, int32 CallStackIndex)=0
virtual SIZE_T QuantizeSize(SIZE_T Count, uint32 Alignment) override
Definition MallocCallstackHandler.h:41
virtual const TCHAR * GetDescriptiveName() override
Definition MallocCallstackHandler.h:147
TArray< FCallStackInfo > CallStackInfoArray
Definition MallocCallstackHandler.h:251
virtual void MarkTLSCachesAsUsedOnCurrentThread() override
Definition MallocCallstackHandler.h:77
FRWLock RWLock
Definition MallocCallstackHandler.h:248
Definition MemoryBase.h:99
virtual const TCHAR * GetDescriptiveName()
Definition MemoryBase.h:248
virtual void OnMallocInitialized()
Definition MemoryBase.h:256
virtual void OnPreFork()
Definition MemoryBase.h:261
virtual bool GetAllocationSize(void *Original, SIZE_T &SizeOut)
Definition MemoryBase.h:158
virtual bool ValidateHeap()
Definition MemoryBase.h:238
virtual void SetupTLSCachesOnCurrentThread()
Definition MemoryBase.h:173
virtual void MarkTLSCachesAsUnusedOnCurrentThread()
Definition MemoryBase.h:187
virtual void DumpAllocatorStats(class FOutputDevice &Ar)
Definition MemoryBase.h:221
virtual CORE_API void GetAllocatorStats(FGenericMemoryStats &out_Stats)
Definition MemoryBase.cpp:85
virtual void MarkTLSCachesAsUsedOnCurrentThread()
Definition MemoryBase.h:180
virtual void Trim(bool bTrimThreadCaches)
Definition MemoryBase.h:166
virtual CORE_API void InitializeStatsMetadata()
Definition MemoryBase.cpp:61
virtual CORE_API void UpdateStats()
Definition MemoryBase.cpp:72
virtual void OnPostFork()
Definition MemoryBase.h:266
virtual void ClearAndDisableTLSCachesOnCurrentThread()
Definition MemoryBase.h:194
virtual SIZE_T QuantizeSize(SIZE_T Count, uint32 Alignment)
Definition MemoryBase.h:146
Definition OutputDevice.h:133
Definition MallocCallstackHandler.h:264
FScopeDisableMallocCallstackHandler()
Definition MallocCallstackHandler.h:267
~FScopeDisableMallocCallstackHandler()
Definition MallocCallstackHandler.h:272
Definition UnrealString.h.inl:34
static UE_FORCEINLINE_HINT void * GetTlsValue(uint32 SlotIndex)
Definition AndroidPlatformTLS.h:57
static UE_FORCEINLINE_HINT void SetTlsValue(uint32 SlotIndex, void *Value)
Definition AndroidPlatformTLS.h:47
static UE_FORCEINLINE_HINT uint32 MemCrc32(const void *Data, int32 Length, uint32 CRC=0)
Definition Crc.h:31
Definition MemoryMisc.h:21
Definition MallocCallstackHandler.h:171
uint32 Count
Definition MallocCallstackHandler.h:172
uint64 FramePointers[MaxCallStackDepth]
Definition MallocCallstackHandler.h:173
Definition MallocCallstackHandler.h:178
friend bool operator==(const FCallStackMapKey &A, const FCallStackMapKey &B)
Definition MallocCallstackHandler.h:188
FCallStackMapKey(uint64 *InCallStack)
Definition MallocCallstackHandler.h:182
uint32 CRC
Definition MallocCallstackHandler.h:179
friend uint32 GetTypeHash(const FCallStackMapKey &InKey)
Definition MallocCallstackHandler.h:208
uint64 * CallStack
Definition MallocCallstackHandler.h:180