mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
perf annotate: Get rid of symbol__ensure_annotate()
Now symbol__annotate() is reentrant and it doesn't need to remove non-instruction lines. Let's get rid of symbol__ensure_annotate() and call symbol__annotate() directly. Also we can use it to get the arch pointer instead of calling evsel__get_arch() directly. Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240405211800.1412920-5-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
879ebf3c83
commit
0235abd89f
|
|
@ -2157,14 +2157,6 @@ int annotate_get_insn_location(struct arch *arch, struct disasm_line *dl,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void symbol__ensure_annotate(struct map_symbol *ms, struct evsel *evsel)
|
||||
{
|
||||
struct annotation *notes = symbol__annotation(ms->sym);
|
||||
|
||||
if (list_empty(¬es->src->source))
|
||||
symbol__annotate(ms, evsel, NULL);
|
||||
}
|
||||
|
||||
static struct disasm_line *find_disasm_line(struct symbol *sym, u64 ip,
|
||||
bool allow_update)
|
||||
{
|
||||
|
|
@ -2339,14 +2331,12 @@ struct annotated_data_type *hist_entry__get_data_type(struct hist_entry *he)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (evsel__get_arch(evsel, &arch) < 0) {
|
||||
/* Make sure it has the disasm of the function */
|
||||
if (symbol__annotate(ms, evsel, &arch) < 0) {
|
||||
ann_data_stat.no_insn++;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Make sure it runs objdump to get disasm of the function */
|
||||
symbol__ensure_annotate(ms, evsel);
|
||||
|
||||
/*
|
||||
* Get a disasm to extract the location from the insn.
|
||||
* This is too slow...
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user