Damien | dcced92 | 2013-10-21 23:45:08 +0100 | [diff] [blame] | 1 | void gc_init(void *start, void *end); |
Damien | 8b3a7c2 | 2013-10-23 20:20:17 +0100 | [diff] [blame] | 2 | void gc_collect_start(void); |
Damien | dcced92 | 2013-10-21 23:45:08 +0100 | [diff] [blame] | 3 | void gc_collect_root(void **ptrs, machine_uint_t len); |
Damien | 8b3a7c2 | 2013-10-23 20:20:17 +0100 | [diff] [blame] | 4 | void gc_collect_end(void); |
| 5 | void gc_collect(void); |
Damien George | 12bab72 | 2014-04-05 20:35:48 +0100 | [diff] [blame^] | 6 | void *gc_alloc(machine_uint_t n_bytes, bool has_finaliser); |
Damien | fd8b6bc | 2013-10-22 20:26:36 +0100 | [diff] [blame] | 7 | void gc_free(void *ptr); |
| 8 | machine_uint_t gc_nbytes(void *ptr); |
Damien | dcced92 | 2013-10-21 23:45:08 +0100 | [diff] [blame] | 9 | void *gc_realloc(void *ptr, machine_uint_t n_bytes); |
Damien | eefcc79 | 2013-10-22 15:25:25 +0100 | [diff] [blame] | 10 | |
| 11 | typedef 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 | |
| 20 | void gc_info(gc_info_t *info); |
Paul Sokolovsky | 550d804 | 2014-02-11 23:53:34 +0200 | [diff] [blame] | 21 | void gc_dump_info(void); |
Damien George | ce1162a | 2014-02-26 22:55:59 +0000 | [diff] [blame] | 22 | void gc_dump_alloc_table(void); |