158 friend void _INI_0000_CINOSPartitionMemory();
171 static void* OperatorNewDuringCreate(
size_t auSize);
192 const char* apPoolName = 0);
195 const char* apPoolName,
const char* apClass, uint32* apSize=0);
200 void* Alloc(uint32 auSize=0,
const char* apClassName = s_cNoClassNameSpecified,
201 bool abReturnNullOnFailure =
false,
202 uint32 auMinimalReserve = 0);
204 bool Free(
void* apPartition,
const char* apClassName = s_cNoClassNameSpecified);
207 static void* AllocGlobal(
size_t auSize,
208 const char* apClassName = s_cNoClassNameSpecified,
209 bool abReturnNullOnFailure =
false,
210 size_t auMinimalReserve = 0);
217 static void FreeGlobal(
void* apPartition,
218 const char* apClassName = s_cNoClassNameSpecified);
231 CINCOObject* GetRegister();
233 void GetRegisterClass(CINCOObject* apClassObj,
234 const SINOSPMClassInfo* apClassInfo);
240 const char* GetPoolName()
const {
return m_pPoolName;};
242 CINOSMemoryPool* GetPool()
const {
return m_pPool;};
244 void SetPool(CINOSMemoryPool* apPool) { m_pPool = apPool;};
246 uint32 GetPartitionSize()
const {
return m_uPartitionSize;};
248 uint32 GetFreeCount()
const {
return m_uActualSize - m_uUsedSize;};
254 void SetBackTrace(
const uint32 auBackTrace) { m_uBackTrace = auBackTrace; }
256 uint32 GetBackTrace()
const {
return m_uBackTrace; }
258 static void CheckConsistency();
264 friend void InitHeap(
void*);
268 uint32 CalcChecksum(SINOSPMHeader* apPartition)
const;
272 const char* m_pPoolName;
274 CINOSMemoryPool* m_pPool;
278 uint32 m_uPartitionSize;
280 uint32 m_uActualSize;
284 uint32 m_uChecksumSize;
290 SINOSPMHeader* m_pLstFree;
292 SINOSPMHeader* m_pFstUsed;
294 CINCOObject* m_pRegister;
300 SINOSPMClassInfo* m_pFirstCI;
302 static const char* s_cNoClassNameSpecified;