0023393: Improve usability of OSD_MAllocHook::CollectBySize
authorRoman Lygin <roman.lygin@gmail.com>
Sun, 19 Aug 2012 07:01:32 +0000 (11:01 +0400)
committerRoman Lygin <roman.lygin@gmail.com>
Fri, 24 Aug 2012 11:14:14 +0000 (15:14 +0400)
Usability of OSD_MAllocHook::CollectBySize was improved:
- fields of OSD_MAllocHook::CollectBySize are made public (not private) to enable access for debugging purposes.
- added field myMaxAllocSize to denote maximum tracked size

src/OSD/OSD_MAllocHook.cxx
src/OSD/OSD_MAllocHook.hxx

index a2ac3f4..23dc25f 100755 (executable)
@@ -452,6 +452,7 @@ OSD_MAllocHook::CollectBySize::~CollectBySize()
 //=======================================================================
 
 #define MAX_ALLOC_SIZE 2000000u
+const size_t OSD_MAllocHook::CollectBySize::myMaxAllocSize = MAX_ALLOC_SIZE;
 
 void OSD_MAllocHook::CollectBySize::Reset()
 {
index f411fa8..a983900 100755 (executable)
@@ -132,7 +132,7 @@ public:
     Standard_EXPORT virtual void AllocEvent(size_t, long);
     Standard_EXPORT virtual void FreeEvent(void*, size_t, long);
 
-  private:
+  public:
     struct Numbers
     {
       int nbAlloc;
@@ -140,11 +140,13 @@ public:
       int nbLeftPeak;
       Numbers() : nbAlloc(0), nbFree(0), nbLeftPeak(0) {}
     };
+    
+    static const size_t myMaxAllocSize; //!< maximum tracked size
 
-    Standard_Mutex myMutex;
-    Numbers*       myArray;
-    ptrdiff_t      myTotalLeftSize;
-    size_t         myTotalPeakSize;
+    Standard_Mutex myMutex;             //!< used for thread-safe access
+    Numbers*       myArray;             //!< indexed from 0 to myMaxAllocSize-1
+    ptrdiff_t      myTotalLeftSize;     //!< currently remained allocated size
+    size_t         myTotalPeakSize;     //!< maxium cumulative allocated size
     size_t         myBreakSize;
   };