]> www.infradead.org Git - users/hch/misc.git/commitdiff
perf annotate: Remove __annotation_line__write()
authorNamhyung Kim <namhyung@kernel.org>
Sat, 16 Aug 2025 03:16:26 +0000 (20:16 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 28 Aug 2025 15:32:19 +0000 (12:32 -0300)
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>
tools/perf/util/annotate.c
tools/perf/util/annotate.h

index b699e14102b0587a41884d258f785253c2ce9d85..7929f108e35b4e65edbea53ba04500207360790d 100644 (file)
@@ -1933,24 +1933,26 @@ err:
        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))
-
-{
-       double percent_max = annotation_line__max_percent(al, percent_type);
-       int pcnt_width = annotation__pcnt_width(notes),
-           cycles_width = annotation__cycles_width(notes);
+void annotation_line__write(struct annotation_line *al, struct annotation *notes,
+                           const struct annotation_write_ops *wops)
+{
+       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;
-
-       if (first_line && (al->offset == -1 || percent_max == 0.0)) {
+       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 (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 @@ print_addr:
 
 }
 
-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)
 {
index 0f640e487174426279033fc56ce390f3d5f7268d..2e28a24fa13a736af0bed494d63235a43f96cf14 100644 (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,