diff options
Diffstat (limited to 'src/mem/cache/prefetch/associative_set_impl.hh')
-rw-r--r-- | src/mem/cache/prefetch/associative_set_impl.hh | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mem/cache/prefetch/associative_set_impl.hh b/src/mem/cache/prefetch/associative_set_impl.hh index cc547e2dc..8acae6269 100644 --- a/src/mem/cache/prefetch/associative_set_impl.hh +++ b/src/mem/cache/prefetch/associative_set_impl.hh @@ -87,7 +87,7 @@ AssociativeSet<Entry>::findVictim(Addr addr) Entry* victim = static_cast<Entry*>(replacementPolicy->getVictim( selected_entries)); // There is only one eviction for this replacement - victim->reset(); + invalidate(victim); return victim; } @@ -117,4 +117,12 @@ AssociativeSet<Entry>::insertEntry(Addr addr, bool is_secure, Entry* entry) replacementPolicy->reset(entry->replacementData); } +template<class Entry> +void +AssociativeSet<Entry>::invalidate(Entry* entry) +{ + entry->invalidate(); + replacementPolicy->invalidate(entry->replacementData); +} + #endif//__CACHE_PREFETCH_ASSOCIATIVE_SET_IMPL_HH__ |