Navigation
API > API/Runtime > API/Runtime/Core > API/Runtime/Core/HAL
Inheritance Hierarchy
- FUseSystemMallocForNew
- FExec
- FMalloc
- FMallocBinned2
References
| Module | Core |
| Header | /Engine/Source/Runtime/Core/Public/HAL/MallocBinned2.h |
| Include | #include "HAL/MallocBinned2.h" |
Syntax
class FMallocBinned2 : public FMalloc
Remarks
Optimized virtual memory allocator.
Constructors
| Type | Name | Description | |
|---|---|---|---|
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| uint32 | BoundSizeToPoolIndex
(
SIZE_T Size |
||
| void | CanaryFail
(
const FFreeBlock* Block |
||
| void | CanaryTest
(
const FFreeBlock* Block |
||
| void | |||
| void | FreeExternal
(
void* Ptr |
||
| void | FreeInline
(
void* Ptr |
||
| bool | GetAllocationSizeExternal
(
void* Ptr, |
||
| int64 | |||
| void * | MallocExternalLarge
(
SIZE_T Size, |
||
| void * | MallocExternalSmall
(
SIZE_T Size, |
||
| void * | MallocInline
(
SIZE_T Size, |
||
| void * | MallocSelect
(
SIZE_T Size, |
||
| uint32 | PoolIndexToBlockSize
(
uint32 PoolIndex |
||
| void * | ReallocExternal
(
void* Ptr, |
||
| void * | ReallocInline
(
void* Ptr, |
||
| bool | UseSmallAlloc
(
SIZE_T Size, |
Overridden from FMalloc
| Type | Name | Description | |
|---|---|---|---|
| void | Clears the TLS caches on the current thread and disables any future caching. | ||
| void | DumpAllocatorStats
(
FOutputDevice& Ar |
Dumps current allocator stats to the log. | |
| void | Free
(
void* Original |
Free | |
| bool | GetAllocationSize
(
void* Original, |
If possible determine the size of the memory allocated at the given address | |
| void | GetAllocatorStats
(
FGenericMemoryStats& out_Stats |
Writes allocator stats from the last update into the specified destination. | |
| const TCHAR * | Gets descriptive name for logging purposes. | ||
| bool | Returns if the allocator is guaranteed to be thread-safe and therefore doesn't need a unnecessary thread-safety wrapper around it. | ||
| void * | Malloc
(
SIZE_T Count, |
Malloc | |
| void | 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 | ||
| void | OnPostFork () |
Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages. | |
| void | OnPreFork () |
Notifies the malloc implementation that the process is about to fork. | |
| SIZE_T | QuantizeSize
(
SIZE_T Count, |
For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. | |
| void * | Realloc
(
void* Original, |
Realloc | |
| void | Set up TLS caches on the current thread. These are the threads that we can trim. | ||
| void | Trim
(
bool bTrimThreadCaches |
Releases as much memory as possible. Must be called from the main thread. | |
| void | UpdateStats () |
Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. | |
| bool | ValidateHeap () |
Validates the allocator's heap |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FPoolInfo | |||
| PoolHashBucket | Hash table struct for retrieving allocation book keeping information | ||
| Private |
Constants
| Name | Description |
|---|---|
| Binned2TlsSlot | |
| CurrentCanary | |
| MallocBinned2 | |
| MemSizeToIndex | Mapping of sizes to small table indices. |
| OsAllocationGranularity | |
| PageSize | |
| SmallBlockSizesReversed |