|
gem5 [DEVELOP-FOR-25.0]
|
#include <WriteMask.hh>
Public Types | |
| typedef std::vector< std::pair< int, AtomicOpFunctor * > > | AtomicOpVector |
Public Member Functions | |
| WriteMask () | |
| WriteMask (int size) | |
| WriteMask (int size, std::vector< bool > &mask) | |
| WriteMask (int size, std::vector< bool > &mask, AtomicOpVector atomicOp) | |
| ~WriteMask () | |
| int | getBlockSize () const |
| void | setBlockSize (int size) |
| int | getBlockSizeBits () const |
| void | clear () |
| bool | test (int offset) const |
| void | setMask (int offset, int len, bool val=true) |
| void | fillMask () |
| bool | getMask (int offset, int len) const |
| bool | isOverlap (const WriteMask &readMask) const |
| bool | containsMask (const WriteMask &readMask) const |
| bool | isEmpty () const |
| bool | isFull () const |
| void | andMask (const WriteMask &writeMask) |
| void | orMask (const WriteMask &writeMask) |
| void | setInvertedMask (const WriteMask &writeMask) |
| int | firstBitSet (bool val, int offset=0) const |
| int | count (int offset=0) const |
| void | print (std::ostream &out) const |
| void | performAtomic (uint8_t *p, std::deque< uint8_t * > &atomicChangeLog, bool isAtomicNoReturn=true) const |
| const AtomicOpVector & | getAtomicOps () const |
| void | setAtomicOps (const AtomicOpVector &atomicOps) |
Private Attributes | |
| int | mSize |
| std::vector< bool > | mMask |
| bool | mAtomic |
| AtomicOpVector | mAtomicOp |
Definition at line 60 of file WriteMask.hh.
| typedef std::vector<std::pair<int, AtomicOpFunctor* > > gem5::ruby::WriteMask::AtomicOpVector |
Definition at line 63 of file WriteMask.hh.
| gem5::ruby::WriteMask::WriteMask | ( | ) |
Definition at line 41 of file WriteMask.cc.
References mAtomic, mMask, and mSize.
Referenced by andMask(), containsMask(), isOverlap(), orMask(), and setInvertedMask().
|
inline |
Definition at line 67 of file WriteMask.hh.
|
inline |
Definition at line 71 of file WriteMask.hh.
References gem5::ArmISA::mask, mAtomic, mMask, and mSize.
|
inline |
Definition at line 75 of file WriteMask.hh.
References gem5::ArmISA::mask, mAtomic, mAtomicOp, mMask, and mSize.
|
inline |
Definition at line 79 of file WriteMask.hh.
|
inline |
Definition at line 191 of file WriteMask.hh.
References gem5::ArmISA::i, mAtomic, mAtomicOp, mMask, mSize, and WriteMask().
|
inline |
Definition at line 96 of file WriteMask.hh.
Referenced by setBlockSize().
|
inline |
Definition at line 154 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, mSize, and WriteMask().
|
inline |
Definition at line 241 of file WriteMask.hh.
References count(), gem5::ArmISA::i, mMask, mSize, and gem5::ArmISA::offset.
Referenced by count().
|
inline |
Definition at line 119 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
|
inline |
Definition at line 231 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, mSize, gem5::ArmISA::offset, and gem5::X86ISA::val.
|
inline |
Definition at line 264 of file WriteMask.hh.
References mAtomicOp.
|
inline |
Definition at line 82 of file WriteMask.hh.
References mSize.
|
inline |
Definition at line 93 of file WriteMask.hh.
References gem5::floorLog2(), and mSize.
|
inline |
Definition at line 128 of file WriteMask.hh.
References gem5::ArmISA::i, gem5::ArmISA::len, mMask, mSize, and gem5::ArmISA::offset.
|
inline |
Definition at line 167 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 179 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 140 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, mSize, and WriteMask().
|
inline |
Definition at line 206 of file WriteMask.hh.
References gem5::ArmISA::i, mAtomic, mAtomicOp, mMask, mSize, and WriteMask().
| void gem5::ruby::WriteMask::performAtomic | ( | uint8_t * | p, |
| std::deque< uint8_t * > & | atomicChangeLog, | ||
| bool | isAtomicNoReturn = true ) const |
Definition at line 59 of file WriteMask.cc.
References gem5::ArmISA::i, mAtomicOp, mSize, gem5::ArmISA::offset, and gem5::MipsISA::p.
| void gem5::ruby::WriteMask::print | ( | std::ostream & | out | ) | const |
Definition at line 46 of file WriteMask.cc.
References gem5::ArmISA::i, mMask, and mSize.
Referenced by gem5::ruby::operator<<().
|
inline |
Definition at line 270 of file WriteMask.hh.
|
inline |
Definition at line 84 of file WriteMask.hh.
References clear(), and mSize.
Referenced by gem5::ruby::RubySystem::partialFunctionalRead().
|
inline |
Definition at line 221 of file WriteMask.hh.
References gem5::ArmISA::i, mMask, mSize, and WriteMask().
|
inline |
Definition at line 110 of file WriteMask.hh.
References gem5::ArmISA::i, gem5::ArmISA::len, mMask, mSize, gem5::ArmISA::offset, and gem5::X86ISA::val.
|
inline |
Definition at line 102 of file WriteMask.hh.
References mMask, mSize, and gem5::ArmISA::offset.
|
private |
Definition at line 279 of file WriteMask.hh.
Referenced by andMask(), orMask(), setAtomicOps(), WriteMask(), WriteMask(), WriteMask(), and WriteMask().
|
private |
Definition at line 280 of file WriteMask.hh.
Referenced by andMask(), getAtomicOps(), orMask(), performAtomic(), setAtomicOps(), and WriteMask().
|
private |
Definition at line 278 of file WriteMask.hh.
Referenced by andMask(), clear(), containsMask(), count(), fillMask(), firstBitSet(), getMask(), isEmpty(), isFull(), isOverlap(), orMask(), print(), setInvertedMask(), setMask(), test(), WriteMask(), WriteMask(), WriteMask(), and WriteMask().
|
private |
Definition at line 277 of file WriteMask.hh.
Referenced by andMask(), clear(), containsMask(), count(), fillMask(), firstBitSet(), getBlockSize(), getBlockSizeBits(), getMask(), isEmpty(), isFull(), isOverlap(), orMask(), performAtomic(), print(), setBlockSize(), setInvertedMask(), setMask(), test(), WriteMask(), WriteMask(), WriteMask(), and WriteMask().