gem5 v24.1.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
gem5::Episode Class Reference

#include <episode.hh>

Classes

class  Action
 

Public Types

typedef AddressManager::Location Location
 
typedef AddressManager::Value Value
 

Public Member Functions

 Episode (ProtocolTester *tester, TesterThread *thread, int num_loads, int num_stores)
 
 ~Episode ()
 
int getEpisodeId () const
 
const ActionpeekCurAction () const
 
void popAction ()
 
bool hasMoreActions () const
 
void completeEpisode ()
 
bool isEpsActive () const
 
bool checkDRF (Location atomic_loc, Location loc, bool isStore, int max_lane) const
 

Private Types

typedef std::vector< Action * > ActionList
 
typedef std::vector< LocationAtomicLocationList
 

Private Member Functions

void initActions ()
 

Private Attributes

ProtocolTestertester
 
TesterThreadthread
 
AddressManageraddrManager
 
int episodeId
 
ActionList actions
 
AtomicLocationList atomicLocs
 
Random::RandomPtr rng = Random::genRandom()
 
bool isActive
 
int numLoads
 
int numStores
 
int nextActionIdx
 
int numLanes
 

Detailed Description

Definition at line 46 of file episode.hh.

Member Typedef Documentation

◆ ActionList

Definition at line 110 of file episode.hh.

◆ AtomicLocationList

Definition at line 113 of file episode.hh.

◆ Location

Definition at line 49 of file episode.hh.

◆ Value

Definition at line 50 of file episode.hh.

Constructor & Destructor Documentation

◆ Episode()

gem5::Episode::Episode ( ProtocolTester tester,
TesterThread thread,
int  num_loads,
int  num_stores 
)

◆ ~Episode()

gem5::Episode::~Episode ( )

Definition at line 68 of file episode.cc.

References actions.

Member Function Documentation

◆ checkDRF()

bool gem5::Episode::checkDRF ( Location  atomic_loc,
Location  loc,
bool  isStore,
int  max_lane 
) const

◆ completeEpisode()

void gem5::Episode::completeEpisode ( )

◆ getEpisodeId()

int gem5::Episode::getEpisodeId ( ) const
inline

◆ hasMoreActions()

bool gem5::Episode::hasMoreActions ( ) const
inline

Definition at line 92 of file episode.hh.

References actions, and nextActionIdx.

Referenced by gem5::TesterThread::isNextActionReady(), and gem5::TesterThread::wakeup().

◆ initActions()

void gem5::Episode::initActions ( )
private

◆ isEpsActive()

bool gem5::Episode::isEpsActive ( ) const
inline

Definition at line 96 of file episode.hh.

References isActive.

Referenced by gem5::TesterThread::checkDRF().

◆ peekCurAction()

const Episode::Action * gem5::Episode::peekCurAction ( ) const

Definition at line 77 of file episode.cc.

References actions, and nextActionIdx.

Referenced by gem5::TesterThread::getTokensNeeded(), and gem5::TesterThread::isNextActionReady().

◆ popAction()

void gem5::Episode::popAction ( )

Definition at line 86 of file episode.cc.

References actions, and nextActionIdx.

Referenced by gem5::TesterThread::issueNextAction().

Member Data Documentation

◆ actions

ActionList gem5::Episode::actions
private

◆ addrManager

AddressManager* gem5::Episode::addrManager
private

Definition at line 105 of file episode.hh.

Referenced by completeEpisode(), Episode(), and initActions().

◆ atomicLocs

AtomicLocationList gem5::Episode::atomicLocs
private

Definition at line 114 of file episode.hh.

Referenced by checkDRF(), Episode(), and initActions().

◆ episodeId

int gem5::Episode::episodeId
private

Definition at line 108 of file episode.hh.

Referenced by Episode(), and getEpisodeId().

◆ isActive

bool gem5::Episode::isActive
private

Definition at line 119 of file episode.hh.

Referenced by completeEpisode(), Episode(), and isEpsActive().

◆ nextActionIdx

int gem5::Episode::nextActionIdx
private

Definition at line 124 of file episode.hh.

Referenced by hasMoreActions(), peekCurAction(), and popAction().

◆ numLanes

int gem5::Episode::numLanes
private

◆ numLoads

int gem5::Episode::numLoads
private

Definition at line 121 of file episode.hh.

Referenced by initActions().

◆ numStores

int gem5::Episode::numStores
private

Definition at line 122 of file episode.hh.

Referenced by initActions().

◆ rng

Random::RandomPtr gem5::Episode::rng = Random::genRandom()
private

Definition at line 116 of file episode.hh.

Referenced by initActions().

◆ tester

ProtocolTester* gem5::Episode::tester
private

Definition at line 103 of file episode.hh.

Referenced by Episode(), and initActions().

◆ thread

TesterThread* gem5::Episode::thread
private

Definition at line 104 of file episode.hh.

Referenced by checkDRF(), Episode(), and initActions().


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

Generated on Mon Jan 13 2025 04:28:51 for gem5 by doxygen 1.9.8