diff options
author | Daniel <odanrc@yahoo.com.br> | 2018-11-11 11:55:37 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-11-15 16:51:27 +0000 |
commit | 67e45b872a0bd268e3ce4158c25c6f27e8b0d42e (patch) | |
tree | ad8d4139cc85e170d8c28d9a73cb04eb6f833d1d /src/mem/cache/prefetch/base.cc | |
parent | fafe4e80b76e93e3d0d05797904c19928587f5b5 (diff) | |
download | gem5-67e45b872a0bd268e3ce4158c25c6f27e8b0d42e.tar.xz |
mem-cache: Cleanup prefetchers
Prefetcher code had extra variables, dependencies
that could be removed, code duplication, and missing
overrides.
Change-Id: I6e9fbf67a0bdab7eb591893039e088261f52d31a
Signed-off-by: Daniel <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/14355
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/prefetch/base.cc')
-rw-r--r-- | src/mem/cache/prefetch/base.cc | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/mem/cache/prefetch/base.cc b/src/mem/cache/prefetch/base.cc index 41c02ac72..3f5b67e6a 100644 --- a/src/mem/cache/prefetch/base.cc +++ b/src/mem/cache/prefetch/base.cc @@ -63,11 +63,10 @@ BasePrefetcher::PrefetchListener::notify(const PacketPtr &pkt) } BasePrefetcher::BasePrefetcher(const BasePrefetcherParams *p) - : ClockedObject(p), listeners(), cache(nullptr), blkSize(0), lBlkSize(0), - system(p->sys), onMiss(p->on_miss), onRead(p->on_read), + : ClockedObject(p), listeners(), cache(nullptr), blkSize(p->block_size), + lBlkSize(floorLog2(blkSize)), onMiss(p->on_miss), onRead(p->on_read), onWrite(p->on_write), onData(p->on_data), onInst(p->on_inst), - masterId(system->getMasterId(this)), - pageBytes(system->getPageBytes()), + masterId(p->sys->getMasterId(this)), pageBytes(p->sys->getPageBytes()), prefetchOnAccess(p->prefetch_on_access) { } @@ -77,6 +76,8 @@ BasePrefetcher::setCache(BaseCache *_cache) { assert(!cache); cache = _cache; + + // If the cache has a different block size from the system's, save it blkSize = cache->getBlockSize(); lBlkSize = floorLog2(blkSize); } @@ -121,19 +122,13 @@ BasePrefetcher::observeAccess(const PacketPtr &pkt) const bool BasePrefetcher::inCache(Addr addr, bool is_secure) const { - if (cache->inCache(addr, is_secure)) { - return true; - } - return false; + return cache->inCache(addr, is_secure); } bool BasePrefetcher::inMissQueue(Addr addr, bool is_secure) const { - if (cache->inMissQueue(addr, is_secure)) { - return true; - } - return false; + return cache->inMissQueue(addr, is_secure); } bool |