A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Kinoko::Abstract::Memory::MEMiFrmHeapHead Class Reference

Description

Definition at line 7 of file FrameHeap.hh.

Inheritance diagram for Kinoko::Abstract::Memory::MEMiFrmHeapHead:

Public Member Functions

void destroy ()
void * alloc (size_t size, s32 align)
u32 getAllocatableSize (s32 align) const
void * calcUsedEnd ()
Public Member Functions inherited from Kinoko::Abstract::Memory::MEMiHeapHead
MEMList & getChildList ()
void * getHeapStart ()
void * getHeapEnd ()

Static Public Member Functions

static MEMiFrmHeapHead * create (void *startAddress, size_t size, u16 flag)
Static Public Member Functions inherited from Kinoko::Abstract::Memory::MEMiHeapHead
static MEMList & getRootList ()
static u32 getFillVal (FillType type)
static MEMiHeapHead * findContainHeap (const void *block)
static constexpr u16 getLinkOffset ()

Private Member Functions

 MEMiFrmHeapHead (void *end, u16 opt)
void * allocFromHead (size_t size, s32 alignment)
void * allocFromTail (size_t size, s32 alignment)

Private Attributes

void * m_headAllocator
void * m_tailAllocator

Static Private Attributes

static constexpr u32 FRM_HEAP_SIGNATURE = 0x46524d48

Additional Inherited Members

Public Types inherited from Kinoko::Abstract::Memory::MEMiHeapHead
enum class  FillType {
  NoUse = 0 ,
  Alloc = 1 ,
  Free = 2
}
enum class  eOptFlag {
  ZeroFillAlloc = 0 ,
  DebugFillAlloc = 1
}
typedef EGG::TBitFlag< u16, eOptFlag > OptFlag
Protected Member Functions inherited from Kinoko::Abstract::Memory::MEMiHeapHead
 MEMiHeapHead (u32 signature, void *heapStart, void *heapEnd, const OptFlag &opt)
void fillNoUseMemory (void *address, u32 size)
void fillAllocMemory (void *address, u32 size)
void fillFreeMemory (void *address, u32 size)

Constructor & Destructor Documentation

◆ MEMiFrmHeapHead()

Kinoko::Abstract::Memory::MEMiFrmHeapHead::MEMiFrmHeapHead ( void * end,
u16 opt )
private

Definition at line 5 of file FrameHeap.cc.

◆ ~MEMiFrmHeapHead()

Kinoko::Abstract::Memory::MEMiFrmHeapHead::~MEMiFrmHeapHead ( )
privatedefault0x801994B4

Member Function Documentation

◆ alloc()

void * Kinoko::Abstract::Memory::MEMiFrmHeapHead::alloc ( size_t size,
s32 align )
0x801994E4

Definition at line 40 of file FrameHeap.cc.

◆ allocFromHead()

void * Kinoko::Abstract::Memory::MEMiFrmHeapHead::allocFromHead ( size_t size,
s32 alignment )
nodiscardprivate

Definition at line 68 of file FrameHeap.cc.

◆ allocFromTail()

void * Kinoko::Abstract::Memory::MEMiFrmHeapHead::allocFromTail ( size_t size,
s32 alignment )
nodiscardprivate

Definition at line 81 of file FrameHeap.cc.

◆ calcUsedEnd()

void * Kinoko::Abstract::Memory::MEMiFrmHeapHead::calcUsedEnd ( )

Definition at line 64 of file FrameHeap.cc.

◆ create()

MEMiFrmHeapHead * Kinoko::Abstract::Memory::MEMiFrmHeapHead::create ( void * startAddress,
size_t size,
u16 flag )
static0x80199430

Definition at line 15 of file FrameHeap.cc.

◆ destroy()

void Kinoko::Abstract::Memory::MEMiFrmHeapHead::destroy ( )

Definition at line 35 of file FrameHeap.cc.

◆ getAllocatableSize()

u32 Kinoko::Abstract::Memory::MEMiFrmHeapHead::getAllocatableSize ( s32 align) const
nodiscard0x801996A4

Definition at line 57 of file FrameHeap.cc.

Member Data Documentation

◆ FRM_HEAP_SIGNATURE

u32 Kinoko::Abstract::Memory::MEMiFrmHeapHead::FRM_HEAP_SIGNATURE = 0x46524d48
staticconstexprprivate

Definition at line 31 of file FrameHeap.hh.

◆ m_headAllocator

void* Kinoko::Abstract::Memory::MEMiFrmHeapHead::m_headAllocator
private

Definition at line 28 of file FrameHeap.hh.

◆ m_tailAllocator

void* Kinoko::Abstract::Memory::MEMiFrmHeapHead::m_tailAllocator
private

Definition at line 29 of file FrameHeap.hh.