perf annotate: Remove __annotation_line__write()

Get rid of the internal function and convert function arguments into
local variables if they are used more than once.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.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/20250816031635.25318-4-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Namhyung Kim
2025-08-15 20:16:26 -07:00
committed by Arnaldo Carvalho de Melo
parent 4e3c9dc8b8
commit 05a706b157
2 changed files with 18 additions and 26 deletions

View File

@@ -1933,24 +1933,26 @@ int annotation_br_cntr_entry(char **str, int br_cntr_nr,
return -ENOMEM;
}
static void __annotation_line__write(struct annotation_line *al, struct annotation *notes,
bool first_line, bool current_entry, bool change_color, int width,
void *obj, unsigned int percent_type,
int (*obj__set_color)(void *obj, int color),
void (*obj__set_percent_color)(void *obj, double percent, bool current),
int (*obj__set_jumps_percent_color)(void *obj, int nr, bool current),
void (*obj__printf)(void *obj, const char *fmt, ...),
void (*obj__write_graph)(void *obj, int graph))
void annotation_line__write(struct annotation_line *al, struct annotation *notes,
const struct annotation_write_ops *wops)
{
double percent_max = annotation_line__max_percent(al, percent_type);
int pcnt_width = annotation__pcnt_width(notes),
cycles_width = annotation__cycles_width(notes);
bool current_entry = wops->current_entry;
bool change_color = wops->change_color;
double percent_max = annotation_line__max_percent(al, annotate_opts.percent_type);
int width = wops->width;
int pcnt_width = annotation__pcnt_width(notes);
int cycles_width = annotation__cycles_width(notes);
bool show_title = false;
char bf[256];
int printed;
void *obj = wops->obj;
int (*obj__set_color)(void *obj, int color) = wops->set_color;
void (*obj__set_percent_color)(void *obj, double percent, bool current) = wops->set_percent_color;
int (*obj__set_jumps_percent_color)(void *obj, int nr, bool current) = wops->set_jumps_percent_color;
void (*obj__printf)(void *obj, const char *fmt, ...) = wops->printf;
void (*obj__write_graph)(void *obj, int graph) = wops->write_graph;
if (first_line && (al->offset == -1 || percent_max == 0.0)) {
if (wops->first_line && (al->offset == -1 || percent_max == 0.0)) {
if (notes->branch && al->cycles) {
if (al->cycles->ipc == 0.0 && al->cycles->avg == 0)
show_title = true;
@@ -1964,7 +1966,8 @@ static void __annotation_line__write(struct annotation_line *al, struct annotati
for (i = 0; i < al->data_nr; i++) {
double percent;
percent = annotation_data__percent(&al->data[i], percent_type);
percent = annotation_data__percent(&al->data[i],
annotate_opts.percent_type);
obj__set_percent_color(obj, percent, current_entry);
if (symbol_conf.show_total_period) {
@@ -2113,17 +2116,6 @@ static void __annotation_line__write(struct annotation_line *al, struct annotati
}
void annotation_line__write(struct annotation_line *al, struct annotation *notes,
struct annotation_write_ops *wops)
{
__annotation_line__write(al, notes, wops->first_line, wops->current_entry,
wops->change_color, wops->width, wops->obj,
annotate_opts.percent_type,
wops->set_color, wops->set_percent_color,
wops->set_jumps_percent_color, wops->printf,
wops->write_graph);
}
int symbol__annotate2(struct map_symbol *ms, struct evsel *evsel,
struct arch **parch)
{

View File

@@ -200,7 +200,7 @@ struct annotation_write_ops {
};
void annotation_line__write(struct annotation_line *al, struct annotation *notes,
struct annotation_write_ops *ops);
const struct annotation_write_ops *ops);
int __annotation__scnprintf_samples_period(struct annotation *notes,
char *bf, size_t size,