gem5  [DEVELOP-FOR-23.0]
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
gem5::TracingExtension Class Reference

TracingExtension is an Extension of the Packet for recording the trace of the Packet. More...

#include <port.hh>

Inheritance diagram for gem5::TracingExtension:
gem5::Extension< Packet, TracingExtension > gem5::ExtensionBase

Public Member Functions

 TracingExtension ()=default
 
 TracingExtension (const std::stack< std::string > &q)
 
std::unique_ptr< ExtensionBaseclone () const override
 
void add (std::string request_port, std::string response_port)
 
void remove ()
 
bool empty ()
 
std::stack< std::string > & getTrace ()
 
- Public Member Functions inherited from gem5::Extension< Packet, TracingExtension >
 Extension ()
 
- Public Member Functions inherited from gem5::ExtensionBase
 ExtensionBase (const unsigned int id)
 
virtual ~ExtensionBase ()=default
 
unsigned int getExtensionID () const
 

Private Attributes

std::stack< std::string > trace_
 

Additional Inherited Members

- Static Public Member Functions inherited from gem5::ExtensionBase
static unsigned int maxNumExtensions ()
 
- Static Public Attributes inherited from gem5::Extension< Packet, TracingExtension >
const static unsigned int extensionID
 

Detailed Description

TracingExtension is an Extension of the Packet for recording the trace of the Packet.

The stack in the TracingExtension holds the name of the ports that the Packet has passed through.

Definition at line 76 of file port.hh.

Constructor & Destructor Documentation

◆ TracingExtension() [1/2]

gem5::TracingExtension::TracingExtension ( )
default

◆ TracingExtension() [2/2]

gem5::TracingExtension::TracingExtension ( const std::stack< std::string > &  q)
inline

Definition at line 80 of file port.hh.

References gem5::ArmISA::q, and trace_.

Member Function Documentation

◆ add()

void gem5::TracingExtension::add ( std::string  request_port,
std::string  response_port 
)
inline

Definition at line 88 of file port.hh.

References trace_.

◆ clone()

std::unique_ptr<ExtensionBase> gem5::TracingExtension::clone ( ) const
inlineoverridevirtual

Implements gem5::ExtensionBase.

Definition at line 82 of file port.hh.

References trace_.

◆ empty()

bool gem5::TracingExtension::empty ( )
inline

Definition at line 101 of file port.hh.

References trace_.

◆ getTrace()

std::stack<std::string>& gem5::TracingExtension::getTrace ( )
inline

Definition at line 102 of file port.hh.

References trace_.

◆ remove()

void gem5::TracingExtension::remove ( )
inline

Definition at line 95 of file port.hh.

References trace_.

Member Data Documentation

◆ trace_

std::stack<std::string> gem5::TracingExtension::trace_
private

Definition at line 105 of file port.hh.

Referenced by add(), clone(), empty(), getTrace(), remove(), and TracingExtension().


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

Generated on Sun Jul 30 2023 01:57:19 for gem5 by doxygen 1.8.17