#include <MallocBinned2.h>
|
| FMallocBinned2 () |
|
virtual | ~FMallocBinned2 () |
|
virtual bool | IsInternallyThreadSafe () const override |
|
virtual FORCEINLINE void * | Malloc (SIZE_T Size, uint32 Alignment) override |
|
FORCEINLINE void * | MallocInline (SIZE_T Size, uint32 Alignment) |
|
FORCEINLINE void * | MallocSelect (SIZE_T Size, uint32 Alignment) |
|
virtual FORCEINLINE void * | Realloc (void *Ptr, SIZE_T NewSize, uint32 Alignment) override |
|
FORCEINLINE void * | ReallocInline (void *Ptr, SIZE_T NewSize, uint32 Alignment) |
|
virtual FORCEINLINE void | Free (void *Ptr) override |
|
FORCEINLINE void | FreeInline (void *Ptr) |
|
virtual FORCEINLINE bool | GetAllocationSize (void *Ptr, SIZE_T &SizeOut) override |
|
virtual FORCEINLINE SIZE_T | QuantizeSize (SIZE_T Count, uint32 Alignment) override |
|
virtual bool | ValidateHeap () override |
|
virtual void | Trim (bool bTrimThreadCaches) override |
|
virtual void | SetupTLSCachesOnCurrentThread () override |
|
virtual void | ClearAndDisableTLSCachesOnCurrentThread () override |
|
virtual const TCHAR * | GetDescriptiveName () override |
|
virtual void | UpdateStats () override |
|
virtual void | OnMallocInitialized () override |
|
virtual void | OnPreFork () override |
|
virtual void | OnPostFork () override |
|
void | FlushCurrentThreadCache () |
|
void * | MallocExternalSmall (SIZE_T Size, uint32 Alignment) |
|
void * | MallocExternalLarge (SIZE_T Size, uint32 Alignment) |
|
void * | ReallocExternal (void *Ptr, SIZE_T NewSize, uint32 Alignment) |
|
void | FreeExternal (void *Ptr) |
|
bool | GetAllocationSizeExternal (void *Ptr, SIZE_T &SizeOut) |
|
void | CanaryTest (const FFreeBlock *Block) const |
|
void | CanaryFail (const FFreeBlock *Block) const |
|
int64 | GetTotalAllocatedSmallPoolMemory () const |
|
virtual void | GetAllocatorStats (FGenericMemoryStats &out_Stats) override |
|
virtual void | DumpAllocatorStats (class FOutputDevice &Ar) override |
|
FORCEINLINE uint32 | BoundSizeToPoolIndex (SIZE_T Size) |
|
FORCEINLINE uint32 | PoolIndexToBlockSize (uint32 PoolIndex) |
|
virtual void * | TryMalloc (SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) |
|
virtual void * | TryRealloc (void *Original, SIZE_T Count, uint32 Alignment=DEFAULT_ALIGNMENT) |
|
virtual void | InitializeStatsMetadata () |
|
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 130 of file MallocBinned2.h.
◆ FMallocBinned2()
FMallocBinned2::FMallocBinned2 |
( |
| ) |
|
◆ ~FMallocBinned2()
virtual FMallocBinned2::~FMallocBinned2 |
( |
| ) |
|
|
virtual |
◆ BoundSizeToPoolIndex()
◆ CanaryFail()
◆ CanaryTest()
◆ ClearAndDisableTLSCachesOnCurrentThread()
virtual void FMallocBinned2::ClearAndDisableTLSCachesOnCurrentThread |
( |
| ) |
|
|
overridevirtual |
Clears the TLS caches on the current thread and disables any future caching.
Reimplemented from FMalloc.
◆ DumpAllocatorStats()
Dumps current allocator stats to the log.
Reimplemented from FMalloc.
◆ FlushCurrentThreadCache()
void FMallocBinned2::FlushCurrentThreadCache |
( |
| ) |
|
◆ Free()
◆ FreeExternal()
void FMallocBinned2::FreeExternal |
( |
void * | Ptr | ) |
|
◆ FreeInline()
◆ 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.
Definition at line 723 of file MallocBinned2.h.
◆ GetAllocationSizeExternal()
bool FMallocBinned2::GetAllocationSizeExternal |
( |
void * | Ptr, |
|
|
SIZE_T & | SizeOut ) |
◆ GetAllocatorStats()
Writes allocator stats from the last update into the specified destination.
Reimplemented from FMalloc.
◆ GetDescriptiveName()
virtual const TCHAR * FMallocBinned2::GetDescriptiveName |
( |
| ) |
|
|
overridevirtual |
Gets descriptive name for logging purposes.
- Returns
- pointer to human-readable malloc name
Reimplemented from FMalloc.
◆ GetPoolHeaderFromPointer()
◆ GetTotalAllocatedSmallPoolMemory()
int64 FMallocBinned2::GetTotalAllocatedSmallPoolMemory |
( |
| ) |
const |
◆ IsInternallyThreadSafe()
virtual bool FMallocBinned2::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.
◆ IsOSAllocation()
◆ Malloc()
◆ MallocExternalLarge()
◆ MallocExternalSmall()
◆ MallocInline()
◆ MallocSelect()
◆ OnMallocInitialized()
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.
◆ OnPostFork()
Notifies the malloc implementation that the process has forked so we can try and avoid dirtying pre-fork pages.
Reimplemented from FMalloc.
◆ OnPreFork()
Notifies the malloc implementation that the process is about to fork. May be used to trim caches etc.
Reimplemented from FMalloc.
◆ PoolIndexToBlockSize()
◆ 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.
Definition at line 741 of file MallocBinned2.h.
◆ Realloc()
◆ ReallocExternal()
◆ ReallocInline()
◆ SetupTLSCachesOnCurrentThread()
virtual void FMallocBinned2::SetupTLSCachesOnCurrentThread |
( |
| ) |
|
|
overridevirtual |
Set up TLS caches on the current thread. These are the threads that we can trim.
Reimplemented from FMalloc.
◆ Trim()
Releases as much memory as possible. Must be called from the main thread.
Reimplemented from FMalloc.
◆ UpdateStats()
Handles any commands passed in on the command line This was commented out to make initial build -wooly Called once per frame, gathers and sets all memory allocator statistics into the corresponding stats. MUST BE THREAD SAFE.
Reimplemented from FMalloc.
◆ UseSmallAlloc()
◆ ValidateHeap()
Validates the allocator's heap
Reimplemented from FMalloc.
◆ Binned2TlsSlot
uint32 FMallocBinned2::Binned2TlsSlot |
|
static |
◆ CachedOSPageAllocator
◆ CurrentCanary
◆ HashBucketFreeList
◆ HashBuckets
◆ MallocBinned2
◆ MemSizeToIndex
◆ Mutex
◆ NumPoolsPerPage
uint64 FMallocBinned2::NumPoolsPerPage |
|
private |
◆ OsAllocationGranularity
uint32 FMallocBinned2::OsAllocationGranularity |
|
static |
◆ PageSize
uint32 FMallocBinned2::PageSize |
|
static |
◆ PtrToPoolMapping
◆ SmallBlockSizesReversed
◆ SmallPoolTables
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/MallocBinned2.h