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
H3BloomFilter Class Reference

#include <H3BloomFilter.hh>

Inheritance diagram for H3BloomFilter:
AbstractBloomFilter

Public Member Functions

 H3BloomFilter (int size, int hashes, bool parallel)
 
 ~H3BloomFilter ()
 
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_H3 (uint64_t value, int index)
 

Private Attributes

std::vector< int > m_filter
 
int m_filter_size
 
int m_num_hashes
 
int m_filter_size_bits
 
int m_par_filter_size
 
int m_par_filter_size_bits
 
int primes_list [6]
 
int mults_list [6]
 
int adds_list [6]
 
bool isParallel
 

Detailed Description

Definition at line 38 of file H3BloomFilter.hh.

Constructor & Destructor Documentation

H3BloomFilter::H3BloomFilter ( int  size,
int  hashes,
bool  parallel 
)

Definition at line 357 of file H3BloomFilter.cc.

References ArmISA::clear(), floorLog2(), and X86ISA::size().

H3BloomFilter::~H3BloomFilter ( )

Definition at line 394 of file H3BloomFilter.cc.

Member Function Documentation

void H3BloomFilter::clear ( )
virtual

Implements AbstractBloomFilter.

Definition at line 399 of file H3BloomFilter.cc.

References ArmISA::i.

void H3BloomFilter::decrement ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 413 of file H3BloomFilter.cc.

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

Definition at line 496 of file H3BloomFilter.cc.

References makeLineAddress(), and X86ISA::x.

int H3BloomFilter::getCount ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 457 of file H3BloomFilter.cc.

int H3BloomFilter::getIndex ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 463 of file H3BloomFilter.cc.

int H3BloomFilter::getTotalCount ( )
virtual

Implements AbstractBloomFilter.

Definition at line 480 of file H3BloomFilter.cc.

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

int H3BloomFilter::hash_H3 ( uint64_t  value,
int  index 
)
private

Definition at line 510 of file H3BloomFilter.cc.

References H3, ArmISA::i, MipsISA::index, ArmISA::mask, and X86ISA::val.

void H3BloomFilter::increment ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 407 of file H3BloomFilter.cc.

bool H3BloomFilter::isSet ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 445 of file H3BloomFilter.cc.

References ArmISA::i.

void H3BloomFilter::merge ( AbstractBloomFilter other_filter)
virtual

Implements AbstractBloomFilter.

Definition at line 419 of file H3BloomFilter.cc.

References ArmISA::i.

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

Definition at line 61 of file H3BloomFilter.hh.

References MipsISA::index, and m_filter.

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

Implements AbstractBloomFilter.

Definition at line 491 of file H3BloomFilter.cc.

int H3BloomFilter::readBit ( const int  index)
virtual

Implements AbstractBloomFilter.

Definition at line 469 of file H3BloomFilter.cc.

void H3BloomFilter::set ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 429 of file H3BloomFilter.cc.

References ArmISA::i.

void H3BloomFilter::unset ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 438 of file H3BloomFilter.cc.

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

Implements AbstractBloomFilter.

Definition at line 475 of file H3BloomFilter.cc.

Member Data Documentation

int H3BloomFilter::adds_list[6]
private

Definition at line 81 of file H3BloomFilter.hh.

bool H3BloomFilter::isParallel
private

Definition at line 83 of file H3BloomFilter.hh.

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

Definition at line 71 of file H3BloomFilter.hh.

Referenced by operator[]().

int H3BloomFilter::m_filter_size
private

Definition at line 72 of file H3BloomFilter.hh.

int H3BloomFilter::m_filter_size_bits
private

Definition at line 74 of file H3BloomFilter.hh.

int H3BloomFilter::m_num_hashes
private

Definition at line 73 of file H3BloomFilter.hh.

int H3BloomFilter::m_par_filter_size
private

Definition at line 76 of file H3BloomFilter.hh.

int H3BloomFilter::m_par_filter_size_bits
private

Definition at line 77 of file H3BloomFilter.hh.

int H3BloomFilter::mults_list[6]
private

Definition at line 80 of file H3BloomFilter.hh.

int H3BloomFilter::primes_list[6]
private

Definition at line 79 of file H3BloomFilter.hh.


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

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