From ecda45bd6cfe0badda0e8215c5a008eaf7647716 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Thu, 15 Mar 2018 16:54:11 -0300 Subject: perf annotate: Introduce symbol__annotate2 method That does all the extended boilerplate the TUI browser did, leaving the symbol__annotate() function to be used by the old --stdio output mode. Now the upcoming --stdio2 output mode should just use this one to set things up. Cc: Adrian Hunter Cc: Andi Kleen Cc: David Ahern Cc: Jin Yao Cc: Jiri Olsa Cc: Namhyung Kim Cc: Wang Nan Link: https://lkml.kernel.org/n/tip-e2x8wuf6gvdhzdryo229vj4i@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/ui/browsers/annotate.c | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) (limited to 'tools/perf/ui/browsers/annotate.c') diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index 06ad5ecaa67a..ab21739f27ae 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c @@ -910,7 +910,6 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, struct hist_browser_timer *hbt) { struct annotation *notes = symbol__annotation(sym); - size_t size; struct map_symbol ms = { .map = map, .sym = sym, @@ -926,28 +925,14 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, }, }; int ret = -1, err; - int nr_pcnt = 1; if (sym == NULL) return -1; - size = symbol__size(sym); - if (map->dso->annotate_warned) return -1; - notes->options = &annotate_browser__opts; - - notes->offsets = zalloc(size * sizeof(struct annotation_line *)); - if (notes->offsets == NULL) { - ui__error("Not enough memory!"); - return -1; - } - - if (perf_evsel__is_group_event(evsel)) - nr_pcnt = evsel->nr_members; - - err = symbol__annotate(sym, map, evsel, 0, &browser.arch); + err = symbol__annotate2(sym, map, evsel, &annotate_browser__opts, &browser.arch); if (err) { char msg[BUFSIZ]; symbol__strerror_disassemble(sym, map, err, msg, sizeof(msg)); @@ -955,18 +940,9 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, goto out_free_offsets; } - symbol__calc_percent(sym, evsel); - ui_helpline__push("Press ESC to exit"); - notes->start = map__rip_2objdump(map, sym->start); - - annotation__set_offsets(notes, size); browser.b.width = notes->max_line_len; - annotation__mark_jump_targets(notes, sym); - annotation__compute_ipc(notes, size); - annotation__init_column_widths(notes, sym); - notes->nr_events = nr_pcnt; browser.b.nr_entries = notes->nr_entries; browser.b.entries = ¬es->src->source, browser.b.width += 18; /* Percentage */ @@ -974,8 +950,6 @@ int symbol__tui_annotate(struct symbol *sym, struct map *map, if (notes->options->hide_src_code) ui_browser__init_asm_mode(&browser.b); - annotation__update_column_widths(notes); - ret = annotate_browser__run(&browser, evsel, hbt); annotated_source__purge(notes->src); -- cgit v1.2.3-70-g09d2