|
gem5
v19.0.0.0
|
#include <stacktrace.hh>
Public Types | |
| enum | { user = 1, console = 2, unknown = 3 } |
Public Member Functions | |
| StackTrace () | |
| StackTrace (ThreadContext *tc, const StaticInstPtr &inst) | |
| ~StackTrace () | |
| void | clear () |
| bool | valid () const |
| bool | trace (ThreadContext *tc, const StaticInstPtr &inst) |
| const std::vector< Addr > & | getstack () const |
| void | dprintf () |
Private Member Functions | |
| bool | isEntry (Addr addr) |
| bool | decodePrologue (Addr sp, Addr callpc, Addr func, int &size, Addr &ra) |
| bool | decodeSave (MachInst inst, int ®, int &disp) |
| bool | decodeStack (MachInst inst, int &disp) |
| void | trace (ThreadContext *tc, bool is_call) |
Private Attributes | |
| ThreadContext * | tc |
| std::vector< Addr > | stack |
Definition at line 63 of file stacktrace.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| user | |
| console | |
| unknown | |
Definition at line 95 of file stacktrace.hh.
| AlphaISA::StackTrace::StackTrace | ( | ) |
Definition at line 121 of file stacktrace.cc.
| AlphaISA::StackTrace::StackTrace | ( | ThreadContext * | tc, |
| const StaticInstPtr & | inst | ||
| ) |
Definition at line 126 of file stacktrace.cc.
References trace().
| AlphaISA::StackTrace::~StackTrace | ( | ) |
Definition at line 132 of file stacktrace.cc.
|
inline |
Definition at line 83 of file stacktrace.hh.
|
private |
Definition at line 307 of file stacktrace.cc.
References addr, console, decodeSave(), decodeStack(), DPRINTFN, Stats::dump(), ThreadContext::getCpuPtr(), ThreadContext::getSystemPtr(), ThreadContext::getVirtProxy(), ArmISA::i, System::kernelSymtab, name(), SimObject::name(), MipsISA::pc, PortProxy::read(), X86ISA::reg, AlphaISA::ReturnAddressReg, stack, tc, unknown, and user.
Referenced by trace().
|
private |
Definition at line 278 of file stacktrace.cc.
Referenced by decodePrologue().
|
private |
Definition at line 237 of file stacktrace.cc.
Referenced by decodePrologue().
|
inline |
Definition at line 109 of file stacktrace.hh.
|
inline |
Definition at line 93 of file stacktrace.hh.
References X86ISA::stack.
|
private |
Definition at line 213 of file stacktrace.cc.
References AlphaISA::IPR_PALtemp11, AlphaISA::IPR_PALtemp12, AlphaISA::IPR_PALtemp2, AlphaISA::IPR_PALtemp21, AlphaISA::IPR_PALtemp7, AlphaISA::IPR_PALtemp9, ThreadContext::readMiscRegNoEffect(), and tc.
Referenced by trace().
|
private |
Definition at line 137 of file stacktrace.cc.
References addr, console, decodePrologue(), SymbolTable::findNearestAddr(), ThreadContext::getSystemPtr(), AlphaISA::IPR_DTB_CM, isEntry(), AlphaISA::Kernel::kernel, System::kernelEnd, System::kernelStart, System::kernelSymtab, panic, MipsISA::pc, ThreadContext::pcState(), PowerISA::ra, ThreadContext::readIntReg(), ThreadContext::readMiscRegNoEffect(), stack, AlphaISA::StackPointerReg, tc, unknown, and user.
Referenced by StackTrace().
|
inline |
Definition at line 114 of file stacktrace.hh.
References StaticInst::isCall(), and StaticInst::isReturn().
|
inline |
Definition at line 89 of file stacktrace.hh.
|
private |
Definition at line 67 of file stacktrace.hh.
Referenced by decodePrologue(), and trace().
|
private |
Definition at line 66 of file stacktrace.hh.
Referenced by decodePrologue(), isEntry(), and trace().