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

#include <BulkBloomFilter.hh>

Inheritance diagram for BulkBloomFilter:
AbstractBloomFilter

Public Member Functions

 BulkBloomFilter (int size)
 
 ~BulkBloomFilter ()
 
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_index (Addr addr)
 
Addr permute (Addr addr)
 

Private Attributes

std::vector< int > m_filter
 
std::vector< int > m_temp_filter
 
int m_filter_size
 
int m_filter_size_bits
 
int m_sector_bits
 

Detailed Description

Definition at line 38 of file BulkBloomFilter.hh.

Constructor & Destructor Documentation

BulkBloomFilter::BulkBloomFilter ( int  size)

Definition at line 39 of file BulkBloomFilter.cc.

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

BulkBloomFilter::~BulkBloomFilter ( )

Definition at line 56 of file BulkBloomFilter.cc.

Member Function Documentation

void BulkBloomFilter::clear ( )
virtual

Implements AbstractBloomFilter.

Definition at line 61 of file BulkBloomFilter.cc.

References ArmISA::i.

void BulkBloomFilter::decrement ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 75 of file BulkBloomFilter.cc.

int BulkBloomFilter::get_index ( Addr  addr)
private

Definition at line 212 of file BulkBloomFilter.cc.

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

int BulkBloomFilter::getCount ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 169 of file BulkBloomFilter.cc.

int BulkBloomFilter::getIndex ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 188 of file BulkBloomFilter.cc.

int BulkBloomFilter::getTotalCount ( )
virtual

Implements AbstractBloomFilter.

Definition at line 176 of file BulkBloomFilter.cc.

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

void BulkBloomFilter::increment ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 69 of file BulkBloomFilter.cc.

bool BulkBloomFilter::isSet ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 113 of file BulkBloomFilter.cc.

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

void BulkBloomFilter::merge ( AbstractBloomFilter other_filter)
virtual

Implements AbstractBloomFilter.

Definition at line 81 of file BulkBloomFilter.cc.

Addr BulkBloomFilter::permute ( Addr  addr)
private

Definition at line 220 of file BulkBloomFilter.cc.

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

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

Implements AbstractBloomFilter.

Definition at line 207 of file BulkBloomFilter.cc.

int BulkBloomFilter::readBit ( const int  index)
virtual

Implements AbstractBloomFilter.

Definition at line 194 of file BulkBloomFilter.cc.

void BulkBloomFilter::set ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 87 of file BulkBloomFilter.cc.

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

void BulkBloomFilter::unset ( Addr  addr)
virtual

Implements AbstractBloomFilter.

Definition at line 107 of file BulkBloomFilter.cc.

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

Implements AbstractBloomFilter.

Definition at line 201 of file BulkBloomFilter.cc.

Member Data Documentation

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

Definition at line 64 of file BulkBloomFilter.hh.

int BulkBloomFilter::m_filter_size
private

Definition at line 67 of file BulkBloomFilter.hh.

int BulkBloomFilter::m_filter_size_bits
private

Definition at line 68 of file BulkBloomFilter.hh.

int BulkBloomFilter::m_sector_bits
private

Definition at line 70 of file BulkBloomFilter.hh.

std::vector<int> BulkBloomFilter::m_temp_filter
private

Definition at line 65 of file BulkBloomFilter.hh.


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

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