From 943a6597b2bcd1b3ed208458a5cba61ad5b4051c Mon Sep 17 00:00:00 2001 From: Nathan Ringo Date: Mon, 18 Nov 2024 00:34:23 -0600 Subject: ... --- src/gc.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/gc.h') diff --git a/src/gc.h b/src/gc.h index dff3b79..d7ce8b0 100644 --- a/src/gc.h +++ b/src/gc.h @@ -2,15 +2,21 @@ #define IMB3_GC_H #include "value.h" -#include void gc_init(void); void gc_collect(void); struct object; -struct value gc_read_value_slot(struct object *, size_t); -uintptr_t gc_read_untraced_slot(struct object *, size_t); -uint8_t gc_read_untraced_byte(struct object *, size_t); + +struct object *gc_alloc(size_t value_slot_count, size_t untraced_slot_count); +struct object *gc_alloc_compiled_function(size_t value_slot_count, + size_t untraced_slot_count); +struct object *gc_alloc_hashtable_eq(size_t value_slot_count, + size_t untraced_slot_count); + +struct value gc_read_value_slot(const struct object *, size_t); +uintptr_t gc_read_untraced_slot(const struct object *, size_t); +uint8_t gc_read_untraced_byte(const struct object *, size_t); void gc_write_value_slot(struct object *, size_t, struct value); void gc_write_untraced_slot(struct object *, size_t, uintptr_t); void gc_write_untraced_byte(struct object *, size_t, uint8_t); -- cgit v1.2.3