gem5  v20.1.0.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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 40 of file TimerTable.hh.

Member Typedef Documentation

◆ AddressMap

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

Definition at line 76 of file TimerTable.hh.

Constructor & Destructor Documentation

◆ TimerTable() [1/2]

TimerTable::TimerTable ( )

Definition at line 33 of file TimerTable.cc.

References m_consumer_ptr, m_next_address, and m_next_valid.

◆ TimerTable() [2/2]

TimerTable::TimerTable ( const TimerTable obj)
private

Member Function Documentation

◆ isReady()

bool TimerTable::isReady ( Tick  curTime) const

Definition at line 42 of file TimerTable.cc.

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

◆ isSet()

bool TimerTable::isSet ( Addr  address) const
inline

Definition at line 60 of file TimerTable.hh.

References m_map.

◆ nextAddress()

Addr TimerTable::nextAddress ( ) const

Definition at line 55 of file TimerTable.cc.

References m_next_address, m_next_valid, and updateNext().

◆ operator=()

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

◆ print()

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

Definition at line 95 of file TimerTable.cc.

Referenced by operator<<().

◆ set()

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

◆ setConsumer()

void TimerTable::setConsumer ( Consumer consumer_ptr)
inline

Definition at line 46 of file TimerTable.hh.

References m_consumer_ptr.

◆ setDescription()

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

Definition at line 53 of file TimerTable.hh.

References m_name, and name().

◆ unset()

void TimerTable::unset ( Addr  address)

Definition at line 82 of file TimerTable.cc.

References m_map, m_next_address, m_next_valid, and makeLineAddress().

◆ updateNext()

void TimerTable::updateNext ( ) const
private

Definition at line 100 of file TimerTable.cc.

References 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* TimerTable::m_consumer_ptr
private

Consumer to signal a wakeup()

Definition at line 83 of file TimerTable.hh.

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

◆ m_map

AddressMap TimerTable::m_map
private

Definition at line 77 of file TimerTable.hh.

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

◆ m_name

std::string TimerTable::m_name
private

Definition at line 85 of file TimerTable.hh.

Referenced by setDescription().

◆ m_next_address

Addr TimerTable::m_next_address
mutableprivate

Definition at line 80 of file TimerTable.hh.

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

◆ m_next_time

Tick TimerTable::m_next_time
mutableprivate

Definition at line 79 of file TimerTable.hh.

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

◆ m_next_valid

bool TimerTable::m_next_valid
mutableprivate

Definition at line 78 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 Wed Sep 30 2020 14:02:33 for gem5 by doxygen 1.8.17