gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MultiBitSelBloomFilter Class Reference

#include <MultiBitSelBloomFilter.hh>

Inheritance diagram for MultiBitSelBloomFilter:
AbstractBloomFilter

Public Member Functions

 MultiBitSelBloomFilter (std::string config)
 
 ~MultiBitSelBloomFilter ()
 
void clear ()
 
void increment (Addr addr)
 
void decrement (Addr addr)
 
void merge (AbstractBloomFilter *other_filter)
 
void set (Addr addr)
 
void unset (Addr addr)
 
bool isSet (Addr addr)
 
int getCount (Addr addr)
 
int getTotalCount ()
 
void print (std::ostream &out) const
 
int getIndex (Addr addr)
 
int readBit (const int index)
 
void writeBit (const int index, const int value)
 
int operator[] (const int index) const
 
- Public Member Functions inherited from AbstractBloomFilter
virtual ~AbstractBloomFilter ()
 

Private Member Functions

int get_index (Addr addr, int hashNumber)
 
int hash_bitsel (uint64_t value, int index, int jump, int maxBits, int numBits)
 

Private Attributes

std::vector< int > m_filter
 
int m_filter_size
 
int m_num_hashes
 
int m_filter_size_bits
 
int m_skip_bits
 
int m_par_filter_size
 
int m_par_filter_size_bits
 
bool isParallel
 

Detailed Description

Definition at line 40 of file MultiBitSelBloomFilter.hh.

Constructor & Destructor Documentation

MultiBitSelBloomFilter::MultiBitSelBloomFilter ( std::string  config)

Definition at line 38 of file MultiBitSelBloomFilter.cc.

References ArmISA::clear(), floorLog2(), panic, and tokenize().

MultiBitSelBloomFilter::~MultiBitSelBloomFilter ( )

Definition at line 67 of file MultiBitSelBloomFilter.cc.

Member Function Documentation

void MultiBitSelBloomFilter::clear ( )
virtual

Implements AbstractBloomFilter.

Definition at line 72 of file MultiBitSelBloomFilter.cc.

References ArmISA::i.

void MultiBitSelBloomFilter::decrement ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 87 of file MultiBitSelBloomFilter.cc.

int MultiBitSelBloomFilter::get_index ( Addr  addr,
int  hashNumber 
)
private

Definition at line 170 of file MultiBitSelBloomFilter.cc.

References makeLineAddress(), and X86ISA::x.

int MultiBitSelBloomFilter::getCount ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 131 of file MultiBitSelBloomFilter.cc.

int MultiBitSelBloomFilter::getIndex ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 137 of file MultiBitSelBloomFilter.cc.

int MultiBitSelBloomFilter::getTotalCount ( )
virtual

Implements AbstractBloomFilter.

Definition at line 154 of file MultiBitSelBloomFilter.cc.

References X86ISA::count, and ArmISA::i.

int MultiBitSelBloomFilter::hash_bitsel ( uint64_t  value,
int  index,
int  jump,
int  maxBits,
int  numBits 
)
private

Definition at line 187 of file MultiBitSelBloomFilter.cc.

References ArmISA::i, and ArmISA::mask.

void MultiBitSelBloomFilter::increment ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 80 of file MultiBitSelBloomFilter.cc.

bool MultiBitSelBloomFilter::isSet ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 119 of file MultiBitSelBloomFilter.cc.

References ArmISA::i.

void MultiBitSelBloomFilter::merge ( AbstractBloomFilter other_filter)
virtual

Implements AbstractBloomFilter.

Definition at line 93 of file MultiBitSelBloomFilter.cc.

References ArmISA::i.

int MultiBitSelBloomFilter::operator[] ( const int  index) const
inline

Definition at line 63 of file MultiBitSelBloomFilter.hh.

References MipsISA::index, and m_filter.

void MultiBitSelBloomFilter::print ( std::ostream &  out) const
virtual

Implements AbstractBloomFilter.

Definition at line 165 of file MultiBitSelBloomFilter.cc.

int MultiBitSelBloomFilter::readBit ( const int  index)
virtual

Implements AbstractBloomFilter.

Definition at line 143 of file MultiBitSelBloomFilter.cc.

void MultiBitSelBloomFilter::set ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 103 of file MultiBitSelBloomFilter.cc.

References ArmISA::i.

void MultiBitSelBloomFilter::unset ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 112 of file MultiBitSelBloomFilter.cc.

void MultiBitSelBloomFilter::writeBit ( const int  index,
const int  value 
)
virtual

Implements AbstractBloomFilter.

Definition at line 149 of file MultiBitSelBloomFilter.cc.

Member Data Documentation

bool MultiBitSelBloomFilter::isParallel
private

Definition at line 83 of file MultiBitSelBloomFilter.hh.

std::vector<int> MultiBitSelBloomFilter::m_filter
private

Definition at line 74 of file MultiBitSelBloomFilter.hh.

Referenced by operator[]().

int MultiBitSelBloomFilter::m_filter_size
private

Definition at line 75 of file MultiBitSelBloomFilter.hh.

int MultiBitSelBloomFilter::m_filter_size_bits
private

Definition at line 77 of file MultiBitSelBloomFilter.hh.

int MultiBitSelBloomFilter::m_num_hashes
private

Definition at line 76 of file MultiBitSelBloomFilter.hh.

int MultiBitSelBloomFilter::m_par_filter_size
private

Definition at line 80 of file MultiBitSelBloomFilter.hh.

int MultiBitSelBloomFilter::m_par_filter_size_bits
private

Definition at line 81 of file MultiBitSelBloomFilter.hh.

int MultiBitSelBloomFilter::m_skip_bits
private

Definition at line 78 of file MultiBitSelBloomFilter.hh.


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

Generated on Fri Jun 9 2017 13:04:15 for gem5 by doxygen 1.8.6