3 struct aging_space : bump_allocator {
4 object_start_map starts;
6 aging_space(cell size, cell start)
7 : bump_allocator(size, start), starts(size, start) {}
9 object* allot(cell dsize) {
10 if (here + dsize > end)
13 object* obj = bump_allocator::allot(dsize);
14 starts.record_object_start_offset(obj);
18 cell next_object_after(cell scan) {
19 cell data_size = ((object*)scan)->size();
20 if (scan + data_size < here)
21 return scan + data_size;