9    class HeapBlockFreeHead;
 
   31        virtual std::size_t 
CreateMorePages(
void* a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes);  
 
   32        virtual std::size_t 
CleanExtraPages(
void* a_memory, std::size_t a_currentSize, std::size_t a_freeBytes);       
 
Definition AbstractHeap.h:12
 
const char * GetName() const override
 
bool supportsSwapping
Definition AbstractHeap.h:56
 
const char * name
Definition AbstractHeap.h:38
 
std::size_t blockMemAllocated
Definition AbstractHeap.h:48
 
std::size_t memAllocatedHigh
Definition AbstractHeap.h:47
 
std::size_t minFreeBlockSize
Definition AbstractHeap.h:39
 
BSCriticalSection criticalSection
Definition AbstractHeap.h:37
 
std::uint32_t pad08C
Definition AbstractHeap.h:51
 
std::uint32_t pageSizeFlag
Definition AbstractHeap.h:41
 
HeapBlock * blockHead
Definition AbstractHeap.h:52
 
void * TryAllocateImpl(std::size_t a_size, std::uint32_t a_alignment) override
 
static constexpr auto RTTI
Definition AbstractHeap.h:14
 
bool PointerInHeap(const void *a_pointer) const override
 
virtual void DecommitPages(HeapBlock *a_block)
 
virtual void DoHeapFree(void *a_ptr)=0
 
HeapBlock * blockTail
Definition AbstractHeap.h:53
 
std::size_t initialSize
Definition AbstractHeap.h:43
 
std::int32_t numBlocks
Definition AbstractHeap.h:50
 
std::size_t memAllocated
Definition AbstractHeap.h:46
 
virtual std::size_t CleanExtraPages(void *a_memory, std::size_t a_currentSize, std::size_t a_freeBytes)
 
std::uint32_t pageSize
Definition AbstractHeap.h:40
 
std::int32_t numFreeBlocks
Definition AbstractHeap.h:54
 
virtual void * DoHeapAllocation(std::size_t a_size, std::size_t a_initialSize)=0
 
std::size_t memHeapSize
Definition AbstractHeap.h:42
 
bool allowDecommits
Definition AbstractHeap.h:55
 
virtual void CommitPages(HeapBlock *, std::size_t)
 
std::size_t currentSize
Definition AbstractHeap.h:44
 
std::size_t wastedMemory
Definition AbstractHeap.h:45
 
char * memHeap
Definition AbstractHeap.h:49
 
void * AllocateAlignImpl(std::size_t a_size, std::uint32_t a_alignment) override
 
HeapBlock * smallFreeLists[32]
Definition AbstractHeap.h:58
 
HeapBlockFreeHead * largeFreeTrees[32]
Definition AbstractHeap.h:59
 
virtual std::size_t CreateMorePages(void *a_memory, std::size_t a_currentSize, std::size_t a_requestedBytes)
 
std::uint16_t pad0A0
Definition AbstractHeap.h:57
 
void GetHeapStats(HeapStats *a_stats, bool a_fullBlockInfo) override
 
bool ShouldTrySmallBlockPools(std::size_t a_size, MEM_CONTEXT a_context) override
 
std::uint32_t GetPageSize() const override
 
void GetMemoryStats(MemoryStats *a_stats) override
 
Definition HeapBlockFreeHead.h:8
 
Definition IMemoryHeap.h:31
 
Definition AbsorbEffect.h:6
 
constexpr REL::VariantID RTTI_AbstractHeap(690286, 398141, 0x1f5f5c0)
 
Definition IMemoryHeap.h:10
 
Definition IMemoryStoreBase.h:6