gwnavruntime/kernel/HeapMH/HeapMH_MemoryHeap.h Source File
Go to the documentation of this file.
17 #ifndef INC_KY_Kernel_HeapMH_MemoryHeap_H
18 #define INC_KY_Kernel_HeapMH_MemoryHeap_H
38 class MemoryHeapMH :
public MemoryHeap
41 friend class HeapMH::RootMH;
44 virtual ~MemoryHeapMH() {}
51 virtual void CreateArena(UPInt arena, SysAllocPaged* sysAlloc);
52 virtual void DestroyArena(UPInt arena);
53 virtual bool ArenaIsEmpty(UPInt arena);
62 virtual MemoryHeap* CreateHeap(
const char* name,
63 const HeapDesc& desc);
68 virtual void SetLimitHandler(LimitHandler* handler);
69 virtual void SetLimit(UPInt newLimit);
70 virtual void AddRef();
71 virtual void Release();
75 virtual void* Alloc(UPInt size,
const AllocInfo* info = 0);
76 virtual void* Alloc(UPInt size, UPInt align,
const AllocInfo* info = 0);
77 virtual void* Realloc(
void* oldPtr, UPInt newSize);
78 virtual void Free(
void* ptr);
79 virtual void* AllocAutoHeap(
const void *thisPtr, UPInt size,
80 const AllocInfo* info = 0);
82 virtual void* AllocAutoHeap(
const void *thisPtr, UPInt size, UPInt align,
83 const AllocInfo* info = 0);
85 virtual MemoryHeap* GetAllocHeap(
const void *thisPtr);
87 virtual UPInt GetUsableSize(
const void* ptr);
90 virtual void* AllocSysDirect(UPInt size);
91 virtual void FreeSysDirect(
void* ptr, UPInt size);
95 virtual bool GetStats(StatBag* bag);
96 virtual UPInt GetFootprint()
const;
97 virtual UPInt GetTotalFootprint()
const;
98 virtual UPInt GetUsedSpace()
const;
99 virtual UPInt GetTotalUsedSpace()
const;
100 virtual void GetRootStats(RootStats* stats);
101 virtual void VisitMem(Heap::MemVisitor* visitor,
unsigned flags);
103 virtual void VisitRootSegments(Heap::SegVisitor* visitor);
104 virtual void VisitHeapSegments(Heap::SegVisitor* visitor)
const;
105 virtual void SetTracer(HeapTracer* tracer);
109 virtual void destroyItself();
110 virtual void ultimateCheck();
111 virtual void releaseCachedMem();
112 virtual bool dumpMemoryLeaks();
113 virtual void checkIntegrity()
const;
114 virtual void getUserDebugStats(RootStats* stats)
const;
116 void* allocMem(UPInt size,
const AllocInfo* info);
117 void* allocMem(UPInt size, UPInt align,
const AllocInfo* info);
118 void* allocMem(HeapMH::PageInfoMH* parentInfo,
const void *thisPtr, UPInt size,
const AllocInfo* info);
119 void* allocMem(HeapMH::PageInfoMH* parentInfo,
const void *thisPtr, UPInt size, UPInt align,
const AllocInfo* info);
120 void* reallocMem(HeapMH::PageMH* page,
void* oldPtr, UPInt newSize);
121 void* reallocMem(HeapMH::NodeMH* node,
void* oldPtr, UPInt newSize);
123 void freeLocked(
void* ptr);
124 void freeMem(HeapMH::PageMH* page,
void* ptr);
125 void freeMem(HeapMH::NodeMH* node,
void* ptr);
128 HeapMH::AllocEngineMH* pEngine;
129 HeapMH::DebugStorageMH* pDebugStorage;
Definition: gamekitcrowddispersion.h:20