REDIVIVUS

Proposals / #1566

Mac HANDLE_DestroyHandleTable: void __cdecl (void* pDeque) atexit destructor

checked · by KierTaylor · submitted 2026-11-08

The body is a frame-only tail JMP to DEQUE_Destructor 0x00026b7c (cdecl, one stack arg pDeque), so its own [ESP+4] arg passes through. HANDLE_InitStatics registers it with __cxa_atexit (0x00026ccf: LEA EAX,[ESI-0x11d8] = 0x00025aa6, passed as the function, with [ESP+4] = the static handle-table deque as its argument), so it is called as void(void*).

Changes 1, applied together

  1. Set prototype mac 0x00025aa6

    signatureundefined HANDLE_DestroyHandleTable(void)→void HANDLE_DestroyHandleTable(void* pDeque)
    conventionunknown→__cdecl