gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::AddressManager::AtomicStruct Class Reference

Public Member Functions

 AtomicStruct (Location atom_loc, Location loc_begin, Location loc_end)
 ~AtomicStruct ()
void startLocSelection ()
Location getLoadLoc ()
Location getStoreLoc ()
void endLocSelection ()
void releaseLoc (Location loc)
bool isExpectedValue (Value val)

Private Types

typedef std::pair< int, int > LocProperty
typedef std::vector< LocProperty > LocPropTable
typedef std::pair< bool, bool > LdStBits
typedef std::unordered_map< Location, LdStBits > LdStMap
typedef std::unordered_set< Value > ExpectedValueSet

Private Member Functions

void swap (LocProperty &prop_1, LocProperty &prop_2)
bool inFirstRegion (int idx) const
bool inSecondRegion (int idx) const
bool inThirdRegion (int idx) const

Private Attributes

Location atomicLoc
Location locationBase
Location * locArray
int firstMark
int secondMark
int arraySize
LocPropTable locProps
LdStMap loadStoreMap
int requestCount
ExpectedValueSet expectedValues
Random::RandomPtr rng = Random::genRandom()

Detailed Description

Definition at line 194 of file address_manager.hh.

Member Typedef Documentation

◆ ExpectedValueSet

typedef std::unordered_set<Value> gem5::AddressManager::AtomicStruct::ExpectedValueSet
private

Definition at line 236 of file address_manager.hh.

◆ LdStBits

Definition at line 227 of file address_manager.hh.

◆ LdStMap

typedef std::unordered_map<Location, LdStBits> gem5::AddressManager::AtomicStruct::LdStMap
private

Definition at line 228 of file address_manager.hh.

◆ LocProperty

Definition at line 222 of file address_manager.hh.

◆ LocPropTable

Constructor & Destructor Documentation

◆ AtomicStruct()

gem5::AddressManager::AtomicStruct::AtomicStruct ( Location atom_loc,
Location loc_begin,
Location loc_end )

◆ ~AtomicStruct()

gem5::AddressManager::AtomicStruct::~AtomicStruct ( )

Definition at line 176 of file address_manager.cc.

References locArray.

Member Function Documentation

◆ endLocSelection()

void gem5::AddressManager::AtomicStruct::endLocSelection ( )

◆ getLoadLoc()

AddressManager::Location gem5::AddressManager::AtomicStruct::getLoadLoc ( )

◆ getStoreLoc()

AddressManager::Location gem5::AddressManager::AtomicStruct::getStoreLoc ( )

◆ inFirstRegion()

bool gem5::AddressManager::AtomicStruct::inFirstRegion ( int idx) const
inlineprivate

Definition at line 244 of file address_manager.hh.

References firstMark.

Referenced by releaseLoc().

◆ inSecondRegion()

bool gem5::AddressManager::AtomicStruct::inSecondRegion ( int idx) const
inlineprivate

Definition at line 248 of file address_manager.hh.

References firstMark, and secondMark.

Referenced by endLocSelection(), and releaseLoc().

◆ inThirdRegion()

bool gem5::AddressManager::AtomicStruct::inThirdRegion ( int idx) const
inlineprivate

Definition at line 252 of file address_manager.hh.

References arraySize, and secondMark.

Referenced by endLocSelection(), and releaseLoc().

◆ isExpectedValue()

bool gem5::AddressManager::AtomicStruct::isExpectedValue ( Value val)

Definition at line 388 of file address_manager.cc.

References expectedValues, gem5::X86ISA::val, and warn.

◆ releaseLoc()

void gem5::AddressManager::AtomicStruct::releaseLoc ( Location loc)

◆ startLocSelection()

void gem5::AddressManager::AtomicStruct::startLocSelection ( )

Definition at line 182 of file address_manager.cc.

References arraySize, expectedValues, firstMark, loadStoreMap, requestCount, and secondMark.

◆ swap()

void gem5::AddressManager::AtomicStruct::swap ( LocProperty & prop_1,
LocProperty & prop_2 )
private

Definition at line 410 of file address_manager.cc.

References locArray.

Referenced by endLocSelection(), and releaseLoc().

Member Data Documentation

◆ arraySize

int gem5::AddressManager::AtomicStruct::arraySize
private

◆ atomicLoc

Location gem5::AddressManager::AtomicStruct::atomicLoc
private

Definition at line 213 of file address_manager.hh.

Referenced by AtomicStruct().

◆ expectedValues

ExpectedValueSet gem5::AddressManager::AtomicStruct::expectedValues
private

Definition at line 237 of file address_manager.hh.

Referenced by isExpectedValue(), and startLocSelection().

◆ firstMark

int gem5::AddressManager::AtomicStruct::firstMark
private

◆ loadStoreMap

LdStMap gem5::AddressManager::AtomicStruct::loadStoreMap
private

Definition at line 229 of file address_manager.hh.

Referenced by endLocSelection(), getLoadLoc(), getStoreLoc(), and startLocSelection().

◆ locArray

Location* gem5::AddressManager::AtomicStruct::locArray
private

◆ locationBase

Location gem5::AddressManager::AtomicStruct::locationBase
private

Definition at line 214 of file address_manager.hh.

Referenced by AtomicStruct(), endLocSelection(), and releaseLoc().

◆ locProps

LocPropTable gem5::AddressManager::AtomicStruct::locProps
private

Definition at line 224 of file address_manager.hh.

Referenced by AtomicStruct(), endLocSelection(), and releaseLoc().

◆ requestCount

int gem5::AddressManager::AtomicStruct::requestCount
private

Definition at line 232 of file address_manager.hh.

Referenced by AtomicStruct(), and startLocSelection().

◆ rng

Random::RandomPtr gem5::AddressManager::AtomicStruct::rng = Random::genRandom()
private

Definition at line 239 of file address_manager.hh.

Referenced by getLoadLoc(), and getStoreLoc().

◆ secondMark

int gem5::AddressManager::AtomicStruct::secondMark
private

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

Generated on Sat Oct 18 2025 08:06:48 for gem5 by doxygen 1.14.0