12 nursery_space* nursery;
14 aging_space* aging_semispace;
15 tenured_space* tenured;
23 data_heap(cell young_size, cell aging_size, cell tenured_size);
25 data_heap* grow(cell requested_size);
26 template <typename Generation> void clear_cards(Generation* gen);
27 template <typename Generation> void clear_decks(Generation* gen);
28 void reset_generation(nursery_space* gen);
29 void reset_generation(aging_space* gen);
30 void reset_generation(tenured_space* gen);
31 bool high_fragmentation_p();
33 void mark_all_cards();
34 cell high_water_mark() { return nursery->size + aging->size; }
37 struct data_heap_room {
39 cell nursery_occupied;
45 cell tenured_occupied;
46 cell tenured_total_free;
47 cell tenured_contiguous_free;
48 cell tenured_free_block_count;