diff options
Diffstat (limited to 'src/gc.h')
-rw-r--r-- | src/gc.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gc.h b/src/gc.h new file mode 100644 index 0000000..dff3b79 --- /dev/null +++ b/src/gc.h @@ -0,0 +1,18 @@ +#ifndef IMB3_GC_H +#define IMB3_GC_H + +#include "value.h" +#include <stddef.h> + +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); +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); + +#endif // IMB3_GC_H |