Navigation
API > API/Runtime > API/Runtime/Core
Malloc binned allocator specific stats. Optimized virtual memory allocator.
| Name | FMallocBinned |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/HAL/MallocBinned.h |
| Include Path | #include "HAL/MallocBinned.h" |
Syntax
class FMallocBinned : public FMalloc
Inheritance Hierarchy
- FExec → FMalloc → FMallocBinned
- FUseSystemMallocForNew → FMalloc → FMallocBinned
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMallocBinned
(
uint32 InPageSize, |
InPageSize - First parameter is page size, all allocs from BinnedAllocFromOS() MUST be aligned to this size AddressLimit - Second parameter is estimate of the range of addresses expected to be returns by BinnedAllocFromOS(). | HAL/MallocBinned.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FMallocBinned() |
HAL/MallocBinned.h |
Structs
| Name | Remarks |
|---|---|
| FFreeMem | Information about a piece of free memory. 16 bytes |
| FPoolInfo | |
| FPoolTable | Pool table. |
| PoolHashBucket | Hash table struct for retrieving allocation book keeping information |
| Private |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AccessGuard | UE::FPlatformRecursiveMutex | HAL/MallocBinned.h | ||
| BinnedOSTableIndex | uint64 | HAL/MallocBinned.h | ||
| BinnedSizeLimit | uint64 | HAL/MallocBinned.h | ||
| HashBucketFreeList | PoolHashBucket * | HAL/MallocBinned.h | ||
| HashBuckets | PoolHashBucket * | HAL/MallocBinned.h | ||
| HashKeyShift | uint64 | Shift required to get required hash table key. | HAL/MallocBinned.h | |
| IndirectPoolBitShift | uint64 | HAL/MallocBinned.h | ||
| IndirectPoolBlockSize | uint64 | HAL/MallocBinned.h | ||
| MaxBookKeepingOverhead | uint64 | HAL/MallocBinned.h | ||
| MaxHashBucketBits | uint64 | HAL/MallocBinned.h | ||
| MaxHashBuckets | uint64 | PageSize dependent constants. | HAL/MallocBinned.h | |
| MaxHashBucketWaste | uint64 | HAL/MallocBinned.h | ||
| MemSizeToPoolTable | FPoolTable * | HAL/MallocBinned.h | ||
| OsTable | FPoolTable | HAL/MallocBinned.h | ||
| PagePoolTable | FPoolTable | HAL/MallocBinned.h | ||
| PageSize | uint32 | HAL/MallocBinned.h | ||
| PoolBitShift | uint64 | Shift to get the reference from the indirect tables | HAL/MallocBinned.h | |
| PoolMask | uint64 | Used to mask off the bits that have been used to lookup the indirect table | HAL/MallocBinned.h | |
| PoolTable | FPoolTable | Variables. | HAL/MallocBinned.h | |
| TableAddressLimit | uint64 | HAL/MallocBinned.h |
Functions
Public
Overridden from FMalloc
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void DumpAllocatorStats
(
FOutputDevice& Ar |
Dumps allocator stats to an output device. Subclasses should override to add additional info | HAL/MallocBinned.h | |
virtual void Free
(
void* Ptr |
Free | HAL/MallocBinned.h | |
virtual bool GetAllocationSize
(
void* Original, |
If possible determine the size of the memory allocated at the given address | HAL/MallocBinned.h | |
virtual void GetAllocatorStats
(
FGenericMemoryStats& out_Stats |
Writes allocator stats from the last update into the specified destination. | HAL/MallocBinned.h | |
virtual const TCHAR * GetDescriptiveName() |
Gets descriptive name for logging purposes. | HAL/MallocBinned.h | |
virtual void InitializeStatsMetadata () |
Initializes stats metadata. | HAL/MallocBinned.h | |
virtual bool IsInternallyThreadSafe() |
Returns if the allocator is guaranteed to be thread-safe and therefore doesn't need a unnecessary thread-safety wrapper around it. | HAL/MallocBinned.h | |
virtual void * Malloc
(
SIZE_T Size, |
Malloc | HAL/MallocBinned.h | |
virtual SIZE_T QuantizeSize
(
SIZE_T Count, |
For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. | HAL/MallocBinned.h | |
virtual void * Realloc
(
void* Ptr, |
Realloc | HAL/MallocBinned.h | |
virtual void UpdateStats () |
Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. | HAL/MallocBinned.h | |
virtual bool ValidateHeap() |
Validates the allocator's heap | HAL/MallocBinned.h |