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

#include <WriteMask.hh>

Public Member Functions

 WriteMask ()
 
 WriteMask (int size)
 
 WriteMask (int size, std::vector< bool > &mask)
 
 WriteMask (int size, std::vector< bool > &mask, std::vector< std::pair< int, AtomicOpFunctor * > > atomicOp)
 
 ~WriteMask ()
 
void clear ()
 
bool test (int offset)
 
void setMask (int offset, int len)
 
void fillMask ()
 
bool getMask (int offset, int len) const
 
bool isOverlap (const WriteMask &readMask) const
 
bool cmpMask (const WriteMask &readMask) const
 
bool isEmpty () const
 
bool isFull () const
 
void orMask (const WriteMask &writeMask)
 
void print (std::ostream &out) const
 
void performAtomic (uint8_t *p) const
 
void performAtomic (DataBlock &blk) const
 

Private Attributes

int mSize
 
std::vector< bool > mMask
 
bool mAtomic
 
std::vector< std::pair< int,
AtomicOpFunctor * > > 
mAtomicOp
 

Detailed Description

Definition at line 40 of file WriteMask.hh.

Constructor & Destructor Documentation

WriteMask::WriteMask ( )
inline

Definition at line 43 of file WriteMask.hh.

WriteMask::WriteMask ( int  size)
inline

Definition at line 48 of file WriteMask.hh.

WriteMask::WriteMask ( int  size,
std::vector< bool > &  mask 
)
inline

Definition at line 52 of file WriteMask.hh.

WriteMask::WriteMask ( int  size,
std::vector< bool > &  mask,
std::vector< std::pair< int, AtomicOpFunctor * > >  atomicOp 
)
inline

Definition at line 56 of file WriteMask.hh.

WriteMask::~WriteMask ( )
inline

Definition at line 61 of file WriteMask.hh.

Member Function Documentation

void WriteMask::clear ( )
inline

Definition at line 65 of file WriteMask.hh.

References mMask, and mSize.

bool WriteMask::cmpMask ( const WriteMask readMask) const
inline

Definition at line 118 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

void WriteMask::fillMask ( )
inline

Definition at line 86 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

bool WriteMask::getMask ( int  offset,
int  len 
) const
inline

Definition at line 94 of file WriteMask.hh.

References ArmISA::i, ArmISA::len, mMask, and mSize.

Referenced by DataBlock::copyPartial().

bool WriteMask::isEmpty ( ) const
inline

Definition at line 130 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

bool WriteMask::isFull ( ) const
inline

Definition at line 141 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

bool WriteMask::isOverlap ( const WriteMask readMask) const
inline

Definition at line 105 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

void WriteMask::orMask ( const WriteMask writeMask)
inline

Definition at line 152 of file WriteMask.hh.

References ArmISA::i, mAtomic, mAtomicOp, mMask, and mSize.

void WriteMask::performAtomic ( uint8_t *  p) const
inline

Definition at line 168 of file WriteMask.hh.

References ArmISA::i, mAtomicOp, and ArmISA::offset.

Referenced by DataBlock::atomicPartial().

void WriteMask::performAtomic ( DataBlock blk) const
inline

Definition at line 178 of file WriteMask.hh.

References DataBlock::getDataMod(), ArmISA::i, mAtomicOp, ArmISA::offset, and MipsISA::p.

void WriteMask::print ( std::ostream &  out) const

Definition at line 36 of file WriteMask.cc.

References ArmISA::i, mMask, and mSize.

Referenced by operator<<().

void WriteMask::setMask ( int  offset,
int  len 
)
inline

Definition at line 78 of file WriteMask.hh.

References ArmISA::i, ArmISA::len, mMask, and mSize.

bool WriteMask::test ( int  offset)
inline

Definition at line 71 of file WriteMask.hh.

References mMask, mSize, and ArmISA::offset.

Referenced by testAndReadMask().

Member Data Documentation

bool WriteMask::mAtomic
private

Definition at line 190 of file WriteMask.hh.

Referenced by orMask().

std::vector<std::pair<int, AtomicOpFunctor*> > WriteMask::mAtomicOp
private

Definition at line 191 of file WriteMask.hh.

Referenced by orMask(), and performAtomic().

std::vector<bool> WriteMask::mMask
private
int WriteMask::mSize
private

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

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