diff options
| author | Dragorn421 <Dragorn421@users.noreply.github.com> | 2024-09-08 23:11:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-08 17:11:41 -0400 |
| commit | c7ec814d7897456ecdf1772e395a13f048b5133d (patch) | |
| tree | b9324efea542b5f7402563925195b8797fc063be /src/code/system_malloc.c | |
| parent | a903f8b8bcc32d8f6c0a76ce5eeead271c297772 (diff) | |
[headers 9] Add src/libc64/ and new "z64" rand.h (#2164)
* rand.h -> libc64/qrand.h
* Add rand.h with z64 rand wrappers
* yeet comment
* code/rand.c -> libc64/qrand.c
* fixup
* move libc64 source to src/libc64/
* fix
* bss
* update file splits disasm metadata
Diffstat (limited to 'src/code/system_malloc.c')
| -rw-r--r-- | src/code/system_malloc.c | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/src/code/system_malloc.c b/src/code/system_malloc.c deleted file mode 100644 index de6a56b30..000000000 --- a/src/code/system_malloc.c +++ /dev/null @@ -1,172 +0,0 @@ -#include "global.h" -#include "osMalloc.h" - -#define LOG_SEVERITY_NOLOG 0 -#define LOG_SEVERITY_ERROR 2 -#define LOG_SEVERITY_VERBOSE 3 - -Arena gSystemArena; - -#if OOT_DEBUG -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); - __osDisplayArena(&gSystemArena); - return; - } - } else if (gSystemArenaLogSeverity >= LOG_SEVERITY_VERBOSE) { - PRINTF(T("%s: %u バイトの%sに成功しました\n", "%s: %u bytes %s succeeded\n"), name, size, action); - } -} - -#define SYSTEM_ARENA_CHECK_POINTER(ptr, size, name, action) SystemArena_CheckPointer(ptr, size, name, action) -#else -#define SYSTEM_ARENA_CHECK_POINTER(ptr, size, name, action) (void)0 -#endif - -void* SystemArena_Malloc(u32 size) { - DECLARE_INTERRUPT_MASK - void* ptr; - - DISABLE_INTERRUPTS(); - ptr = __osMalloc(&gSystemArena, size); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, size, "malloc", "確保"); // "Secure" - return ptr; -} - -#if OOT_DEBUG -void* SystemArena_MallocDebug(u32 size, const char* file, int line) { - DECLARE_INTERRUPT_MASK - void* ptr; - - DISABLE_INTERRUPTS(); - ptr = __osMallocDebug(&gSystemArena, size, file, line); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, size, "malloc_DEBUG", "確保"); // "Secure" - return ptr; -} -#endif - -void* SystemArena_MallocR(u32 size) { - DECLARE_INTERRUPT_MASK - void* ptr; - - DISABLE_INTERRUPTS(); - ptr = __osMallocR(&gSystemArena, size); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, size, "malloc_r", "確保"); // "Secure" - return ptr; -} - -#if OOT_DEBUG -void* SystemArena_MallocRDebug(u32 size, const char* file, int line) { - DECLARE_INTERRUPT_MASK - void* ptr; - - DISABLE_INTERRUPTS(); - ptr = __osMallocRDebug(&gSystemArena, size, file, line); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, size, "malloc_r_DEBUG", "確保"); // "Secure" - return ptr; -} -#endif - -void* SystemArena_Realloc(void* ptr, u32 newSize) { - DECLARE_INTERRUPT_MASK - - DISABLE_INTERRUPTS(); - ptr = __osRealloc(&gSystemArena, ptr, newSize); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, newSize, "realloc", "再確保"); // "Re-securing" - return ptr; -} - -#if OOT_DEBUG -void* SystemArena_ReallocDebug(void* ptr, u32 newSize, const char* file, int line) { - DECLARE_INTERRUPT_MASK - - DISABLE_INTERRUPTS(); - ptr = __osReallocDebug(&gSystemArena, ptr, newSize, file, line); - RESTORE_INTERRUPTS(); - - SYSTEM_ARENA_CHECK_POINTER(ptr, newSize, "realloc_DEBUG", "再確保"); // "Re-securing" - return ptr; -} -#endif - -void SystemArena_Free(void* ptr) { - DECLARE_INTERRUPT_MASK - - DISABLE_INTERRUPTS(); - __osFree(&gSystemArena, ptr); - RESTORE_INTERRUPTS(); -} - -#if OOT_DEBUG -void SystemArena_FreeDebug(void* ptr, const char* file, int line) { - DECLARE_INTERRUPT_MASK - - DISABLE_INTERRUPTS(); - __osFreeDebug(&gSystemArena, ptr, file, line); - RESTORE_INTERRUPTS(); -} -#endif - -void* SystemArena_Calloc(u32 num, u32 size) { - DECLARE_INTERRUPT_MASK - void* ret; - u32 n = num * size; - - DISABLE_INTERRUPTS(); - ret = __osMalloc(&gSystemArena, n); - RESTORE_INTERRUPTS(); - - if (ret != NULL) { - bzero(ret, n); - } - - SYSTEM_ARENA_CHECK_POINTER(ret, n, "calloc", "確保"); - return ret; -} - -#if OOT_DEBUG -void SystemArena_Display(void) { - PRINTF(T("システムヒープ表示\n", "System heap display\n")); - __osDisplayArena(&gSystemArena); -} -#endif - -void SystemArena_GetSizes(u32* outMaxFree, u32* outFree, u32* outAlloc) { - ArenaImpl_GetSizes(&gSystemArena, outMaxFree, outFree, outAlloc); -} - -void SystemArena_Check(void) { - __osCheckArena(&gSystemArena); -} - -void SystemArena_Init(void* start, u32 size) { -#if OOT_DEBUG - gSystemArenaLogSeverity = LOG_SEVERITY_NOLOG; -#endif - __osMallocInit(&gSystemArena, start, size); -} - -void SystemArena_Cleanup(void) { -#if OOT_DEBUG - gSystemArenaLogSeverity = LOG_SEVERITY_NOLOG; -#endif - __osMallocCleanup(&gSystemArena); -} - -s32 SystemArena_IsInitialized(void) { - return __osMallocIsInitialized(&gSystemArena); -} |
