From d2fd7bd3e1100468bfbca8870ee7b920dd241dce Mon Sep 17 00:00:00 2001 From: Phil Dawes Date: Mon, 17 Aug 2009 21:37:14 +0100 Subject: [PATCH] Dev checkpoint --- vm/code_block.cpp | 4 ++-- vm/code_block.hpp | 2 +- vm/code_gc.cpp | 2 +- vm/code_gc.hpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vm/code_block.cpp b/vm/code_block.cpp index 1beeddd69e..9486d7f3b3 100755 --- a/vm/code_block.cpp +++ b/vm/code_block.cpp @@ -467,9 +467,9 @@ void factorvm::update_literal_and_word_references(code_block *compiled) 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) diff --git a/vm/code_block.hpp b/vm/code_block.hpp index e29d161339..0addaeb854 100644 --- a/vm/code_block.hpp +++ b/vm/code_block.hpp @@ -78,7 +78,7 @@ void copy_literal_references(code_block *compiled, factorvm *myvm); 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); diff --git a/vm/code_gc.cpp b/vm/code_gc.cpp index d229fcd3bf..9ccc83aa0f 100755 --- a/vm/code_gc.cpp +++ b/vm/code_gc.cpp @@ -299,7 +299,7 @@ void factorvm::free_unmarked(heap *heap, heap_iterator iter) 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); diff --git a/vm/code_gc.hpp b/vm/code_gc.hpp index 1cfafb69c2..08bdd327c7 100755 --- a/vm/code_gc.hpp +++ b/vm/code_gc.hpp @@ -14,7 +14,7 @@ struct heap { 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);