gem5  v21.0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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 44 of file episode.hh.

Member Typedef Documentation

◆ ActionList

Definition at line 106 of file episode.hh.

◆ AtomicLocationList

Definition at line 109 of file episode.hh.

◆ Location

Definition at line 47 of file episode.hh.

◆ Value

Definition at line 48 of file episode.hh.

Constructor & Destructor Documentation

◆ Episode()

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

◆ ~Episode()

Episode::~Episode ( )

Definition at line 67 of file episode.cc.

References actions.

Member Function Documentation

◆ checkDRF()

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

◆ completeEpisode()

void Episode::completeEpisode ( )

◆ getEpisodeId()

int Episode::getEpisodeId ( ) const
inline

◆ hasMoreActions()

bool Episode::hasMoreActions ( ) const
inline

Definition at line 88 of file episode.hh.

References actions, and nextActionIdx.

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

◆ initActions()

void Episode::initActions ( )
private

◆ isEpsActive()

bool Episode::isEpsActive ( ) const
inline

Definition at line 92 of file episode.hh.

References isActive.

Referenced by TesterThread::checkDRF().

◆ peekCurAction()

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

Definition at line 76 of file episode.cc.

References actions, and nextActionIdx.

Referenced by TesterThread::isNextActionReady().

◆ popAction()

void Episode::popAction ( )

Definition at line 85 of file episode.cc.

References actions, and nextActionIdx.

Referenced by TesterThread::issueNextAction().

Member Data Documentation

◆ actions

ActionList Episode::actions
private

◆ addrManager

AddressManager* Episode::addrManager
private

Definition at line 101 of file episode.hh.

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

◆ atomicLocs

AtomicLocationList Episode::atomicLocs
private

Definition at line 110 of file episode.hh.

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

◆ episodeId

int Episode::episodeId
private

Definition at line 104 of file episode.hh.

Referenced by Episode(), and getEpisodeId().

◆ isActive

bool Episode::isActive
private

Definition at line 113 of file episode.hh.

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

◆ nextActionIdx

int Episode::nextActionIdx
private

Definition at line 118 of file episode.hh.

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

◆ numLanes

int Episode::numLanes
private

◆ numLoads

int Episode::numLoads
private

Definition at line 115 of file episode.hh.

Referenced by initActions().

◆ numStores

int Episode::numStores
private

Definition at line 116 of file episode.hh.

Referenced by initActions().

◆ tester

ProtocolTester* Episode::tester
private

Definition at line 99 of file episode.hh.

Referenced by Episode(), and initActions().

◆ thread

TesterThread* Episode::thread
private

Definition at line 100 of file episode.hh.

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


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

Generated on Tue Jun 22 2021 15:28:38 for gem5 by doxygen 1.8.17