perf report: Librarize the annotation code and use it in the newt browser
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 May 2010 02:18:06 +0000 (23:18 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 12 May 2010 02:23:20 +0000 (23:23 -0300)
commitef7b93a11904c6ba10604233d318d9e8ec88cddc
tree7ae6fa9cbe19be8fbbc18c8fdeb7edfdb7bdab60
parent3798ed7bc7ade26d3f59506cd06288615dfc7585
perf report: Librarize the annotation code and use it in the newt browser

Now we don't anymore use popen to run 'perf annotate' for the selected
symbol, instead we collect per address samplings when processing samples
in 'perf report' if we're using the newt browser, then we use this data
directly to do annotation.

Done this way we can actually traverse the objdump_line objects
directly, matching the addresses to the collected samples and colouring
them appropriately using lower level slang routines.

The new ui_browser class will be reused for the main, callchain aware,
histogram browser, when it will be made generic and don't assume that
the objects are always instances of the objdump_line class maintained
using list_heads.

Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Makefile
tools/perf/builtin-annotate.c
tools/perf/builtin-report.c
tools/perf/util/hist.c
tools/perf/util/hist.h
tools/perf/util/newt.c
tools/perf/util/sort.h