24#include "pedigree/kernel/processor/StackFrameBase.h"
28 : m_Symbol(), m_State(State), m_BasePointer(basePointer) {
38 buf +=
static_cast<const char*
>(
m_Symbol.name);
46 for (
size_t i = 0; i <
m_Symbol.nParams; i++) {
58 if (type ==
"char*" || type ==
"const char*") {
67 dest.append(n, 16, 8,
'0');
70 dest.append(n, 16, 16,
'0');
74 else if (type ==
"char" || type ==
"const char") {
76 dest +=
static_cast<char>(n);
80 else if (type ==
"bool" || type ==
"const bool") {
81 bool b =
static_cast<bool>(n);
88 else if (type ==
"short") {
90 dest.append(
static_cast<short>(n), 16);
91 }
else if (type ==
"unsigned short") {
93 dest.append(
static_cast<unsigned short>(n), 16);
96 else if (type ==
"int") {
98 dest.append(
static_cast<int>(n), 16);
99 }
else if (type ==
"unsigned int") {
101 dest.append(
static_cast<unsigned int>(n), 16);
106 dest +=
static_cast<const char*
>(type);
113 int nScopeIdx =
m_Symbol.name.last(
':');
118 for (i = nScopeIdx - 2; i >= 0 &&
m_Symbol.name[i] !=
':'; i--)
StackFrameBase(const ProcessorState &State, uintptr_t basePointer, LargeStaticString mangledSymbol)
void prettyPrint(HugeStaticString &buf)
virtual ~StackFrameBase()
virtual uintptr_t getParameter(size_t n)=0
void format(uintptr_t n, const LargeStaticString &type, HugeStaticString &dest)