[PATCHSET v5 00/12] perf annotate: Support --code-with-type on TUI

From: Namhyung Kim
Date: Fri Aug 15 2025 - 23:16:51 EST



Hello,

The --code-with-type option is to show normal annotate output with type
information. It was supported only on --stdio, but this change adds it
to TUI as well.

Arnaldo, please tell me if you still don't like the
__hist_entry__tui_annotate() but I don't have a better idea for now.

v5 changes)
* use a copy of hist entry for perf top (Ian)
* split disasm_line__write() change (Ian)
* constify annotation_write_ops parameter (Ian)
* update printed length calculation (Ian)
* remove annotation_print_data.start
* add a hashmap to skip duplicate processing

v4 changes)
* add dso__debuginfo() helper (Ian)

v3 changes)
* hide stack operation and stack canary by default

v2 changes)
* use 'T' key to toggle data type display (Arnaldo)
* display '[Type]' in the title line when it's enabled (Arnaldo)
* show warning when debug info is not available (Arnaldo)
* fix a typo (Arnaldo)

Actually the command line option sets the default behavior and users can
change it by pressing 'T' key in the TUI annotate browser.

The code is also available at 'perf/annotate-code-type-tui-v5' branch at
https://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung


Namhyung Kim (12):
perf annotate: Rename to __hist_entry__tui_annotate()
perf annotate: Remove annotation_print_data.start
perf annotate: Remove __annotation_line__write()
perf annotate: Pass annotation_print_data to annotation_line__write()
perf annotate: Simplify width calculation in annotation_line__write()
perf annotate: Return printed number from disasm_line__write()
perf annotate: Add --code-with-type support for TUI
perf annotate: Add 'T' hot key to toggle data type display
perf annotate: Show warning when debuginfo is not available
perf annotate: Hide data-type for stack operation and canary
perf annotate: Add dso__debuginfo() helper
perf annotate: Use a hashmap to save type data

tools/perf/Documentation/perf-annotate.txt | 1 -
tools/perf/builtin-annotate.c | 5 -
tools/perf/ui/browsers/annotate.c | 117 ++++++++++++--
tools/perf/ui/browsers/hists.c | 2 +-
tools/perf/util/annotate.c | 178 +++++++++++++++------
tools/perf/util/annotate.h | 29 ++--
tools/perf/util/dso.h | 21 +++
tools/perf/util/hist.h | 12 +-
8 files changed, 273 insertions(+), 92 deletions(-)

--
2.50.1