|
@@ -75,6 +75,21 @@ void * malloc(size_t size) {
|
|
|
if(ptr != NULL) {
|
|
|
TRACE_1("dmmlib - malloc - allocated a whole raw block of %zu"
|
|
|
" bytes at %p\n", allocation_size, (void *)ptr);
|
|
|
+
|
|
|
+#ifdef WITH_ALLOCATOR_STATS
|
|
|
+ systemallocator.dmm_stats.total_mem_allocated +=
|
|
|
+ allocation_size;
|
|
|
+ systemallocator.dmm_stats.live_objects++;
|
|
|
+ systemallocator.dmm_stats.num_malloc++;
|
|
|
+ TRACE_1("dmmlib - global allocated memory: %zu bytes\n",
|
|
|
+ systemallocator.dmm_stats.total_mem_allocated);
|
|
|
+#ifdef REQUEST_SIZE_INFO
|
|
|
+ systemallocator.dmm_stats.total_mem_requested += size;
|
|
|
+ TRACE_1("dmmlib - global requested memory: %zu bytes\n",
|
|
|
+ systemallocator.dmm_stats.total_mem_requested);
|
|
|
+#endif /* REQUEST_SIZE_INFO */
|
|
|
+#endif /* WITH_ALLOCATOR_STATS */
|
|
|
+
|
|
|
ptr = (void *)((char *)ptr + sizeof(raw_block_header_t));
|
|
|
}
|
|
|
return ptr;
|
|
@@ -127,6 +142,23 @@ void free(void *ptr) {
|
|
|
sizeof(raw_block_header_t));
|
|
|
TRACE_1("dmmlib - free - free'ing %zu bytes from raw block %p\n",
|
|
|
current_raw_block->size, (void *)current_raw_block);
|
|
|
+
|
|
|
+#ifdef WITH_ALLOCATOR_STATS
|
|
|
+ systemallocator.dmm_stats.total_mem_allocated -=
|
|
|
+ current_raw_block->size;
|
|
|
+ TRACE_1("dmmlib - global allocated memory: %zu bytes\n",
|
|
|
+ systemallocator.dmm_stats.total_mem_allocated);
|
|
|
+#ifdef REQUEST_SIZE_INFO
|
|
|
+ systemallocator.dmm_stats.total_mem_requested -=
|
|
|
+ current_raw_block->size - sizeof(raw_block_header_t) -
|
|
|
+ sizeof(bitmap_rb_t); // FIXME allocation size is like that currently
|
|
|
+ TRACE_1("dmmlib - global requested memory: %zu bytes\n",
|
|
|
+ systemallocator.dmm_stats.total_mem_requested);
|
|
|
+#endif /* REQUEST_SIZE_INFO */
|
|
|
+ systemallocator.dmm_stats.live_objects--;
|
|
|
+ systemallocator.dmm_stats.num_free++;
|
|
|
+#endif /* WITH_ALLOCATOR_STATS */
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|