5 to_tenured_collector::to_tenured_collector(factor_vm* parent)
6 : collector<tenured_space, to_tenured_policy>(parent,
8 to_tenured_policy(parent)) {}
10 void factor_vm::collect_to_tenured() {
11 /* Copy live objects from aging space to tenured space. */
12 to_tenured_collector collector(this);
16 collector.visitor.visit_all_roots();
17 gc_event* event = current_gc->event;
20 event->started_card_scan();
21 collector.trace_cards(data->tenured, card_points_to_aging, full_unmarker());
23 event->ended_card_scan(collector.cards_scanned, collector.decks_scanned);
26 event->started_code_scan();
27 collector.trace_code_heap_roots(&code->points_to_aging);
29 event->ended_code_scan(collector.code_blocks_scanned);
31 collector.visitor.visit_mark_stack(&mark_stack);
33 data->reset_nursery();
35 code->clear_remembered_set();