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