blob: dd6f60dbd734392712c50a0e231644b4167a63ac [file] [log] [blame]
Damiendcced922013-10-21 23:45:08 +01001void gc_init(void *start, void *end);
Damien8b3a7c22013-10-23 20:20:17 +01002void gc_collect_start(void);
Damiendcced922013-10-21 23:45:08 +01003void gc_collect_root(void **ptrs, machine_uint_t len);
Damien8b3a7c22013-10-23 20:20:17 +01004void gc_collect_end(void);
5void gc_collect(void);
Damien George12bab722014-04-05 20:35:48 +01006void *gc_alloc(machine_uint_t n_bytes, bool has_finaliser);
Damienfd8b6bc2013-10-22 20:26:36 +01007void gc_free(void *ptr);
8machine_uint_t gc_nbytes(void *ptr);
Damiendcced922013-10-21 23:45:08 +01009void *gc_realloc(void *ptr, machine_uint_t n_bytes);
Damieneefcc792013-10-22 15:25:25 +010010
11typedef struct _gc_info_t {
12 machine_uint_t total;
13 machine_uint_t used;
14 machine_uint_t free;
15 machine_uint_t num_1block;
16 machine_uint_t num_2block;
17 machine_uint_t max_block;
18} gc_info_t;
19
20void gc_info(gc_info_t *info);
Paul Sokolovsky550d8042014-02-11 23:53:34 +020021void gc_dump_info(void);
Damien Georgece1162a2014-02-26 22:55:59 +000022void gc_dump_alloc_table(void);