]> gitweb.factorcode.org Git - factor.git/blob - vm/to_tenured_collector.cpp
VM: all the started_<blah>() replaced with reset_timer()
[factor.git] / vm / to_tenured_collector.cpp
1 #include "master.hpp"
2
3 namespace factor {
4
5 void factor_vm::collect_to_tenured() {
6   /* Copy live objects from aging space to tenured space. */
7   collector<tenured_space, to_tenured_policy> collector(this,
8                                                         this->data->tenured,
9                                                         to_tenured_policy(this));
10
11   mark_stack.clear();
12
13   collector.visitor.visit_all_roots();
14   gc_event* event = current_gc->event;
15
16   if (event)
17     event->reset_timer();
18   collector.trace_cards(data->tenured, card_points_to_aging, 0xff);
19   if (event)
20     event->ended_card_scan(collector.cards_scanned, collector.decks_scanned);
21
22   if (event)
23     event->reset_timer();
24   collector.trace_code_heap_roots(&code->points_to_aging);
25   if (event)
26     event->ended_code_scan(code->points_to_aging.size());
27
28   collector.visitor.visit_mark_stack(&mark_stack);
29
30   data->reset_nursery();
31   data->reset_aging();
32   code->clear_remembered_set();
33 }
34
35 }