Handle heap

This commit is contained in:
dbalatoni13 2025-04-02 10:19:16 +02:00
parent 14918e187e
commit 670a2c4c62
11 changed files with 746 additions and 161 deletions

View file

@ -47,39 +47,55 @@ void HuMemDCFlush(HeapID heap)
void *HuMemDirectMalloc(HeapID heap, s32 size)
{
#ifdef TARGET_PC
u32 retaddr = 0;
#else
register u32 retaddr;
asm {
mflr retaddr
}
#endif
size = (size+31) & 0xFFFFFFE0;
return HuMemMemoryAlloc(HeapTbl[heap], size, retaddr);
}
void *HuMemDirectMallocNum(HeapID heap, s32 size, u32 num)
{
#ifdef TARGET_PC
u32 retaddr = 0;
#else
register u32 retaddr;
asm {
mflr retaddr
}
#endif
size = (size+31) & 0xFFFFFFE0;
return HuMemMemoryAllocNum(HeapTbl[heap], size, num, retaddr);
}
void HuMemDirectFree(void *ptr)
{
#ifdef TARGET_PC
u32 retaddr = 0;
#else
register u32 retaddr;
asm {
mflr retaddr
}
#endif
HuMemMemoryFree(ptr, retaddr);
}
void HuMemDirectFreeNum(HeapID heap, u32 num)
{
#ifdef TARGET_PC
u32 retaddr = 0;
#else
register u32 retaddr;
asm {
mflr retaddr
}
#endif
HuMemMemoryFreeNum(HeapTbl[heap], num, retaddr);
}
@ -101,4 +117,4 @@ u32 HuMemHeapSizeGet(HeapID heap)
void *HuMemHeapPtrGet(HeapID heap)
{
return HeapTbl[heap];
}
}