UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMallocFrameProfiler Class Referencefinal

#include <MallocFrameProfiler.h>

+ Inheritance diagram for FMallocFrameProfiler:

Classes

struct  FCallStackStats
 

Public Member Functions

CORE_API FMallocFrameProfiler (FMalloc *InMalloc)
 
virtual CORE_API void Init () override
 
virtual CORE_API void UpdateStats () override
 
- Public Member Functions inherited from FMallocCallstackHandler
CORE_API FMallocCallstackHandler (FMalloc *InMalloc)
 
virtual CORE_API voidMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) override
 
virtual CORE_API voidRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) override
 
virtual CORE_API void Free (void *Original) override
 
virtual SIZE_T QuantizeSize (SIZE_T Count, uint32 Alignment) override
 
virtual bool GetAllocationSize (void *Original, SIZE_T &SizeOut) override
 
virtual void Trim (bool bTrimThreadCaches) override
 
virtual void SetupTLSCachesOnCurrentThread () override
 
virtual void MarkTLSCachesAsUsedOnCurrentThread () override
 
virtual void MarkTLSCachesAsUnusedOnCurrentThread ()
 
virtual void ClearAndDisableTLSCachesOnCurrentThread () override
 
virtual void InitializeStatsMetadata () override
 
virtual void GetAllocatorStats (FGenericMemoryStats &out_Stats) override
 
virtual void DumpAllocatorStats (class FOutputDevice &Ar) override
 
virtual bool IsInternallyThreadSafe () const override
 
virtual bool ValidateHeap () override
 
virtual const TCHARGetDescriptiveName () override
 
virtual void OnMallocInitialized () override
 
virtual void OnPreFork () override
 
virtual void OnPostFork () override
 
void DumpStackTraceToLog (int32 StackIndex)
 
- Public Member Functions inherited from FMalloc
virtual CORE_API voidTryMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual CORE_API voidTryRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual CORE_API voidMallocZeroed (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual CORE_API voidTryMallocZeroed (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual uint64 GetImmediatelyFreeableCachedMemorySize () const
 
virtual uint64 GetTotalFreeCachedMemorySize () const
 
- Public Member Functions inherited from FUseSystemMallocForNew
CORE_API voidoperator new (size_t Size)
 
CORE_API void operator delete (void *Ptr)
 
voidoperator new[] (size_t Size)
 
void operator delete[] (void *Ptr)
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
virtual CORE_API bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Static Public Member Functions

static CORE_API FMallocOverrideIfEnabled (FMalloc *InUsedAlloc)
 

Protected Member Functions

virtual CORE_API bool IsDisabled () override
 
virtual CORE_API void TrackMalloc (void *Ptr, uint32 Size, int32 CallStackIndex)
 
virtual CORE_API void TrackFree (void *Ptr, uint32 OldSize, int32 CallStackIndex)
 
virtual CORE_API void TrackRealloc (void *OldPtr, void *NewPtr, uint32 NewSize, uint32 OldSize, int32 CallStackIndex)
 
- Protected Member Functions inherited from FMallocCallstackHandler
void IncDisabled ()
 
void DecDisabled ()
 
virtual int32 GetCallStackIndex ()
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Runtime (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Protected Attributes

bool bEnabled
 
uint32 FrameCount
 
uint32 EntriesToOutput
 
TMap< void *, int32TrackedCurrentAllocations
 
TArray< FCallStackStatsCallStackStatsArray
 
- Protected Attributes inherited from FMallocCallstackHandler
FMallocUsedMalloc
 
bool Initialized
 
FCriticalSection CriticalSection
 
uint32 DisabledTLS
 
FRWLock RWLock
 
TMap< FCallStackMapKey, int32CallStackMapKeyToCallStackIndexMap
 
TArray< FCallStackInfoCallStackInfoArray
 

Additional Inherited Members

- Static Public Attributes inherited from FMallocCallstackHandler
static constexpr SIZE_T MaxCallStackDepth = 64
 
static constexpr SIZE_T CallStackEntriesToSkipCount = 2
 
- Static Public Attributes inherited from FMalloc
static CORE_API TAtomic< uint64MaxSingleAlloc
 

Constructor & Destructor Documentation

◆ FMallocFrameProfiler()

FMallocFrameProfiler::FMallocFrameProfiler ( FMalloc InMalloc)

Member Function Documentation

◆ Init()

void FMallocFrameProfiler::Init ( )
overridevirtual

Reimplemented from FMallocCallstackHandler.

◆ IsDisabled()

bool FMallocFrameProfiler::IsDisabled ( )
overrideprotectedvirtual

Reimplemented from FMallocCallstackHandler.

◆ OverrideIfEnabled()

FMalloc * FMallocFrameProfiler::OverrideIfEnabled ( FMalloc InUsedAlloc)
static

◆ TrackFree()

void FMallocFrameProfiler::TrackFree ( void Ptr,
uint32  OldSize,
int32  CallStackIndex 
)
protectedvirtual

◆ TrackMalloc()

void FMallocFrameProfiler::TrackMalloc ( void Ptr,
uint32  Size,
int32  CallStackIndex 
)
protectedvirtual

◆ TrackRealloc()

void FMallocFrameProfiler::TrackRealloc ( void OldPtr,
void NewPtr,
uint32  NewSize,
uint32  OldSize,
int32  CallStackIndex 
)
protectedvirtual

Reimplemented from FMallocCallstackHandler.

◆ UpdateStats()

void FMallocFrameProfiler::UpdateStats ( )
overridevirtual

Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.

Reimplemented from FMallocCallstackHandler.

Member Data Documentation

◆ bEnabled

bool FMallocFrameProfiler::bEnabled
protected

◆ CallStackStatsArray

TArray<FCallStackStats> FMallocFrameProfiler::CallStackStatsArray
protected

◆ EntriesToOutput

uint32 FMallocFrameProfiler::EntriesToOutput
protected

◆ FrameCount

uint32 FMallocFrameProfiler::FrameCount
protected

◆ TrackedCurrentAllocations

TMap<void*, int32> FMallocFrameProfiler::TrackedCurrentAllocations
protected

The documentation for this class was generated from the following files: