gem5  v22.1.0.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
gem5::BaseStackTrace Class Referenceabstract

#include <profile.hh>

Inheritance diagram for gem5::BaseStackTrace:
gem5::ArmISA::StackTrace gem5::MipsISA::StackTrace gem5::PowerISA::StackTrace gem5::RiscvISA::StackTrace gem5::SparcISA::StackTrace gem5::X86ISA::StackTrace

Public Member Functions

 BaseStackTrace ()
 
virtual ~BaseStackTrace ()
 
void clear ()
 
bool valid () const
 
bool trace (ThreadContext *tc, const StaticInstPtr &inst)
 
const std::vector< Addr > & getstack () const
 
void dprintf ()
 
virtual bool tryGetSymbol (std::string &symbol, Addr addr, const loader::SymbolTable *symtab)
 
void getSymbol (std::string &symbol, Addr addr, const loader::SymbolTable *symtab)
 

Protected Member Functions

virtual void trace (ThreadContext *tc, bool is_call)=0
 

Protected Attributes

ThreadContexttc = nullptr
 
std::vector< Addrstack
 

Private Member Functions

void dump ()
 

Detailed Description

Definition at line 52 of file profile.hh.

Constructor & Destructor Documentation

◆ BaseStackTrace()

gem5::BaseStackTrace::BaseStackTrace ( )
inline

Definition at line 66 of file profile.hh.

◆ ~BaseStackTrace()

virtual gem5::BaseStackTrace::~BaseStackTrace ( )
inlinevirtual

Definition at line 67 of file profile.hh.

Member Function Documentation

◆ clear()

void gem5::BaseStackTrace::clear ( )
inline

Definition at line 70 of file profile.hh.

References stack, and tc.

Referenced by trace().

◆ dprintf()

void gem5::BaseStackTrace::dprintf ( )
inline

Definition at line 93 of file profile.hh.

References dump().

◆ dump()

void gem5::BaseStackTrace::dump ( )
private

◆ getstack()

const std::vector<Addr>& gem5::BaseStackTrace::getstack ( ) const
inline

Definition at line 91 of file profile.hh.

References stack.

◆ getSymbol()

void gem5::BaseStackTrace::getSymbol ( std::string &  symbol,
Addr  addr,
const loader::SymbolTable symtab 
)
inline

Definition at line 106 of file profile.hh.

References gem5::X86ISA::addr, panic_if, and tryGetSymbol().

Referenced by dump().

◆ trace() [1/2]

virtual void gem5::BaseStackTrace::trace ( ThreadContext tc,
bool  is_call 
)
protectedpure virtual

◆ trace() [2/2]

bool gem5::BaseStackTrace::trace ( ThreadContext tc,
const StaticInstPtr inst 
)
inline

◆ tryGetSymbol()

bool gem5::BaseStackTrace::tryGetSymbol ( std::string &  symbol,
Addr  addr,
const loader::SymbolTable symtab 
)
virtual

◆ valid()

bool gem5::BaseStackTrace::valid ( ) const
inline

Definition at line 76 of file profile.hh.

References tc.

Referenced by trace().

Member Data Documentation

◆ stack

std::vector<Addr> gem5::BaseStackTrace::stack
protected

Definition at line 59 of file profile.hh.

Referenced by clear(), dump(), and getstack().

◆ tc

ThreadContext* gem5::BaseStackTrace::tc = nullptr
protected

Definition at line 58 of file profile.hh.

Referenced by clear(), dump(), trace(), and valid().


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

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