gem5  v22.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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
 

Detailed Description

Definition at line 193 of file address_manager.hh.

Member Typedef Documentation

◆ ExpectedValueSet

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

Definition at line 235 of file address_manager.hh.

◆ LdStBits

Definition at line 226 of file address_manager.hh.

◆ LdStMap

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

Definition at line 227 of file address_manager.hh.

◆ LocProperty

Definition at line 221 of file address_manager.hh.

◆ LocPropTable

Definition at line 222 of file address_manager.hh.

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 166 of file address_manager.cc.

Member Function Documentation

◆ endLocSelection()

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

Definition at line 261 of file address_manager.cc.

References gem5::VegaISA::p, and panic.

◆ 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 241 of file address_manager.hh.

References firstMark.

◆ inSecondRegion()

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

Definition at line 245 of file address_manager.hh.

References firstMark, and secondMark.

◆ inThirdRegion()

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

Definition at line 249 of file address_manager.hh.

References arraySize, and secondMark.

◆ isExpectedValue()

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

Definition at line 374 of file address_manager.cc.

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

◆ releaseLoc()

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

Definition at line 327 of file address_manager.cc.

◆ startLocSelection()

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

Definition at line 172 of file address_manager.cc.

◆ swap()

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

Definition at line 396 of file address_manager.cc.

Member Data Documentation

◆ arraySize

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

Definition at line 218 of file address_manager.hh.

Referenced by AtomicStruct(), and inThirdRegion().

◆ atomicLoc

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

Definition at line 212 of file address_manager.hh.

Referenced by AtomicStruct().

◆ expectedValues

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

Definition at line 236 of file address_manager.hh.

◆ firstMark

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

Definition at line 217 of file address_manager.hh.

Referenced by AtomicStruct(), inFirstRegion(), and inSecondRegion().

◆ loadStoreMap

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

Definition at line 228 of file address_manager.hh.

◆ locArray

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

Definition at line 216 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locationBase

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

Definition at line 213 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locProps

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

Definition at line 223 of file address_manager.hh.

Referenced by AtomicStruct().

◆ requestCount

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

Definition at line 231 of file address_manager.hh.

Referenced by AtomicStruct().

◆ secondMark

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

Definition at line 217 of file address_manager.hh.

Referenced by AtomicStruct(), inSecondRegion(), and inThirdRegion().


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

Generated on Wed Dec 21 2022 10:23:14 for gem5 by doxygen 1.9.1