22 #include "pedigree/kernel/processor/StackFrameBase.h" 25 const ProcessorState &State, uintptr_t basePointer,
27 : m_Symbol(), m_State(State), m_BasePointer(basePointer)
39 buf +=
static_cast<const char *
>(
m_Symbol.name);
51 for (
size_t i = 0; i <
m_Symbol.nParams; i++)
65 #if defined(MIPS_COMMON) 69 if (type ==
"char*" || type ==
"const char*")
79 dest.append(n, 16, 8,
'0');
82 dest.append(n, 16, 16,
'0');
86 else if (type ==
"char" || type ==
"const char")
89 dest +=
static_cast<char>(n);
93 else if (type ==
"bool" || type ==
"const bool")
95 bool b =
static_cast<bool>(n);
102 else if (type ==
"short")
105 dest.append(static_cast<short>(n), 16);
107 else if (type ==
"unsigned short")
110 dest.append(static_cast<unsigned short>(n), 16);
113 else if (type ==
"int")
116 dest.append(static_cast<int>(n), 16);
118 else if (type ==
"unsigned int")
121 dest.append(static_cast<unsigned int>(n), 16);
127 dest +=
static_cast<const char *
>(type);
136 int nScopeIdx =
m_Symbol.name.last(
':');
141 for (i = nScopeIdx - 2; i >= 0 &&
m_Symbol.name[i] !=
':'; i--)
void format(uintptr_t n, const LargeStaticString &type, HugeStaticString &dest)
void prettyPrint(HugeStaticString &buf)
StackFrameBase(const ProcessorState &State, uintptr_t basePointer, LargeStaticString mangledSymbol)
virtual ~StackFrameBase()
virtual uintptr_t getParameter(size_t n)=0