History log of /external/valgrind/exp-dhat/dh_main.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
796600738b5f9bf71e75b4c145ba0eb35d039166 14-Nov-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement missing heap-intercept function "dh_malloc_usable_size".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14721 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
fed3c04fdddde080fd2834212f6f514be96db47c 01-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge six easy pieces from the BUF_REMOVAL branch:
r14271 Audit a few buffer sizes, increase one.
r14280 Audit buffer size.
r14296 Remove a few unneeded header files.
r14310 Replace fixed size buffers with a large enough buffers.
r14338 Remove a dead assignment in print_bbcs and make global variable
print_fd a local variable.
r14359 Remove a benign macro redefinition in cachegrind.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14595 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
3c0c94777f547bcb5eadbe8cb4328debf0f51875 24-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Ripple from constifying parameters of instrumentation functions and
callbacks from VexTranslateArgs. See VEX r2958.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14564 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
e464e80d4f2e22ebb6787b555b58d73c9e027ff8 11-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename VG_(malloc_usable_size) to VG_(cli_malloc_usable_size)
because it operates on the CLIENT arena. Given that VG_(malloc)
operates on the CORE arena, it was unexpected for VG_(mallos_usable_size)
to use a different arena.
Move function definition to the proper place (next to VG_(cli_malloc))
and fix call sites.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14516 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates (20XY-2012 ==> 20XY-2013)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 10-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix more Char/HChar mixups. Closing in...


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
e543f3024ace2925a0fb81985e9fcfc95b8c555a 21-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> First round of Char/HChar fixups for coregrind and memcheck.
Little bit of ripple in tools, too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
d4c699f5cdea0fa2fa20b0aa8b4dfa9303e61d38 20-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> exp-dhat Char/HChar fixes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13063 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
ca503be79ca377d89b1692c37c97a06ed14dad3b 07-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> This is the 2nd installment of the cache info reorganisation.
The host's VexArchInfo is passed to the tool instrumentation
functions. Purely mechanic patch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13031 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
03f8d3fc25f5a45c5826259d1b33b7f310117279 05-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to include 2012.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
ec062e8d96a361af9905b5447027819dfbfee01a 23-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update all copyright dates, from 20xy-2010 to 20xy-2011.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
c7ffc94890e120c72d5802487b1092425323dc02 28-Mar-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up most but not all warnings generated by gcc-4.6 about
dead assignments ("[-Wunused-but-set-variable]").



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
4e4374075213cbea78136aca48aab907889c957c 10-Jan-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Only show per-offset access counts for allocations up to 1024 bytes,
to avoid producing ridiculous amounts of output.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11493 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
41aa79d06f238babbb3a07e378555c28bf0f0956 06-Dec-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Speedups and fixes:

* (speedup) addMemEvent: generate inline code to check whether a
memory access is within 16k of the stack pointer, and if so
don't bother to call the helper

* (speedup) find_Block_containing: cache the most recently seen 2
blocks, and check new references in them first. This gives a
worthwhile speedup.

* (fix) at the end of the run, merge stats from un-freed blocks
back into APs. This fixes misleading stats that cause un-freed
blocks to appear to not have been accessed at all.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11480 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
eb795f8c30b460f84ba1ceee8437f2b29981b7bb 13-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> * cosmetic output changes
* add an assertion that the core block lookup routine works sanely


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11436 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
5fd79dfba41dbcd8344af6ed7f97579bf4853af7 12-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Minimal fixes needed to make this tool actually usable:

* change the per-block-byte freq count type from 8- to 16-bit
so as to reduce the misleadingness of eventual numbers for
frequently accessed blocks

* disable debug printing

* add command line parameters to control the number of APs shown
in the final output, and to control the sorting order

* show average block size for each AP

* avoid possible problems when retiring a block and merging its
per-byte access counts into the AP's counts

* add a trailer message giving some important hints to the user



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11434 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/exp-dhat/dh_main.c
4d7d8f5b9ed437c1d9ae4cdee77f7abe75aa809f 12-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> 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
/external/valgrind/exp-dhat/dh_main.c