Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JKRSolidHeap Class Reference

#include <JKRSolidHeap.h>

+ Inheritance diagram for JKRSolidHeap:
+ Collaboration diagram for JKRSolidHeap:

Classes

struct  Unknown
 

Public Member Functions

virtual u32 getHeapType (void)
 
virtual bool check (void)
 
virtual bool dump (void)
 
virtual void do_destroy (void)
 
virtual voiddo_alloc (u32, int)
 
virtual void do_free (void *)
 
virtual void do_freeAll (void)
 
virtual void do_freeTail (void)
 
virtual void do_fillFreeArea (void)
 
virtual s32 do_resize (void *, u32)
 
virtual s32 do_getSize (void *)
 
virtual s32 do_getFreeSize (void)
 
virtual voiddo_getMaxFreeBlock (void)
 
virtual s32 do_getTotalFreeSize (void)
 
virtual void state_register (JKRHeap::TState *, u32) const
 
virtual bool state_compare (JKRHeap::TState const &, JKRHeap::TState const &) const
 
s32 adjustSize (void)
 
- Public Member Functions inherited from JKRHeap
 JKRHeap (void *data, u32 size, JKRHeap *parent, bool errorFlag)
 
virtual ~JKRHeap ()
 
JKRHeapbecomeSystemHeap ()
 
JKRHeapbecomeCurrentHeap ()
 
void destroy ()
 
voidalloc (u32 size, int alignment)
 
void free (void *ptr)
 
void freeAll ()
 
void freeTail ()
 
s32 resize (void *ptr, u32 size)
 
s32 getSize (void *ptr)
 
s32 getFreeSize ()
 
voidgetMaxFreeBlock ()
 
s32 getTotalFreeSize ()
 
s32 changeGroupID (u8 newGroupId)
 
u32 getMaxAllocatableSize (int alignment)
 
JKRHeapfind (void *ptr) const
 
JKRHeapfindAllHeap (void *ptr) const
 
void dispose_subroutine (u32 start, u32 end)
 
bool dispose (void *ptr, u32 size)
 
void dispose (void *begin, void *end)
 
void dispose ()
 
bool setErrorFlag (bool errorFlag)
 
bool isSubHeap (JKRHeap *heap) const
 
virtual void callAllDisposer ()
 
virtual bool dump_sort ()
 
virtual s32 do_changeGroupID (u8 newGroupID)
 
virtual u8 do_getCurrentGroupId ()
 
virtual void state_dump (JKRHeap::TState const &p) const
 
void setDebugFill (bool debugFill)
 
bool getDebugFill () const
 
voidgetStartAddr () const
 
voidgetEndAddr () const
 
u32 getSize () const
 
bool getErrorFlag () const
 
void callErrorHandler (JKRHeap *heap, u32 size, int alignment)
 
JKRHeapgetParent () const
 
JSUTree< JKRHeap > & getHeapTree ()
 
void appendDisposer (JKRDisposer *disposer)
 
void removeDisposer (JKRDisposer *disposer)
 
void lock ()
 
void unlock ()
 
u32 getHeapSize ()
 
- Public Member Functions inherited from JKRDisposer
 JKRDisposer ()
 
virtual ~JKRDisposer ()
 

Static Public Member Functions

static JKRSolidHeapcreate (u32, JKRHeap *, bool)
 
- Static Public Member Functions inherited from JKRHeap
static bool initArena (char **memory, u32 *size, int maxHeaps)
 
static voidalloc (u32 size, int alignment, JKRHeap *heap)
 
static void free (void *ptr, JKRHeap *heap)
 
static s32 resize (void *ptr, u32 size, JKRHeap *heap)
 
static s32 getSize (void *ptr, JKRHeap *heap)
 
static JKRHeapfindFromRoot (void *ptr)
 
static void copyMemory (void *dst, void *src, u32 size)
 
static void fillMemory (void *dst, u32 size, u8 value)
 
static bool checkMemoryFilled (void *src, u32 size, u8 value)
 
static JKRErrorHandler setErrorHandler (JKRErrorHandler errorHandler)
 
static void setDefaultDebugFill (bool status)
 
static voidgetCodeStart (void)
 
static voidgetCodeEnd (void)
 
static voidgetUserRamStart (void)
 
static voidgetUserRamEnd (void)
 
static u32 getMemorySize (void)
 
static JKRHeapgetRootHeap ()
 
static JKRHeapgetRootHeap2 ()
 
static JKRHeapgetSystemHeap ()
 
static JKRHeapgetCurrentHeap ()
 
static void setSystemHeap (JKRHeap *heap)
 
static void setCurrentHeap (JKRHeap *heap)
 
static void setState_u32ID_ (TState *state, u32 id)
 
static void setState_uUsedSize_ (TState *state, u32 usedSize)
 
static void setState_u32CheckCode_ (TState *state, u32 checkCode)
 
static voidgetState_buf_ (TState *state)
 
static voidgetState_ (TState *state)
 

Protected Member Functions

 JKRSolidHeap (void *, u32, JKRHeap *, bool)
 
virtual ~JKRSolidHeap ()
 
voidallocFromHead (u32, int)
 
voidallocFromTail (u32, int)
 

Static Protected Member Functions

static s32 getUsedSize (JKRSolidHeap *heap)
 

Private Attributes

u32 mFreeSize
 
u8mSolidHead
 
u8mSolidTail
 
Unknownfield_0x78
 

Additional Inherited Members

- Public Attributes inherited from JKRDisposer
JKRHeapmHeap
 
JSULink< JKRDisposermLink
 
- Static Public Attributes inherited from JKRHeap
static voidmCodeStart
 
static voidmCodeEnd
 
static voidmUserRamStart
 
static voidmUserRamEnd
 
static u32 mMemorySize
 
static JKRHeapsRootHeap
 
static JKRHeapsRootHeap2
 
static JKRHeapsSystemHeap
 
static JKRHeapsCurrentHeap
 
static JKRErrorHandler mErrorHandler
 
- Protected Attributes inherited from JKRHeap
OSMutex mMutex
 
u8mStart
 
u8mEnd
 
u32 mSize
 
bool mDebugFill
 
bool mCheckMemoryFilled
 
u8 mAllocationMode
 
u8 mGroupId
 
JSUTree< JKRHeapmChildTree
 
JSUList< JKRDisposermDisposerList
 
bool mErrorFlag
 
bool mInitFlag
 
u8 padding_0x6a [2]
 

Constructor & Destructor Documentation

◆ JKRSolidHeap()

JKRSolidHeap::JKRSolidHeap ( void start,
u32  size,
JKRHeap parent,
bool  useErrorHandler 
)
protected

◆ ~JKRSolidHeap()

JKRSolidHeap::~JKRSolidHeap ( void  )
protectedvirtual

Member Function Documentation

◆ adjustSize()

s32 JKRSolidHeap::adjustSize ( void  )

◆ allocFromHead()

void * JKRSolidHeap::allocFromHead ( u32  size,
int  alignment 
)
protected

◆ allocFromTail()

void * JKRSolidHeap::allocFromTail ( u32  size,
int  alignment 
)
protected

◆ check()

bool JKRSolidHeap::check ( void  )
virtual

Implements JKRHeap.

◆ create()

JKRSolidHeap * JKRSolidHeap::create ( u32  size,
JKRHeap heap,
bool  useErrorHandler 
)
static

◆ do_alloc()

void * JKRSolidHeap::do_alloc ( u32  size,
int  alignment 
)
virtual

Implements JKRHeap.

◆ do_destroy()

void JKRSolidHeap::do_destroy ( void  )
virtual

Implements JKRHeap.

◆ do_fillFreeArea()

void JKRSolidHeap::do_fillFreeArea ( void  )
virtual

Implements JKRHeap.

◆ do_free()

void JKRSolidHeap::do_free ( void ptr)
virtual

Implements JKRHeap.

◆ do_freeAll()

void JKRSolidHeap::do_freeAll ( void  )
virtual

Implements JKRHeap.

◆ do_freeTail()

void JKRSolidHeap::do_freeTail ( void  )
virtual

Implements JKRHeap.

◆ do_getFreeSize()

s32 JKRSolidHeap::do_getFreeSize ( void  )
virtual

Implements JKRHeap.

◆ do_getMaxFreeBlock()

void * JKRSolidHeap::do_getMaxFreeBlock ( void  )
virtual

Implements JKRHeap.

◆ do_getSize()

s32 JKRSolidHeap::do_getSize ( void ptr)
virtual

Implements JKRHeap.

◆ do_getTotalFreeSize()

s32 JKRSolidHeap::do_getTotalFreeSize ( void  )
virtual

Implements JKRHeap.

◆ do_resize()

s32 JKRSolidHeap::do_resize ( void ptr,
u32  newSize 
)
virtual

Implements JKRHeap.

◆ dump()

bool JKRSolidHeap::dump ( void  )
virtual

Implements JKRHeap.

◆ getHeapType()

u32 JKRSolidHeap::getHeapType ( void  )
virtual

Implements JKRHeap.

◆ getUsedSize()

static s32 JKRSolidHeap::getUsedSize ( JKRSolidHeap heap)
inlinestaticprotected

◆ state_compare()

bool JKRSolidHeap::state_compare ( JKRHeap::TState const r1,
JKRHeap::TState const r2 
) const
virtual

Reimplemented from JKRHeap.

◆ state_register()

void JKRSolidHeap::state_register ( JKRHeap::TState p,
u32  id 
) const
virtual

Reimplemented from JKRHeap.

Member Data Documentation

◆ field_0x78

Unknown* JKRSolidHeap::field_0x78
private

◆ mFreeSize

u32 JKRSolidHeap::mFreeSize
private

◆ mSolidHead

u8* JKRSolidHeap::mSolidHead
private

◆ mSolidTail

u8* JKRSolidHeap::mSolidTail
private

The documentation for this class was generated from the following files: