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:
Daniel R. Carvalho
2019-12-29 00:45:44 +01:00
committed by Daniel Carvalho
parent 56967e317b
commit 0be2496dd5
34 changed files with 434 additions and 305 deletions

View File

@@ -44,6 +44,9 @@
#include "sim/clocked_object.hh"
struct AccessMapPatternMatchingParams;
struct AMPMPrefetcherParams;
namespace Prefetcher {
class AccessMapPatternMatching : public ClockedObject
{
@@ -179,23 +182,24 @@ class AccessMapPatternMatching : public ClockedObject
public:
AccessMapPatternMatching(const AccessMapPatternMatchingParams* p);
~AccessMapPatternMatching()
{}
~AccessMapPatternMatching() = default;
void startup() override;
void calculatePrefetch(const BasePrefetcher::PrefetchInfo &pfi,
std::vector<QueuedPrefetcher::AddrPriority> &addresses);
void calculatePrefetch(const Base::PrefetchInfo &pfi,
std::vector<Queued::AddrPriority> &addresses);
};
struct AMPMPrefetcherParams;
class AMPMPrefetcher : public QueuedPrefetcher
class AMPM : public Queued
{
AccessMapPatternMatching &ampm;
public:
AMPMPrefetcher(const AMPMPrefetcherParams* p);
~AMPMPrefetcher()
{}
AMPM(const AMPMPrefetcherParams* p);
~AMPM() = default;
void calculatePrefetch(const PrefetchInfo &pfi,
std::vector<AddrPriority> &addresses) override;
};
} // namespace Prefetcher
#endif//__MEM_CACHE_PREFETCH_ACCESS_MAP_PATTERN_MATCHING_HH__