diff options
Diffstat (limited to 'tools/perf/ui')
-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 c2bbfc767d4f..63206ca4336b 100644 --- a/tools/perf/ui/browsers/annotate.c +++ b/tools/perf/ui/browsers/annotate.c | |||
@@ -113,9 +113,20 @@ static void annotate_browser__write(struct ui_browser *self, void *entry, int ro | |||
113 | if (change_color) | 113 | if (change_color) |
114 | ui_browser__set_color(self, color); | 114 | ui_browser__set_color(self, color); |
115 | if (dl->ins && dl->ins->ops->scnprintf) { | 115 | if (dl->ins && dl->ins->ops->scnprintf) { |
116 | if (ins__is_jump(dl->ins)) { | ||
117 | bool fwd = dl->ops.target > (u64)dl->offset; | ||
118 | |||
119 | SLsmg_set_char_set(1); | ||
120 | SLsmg_write_char(fwd ? SLSMG_DARROW_CHAR : | ||
121 | SLSMG_UARROW_CHAR); | ||
122 | SLsmg_set_char_set(0); | ||
123 | SLsmg_write_char(' '); | ||
124 | } else { | ||
125 | slsmg_write_nstring(" ", 2); | ||
126 | } | ||
127 | |||
116 | dl->ins->ops->scnprintf(dl->ins, bf, sizeof(bf), &dl->ops, | 128 | dl->ins->ops->scnprintf(dl->ins, bf, sizeof(bf), &dl->ops, |
117 | !ab->use_offset); | 129 | !ab->use_offset); |
118 | slsmg_write_nstring(" ", 2); | ||
119 | printed += 2; | 130 | printed += 2; |
120 | } else | 131 | } else |
121 | scnprintf(bf, sizeof(bf), " %-6.6s %s", dl->name, dl->ops.raw); | 132 | scnprintf(bf, sizeof(bf), " %-6.6s %s", dl->name, dl->ops.raw); |