gem5  v21.1.0.2
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
gem5::ruby::TimerTable Class Reference

#include <TimerTable.hh>

Public Member Functions

 TimerTable ()
 
void setConsumer (Consumer *consumer_ptr)
 
void setDescription (const std::string &name)
 
bool isReady (Tick curTime) const
 
Addr nextAddress () const
 
bool isSet (Addr address) const
 
void set (Addr address, Tick ready_time)
 
void unset (Addr address)
 
void print (std::ostream &out) const
 

Private Types

typedef std::map< Addr, TickAddressMap
 

Private Member Functions

void updateNext () const
 
 TimerTable (const TimerTable &obj)
 
TimerTableoperator= (const TimerTable &obj)
 

Private Attributes

AddressMap m_map
 
bool m_next_valid
 
Tick m_next_time
 
Addr m_next_address
 
Consumerm_consumer_ptr
 Consumer to signal a wakeup() More...
 
std::string m_name
 

Detailed Description

Definition at line 46 of file TimerTable.hh.

Member Typedef Documentation

◆ AddressMap

typedef std::map<Addr, Tick> gem5::ruby::TimerTable::AddressMap
private

Definition at line 82 of file TimerTable.hh.

Constructor & Destructor Documentation

◆ TimerTable() [1/2]

gem5::ruby::TimerTable::TimerTable ( )

Definition at line 39 of file TimerTable.cc.

References m_consumer_ptr, m_next_address, and m_next_valid.

◆ TimerTable() [2/2]

gem5::ruby::TimerTable::TimerTable ( const TimerTable obj)
private

Member Function Documentation

◆ isReady()

bool gem5::ruby::TimerTable::isReady ( Tick  curTime) const

Definition at line 48 of file TimerTable.cc.

References m_map, m_next_time, m_next_valid, and updateNext().

◆ isSet()

bool gem5::ruby::TimerTable::isSet ( Addr  address) const
inline

Definition at line 66 of file TimerTable.hh.

References m_map.

◆ nextAddress()

Addr gem5::ruby::TimerTable::nextAddress ( ) const

Definition at line 61 of file TimerTable.cc.

References m_next_address, m_next_valid, and updateNext().

◆ operator=()

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

◆ print()

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

Definition at line 101 of file TimerTable.cc.

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

◆ set()

void gem5::ruby::TimerTable::set ( Addr  address,
Tick  ready_time 
)

◆ setConsumer()

void gem5::ruby::TimerTable::setConsumer ( Consumer consumer_ptr)
inline

Definition at line 52 of file TimerTable.hh.

References m_consumer_ptr.

◆ setDescription()

void gem5::ruby::TimerTable::setDescription ( const std::string &  name)
inline

Definition at line 59 of file TimerTable.hh.

References m_name, and name().

◆ unset()

void gem5::ruby::TimerTable::unset ( Addr  address)

Definition at line 88 of file TimerTable.cc.

References m_map, m_next_address, m_next_valid, and gem5::ruby::makeLineAddress().

◆ updateNext()

void gem5::ruby::TimerTable::updateNext ( ) const
private

Definition at line 106 of file TimerTable.cc.

References gem5::ArmISA::i, m_map, m_next_address, m_next_time, and m_next_valid.

Referenced by isReady(), and nextAddress().

Member Data Documentation

◆ m_consumer_ptr

Consumer* gem5::ruby::TimerTable::m_consumer_ptr
private

Consumer to signal a wakeup()

Definition at line 89 of file TimerTable.hh.

Referenced by set(), setConsumer(), and TimerTable().

◆ m_map

AddressMap gem5::ruby::TimerTable::m_map
private

Definition at line 83 of file TimerTable.hh.

Referenced by isReady(), isSet(), set(), unset(), and updateNext().

◆ m_name

std::string gem5::ruby::TimerTable::m_name
private

Definition at line 91 of file TimerTable.hh.

Referenced by setDescription().

◆ m_next_address

Addr gem5::ruby::TimerTable::m_next_address
mutableprivate

Definition at line 86 of file TimerTable.hh.

Referenced by nextAddress(), TimerTable(), unset(), and updateNext().

◆ m_next_time

Tick gem5::ruby::TimerTable::m_next_time
mutableprivate

Definition at line 85 of file TimerTable.hh.

Referenced by isReady(), set(), and updateNext().

◆ m_next_valid

bool gem5::ruby::TimerTable::m_next_valid
mutableprivate

Definition at line 84 of file TimerTable.hh.

Referenced by isReady(), nextAddress(), set(), TimerTable(), unset(), and updateNext().


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

Generated on Tue Sep 21 2021 12:32:10 for gem5 by doxygen 1.8.17