Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JKRAramHeap.h
Go to the documentation of this file.
1#ifndef JKRARAMHEAP_H
2#define JKRARAMHEAP_H
3
6#include <dolphin/os.h>
7
12class JKRAramHeap : public JKRDisposer {
13public:
15 HEAD = 0,
16 TAIL = 1,
17 };
18
19public:
21
23 virtual ~JKRAramHeap();
24
31 void dump();
32 void free(JKRAramBlock *block) {
33 delete block;
34 }
35
36 u8 getCurrentGroupID() const { return mGroupId; }
37
38 JKRHeap* getMgrHeap() const { return mHeap; }
39
40private:
41 void lock() { OSLockMutex(&mMutex); }
42
44
45public:
46 /* 0x00 */ // vtable
47 /* 0x04 */ // JKRDisposer
48 /* 0x18 */ OSMutex mMutex;
49 /* 0x30 */ JKRHeap* mHeap;
50 /* 0x34 */ u32 mHeadAddress;
51 /* 0x38 */ u32 mTailAddress;
52 /* 0x3C */ u32 mSize;
53 /* 0x40 */ u8 mGroupId;
54 /* 0x41 */ u8 padding_0x41[3];
55};
56
57#endif /* JKRARAMHEAP_H */
Definition JKRAramBlock.h:12
Definition JKRAramHeap.h:12
u32 getFreeSize()
Definition JKRAramHeap.cpp:89
u32 getUsedSize(u8)
EAllocMode
Definition JKRAramHeap.h:14
@ HEAD
Definition JKRAramHeap.h:15
@ TAIL
Definition JKRAramHeap.h:16
static JSUList< JKRAramBlock > sAramList
Definition JKRAramHeap.h:20
u8 padding_0x41[3]
Definition JKRAramHeap.h:54
u32 mSize
Definition JKRAramHeap.h:52
JKRHeap * mHeap
Definition JKRAramHeap.h:49
u8 getCurrentGroupID() const
Definition JKRAramHeap.h:36
OSMutex mMutex
Definition JKRAramHeap.h:48
u8 mGroupId
Definition JKRAramHeap.h:53
JKRHeap * getMgrHeap() const
Definition JKRAramHeap.h:38
void lock()
Definition JKRAramHeap.h:41
u32 mHeadAddress
Definition JKRAramHeap.h:50
JKRAramBlock * alloc(u32, EAllocMode)
Definition JKRAramHeap.cpp:27
virtual ~JKRAramHeap()
Definition JKRAramHeap.cpp:23
void dump()
Definition JKRAramHeap.cpp:117
JKRAramBlock * allocFromHead(u32)
Definition JKRAramHeap.cpp:41
void free(JKRAramBlock *block)
Definition JKRAramHeap.h:32
JKRAramHeap(u32, u32)
Definition JKRAramHeap.cpp:10
void unlock()
Definition JKRAramHeap.h:43
JKRAramBlock * allocFromTail(u32)
Definition JKRAramHeap.cpp:70
u32 getTotalFreeSize()
Definition JKRAramHeap.cpp:104
u32 mTailAddress
Definition JKRAramHeap.h:51
Definition JKRDisposer.h:12
Definition JKRHeap.h:23
Definition JSUList.h:96
void OSUnlockMutex(OSMutex *mutex)
Definition OSMutex.c:86
void OSLockMutex(OSMutex *mutex)
Definition OSMutex.c:58
unsigned long u32
Definition types.h:12
unsigned char u8
Definition types.h:8
Definition OSMutex.h:13