mem-cache: Create Prefetcher namespace
Create a namespace for the Prefetcher classes. As a side effect the Prefetcher suffix has been removed from the C++'s classes names, and the memory leaking destructor overrides have been fixed. Change-Id: I9bae492d2fd4734bcdfb68c164345898e65102b2 Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24537 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
committed by
Daniel Carvalho
parent
56967e317b
commit
0be2496dd5
@@ -33,6 +33,8 @@
|
||||
#include "params/AMPMPrefetcher.hh"
|
||||
#include "params/AccessMapPatternMatching.hh"
|
||||
|
||||
namespace Prefetcher {
|
||||
|
||||
AccessMapPatternMatching::AccessMapPatternMatching(
|
||||
const AccessMapPatternMatchingParams *p)
|
||||
: ClockedObject(p), blkSize(p->block_size), limitStride(p->limit_stride),
|
||||
@@ -149,9 +151,8 @@ AccessMapPatternMatching::setEntryState(AccessMapEntry &entry,
|
||||
}
|
||||
|
||||
void
|
||||
AccessMapPatternMatching::calculatePrefetch(
|
||||
const BasePrefetcher::PrefetchInfo &pfi,
|
||||
std::vector<QueuedPrefetcher::AddrPriority> &addresses)
|
||||
AccessMapPatternMatching::calculatePrefetch(const Base::PrefetchInfo &pfi,
|
||||
std::vector<Queued::AddrPriority> &addresses)
|
||||
{
|
||||
assert(addresses.empty());
|
||||
|
||||
@@ -218,7 +219,7 @@ AccessMapPatternMatching::calculatePrefetch(
|
||||
pf_addr = am_addr * hotZoneSize + blk * blkSize;
|
||||
setEntryState(*am_entry_curr, blk, AM_PREFETCH);
|
||||
}
|
||||
addresses.push_back(QueuedPrefetcher::AddrPriority(pf_addr, 0));
|
||||
addresses.push_back(Queued::AddrPriority(pf_addr, 0));
|
||||
if (addresses.size() == degree) {
|
||||
break;
|
||||
}
|
||||
@@ -242,7 +243,7 @@ AccessMapPatternMatching::calculatePrefetch(
|
||||
pf_addr = am_addr * hotZoneSize + blk * blkSize;
|
||||
setEntryState(*am_entry_curr, blk, AM_PREFETCH);
|
||||
}
|
||||
addresses.push_back(QueuedPrefetcher::AddrPriority(pf_addr, 0));
|
||||
addresses.push_back(Queued::AddrPriority(pf_addr, 0));
|
||||
if (addresses.size() == degree) {
|
||||
break;
|
||||
}
|
||||
@@ -250,26 +251,28 @@ AccessMapPatternMatching::calculatePrefetch(
|
||||
}
|
||||
}
|
||||
|
||||
AccessMapPatternMatching*
|
||||
AccessMapPatternMatchingParams::create()
|
||||
{
|
||||
return new AccessMapPatternMatching(this);
|
||||
}
|
||||
|
||||
AMPMPrefetcher::AMPMPrefetcher(const AMPMPrefetcherParams *p)
|
||||
: QueuedPrefetcher(p), ampm(*p->ampm)
|
||||
AMPM::AMPM(const AMPMPrefetcherParams *p)
|
||||
: Queued(p), ampm(*p->ampm)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
AMPMPrefetcher::calculatePrefetch(const PrefetchInfo &pfi,
|
||||
AMPM::calculatePrefetch(const PrefetchInfo &pfi,
|
||||
std::vector<AddrPriority> &addresses)
|
||||
{
|
||||
ampm.calculatePrefetch(pfi, addresses);
|
||||
}
|
||||
|
||||
AMPMPrefetcher*
|
||||
} // namespace Prefetcher
|
||||
|
||||
Prefetcher::AccessMapPatternMatching*
|
||||
AccessMapPatternMatchingParams::create()
|
||||
{
|
||||
return new Prefetcher::AccessMapPatternMatching(this);
|
||||
}
|
||||
|
||||
Prefetcher::AMPM*
|
||||
AMPMPrefetcherParams::create()
|
||||
{
|
||||
return new AMPMPrefetcher(this);
|
||||
return new Prefetcher::AMPM(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user