34#ifndef __MEM_CACHE_COMPRESSORS_CPACK_HH__
35#define __MEM_CACHE_COMPRESSORS_CPACK_HH__
88 static std::map<int, std::string> patternNames = {
93 return patternNames[number];
99 const int match_location)
const override
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
PatternMMMM(const DictionaryEntry bytes, const int match_location)
PatternMMMX(const DictionaryEntry bytes, const int match_location)
PatternMMXX(const DictionaryEntry bytes, const int match_location)
PatternXXXX(const DictionaryEntry bytes, const int match_location)
PatternZZZX(const DictionaryEntry bytes, const int match_location)
PatternZZZZ(const DictionaryEntry bytes, const int match_location)
~CPack()
Default destructor.
PatternNumber
The patterns proposed in the paper.
Factory< PatternZZZZ, PatternMMMM, PatternZZZX, PatternMMMX, PatternMMXX, PatternXXXX > PatternFactory
Convenience factory declaration.
std::unique_ptr< Pattern > getPattern(const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location) const override
DictionaryCompressor< uint32_t >::DictionaryEntry DictionaryEntry
CPackParams Params
Convenience typedef.
void addToDictionary(DictionaryEntry data) override
CPack(const Params &p)
Default constructor.
uint64_t getNumPatterns() const override
Trick function to get the number of patterns.
std::string getName(int number) const override
Get meta-name assigned to the given pattern.
MaskedPattern(const int number, const uint64_t code, const uint64_t metadata_length, const int match_location, const DictionaryEntry bytes, const bool allocate=true)
MaskedValuePattern(const int number, const uint64_t code, const uint64_t metadata_length, const int match_location, const DictionaryEntry bytes, const bool allocate=false)
UncompressedPattern(const int number, const uint64_t code, const uint64_t metadata_length, const int match_location, const DictionaryEntry bytes)
std::array< uint8_t, sizeof(T)> DictionaryEntry
Convenience typedef for a dictionary entry.
DictionaryCompressor(const Params &p)
Definition of a dictionary based cache compressor.
Copyright (c) 2024 Arm Limited All rights reserved.
static std::unique_ptr< Pattern > getPattern(const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location)