|
| static CA_NO_RETURN void | OutOfMemory (uint64 Size, uint32 Alignment=0) |
| |
| static FORCEINLINE void | TrackStats (FPoolTable *Table, uint32 Size) |
| |
| static FPoolInfo * | CreateIndirect (FMallocBinned &Allocator) |
| |
| static FORCEINLINE PoolHashBucket * | CreateHashBuckets (const FMallocBinned &Allocator) |
| |
| static FORCEINLINE FPoolInfo * | GetPoolInfo (FMallocBinned &Allocator, UPTRINT Ptr) |
| |
| static FORCEINLINE FPoolInfo * | FindPoolInfo (FMallocBinned &Allocator, UPTRINT Ptr1, UPTRINT &AllocationBase) |
| |
| static FORCEINLINE FPoolInfo * | FindPoolInfoInternal (FMallocBinned &Allocator, UPTRINT Ptr, uint16 &JumpOffset) |
| |
| static FORCEINLINE PoolHashBucket * | CreateHashBucket (FMallocBinned &Allocator) |
| |
| static FORCEINLINE void | InitializeHashBucket (FMallocBinned &Allocator, PoolHashBucket *Bucket) |
| |
| static PoolHashBucket * | AllocateHashBucket (FMallocBinned &Allocator) |
| |
| static FPoolInfo * | AllocatePoolMemory (FMallocBinned &Allocator, FPoolTable *Table, uint32 PoolSize, uint16 TableIndex) |
| |
| static FORCEINLINE FFreeMem * | AllocateBlockFromPool (FMallocBinned &Allocator, FPoolTable *Table, FPoolInfo *Pool, uint32 Alignment) |
| |
| static void | FreeInternal (FMallocBinned &Allocator, void *Ptr) |
| |
| static void | PushFreeLockless (FMallocBinned &Allocator, void *Ptr) |
| |
| static void | FlushPendingFrees (FMallocBinned &Allocator) |
| |
| static FORCEINLINE void | OSFree (FMallocBinned &Allocator, void *Ptr, SIZE_T Size) |
| |
| static FORCEINLINE void | SmallOSFree (FMallocBinned &Allocator, void *Ptr, SIZE_T Size) |
| |
| static FORCEINLINE void * | OSAlloc (FMallocBinned &Allocator, SIZE_T NewSize, SIZE_T &OutActualSize) |
| |
| static FORCEINLINE void * | SmallOSAlloc (FMallocBinned &Allocator, SIZE_T NewSize, SIZE_T &OutActualSize) |
| |
| static void | UpdateSlackStat (FMallocBinned &Allocator) |
| |
◆ anonymous enum
Default alignment for binned allocator
| Enumerator |
|---|
| DEFAULT_BINNED_ALLOCATOR_ALIGNMENT | |
◆ anonymous enum
| Enumerator |
|---|
| PAGE_SIZE_LIMIT | |
◆ anonymous enum
| Enumerator |
|---|
| BINNED_ALLOC_POOL_SIZE | |
◆ anonymous enum
| Enumerator |
|---|
| SMALL_BLOCK_POOL_SIZE | |
◆ AllocateBlockFromPool()
◆ AllocateHashBucket()
Allocates a hash bucket from the free list of hash buckets
◆ AllocatePoolMemory()
◆ CreateHashBucket()
◆ CreateHashBuckets()
Initializes tables for HashBuckets if they haven't already been initialized.
◆ CreateIndirect()
Create a 64k page of FPoolInfo structures for tracking allocations
◆ FindPoolInfo()
◆ FindPoolInfoInternal()
◆ FlushPendingFrees()
Clear and Process the list of frees to be deallocated. It's the callers responsibility to Lock AccessGuard before calling this
◆ FreeInternal()
Releases memory back to the system. This is not protected from multi-threaded access and it's the callers responsibility to Lock AccessGuard before calling this.
◆ GetPoolInfo()
Gets the FPoolInfo for a memory address. If no valid info exists one is created. NOTE: This function requires a mutex across threads, but its is the callers responsibility to acquire the mutex before calling
◆ InitializeHashBucket()
Initializes bucket with valid parameters
- Parameters
-
| bucket | pointer to be initialized |
◆ OSAlloc()
◆ OSFree()
◆ OutOfMemory()
◆ PushFreeLockless()
◆ SmallOSAlloc()
◆ SmallOSFree()
◆ TrackStats()
◆ UpdateSlackStat()
◆ bHasInitializedStatsMetadata
| bool FMallocBinned::Private::bHasInitializedStatsMetadata = false |
|
static |
The documentation for this struct was generated from the following file: