41#ifndef __MEM_RUBY_COMMON_WRITEMASK_HH__
42#define __MEM_RUBY_COMMON_WRITEMASK_HH__
112 for (
int i = 0;
i <
len;
i++) {
131 for (
int i = 0;
i <
len;
i++) {
144 if (readMask.
mMask.at(
i)) {
158 if (readMask.
mMask.at(
i)) {
248 void print(std::ostream& out)
const;
259 bool isAtomicNoReturn=
true)
const;
281inline std::ostream& {
…}
void performAtomic(uint8_t *p, std::deque< uint8_t * > &atomicChangeLog, bool isAtomicNoReturn=true) const
bool getMask(int offset, int len) const
bool isOverlap(const WriteMask &readMask) const
std::vector< std::pair< int, AtomicOpFunctor * > > AtomicOpVector
bool containsMask(const WriteMask &readMask) const
int count(int offset=0) const
void setMask(int offset, int len, bool val=true)
std::vector< bool > mMask
WriteMask(int size, std::vector< bool > &mask, AtomicOpVector atomicOp)
void setInvertedMask(const WriteMask &writeMask)
bool test(int offset) const
void orMask(const WriteMask &writeMask)
const AtomicOpVector & getAtomicOps() const
WriteMask(int size, std::vector< bool > &mask)
void print(std::ostream &out) const
void setBlockSize(int size)
void andMask(const WriteMask &writeMask)
void setAtomicOps(const AtomicOpVector &atomicOps)
int firstBitSet(bool val, int offset=0) const
Copyright (c) 2024 Arm Limited All rights reserved.
std::ostream & operator<<(std::ostream &os, const BaseSemihosting::InPlaceArg &ipa)