VM: removing the 1-arg overload of iterate() (better to be explicit about the fixup)

char-rename
Björn Lindqvist 2016-09-22 17:03:38 +02:00
parent 764a604467
commit d71bd83f57
6 changed files with 6 additions and 12 deletions

View File

@ -73,7 +73,7 @@ void code_heap::verify_all_blocks_set() {
auto all_blocks_set_verifier = [&](code_block* block, cell size) { auto all_blocks_set_verifier = [&](code_block* block, cell size) {
FACTOR_ASSERT(all_blocks.find((cell)block) != all_blocks.end()); FACTOR_ASSERT(all_blocks.find((cell)block) != all_blocks.end());
}; };
allocator->iterate(all_blocks_set_verifier); allocator->iterate(all_blocks_set_verifier, no_fixup());
} }
code_block* code_heap::code_block_for_address(cell address) { code_block* code_heap::code_block_for_address(cell address) {
@ -104,7 +104,7 @@ void code_heap::initialize_all_blocks_set() {
auto all_blocks_set_inserter = [&](code_block* block, cell size) { auto all_blocks_set_inserter = [&](code_block* block, cell size) {
all_blocks.insert((cell)block); all_blocks.insert((cell)block);
}; };
allocator->iterate(all_blocks_set_inserter); allocator->iterate(all_blocks_set_inserter, no_fixup());
#ifdef FACTOR_DEBUG #ifdef FACTOR_DEBUG
verify_all_blocks_set(); verify_all_blocks_set();
#endif #endif

View File

@ -138,7 +138,7 @@ void factor_vm::collect_compact_impl() {
auto callback_updater = [&](code_block* stub, cell size) { auto callback_updater = [&](code_block* stub, cell size) {
callbacks->update(stub); callbacks->update(stub);
}; };
callbacks->allocator->iterate(callback_updater); callbacks->allocator->iterate(callback_updater, no_fixup());
code->initialize_all_blocks_set(); code->initialize_all_blocks_set();

View File

@ -368,7 +368,7 @@ struct code_block_printer {
// Dump all code blocks for debugging // Dump all code blocks for debugging
void factor_vm::dump_code_heap(ostream& out) { void factor_vm::dump_code_heap(ostream& out) {
code_block_printer printer(this, out); code_block_printer printer(this, out);
code->allocator->iterate(printer); code->allocator->iterate(printer, no_fixup());
out << printer.reloc_size << " bytes used by relocation tables" << endl; out << printer.reloc_size << " bytes used by relocation tables" << endl;
out << printer.parameter_size << " bytes used by parameter tables" << endl; out << printer.parameter_size << " bytes used by parameter tables" << endl;
} }

View File

@ -206,12 +206,6 @@ void free_list_allocator<Block>::iterate(Iterator& iter, Fixup fixup) {
} }
} }
template <typename Block>
template <typename Iterator>
void free_list_allocator<Block>::iterate(Iterator& iter) {
iterate(iter, no_fixup());
}
template <typename Block> template <typename Block>
allocator_room free_list_allocator<Block>::as_allocator_room() { allocator_room free_list_allocator<Block>::as_allocator_room() {
allocator_room room; allocator_room room;

View File

@ -200,7 +200,7 @@ template <typename Fixup> void slot_visitor<Fixup>::visit_all_roots() {
auto callback_slot_visitor = [&](code_block* stub, cell size) { auto callback_slot_visitor = [&](code_block* stub, cell size) {
visit_handle(&stub->owner); visit_handle(&stub->owner);
}; };
parent->callbacks->allocator->iterate(callback_slot_visitor); parent->callbacks->allocator->iterate(callback_slot_visitor, no_fixup());
FACTOR_FOR_EACH(parent->code->uninitialized_blocks) { FACTOR_FOR_EACH(parent->code->uninitialized_blocks) {
iter->second = visit_pointer(iter->second); iter->second = visit_pointer(iter->second);

View File

@ -571,7 +571,7 @@ struct factor_vm {
//code heap //code heap
template <typename Iterator> void each_code_block(Iterator& iter) { template <typename Iterator> void each_code_block(Iterator& iter) {
code->allocator->iterate(iter); code->allocator->iterate(iter, no_fixup());
} }
void update_code_heap_words(bool reset_inline_caches); void update_code_heap_words(bool reset_inline_caches);