changeset bba03800b376 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=bba03800b376
description:
        mem: Add cache class destructor to avoid memory leaks

        Make valgrind a little bit happier

diffstat:

 src/mem/cache/cache.hh      |   3 +++
 src/mem/cache/cache_impl.hh |  10 ++++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

diffs (33 lines):

diff -r 9265bcff11b7 -r bba03800b376 src/mem/cache/cache.hh
--- a/src/mem/cache/cache.hh    Thu Jul 18 08:29:28 2013 -0400
+++ b/src/mem/cache/cache.hh    Thu Jul 18 08:29:47 2013 -0400
@@ -411,6 +411,9 @@
     /** Instantiates a basic cache object. */
     Cache(const Params *p);
 
+    /** Non-default destructor is needed to deallocate memory. */
+    virtual ~Cache();
+
     void regStats();
 
     /** serialize the state of the caches
diff -r 9265bcff11b7 -r bba03800b376 src/mem/cache/cache_impl.hh
--- a/src/mem/cache/cache_impl.hh       Thu Jul 18 08:29:28 2013 -0400
+++ b/src/mem/cache/cache_impl.hh       Thu Jul 18 08:29:47 2013 -0400
@@ -84,6 +84,16 @@
 }
 
 template<class TagStore>
+Cache<TagStore>::~Cache()
+{
+    delete [] tempBlock->data;
+    delete tempBlock;
+
+    delete cpuSidePort;
+    delete memSidePort;
+}
+
+template<class TagStore>
 void
 Cache<TagStore>::regStats()
 {
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to