From ee1a5de91c875fb66724dc21c02333bfebe2a812 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 1 Feb 2022 18:36:52 +0100 Subject: Add new syntax to lexer and prepare refactor --- src/treewalk/gc.h | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 src/treewalk/gc.h (limited to 'src/treewalk/gc.h') diff --git a/src/treewalk/gc.h b/src/treewalk/gc.h deleted file mode 100644 index 9ad1615..0000000 --- a/src/treewalk/gc.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef BDL_GC_H -#define BDL_GC_H - -#include "objects.h" -#include "environment.h" - -typedef struct FreeList { - size_t *offsets; - size_t position; -} FreeList; - -typedef struct GC { - Object **roots; - Environment *envs; - Object *objects; - FreeList free_objects; - FreeList free_envs; - Environment **active_envs; -} GC; - -void gc_init(void); - -// Allocation functions for objects and environments. -Object * alloc_object(ObjectType type); -Environment * alloc_env(void); - -// Root and environment protector functions. -void push_root(Object *obj); -Object * pop_root(void); -void push_active_env(Environment *env); -Environment * pop_active_env(void); - -// Mark and sweep algorithm functions. -void mark_environment(Environment *env); -void mark_obj(Object *obj); -void mark_and_sweep(void); - -// Debugging function to print out the contentes of some GC fields. -void dump_gc(void); - -#define GC_OBJS_CAP 1024 * 1024 -#define GC_ROOTS_CAP 1024 -#define GC_ACTIVE_ENVS_CAP 2 -#define GC_ENVS_CAP 1024 * 4 - -#endif // BDL_GC_H -- cgit v1.2.1