struct aging_space : old_space {
aging_space(cell size, cell start) : old_space(size,start) {}
-
- bool is_nursery_p() { return false; }
- bool is_aging_p() { return true; }
- bool is_tenured_p() { return false; }
};
}
for(; iter != end; iter++) trace_literal_references(*iter);
}
- template<typename SourceGeneration>
- void trace_objects_between(SourceGeneration *gen, cell scan, cell *end)
+ void cheneys_algorithm()
{
- while(scan && scan < *end)
+ while(scan && scan < this->target->here)
{
this->trace_slots((object *)scan);
- scan = gen->next_object_after(this->myvm,scan);
+ scan = this->target->next_object_after(this->myvm,scan);
}
}
-
- void cheneys_algorithm()
- {
- trace_objects_between(this->target,scan,&this->target->here);
- }
};
}
struct tenured_space : old_space {
tenured_space(cell size, cell start) : old_space(size,start) {}
-
- bool is_nursery_p() { return false; }
- bool is_aging_p() { return false; }
- bool is_tenured_p() { return true; }
};
}