UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMallocBinnedCommonBase Class Reference

#include <MallocBinnedCommon.h>

+ Inheritance diagram for FMallocBinnedCommonBase:

Classes

struct  FBundleNode
 
struct  FFreeBlockList
 
struct  FPtrToPoolMapping
 

Public Member Functions

virtual CORE_API void OnMallocInitialized () override
 
- Public Member Functions inherited from FMalloc
virtual voidMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)=0
 
virtual CORE_API voidTryMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual voidRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)=0
 
virtual CORE_API voidTryRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual void Free (void *Original)=0
 
virtual CORE_API voidMallocZeroed (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual CORE_API voidTryMallocZeroed (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT)
 
virtual SIZE_T QuantizeSize (SIZE_T Count, uint32 Alignment)
 
virtual bool GetAllocationSize (void *Original, SIZE_T &SizeOut)
 
virtual void Trim (bool bTrimThreadCaches)
 
virtual void SetupTLSCachesOnCurrentThread ()
 
virtual void MarkTLSCachesAsUsedOnCurrentThread ()
 
virtual void MarkTLSCachesAsUnusedOnCurrentThread ()
 
virtual void ClearAndDisableTLSCachesOnCurrentThread ()
 
virtual CORE_API void InitializeStatsMetadata ()
 
virtual CORE_API void UpdateStats ()
 
virtual CORE_API void GetAllocatorStats (FGenericMemoryStats &out_Stats)
 
virtual void DumpAllocatorStats (class FOutputDevice &Ar)
 
virtual bool IsInternallyThreadSafe () const
 
virtual bool ValidateHeap ()
 
virtual const TCHARGetDescriptiveName ()
 
virtual void OnPreFork ()
 
virtual void OnPostFork ()
 
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)
 

Protected Member Functions

void GetAllocatorStatsInternal (FGenericMemoryStats &OutStats, int64 TotalAllocatedSmallPoolMemory)
 
void UnrecognizedPointerFatalError (void *Ptr)
 
void LogLargeAllocation (SIZE_T Size) const
 
- 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)
 

Static Protected Member Functions

static void OutOfMemory (uint64 Size, uint32 Alignment=0)
 

Protected Attributes

FPtrToPoolMapping PtrToPoolMapping
 
uint64 NumPoolsPerPage
 
UE::FPlatformRecursiveMutex ExternalAllocMutex
 
std::atomic< uint64MemoryTrimEpoch { 0 }
 

Static Protected Attributes

static uint32 OsAllocationGranularity = 0
 
static CORE_API uint32 BinnedTlsSlot = FPlatformTLS::InvalidTlsSlot
 
static std::atomic< int64TLSMemory
 
static std::atomic< int64ConsolidatedMemory
 
static std::atomic< int64AllocatedSmallPoolMemory
 
static std::atomic< int64AllocatedOSSmallPoolMemory
 
static std::atomic< int64AllocatedLargePoolMemory
 
static std::atomic< int64AllocatedLargePoolMemoryWAlignment
 
static int64 PoolInfoMemory
 
static int64 HashMemory
 

Additional Inherited Members

- Static Public Attributes inherited from FMalloc
static CORE_API TAtomic< uint64MaxSingleAlloc
 

Member Function Documentation

◆ GetAllocatorStatsInternal()

void FMallocBinnedCommonBase::GetAllocatorStatsInternal ( FGenericMemoryStats OutStats,
int64  TotalAllocatedSmallPoolMemory 
)
protected

◆ LogLargeAllocation()

void FMallocBinnedCommonBase::LogLargeAllocation ( SIZE_T  Size) const
inlineprotected

◆ OnMallocInitialized()

void FMallocBinnedCommonBase::OnMallocInitialized ( )
overridevirtual

Notifies the malloc implementation that initialization of all allocators in GMalloc is complete, so it's safe to initialize any extra features that require "regular" allocations

Reimplemented from FMalloc.

Reimplemented in FMallocBinned2.

◆ OutOfMemory()

static void FMallocBinnedCommonBase::OutOfMemory ( uint64  Size,
uint32  Alignment = 0 
)
inlinestaticprotected

◆ UnrecognizedPointerFatalError()

void FMallocBinnedCommonBase::UnrecognizedPointerFatalError ( void Ptr)
protected

Member Data Documentation

◆ AllocatedLargePoolMemory

std::atomic<int64> FMallocBinnedCommonBase::AllocatedLargePoolMemory
staticprotected

◆ AllocatedLargePoolMemoryWAlignment

std::atomic<int64> FMallocBinnedCommonBase::AllocatedLargePoolMemoryWAlignment
staticprotected

◆ AllocatedOSSmallPoolMemory

std::atomic<int64> FMallocBinnedCommonBase::AllocatedOSSmallPoolMemory
staticprotected

◆ AllocatedSmallPoolMemory

std::atomic<int64> FMallocBinnedCommonBase::AllocatedSmallPoolMemory
staticprotected

◆ BinnedTlsSlot

uint32 FMallocBinnedCommonBase::BinnedTlsSlot = FPlatformTLS::InvalidTlsSlot
staticprotected

◆ ConsolidatedMemory

std::atomic<int64> FMallocBinnedCommonBase::ConsolidatedMemory
staticprotected

◆ ExternalAllocMutex

UE::FPlatformRecursiveMutex FMallocBinnedCommonBase::ExternalAllocMutex
protected

◆ HashMemory

int64 FMallocBinnedCommonBase::HashMemory
staticprotected

◆ MemoryTrimEpoch

std::atomic<uint64> FMallocBinnedCommonBase::MemoryTrimEpoch { 0 }
protected

◆ NumPoolsPerPage

uint64 FMallocBinnedCommonBase::NumPoolsPerPage
protected

◆ OsAllocationGranularity

uint32 FMallocBinnedCommonBase::OsAllocationGranularity = 0
staticprotected

◆ PoolInfoMemory

int64 FMallocBinnedCommonBase::PoolInfoMemory
staticprotected

◆ PtrToPoolMapping

FPtrToPoolMapping FMallocBinnedCommonBase::PtrToPoolMapping
protected

◆ TLSMemory

std::atomic<int64> FMallocBinnedCommonBase::TLSMemory
staticprotected

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