99 (*mErrorHandler)(heap,
size, alignment);
153#if PLATFORM_WII || PLATFORM_SHIELD
178#if PLATFORM_WII || PLATFORM_SHIELD
188void*
operator new(
size_t size);
189void*
operator new(
size_t size,
int alignment);
190void*
operator new(
size_t size,
JKRHeap* heap,
int alignment);
192void*
operator new[](
size_t size);
193void*
operator new[](
size_t size,
int alignment);
194void*
operator new[](
size_t size,
JKRHeap* heap,
int alignment);
196void operator delete(
void* ptr);
197void operator delete[](
void* ptr);
199inline void*
operator new(
size_t size,
void* ptr) {
211 return systemHeap->
alloc(
size, alignment);
220 systemHeap->
free(ptr);
263#if PLATFORM_WII || PLATFORM_SHIELD
static BOOL flag
Definition DEMOAVX.c:20
void JKRFreeToHeap(JKRHeap *heap, void *ptr)
Definition JKRHeap.h:214
s32 JKRResizeMemBlock(JKRHeap *heap, void *ptr, u32 size)
Definition JKRHeap.h:247
JKRHeap * JKRGetCurrentHeap()
Definition JKRHeap.h:231
JKRHeap * JKRGetSystemHeap()
Definition JKRHeap.h:227
void(* JKRErrorHandler)(void *, u32, int)
Definition JKRHeap.h:9
u8 data_804508B1
Definition JKRHeap.cpp:16
bool data_804508B0
Definition JKRHeap.cpp:13
u32 JKRGetMemBlockSize(JKRHeap *heap, void *block)
Definition JKRHeap.h:239
JKRHeap * JKRGetRootHeap()
Definition JKRHeap.h:251
void * JKRAllocFromSysHeap(u32 size, int alignment)
Definition JKRHeap.h:209
void JKRSetDebugFillNew(u8 status)
Definition JKRHeap.h:271
void JKRSetDebugFillDelete(u8 status)
Definition JKRHeap.h:272
JKRHeap * JKRSetCurrentHeap(JKRHeap *heap)
Definition JKRHeap.h:235
void * JKRAlloc(u32 size, int alignment)
Definition JKRHeap.h:243
u8 data_804508B2
Definition JKRHeap.cpp:17
u8 data_804508B3
Definition JKRHeap.cpp:18
JKRErrorHandler JKRSetErrorHandler(JKRErrorHandler errorHandler)
Definition JKRHeap.h:255
void JKRFreeToSysHeap(void *ptr)
Definition JKRHeap.h:218
void * JKRAllocFromHeap(JKRHeap *heap, u32 size, int alignment)
Definition JKRHeap.h:205
bool JKRSetErrorFlag(JKRHeap *heap, bool flag)
Definition JKRHeap.h:259
void JKRFree(void *ptr)
Definition JKRHeap.h:223
void JKRDefaultMemoryErrorRoutine(void *heap, u32 size, int alignment)
Definition JKRHeap.cpp:357
JKRHeap * JKRGetRootHeap2()
Definition JKRHeap.h:264
void JKRSetDebugFillNotuse(u8 status)
Definition JKRHeap.h:270
static s32 r2
Definition c_math.cpp:168
static s32 r1
Definition c_math.cpp:166
Definition JKRDisposer.h:12
JSULink< JKRDisposer > mLink
Definition JKRDisposer.h:20
JKRHeap * getHeap() const
Definition JKRHeap.h:34
u32 getId() const
Definition JKRHeap.h:35
u32 getUsedSize() const
Definition JKRHeap.h:32
JKRHeap * mHeap
Definition JKRHeap.h:28
u32 mUsedSize
Definition JKRHeap.h:24
u32 getCheckCode() const
Definition JKRHeap.h:33
u32 mId
Definition JKRHeap.h:29
u32 mBuf
Definition JKRHeap.h:26
u32 field_0xc
Definition JKRHeap.h:27
u32 mCheckCode
Definition JKRHeap.h:25
virtual void state_dump(JKRHeap::TState const &p) const
Definition JKRHeap.cpp:444
void lock()
Definition JKRHeap.h:111
OSMutex mMutex
Definition JKRHeap.h:118
virtual bool dump_sort()
Definition m_Do_main.cpp:941
static JKRHeap * getCurrentHeap()
Definition JKRHeap.h:158
virtual void state_register(JKRHeap::TState *p, u32 id) const
Definition JKRHeap.cpp:434
static void * getUserRamEnd(void)
Definition JKRHeap.h:149
void destroy()
Definition JKRHeap.cpp:132
bool mErrorFlag
Definition JKRHeap.h:128
static void * mCodeEnd
Definition JKRHeap.h:171
JKRHeap * findAllHeap(void *ptr) const
Definition JKRHeap.cpp:281
virtual void * do_getMaxFreeBlock()=0
virtual s32 do_getTotalFreeSize()=0
static JKRHeap * sCurrentHeap
Definition JKRHeap.h:183
void dispose()
Definition JKRHeap.cpp:337
virtual s32 do_resize(void *ptr, u32 size)=0
bool isSubHeap(JKRHeap *heap) const
Definition JKRHeap.cpp:380
static void * getCodeStart(void)
Definition JKRHeap.h:146
JKRHeap(void *data, u32 size, JKRHeap *parent, bool errorFlag)
Definition JKRHeap.cpp:35
static void * getState_buf_(TState *state)
Definition JKRHeap.h:167
static void setState_uUsedSize_(TState *state, u32 usedSize)
Definition JKRHeap.h:163
static JKRHeap * getSystemHeap()
Definition JKRHeap.h:157
void * alloc(u32 size, int alignment)
Definition JKRHeap.cpp:148
static JKRErrorHandler mErrorHandler
Definition JKRHeap.h:185
u8 mAllocationMode
Definition JKRHeap.h:124
static void setState_u32CheckCode_(TState *state, u32 checkCode)
Definition JKRHeap.h:164
JKRHeap * becomeCurrentHeap()
Definition JKRHeap.cpp:126
virtual void callAllDisposer()
Definition JKRHeap.cpp:172
u8 mGroupId
Definition JKRHeap.h:125
bool mDebugFill
Definition JKRHeap.h:122
virtual s32 do_getFreeSize()=0
static void setDefaultDebugFill(bool status)
Definition JKRHeap.h:145
virtual s32 do_changeGroupID(u8 newGroupID)
Definition JKRHeap.cpp:450
bool getDebugFill() const
Definition JKRHeap.h:92
s32 resize(void *ptr, u32 size)
Definition JKRHeap.cpp:204
static void * getState_(TState *state)
Definition JKRHeap.h:168
virtual void * do_alloc(u32 size, int alignment)=0
void * getMaxFreeBlock()
Definition JKRHeap.cpp:229
static void * getUserRamStart(void)
Definition JKRHeap.h:148
static void setSystemHeap(JKRHeap *heap)
Definition JKRHeap.h:159
s32 getTotalFreeSize()
Definition JKRHeap.cpp:233
void unlock()
Definition JKRHeap.h:112
JKRHeap * find(void *ptr) const
Definition JKRHeap.cpp:262
static JKRHeap * getRootHeap2()
Definition JKRHeap.h:154
virtual void do_fillFreeArea()=0
virtual u32 getHeapType()=0
void removeDisposer(JKRDisposer *disposer)
Definition JKRHeap.h:110
bool mInitFlag
Definition JKRHeap.h:129
virtual u8 do_getCurrentGroupId()
Definition JKRHeap.cpp:454
void freeTail()
Definition JKRHeap.cpp:187
virtual void do_freeAll()=0
static u32 mMemorySize
Definition JKRHeap.h:174
virtual void do_free(void *ptr)=0
u32 getHeapSize()
Definition JKRHeap.h:113
static u32 getMemorySize(void)
Definition JKRHeap.h:150
static void * mUserRamStart
Definition JKRHeap.h:172
JSUList< JKRDisposer > mDisposerList
Definition JKRHeap.h:127
virtual ~JKRHeap()
Definition JKRHeap.cpp:67
static void * getCodeEnd(void)
Definition JKRHeap.h:147
void callErrorHandler(JKRHeap *heap, u32 size, int alignment)
Definition JKRHeap.h:97
static bool initArena(char **memory, u32 *size, int maxHeaps)
Definition JKRHeap.cpp:90
static bool checkMemoryFilled(void *src, u32 size, u8 value)
void appendDisposer(JKRDisposer *disposer)
Definition JKRHeap.h:109
void freeAll()
Definition JKRHeap.cpp:180
void dispose_subroutine(u32 start, u32 end)
Definition JKRHeap.cpp:301
static JKRHeap * getRootHeap()
Definition JKRHeap.h:151
u32 getSize() const
Definition JKRHeap.h:95
static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler)
Definition JKRHeap.cpp:369
virtual bool state_compare(JKRHeap::TState const &r1, JKRHeap::TState const &r2) const
Definition JKRHeap.cpp:439
u8 * mStart
Definition JKRHeap.h:119
bool mCheckMemoryFilled
Definition JKRHeap.h:123
static JKRHeap * findFromRoot(void *ptr)
Definition JKRHeap.cpp:250
JKRHeap * getParent() const
Definition JKRHeap.h:103
static void setState_u32ID_(TState *state, u32 id)
Definition JKRHeap.h:162
static void copyMemory(void *dst, void *src, u32 size)
Definition JKRHeap.cpp:344
s32 getFreeSize()
Definition JKRHeap.cpp:225
u32 mSize
Definition JKRHeap.h:121
JSUTree< JKRHeap > mChildTree
Definition JKRHeap.h:126
bool getErrorFlag() const
Definition JKRHeap.h:96
void setDebugFill(bool debugFill)
Definition JKRHeap.h:91
JKRHeap * becomeSystemHeap()
Definition JKRHeap.cpp:120
JSUTree< JKRHeap > & getHeapTree()
Definition JKRHeap.h:108
void free(void *ptr)
Definition JKRHeap.cpp:165
static JKRHeap * sRootHeap2
Definition JKRHeap.h:179
s32 changeGroupID(u8 newGroupId)
Definition JKRHeap.cpp:237
void * getEndAddr()
Definition JKRHeap.h:94
static void fillMemory(void *dst, u32 size, u8 value)
virtual void do_destroy()=0
void * getStartAddr()
Definition JKRHeap.h:93
u8 * mEnd
Definition JKRHeap.h:120
static JKRHeap * sRootHeap
Definition JKRHeap.h:176
static void * mUserRamEnd
Definition JKRHeap.h:173
bool setErrorFlag(bool errorFlag)
Definition JKRHeap.cpp:363
static void * mCodeStart
Definition JKRHeap.h:170
static void setCurrentHeap(JKRHeap *heap)
Definition JKRHeap.h:160
u32 getMaxAllocatableSize(int alignment)
Definition JKRHeap.cpp:244
virtual void do_freeTail()=0
virtual s32 do_getSize(void *ptr)=0
static JKRHeap * sSystemHeap
Definition JKRHeap.h:182
bool remove(JSULink< T > *link)
Definition JSUList.h:111
bool append(JSULink< T > *link)
Definition JSUList.h:103
T * getObject() const
Definition JSUList.h:209
JSUTree< T > * getParent() const
Definition JSUList.h:211
static void end(b_oh_class *i_this)
Definition d_a_b_oh.cpp:344
static u16 const id[4]
Definition d_a_obj_smtile.cpp:242
void OSUnlockMutex(OSMutex *mutex)
Definition OSMutex.c:86
void OSLockMutex(OSMutex *mutex)
Definition OSMutex.c:58
const void * src
Definition __os.h:116
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
static u32 status
Definition fstload.c:9
@ start
Definition strtoul.c:8