vm: make some more ctors explicit just for kicks
parent
62e718eaa9
commit
fae27fb361
|
@ -6,7 +6,7 @@ struct aging_policy {
|
||||||
aging_space *aging;
|
aging_space *aging;
|
||||||
tenured_space *tenured;
|
tenured_space *tenured;
|
||||||
|
|
||||||
aging_policy(factor_vm *parent_) :
|
explicit aging_policy(factor_vm *parent_) :
|
||||||
parent(parent_),
|
parent(parent_),
|
||||||
aging(parent->data->aging),
|
aging(parent->data->aging),
|
||||||
tenured(parent->data->tenured) {}
|
tenured(parent->data->tenured) {}
|
||||||
|
@ -22,7 +22,7 @@ struct aging_policy {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct aging_collector : copying_collector<aging_space,aging_policy> {
|
struct aging_collector : copying_collector<aging_space,aging_policy> {
|
||||||
aging_collector(factor_vm *parent_);
|
explicit aging_collector(factor_vm *parent_);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace factor
|
||||||
struct aging_space : bump_allocator<object> {
|
struct aging_space : bump_allocator<object> {
|
||||||
object_start_map starts;
|
object_start_map starts;
|
||||||
|
|
||||||
aging_space(cell size, cell start) :
|
explicit aging_space(cell size, cell start) :
|
||||||
bump_allocator<object>(size,start), starts(size,start) {}
|
bump_allocator<object>(size,start), starts(size,start) {}
|
||||||
|
|
||||||
object *allot(cell size)
|
object *allot(cell size)
|
||||||
|
|
|
@ -8,7 +8,7 @@ template<typename Block> struct bump_allocator {
|
||||||
cell end;
|
cell end;
|
||||||
cell size;
|
cell size;
|
||||||
|
|
||||||
bump_allocator(cell size_, cell start_) :
|
explicit bump_allocator(cell size_, cell start_) :
|
||||||
here(start_), start(start_), end(start_ + size_), size(size_) {}
|
here(start_), start(start_), end(start_ + size_), size(size_) {}
|
||||||
|
|
||||||
inline bool contains_p(Block *block)
|
inline bool contains_p(Block *block)
|
||||||
|
|
|
@ -88,6 +88,7 @@ struct word_updater {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
|
|
||||||
explicit word_updater(factor_vm *parent_) : parent(parent_) {}
|
explicit word_updater(factor_vm *parent_) : parent(parent_) {}
|
||||||
|
|
||||||
void operator()(code_block *compiled, cell size)
|
void operator()(code_block *compiled, cell size)
|
||||||
{
|
{
|
||||||
parent->update_word_references(compiled);
|
parent->update_word_references(compiled);
|
||||||
|
@ -107,7 +108,7 @@ to literals and other words. */
|
||||||
struct word_and_literal_code_heap_updater {
|
struct word_and_literal_code_heap_updater {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
|
|
||||||
word_and_literal_code_heap_updater(factor_vm *parent_) : parent(parent_) {}
|
explicit word_and_literal_code_heap_updater(factor_vm *parent_) : parent(parent_) {}
|
||||||
|
|
||||||
void operator()(code_block *block, cell size)
|
void operator()(code_block *block, cell size)
|
||||||
{
|
{
|
||||||
|
@ -126,7 +127,7 @@ references to card and deck arrays. */
|
||||||
struct code_heap_relocator {
|
struct code_heap_relocator {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
|
|
||||||
code_heap_relocator(factor_vm *parent_) : parent(parent_) {}
|
explicit code_heap_relocator(factor_vm *parent_) : parent(parent_) {}
|
||||||
|
|
||||||
void operator()(code_block *block, cell size)
|
void operator()(code_block *block, cell size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,7 @@ struct dummy_unmarker {
|
||||||
|
|
||||||
struct simple_unmarker {
|
struct simple_unmarker {
|
||||||
card unmask;
|
card unmask;
|
||||||
simple_unmarker(card unmask_) : unmask(unmask_) {}
|
explicit simple_unmarker(card unmask_) : unmask(unmask_) {}
|
||||||
void operator()(card *ptr) { *ptr &= ~unmask; }
|
void operator()(card *ptr) { *ptr &= ~unmask; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -290,7 +290,7 @@ struct code_block_printer {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
cell reloc_size, literal_size;
|
cell reloc_size, literal_size;
|
||||||
|
|
||||||
code_block_printer(factor_vm *parent_) :
|
explicit code_block_printer(factor_vm *parent_) :
|
||||||
parent(parent_), reloc_size(0), literal_size(0) {}
|
parent(parent_), reloc_size(0), literal_size(0) {}
|
||||||
|
|
||||||
void operator()(code_block *scan, cell size)
|
void operator()(code_block *scan, cell size)
|
||||||
|
|
|
@ -32,7 +32,7 @@ struct code_block_marker {
|
||||||
struct object_start_map_updater {
|
struct object_start_map_updater {
|
||||||
object_start_map *starts;
|
object_start_map *starts;
|
||||||
|
|
||||||
object_start_map_updater(object_start_map *starts_) : starts(starts_) {}
|
explicit object_start_map_updater(object_start_map *starts_) : starts(starts_) {}
|
||||||
|
|
||||||
void operator()(object *obj, cell size)
|
void operator()(object *obj, cell size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,7 +5,7 @@ struct full_policy {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
tenured_space *tenured;
|
tenured_space *tenured;
|
||||||
|
|
||||||
full_policy(factor_vm *parent_) : parent(parent_), tenured(parent->data->tenured) {}
|
explicit full_policy(factor_vm *parent_) : parent(parent_), tenured(parent->data->tenured) {}
|
||||||
|
|
||||||
bool should_copy_p(object *untagged)
|
bool should_copy_p(object *untagged)
|
||||||
{
|
{
|
||||||
|
@ -27,7 +27,7 @@ struct full_policy {
|
||||||
struct full_collector : collector<tenured_space,full_policy> {
|
struct full_collector : collector<tenured_space,full_policy> {
|
||||||
bool trace_contexts_p;
|
bool trace_contexts_p;
|
||||||
|
|
||||||
full_collector(factor_vm *parent_);
|
explicit full_collector(factor_vm *parent_);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,7 +215,7 @@ struct code_block_fixupper {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
cell data_relocation_base;
|
cell data_relocation_base;
|
||||||
|
|
||||||
code_block_fixupper(factor_vm *parent_, cell data_relocation_base_) :
|
explicit code_block_fixupper(factor_vm *parent_, cell data_relocation_base_) :
|
||||||
parent(parent_), data_relocation_base(data_relocation_base_) { }
|
parent(parent_), data_relocation_base(data_relocation_base_) { }
|
||||||
|
|
||||||
void operator()(code_block *compiled, cell size)
|
void operator()(code_block *compiled, cell size)
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace factor
|
||||||
struct nursery_policy {
|
struct nursery_policy {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
|
|
||||||
nursery_policy(factor_vm *parent_) : parent(parent_) {}
|
explicit nursery_policy(factor_vm *parent_) : parent(parent_) {}
|
||||||
|
|
||||||
bool should_copy_p(object *obj)
|
bool should_copy_p(object *obj)
|
||||||
{
|
{
|
||||||
|
@ -17,7 +17,7 @@ struct nursery_policy {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct nursery_collector : copying_collector<aging_space,nursery_policy> {
|
struct nursery_collector : copying_collector<aging_space,nursery_policy> {
|
||||||
nursery_collector(factor_vm *parent_);
|
explicit nursery_collector(factor_vm *parent_);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ namespace factor
|
||||||
|
|
||||||
struct nursery_space : bump_allocator<object>
|
struct nursery_space : bump_allocator<object>
|
||||||
{
|
{
|
||||||
nursery_space(cell size, cell start) : bump_allocator<object>(size,start) {}
|
explicit nursery_space(cell size, cell start) : bump_allocator<object>(size,start) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ struct object_start_map {
|
||||||
card *object_start_offsets;
|
card *object_start_offsets;
|
||||||
card *object_start_offsets_end;
|
card *object_start_offsets_end;
|
||||||
|
|
||||||
object_start_map(cell size_, cell start_);
|
explicit object_start_map(cell size_, cell start_);
|
||||||
~object_start_map();
|
~object_start_map();
|
||||||
|
|
||||||
cell first_object_in_card(cell card_index);
|
cell first_object_in_card(cell card_index);
|
||||||
|
|
|
@ -5,7 +5,7 @@ template<typename Visitor> struct slot_visitor {
|
||||||
factor_vm *parent;
|
factor_vm *parent;
|
||||||
Visitor visitor;
|
Visitor visitor;
|
||||||
|
|
||||||
slot_visitor<Visitor>(factor_vm *parent_, Visitor visitor_) :
|
explicit slot_visitor<Visitor>(factor_vm *parent_, Visitor visitor_) :
|
||||||
parent(parent_), visitor(visitor_) {}
|
parent(parent_), visitor(visitor_) {}
|
||||||
|
|
||||||
void visit_handle(cell *handle)
|
void visit_handle(cell *handle)
|
||||||
|
|
|
@ -5,7 +5,7 @@ struct tenured_space : free_list_allocator<object> {
|
||||||
object_start_map starts;
|
object_start_map starts;
|
||||||
std::vector<object *> mark_stack;
|
std::vector<object *> mark_stack;
|
||||||
|
|
||||||
tenured_space(cell size, cell start) :
|
explicit tenured_space(cell size, cell start) :
|
||||||
free_list_allocator<object>(size,start), starts(size,start) {}
|
free_list_allocator<object>(size,start), starts(size,start) {}
|
||||||
|
|
||||||
object *allot(cell size)
|
object *allot(cell size)
|
||||||
|
|
|
@ -5,7 +5,7 @@ struct to_tenured_policy {
|
||||||
factor_vm *myvm;
|
factor_vm *myvm;
|
||||||
tenured_space *tenured;
|
tenured_space *tenured;
|
||||||
|
|
||||||
to_tenured_policy(factor_vm *myvm_) : myvm(myvm_), tenured(myvm->data->tenured) {}
|
explicit to_tenured_policy(factor_vm *myvm_) : myvm(myvm_), tenured(myvm->data->tenured) {}
|
||||||
|
|
||||||
bool should_copy_p(object *untagged)
|
bool should_copy_p(object *untagged)
|
||||||
{
|
{
|
||||||
|
@ -21,7 +21,7 @@ struct to_tenured_policy {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct to_tenured_collector : collector<tenured_space,to_tenured_policy> {
|
struct to_tenured_collector : collector<tenured_space,to_tenured_policy> {
|
||||||
to_tenured_collector(factor_vm *myvm_);
|
explicit to_tenured_collector(factor_vm *myvm_);
|
||||||
void tenure_reachable_objects();
|
void tenure_reachable_objects();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue