VM: the clear_mark_bits methods are only called once -- make the calls inline instead

db4
Björn Lindqvist 2015-01-09 21:28:16 +00:00
parent fb9fa12cdd
commit 693e8ad33a
4 changed files with 2 additions and 7 deletions

View File

@ -47,8 +47,6 @@ void code_heap::set_marked_p(code_block* compiled) {
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) {
FACTOR_ASSERT(!uninitialized_p(compiled));
points_to_nursery.erase(compiled);

View File

@ -39,7 +39,6 @@ struct code_heap {
bool uninitialized_p(code_block* compiled);
bool marked_p(code_block* compiled);
void set_marked_p(code_block* compiled);
void clear_mark_bits();
void free(code_block* compiled);
void flush_icache();
void guard_safepoint();

View File

@ -36,8 +36,8 @@ void factor_vm::collect_mark_impl(bool trace_contexts_p) {
mark_stack.clear();
code->clear_mark_bits();
data->tenured->clear_mark_bits();
code->allocator->state.clear_mark_bits();
data->tenured->state.clear_mark_bits();
collector.data_visitor.visit_roots();
if (trace_contexts_p) {

View File

@ -25,8 +25,6 @@ struct tenured_space : free_list_allocator<object> {
return (cell)next_allocated_block_after(next);
}
void clear_mark_bits() { state.clear_mark_bits(); }
bool marked_p(object* obj) {
return this->state.marked_p((cell)obj);
}