From 2a714355506200d281175e49f3a5c7886ce3df7d Mon Sep 17 00:00:00 2001 From: "Daniel R. Carvalho" Date: Tue, 27 Feb 2018 14:31:59 +0100 Subject: mem-cache: Remove extra block init in BaseSetAssoc Removed extra initialization of cache block just after they have been created and organized the comments. Change-Id: I75c1beaf0489e3e530fd8cbff2739dc7593e3e6f Reviewed-on: https://gem5-review.googlesource.com/8661 Reviewed-by: Jason Lowe-Power Reviewed-by: Nikos Nikoleris Maintainer: Nikos Nikoleris --- src/mem/cache/tags/base_set_assoc.cc | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/mem/cache/tags/base_set_assoc.cc b/src/mem/cache/tags/base_set_assoc.cc index 728f5a5f9..61764fe91 100644 --- a/src/mem/cache/tags/base_set_assoc.cc +++ b/src/mem/cache/tags/base_set_assoc.cc @@ -85,24 +85,25 @@ BaseSetAssoc::BaseSetAssoc(const Params *p) // link in the data blocks for (unsigned j = 0; j < assoc; ++j) { - // locate next cache block - BlkType *blk = &blks[blkIndex]; - blk->data = &dataBlks[blkSize*blkIndex]; - ++blkIndex; + // Select block within the set to be linked + BlkType*& blk = sets[i].blks[j]; - // invalidate new cache block - blk->invalidate(); + // Locate next cache block + blk = &blks[blkIndex]; - //EGH Fix Me : do we need to initialize blk? + // Associate a data chunk to the block + blk->data = &dataBlks[blkSize*blkIndex]; - // Setting the tag to j is just to prevent long chains in the hash - // table; won't matter because the block is invalid + // Setting the tag to j is just to prevent long chains in the + // hash table; won't matter because the block is invalid blk->tag = j; - blk->whenReady = 0; - blk->isTouched = false; - sets[i].blks[j]=blk; + + // Set its set and way blk->set = i; blk->way = j; + + // Update block index + ++blkIndex; } } } -- cgit v1.2.3