From: cassowarii <2374677+cassowarii@users.noreply.github.com> Date: Sun, 19 Jul 2026 03:05:08 +0000 (-0700) Subject: delete the now-unused old reference module X-Git-Url: https://www.git.cassowary.me/gitweb.cgi?a=commitdiff_plain;h=57edb8062fb978a4058bcbb113957b084391810f;p=sarabande.git delete the now-unused old reference module --- diff --git a/src/data/closure.c b/src/data/closure.c index 1908fea..5a9f109 100644 --- a/src/data/closure.c +++ b/src/data/closure.c @@ -1,6 +1,5 @@ #include "data/closure.h" -#include "data/reference.h" #include "gc/gcinfo.h" #define FLAG_REAL (1ULL << 63) diff --git a/src/data/data.c b/src/data/data.c index d6d3d35..b3f6124 100644 --- a/src/data/data.c +++ b/src/data/data.c @@ -5,7 +5,6 @@ #include "data/symbol.h" #include "data/integer.h" #include "data/list.h" -#include "data/reference.h" #include "data/closure.h" #include "data/variable.h" @@ -17,7 +16,6 @@ void data_sys_init() { sbHash_sys_init(); sbSymbol_sys_init(); sbString_sys_init(); - sbRef_sys_init(); sbInteger_sys_init(); sbClosure_sys_init(); sbList_sys_init(); @@ -33,7 +31,6 @@ void data_sys_deinit() { sbList_sys_deinit(); sbClosure_sys_deinit(); sbInteger_sys_deinit(); - sbRef_sys_deinit(); sbString_sys_deinit(); sbSymbol_sys_deinit(); sbHash_sys_deinit(); diff --git a/src/data/reference.c b/src/data/reference.c deleted file mode 100644 index 74f83a2..0000000 --- a/src/data/reference.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "data/reference.h" - -#include "gc/gcinfo.h" - -#define REFERENCES_PER_BLOCK 1024 - -/* TODO eliminate globals */ -sbPool g_reference_pool = {0}; - -typedef struct sbRef { - GCINFO info; - hVal pointed_to; -} sbRef; - -static sbRef *find_ref_by_handle(hRef handle); - -void sbRef_sys_init() { - sbPool_initialize(&g_reference_pool, sizeof(sbRef), REFERENCES_PER_BLOCK); -} - -void sbRef_sys_deinit() { - //sbPool_deinitialize(&g_reference_pool); -} - -hRef sbRef_create(hVal *var) { - usize index; - sbRef *r = sbPool_alloc(&g_reference_pool, &index); - sbV_retain(var); - r->pointed_to = *var; - return index; -} - -void sbRef_set_ref(hRef ref, hVal *var) { - sbRef *value = find_ref_by_handle(ref); - sbV_release(&value->pointed_to); - sbV_retain(var); - value->pointed_to = *var; -} - -hVal *sbRef_deref(hRef ref) { - sbRef *value = find_ref_by_handle(ref); - return &value->pointed_to; -} - -/* --- */ - -static sbRef *find_ref_by_handle(hRef handle) { - return sbPool_get_entry(&g_reference_pool, handle); -} diff --git a/src/data/reference.h b/src/data/reference.h deleted file mode 100644 index 63c98e3..0000000 --- a/src/data/reference.h +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -void sbRef_sys_init(); - -void sbRef_sys_deinit(); - -hRef sbRef_create(hVal *var); - -void sbRef_set_ref(hRef ref, hVal *var); - -hVal *sbRef_deref(hRef ref); diff --git a/src/lib/lib.c b/src/lib/lib.c index 4fc543d..64c6b4e 100644 --- a/src/lib/lib.c +++ b/src/lib/lib.c @@ -2,7 +2,6 @@ #include "vm/exec.h" #include "data/symbol.h" -#include "data/reference.h" #include "lib/table.h" #include "lib/sentinel.h" diff --git a/src/vm/exec.c b/src/vm/exec.c index 9751632..6b1dad0 100644 --- a/src/vm/exec.c +++ b/src/vm/exec.c @@ -2,7 +2,6 @@ #include "vm/operations.h" #include "data/list.h" -#include "data/reference.h" #include "data/closure.h" #include "lib/lib.h" #include "lib/sentinel.h"