gem5  v22.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
gem5::ruby::PersistentTable Class Reference

#include <PersistentTable.hh>

Public Member Functions

 PersistentTable ()
 
 ~PersistentTable ()
 
void persistentRequestLock (Addr address, MachineID locker, AccessType type)
 
void persistentRequestUnlock (Addr address, MachineID unlocker)
 
bool okToIssueStarving (Addr address, MachineID machID) const
 
MachineID findSmallest (Addr address) const
 
AccessType typeOfSmallest (Addr address) const
 
void markEntries (Addr address)
 
bool isLocked (Addr addr) const
 
int countStarvingForAddress (Addr addr) const
 
int countReadStarvingForAddress (Addr addr) const
 
void print (std::ostream &out) const
 

Private Types

typedef std::unordered_map< Addr, PersistentTableEntryAddressMap
 

Private Member Functions

 PersistentTable (const PersistentTable &obj)
 
PersistentTableoperator= (const PersistentTable &obj)
 

Private Attributes

AddressMap m_map
 

Detailed Description

Definition at line 57 of file PersistentTable.hh.

Member Typedef Documentation

◆ AddressMap

Definition at line 86 of file PersistentTable.hh.

Constructor & Destructor Documentation

◆ PersistentTable() [1/2]

gem5::ruby::PersistentTable::PersistentTable ( )

Definition at line 37 of file PersistentTable.cc.

◆ ~PersistentTable()

gem5::ruby::PersistentTable::~PersistentTable ( )

Definition at line 41 of file PersistentTable.cc.

◆ PersistentTable() [2/2]

gem5::ruby::PersistentTable::PersistentTable ( const PersistentTable obj)
private

Member Function Documentation

◆ countReadStarvingForAddress()

int gem5::ruby::PersistentTable::countReadStarvingForAddress ( Addr  addr) const

◆ countStarvingForAddress()

int gem5::ruby::PersistentTable::countStarvingForAddress ( Addr  addr) const

◆ findSmallest()

MachineID gem5::ruby::PersistentTable::findSmallest ( Addr  address) const

◆ isLocked()

bool gem5::ruby::PersistentTable::isLocked ( Addr  addr) const

Definition at line 163 of file PersistentTable.cc.

References m_map, and gem5::ruby::makeLineAddress().

◆ markEntries()

void gem5::ruby::PersistentTable::markEntries ( Addr  address)

◆ okToIssueStarving()

bool gem5::ruby::PersistentTable::okToIssueStarving ( Addr  address,
MachineID  machID 
) const

◆ operator=()

PersistentTable& gem5::ruby::PersistentTable::operator= ( const PersistentTable obj)
private

◆ persistentRequestLock()

void gem5::ruby::PersistentTable::persistentRequestLock ( Addr  address,
MachineID  locker,
AccessType  type 
)

◆ persistentRequestUnlock()

void gem5::ruby::PersistentTable::persistentRequestUnlock ( Addr  address,
MachineID  unlocker 
)

◆ print()

void gem5::ruby::PersistentTable::print ( std::ostream &  out) const

Definition at line 196 of file PersistentTable.cc.

Referenced by gem5::ruby::operator<<().

◆ typeOfSmallest()

AccessType gem5::ruby::PersistentTable::typeOfSmallest ( Addr  address) const

Member Data Documentation

◆ m_map

AddressMap gem5::ruby::PersistentTable::m_map
private

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

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