VM: all the started_<blah>() replaced with reset_timer()

locals-and-roots
Björn Lindqvist 2016-04-24 15:21:17 +02:00
parent 82e2de5e12
commit 58ad5fb4ce
7 changed files with 11 additions and 23 deletions

View File

@ -32,13 +32,13 @@ void factor_vm::collect_aging() {
gc_event* event = current_gc->event;
if (event)
event->started_card_scan();
event->reset_timer();
collector.trace_cards(data->tenured, card_points_to_aging, 0xff);
if (event)
event->ended_card_scan(collector.cards_scanned, collector.decks_scanned);
if (event)
event->started_code_scan();
event->reset_timer();
collector.trace_code_heap_roots(&code->points_to_aging);
if (event)
event->ended_code_scan(code->points_to_aging.size());

View File

@ -83,7 +83,7 @@ void factor_vm::collect_compact_impl() {
#endif
if (event)
event->started_compaction();
event->reset_timer();
tenured_space* tenured = data->tenured;
mark_bits* data_forwarding_map = &tenured->state;

View File

@ -67,7 +67,7 @@ void factor_vm::collect_sweep_impl() {
gc_event* event = current_gc->event;
if (event)
event->started_data_sweep();
event->reset_timer();
data->tenured->sweep();
if (event)
event->ended_data_sweep();
@ -75,7 +75,7 @@ void factor_vm::collect_sweep_impl() {
update_code_roots_for_sweep();
if (event)
event->started_code_sweep();
event->reset_timer();
code->sweep();
if (event)
event->ended_code_sweep();

View File

@ -18,7 +18,7 @@ gc_event::gc_event(gc_op op, factor_vm* parent)
start_time = nano_count();
}
void gc_event::started_card_scan() { temp_time = nano_count(); }
void gc_event::reset_timer() { temp_time = nano_count(); }
void gc_event::ended_card_scan(cell cards_scanned_, cell decks_scanned_) {
cards_scanned += cards_scanned_;
@ -26,27 +26,19 @@ void gc_event::ended_card_scan(cell cards_scanned_, cell decks_scanned_) {
card_scan_time = (cell)(nano_count() - temp_time);
}
void gc_event::started_code_scan() { temp_time = nano_count(); }
void gc_event::ended_code_scan(cell code_blocks_scanned_) {
code_blocks_scanned += code_blocks_scanned_;
code_scan_time = (cell)(nano_count() - temp_time);
}
void gc_event::started_data_sweep() { temp_time = nano_count(); }
void gc_event::ended_data_sweep() {
data_sweep_time = (cell)(nano_count() - temp_time);
}
void gc_event::started_code_sweep() { temp_time = nano_count(); }
void gc_event::ended_code_sweep() {
code_sweep_time = (cell)(nano_count() - temp_time);
}
void gc_event::started_compaction() { temp_time = nano_count(); }
void gc_event::ended_compaction() {
compaction_time = (cell)(nano_count() - temp_time);
}

View File

@ -28,15 +28,11 @@ struct gc_event {
uint64_t temp_time;
gc_event(gc_op op, factor_vm* parent);
void started_card_scan();
void reset_timer();
void ended_card_scan(cell cards_scanned_, cell decks_scanned_);
void started_code_scan();
void ended_code_scan(cell code_blocks_scanned_);
void started_data_sweep();
void ended_data_sweep();
void started_code_sweep();
void ended_code_sweep();
void started_compaction();
void ended_compaction();
void ended_gc(factor_vm* parent);
};

View File

@ -28,7 +28,7 @@ void factor_vm::collect_nursery() {
gc_event* event = current_gc->event;
if (event)
event->started_card_scan();
event->reset_timer();
collector.trace_cards(data->tenured, card_points_to_nursery,
card_points_to_nursery);
collector.trace_cards(data->aging, card_points_to_nursery, 0xff);
@ -37,7 +37,7 @@ void factor_vm::collect_nursery() {
event->ended_card_scan(collector.cards_scanned, collector.decks_scanned);
if (event)
event->started_code_scan();
event->reset_timer();
collector.trace_code_heap_roots(&code->points_to_nursery);
if (event)
event->ended_code_scan(code->points_to_nursery.size());

View File

@ -14,13 +14,13 @@ void factor_vm::collect_to_tenured() {
gc_event* event = current_gc->event;
if (event)
event->started_card_scan();
event->reset_timer();
collector.trace_cards(data->tenured, card_points_to_aging, 0xff);
if (event)
event->ended_card_scan(collector.cards_scanned, collector.decks_scanned);
if (event)
event->started_code_scan();
event->reset_timer();
collector.trace_code_heap_roots(&code->points_to_aging);
if (event)
event->ended_code_scan(code->points_to_aging.size());