delete the now-unused old reference module
authorcassowarii <2374677+cassowarii@users.noreply.github.com>
Sun, 19 Jul 2026 03:05:08 +0000 (20:05 -0700)
committercassowarii <2374677+cassowarii@users.noreply.github.com>
Sun, 19 Jul 2026 03:05:08 +0000 (20:05 -0700)
src/data/closure.c
src/data/data.c
src/data/reference.c [deleted file]
src/data/reference.h [deleted file]
src/lib/lib.c
src/vm/exec.c

index 1908fea..5a9f109 100644 (file)
@@ -1,6 +1,5 @@
 #include "data/closure.h"
 
-#include "data/reference.h"
 #include "gc/gcinfo.h"
 
 #define FLAG_REAL (1ULL << 63)
index d6d3d35..b3f6124 100644 (file)
@@ -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 (file)
index 74f83a2..0000000
+++ /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 (file)
index 63c98e3..0000000
+++ /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);
index 4fc543d..64c6b4e 100644 (file)
@@ -2,7 +2,6 @@
 #include "vm/exec.h"
 
 #include "data/symbol.h"
-#include "data/reference.h"
 
 #include "lib/table.h"
 #include "lib/sentinel.h"
index 9751632..6b1dad0 100644 (file)
@@ -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"