82 virtual void do_free(
void* ptr);
void JKRDestroyExpHeap(JKRExpHeap *heap)
Definition JKRExpHeap.h:122
JKRExpHeap * JKRCreateExpHeap(u32 size, JKRHeap *parent, bool errorFlag)
Definition JKRExpHeap.h:118
static s32 r2
Definition c_math.cpp:168
static s32 r1
Definition c_math.cpp:166
Definition JKRExpHeap.h:17
bool isValid() const
Definition JKRExpHeap.h:30
JKRExpHeap::CMemBlock * allocBack(u32 size, u8 groupId1, u8 alignment1, u8 groupId2, u8 alignment2)
Definition JKRExpHeap.cpp:1018
u32 size
Definition JKRExpHeap.h:44
u8 mFlags
Definition JKRExpHeap.h:42
JKRExpHeap::CMemBlock * allocFore(u32 size, u8 groupId1, u8 alignment1, u8 groupId2, u8 alignment2)
Definition JKRExpHeap.cpp:1002
static CMemBlock * getHeapBlock(void *ptr)
Definition JKRExpHeap.cpp:1042
int getAlignment() const
Definition JKRExpHeap.h:32
CMemBlock * mPrev
Definition JKRExpHeap.h:45
CMemBlock * getPrevBlock() const
Definition JKRExpHeap.h:34
u8 mGroupId
Definition JKRExpHeap.h:43
u8 getGroupId() const
Definition JKRExpHeap.h:37
void * getContent() const
Definition JKRExpHeap.h:33
bool isTempMemBlock() const
Definition JKRExpHeap.h:31
CMemBlock * mNext
Definition JKRExpHeap.h:46
static CMemBlock * getBlock(void *data)
Definition JKRExpHeap.h:38
void initiate(CMemBlock *prev, CMemBlock *next, u32 size, u8 groupId, u8 alignment)
Definition JKRExpHeap.cpp:992
u32 getSize() const
Definition JKRExpHeap.h:36
int free(JKRExpHeap *heap)
Definition JKRExpHeap.cpp:1036
void newGroupId(u8 groupId)
Definition JKRExpHeap.h:29
u16 mMagic
Definition JKRExpHeap.h:41
CMemBlock * getNextBlock() const
Definition JKRExpHeap.h:35
Definition JKRExpHeap.h:11
void * field_0x70
Definition JKRExpHeap.h:102
BOOL isEmpty()
Definition JKRExpHeap.cpp:644
static JKRExpHeap * createRoot(int maxHeaps, bool errorFlag)
Definition JKRExpHeap.cpp:14
virtual s32 do_changeGroupID(u8 newGroupID)
Definition JKRExpHeap.cpp:503
void removeUsedBlock(CMemBlock *block)
Definition JKRExpHeap.cpp:710
virtual ~JKRExpHeap()
Definition JKRExpHeap.cpp:167
void appendUsedList(CMemBlock *newblock)
Definition JKRExpHeap.cpp:651
u8 mAllocMode
Definition JKRExpHeap.h:97
bool field_0x6e
Definition JKRExpHeap.h:99
CMemBlock * mHeadUsedList
Definition JKRExpHeap.h:106
static s32 getUsedSize_(JKRExpHeap *heap)
Definition JKRExpHeap.h:114
CMemBlock * mTailFreeList
Definition JKRExpHeap.h:105
virtual s32 do_getFreeSize()
Definition JKRExpHeap.cpp:582
void setAllocationMode(EAllocMode mode)
Definition JKRExpHeap.h:71
virtual bool check()
Definition JKRExpHeap.cpp:814
void recycleFreeBlock(CMemBlock *block)
Definition JKRExpHeap.cpp:727
CMemBlock * mTailUsedList
Definition JKRExpHeap.h:107
s32 getUsedSize(u8 groupId) const
Definition JKRExpHeap.cpp:618
void * allocFromHead(u32 size, int align)
Definition JKRExpHeap.cpp:236
virtual void do_destroy()
Definition JKRExpHeap.cpp:137
virtual void state_register(JKRHeap::TState *p, u32 id) const
Definition JKRExpHeap.cpp:1064
virtual bool state_compare(JKRHeap::TState const &r1, JKRHeap::TState const &r2) const
Definition JKRExpHeap.cpp:1089
virtual u32 getHeapType()
Definition JKRExpHeap.cpp:1103
u8 mCurrentGroupId
Definition JKRExpHeap.h:98
u32 field_0x74
Definition JKRExpHeap.h:103
virtual void do_freeTail()
Definition JKRExpHeap.cpp:478
virtual s32 do_getSize(void *ptr)
Definition JKRExpHeap.cpp:571
EAllocMode
Definition JKRExpHeap.h:13
@ ALLOC_MODE_1
Definition JKRExpHeap.h:14
virtual void do_fillFreeArea()
Definition JKRExpHeap.cpp:493
virtual bool dump_sort()
Definition JKRExpHeap.cpp:935
void joinTwoBlocks(CMemBlock *block)
Definition JKRExpHeap.cpp:785
virtual void do_free(void *ptr)
Definition JKRExpHeap.cpp:445
virtual void * do_alloc(u32 size, int alignment)
Definition JKRExpHeap.cpp:171
virtual void * do_getMaxFreeBlock()
Definition JKRExpHeap.cpp:594
CMemBlock * mHeadFreeList
Definition JKRExpHeap.h:104
virtual void do_freeAll()
Definition JKRExpHeap.cpp:462
static JKRExpHeap * create(u32 size, JKRHeap *parent, bool errorFlag)
Definition JKRExpHeap.cpp:59
void * allocFromTail(u32 size, int align)
Definition JKRExpHeap.cpp:370
void setFreeBlock(CMemBlock *block, CMemBlock *prev, CMemBlock *next)
Definition JKRExpHeap.cpp:673
static void * getState_(TState *state)
Definition JKRExpHeap.h:115
virtual s32 do_getTotalFreeSize()
Definition JKRExpHeap.cpp:608
virtual u8 do_getCurrentGroupId()
Definition JKRExpHeap.cpp:1107
virtual s32 do_resize(void *ptr, u32 size)
Definition JKRExpHeap.cpp:511
void removeFreeBlock(CMemBlock *block)
Definition JKRExpHeap.cpp:693
CMemBlock * getUsedFirst()
Definition JKRExpHeap.h:70
virtual bool dump()
Definition JKRExpHeap.cpp:889
JKRExpHeap(void *data, u32 size, JKRHeap *parent, bool errorFlag)
Definition JKRExpHeap.cpp:156
s32 getTotalUsedSize(void) const
Definition JKRExpHeap.cpp:632
void destroy()
Definition JKRHeap.cpp:156
static void * getState_buf_(TState *state)
Definition JKRHeap.h:175
s32 getTotalFreeSize()
Definition JKRHeap.cpp:276
u32 mSize
Definition JKRHeap.h:127
static u32 next
Definition CARDUnlock.c:29
DVDCommandBlock * prev
Definition dvdqueue.c:8
u32 mode
Definition GXTev.c:56
unsigned int size
Definition __os.h:106
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8