Isolate JKRHeap operator overloads

Fixes #25

This isolates the JKRHeap operator new/delete overloads. Every single new/delete site in the code has been replaced with a macro.

Sadly for new[] and delete[] we have to keep global operators. The global new[] just allocates into malloc() however, and delete[] goes into free() if it's not in a JKRHeap. So that's fine.
This commit is contained in:
PJB3005
2026-02-27 23:11:59 +01:00
parent f59295c127
commit 0ee3b2b197
634 changed files with 3451 additions and 3350 deletions
+2 -2
View File
@@ -21,9 +21,9 @@ FixedMemoryCheck::FixedMemoryCheck(u32* param_1, u32 size, JKRHeap* heap) {
FixedMemoryCheck* FixedMemoryCheck::easyCreate(void* param_1, u32 size) {
JKRHeap* heap = JKRGetRootHeap2();
FixedMemoryCheck* memCheck = new (heap, 0) FixedMemoryCheck((u32*)param_1, size, heap);
FixedMemoryCheck* memCheck = JKR_NEW_ARGS (heap, 0) FixedMemoryCheck((u32*)param_1, size, heap);
if (!memCheck) {
memCheck = new (JKRGetSystemHeap(), 0) FixedMemoryCheck((u32*)param_1, size, NULL);
memCheck = JKR_NEW_ARGS (JKRGetSystemHeap(), 0) FixedMemoryCheck((u32*)param_1, size, NULL);
}
if (memCheck) {
memCheck->alloc();