From 2de1ce0d5c29feeba29fa621cf0d2a8f8549242f Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 20 Nov 2015 02:05:10 -0500 Subject: [PATCH] Added missing prototypes, init mark in make_cons --- include/cyclone/types.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/cyclone/types.h b/include/cyclone/types.h index 1e2f2703..75cae0a5 100644 --- a/include/cyclone/types.h +++ b/include/cyclone/types.h @@ -146,6 +146,8 @@ void gc_thread_data_free(gc_thread_data *thd); // Prototypes for mutator/collector: void gc_mut_update(gc_thread_data *thd, object old_obj, object value); void gc_mut_cooperate(gc_thread_data *thd); +void gc_stack_mark_refs_gray(gc_thread_data *thd, object obj); +void gc_stack_mark_gray(gc_thread_data *thd, object obj); void gc_mark_gray(gc_thread_data *thd, object obj); void gc_collector_trace(); void gc_mark_black(object obj); @@ -342,7 +344,7 @@ typedef cons_type *list; #define cddddr(x) (cdr(cdr(cdr(cdr(x))))) #define make_cons(n,a,d) \ -cons_type n; n.tag = cons_tag; n.cons_car = a; n.cons_cdr = d; +cons_type n; n.hdr.mark = gc_color_red; n.tag = cons_tag; n.cons_car = a; n.cons_cdr = d; /* Closure types */