diff -r 023526b7e572 -r 30183e60a824 src/mem/ruby/structures/CacheMemory.cc --- a/src/mem/ruby/structures/CacheMemory.cc Tue Sep 01 22:56:53 2015 -0500 +++ b/src/mem/ruby/structures/CacheMemory.cc Wed Sep 02 08:44:53 2015 -0500 @@ -263,6 +263,9 @@ std::vector &set = m_cache[cacheSet]; for (int i = 0; i < m_cache_assoc; i++) { if (!set[i] || set[i]->m_Permission == AccessPermission_NotPresent) { + if (set[i] && (set[i] != entry)) { + delete set[i]; + } set[i] = entry; // Init entry set[i]->m_Address = address; set[i]->m_Permission = AccessPermission_Invalid;