perf annotate: Move nr_jumps to struct annotation
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 6dcd57e8ae2080bca776d55e6e2b3d529677cae5 Gitweb: https://git.kernel.org/tip/6dcd57e8ae2080bca776d55e6e2b3d529677cae5 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Thu, 15 Mar 2018 15:20:12 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 20 Mar 2018 13:19:29 -0300
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 <[email protected]>
Cc Andi Kleen <[email protected]>
Cc David Ahern <[email protected]>
Cc Jin Yao <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/ui/browsers/annotate.c | 13 ++++--------- tools/perf/util/annotate.h | 1 + 2 files changed, 5 insertions(+), 9 deletions(-)
tools/perf/ui/browsers/annotate.c +4 -9
@@ -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 *browserif (++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);
tools/perf/util/annotate.h +1 -0
@@ -167,6 +167,7 @@ struct annotation {struct annotation_options *options;struct annotation_line **offsets;int nr_events; +int nr_jumps;int max_jump_sources;bool have_cycles;struct annotated_source *src;