8 namespace BSSmallBlockAllocatorUtil
43 static_assert(
sizeof(
Pool) == 0x48);
69 static_assert(
sizeof(
Pool) == 0x48);
91 std::size_t
Size(
const void* a_block)
const override;
Definition BSSmallBlockAllocator.h:61
std::uint16_t pad1266
Definition BSSmallBlockAllocator.h:111
MegaBlockPage * megaBlockCurrAlloc
Definition BSSmallBlockAllocator.h:107
char * allocBase
Definition BSSmallBlockAllocator.h:103
void * TryAllocateImpl(std::size_t a_size, std::uint32_t a_alignment) override
std::size_t Size(const void *a_block) const override
std::uint32_t addressSpaceSize
Definition BSSmallBlockAllocator.h:101
void DeallocateAlignImpl(void *&a_freeBlock) override
static constexpr auto RTTI
Definition BSSmallBlockAllocator.h:63
~BSSmallBlockAllocator() override
std::uint32_t totalFreeBlockPages
Definition BSSmallBlockAllocator.h:108
std::uint32_t pad1234
Definition BSSmallBlockAllocator.h:102
bool ContainsBlockImpl(const void *a_block) const override
void GetMemoryStats(MemoryStats *a_stats) override
BSCriticalSection lock
Definition BSSmallBlockAllocator.h:100
std::uint8_t pad1265
Definition BSSmallBlockAllocator.h:110
bool allowDecommits
Definition BSSmallBlockAllocator.h:109
char * blockPageCommit
Definition BSSmallBlockAllocator.h:105
void * AllocateAlignImpl(std::size_t a_size, std::uint32_t a_alignment) override
Pool pools[64]
Definition BSSmallBlockAllocator.h:99
MegaBlockPage * megaBlockPageList
Definition BSSmallBlockAllocator.h:106
char * blockPageCommitMin
Definition BSSmallBlockAllocator.h:104
Definition IMemoryStore.h:8
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSSmallBlockAllocator(690291, 398146, 0x1f5f698)
Definition BSSmallBlockAllocator.h:72
MegaBlockPage * left
Definition BSSmallBlockAllocator.h:77
BSSmallBlockAllocatorUtil::BlockPage * freeBlockPages
Definition BSSmallBlockAllocator.h:79
bool decommitted
Definition BSSmallBlockAllocator.h:82
char mem[sizeof(BlockPageInternal[255]) *256]
Definition BSSmallBlockAllocator.h:75
std::uint16_t numFreeBlockPages
Definition BSSmallBlockAllocator.h:80
std::uint16_t pad1FFFFE
Definition BSSmallBlockAllocator.h:84
MegaBlockPage * right
Definition BSSmallBlockAllocator.h:78
std::uint8_t pad1FFFFD
Definition BSSmallBlockAllocator.h:83
std::uint16_t nextBlockPageAlloc
Definition BSSmallBlockAllocator.h:81
BlockPageInternal blockPages[255]
Definition BSSmallBlockAllocator.h:76
Definition BSSmallBlockAllocator.h:66
Definition BSSmallBlockAllocator.h:19
BlockPage * right
Definition BSSmallBlockAllocator.h:23
BlockPage * left
Definition BSSmallBlockAllocator.h:22
std::uint32_t pad1C
Definition BSSmallBlockAllocator.h:27
FreeBlock * blocks
Definition BSSmallBlockAllocator.h:24
std::uint16_t totalElem
Definition BSSmallBlockAllocator.h:25
std::uint16_t freeElem
Definition BSSmallBlockAllocator.h:26
Definition BSSmallBlockAllocator.h:11
FreeBlock * next
Definition BSSmallBlockAllocator.h:14
Definition BSSmallBlockAllocator.h:32
BSCriticalSection lock
Definition BSSmallBlockAllocator.h:41
std::uint32_t totalBytes
Definition BSSmallBlockAllocator.h:39
std::uint32_t totalFreeBlocks
Definition BSSmallBlockAllocator.h:37
std::uint32_t elementSize
Definition BSSmallBlockAllocator.h:40
BlockPage * currAlloc
Definition BSSmallBlockAllocator.h:36
BlockPage * pageList
Definition BSSmallBlockAllocator.h:35
std::uint32_t totalAllocatedBlocks
Definition BSSmallBlockAllocator.h:38
Definition BSSmallBlockAllocator.h:47
std::uint16_t freeElem
Definition BSSmallBlockAllocator.h:54
std::uint16_t totalElem
Definition BSSmallBlockAllocator.h:53
BlockPageInternal * left
Definition BSSmallBlockAllocator.h:50
BSSmallBlockAllocatorUtil::FreeBlock * blocks
Definition BSSmallBlockAllocator.h:52
BlockPageInternal * right
Definition BSSmallBlockAllocator.h:51
std::uint16_t elemSize
Definition BSSmallBlockAllocator.h:55
std::uint16_t check
Definition BSSmallBlockAllocator.h:56
Definition IMemoryStoreBase.h:6