]> gitweb.factorcode.org Git - factor.git/commit
vm: stage code block map fixup properly for GC
authorJoe Groff <arcata@gmail.com>
Tue, 6 Dec 2011 17:14:56 +0000 (09:14 -0800)
committerJoe Groff <arcata@gmail.com>
Wed, 14 Dec 2011 17:56:48 +0000 (09:56 -0800)
commit9236c05e604e3a8b7352c6c39fa0fc1732dd5b6b
tree16533e288f4e953f21f63d83633f7dba52d3b717
parente6a80aa9aa0bb6154bf197dd24adbb7b4ff59fca
vm: stage code block map fixup properly for GC
Don't update the map until the very last thing, and pass untranslated addresses to the iterator functors. Somewhat complicated by the fact that, for startup_fixup, the map is initialized with fixed-up values, so the fixup functor needs a flag indicating whether it operates with a fixed or unfixed code heap map.
vm/callstack.hpp
vm/code_block_visitor.hpp
vm/code_heap.cpp
vm/collector.hpp
vm/compaction.cpp
vm/debug.cpp
vm/fixup.hpp
vm/image.cpp
vm/mark_bits.hpp
vm/slot_visitor.hpp