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

#include <MultiGrainBloomFilter.hh>

Inheritance diagram for MultiGrainBloomFilter:
AbstractBloomFilter

Public Member Functions

 MultiGrainBloomFilter (int head, int tail)
 
 ~MultiGrainBloomFilter ()
 
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 ()
 
int getIndex (Addr addr)
 
int readBit (const int index)
 
void writeBit (const int index, const int value)
 
void print (std::ostream &out) const
 
- Public Member Functions inherited from AbstractBloomFilter
virtual ~AbstractBloomFilter ()
 

Private Member Functions

int get_block_index (Addr addr)
 
int get_page_index (Addr addr)
 

Private Attributes

std::vector< int > m_filter
 
int m_filter_size
 
int m_filter_size_bits
 
std::vector< int > m_page_filter
 
int m_page_filter_size
 
int m_page_filter_size_bits
 

Detailed Description

Definition at line 38 of file MultiGrainBloomFilter.hh.

Constructor & Destructor Documentation

MultiGrainBloomFilter::MultiGrainBloomFilter ( int  head,
int  tail 
)

Definition at line 37 of file MultiGrainBloomFilter.cc.

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

MultiGrainBloomFilter::~MultiGrainBloomFilter ( )

Definition at line 52 of file MultiGrainBloomFilter.cc.

Member Function Documentation

void MultiGrainBloomFilter::clear ( )
virtual

Implements AbstractBloomFilter.

Definition at line 57 of file MultiGrainBloomFilter.cc.

References ArmISA::i.

void MultiGrainBloomFilter::decrement ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 75 of file MultiGrainBloomFilter.cc.

int MultiGrainBloomFilter::get_block_index ( Addr  addr)
private

Definition at line 162 of file MultiGrainBloomFilter.cc.

References bitSelect(), and RubySystem::getBlockSizeBits().

int MultiGrainBloomFilter::get_page_index ( Addr  addr)
private

Definition at line 171 of file MultiGrainBloomFilter.cc.

References bits(), bitSelect(), and RubySystem::getBlockSizeBits().

int MultiGrainBloomFilter::getCount ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 114 of file MultiGrainBloomFilter.cc.

int MultiGrainBloomFilter::getIndex ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 137 of file MultiGrainBloomFilter.cc.

int MultiGrainBloomFilter::getTotalCount ( )
virtual

Implements AbstractBloomFilter.

Definition at line 121 of file MultiGrainBloomFilter.cc.

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

void MultiGrainBloomFilter::increment ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 68 of file MultiGrainBloomFilter.cc.

bool MultiGrainBloomFilter::isSet ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 104 of file MultiGrainBloomFilter.cc.

References ArmISA::i.

void MultiGrainBloomFilter::merge ( AbstractBloomFilter other_filter)
virtual

Implements AbstractBloomFilter.

Definition at line 81 of file MultiGrainBloomFilter.cc.

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

Implements AbstractBloomFilter.

Definition at line 157 of file MultiGrainBloomFilter.cc.

int MultiGrainBloomFilter::readBit ( const int  index)
virtual

Implements AbstractBloomFilter.

Definition at line 144 of file MultiGrainBloomFilter.cc.

void MultiGrainBloomFilter::set ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 87 of file MultiGrainBloomFilter.cc.

References ArmISA::i.

void MultiGrainBloomFilter::unset ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 98 of file MultiGrainBloomFilter.cc.

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

Implements AbstractBloomFilter.

Definition at line 151 of file MultiGrainBloomFilter.cc.

Member Data Documentation

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

Definition at line 65 of file MultiGrainBloomFilter.hh.

int MultiGrainBloomFilter::m_filter_size
private

Definition at line 66 of file MultiGrainBloomFilter.hh.

int MultiGrainBloomFilter::m_filter_size_bits
private

Definition at line 67 of file MultiGrainBloomFilter.hh.

std::vector<int> MultiGrainBloomFilter::m_page_filter
private

Definition at line 69 of file MultiGrainBloomFilter.hh.

int MultiGrainBloomFilter::m_page_filter_size
private

Definition at line 70 of file MultiGrainBloomFilter.hh.

int MultiGrainBloomFilter::m_page_filter_size_bits
private

Definition at line 71 of file MultiGrainBloomFilter.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