UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MallocBinnedCommon.h File Reference
#include "CoreTypes.h"
#include <atomic>
#include "HAL/MemoryBase.h"
#include "HAL/PlatformMutex.h"
#include "HAL/PlatformTLS.h"
#include "Async/UniqueLock.h"
#include "Async/WordMutex.h"
#include "Misc/ScopeLock.h"
#include "Templates/AlignmentTemplates.h"
#include "Templates/MemoryOps.h"
#include "ProfilingDebugging/CsvProfiler.h"

Go to the source code of this file.

Classes

class  FBitTree
 
struct  FSizeTableEntry
 
class  FMallocBinnedCommonBase
 
struct  FMallocBinnedCommonBase::FBundleNode
 
struct  FMallocBinnedCommonBase::FPtrToPoolMapping
 
struct  FMallocBinnedCommonBase::FFreeBlockList
 
class  TMallocBinnedCommon< AllocType, NumSmallPools, MaxSmallPoolSize >
 
struct  TMallocBinnedCommon< AllocType, NumSmallPools, MaxSmallPoolSize >::FPerThreadFreeBlockLists
 
struct  TMallocBinnedCommon< AllocType, NumSmallPools, MaxSmallPoolSize >::Internal
 

Macros

#define UE_MBC_MAX_LISTED_SMALL_POOL_SIZE   28672
 
#define UE_MBC_NUM_LISTED_SMALL_POOLS   52
 
#define BINNEDCOMMON_USE_SEPARATE_VM_PER_POOL   0
 
#define UE_MBC_MIN_SMALL_POOL_ALIGNMENT   8
 
#define UE_MBC_MAX_SMALL_POOL_ALIGNMENT   256
 
#define UE_MBC_STANDARD_ALIGNMENT   16
 
#define UE_MBC_MIN_BIN_SIZE   8
 
#define UE_MBC_BIN_SIZE_SHIFT   3
 
#define UE_DEFAULT_GMallocBinnedBundleSize   65536
 
#define UE_DEFAULT_GMallocBinnedPerThreadCaches   1
 
#define UE_DEFAULT_GMallocBinnedBundleCount   64
 
#define UE_DEFAULT_GMallocBinnedAllocExtra   32
 
#define UE_DEFAULT_GMallocBinnedMaxBundlesBeforeRecycle   8
 
#define UE_MBC_ALLOW_RUNTIME_TWEAKING   0
 
#define GMallocBinnedPerThreadCaches   UE_DEFAULT_GMallocBinnedPerThreadCaches
 
#define GMallocBinnedBundleSize   UE_DEFAULT_GMallocBinnedBundleSize
 
#define GMallocBinnedBundleCount   UE_DEFAULT_GMallocBinnedBundleCount
 
#define GMallocBinnedAllocExtra   UE_DEFAULT_GMallocBinnedAllocExtra
 
#define GMallocBinnedMaxBundlesBeforeRecycle   UE_DEFAULT_GMallocBinnedMaxBundlesBeforeRecycle
 
#define UE_MBC_ALLOCATOR_STATS   (!UE_BUILD_SHIPPING || WITH_EDITOR)
 
#define UE_MBC_UPDATE_STATS(x)   x
 
#define UE_MBC_LOG_LARGE_ALLOCATION   0
 
#define UE_MBC_LIGHTWEIGHT_BIN_CALLSTACK_TRACKER   0
 
#define UE_MBC_MAX_SUPPORTED_PLATFORM_PAGE_SIZE   16 * 1024
 

Functions

 CSV_DECLARE_CATEGORY_EXTERN (MallocBinned)
 

Variables

CORE_API int32 GMallocBinnedEnableCSVStats
 
CORE_API float GMallocBinnedFlushThreadCacheMaxWaitTime
 
CORE_API int32 GMallocBinnedFlushRegisteredThreadCachesOnOneThread
 

Macro Definition Documentation

◆ BINNEDCOMMON_USE_SEPARATE_VM_PER_POOL

#define BINNEDCOMMON_USE_SEPARATE_VM_PER_POOL   0

◆ GMallocBinnedAllocExtra

#define GMallocBinnedAllocExtra   UE_DEFAULT_GMallocBinnedAllocExtra

◆ GMallocBinnedBundleCount

#define GMallocBinnedBundleCount   UE_DEFAULT_GMallocBinnedBundleCount

◆ GMallocBinnedBundleSize

#define GMallocBinnedBundleSize   UE_DEFAULT_GMallocBinnedBundleSize

◆ GMallocBinnedMaxBundlesBeforeRecycle

#define GMallocBinnedMaxBundlesBeforeRecycle   UE_DEFAULT_GMallocBinnedMaxBundlesBeforeRecycle

◆ GMallocBinnedPerThreadCaches

#define GMallocBinnedPerThreadCaches   UE_DEFAULT_GMallocBinnedPerThreadCaches

◆ UE_DEFAULT_GMallocBinnedAllocExtra

#define UE_DEFAULT_GMallocBinnedAllocExtra   32

◆ UE_DEFAULT_GMallocBinnedBundleCount

#define UE_DEFAULT_GMallocBinnedBundleCount   64

◆ UE_DEFAULT_GMallocBinnedBundleSize

#define UE_DEFAULT_GMallocBinnedBundleSize   65536

◆ UE_DEFAULT_GMallocBinnedMaxBundlesBeforeRecycle

#define UE_DEFAULT_GMallocBinnedMaxBundlesBeforeRecycle   8

◆ UE_DEFAULT_GMallocBinnedPerThreadCaches

#define UE_DEFAULT_GMallocBinnedPerThreadCaches   1

◆ UE_MBC_ALLOCATOR_STATS

#define UE_MBC_ALLOCATOR_STATS   (!UE_BUILD_SHIPPING || WITH_EDITOR)

◆ UE_MBC_ALLOW_RUNTIME_TWEAKING

#define UE_MBC_ALLOW_RUNTIME_TWEAKING   0

◆ UE_MBC_BIN_SIZE_SHIFT

#define UE_MBC_BIN_SIZE_SHIFT   3

◆ UE_MBC_LIGHTWEIGHT_BIN_CALLSTACK_TRACKER

#define UE_MBC_LIGHTWEIGHT_BIN_CALLSTACK_TRACKER   0

◆ UE_MBC_LOG_LARGE_ALLOCATION

#define UE_MBC_LOG_LARGE_ALLOCATION   0

◆ UE_MBC_MAX_LISTED_SMALL_POOL_SIZE

#define UE_MBC_MAX_LISTED_SMALL_POOL_SIZE   28672

◆ UE_MBC_MAX_SMALL_POOL_ALIGNMENT

#define UE_MBC_MAX_SMALL_POOL_ALIGNMENT   256

◆ UE_MBC_MAX_SUPPORTED_PLATFORM_PAGE_SIZE

#define UE_MBC_MAX_SUPPORTED_PLATFORM_PAGE_SIZE   16 * 1024

◆ UE_MBC_MIN_BIN_SIZE

#define UE_MBC_MIN_BIN_SIZE   8

◆ UE_MBC_MIN_SMALL_POOL_ALIGNMENT

#define UE_MBC_MIN_SMALL_POOL_ALIGNMENT   8

◆ UE_MBC_NUM_LISTED_SMALL_POOLS

#define UE_MBC_NUM_LISTED_SMALL_POOLS   52

◆ UE_MBC_STANDARD_ALIGNMENT

#define UE_MBC_STANDARD_ALIGNMENT   16

◆ UE_MBC_UPDATE_STATS

#define UE_MBC_UPDATE_STATS (   x)    x

Function Documentation

◆ CSV_DECLARE_CATEGORY_EXTERN()

CSV_DECLARE_CATEGORY_EXTERN ( MallocBinned  )

Variable Documentation

◆ GMallocBinnedEnableCSVStats

CORE_API int32 GMallocBinnedEnableCSVStats
extern

◆ GMallocBinnedFlushRegisteredThreadCachesOnOneThread

CORE_API int32 GMallocBinnedFlushRegisteredThreadCachesOnOneThread
extern

◆ GMallocBinnedFlushThreadCacheMaxWaitTime

CORE_API float GMallocBinnedFlushThreadCacheMaxWaitTime
extern