VM: the clear_mark_bits methods are only called once -- make the calls inline instead
parent
fb9fa12cdd
commit
693e8ad33a
|
@ -47,8 +47,6 @@ void code_heap::set_marked_p(code_block* compiled) {
|
||||||
allocator->state.set_marked_p((cell)compiled, compiled->size());
|
allocator->state.set_marked_p((cell)compiled, compiled->size());
|
||||||
}
|
}
|
||||||
|
|
||||||
void code_heap::clear_mark_bits() { allocator->state.clear_mark_bits(); }
|
|
||||||
|
|
||||||
void code_heap::free(code_block* compiled) {
|
void code_heap::free(code_block* compiled) {
|
||||||
FACTOR_ASSERT(!uninitialized_p(compiled));
|
FACTOR_ASSERT(!uninitialized_p(compiled));
|
||||||
points_to_nursery.erase(compiled);
|
points_to_nursery.erase(compiled);
|
||||||
|
|
|
@ -39,7 +39,6 @@ struct code_heap {
|
||||||
bool uninitialized_p(code_block* compiled);
|
bool uninitialized_p(code_block* compiled);
|
||||||
bool marked_p(code_block* compiled);
|
bool marked_p(code_block* compiled);
|
||||||
void set_marked_p(code_block* compiled);
|
void set_marked_p(code_block* compiled);
|
||||||
void clear_mark_bits();
|
|
||||||
void free(code_block* compiled);
|
void free(code_block* compiled);
|
||||||
void flush_icache();
|
void flush_icache();
|
||||||
void guard_safepoint();
|
void guard_safepoint();
|
||||||
|
|
|
@ -36,8 +36,8 @@ void factor_vm::collect_mark_impl(bool trace_contexts_p) {
|
||||||
|
|
||||||
mark_stack.clear();
|
mark_stack.clear();
|
||||||
|
|
||||||
code->clear_mark_bits();
|
code->allocator->state.clear_mark_bits();
|
||||||
data->tenured->clear_mark_bits();
|
data->tenured->state.clear_mark_bits();
|
||||||
|
|
||||||
collector.data_visitor.visit_roots();
|
collector.data_visitor.visit_roots();
|
||||||
if (trace_contexts_p) {
|
if (trace_contexts_p) {
|
||||||
|
|
|
@ -25,8 +25,6 @@ struct tenured_space : free_list_allocator<object> {
|
||||||
return (cell)next_allocated_block_after(next);
|
return (cell)next_allocated_block_after(next);
|
||||||
}
|
}
|
||||||
|
|
||||||
void clear_mark_bits() { state.clear_mark_bits(); }
|
|
||||||
|
|
||||||
bool marked_p(object* obj) {
|
bool marked_p(object* obj) {
|
||||||
return this->state.marked_p((cell)obj);
|
return this->state.marked_p((cell)obj);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue