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>
This commit is contained in:
Daniel R. Carvalho
2018-02-23 15:55:06 +01:00
committed by Daniel Carvalho
parent e83f27eb31
commit fbe63074e3
2 changed files with 2 additions and 2 deletions

View File

@@ -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) {

View File

@@ -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.