Go to the documentation of this file.
41 #ifndef __MEM_RUBY_COMMON_WRITEMASK_HH__
42 #define __MEM_RUBY_COMMON_WRITEMASK_HH__
92 for (
int i = 0;
i <
len;
i++) {
109 for (
int i = 0;
i <
len;
i++) {
121 if (readMask.
mMask.at(
i)) {
134 if (readMask.
mMask.at(
i)) {
217 void print(std::ostream& out)
const;
268 #endif // __MEM_RUBY_COMMON_WRITEMASK_HH__
WriteMask(int size, std::vector< bool > &mask, AtomicOpVector atomicOp)
bool cmpMask(const WriteMask &readMask) const
bool test(int offset) const
int firstBitSet(bool val, int offset=0) const
std::vector< bool > mMask
std::ostream & operator<<(std::ostream &out, const WriteMask &obj)
void setAtomicOps(const AtomicOpVector &atomicOps)
void andMask(const WriteMask &writeMask)
void setMask(int offset, int len, bool val=true)
bool getMask(int offset, int len) const
WriteMask(int size, std::vector< bool > &mask)
bool isOverlap(const WriteMask &readMask) const
void performAtomic(DataBlock &blk) const
int count(int offset=0) const
void print(std::ostream &out) const
void setInvertedMask(const WriteMask &writeMask)
const AtomicOpVector & getAtomicOps() const
uint8_t * getDataMod(int offset)
void performAtomic(uint8_t *p) const
void orMask(const WriteMask &writeMask)
std::vector< std::pair< int, AtomicOpFunctor * > > AtomicOpVector
Generated on Tue Mar 23 2021 19:41:28 for gem5 by doxygen 1.8.17