gem5
v20.1.0.0
|
#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, PersistentTableEntry > | AddressMap |
Private Member Functions | |
PersistentTable (const PersistentTable &obj) | |
PersistentTable & | operator= (const PersistentTable &obj) |
Private Attributes | |
AddressMap | m_map |
Definition at line 51 of file PersistentTable.hh.
|
private |
Definition at line 80 of file PersistentTable.hh.
PersistentTable::PersistentTable | ( | ) |
Definition at line 34 of file PersistentTable.cc.
PersistentTable::~PersistentTable | ( | ) |
Definition at line 38 of file PersistentTable.cc.
|
private |
int PersistentTable::countReadStarvingForAddress | ( | Addr | addr | ) | const |
Definition at line 181 of file PersistentTable.cc.
References NetDest::count(), ArmISA::i, PersistentTableEntry::m_request_to_write, PersistentTableEntry::m_starving, and makeLineAddress().
int PersistentTable::countStarvingForAddress | ( | Addr | addr | ) | const |
Definition at line 169 of file PersistentTable.cc.
References NetDest::count(), ArmISA::i, PersistentTableEntry::m_starving, and makeLineAddress().
Definition at line 118 of file PersistentTable.cc.
References ArmISA::i, PersistentTableEntry::m_starving, makeLineAddress(), and NetDest::smallestElement().
bool PersistentTable::isLocked | ( | Addr | addr | ) | const |
Definition at line 160 of file PersistentTable.cc.
References makeLineAddress().
void PersistentTable::markEntries | ( | Addr | address | ) |
Definition at line 143 of file PersistentTable.cc.
References ArmISA::i, NetDest::isEmpty(), PersistentTableEntry::m_marked, PersistentTableEntry::m_starving, and makeLineAddress().
Definition at line 95 of file PersistentTable.cc.
References ArmISA::i, NetDest::isElement(), NetDest::isEmpty(), PersistentTableEntry::m_marked, PersistentTableEntry::m_starving, and makeLineAddress().
|
private |
Definition at line 43 of file PersistentTable.cc.
References NetDest::add(), ArmISA::i, NetDest::isElement(), NetDest::isSubset(), PersistentTableEntry::m_marked, PersistentTableEntry::m_request_to_write, PersistentTableEntry::m_starving, makeLineAddress(), X86ISA::present, MipsISA::r, and type.
Definition at line 70 of file PersistentTable.cc.
References NetDest::isElement(), NetDest::isEmpty(), NetDest::isSubset(), PersistentTableEntry::m_marked, PersistentTableEntry::m_request_to_write, PersistentTableEntry::m_starving, makeLineAddress(), and NetDest::remove().
void PersistentTable::print | ( | std::ostream & | out | ) | const |
Definition at line 193 of file PersistentTable.cc.
Referenced by operator<<().
AccessType PersistentTable::typeOfSmallest | ( | Addr | address | ) | const |
Definition at line 128 of file PersistentTable.cc.
References ArmISA::i, PersistentTableEntry::m_request_to_write, PersistentTableEntry::m_starving, makeLineAddress(), and NetDest::smallestElement().
|
private |
Definition at line 81 of file PersistentTable.hh.