gem5  v22.0.0.1
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()

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

Definition at line 41 of file

◆ PersistentTable() [2/2]

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

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

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)

◆ 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

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

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

Generated on Sat Jun 18 2022 08:14:33 for gem5 by doxygen 1.8.17