Daniel Carvalho has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/38115 )
Change subject: mem-cache: Change invalidate signature to not const
......................................................................
mem-cache: Change invalidate signature to not const
Allow the replacement policy to be modified when an entry is
invalidated.
Change-Id: I7f5086795dbb93a6fab2b4994c757d509d782d79
Signed-off-by: Daniel R. Carvalho <oda...@yahoo.com.br>
---
M src/mem/cache/replacement_policies/base.hh
M src/mem/cache/replacement_policies/brrip_rp.cc
M src/mem/cache/replacement_policies/brrip_rp.hh
M src/mem/cache/replacement_policies/dueling_rp.cc
M src/mem/cache/replacement_policies/dueling_rp.hh
M src/mem/cache/replacement_policies/fifo_rp.cc
M src/mem/cache/replacement_policies/fifo_rp.hh
M src/mem/cache/replacement_policies/lfu_rp.cc
M src/mem/cache/replacement_policies/lfu_rp.hh
M src/mem/cache/replacement_policies/lru_rp.cc
M src/mem/cache/replacement_policies/lru_rp.hh
M src/mem/cache/replacement_policies/mru_rp.cc
M src/mem/cache/replacement_policies/mru_rp.hh
M src/mem/cache/replacement_policies/random_rp.cc
M src/mem/cache/replacement_policies/random_rp.hh
M src/mem/cache/replacement_policies/second_chance_rp.cc
M src/mem/cache/replacement_policies/second_chance_rp.hh
M src/mem/cache/replacement_policies/tree_plru_rp.cc
M src/mem/cache/replacement_policies/tree_plru_rp.hh
M src/mem/cache/replacement_policies/weighted_lru_rp.cc
M src/mem/cache/replacement_policies/weighted_lru_rp.hh
21 files changed, 17 insertions(+), 24 deletions(-)
diff --git a/src/mem/cache/replacement_policies/base.hh
b/src/mem/cache/replacement_policies/base.hh
index d5673ec..7d09a4a 100644
--- a/src/mem/cache/replacement_policies/base.hh
+++ b/src/mem/cache/replacement_policies/base.hh
@@ -106,7 +106,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
virtual void invalidate(const std::shared_ptr<ReplacementData>&
- replacement_data) const =
0;
+ replacement_data) = 0;
/**
* Update replacement data.
diff --git a/src/mem/cache/replacement_policies/brrip_rp.cc
b/src/mem/cache/replacement_policies/brrip_rp.cc
index 19cd68d..0a7214d 100644
--- a/src/mem/cache/replacement_policies/brrip_rp.cc
+++ b/src/mem/cache/replacement_policies/brrip_rp.cc
@@ -46,7 +46,6 @@
void
BRRIP::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
{
std::shared_ptr<BRRIPReplData> casted_replacement_data =
std::static_pointer_cast<BRRIPReplData>(replacement_data);
diff --git a/src/mem/cache/replacement_policies/brrip_rp.hh
b/src/mem/cache/replacement_policies/brrip_rp.hh
index 1cabb1f..cafd545 100644
--- a/src/mem/cache/replacement_policies/brrip_rp.hh
+++ b/src/mem/cache/replacement_policies/brrip_rp.hh
@@ -128,7 +128,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/dueling_rp.cc
b/src/mem/cache/replacement_policies/dueling_rp.cc
index 59c8990..f3cce39 100644
--- a/src/mem/cache/replacement_policies/dueling_rp.cc
+++ b/src/mem/cache/replacement_policies/dueling_rp.cc
@@ -44,8 +44,7 @@
}
void
-Dueling::invalidate(
- const std::shared_ptr<ReplacementData>& replacement_data) const
+Dueling::invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
{
std::shared_ptr<DuelerReplData> casted_replacement_data =
std::static_pointer_cast<DuelerReplData>(replacement_data);
diff --git a/src/mem/cache/replacement_policies/dueling_rp.hh
b/src/mem/cache/replacement_policies/dueling_rp.hh
index 55627bf..0bd0d95 100644
--- a/src/mem/cache/replacement_policies/dueling_rp.hh
+++ b/src/mem/cache/replacement_policies/dueling_rp.hh
@@ -96,7 +96,7 @@
~Dueling() = default;
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
void touch(const std::shared_ptr<ReplacementData>& replacement_data)
const
override;
void reset(const std::shared_ptr<ReplacementData>& replacement_data)
const
diff --git a/src/mem/cache/replacement_policies/fifo_rp.cc
b/src/mem/cache/replacement_policies/fifo_rp.cc
index be28a56..c69c21d 100644
--- a/src/mem/cache/replacement_policies/fifo_rp.cc
+++ b/src/mem/cache/replacement_policies/fifo_rp.cc
@@ -43,7 +43,6 @@
void
FIFO::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
{
// Reset insertion tick
std::static_pointer_cast<FIFOReplData>(
diff --git a/src/mem/cache/replacement_policies/fifo_rp.hh
b/src/mem/cache/replacement_policies/fifo_rp.hh
index d641035..a196b8a 100644
--- a/src/mem/cache/replacement_policies/fifo_rp.hh
+++ b/src/mem/cache/replacement_policies/fifo_rp.hh
@@ -79,7 +79,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/lfu_rp.cc
b/src/mem/cache/replacement_policies/lfu_rp.cc
index aa51b5a..9e0387a 100644
--- a/src/mem/cache/replacement_policies/lfu_rp.cc
+++ b/src/mem/cache/replacement_policies/lfu_rp.cc
@@ -42,7 +42,6 @@
void
LFU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
{
// Reset reference count
std::static_pointer_cast<LFUReplData>(replacement_data)->refCount = 0;
diff --git a/src/mem/cache/replacement_policies/lfu_rp.hh
b/src/mem/cache/replacement_policies/lfu_rp.hh
index d086a24..ae3ed92 100644
--- a/src/mem/cache/replacement_policies/lfu_rp.hh
+++ b/src/mem/cache/replacement_policies/lfu_rp.hh
@@ -79,7 +79,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/lru_rp.cc
b/src/mem/cache/replacement_policies/lru_rp.cc
index 350d0e7..d8ea8c4 100644
--- a/src/mem/cache/replacement_policies/lru_rp.cc
+++ b/src/mem/cache/replacement_policies/lru_rp.cc
@@ -43,7 +43,6 @@
void
LRU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
{
// Reset last touch timestamp
std::static_pointer_cast<LRUReplData>(
diff --git a/src/mem/cache/replacement_policies/lru_rp.hh
b/src/mem/cache/replacement_policies/lru_rp.hh
index 5c2a1c2..a78c7c6 100644
--- a/src/mem/cache/replacement_policies/lru_rp.hh
+++ b/src/mem/cache/replacement_policies/lru_rp.hh
@@ -77,7 +77,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/mru_rp.cc
b/src/mem/cache/replacement_policies/mru_rp.cc
index a478269..c40bd2c 100644
--- a/src/mem/cache/replacement_policies/mru_rp.cc
+++ b/src/mem/cache/replacement_policies/mru_rp.cc
@@ -43,7 +43,6 @@
void
MRU::invalidate(const std::shared_ptr<ReplacementData>& replacement_data)
-const
{
// Reset last touch timestamp
std::static_pointer_cast<MRUReplData>(
diff --git a/src/mem/cache/replacement_policies/mru_rp.hh
b/src/mem/cache/replacement_policies/mru_rp.hh
index e3b8ec9..0d659ac 100644
--- a/src/mem/cache/replacement_policies/mru_rp.hh
+++ b/src/mem/cache/replacement_policies/mru_rp.hh
@@ -79,7 +79,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/random_rp.cc
b/src/mem/cache/replacement_policies/random_rp.cc
index 8b0b6f6..5882db3 100644
--- a/src/mem/cache/replacement_policies/random_rp.cc
+++ b/src/mem/cache/replacement_policies/random_rp.cc
@@ -43,7 +43,6 @@
void
Random::invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
-const
{
// Unprioritize replacement data victimization
std::static_pointer_cast<RandomReplData>(
diff --git a/src/mem/cache/replacement_policies/random_rp.hh
b/src/mem/cache/replacement_policies/random_rp.hh
index 57d2842..54b8d76 100644
--- a/src/mem/cache/replacement_policies/random_rp.hh
+++ b/src/mem/cache/replacement_policies/random_rp.hh
@@ -80,7 +80,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/second_chance_rp.cc
b/src/mem/cache/replacement_policies/second_chance_rp.cc
index 0bd629f..dfb8d24 100644
--- a/src/mem/cache/replacement_policies/second_chance_rp.cc
+++ b/src/mem/cache/replacement_policies/second_chance_rp.cc
@@ -52,7 +52,7 @@
void
SecondChance::invalidate(
- const std::shared_ptr<ReplacementData>& replacement_data) const
+ const std::shared_ptr<ReplacementData>& replacement_data)
{
FIFO::invalidate(replacement_data);
diff --git a/src/mem/cache/replacement_policies/second_chance_rp.hh
b/src/mem/cache/replacement_policies/second_chance_rp.hh
index 6b7551f..ad38d4c 100644
--- a/src/mem/cache/replacement_policies/second_chance_rp.hh
+++ b/src/mem/cache/replacement_policies/second_chance_rp.hh
@@ -95,7 +95,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its re-insertion tick and second chance
bit.
diff --git a/src/mem/cache/replacement_policies/tree_plru_rp.cc
b/src/mem/cache/replacement_policies/tree_plru_rp.cc
index e5cd978..45c4cfc 100644
--- a/src/mem/cache/replacement_policies/tree_plru_rp.cc
+++ b/src/mem/cache/replacement_policies/tree_plru_rp.cc
@@ -105,8 +105,7 @@
}
void
-TreePLRU::invalidate(
- const std::shared_ptr<ReplacementData>& replacement_data) const
+TreePLRU::invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
{
// Cast replacement data
std::shared_ptr<TreePLRUReplData> treePLRU_replacement_data =
diff --git a/src/mem/cache/replacement_policies/tree_plru_rp.hh
b/src/mem/cache/replacement_policies/tree_plru_rp.hh
index df4af57..bbf5e07 100644
--- a/src/mem/cache/replacement_policies/tree_plru_rp.hh
+++ b/src/mem/cache/replacement_policies/tree_plru_rp.hh
@@ -172,7 +172,7 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
/**
* Touch an entry to update its replacement data.
diff --git a/src/mem/cache/replacement_policies/weighted_lru_rp.cc
b/src/mem/cache/replacement_policies/weighted_lru_rp.cc
index 2e44d8d..51c1027 100644
--- a/src/mem/cache/replacement_policies/weighted_lru_rp.cc
+++ b/src/mem/cache/replacement_policies/weighted_lru_rp.cc
@@ -109,8 +109,8 @@
}
void
-WeightedLRU::invalidate(const std::shared_ptr<ReplacementData>&
- replacement_data) const
+WeightedLRU::invalidate(
+ const std::shared_ptr<ReplacementData>& replacement_data)
{
// Reset last touch timestamp
std::static_pointer_cast<WeightedLRUReplData>(
diff --git a/src/mem/cache/replacement_policies/weighted_lru_rp.hh
b/src/mem/cache/replacement_policies/weighted_lru_rp.hh
index 941bb0d..66f587f 100644
--- a/src/mem/cache/replacement_policies/weighted_lru_rp.hh
+++ b/src/mem/cache/replacement_policies/weighted_lru_rp.hh
@@ -73,7 +73,8 @@
* @param replacement_data Replacement data to be invalidated.
*/
void invalidate(const std::shared_ptr<ReplacementData>&
replacement_data)
- const
override;
+
override;
+
/**
* Touch an entry to update its replacement data.
* Sets its last touch tick as the current tick.
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/38115
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I7f5086795dbb93a6fab2b4994c757d509d782d79
Gerrit-Change-Number: 38115
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s