gem5  v20.0.0.3
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() [1/4]

WriteMask::WriteMask ( )
inline

Definition at line 43 of file WriteMask.hh.

◆ WriteMask() [2/4]

WriteMask::WriteMask ( int  size)
inline

Definition at line 48 of file WriteMask.hh.

◆ WriteMask() [3/4]

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

Definition at line 52 of file WriteMask.hh.

◆ WriteMask() [4/4]

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::~WriteMask ( )
inline

Definition at line 61 of file WriteMask.hh.

Member Function Documentation

◆ clear()

void WriteMask::clear ( )
inline

Definition at line 65 of file WriteMask.hh.

References mMask, and mSize.

◆ cmpMask()

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

Definition at line 118 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

◆ fillMask()

void WriteMask::fillMask ( )
inline

Definition at line 86 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

◆ getMask()

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().

◆ isEmpty()

bool WriteMask::isEmpty ( ) const
inline

Definition at line 130 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

◆ isFull()

bool WriteMask::isFull ( ) const
inline

Definition at line 141 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

◆ isOverlap()

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

Definition at line 105 of file WriteMask.hh.

References ArmISA::i, mMask, and mSize.

◆ orMask()

void WriteMask::orMask ( const WriteMask writeMask)
inline

Definition at line 152 of file WriteMask.hh.

References ArmISA::i, mAtomic, mAtomicOp, mMask, mSize, and print().

◆ performAtomic() [1/2]

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().

◆ performAtomic() [2/2]

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.

◆ print()

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

Definition at line 36 of file WriteMask.cc.

References ArmISA::i, mMask, and mSize.

Referenced by operator<<(), and orMask().

◆ setMask()

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

Definition at line 78 of file WriteMask.hh.

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

◆ test()

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

◆ mAtomic

bool WriteMask::mAtomic
private

Definition at line 190 of file WriteMask.hh.

Referenced by orMask().

◆ mAtomicOp

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

Definition at line 191 of file WriteMask.hh.

Referenced by orMask(), and performAtomic().

◆ mMask

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

◆ mSize

int WriteMask::mSize
private

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

Generated on Fri Jul 3 2020 15:53:23 for gem5 by doxygen 1.8.13