2013-10-21 23:45:08 +01:00
|
|
|
void gc_init(void *start, void *end);
|
2013-10-23 20:20:17 +01:00
|
|
|
void gc_collect_start(void);
|
2013-10-21 23:45:08 +01:00
|
|
|
void gc_collect_root(void **ptrs, machine_uint_t len);
|
2013-10-23 20:20:17 +01:00
|
|
|
void gc_collect_end(void);
|
|
|
|
void gc_collect(void);
|
2013-10-21 23:45:08 +01:00
|
|
|
void *gc_alloc(machine_uint_t n_bytes);
|
2013-10-22 20:26:36 +01:00
|
|
|
void gc_free(void *ptr);
|
|
|
|
machine_uint_t gc_nbytes(void *ptr);
|
2013-10-21 23:45:08 +01:00
|
|
|
void *gc_realloc(void *ptr, machine_uint_t n_bytes);
|
2013-10-22 15:25:25 +01:00
|
|
|
|
|
|
|
typedef struct _gc_info_t {
|
|
|
|
machine_uint_t total;
|
|
|
|
machine_uint_t used;
|
|
|
|
machine_uint_t free;
|
|
|
|
machine_uint_t num_1block;
|
|
|
|
machine_uint_t num_2block;
|
|
|
|
machine_uint_t max_block;
|
|
|
|
} gc_info_t;
|
|
|
|
|
|
|
|
void gc_info(gc_info_t *info);
|