gwnavruntime/kernel/SF_StackRegistry.h Source File
Go to the documentation of this file.
11 #if defined (KY_ENABLE_STACK_REGISTRY)
19 #define MAX_STACK_DEPTH 32
20 #define MAX_NAME_LENGTH 256
25 StackRef(
void* stack,
KyUInt32 frameCount, UPInt size) : m_frameCount(frameCount), m_size(size)
27 Alg::MemUtil::Copy(m_stack, stack,
sizeof(
void*) * frameCount);
32 KyUInt32 GetFrameCount()
const {
return m_frameCount; }
33 void* GetFrame(
KyUInt32 frameIndex)
const {
return m_stack[frameIndex]; }
34 UPInt GetSize()
const {
return m_size; }
37 void* m_stack[MAX_STACK_DEPTH];
42 class StackRegistryImpl;
51 static
void Initialize(
bool initSymbolTable);
54 static
void MapCurrentStackToUid(UPInt uid, UPInt size);
55 static
void UnMapStackFromUid(UPInt uid);
61 StackRegistry() : m_initialized(false), m_impl(
KY_NULL) { }
62 ~StackRegistry() { m_impl =
KY_NULL; }
64 static StackRegistry& Instance() {
static StackRegistry s_instance;
return s_instance; }
67 StackRegistryImpl* m_impl;
73 #endif // KY_ENABLE_STACK_REGISTRY
#define KY_NULL
Null value.
Definition: types.h:247
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36