diff options
| author | Lucas Shaw <49287729+shawlucas@users.noreply.github.com> | 2021-03-27 14:17:41 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-27 16:17:41 -0500 |
| commit | 623b6d531855aecb3f64cdb678843e9d423ce415 (patch) | |
| tree | bfa2514d5320425eb74764290057f2a21155f4d7 /src/boot_O2/stackcheck.c | |
| parent | fee7a49abc84fbe91116f969a90570cff15decde (diff) | |
Some OOT transfers, some renaming, etc (#75)
* Progress on various files
* gfxprint stuff
* split some rodata, add iconv for rodata string parsing
* z_std_dma rodata
* 2 nonmatchings in gfxprint
* mtxuty-cvt ok
* more
* match a function in idle.c
* progress
* Cleanup
* Rename BgPolygon to CollisionPoly
* progress
* some effect stuff
* more effect progress
* updates
* made suggested changes
* z_effect_soft_sprite_old_init mostly ok
Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com>
Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
Diffstat (limited to 'src/boot_O2/stackcheck.c')
| -rw-r--r-- | src/boot_O2/stackcheck.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/src/boot_O2/stackcheck.c b/src/boot_O2/stackcheck.c index 1c7790d97..142f824a7 100644 --- a/src/boot_O2/stackcheck.c +++ b/src/boot_O2/stackcheck.c @@ -69,13 +69,11 @@ void StackCheck_Cleanup(StackEntry* entry) { if (inconsistency) {} } -#ifdef NON_MATCHING -// Missing useless move -s32 StackCheck_GetState(StackEntry* entry) { +StackStatus StackCheck_GetState(StackEntry* entry) { u32* last; u32 used; u32 free; - s32 ret; + s32 status; for (last = (u32*)entry->head; (u32)last < entry->tail; last++) { if (entry->initValue != *last) { @@ -87,23 +85,20 @@ s32 StackCheck_GetState(StackEntry* entry) { free = (u32)last - entry->head; if (free == 0) { - return 2; - } - - if (free < entry->minSpace && entry->minSpace != -1) { - return 1; + status = STACK_STATUS_OVERFLOW; + } else if (free < (u32)entry->minSpace && entry->minSpace != -1) { + status = STACK_STATUS_WARNING; + } else { + status = STACK_STATUS_OK; } - return 0; + return status; } -#else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/stackcheck/StackCheck_GetState.asm") -#endif u32 StackCheck_CheckAll() { u32 ret = 0; - StackEntry* iter = sStackInfoListStart; + while(iter) { u32 state = StackCheck_GetState(iter); if (state) { |
