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
 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

Definition at line 82 of file TimerTable.hh.

Constructor & Destructor Documentation

◆ TimerTable() [1/2]

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

Definition at line 39 of file

References m_consumer_ptr, m_next_address, and m_next_valid.

◆ TimerTable() [2/2]

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

Member Function Documentation

◆ isReady()

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

Definition at line 48 of file

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

◆ isSet()

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

Definition at line 66 of file TimerTable.hh.

References m_map.

◆ nextAddress()

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

Definition at line 61 of file

References m_next_address, m_next_valid, and updateNext().

◆ operator=()

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

◆ print()

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

Definition at line 101 of file

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)

Definition at line 52 of file TimerTable.hh.

References m_consumer_ptr.

◆ setDescription()

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

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

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

◆ updateNext()

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

Definition at line 106 of file

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

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

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

Definition at line 91 of file TimerTable.hh.

Referenced by setDescription().

◆ m_next_address

Addr gem5::ruby::TimerTable::m_next_address

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

Definition at line 85 of file TimerTable.hh.

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

◆ m_next_valid

bool gem5::ruby::TimerTable::m_next_valid

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