gem5  v21.0.1.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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 192 of file address_manager.hh.

Member Typedef Documentation

◆ ExpectedValueSet

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

Definition at line 234 of file address_manager.hh.

◆ LdStBits

Definition at line 225 of file address_manager.hh.

◆ LdStMap

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

Definition at line 226 of file address_manager.hh.

◆ LocProperty

Definition at line 220 of file address_manager.hh.

◆ LocPropTable

Definition at line 221 of file address_manager.hh.

Constructor & Destructor Documentation

◆ AtomicStruct()

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

◆ ~AtomicStruct()

AddressManager::AtomicStruct::~AtomicStruct ( )

Definition at line 165 of file address_manager.cc.

Member Function Documentation

◆ endLocSelection()

void AddressManager::AtomicStruct::endLocSelection ( )

Definition at line 260 of file address_manager.cc.

References MipsISA::p, and panic.

◆ getLoadLoc()

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

Definition at line 188 of file address_manager.cc.

References AddressManager::INVALID_LOCATION, and MipsISA::random.

◆ getStoreLoc()

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

Definition at line 221 of file address_manager.cc.

References AddressManager::INVALID_LOCATION, and MipsISA::random.

◆ inFirstRegion()

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

Definition at line 240 of file address_manager.hh.

References firstMark.

◆ inSecondRegion()

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

Definition at line 244 of file address_manager.hh.

References firstMark, and secondMark.

◆ inThirdRegion()

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

Definition at line 248 of file address_manager.hh.

References arraySize, and secondMark.

◆ isExpectedValue()

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

Definition at line 373 of file address_manager.cc.

References X86ISA::val, and warn.

◆ releaseLoc()

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

Definition at line 326 of file address_manager.cc.

◆ startLocSelection()

void AddressManager::AtomicStruct::startLocSelection ( )

Definition at line 171 of file address_manager.cc.

◆ swap()

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

Definition at line 395 of file address_manager.cc.

Member Data Documentation

◆ arraySize

int AddressManager::AtomicStruct::arraySize
private

Definition at line 217 of file address_manager.hh.

Referenced by AtomicStruct(), and inThirdRegion().

◆ atomicLoc

Location AddressManager::AtomicStruct::atomicLoc
private

Definition at line 211 of file address_manager.hh.

Referenced by AtomicStruct().

◆ expectedValues

ExpectedValueSet AddressManager::AtomicStruct::expectedValues
private

Definition at line 235 of file address_manager.hh.

◆ firstMark

int AddressManager::AtomicStruct::firstMark
private

Definition at line 216 of file address_manager.hh.

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

◆ loadStoreMap

LdStMap AddressManager::AtomicStruct::loadStoreMap
private

Definition at line 227 of file address_manager.hh.

◆ locArray

Location* AddressManager::AtomicStruct::locArray
private

Definition at line 215 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locationBase

Location AddressManager::AtomicStruct::locationBase
private

Definition at line 212 of file address_manager.hh.

Referenced by AtomicStruct().

◆ locProps

LocPropTable AddressManager::AtomicStruct::locProps
private

Definition at line 222 of file address_manager.hh.

Referenced by AtomicStruct().

◆ requestCount

int AddressManager::AtomicStruct::requestCount
private

Definition at line 230 of file address_manager.hh.

Referenced by AtomicStruct().

◆ secondMark

int AddressManager::AtomicStruct::secondMark
private

Definition at line 216 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 Jun 22 2021 15:28:35 for gem5 by doxygen 1.8.17