diff options
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/annotate.c | 13 | ||||
-rw-r--r-- | tools/perf/util/annotate.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index b976e3951662..8a2fda80a221 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -2084,6 +2084,19 @@ void annotation__set_offsets(struct annotation *notes, s64 size) } } +void annotation__update_column_widths(struct annotation *notes) +{ + if (notes->options->use_offset) + notes->widths.target = notes->widths.min_addr; + else + notes->widths.target = notes->widths.max_addr; + + notes->widths.addr = notes->widths.target; + + if (notes->options->show_nr_jumps) + notes->widths.addr += notes->widths.jumps + 1; +} + static void annotation__calc_lines(struct annotation *notes, struct map *map, struct rb_root *root, u64 start) { diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h index 0aa77c154fe3..a8bea758490a 100644 --- a/tools/perf/util/annotate.h +++ b/tools/perf/util/annotate.h @@ -203,6 +203,7 @@ static inline int annotation__pcnt_width(struct annotation *notes) void annotation__set_offsets(struct annotation *notes, s64 size); void annotation__compute_ipc(struct annotation *notes, size_t size); void annotation__mark_jump_targets(struct annotation *notes, struct symbol *sym); +void annotation__update_column_widths(struct annotation *notes); static inline struct sym_hist *annotation__histogram(struct annotation *notes, int idx) { |