aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/ui/gtk/annotate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/ui/gtk/annotate.c')
-rw-r--r--tools/perf/ui/gtk/annotate.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/tools/perf/ui/gtk/annotate.c b/tools/perf/ui/gtk/annotate.c
index fc7a2e105bfd..aeeaf15029f0 100644
--- a/tools/perf/ui/gtk/annotate.c
+++ b/tools/perf/ui/gtk/annotate.c
@@ -31,14 +31,14 @@ static int perf_gtk__get_percent(char *buf, size_t size, struct symbol *sym,
31 31
32 strcpy(buf, ""); 32 strcpy(buf, "");
33 33
34 if (dl->offset == (s64) -1) 34 if (dl->al.offset == (s64) -1)
35 return 0; 35 return 0;
36 36
37 symhist = annotation__histogram(symbol__annotation(sym), evidx); 37 symhist = annotation__histogram(symbol__annotation(sym), evidx);
38 if (!symbol_conf.event_group && !symhist->addr[dl->offset].nr_samples) 38 if (!symbol_conf.event_group && !symhist->addr[dl->al.offset].nr_samples)
39 return 0; 39 return 0;
40 40
41 percent = 100.0 * symhist->addr[dl->offset].nr_samples / symhist->nr_samples; 41 percent = 100.0 * symhist->addr[dl->al.offset].nr_samples / symhist->nr_samples;
42 42
43 markup = perf_gtk__get_percent_color(percent); 43 markup = perf_gtk__get_percent_color(percent);
44 if (markup) 44 if (markup)
@@ -57,16 +57,16 @@ static int perf_gtk__get_offset(char *buf, size_t size, struct symbol *sym,
57 57
58 strcpy(buf, ""); 58 strcpy(buf, "");
59 59
60 if (dl->offset == (s64) -1) 60 if (dl->al.offset == (s64) -1)
61 return 0; 61 return 0;
62 62
63 return scnprintf(buf, size, "%"PRIx64, start + dl->offset); 63 return scnprintf(buf, size, "%"PRIx64, start + dl->al.offset);
64} 64}
65 65
66static int perf_gtk__get_line(char *buf, size_t size, struct disasm_line *dl) 66static int perf_gtk__get_line(char *buf, size_t size, struct disasm_line *dl)
67{ 67{
68 int ret = 0; 68 int ret = 0;
69 char *line = g_markup_escape_text(dl->line, -1); 69 char *line = g_markup_escape_text(dl->al.line, -1);
70 const char *markup = "<span fgcolor='gray'>"; 70 const char *markup = "<span fgcolor='gray'>";
71 71
72 strcpy(buf, ""); 72 strcpy(buf, "");
@@ -74,7 +74,7 @@ static int perf_gtk__get_line(char *buf, size_t size, struct disasm_line *dl)
74 if (!line) 74 if (!line)
75 return 0; 75 return 0;
76 76
77 if (dl->offset != (s64) -1) 77 if (dl->al.offset != (s64) -1)
78 markup = NULL; 78 markup = NULL;
79 79
80 if (markup) 80 if (markup)
@@ -119,7 +119,7 @@ static int perf_gtk__annotate_symbol(GtkWidget *window, struct symbol *sym,
119 gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store)); 119 gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store));
120 g_object_unref(GTK_TREE_MODEL(store)); 120 g_object_unref(GTK_TREE_MODEL(store));
121 121
122 list_for_each_entry(pos, &notes->src->source, node) { 122 list_for_each_entry(pos, &notes->src->source, al.node) {
123 GtkTreeIter iter; 123 GtkTreeIter iter;
124 int ret = 0; 124 int ret = 0;
125 125
@@ -148,8 +148,8 @@ static int perf_gtk__annotate_symbol(GtkWidget *window, struct symbol *sym,
148 148
149 gtk_container_add(GTK_CONTAINER(window), view); 149 gtk_container_add(GTK_CONTAINER(window), view);
150 150
151 list_for_each_entry_safe(pos, n, &notes->src->source, node) { 151 list_for_each_entry_safe(pos, n, &notes->src->source, al.node) {
152 list_del(&pos->node); 152 list_del(&pos->al.node);
153 disasm_line__free(pos); 153 disasm_line__free(pos);
154 } 154 }
155 155
@@ -169,8 +169,7 @@ static int symbol__gtk_annotate(struct symbol *sym, struct map *map,
169 if (map->dso->annotate_warned) 169 if (map->dso->annotate_warned)
170 return -1; 170 return -1;
171 171
172 err = symbol__disassemble(sym, map, perf_evsel__env_arch(evsel), 172 err = symbol__annotate(sym, map, evsel, 0, NULL);
173 0, NULL, NULL);
174 if (err) { 173 if (err) {
175 char msg[BUFSIZ]; 174 char msg[BUFSIZ];
176 symbol__strerror_disassemble(sym, map, err, msg, sizeof(msg)); 175 symbol__strerror_disassemble(sym, map, err, msg, sizeof(msg));
@@ -178,6 +177,8 @@ static int symbol__gtk_annotate(struct symbol *sym, struct map *map,
178 return -1; 177 return -1;
179 } 178 }
180 179
180 symbol__calc_percent(sym, evsel);
181
181 if (perf_gtk__is_active_context(pgctx)) { 182 if (perf_gtk__is_active_context(pgctx)) {
182 window = pgctx->main_window; 183 window = pgctx->main_window;
183 notebook = pgctx->notebook; 184 notebook = pgctx->notebook;