4 /* generational copying GC divides memory into zones */
6 /* allocation pointer is 'here'; its offset is hardcoded in the
13 cell init_zone(cell size_, cell start_)
16 start = here = start_;
21 inline bool contains_p(object *pointer)
23 return (cell)pointer >= start && (cell)pointer < end;
38 char *allot_markers_end;
46 /* the 0th generation is where new objects are allocated. */
47 cell nursery() { return 0; }
49 /* where objects hang around */
50 cell aging() { return 1; }
52 /* the oldest generation */
53 cell tenured() { return 2; }
55 explicit data_heap(factor_vm *myvm, cell young_size, cell aging_size, cell tenured_size);
59 static const cell gen_count = 3;