gem5 [DEVELOP-FOR-25.0]
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< LocPropertyLocPropTable
 
typedef std::pair< bool, bool > LdStBits
 
typedef std::unordered_map< Location, LdStBitsLdStMap
 
typedef std::unordered_set< ValueExpectedValueSet
 

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
 
LocationlocArray
 
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 Mon May 26 2025 09:19:18 for gem5 by doxygen 1.13.2