From 9e4fd9c5a38f3c2de06feeadfb3356c75549cea1 Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Sat, 20 Sep 2025 15:25:55 -0400 Subject: [PATCH] System/Jakt/OS: Fix @os_call() binding to use U64 addr instead of hash table lookup --- System/Jakt/OS.HC | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/System/Jakt/OS.HC b/System/Jakt/OS.HC index 88cd0cc..b8b6e0c 100644 --- a/System/Jakt/OS.HC +++ b/System/Jakt/OS.HC @@ -9,20 +9,13 @@ U0 _Z8os_blinkPKc() POP_SYSV_REGS } -U64 @os_call(U8* function_name, U64 arg) +U64 @os_call(U64 addr, U64 val) { - if (!function_name) + if (!addr || !val) return NULL; - if (!StrLen(function_name)) - return NULL; - CHash* h = HashFind(function_name, Fs->hash_table, Fs->hash_table->mask); - if (!h) - return NULL; - if (h->type & HTT_FUN == HTT_FUN) { - CallInd(h(CHashFun*)->exe_addr, arg); - } else { - return NULL; - } + U64 (*func)(U64 arg); + func = addr; + return func(val); } U0 _Z7os_callmm()