#include <MallocBinned.h>
|
| FMallocBinned (uint32 InPageSize, uint64 AddressLimit) |
|
virtual void | InitializeStatsMetadata () override |
|
virtual | ~FMallocBinned () |
|
virtual bool | IsInternallyThreadSafe () const override |
|
virtual void * | Malloc (SIZE_T Size, uint32 Alignment) override |
|
virtual void * | Realloc (void *Ptr, SIZE_T NewSize, uint32 Alignment) override |
|
virtual void | Free (void *Ptr) override |
|
virtual bool | GetAllocationSize (void *Original, SIZE_T &SizeOut) override |
|
virtual SIZE_T | QuantizeSize (SIZE_T Count, uint32 Alignment) override |
|
virtual bool | ValidateHeap () override |
|
virtual void | UpdateStats () override |
|
virtual void | GetAllocatorStats (FGenericMemoryStats &out_Stats) override |
|
virtual void | DumpAllocatorStats (class FOutputDevice &Ar) override |
|
virtual const TCHAR * | GetDescriptiveName () override |
|
virtual void * | TryMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) |
|
virtual void * | TryRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) |
|
virtual void | Trim (bool bTrimThreadCaches) |
|
virtual void | SetupTLSCachesOnCurrentThread () |
|
virtual void | ClearAndDisableTLSCachesOnCurrentThread () |
|
virtual void | OnMallocInitialized () |
|
virtual void | OnPreFork () |
|
virtual void | OnPostFork () |
|
void * | operator new (size_t Size) |
|
void | operator delete (void *Ptr) |
|
void * | operator new[] (size_t Size) |
|
void | operator delete[] (void *Ptr) |
|
virtual | ~FExec () |
|
virtual bool | Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar) |
|
Definition at line 118 of file MallocBinned.h.
◆ anonymous enum
◆ anonymous enum
Maximum allocation for the pooled allocator
Enumerator |
---|
EXTENDED_PAGE_POOL_ALLOCATION_COUNT | |
Definition at line 128 of file MallocBinned.h.
◆ anonymous enum
◆ FMallocBinned()
FMallocBinned::FMallocBinned |
( |
uint32 | InPageSize, |
|
|
uint64 | AddressLimit ) |
◆ ~FMallocBinned()
virtual FMallocBinned::~FMallocBinned |
( |
| ) |
|
|
virtual |
◆ DumpAllocatorStats()
Dumps allocator stats to an output device. Subclasses should override to add additional info
- Parameters
-
Reimplemented from FMalloc.
◆ Free()
◆ GetAllocationSize()
If possible determine the size of the memory allocated at the given address
- Parameters
-
Original | - Pointer to memory we are checking the size of |
SizeOut | - If possible, this value is set to the size of the passed in pointer |
- Returns
- true if succeeded
Reimplemented from FMalloc.
◆ GetAllocatorStats()
Writes allocator stats from the last update into the specified destination.
Reimplemented from FMalloc.
◆ GetDescriptiveName()
Gets descriptive name for logging purposes.
- Returns
- pointer to human-readable malloc name
Reimplemented from FMalloc.
◆ InitializeStatsMetadata()
virtual void FMallocBinned::InitializeStatsMetadata |
( |
| ) |
|
|
overridevirtual |
Initializes stats metadata. We need to do this as soon as possible, but cannot be done in the constructor due to the FName::StaticInit
Reimplemented from FMalloc.
◆ IsInternallyThreadSafe()
virtual bool FMallocBinned::IsInternallyThreadSafe |
( |
| ) |
const |
|
overridevirtual |
Returns if the allocator is guaranteed to be thread-safe and therefore doesn't need a unnecessary thread-safety wrapper around it.
Reimplemented from FMalloc.
◆ Malloc()
◆ QuantizeSize()
For some allocators this will return the actual size that should be requested to eliminate internal fragmentation. The return value will always be >= Count. This can be used to grow and shrink containers to optimal sizes. This call is always fast and threadsafe with no locking.
Reimplemented from FMalloc.
◆ Realloc()
◆ UpdateStats()
Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.
Reimplemented from FMalloc.
◆ ValidateHeap()
Validates the allocator's heap
Reimplemented from FMalloc.
◆ AccessGuard
◆ BinnedOSTableIndex
uint64 FMallocBinned::BinnedOSTableIndex |
|
private |
◆ BinnedSizeLimit
uint64 FMallocBinned::BinnedSizeLimit |
|
private |
◆ HashBucketFreeList
◆ HashBuckets
◆ HashKeyShift
uint64 FMallocBinned::HashKeyShift |
|
private |
Shift required to get required hash table key.
Definition at line 231 of file MallocBinned.h.
◆ IndirectPoolBitShift
uint64 FMallocBinned::IndirectPoolBitShift |
|
private |
◆ IndirectPoolBlockSize
uint64 FMallocBinned::IndirectPoolBlockSize |
|
private |
◆ MaxBookKeepingOverhead
uint64 FMallocBinned::MaxBookKeepingOverhead |
|
private |
◆ MaxHashBucketBits
uint64 FMallocBinned::MaxHashBucketBits |
|
private |
◆ MaxHashBuckets
uint64 FMallocBinned::MaxHashBuckets |
|
private |
◆ MaxHashBucketWaste
uint64 FMallocBinned::MaxHashBucketWaste |
|
private |
◆ MemSizeToPoolTable
◆ OsTable
◆ PagePoolTable
◆ PageSize
uint32 FMallocBinned::PageSize |
|
private |
◆ PoolBitShift
uint64 FMallocBinned::PoolBitShift |
|
private |
Shift to get the reference from the indirect tables
Definition at line 227 of file MallocBinned.h.
◆ PoolMask
uint64 FMallocBinned::PoolMask |
|
private |
Used to mask off the bits that have been used to lookup the indirect table
Definition at line 233 of file MallocBinned.h.
◆ PoolTable
◆ TableAddressLimit
uint64 FMallocBinned::TableAddressLimit |
|
private |
The documentation for this class was generated from the following file:
- C:/Users/lachl/Downloads/ArkServerAPI_NEW/ASA/AsaApi/AsaApi/Core/Public/API/UE/HAL/MallocBinned.h