GeneralAllocator struct
Public types
- struct allocator_mutex
- struct Chunk
- struct SkipListChunk
- using MallocFailureFunction_t = bool(*)(GeneralAllocator*, unsigned int, unsigned int, int)
Public static variables
- static const int NUM_FAST_BINS
- static const int NUM_BINS
- static const int MIN_SIZE
- static const int BIN_MAP_SIZE
- static const int INUSE_FLAG
Public static functions
- static auto Get() -> GeneralAllocator*
Constructors, destructors, conversion operators
-
ASSERT_SIZE(allocator_
mutex, 0x1C)
Public functions
- auto GetFastBinIndexFromChunkSize(unsigned int chunkSize) -> int
- auto GetSmallBinIndexFromChunkSize(unsigned int chunkSize) -> int
- auto GetLargeBinIndexFromChunkSize(unsigned int chunkSize) -> int
- auto GetFastBinChunksExist() -> bool
- auto GetBin(int index) -> SkipListChunk*
- auto GetUnsortedBin() -> SkipListChunk*
- auto GetNextBin(SkipListChunk* bin) -> SkipListChunk*
- auto GetFirstChunkInBin(SkipListChunk* bin) -> Chunk*
- auto GetLastChunkInBin(SkipListChunk* bin) -> Chunk*
- auto ChunkMatchesLowHigh(bool, Chunk* chunk, int offset) -> bool
- auto GetDataPtrFromChunkPtr(Chunk* chunk) -> void*
- auto GetChunkSize(Chunk* chunk) -> unsigned int
- auto SetChunkSize(Chunk* chunk, unsigned int size) -> void
- auto SetNextChunkPrevSize(Chunk* chunk, unsigned int size) -> void
- auto GetChunkAtOffset(Chunk* chunk, unsigned int offset) -> Chunk*
- auto GetPrevChunkIsInUse(Chunk* chunk) -> bool
- auto GetChunkIsLargeBin(Chunk* chunk) -> bool
- auto SizeIsWithinSmallBinRange(int size) -> bool
- auto SetChunkInUseOffset(Chunk* chunk, unsigned int offset) -> void
- auto LinkChunk(Chunk* chunk, Chunk* bck, Chunk* fwd) -> void
- auto UnlinkChunk(Chunk* chunk) -> void
- auto SplitChunkTail(Chunk* victim, unsigned int requestedSize, bool isSmallBin) -> void
- auto AdjustTopChunk(Chunk* chunk, unsigned int size) -> void
- auto AdjustHighFence() -> void
- auto GetBinBitmapWordFromBinIndex(unsigned int index) -> unsigned int
- auto GetBinBitmapBitFromBinIndex(unsigned int index) -> unsigned int
Public variables
- int field_0
- unsigned int max_fastbin_size
- Chunk* fastbins
- Chunk* field_28
- Chunk* field_2C
- Chunk* bins
- unsigned int binmap
- Chunk* top
- Chunk* last_remainder
- int field_448
- int field_44C
- int field_450
- int field_454
- int field_458
- int field_45C
- int field_460
- int field_464
- Chunk* field_468
- bool field_46C
- bool field_46D
- int field_470
- char padding_474
- int field_488
- int field_48C
- int field_490
- unsigned int field_494
- int field_498
- int field_49C
- int field_4A0
- int field_4A4
- int field_4A8
-
MallocFailureFunction_
t malloc_failure_function - int field_4B0
- int field_4B4
- char field_4B8
-
allocator_
mutex* field_4E4