VM: move next_object_after() and first_object() to aging_space (no iteration possible in nursery)

db4
Björn Lindqvist 2014-11-21 09:14:55 +01:00 committed by Doug Coleman
parent 50c74fc496
commit 231f50039b
2 changed files with 15 additions and 15 deletions

View File

@ -14,6 +14,21 @@ struct aging_space : bump_allocator<object> {
starts.record_object_start_offset(obj); starts.record_object_start_offset(obj);
return obj; return obj;
} }
cell next_object_after(cell scan) {
cell size = ((object*)scan)->size();
if (scan + size < here)
return scan + size;
else
return 0;
}
cell first_object() {
if (start != here)
return start;
else
return 0;
}
}; };
} }

View File

@ -22,21 +22,6 @@ template <typename Block> struct bump_allocator {
cell free_space() { return end - here; } cell free_space() { return end - here; }
cell next_object_after(cell scan) {
cell size = ((Block*)scan)->size();
if (scan + size < here)
return scan + size;
else
return 0;
}
cell first_object() {
if (start != here)
return start;
else
return 0;
}
void flush() { void flush() {
here = start; here = start;
#ifdef FACTOR_DEBUG #ifdef FACTOR_DEBUG