gem5  v22.1.0.0
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
 
bool isActive
 
int numLoads
 
int numStores
 
int nextActionIdx
 
int numLanes
 

Detailed Description

Definition at line 45 of file episode.hh.

Member Typedef Documentation

◆ ActionList

Definition at line 109 of file episode.hh.

◆ AtomicLocationList

Definition at line 112 of file episode.hh.

◆ Location

Definition at line 48 of file episode.hh.

◆ Value

Definition at line 49 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 91 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 95 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 104 of file episode.hh.

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

◆ atomicLocs

AtomicLocationList gem5::Episode::atomicLocs
private

Definition at line 113 of file episode.hh.

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

◆ episodeId

int gem5::Episode::episodeId
private

Definition at line 107 of file episode.hh.

Referenced by Episode(), and getEpisodeId().

◆ isActive

bool gem5::Episode::isActive
private

Definition at line 116 of file episode.hh.

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

◆ nextActionIdx

int gem5::Episode::nextActionIdx
private

Definition at line 121 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 118 of file episode.hh.

Referenced by initActions().

◆ numStores

int gem5::Episode::numStores
private

Definition at line 119 of file episode.hh.

Referenced by initActions().

◆ tester

ProtocolTester* gem5::Episode::tester
private

Definition at line 102 of file episode.hh.

Referenced by Episode(), and initActions().

◆ thread

TesterThread* gem5::Episode::thread
private

Definition at line 103 of file episode.hh.

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


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

Generated on Wed Dec 21 2022 10:23:14 for gem5 by doxygen 1.9.1