gem5
|
#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 41 of file PersistentTable.cc.
PersistentTable::~PersistentTable | ( | ) |
Definition at line 45 of file PersistentTable.cc.
|
private |
int PersistentTable::countReadStarvingForAddress | ( | Addr | addr | ) | const |
Definition at line 204 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 192 of file PersistentTable.cc.
References NetDest::count(), ArmISA::i, PersistentTableEntry::m_starving, and makeLineAddress().
Definition at line 141 of file PersistentTable.cc.
References ArmISA::i, PersistentTableEntry::m_starving, makeLineAddress(), and NetDest::smallestElement().
bool PersistentTable::isLocked | ( | Addr | addr | ) | const |
Definition at line 183 of file PersistentTable.cc.
References makeLineAddress().
void PersistentTable::markEntries | ( | Addr | address | ) |
Definition at line 166 of file PersistentTable.cc.
References ArmISA::i, NetDest::isEmpty(), PersistentTableEntry::m_marked, PersistentTableEntry::m_starving, and makeLineAddress().
Definition at line 118 of file PersistentTable.cc.
References ArmISA::i, NetDest::isElement(), NetDest::isEmpty(), PersistentTableEntry::m_marked, PersistentTableEntry::m_starving, and makeLineAddress().
|
private |
Definition at line 50 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, and MipsISA::r.
Definition at line 85 of file PersistentTable.cc.
References PersistentTableEntry::m_starving, makeLineAddress(), and NetDest::remove().
void PersistentTable::print | ( | std::ostream & | out | ) | const |
Definition at line 216 of file PersistentTable.cc.
Referenced by operator<<().
AccessType PersistentTable::typeOfSmallest | ( | Addr | address | ) | const |
Definition at line 151 of file PersistentTable.cc.
References ArmISA::i, and makeLineAddress().
|
private |
Definition at line 81 of file PersistentTable.hh.