diff options
author | Nathan Ringo <nathan@remexre.com> | 2024-11-16 12:38:37 -0600 |
---|---|---|
committer | Nathan Ringo <nathan@remexre.com> | 2024-11-16 12:38:37 -0600 |
commit | 57331ba9756df043b5c665aa4952a0a7b38799e5 (patch) | |
tree | 0feb2ca5cbe38744088845b8bb105673016c1fac /src/gc.h |
Initial commit
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 |