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

Reply via email to