1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-14 19:10:25 +00:00

Decouple Debug Features From gc-eu-mq-dbg (#2296)

* rename OOT_DEBUG to DEBUG_FEATURES

* makefile changes

* add DEBUG_ASSETS

* fix DEBUG_FEATURES usages

* format

* fix errors

* review

* fix problem and review2

* review

* add DEBUG_FEATURES to DEBUG_ASSETS check

* review

* whoops

* format
This commit is contained in:
fig02 2024-11-17 17:02:07 -05:00 committed by GitHub
parent cf4dc98cc9
commit 17edb82c0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
168 changed files with 652 additions and 606 deletions

View file

@ -20,7 +20,7 @@
#define NODE_IS_VALID(node) (((node) != NULL) && ((node)->magic == NODE_MAGIC))
#if OOT_DEBUG
#if DEBUG_FEATURES
#define NODE_GET_NEXT(node) ArenaImpl_GetNextBlock(node)
#define NODE_GET_PREV(node) ArenaImpl_GetPrevBlock(node)
@ -76,7 +76,7 @@ OSMesg sArenaLockMsg;
void __osMallocAddBlock(Arena* arena, void* start, s32 size);
#if OOT_DEBUG
#if DEBUG_FEATURES
u32 __osMalloc_FreeBlockTest_Enable;
u32 ArenaImpl_GetFillAllocBlock(Arena* arena) {
@ -130,7 +130,7 @@ void ArenaImpl_Unlock(Arena* arena) {
osRecvMesg(&arena->lockQueue, NULL, OS_MESG_BLOCK);
}
#if OOT_DEBUG
#if DEBUG_FEATURES
ArenaNode* ArenaImpl_GetNextBlock(ArenaNode* node) {
ArenaNode* next = node->next;
@ -211,7 +211,7 @@ void __osMallocAddBlock(Arena* arena, void* start, s32 size) {
}
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void ArenaImpl_RemoveAllBlocks(Arena* arena) {
ArenaNode* iter;
ArenaNode* next;
@ -230,7 +230,7 @@ void ArenaImpl_RemoveAllBlocks(Arena* arena) {
#endif
void __osMallocCleanup(Arena* arena) {
#if OOT_DEBUG
#if DEBUG_FEATURES
ArenaImpl_RemoveAllBlocks(arena);
#endif
bzero(arena, sizeof(*arena));
@ -240,7 +240,7 @@ s32 __osMallocIsInitialized(Arena* arena) {
return arena->isInit;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void __osMalloc_FreeBlockTest(Arena* arena, ArenaNode* node) {
ArenaNode* node2 = node;
u32* start;
@ -497,7 +497,7 @@ void __osFree_NoLock(Arena* arena, void* ptr) {
PRINTF(VT_COL(RED, WHITE) T("__osFree:二重解放(%08x)\n", "__osFree: Double release (%08x)\n") VT_RST, ptr);
return;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
if (arena != node->arena && arena != NULL) {
PRINTF(VT_COL(RED, WHITE)
T("__osFree:確保時と違う方法で解放しようとした (%08x:%08x)\n",
@ -542,7 +542,7 @@ void __osFree(Arena* arena, void* ptr) {
ArenaImpl_Unlock(arena);
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, int line) {
ArenaNode* node;
ArenaNode* next;
@ -711,7 +711,7 @@ void* __osRealloc(Arena* arena, void* ptr, u32 newSize) {
return ptr;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void* __osReallocDebug(Arena* arena, void* ptr, u32 newSize, const char* file, int line) {
return __osRealloc(arena, ptr, newSize);
}
@ -743,7 +743,7 @@ void ArenaImpl_GetSizes(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAll
ArenaImpl_Unlock(arena);
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void __osDisplayArena(Arena* arena) {
u32 freeSize;
u32 allocatedSize;
@ -867,7 +867,7 @@ s32 __osCheckArena(Arena* arena) {
while (iter != NULL) {
//! @bug: Probably intended to be `!NODE_IS_VALID(iter)`
if (NODE_IS_VALID(iter)) {
#if OOT_DEBUG
#if DEBUG_FEATURES
osSyncPrintf(VT_COL(RED, WHITE) T("おおっと!! (%08x %08x)\n", "Oops!! (%08x %08x)\n") VT_RST, iter,
iter->magic);
#else
@ -886,7 +886,7 @@ s32 __osCheckArena(Arena* arena) {
return error;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
u8 ArenaImpl_GetAllocFailures(Arena* arena) {
return arena->allocFailures;
}

View file

@ -9,14 +9,16 @@
Arena gSystemArena;
#if OOT_DEBUG
#if DEBUG_FEATURES
s32 gSystemArenaLogSeverity = LOG_SEVERITY_NOLOG;
void SystemArena_CheckPointer(void* ptr, u32 size, const char* name, const char* action) {
if (ptr == NULL) {
if (gSystemArenaLogSeverity >= LOG_SEVERITY_ERROR) {
PRINTF(T("%s: %u バイトの%sに失敗しました\n", "%s: %u bytes %s failed\n"), name, size, action);
#if PLATFORM_GC
__osDisplayArena(&gSystemArena);
#endif
return;
}
} else if (gSystemArenaLogSeverity >= LOG_SEVERITY_VERBOSE) {
@ -41,7 +43,7 @@ void* SystemArena_Malloc(u32 size) {
return ptr;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void* SystemArena_MallocDebug(u32 size, const char* file, int line) {
DECLARE_INTERRUPT_MASK
void* ptr;
@ -67,7 +69,7 @@ void* SystemArena_MallocR(u32 size) {
return ptr;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void* SystemArena_MallocRDebug(u32 size, const char* file, int line) {
DECLARE_INTERRUPT_MASK
void* ptr;
@ -92,7 +94,7 @@ void* SystemArena_Realloc(void* ptr, u32 newSize) {
return ptr;
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void* SystemArena_ReallocDebug(void* ptr, u32 newSize, const char* file, int line) {
DECLARE_INTERRUPT_MASK
@ -113,7 +115,7 @@ void SystemArena_Free(void* ptr) {
RESTORE_INTERRUPTS();
}
#if OOT_DEBUG
#if DEBUG_FEATURES
void SystemArena_FreeDebug(void* ptr, const char* file, int line) {
DECLARE_INTERRUPT_MASK
@ -140,7 +142,7 @@ void* SystemArena_Calloc(u32 num, u32 size) {
return ret;
}
#if OOT_DEBUG
#if PLATFORM_GC && DEBUG_FEATURES
void SystemArena_Display(void) {
PRINTF(T("システムヒープ表示\n", "System heap display\n"));
__osDisplayArena(&gSystemArena);
@ -156,14 +158,14 @@ void SystemArena_Check(void) {
}
void SystemArena_Init(void* start, u32 size) {
#if OOT_DEBUG
#if DEBUG_FEATURES
gSystemArenaLogSeverity = LOG_SEVERITY_NOLOG;
#endif
__osMallocInit(&gSystemArena, start, size);
}
void SystemArena_Cleanup(void) {
#if OOT_DEBUG
#if DEBUG_FEATURES
gSystemArenaLogSeverity = LOG_SEVERITY_NOLOG;
#endif
__osMallocCleanup(&gSystemArena);