diff --git a/vm/aging_collector.hpp b/vm/aging_collector.hpp index a04261d826..56550b211a 100644 --- a/vm/aging_collector.hpp +++ b/vm/aging_collector.hpp @@ -6,7 +6,7 @@ struct aging_policy { aging_space *aging; tenured_space *tenured; - aging_policy(factor_vm *parent_) : + explicit aging_policy(factor_vm *parent_) : parent(parent_), aging(parent->data->aging), tenured(parent->data->tenured) {} @@ -22,7 +22,7 @@ struct aging_policy { }; struct aging_collector : copying_collector { - aging_collector(factor_vm *parent_); + explicit aging_collector(factor_vm *parent_); }; } diff --git a/vm/aging_space.hpp b/vm/aging_space.hpp index 99efd44de5..7a28f54ebf 100644 --- a/vm/aging_space.hpp +++ b/vm/aging_space.hpp @@ -4,7 +4,7 @@ namespace factor struct aging_space : bump_allocator { object_start_map starts; - aging_space(cell size, cell start) : + explicit aging_space(cell size, cell start) : bump_allocator(size,start), starts(size,start) {} object *allot(cell size) diff --git a/vm/bump_allocator.hpp b/vm/bump_allocator.hpp index b41613b540..8f4fabe9a7 100644 --- a/vm/bump_allocator.hpp +++ b/vm/bump_allocator.hpp @@ -8,7 +8,7 @@ template struct bump_allocator { cell end; cell size; - bump_allocator(cell size_, cell start_) : + explicit bump_allocator(cell size_, cell start_) : here(start_), start(start_), end(start_ + size_), size(size_) {} inline bool contains_p(Block *block) diff --git a/vm/code_heap.cpp b/vm/code_heap.cpp index bd40b1f0da..2ce6d00b7c 100755 --- a/vm/code_heap.cpp +++ b/vm/code_heap.cpp @@ -88,6 +88,7 @@ struct word_updater { factor_vm *parent; explicit word_updater(factor_vm *parent_) : parent(parent_) {} + void operator()(code_block *compiled, cell size) { parent->update_word_references(compiled); @@ -107,7 +108,7 @@ to literals and other words. */ struct word_and_literal_code_heap_updater { 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) { @@ -126,7 +127,7 @@ references to card and deck arrays. */ struct code_heap_relocator { 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) { diff --git a/vm/copying_collector.hpp b/vm/copying_collector.hpp index 012aa4ec10..f79f97d34e 100644 --- a/vm/copying_collector.hpp +++ b/vm/copying_collector.hpp @@ -7,7 +7,7 @@ struct dummy_unmarker { struct simple_unmarker { card unmask; - simple_unmarker(card unmask_) : unmask(unmask_) {} + explicit simple_unmarker(card unmask_) : unmask(unmask_) {} void operator()(card *ptr) { *ptr &= ~unmask; } }; diff --git a/vm/debug.cpp b/vm/debug.cpp index 1ee2b858fb..0598d164e6 100755 --- a/vm/debug.cpp +++ b/vm/debug.cpp @@ -290,7 +290,7 @@ struct code_block_printer { factor_vm *parent; 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) {} void operator()(code_block *scan, cell size) diff --git a/vm/full_collector.cpp b/vm/full_collector.cpp index 2afb4181f7..18e368ab2b 100644 --- a/vm/full_collector.cpp +++ b/vm/full_collector.cpp @@ -32,7 +32,7 @@ struct code_block_marker { struct object_start_map_updater { 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) { diff --git a/vm/full_collector.hpp b/vm/full_collector.hpp index c9750302d1..eb125b7429 100644 --- a/vm/full_collector.hpp +++ b/vm/full_collector.hpp @@ -5,7 +5,7 @@ struct full_policy { factor_vm *parent; 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) { @@ -27,7 +27,7 @@ struct full_policy { struct full_collector : collector { bool trace_contexts_p; - full_collector(factor_vm *parent_); + explicit full_collector(factor_vm *parent_); }; } diff --git a/vm/image.cpp b/vm/image.cpp index 1b7debc2b2..bee351b830 100755 --- a/vm/image.cpp +++ b/vm/image.cpp @@ -215,7 +215,7 @@ struct code_block_fixupper { factor_vm *parent; 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_) { } void operator()(code_block *compiled, cell size) diff --git a/vm/local_roots.hpp b/vm/local_roots.hpp index 58142be8f2..442a91f350 100644 --- a/vm/local_roots.hpp +++ b/vm/local_roots.hpp @@ -7,7 +7,7 @@ struct gc_root : public tagged factor_vm *parent; void push() { parent->gc_locals.push_back((cell)this); } - + explicit gc_root(cell value_,factor_vm *vm) : tagged(value_),parent(vm) { push(); } explicit gc_root(Type *value_, factor_vm *vm) : tagged(value_),parent(vm) { push(); } diff --git a/vm/nursery_collector.hpp b/vm/nursery_collector.hpp index 778efab138..de9b38d283 100644 --- a/vm/nursery_collector.hpp +++ b/vm/nursery_collector.hpp @@ -4,7 +4,7 @@ namespace factor struct nursery_policy { factor_vm *parent; - nursery_policy(factor_vm *parent_) : parent(parent_) {} + explicit nursery_policy(factor_vm *parent_) : parent(parent_) {} bool should_copy_p(object *obj) { @@ -17,7 +17,7 @@ struct nursery_policy { }; struct nursery_collector : copying_collector { - nursery_collector(factor_vm *parent_); + explicit nursery_collector(factor_vm *parent_); }; } diff --git a/vm/nursery_space.hpp b/vm/nursery_space.hpp index 4425c1612b..c44d2a8e44 100644 --- a/vm/nursery_space.hpp +++ b/vm/nursery_space.hpp @@ -3,7 +3,7 @@ namespace factor struct nursery_space : bump_allocator { - nursery_space(cell size, cell start) : bump_allocator(size,start) {} + explicit nursery_space(cell size, cell start) : bump_allocator(size,start) {} }; } diff --git a/vm/object_start_map.hpp b/vm/object_start_map.hpp index 640e205852..69f9c11a6a 100644 --- a/vm/object_start_map.hpp +++ b/vm/object_start_map.hpp @@ -8,7 +8,7 @@ struct object_start_map { card *object_start_offsets; card *object_start_offsets_end; - object_start_map(cell size_, cell start_); + explicit object_start_map(cell size_, cell start_); ~object_start_map(); cell first_object_in_card(cell card_index); diff --git a/vm/slot_visitor.hpp b/vm/slot_visitor.hpp index 67a51549b1..b564949072 100644 --- a/vm/slot_visitor.hpp +++ b/vm/slot_visitor.hpp @@ -5,7 +5,7 @@ template struct slot_visitor { factor_vm *parent; Visitor visitor; - slot_visitor(factor_vm *parent_, Visitor visitor_) : + explicit slot_visitor(factor_vm *parent_, Visitor visitor_) : parent(parent_), visitor(visitor_) {} void visit_handle(cell *handle) diff --git a/vm/tenured_space.hpp b/vm/tenured_space.hpp index 7cc4131fa0..1b3baeaf52 100644 --- a/vm/tenured_space.hpp +++ b/vm/tenured_space.hpp @@ -5,7 +5,7 @@ struct tenured_space : free_list_allocator { object_start_map starts; std::vector mark_stack; - tenured_space(cell size, cell start) : + explicit tenured_space(cell size, cell start) : free_list_allocator(size,start), starts(size,start) {} object *allot(cell size) diff --git a/vm/to_tenured_collector.hpp b/vm/to_tenured_collector.hpp index e87ba5ee29..2f2717efd1 100644 --- a/vm/to_tenured_collector.hpp +++ b/vm/to_tenured_collector.hpp @@ -5,7 +5,7 @@ struct to_tenured_policy { factor_vm *myvm; 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) { @@ -21,7 +21,7 @@ struct to_tenured_policy { }; struct to_tenured_collector : collector { - to_tenured_collector(factor_vm *myvm_); + explicit to_tenured_collector(factor_vm *myvm_); void tenure_reachable_objects(); };