namespace factor { template struct copying_collector : collector { cell scan; copying_collector(factor_vm* parent, TargetGeneration* target, Policy policy) : collector(parent, target, policy), scan(target->here) {} void cheneys_algorithm() { while (scan && scan < this->target->here) { this->trace_object((object*)scan); scan = this->target->next_object_after(scan); } } }; }