]> gitweb.factorcode.org Git - factor.git/blob - vm/aging_collector.hpp
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / vm / aging_collector.hpp
1 namespace factor
2 {
3
4 struct aging_policy {
5         factor_vm *myvm;
6         zone *aging, *tenured;
7
8         aging_policy(factor_vm *myvm_) :
9                 myvm(myvm_),
10                 aging(myvm->data->aging),
11                 tenured(myvm->data->tenured) {}
12
13         bool should_copy_p(object *untagged)
14         {
15                 return !(aging->contains_p(untagged) || tenured->contains_p(untagged));
16         }
17 };
18
19 struct aging_collector : copying_collector<aging_space,aging_policy> {
20         aging_collector(factor_vm *myvm_);
21 };
22
23 }