From: Erik Charlebois Date: Sun, 12 May 2013 02:29:54 +0000 (-0400) Subject: VM: Refactor to_tenured_collector.cpp/hpp to Factor style X-Git-Tag: 0.97~1261 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=93b586da31fed6fb80dd765906839582132164a7 VM: Refactor to_tenured_collector.cpp/hpp to Factor style --- diff --git a/vm/to_tenured_collector.cpp b/vm/to_tenured_collector.cpp index 4d11cdb27b..25151a1ecd 100644 --- a/vm/to_tenured_collector.cpp +++ b/vm/to_tenured_collector.cpp @@ -1,52 +1,49 @@ #include "master.hpp" -namespace factor -{ - -to_tenured_collector::to_tenured_collector(factor_vm *parent_) : - collector( - parent_, - parent_->data->tenured, - to_tenured_policy(parent_)) {} - -void to_tenured_collector::tenure_reachable_objects() -{ - std::vector *mark_stack = &parent->mark_stack; - while(!mark_stack->empty()) - { - cell ptr = mark_stack->back(); - mark_stack->pop_back(); - this->trace_object((object *)ptr); - } +namespace factor { + +to_tenured_collector::to_tenured_collector(factor_vm* parent_) + : collector(parent_, + parent_->data->tenured, + to_tenured_policy(parent_)) {} + +void to_tenured_collector::tenure_reachable_objects() { + std::vector* mark_stack = &parent->mark_stack; + while (!mark_stack->empty()) { + cell ptr = mark_stack->back(); + mark_stack->pop_back(); + this->trace_object((object*)ptr); + } } -void factor_vm::collect_to_tenured() -{ - /* Copy live objects from aging space to tenured space. */ - to_tenured_collector collector(this); +void factor_vm::collect_to_tenured() { + /* Copy live objects from aging space to tenured space. */ + to_tenured_collector collector(this); - mark_stack.clear(); + mark_stack.clear(); - collector.trace_roots(); - collector.trace_contexts(); + collector.trace_roots(); + collector.trace_contexts(); - gc_event *event = current_gc->event; + gc_event* event = current_gc->event; - if(event) event->started_card_scan(); - collector.trace_cards(data->tenured, - card_points_to_aging, - full_unmarker()); - if(event) event->ended_card_scan(collector.cards_scanned,collector.decks_scanned); + if (event) + event->started_card_scan(); + collector.trace_cards(data->tenured, card_points_to_aging, full_unmarker()); + if (event) + event->ended_card_scan(collector.cards_scanned, collector.decks_scanned); - if(event) event->started_code_scan(); - collector.trace_code_heap_roots(&code->points_to_aging); - if(event) event->ended_code_scan(collector.code_blocks_scanned); + if (event) + event->started_code_scan(); + collector.trace_code_heap_roots(&code->points_to_aging); + if (event) + event->ended_code_scan(collector.code_blocks_scanned); - collector.tenure_reachable_objects(); + collector.tenure_reachable_objects(); - data->reset_generation(&nursery); - data->reset_generation(data->aging); - code->clear_remembered_set(); + data->reset_generation(&nursery); + data->reset_generation(data->aging); + code->clear_remembered_set(); } } diff --git a/vm/to_tenured_collector.hpp b/vm/to_tenured_collector.hpp index 8709b9a221..c410109716 100644 --- a/vm/to_tenured_collector.hpp +++ b/vm/to_tenured_collector.hpp @@ -1,28 +1,26 @@ -namespace factor -{ +namespace factor { struct to_tenured_policy { - factor_vm *parent; - tenured_space *tenured; + factor_vm* parent; + tenured_space* tenured; - explicit to_tenured_policy(factor_vm *parent_) : parent(parent_), tenured(parent->data->tenured) {} + explicit to_tenured_policy(factor_vm* parent_) + : parent(parent_), tenured(parent->data->tenured) {} - bool should_copy_p(object *untagged) - { - return !tenured->contains_p(untagged); - } + bool should_copy_p(object* untagged) { + return !tenured->contains_p(untagged); + } - void promoted_object(object *obj) - { - parent->mark_stack.push_back((cell)obj); - } + void promoted_object(object* obj) { + parent->mark_stack.push_back((cell) obj); + } - void visited_object(object *obj) {} + void visited_object(object* obj) {} }; -struct to_tenured_collector : collector { - explicit to_tenured_collector(factor_vm *parent_); - void tenure_reachable_objects(); +struct to_tenured_collector : collector { + explicit to_tenured_collector(factor_vm* parent_); + void tenure_reachable_objects(); }; }