gem5  v21.2.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< 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
 

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::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 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 Tue Dec 21 2021 11:34:54 for gem5 by doxygen 1.8.17