void CParticleGroupManager::Clear() { ClearCreated(); if(!m_mapRegistered.empty()) { my_map::iterator iterBegin = m_mapRegistered.begin(); my_map::iterator iterEnd = m_mapRegistered.end(); my_map::iterator iter; for(iter = iterBegin; iter != iterEnd; ++iter) { delete (*iter).second; } m_mapRegistered.clear(); } }
Integer DestroyVirtualAddress (Integer vma) { caddr_t data, tag; Integer aligned_vma = vma - MemoryPageOffset(vma); if (!Created(vma)) return(vma); data = (caddr_t)&DataSpace[aligned_vma]; tag = (caddr_t)&TagSpace[aligned_vma]; if (munmap(data, sizeof(Integer[MemoryPageSize]))) punt ("Couldn't unmap data page at %x for VMA %x", data, vma); if (munmap(tag, sizeof(Tag[MemoryPageSize]))) punt ("Couldn't unmap tag page at %x for VMA %x", tag, vma); ClearCreated(vma); return(vma); }