gem5 v24.0.0.0
Loading...
Searching...
No Matches
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 51 of file profile.hh.

Constructor & Destructor Documentation

◆ BaseStackTrace()

gem5::BaseStackTrace::BaseStackTrace ( )
inline

Definition at line 65 of file profile.hh.

◆ ~BaseStackTrace()

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

Definition at line 66 of file profile.hh.

Member Function Documentation

◆ clear()

void gem5::BaseStackTrace::clear ( )
inline

Definition at line 69 of file profile.hh.

References stack, and tc.

Referenced by trace().

◆ dprintf()

void gem5::BaseStackTrace::dprintf ( )
inline

Definition at line 92 of file profile.hh.

References dump().

◆ dump()

◆ getstack()

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

Definition at line 90 of file profile.hh.

References stack.

◆ getSymbol()

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

Definition at line 105 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 75 of file profile.hh.

References tc.

Referenced by trace().

Member Data Documentation

◆ stack

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

Definition at line 58 of file profile.hh.

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

◆ tc

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

Definition at line 57 of file profile.hh.

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


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

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0