/** * Free the receivers internal structures. */ void MM_ParallelSweepChunkArray::tearDown(MM_EnvironmentBase* env) { if (_useVmem) { MM_GCExtensionsBase* extensions = env->getExtensions(); MM_MemoryManager* memoryManager = extensions->memoryManager; memoryManager->destroyVirtualMemory(env, &_memoryHandle); } else { env->getForge()->free((void*)_array); } _array = (MM_ParallelSweepChunk*)NULL; }
void MM_HeapVirtualMemory::tearDown(MM_EnvironmentBase* env) { MM_MemoryManager* memoryManager = env->getExtensions()->memoryManager; MM_HeapRegionManager* manager = getHeapRegionManager(); if (NULL != manager) { manager->destroyRegionTable(env); } memoryManager->destroyVirtualMemory(env, &_vmemHandle); MM_Heap::tearDown(env); }