struct cons_pointer allocate_cell(uint32_t tag)
Allocates a cell with the specified tag.
#define NCONSPAGES
the number of cons pages we will initially allow for.
#define CONSPAGESIZE
the number of cons cells on a cons page.
struct cons_page * conspages[NCONSPAGES]
An array of pointers to cons pages.
void free_cell(struct cons_pointer pointer)
Frees the cell at the specified pointer; for all the types of cons-space object which point to other ...
void dump_pages(URL_FILE *output)
dump the allocated pages to this output stream.
struct cons_space_object cell[CONSPAGESIZE]
void summarise_allocation()
struct cons_pointer freelist
The (global) pointer to the (global) freelist.
void initialise_cons_pages()
initialise the cons page system; to be called exactly once during startup.
a cons page is essentially just an array of cons space objects.