update_word_references(compiled);
}
-void update_literal_and_word_references(code_block *compiled)
+void update_literal_and_word_references(code_block *compiled, factorvm *myvm)
{
- return vm->update_literal_and_word_references(compiled);
+ return myvm->update_literal_and_word_references(compiled);
}
void factorvm::check_code_address(cell address)
void update_word_references(code_block *compiled, factorvm *myvm);
-void update_literal_and_word_references(code_block *compiled);
+void update_literal_and_word_references(code_block *compiled, factorvm *myvm);
void mark_code_block(code_block *compiled);
add_to_free_list(heap,(free_heap_block *)prev);
scan->status = B_ALLOCATED;
prev = scan;
- iter(scan);
+ iter(scan,this);
break;
default:
critical_error("Invalid scan->status",(cell)scan);
heap_free_list free;
};
-typedef void (*heap_iterator)(heap_block *compiled);
+typedef void (*heap_iterator)(heap_block *compiled,factorvm *vm);
void new_heap(heap *h, cell size);
void build_free_list(heap *h, cell size);