diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-05-12 13:40:52 -0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-05-12 13:40:52 -0300 |
commit | 7d5b12f5a01d338d23874c7c242a74813a8848b2 (patch) | |
tree | 4a92cb34943d75a8b6c7c8049c942ebff7245a9d | |
parent | c46219ac34f0f365bac700ca6a10ef979c643233 (diff) | |
download | op-kernel-dev-7d5b12f5a01d338d23874c7c242a74813a8848b2.zip op-kernel-dev-7d5b12f5a01d338d23874c7c242a74813a8848b2.tar.gz |
perf annotate browser: Count the numbers of jump sources to a target
Instead of simply marking an offset as a jump target. So that we can
implement a new feature: showing "jumpy" targets, I.e. addresses that
lots of places jump to.
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-vc7b0u5yxgrubig0q61ayhxf@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/ui/browsers/annotate.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 06367c1..4463626 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c @@ -16,7 +16,7 @@ struct browser_disasm_line { double percent; u32 idx; int idx_asm; - bool jump_target; + int jump_sources; }; struct annotate_browser { @@ -98,7 +98,7 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro if (!ab->use_offset) { printed = scnprintf(bf, sizeof(bf), "%" PRIx64 ": ", addr); } else { - if (bdl->jump_target) { + if (bdl->jump_sources) { printed = scnprintf(bf, sizeof(bf), "%*" PRIx64 ": ", ab->addr_width, addr); } else { @@ -707,7 +707,7 @@ static void annotate_browser__mark_jump_targets(struct annotate_browser *browser continue; bdlt = disasm_line__browser(dlt); - bdlt->jump_target = true; + ++bdlt->jump_sources; } } |