Преглед изворни кода

Use TRACE_1 to expose total memory requested and allocated.

Ioannis Koutras пре 12 година
родитељ
комит
ae99acf554
2 измењених фајлова са 28 додато и 19 уклоњено
  1. 14 10
      src/bitmap/bitmap_free.c
  2. 14 9
      src/bitmap/bitmap_malloc.c

+ 14 - 10
src/bitmap/bitmap_free.c

@@ -51,16 +51,6 @@ void bitmap_free(raw_block_header_t *raw_block, void *ptr) {
 
     cells_used = chunk_header->num_of_cells;
 
-#ifdef WITH_STATS
-    raw_block->dmm_stats.total_mem_allocated -= cells_used *
-        rb_header->bytes_per_cell;
-#ifdef REQUEST_SIZE_INFO
-    raw_block->dmm_stats.total_mem_requested -= chunk_header->requested_size;
-#endif /* REQUEST_SIZE_INFO */
-    raw_block->dmm_stats.live_objects--;
-    raw_block->dmm_stats.num_free++;
-#endif /* WITH_STATS */
-
 #ifndef REQUEST_SIZE_INFO
     TRACE_1("dmmlib - free - free'ing %zu bytes from bitmap raw block %p\n",
             cells_used * rb_header->bytes_per_cell, (void *)raw_block);
@@ -72,6 +62,20 @@ void bitmap_free(raw_block_header_t *raw_block, void *ptr) {
             chunk_header->requested_size);
 #endif /* REQUEST_SIZE_INFO */
 
+#ifdef WITH_STATS
+    raw_block->dmm_stats.total_mem_allocated -= cells_used *
+        rb_header->bytes_per_cell;
+    TRACE_1("dmmlib - total allocated memory: %zu bytes\n",
+            raw_block->dmm_stats.total_mem_allocated);
+#ifdef REQUEST_SIZE_INFO
+    raw_block->dmm_stats.total_mem_requested -= chunk_header->requested_size;
+    TRACE_1("dmmlib - total requested memory: %zu bytes\n",
+            raw_block->dmm_stats.total_mem_requested);
+#endif /* REQUEST_SIZE_INFO */
+    raw_block->dmm_stats.live_objects--;
+    raw_block->dmm_stats.num_free++;
+#endif /* WITH_STATS */
+
     cell_no = ((char *)chunk_header - ((char *)rb_header + sizeof(bitmap_rb_t)))
         / rb_header->bytes_per_cell;
 

+ 14 - 9
src/bitmap/bitmap_malloc.c

@@ -111,22 +111,27 @@ void * bitmap_malloc(raw_block_header_t *raw_block, size_t req_size) {
 
             ret = (void *)((char *)chunk_address + CHUNK_HDR_SIZE);
 
+            TRACE_1("dmmlib - malloc - allocated %zu bytes for a memory request"
+                    " of %zu bytes at bitmap raw block %p...\n",
+                    cells * rb_header->bytes_per_cell,
+                    req_size - CHUNK_HDR_SIZE,
+                    (void *)raw_block);
+
 #ifdef WITH_STATS
-            raw_block->dmm_stats.total_mem_requested += req_size - CHUNK_HDR_SIZE;
+            raw_block->dmm_stats.total_mem_allocated +=
+                cells * rb_header->bytes_per_cell;
             raw_block->dmm_stats.live_objects++;
             raw_block->dmm_stats.num_malloc++;
+            TRACE_1("dmmlib - total allocated memory: %zu bytes\n",
+                    raw_block->dmm_stats.total_mem_allocated);
 #ifdef REQUEST_SIZE_INFO
-            raw_block->dmm_stats.total_mem_allocated +=
-                cells * rb_header->bytes_per_cell;
+            raw_block->dmm_stats.total_mem_requested += req_size -
+                CHUNK_HDR_SIZE;
+            TRACE_1("dmmlib - total requested memory: %zu bytes\n",
+                    raw_block->dmm_stats.total_mem_requested);
 #endif /* REQUEST_SIZE_INFO */
 #endif /* WITH_STATS */
 
-            TRACE_1("dmmlib - malloc - allocated %zu bytes for a memory request"
-                    " of %zu bytes at bitmap raw block %p...\n",
-                    cells * rb_header->bytes_per_cell,
-                    req_size - CHUNK_HDR_SIZE,
-                    (void *)raw_block);
-
             break;
         }
     }