gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::TimeBuffer< T > Class Template Reference

#include <timebuf.hh>

Inheritance diagram for gem5::TimeBuffer< T >:
gem5::minor::MinorBuffer< Data >

Classes

class  wire
 

Public Member Functions

 TimeBuffer (int p, int f)
 
 TimeBuffer ()
 
 ~TimeBuffer ()
 
void id (int id)
 
int id ()
 
void advance ()
 
T * access (int idx)
 
T & operator[] (int idx)
 
const T & operator[] (int idx) const
 
wire getWire (int idx)
 
wire zero ()
 
unsigned getSize ()
 
int getPast () const
 
int getFuture () const
 

Protected Member Functions

void valid (int idx) const
 
int calculateVectorIndex (int idx) const
 

Protected Attributes

int past
 
int future
 
unsigned size
 
int _id
 
char * data
 
std::vector< char * > index
 
unsigned base
 

Friends

class wire
 

Detailed Description

template<class T>
class gem5::TimeBuffer< T >

Definition at line 40 of file timebuf.hh.

Constructor & Destructor Documentation

◆ TimeBuffer() [1/2]

template<class T>
gem5::TimeBuffer< T >::TimeBuffer ( int p,
int f )
inline

◆ TimeBuffer() [2/2]

template<class T>
gem5::TimeBuffer< T >::TimeBuffer ( )
inline

Definition at line 156 of file timebuf.hh.

References data.

◆ ~TimeBuffer()

template<class T>
gem5::TimeBuffer< T >::~TimeBuffer ( )
inline

Definition at line 161 of file timebuf.hh.

References data, gem5::ArmISA::i, index, and size.

Member Function Documentation

◆ access()

template<class T>
T * gem5::TimeBuffer< T >::access ( int idx)
inline

Definition at line 211 of file timebuf.hh.

References calculateVectorIndex(), and index.

◆ advance()

template<class T>
void gem5::TimeBuffer< T >::advance ( )
inline

◆ calculateVectorIndex()

template<class T>
int gem5::TimeBuffer< T >::calculateVectorIndex ( int idx) const
inlineprotected

Definition at line 195 of file timebuf.hh.

References base, size, and valid().

Referenced by access(), operator[](), and operator[]().

◆ getFuture()

template<class T>
int gem5::TimeBuffer< T >::getFuture ( ) const
inline

Definition at line 256 of file timebuf.hh.

References future.

◆ getPast()

template<class T>
int gem5::TimeBuffer< T >::getPast ( ) const
inline

Definition at line 250 of file timebuf.hh.

References past.

◆ getSize()

template<class T>
unsigned gem5::TimeBuffer< T >::getSize ( )
inline

Definition at line 244 of file timebuf.hh.

References size.

◆ getWire()

template<class T>
wire gem5::TimeBuffer< T >::getWire ( int idx)
inline

Definition at line 232 of file timebuf.hh.

References valid(), and wire.

Referenced by gem5::o3::Fetch::setFetchQueue().

◆ id() [1/2]

template<class T>
int gem5::TimeBuffer< T >::id ( )
inline

Definition at line 173 of file timebuf.hh.

References _id.

◆ id() [2/2]

template<class T>
void gem5::TimeBuffer< T >::id ( int id)
inline

Definition at line 168 of file timebuf.hh.

References _id, and id().

Referenced by id().

◆ operator[]() [1/2]

template<class T>
T & gem5::TimeBuffer< T >::operator[] ( int idx)
inline

Definition at line 218 of file timebuf.hh.

References calculateVectorIndex(), and index.

◆ operator[]() [2/2]

template<class T>
const T & gem5::TimeBuffer< T >::operator[] ( int idx) const
inline

Definition at line 225 of file timebuf.hh.

References calculateVectorIndex(), and index.

◆ valid()

template<class T>
void gem5::TimeBuffer< T >::valid ( int idx) const
inlineprotected

Definition at line 52 of file timebuf.hh.

References future, and past.

Referenced by calculateVectorIndex(), and getWire().

◆ zero()

template<class T>
wire gem5::TimeBuffer< T >::zero ( )
inline

Definition at line 239 of file timebuf.hh.

References wire.

Friends And Related Symbol Documentation

◆ wire

template<class T>
friend class wire
friend

Definition at line 58 of file timebuf.hh.

Referenced by getWire(), and zero().

Member Data Documentation

◆ _id

template<class T>
int gem5::TimeBuffer< T >::_id
protected

Definition at line 46 of file timebuf.hh.

Referenced by id(), id(), and TimeBuffer().

◆ base

template<class T>
unsigned gem5::TimeBuffer< T >::base
protected

Definition at line 50 of file timebuf.hh.

Referenced by advance(), calculateVectorIndex(), and TimeBuffer().

◆ data

template<class T>
char* gem5::TimeBuffer< T >::data
protected

◆ future

template<class T>
int gem5::TimeBuffer< T >::future
protected

◆ index

template<class T>
std::vector<char *> gem5::TimeBuffer< T >::index
protected

Definition at line 49 of file timebuf.hh.

Referenced by access(), advance(), operator[](), operator[](), TimeBuffer(), and ~TimeBuffer().

◆ past

template<class T>
int gem5::TimeBuffer< T >::past
protected

Definition at line 43 of file timebuf.hh.

Referenced by gem5::minor::MinorBuffer< Data >::empty(), getPast(), TimeBuffer(), and valid().

◆ size

template<class T>
unsigned gem5::TimeBuffer< T >::size
protected

Definition at line 45 of file timebuf.hh.

Referenced by advance(), calculateVectorIndex(), getSize(), TimeBuffer(), and ~TimeBuffer().


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

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