diff --git a/vm/data_heap.cpp b/vm/data_heap.cpp index 020954bf05..e484a18b7a 100755 --- a/vm/data_heap.cpp +++ b/vm/data_heap.cpp @@ -237,7 +237,7 @@ void init_data_heap(cell gens,cell young_size,cell aging_size,cell tenured_size, } /* Size of the object pointed to by a tagged pointer */ -cell object_size(cell tagged) +cell factorvm::object_size(cell tagged) { if(immediate_p(tagged)) return 0; @@ -245,6 +245,11 @@ cell object_size(cell tagged) return untagged_object_size(untag(tagged)); } +cell object_size(cell tagged) +{ + return vm->object_size(tagged); +} + /* Size of the object pointed to by an untagged pointer */ cell factorvm::untagged_object_size(object *pointer) { diff --git a/vm/vm.hpp b/vm/vm.hpp index 1ed6d965bc..3aab1061ff 100644 --- a/vm/vm.hpp +++ b/vm/vm.hpp @@ -154,6 +154,9 @@ struct factorvm { inline void vmprim_end_scan(); template void each_object(T &functor); cell find_all_words(); + cell object_size(cell tagged); + // next method here: + //write barrier inline card *addr_to_card(cell a); @@ -412,7 +415,6 @@ struct factorvm { inline double fixnum_to_float(cell tagged); template T *untag_check(cell value); template T *untag(cell value); - // next method here: //io void init_c_io();