]> rtime.felk.cvut.cz Git - git.git/commitdiff
alloc: include any-object allocations in alloc_report
authorJeff King <peff@peff.net>
Tue, 10 Jun 2014 21:38:47 +0000 (17:38 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Jun 2014 17:29:42 +0000 (10:29 -0700)
When 2c1cbec (Use proper object allocators for unknown
object nodes too, 2007-04-16), added a special "any_object"
allocator, it never taught alloc_report to report on it. To
do so we need to add an extra type argument to the REPORT
macro, as that commit did for DEFINE_ALLOCATOR.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
alloc.c

diff --git a/alloc.c b/alloc.c
index f3ee745695643c00f175288a9592ab073dd589b0..38ff7e7e8ee9240c8a0fc3bf665388c0ea315ced 100644 (file)
--- a/alloc.c
+++ b/alloc.c
@@ -57,13 +57,14 @@ static void report(const char *name, unsigned int count, size_t size)
                        name, count, (uintmax_t) size);
 }
 
-#define REPORT(name)   \
-    report(#name, name##_allocs, name##_allocs * sizeof(struct name) >> 10)
+#define REPORT(name, type)     \
+    report(#name, name##_allocs, name##_allocs * sizeof(type) >> 10)
 
 void alloc_report(void)
 {
-       REPORT(blob);
-       REPORT(tree);
-       REPORT(commit);
-       REPORT(tag);
+       REPORT(blob, struct blob);
+       REPORT(tree, struct tree);
+       REPORT(commit, struct commit);
+       REPORT(tag, struct tag);
+       REPORT(object, union any_object);
 }