Handle heap
This commit is contained in:
parent
14918e187e
commit
670a2c4c62
11 changed files with 746 additions and 161 deletions
|
|
@ -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];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue