gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location > Class Template Reference

A pattern that narrows the MaskedPattern by allowing a only single possible dictionary entry to be matched against. More...

#include <dictionary_compressor.hh>

Inheritance diagram for gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location >:
gem5::compression::DictionaryCompressor< T >::MaskedPattern< mask > gem5::compression::DictionaryCompressor< T >::Pattern

Public Member Functions

 LocatedMaskedPattern (const int number, const uint64_t code, const uint64_t metadata_length, const int match_location, const DictionaryEntry bytes, const bool allocate=true)
 
- Public Member Functions inherited from gem5::compression::DictionaryCompressor< T >::MaskedPattern< mask >
 MaskedPattern (const int number, const uint64_t code, const uint64_t metadata_length, const int match_location, const DictionaryEntry bytes, const bool allocate=true)
 
DictionaryEntry decompress (const DictionaryEntry dict_bytes) const override
 Decompress the pattern.
 
- Public Member Functions inherited from gem5::compression::DictionaryCompressor< T >::Pattern
 Pattern (const int number, const uint64_t code, const uint64_t metadata_length, const uint64_t num_unmatched_bits, const int match_location, const bool allocate=true)
 Default constructor.
 
virtual ~Pattern ()=default
 Default destructor.
 
int getPatternNumber () const
 Get enum number associated to this pattern.
 
uint8_t getCode () const
 Get code of this pattern.
 
uint8_t getMatchLocation () const
 Get the index of the dictionary match location.
 
virtual std::size_t getSizeBits () const
 Get size, in bits, of the pattern (excluding prefix).
 
bool shouldAllocate () const
 Determine if pattern allocates a dictionary entry.
 
std::string print () const
 Extract pattern's information to a string.
 

Static Public Member Functions

static bool isPattern (const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location)
 
- Static Public Member Functions inherited from gem5::compression::DictionaryCompressor< T >::MaskedPattern< mask >
static bool isPattern (const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location)
 

Additional Inherited Members

- Protected Attributes inherited from gem5::compression::DictionaryCompressor< T >::Pattern
const int patternNumber
 Pattern enum number.
 
const uint8_t code
 Code associated to the pattern.
 
const uint8_t length
 Length, in bits, of the code and match location.
 
const uint8_t numUnmatchedBits
 Number of unmatched bits.
 
const int matchLocation
 Index representing the the match location.
 
const bool allocate
 Wether the pattern allocates a dictionary entry or not.
 

Detailed Description

template<class T>
template<T mask, int location>
class gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location >

A pattern that narrows the MaskedPattern by allowing a only single possible dictionary entry to be matched against.

Template Parameters
maskA mask containing the bits that must match.
locationThe index of the single entry allowed to match.

Definition at line 572 of file dictionary_compressor.hh.

Constructor & Destructor Documentation

◆ LocatedMaskedPattern()

template<class T >
template<T mask, int location>
gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location >::LocatedMaskedPattern ( const int number,
const uint64_t code,
const uint64_t metadata_length,
const int match_location,
const DictionaryEntry bytes,
const bool allocate = true )
inline

Definition at line 576 of file dictionary_compressor.hh.

Member Function Documentation

◆ isPattern()

template<class T >
template<T mask, int location>
static bool gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location >::isPattern ( const DictionaryEntry & bytes,
const DictionaryEntry & dict_bytes,
const int match_location )
inlinestatic

The documentation for this class was generated from the following file:

Generated on Tue Jun 18 2024 16:24:18 for gem5 by doxygen 1.11.0