32 #include "params/FPC.hh"
42 : CompData(), zeroRunSizeBits(zero_run_size_bits)
50 if (pattern->getPatternNumber() ==
ZERO_RUN) {
53 if (!entries.size() ||
54 (entries.back()->getPatternNumber() !=
ZERO_RUN)) {
60 const int run_length =
61 static_cast<ZeroRun*
>(entries.back().get())->getRunLength();
65 static_cast<ZeroRun*
>(pattern.get())->setRealSize(
72 static_cast<ZeroRun*
>(pattern.get())->setRunLength(
78 CompData::addEntry(std::move(pattern));
95 std::unique_ptr<DictionaryCompressor<uint32_t>::CompData>
98 return std::unique_ptr<DictionaryCompressor<uint32_t>::CompData>(
BaseCacheCompressorParams Params
A template version of the dictionary compressor that allows to choose the dictionary size.
void addEntry(std::unique_ptr< Pattern > pattern) override
FPCCompData(int zeroRunSizeBits)
const int zeroRunSizeBits
Number of bits of the zero run size bitfield.
DictionaryCompressor< uint32_t >::DictionaryEntry DictionaryEntry
std::unique_ptr< DictionaryCompressor::CompData > instantiateDictionaryCompData() const override
Instantiate a compression data of the sub-class compressor.
void addToDictionary(const DictionaryEntry data) override
Implementation of a dictionary based cache compressor.
Definition of the Frequent Pattern Compression cache compressor, as described in "Frequent Pattern Co...
constexpr uint64_t mask(unsigned nbits)
Generate a 64-bit mask of 'nbits' 1s, right justified.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)