aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/gc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/gc.h')
-rw-r--r--src/bootstrap/gc.h17
1 files changed, 2 insertions, 15 deletions
diff --git a/src/bootstrap/gc.h b/src/bootstrap/gc.h
index da53a21..96bdef6 100644
--- a/src/bootstrap/gc.h
+++ b/src/bootstrap/gc.h
@@ -4,19 +4,6 @@
4#include "objects.h" 4#include "objects.h"
5#include "environment.h" 5#include "environment.h"
6 6
7// Stack of active environments.
8typedef struct ActiveEnvs {
9 Environment **buf;
10 size_t size;
11 size_t cap;
12} ActiveEnvs;
13
14typedef struct Environments {
15 Environment *buf;
16 size_t size;
17 size_t cap;
18} Environments;
19
20typedef struct FreeList { 7typedef struct FreeList {
21 size_t *buf; 8 size_t *buf;
22 size_t size; 9 size_t size;
@@ -26,12 +13,12 @@ typedef struct FreeList {
26 13
27typedef struct GC { 14typedef struct GC {
28 Object **roots; 15 Object **roots;
29 Environments envs; 16 Environment *envs;
30 Object *objects; 17 Object *objects;
31 size_t obj_cap; 18 size_t obj_cap;
32 FreeList free_objects; 19 FreeList free_objects;
33 FreeList free_envs; 20 FreeList free_envs;
34 ActiveEnvs active_envs; 21 Environment **active_envs;
35} GC; 22} GC;
36 23
37void init_gc(void); 24void init_gc(void);