diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-01-09 02:38:23 -0500 |
commit | da733563be5a9da26fe81d9f007262d00b846e22 (patch) | |
tree | db28291df94a2043af2123911984c5c173da4e6f /tools/perf/builtin-annotate.c | |
parent | 6ccbcf2cb41131f8d56ef0723bf3f7c1f8486076 (diff) | |
parent | dab78d7924598ea4031663dd10db814e2e324928 (diff) |
Merge branch 'next' into for-linus
Diffstat (limited to 'tools/perf/builtin-annotate.c')
-rw-r--r-- | tools/perf/builtin-annotate.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 555aefd7fe01..46b4c24f338e 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c | |||
@@ -114,10 +114,11 @@ static int hist_entry__tty_annotate(struct hist_entry *he, int evidx) | |||
114 | print_line, full_paths, 0, 0); | 114 | print_line, full_paths, 0, 0); |
115 | } | 115 | } |
116 | 116 | ||
117 | static void hists__find_annotations(struct hists *self, int evidx) | 117 | static void hists__find_annotations(struct hists *self, int evidx, |
118 | int nr_events) | ||
118 | { | 119 | { |
119 | struct rb_node *nd = rb_first(&self->entries), *next; | 120 | struct rb_node *nd = rb_first(&self->entries), *next; |
120 | int key = KEY_RIGHT; | 121 | int key = K_RIGHT; |
121 | 122 | ||
122 | while (nd) { | 123 | while (nd) { |
123 | struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); | 124 | struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); |
@@ -129,7 +130,7 @@ static void hists__find_annotations(struct hists *self, int evidx) | |||
129 | notes = symbol__annotation(he->ms.sym); | 130 | notes = symbol__annotation(he->ms.sym); |
130 | if (notes->src == NULL) { | 131 | if (notes->src == NULL) { |
131 | find_next: | 132 | find_next: |
132 | if (key == KEY_LEFT) | 133 | if (key == K_LEFT) |
133 | nd = rb_prev(nd); | 134 | nd = rb_prev(nd); |
134 | else | 135 | else |
135 | nd = rb_next(nd); | 136 | nd = rb_next(nd); |
@@ -137,12 +138,13 @@ find_next: | |||
137 | } | 138 | } |
138 | 139 | ||
139 | if (use_browser > 0) { | 140 | if (use_browser > 0) { |
140 | key = hist_entry__tui_annotate(he, evidx); | 141 | key = hist_entry__tui_annotate(he, evidx, nr_events, |
142 | NULL, NULL, 0); | ||
141 | switch (key) { | 143 | switch (key) { |
142 | case KEY_RIGHT: | 144 | case K_RIGHT: |
143 | next = rb_next(nd); | 145 | next = rb_next(nd); |
144 | break; | 146 | break; |
145 | case KEY_LEFT: | 147 | case K_LEFT: |
146 | next = rb_prev(nd); | 148 | next = rb_prev(nd); |
147 | break; | 149 | break; |
148 | default: | 150 | default: |
@@ -215,7 +217,8 @@ static int __cmd_annotate(void) | |||
215 | total_nr_samples += nr_samples; | 217 | total_nr_samples += nr_samples; |
216 | hists__collapse_resort(hists); | 218 | hists__collapse_resort(hists); |
217 | hists__output_resort(hists); | 219 | hists__output_resort(hists); |
218 | hists__find_annotations(hists, pos->idx); | 220 | hists__find_annotations(hists, pos->idx, |
221 | session->evlist->nr_entries); | ||
219 | } | 222 | } |
220 | } | 223 | } |
221 | 224 | ||
@@ -267,6 +270,14 @@ static const struct option options[] = { | |||
267 | OPT_BOOLEAN('P', "full-paths", &full_paths, | 270 | OPT_BOOLEAN('P', "full-paths", &full_paths, |
268 | "Don't shorten the displayed pathnames"), | 271 | "Don't shorten the displayed pathnames"), |
269 | OPT_STRING('c', "cpu", &cpu_list, "cpu", "list of cpus to profile"), | 272 | OPT_STRING('c', "cpu", &cpu_list, "cpu", "list of cpus to profile"), |
273 | OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory", | ||
274 | "Look for files with symbols relative to this directory"), | ||
275 | OPT_BOOLEAN(0, "source", &symbol_conf.annotate_src, | ||
276 | "Interleave source code with assembly code (default)"), | ||
277 | OPT_BOOLEAN(0, "asm-raw", &symbol_conf.annotate_asm_raw, | ||
278 | "Display raw encoding of assembly instructions (default)"), | ||
279 | OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style", | ||
280 | "Specify disassembler style (e.g. -M intel for intel syntax)"), | ||
270 | OPT_END() | 281 | OPT_END() |
271 | }; | 282 | }; |
272 | 283 | ||