gem5  v20.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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 51 of file PersistentTable.hh.

Member Typedef Documentation

◆ AddressMap

typedef std::unordered_map<Addr, PersistentTableEntry> PersistentTable::AddressMap
private

Definition at line 80 of file PersistentTable.hh.

Constructor & Destructor Documentation

◆ PersistentTable() [1/2]

PersistentTable::PersistentTable ( )

Definition at line 34 of file PersistentTable.cc.

◆ ~PersistentTable()

PersistentTable::~PersistentTable ( )

Definition at line 38 of file PersistentTable.cc.

◆ PersistentTable() [2/2]

PersistentTable::PersistentTable ( const PersistentTable obj)
private

Member Function Documentation

◆ countReadStarvingForAddress()

int PersistentTable::countReadStarvingForAddress ( Addr  addr) const

◆ countStarvingForAddress()

int PersistentTable::countStarvingForAddress ( Addr  addr) const

◆ findSmallest()

MachineID PersistentTable::findSmallest ( Addr  address) const

◆ isLocked()

bool PersistentTable::isLocked ( Addr  addr) const

Definition at line 160 of file PersistentTable.cc.

References makeLineAddress().

◆ markEntries()

void PersistentTable::markEntries ( Addr  address)

◆ okToIssueStarving()

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

◆ operator=()

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

◆ persistentRequestLock()

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

◆ persistentRequestUnlock()

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

◆ print()

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

Definition at line 193 of file PersistentTable.cc.

Referenced by operator<<().

◆ typeOfSmallest()

AccessType PersistentTable::typeOfSmallest ( Addr  address) const

Member Data Documentation

◆ m_map

AddressMap PersistentTable::m_map
private

Definition at line 81 of file PersistentTable.hh.


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

Generated on Wed Sep 30 2020 14:02:29 for gem5 by doxygen 1.8.17