vm: verifier shouldn't check for leftovers
It doesn't work after things have been freeddb4
parent
d6227c182b
commit
36d1e0a78c
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue