diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2006-12-02 22:22:58 -0800 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2006-12-02 22:22:58 -0800 |
commit | 6f94c3c8d755d1cdd3854fde5741305afcd44b19 (patch) | |
tree | 61fb04c9072ed39cd68eeacde3445cb1466f48b4 /src/mem/cache/cache.cc | |
parent | d2a71f6b2aaad36c6420204266f006304d364ad7 (diff) | |
download | gem5-6f94c3c8d755d1cdd3854fde5741305afcd44b19.tar.xz |
Make cache compression policy a runtime virtual thing
instead of a template policy.
--HG--
extra : convert_revision : 6a4ac7a189a950390a973fdfce94f56190de92db
Diffstat (limited to 'src/mem/cache/cache.cc')
-rw-r--r-- | src/mem/cache/cache.cc | 76 |
1 files changed, 20 insertions, 56 deletions
diff --git a/src/mem/cache/cache.cc b/src/mem/cache/cache.cc index db66c096e..54d1d151f 100644 --- a/src/mem/cache/cache.cc +++ b/src/mem/cache/cache.cc @@ -37,7 +37,6 @@ */ #include "mem/config/cache.hh" -#include "mem/config/compression.hh" #include "mem/cache/tags/cache_tags.hh" @@ -61,11 +60,6 @@ #include "mem/cache/tags/split_lifo.hh" #endif -#include "base/compression/null_compression.hh" -#if defined(USE_LZSS_COMPRESSION) -#include "base/compression/lzss_compression.hh" -#endif - #include "mem/cache/miss/miss_queue.hh" #include "mem/cache/miss/blocking_buffer.hh" @@ -79,68 +73,38 @@ #if defined(USE_CACHE_FALRU) -template class Cache<CacheTags<FALRU,NullCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<FALRU,NullCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<FALRU,NullCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<FALRU,NullCompression>, MissQueue, UniCoherence>; -#if defined(USE_LZSS_COMPRESSION) -template class Cache<CacheTags<FALRU,LZSSCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<FALRU,LZSSCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<FALRU,LZSSCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<FALRU,LZSSCompression>, MissQueue, UniCoherence>; -#endif +template class Cache<CacheTags<FALRU>, BlockingBuffer, SimpleCoherence>; +template class Cache<CacheTags<FALRU>, BlockingBuffer, UniCoherence>; +template class Cache<CacheTags<FALRU>, MissQueue, SimpleCoherence>; +template class Cache<CacheTags<FALRU>, MissQueue, UniCoherence>; #endif #if defined(USE_CACHE_IIC) -template class Cache<CacheTags<IIC,NullCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<IIC,NullCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<IIC,NullCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<IIC,NullCompression>, MissQueue, UniCoherence>; -#if defined(USE_LZSS_COMPRESSION) -template class Cache<CacheTags<IIC,LZSSCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<IIC,LZSSCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<IIC,LZSSCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<IIC,LZSSCompression>, MissQueue, UniCoherence>; -#endif +template class Cache<CacheTags<IIC>, BlockingBuffer, SimpleCoherence>; +template class Cache<CacheTags<IIC>, BlockingBuffer, UniCoherence>; +template class Cache<CacheTags<IIC>, MissQueue, SimpleCoherence>; +template class Cache<CacheTags<IIC>, MissQueue, UniCoherence>; #endif #if defined(USE_CACHE_LRU) -template class Cache<CacheTags<LRU,NullCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<LRU,NullCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<LRU,NullCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<LRU,NullCompression>, MissQueue, UniCoherence>; -#if defined(USE_LZSS_COMPRESSION) -template class Cache<CacheTags<LRU,LZSSCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<LRU,LZSSCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<LRU,LZSSCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<LRU,LZSSCompression>, MissQueue, UniCoherence>; -#endif +template class Cache<CacheTags<LRU>, BlockingBuffer, SimpleCoherence>; +template class Cache<CacheTags<LRU>, BlockingBuffer, UniCoherence>; +template class Cache<CacheTags<LRU>, MissQueue, SimpleCoherence>; +template class Cache<CacheTags<LRU>, MissQueue, UniCoherence>; #endif #if defined(USE_CACHE_SPLIT) -template class Cache<CacheTags<Split,NullCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<Split,NullCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<Split,NullCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<Split,NullCompression>, MissQueue, UniCoherence>; -#if defined(USE_LZSS_COMPRESSION) -template class Cache<CacheTags<Split,LZSSCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<Split,LZSSCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<Split,LZSSCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<Split,LZSSCompression>, MissQueue, UniCoherence>; -#endif +template class Cache<CacheTags<Split>, BlockingBuffer, SimpleCoherence>; +template class Cache<CacheTags<Split>, BlockingBuffer, UniCoherence>; +template class Cache<CacheTags<Split>, MissQueue, SimpleCoherence>; +template class Cache<CacheTags<Split>, MissQueue, UniCoherence>; #endif #if defined(USE_CACHE_SPLIT_LIFO) -template class Cache<CacheTags<SplitLIFO,NullCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<SplitLIFO,NullCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<SplitLIFO,NullCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<SplitLIFO,NullCompression>, MissQueue, UniCoherence>; -#if defined(USE_LZSS_COMPRESSION) -template class Cache<CacheTags<SplitLIFO,LZSSCompression>, BlockingBuffer, SimpleCoherence>; -template class Cache<CacheTags<SplitLIFO,LZSSCompression>, BlockingBuffer, UniCoherence>; -template class Cache<CacheTags<SplitLIFO,LZSSCompression>, MissQueue, SimpleCoherence>; -template class Cache<CacheTags<SplitLIFO,LZSSCompression>, MissQueue, UniCoherence>; -#endif +template class Cache<CacheTags<SplitLIFO>, BlockingBuffer, SimpleCoherence>; +template class Cache<CacheTags<SplitLIFO>, BlockingBuffer, UniCoherence>; +template class Cache<CacheTags<SplitLIFO>, MissQueue, SimpleCoherence>; +template class Cache<CacheTags<SplitLIFO>, MissQueue, UniCoherence>; #endif #endif //DOXYGEN_SHOULD_SKIP_THIS |