JASHeapCtrl

This commit is contained in:
Jcw87
2023-10-19 05:32:02 -07:00
parent bf77eba324
commit 804c8ea82d
3 changed files with 258 additions and 32 deletions
+59
View File
@@ -0,0 +1,59 @@
#ifndef JASHEAPCTRL_H
#define JASHEAPCTRL_H
#include "JSystem/JSupport/JSUList.h"
#include "dolphin/os/OSMutex.h"
namespace JASystem {
namespace Kernel {
class TDisposer {
public:
virtual void onDispose() {}
};
class THeap {
public:
enum Type {
Type0,
Type1,
};
THeap(TDisposer*);
void initRootHeap(void*, u32, Type);
bool alloc(THeap*, u32);
bool free();
void insertChild(THeap* param_1, THeap* param_2, void* param_3, u32 param_4, bool param_5);
JASystem::Kernel::THeap* getTailHeap();
u32 getTailOffset();
u32 getCurOffset();
bool isAllocated() { return mBase; }
/* 0x00 */ JSUTree<THeap> mTree;
/* 0x1C */ OSMutex mMutex;
/* 0x34 */ TDisposer* mDisposer;
/* 0x38 */ Type mType;
/* 0x3C */ u8* mBase;
/* 0x40 */ u32 mSize;
/* 0x44 */ THeap* field_0x44;
};
class TSolidHeap {
public:
TSolidHeap();
~TSolidHeap() {}
int alloc(long param_1);
void freeAll();
void init(u8* param_1, long param_2);
int getRemain();
/* 0x00 */ u32 field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ int field_0x8;
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
};
}
}
#endif /* JASHEAPCTRL_H */
+1 -1
View File
@@ -212,7 +212,7 @@ public:
return *this;
}
T& operator*() { return *this->getObject(); }
T* operator*() { return this->getObject(); }
T* operator->() { return this->getObject(); }