X-Git-Url: http://nitlanguage.org diff --git a/clib/gc_chooser.c b/clib/gc_chooser.c index 5a8cffe..3a37da5 100644 --- a/clib/gc_chooser.c +++ b/clib/gc_chooser.c @@ -25,8 +25,7 @@ enum gc_option { gc_opt_large, gc_opt_malloc, gc_opt_boehm } gc_option; #ifdef WITH_LIBGC -#define GC_DEBUG -#include + #include #endif void *nit_raw_alloc(size_t s0) @@ -62,6 +61,7 @@ void nit_gcollect(void) { #ifdef WITH_LIBGC case gc_opt_boehm: GC_gcollect(); break; #endif + default: break; /* nothing can be done */ } } @@ -121,3 +121,11 @@ void initialize_gc_option(void) { default: break; /* Nothing */ } } + +void gc_register_finalizer(void* obj) { +#ifdef WITH_LIBGC + GC_register_finalizer_no_order(obj, &gc_finalize, NULL, NULL, NULL); +#endif +} + +void __attribute__((weak)) gc_finalize(void *obj, void* client_data) {}