static Bool vmChunkDestroy(Tree tree, void *closureP, Size closureS) { Chunk chunk; VMChunk vmChunk; AVERT(Tree, tree); AVER(closureP == UNUSED_POINTER); UNUSED(closureP); AVER(closureS == UNUSED_SIZE); UNUSED(closureS); chunk = ChunkOfTree(tree); AVERT(Chunk, chunk); vmChunk = Chunk2VMChunk(chunk); AVERT(VMChunk, vmChunk); chunkUnmapSpare(chunk); SparseArrayFinish(&vmChunk->pages); vmChunk->sig = SigInvalid; ChunkFinish(chunk); return TRUE; }
static void vmChunkDestroy(Chunk chunk) { VM vm; VMChunk vmChunk; AVERT(Chunk, chunk); vmChunk = Chunk2VMChunk(chunk); AVERT(VMChunk, vmChunk); chunkUnmapSpare(chunk); SparseArrayFinish(&vmChunk->pages); vmChunk->sig = SigInvalid; vm = vmChunk->vm; ChunkFinish(chunk); VMDestroy(vm); }