VM: vm::iterate_active_callstacks is only used once, so it's simpler if the code body is "inline"

db4
Björn Lindqvist 2015-01-10 15:08:09 +00:00
parent b61eaa8a16
commit dc9e937beb
2 changed files with 5 additions and 10 deletions

View File

@ -95,7 +95,11 @@ void code_block_visitor<Fixup>::visit_embedded_code_pointers(
template <typename Fixup>
void code_block_visitor<Fixup>::visit_context_code_blocks() {
call_frame_code_block_visitor<Fixup> call_frame_visitor(parent, fixup);
parent->iterate_active_callstacks(call_frame_visitor, fixup);
std::set<context*>::const_iterator begin = parent->active_contexts.begin();
std::set<context*>::const_iterator end = parent->active_contexts.end();
while (begin != end) {
parent->iterate_callstack(*begin++, call_frame_visitor, fixup);
}
}
template <typename Fixup>

View File

@ -177,15 +177,6 @@ struct factor_vm {
void primitive_check_datastack();
void primitive_load_locals();
template <typename Iterator, typename Fixup>
void iterate_active_callstacks(Iterator& iter, Fixup& fixup) {
std::set<context*>::const_iterator begin = active_contexts.begin();
std::set<context*>::const_iterator end = active_contexts.end();
while (begin != end) {
iterate_callstack(*begin++, iter, fixup);
}
}
// run
void primitive_exit();
void primitive_nano_count();