gem5  v21.1.0.2
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 195 of file address_manager.hh.

Member Typedef Documentation

◆ ExpectedValueSet

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

Definition at line 237 of file address_manager.hh.

◆ LdStBits

Definition at line 228 of file address_manager.hh.

◆ LdStMap

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

Definition at line 229 of file address_manager.hh.

◆ LocProperty

Definition at line 223 of file address_manager.hh.

◆ LocPropTable

Definition at line 224 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 168 of file address_manager.cc.

Member Function Documentation

◆ endLocSelection()

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

Definition at line 263 of file address_manager.cc.

References gem5::MipsISA::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 243 of file address_manager.hh.

References firstMark.

◆ inSecondRegion()

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

Definition at line 247 of file address_manager.hh.

References firstMark, and secondMark.

◆ inThirdRegion()

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

Definition at line 251 of file address_manager.hh.

References arraySize, and secondMark.

◆ isExpectedValue()

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

Definition at line 376 of file address_manager.cc.

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

◆ releaseLoc()

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

Definition at line 329 of file address_manager.cc.

◆ startLocSelection()

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

Definition at line 174 of file address_manager.cc.

◆ swap()

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

Definition at line 398 of file address_manager.cc.

Member Data Documentation

◆ arraySize

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

Definition at line 220 of file address_manager.hh.

Referenced by AtomicStruct(), and inThirdRegion().

◆ atomicLoc

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

Definition at line 214 of file address_manager.hh.

Referenced by AtomicStruct().

◆ expectedValues

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

Definition at line 238 of file address_manager.hh.

◆ firstMark

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

Definition at line 219 of file address_manager.hh.

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

◆ loadStoreMap

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

Definition at line 230 of file address_manager.hh.

◆ locArray

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

Definition at line 218 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locationBase

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

Definition at line 215 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locProps

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

Definition at line 225 of file address_manager.hh.

Referenced by AtomicStruct().

◆ requestCount

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

Definition at line 233 of file address_manager.hh.

Referenced by AtomicStruct().

◆ secondMark

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

Definition at line 219 of file address_manager.hh.

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


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

Generated on Tue Sep 21 2021 12:27:13 for gem5 by doxygen 1.8.17