summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2010-10-12 10:09:15 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2010-10-12 10:09:15 +0000
commit4d7d8f5b9ed437c1d9ae4cdee77f7abe75aa809f (patch)
treea423874547300f39866b07fb1cfb16f4f2a51160 /configure.in
parent14cdbf8f4ac7e49de2bced6546f7867b2e0655f0 (diff)
Add DHAT as an experimental tool. DHAT (a Dynamic Heap Analysis Tool)
is a heap profiler that is complementary to Massif. DHAT tracks heap allocations, and connects which memory accesses are to which blocks. It can find the following information: * total allocation and max liveness * average block lifetime (# instructions between allocation and freeing) * average number of reads and writes to each byte in the block ("access ratios") * average of longest interval of non-access to a block, also measured in instructions * which fields of blocks are used a lot, and which aren't (hot-field profiling) Using these stats it is possible to identify allocation points with the following characteristics: * potential process-lifetime leaks (blocks allocated by the point just accumulate, and are freed only at the end of the run) * excessive turnover: points which chew through a lot of heap, even if it is not held onto for very long * excessively transient: points which allocate very short lived blocks * useless or underused allocations: blocks which are allocated but not completely filled in, or are filled in but not subsequently read. * blocks which see extended periods of inactivity. Could these perhaps be allocated later or freed sooner? * blocks with inefficient layout (hot fields spread out over multiple cache lines), or with alignment holes git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11431 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in2
1 files changed, 2 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 667ca243..88a9e106 100644
--- a/configure.in
+++ b/configure.in
@@ -1958,6 +1958,8 @@ AC_CONFIG_FILES([
exp-bbv/tests/amd64-linux/Makefile
exp-bbv/tests/ppc32-linux/Makefile
exp-bbv/tests/arm-linux/Makefile
+ exp-dhat/Makefile
+ exp-dhat/tests/Makefile
])
AC_CONFIG_FILES([coregrind/link_tool_exe_linux],
[chmod +x coregrind/link_tool_exe_linux])