gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::ruby::PersistentTable Class Reference

#include <PersistentTable.hh>

Public Member Functions

 PersistentTable ()
 
 ~PersistentTable ()
 
void setBlockSize (int block_size)
 
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)
 
Addr makeLineAddress (Addr addr) const
 

Private Attributes

int m_block_size_bits = 0
 
AddressMap m_map
 

Detailed Description

Definition at line 57 of file PersistentTable.hh.

Member Typedef Documentation

◆ AddressMap

Definition at line 94 of file PersistentTable.hh.

Constructor & Destructor Documentation

◆ PersistentTable() [1/2]

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

Definition at line 37 of file PersistentTable.cc.

Referenced by operator=(), and PersistentTable().

◆ ~PersistentTable()

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

Definition at line 41 of file PersistentTable.cc.

◆ PersistentTable() [2/2]

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

References PersistentTable().

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 makeLineAddress().

◆ makeLineAddress()

◆ markEntries()

◆ okToIssueStarving()

◆ operator=()

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

References PersistentTable().

◆ persistentRequestLock()

◆ persistentRequestUnlock()

◆ print()

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

Definition at line 196 of file PersistentTable.cc.

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

◆ setBlockSize()

void gem5::ruby::PersistentTable::setBlockSize ( int block_size)
inline

Definition at line 67 of file PersistentTable.hh.

References gem5::floorLog2(), and m_block_size_bits.

◆ typeOfSmallest()

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

Member Data Documentation

◆ m_block_size_bits

int gem5::ruby::PersistentTable::m_block_size_bits = 0
private

Definition at line 91 of file PersistentTable.hh.

Referenced by makeLineAddress(), and setBlockSize().

◆ m_map


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

Generated on Mon May 26 2025 09:19:36 for gem5 by doxygen 1.13.2