diff options
author | David Guillen <david.guillen@arm.com> | 2015-05-05 03:22:21 -0400 |
---|---|---|
committer | David Guillen <david.guillen@arm.com> | 2015-05-05 03:22:21 -0400 |
commit | 5287945a8bb98476a9326c5d9c51491cdc7212f2 (patch) | |
tree | c2263df9baa298e151c2fc68c22b9e3439f07edf /src/mem/cache/tags/random_repl.cc | |
parent | d0d933facc9085727c12f53de76a2cb879ded4c8 (diff) | |
download | gem5-5287945a8bb98476a9326c5d9c51491cdc7212f2.tar.xz |
mem: Remove templates in cache model
This patch changes the cache implementation to rely on virtual methods
rather than using the replacement policy as a template argument.
There is no impact on the simulation performance, and overall the
changes make it easier to modify (and subclass) the cache and/or
replacement policy.
Diffstat (limited to 'src/mem/cache/tags/random_repl.cc')
-rw-r--r-- | src/mem/cache/tags/random_repl.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mem/cache/tags/random_repl.cc b/src/mem/cache/tags/random_repl.cc index 77b379135..e7422a335 100644 --- a/src/mem/cache/tags/random_repl.cc +++ b/src/mem/cache/tags/random_repl.cc @@ -44,16 +44,16 @@ RandomRepl::RandomRepl(const Params *p) { } -BaseSetAssoc::BlkType* +CacheBlk* RandomRepl::accessBlock(Addr addr, bool is_secure, Cycles &lat, int master_id) { return BaseSetAssoc::accessBlock(addr, is_secure, lat, master_id); } -BaseSetAssoc::BlkType* -RandomRepl::findVictim(Addr addr) const +CacheBlk* +RandomRepl::findVictim(Addr addr) { - BlkType *blk = BaseSetAssoc::findVictim(addr); + CacheBlk *blk = BaseSetAssoc::findVictim(addr); // if all blocks are valid, pick a replacement at random if (blk->isValid()) { @@ -77,7 +77,7 @@ RandomRepl::insertBlock(PacketPtr pkt, BlkType *blk) } void -RandomRepl::invalidate(BlkType *blk) +RandomRepl::invalidate(CacheBlk *blk) { BaseSetAssoc::invalidate(blk); } |