VM: calls to visit_code_roots() replaced with visit_uninitialized_code_blocks()
parent
eb7a5ab1ba
commit
615420fe61
|
@ -23,8 +23,6 @@ template <typename Fixup> struct code_block_visitor {
|
||||||
void visit_embedded_code_pointers(code_block* compiled);
|
void visit_embedded_code_pointers(code_block* compiled);
|
||||||
void visit_context_code_blocks();
|
void visit_context_code_blocks();
|
||||||
void visit_uninitialized_code_blocks();
|
void visit_uninitialized_code_blocks();
|
||||||
|
|
||||||
void visit_code_roots();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename Fixup>
|
template <typename Fixup>
|
||||||
|
@ -117,8 +115,4 @@ void code_block_visitor<Fixup>::visit_uninitialized_code_blocks() {
|
||||||
parent->code->uninitialized_blocks = new_uninitialized_blocks;
|
parent->code->uninitialized_blocks = new_uninitialized_blocks;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Fixup> void code_block_visitor<Fixup>::visit_code_roots() {
|
|
||||||
visit_uninitialized_code_blocks();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,7 +198,7 @@ void factor_vm::collect_compact_impl(bool trace_contexts_p) {
|
||||||
slot_visitor<compaction_fixup> data_forwarder(this, fixup);
|
slot_visitor<compaction_fixup> data_forwarder(this, fixup);
|
||||||
code_block_visitor<compaction_fixup> code_forwarder(this, fixup);
|
code_block_visitor<compaction_fixup> code_forwarder(this, fixup);
|
||||||
|
|
||||||
code_forwarder.visit_code_roots();
|
code_forwarder.visit_uninitialized_code_blocks();
|
||||||
|
|
||||||
/* Object start offsets get recomputed by the object_compaction_updater */
|
/* Object start offsets get recomputed by the object_compaction_updater */
|
||||||
data->tenured->starts.clear_object_start_offsets();
|
data->tenured->starts.clear_object_start_offsets();
|
||||||
|
@ -291,7 +291,7 @@ void factor_vm::collect_compact_code_impl(bool trace_contexts_p) {
|
||||||
slot_visitor<code_compaction_fixup> data_forwarder(this, fixup);
|
slot_visitor<code_compaction_fixup> data_forwarder(this, fixup);
|
||||||
code_block_visitor<code_compaction_fixup> code_forwarder(this, fixup);
|
code_block_visitor<code_compaction_fixup> code_forwarder(this, fixup);
|
||||||
|
|
||||||
code_forwarder.visit_code_roots();
|
code_forwarder.visit_uninitialized_code_blocks();
|
||||||
|
|
||||||
if (trace_contexts_p)
|
if (trace_contexts_p)
|
||||||
code_forwarder.visit_context_code_blocks();
|
code_forwarder.visit_context_code_blocks();
|
||||||
|
|
|
@ -43,7 +43,7 @@ void factor_vm::collect_mark_impl(bool trace_contexts_p) {
|
||||||
if (trace_contexts_p) {
|
if (trace_contexts_p) {
|
||||||
collector.data_visitor.visit_contexts();
|
collector.data_visitor.visit_contexts();
|
||||||
collector.code_visitor.visit_context_code_blocks();
|
collector.code_visitor.visit_context_code_blocks();
|
||||||
collector.code_visitor.visit_code_roots();
|
collector.code_visitor.visit_uninitialized_code_blocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!mark_stack.empty()) {
|
while (!mark_stack.empty()) {
|
||||||
|
|
Loading…
Reference in New Issue