X-Git-Url: http://nitlanguage.org diff --git a/clib/gc.h b/clib/gc.h index 766098b..18395a5 100644 --- a/clib/gc.h +++ b/clib/gc.h @@ -18,44 +18,13 @@ #include #include #include "nit_common.h" -#include "gc_static_objects_list.h" - -/* Markbit manipulations */ -#define GET_MARKBIT(x) (((val_t)((x)[0].vft)) & 1) -#define SET_MARKBIT(x) ((x)->vft = (void*)(((bigint)((x)->vft)) | 1)) -#define REMOVE_MARKBIT(x) ((x) ^ 1) - -#define HEAP_ACTIVE_SIZE_MIN 3000 - -typedef struct heap { - char *heapPointer; - unsigned long size; -} heap; - -typedef struct TBOX_struct { - const classtable_elt_t *vft; - char *val; - bigint object_id; -} *BOX_struct; - -heap *heapActive; -heap *heapInactive; -char *allocationPointer; -char *evacuationPointer; -char *scavengingPointer; - -unsigned long heapActiveUsedSize; - -GC_List staticObjects; void Nit_gc_init(void); -val_t GC_evacuation(obj_t object); - -void GC_scavenging(void); - -void* Nit_gc_malloc(size_t size); +void *Nit_gc_malloc(size_t size); void GC_add_static_object(val_t *pointer); +void Nit_gc_force_garbage_collection( void ); + #endif