|
| void * | ml_raw_alloc (ml_state *s, size_t size) |
| |
| void | ml_raw_free (ml_state *s, void *p) |
| |
| static void | maybe_collect (ml_state *s) |
| |
| static void | link_object (ml_state *s, mobj *o) |
| |
| microlisp_status | ml_gc_alloc_pair (ml_state *s, mvalue car, mvalue cdr, mvalue *out) |
| |
| microlisp_status | ml_gc_alloc_string (ml_state *s, const uint8_t *bytes, size_t len, mvalue *out) |
| |
| microlisp_status | ml_gc_alloc_closure (ml_state *s, mvalue env, mvalue params, mvalue body, mvalue *out) |
| |
| microlisp_status | ml_gc_alloc_primitive (ml_state *s, const char *name, ml_prim_fn fn, uint32_t arity_min, uint32_t arity_max, mvalue *out) |
| |
| microlisp_status | ml_gc_alloc_env (ml_state *s, mvalue parent, mvalue *out) |
| |
| microlisp_status | ml_gc_protect (ml_state *s, mvalue v) |
| |
| void | ml_gc_unprotect (ml_state *s, size_t n) |
| |
| void | ml_gc_restore (ml_state *s, size_t saved) |
| |
| static int | gc_push_mark (ml_state *s, mobj *o) |
| |
| static int | gc_visit (ml_state *s, mvalue v) |
| |
| static int | gc_drain_worklist (ml_state *s) |
| |
| static void | gc_clear_all_marks (ml_state *s) |
| |
| static void | free_obj (ml_state *s, mobj *o) |
| |
| static void | sweep (ml_state *s) |
| |
| void | ml_gc_collect (ml_state *s) |
| |
| void | ml_gc_free_all (ml_state *s) |
| |