diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-02-23 15:55:06 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-02-24 15:54:57 +0000 |
commit | fbe63074e3a8128bdbe1a5e8f6509c565a3abbd4 (patch) | |
tree | d2d117b1e7c929a4c83b0f41dd9f471c08e82567 | |
parent | e83f27eb31144439f832c79bb380e69e957d2949 (diff) | |
download | gem5-fbe63074e3a8128bdbe1a5e8f6509c565a3abbd4.tar.xz |
mem-cache: Fix CacheSet memory leak
CacheSet blocks were being allocated but never freed.
Used vector to avoid using pure C array.
Change-Id: I6f32fa5a305ff4e1d7602535026c1396764102ed
Reviewed-on: https://gem5-review.googlesource.com/8603
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
-rw-r--r-- | src/mem/cache/tags/base_set_assoc.cc | 2 | ||||
-rw-r--r-- | src/mem/cache/tags/cacheset.hh | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/mem/cache/tags/base_set_assoc.cc b/src/mem/cache/tags/base_set_assoc.cc index cf647ac4d..c39822929 100644 --- a/src/mem/cache/tags/base_set_assoc.cc +++ b/src/mem/cache/tags/base_set_assoc.cc @@ -84,7 +84,7 @@ BaseSetAssoc::BaseSetAssoc(const Params *p) for (unsigned i = 0; i < numSets; ++i) { sets[i].assoc = assoc; - sets[i].blks = new BlkType*[assoc]; + sets[i].blks.resize(assoc); // link in the data blocks for (unsigned j = 0; j < assoc; ++j) { diff --git a/src/mem/cache/tags/cacheset.hh b/src/mem/cache/tags/cacheset.hh index 69109d10c..5a3445659 100644 --- a/src/mem/cache/tags/cacheset.hh +++ b/src/mem/cache/tags/cacheset.hh @@ -61,7 +61,7 @@ class CacheSet int assoc; /** Cache blocks in this set, maintained in LRU order 0 = MRU. */ - Blktype **blks; + std::vector<Blktype*> blks; /** * Find a block matching the tag in this set. |