diff options
Diffstat (limited to 'tools/perf/ui/browsers/annotate.c')
-rw-r--r-- | tools/perf/ui/browsers/annotate.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c index f0697a3aede0..1e0a2fd80115 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c | |||
@@ -27,6 +27,7 @@ static struct annotate_browser_opt { | |||
27 | bool hide_src_code, | 27 | bool hide_src_code, |
28 | use_offset, | 28 | use_offset, |
29 | jump_arrows, | 29 | jump_arrows, |
30 | show_linenr, | ||
30 | show_nr_jumps; | 31 | show_nr_jumps; |
31 | } annotate_browser__opts = { | 32 | } annotate_browser__opts = { |
32 | .use_offset = true, | 33 | .use_offset = true, |
@@ -128,7 +129,11 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int | |||
128 | if (!*dl->line) | 129 | if (!*dl->line) |
129 | slsmg_write_nstring(" ", width - pcnt_width); | 130 | slsmg_write_nstring(" ", width - pcnt_width); |
130 | else if (dl->offset == -1) { | 131 | else if (dl->offset == -1) { |
131 | printed = scnprintf(bf, sizeof(bf), "%*s ", | 132 | if (dl->line_nr && annotate_browser__opts.show_linenr) |
133 | printed = scnprintf(bf, sizeof(bf), "%-*d ", | ||
134 | ab->addr_width + 1, dl->line_nr); | ||
135 | else | ||
136 | printed = scnprintf(bf, sizeof(bf), "%*s ", | ||
132 | ab->addr_width, " "); | 137 | ab->addr_width, " "); |
133 | slsmg_write_nstring(bf, printed); | 138 | slsmg_write_nstring(bf, printed); |
134 | slsmg_write_nstring(dl->line, width - printed - pcnt_width + 1); | 139 | slsmg_write_nstring(dl->line, width - printed - pcnt_width + 1); |
@@ -733,6 +738,7 @@ static int annotate_browser__run(struct annotate_browser *browser, | |||
733 | "o Toggle disassembler output/simplified view\n" | 738 | "o Toggle disassembler output/simplified view\n" |
734 | "s Toggle source code view\n" | 739 | "s Toggle source code view\n" |
735 | "/ Search string\n" | 740 | "/ Search string\n" |
741 | "k Toggle line numbers\n" | ||
736 | "r Run available scripts\n" | 742 | "r Run available scripts\n" |
737 | "? Search string backwards\n"); | 743 | "? Search string backwards\n"); |
738 | continue; | 744 | continue; |
@@ -741,6 +747,10 @@ static int annotate_browser__run(struct annotate_browser *browser, | |||
741 | script_browse(NULL); | 747 | script_browse(NULL); |
742 | continue; | 748 | continue; |
743 | } | 749 | } |
750 | case 'k': | ||
751 | annotate_browser__opts.show_linenr = | ||
752 | !annotate_browser__opts.show_linenr; | ||
753 | break; | ||
744 | case 'H': | 754 | case 'H': |
745 | nd = browser->curr_hot; | 755 | nd = browser->curr_hot; |
746 | break; | 756 | break; |
@@ -984,6 +994,7 @@ static struct annotate_config { | |||
984 | } annotate__configs[] = { | 994 | } annotate__configs[] = { |
985 | ANNOTATE_CFG(hide_src_code), | 995 | ANNOTATE_CFG(hide_src_code), |
986 | ANNOTATE_CFG(jump_arrows), | 996 | ANNOTATE_CFG(jump_arrows), |
997 | ANNOTATE_CFG(show_linenr), | ||
987 | ANNOTATE_CFG(show_nr_jumps), | 998 | ANNOTATE_CFG(show_nr_jumps), |
988 | ANNOTATE_CFG(use_offset), | 999 | ANNOTATE_CFG(use_offset), |
989 | }; | 1000 | }; |