]> gitweb.factorcode.org Git - factor.git/commitdiff
vm: verifier shouldn't check for leftovers
authorJoe Groff <arcata@gmail.com>
Sat, 26 Nov 2011 03:44:43 +0000 (19:44 -0800)
committerJoe Groff <arcata@gmail.com>
Wed, 14 Dec 2011 17:56:45 +0000 (09:56 -0800)
It doesn't work after things have been freed

vm/code_heap.cpp

index da8477ef76154ddccd0f890390c74592b78db621..4060b17cee9d73046f6e87a852fbdab0372d6122 100755 (executable)
@@ -98,23 +98,21 @@ void code_heap::sweep()
 }
 
 struct all_blocks_set_verifier {
-       std::set<code_block*> *leftovers;
+       std::set<code_block*> *all_blocks;
 
-       all_blocks_set_verifier(std::set<code_block*> *leftovers) : leftovers(leftovers) {}
+       all_blocks_set_verifier(std::set<code_block*> *all_blocks) : all_blocks(all_blocks) {}
 
        void operator()(code_block *block, cell size)
        {
-               FACTOR_ASSERT(leftovers->find(block) != leftovers->end());
-               leftovers->erase(block);
+               FACTOR_ASSERT(all_blocks->find(block) != all_blocks->end());
+               all_blocks->erase(block);
        }
 };
 
 void code_heap::verify_all_blocks_set()
 {
-       std::set<code_block*> leftovers = all_blocks;
-       all_blocks_set_verifier verifier(&leftovers);
+       all_blocks_set_verifier verifier(&all_blocks);
        allocator->iterate(verifier);
-       FACTOR_ASSERT(leftovers.empty());
 }
 
 code_block *code_heap::code_block_for_address(cell address)