gc.h 646 Bytes
Newer Older
Damien's avatar
Damien committed
1
void gc_init(void *start, void *end);
2
void gc_collect_start(void);
Damien's avatar
Damien committed
3
void gc_collect_root(void **ptrs, machine_uint_t len);
4
5
void gc_collect_end(void);
void gc_collect(void);
6
void *gc_alloc(machine_uint_t n_bytes, bool has_finaliser);
7
8
void gc_free(void *ptr);
machine_uint_t gc_nbytes(void *ptr);
Damien's avatar
Damien committed
9
void *gc_realloc(void *ptr, machine_uint_t n_bytes);
10
11
12
13
14
15
16
17
18
19
20

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);
21
void gc_dump_info(void);
22
void gc_dump_alloc_table(void);