diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-03-15 19:20:12 +0100 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-03-20 17:19:29 +0100 |
commit | 6dcd57e8ae2080bca776d55e6e2b3d529677cae5 (patch) | |
tree | a6043a28ee35e3724f8006dc76ab1bc8c116dd42 /tools/perf/ui | |
parent | perf annotate: Move jumps_percent_color to ui_browser (diff) | |
download | linux-6dcd57e8ae2080bca776d55e6e2b3d529677cae5.tar.xz linux-6dcd57e8ae2080bca776d55e6e2b3d529677cae5.zip |
perf annotate: Move nr_jumps to struct annotation
This is another information that will be useful for the --stdio2 mode,
to provide symbol statistics, so move it from the TUI and change the
mark_jump_targets() method to struct annotation.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-kpgle1qxe7thajvrqleuvi80@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/ui')
-rw-r--r-- | tools/perf/ui/browsers/annotate.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 6e2eea09a9b0..d05a2f991207 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c @@ -44,7 +44,6 @@ struct annotate_browser { u64 start; int nr_asm_entries; int nr_entries; - int nr_jumps; bool searching_backwards; u8 addr_width; u8 jumps_width; @@ -965,13 +964,9 @@ int hist_entry__tui_annotate(struct hist_entry *he, struct perf_evsel *evsel, return map_symbol__tui_annotate(&he->ms, evsel, hbt); } -static void annotate_browser__mark_jump_targets(struct annotate_browser *browser, - size_t size) +static void annotation__mark_jump_targets(struct annotation *notes, struct symbol *sym) { - u64 offset; - struct map_symbol *ms = browser->b.priv; - struct symbol *sym = ms->sym; - struct annotation *notes = symbol__annotation(sym); + u64 offset, size = symbol__size(sym); /* PLT symbols contain external offsets */ if (strstr(sym->name, "@plt")) @@ -1000,7 +995,7 @@ static void annotate_browser__mark_jump_targets(struct annotate_browser *browser if (++blt->jump_sources > notes->max_jump_sources) notes->max_jump_sources = blt->jump_sources; - ++browser->nr_jumps; + ++notes->nr_jumps; } } @@ -1093,7 +1088,7 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, bpos->idx_asm = -1; } - annotate_browser__mark_jump_targets(&browser, size); + annotation__mark_jump_targets(notes, sym); annotation__compute_ipc(notes, size); browser.addr_width = browser.target_width = browser.min_addr_width = hex_width(size); |