Commit 9213afbd authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo

perf annotate browser: Use struct annotation_line in find functions

Use struct annotation_line in find functions:

  annotate_browser__find_string
  annotate_browser__find_string_reverse
Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20171011150158.11895-33-jolsa@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent a5ef2702
...@@ -606,23 +606,23 @@ static bool annotate_browser__jump(struct annotate_browser *browser) ...@@ -606,23 +606,23 @@ static bool annotate_browser__jump(struct annotate_browser *browser)
} }
static static
struct disasm_line *annotate_browser__find_string(struct annotate_browser *browser, struct annotation_line *annotate_browser__find_string(struct annotate_browser *browser,
char *s, s64 *idx) char *s, s64 *idx)
{ {
struct map_symbol *ms = browser->b.priv; struct map_symbol *ms = browser->b.priv;
struct symbol *sym = ms->sym; struct symbol *sym = ms->sym;
struct annotation *notes = symbol__annotation(sym); struct annotation *notes = symbol__annotation(sym);
struct disasm_line *pos = disasm_line(browser->selection); struct annotation_line *al = browser->selection;
*idx = browser->b.index; *idx = browser->b.index;
list_for_each_entry_continue(pos, &notes->src->source, al.node) { list_for_each_entry_continue(al, &notes->src->source, node) {
if (disasm_line__filter(&browser->b, &pos->al.node)) if (disasm_line__filter(&browser->b, &al->node))
continue; continue;
++*idx; ++*idx;
if (pos->al.line && strstr(pos->al.line, s) != NULL) if (al->line && strstr(al->line, s) != NULL)
return pos; return al;
} }
return NULL; return NULL;
...@@ -630,38 +630,38 @@ struct disasm_line *annotate_browser__find_string(struct annotate_browser *brows ...@@ -630,38 +630,38 @@ struct disasm_line *annotate_browser__find_string(struct annotate_browser *brows
static bool __annotate_browser__search(struct annotate_browser *browser) static bool __annotate_browser__search(struct annotate_browser *browser)
{ {
struct disasm_line *dl; struct annotation_line *al;
s64 idx; s64 idx;
dl = annotate_browser__find_string(browser, browser->search_bf, &idx); al = annotate_browser__find_string(browser, browser->search_bf, &idx);
if (dl == NULL) { if (al == NULL) {
ui_helpline__puts("String not found!"); ui_helpline__puts("String not found!");
return false; return false;
} }
annotate_browser__set_top(browser, dl, idx); annotate_browser__set_top(browser, disasm_line(al), idx);
browser->searching_backwards = false; browser->searching_backwards = false;
return true; return true;
} }
static static
struct disasm_line *annotate_browser__find_string_reverse(struct annotate_browser *browser, struct annotation_line *annotate_browser__find_string_reverse(struct annotate_browser *browser,
char *s, s64 *idx) char *s, s64 *idx)
{ {
struct map_symbol *ms = browser->b.priv; struct map_symbol *ms = browser->b.priv;
struct symbol *sym = ms->sym; struct symbol *sym = ms->sym;
struct annotation *notes = symbol__annotation(sym); struct annotation *notes = symbol__annotation(sym);
struct disasm_line *pos = disasm_line(browser->selection); struct annotation_line *al = browser->selection;
*idx = browser->b.index; *idx = browser->b.index;
list_for_each_entry_continue_reverse(pos, &notes->src->source, al.node) { list_for_each_entry_continue_reverse(al, &notes->src->source, node) {
if (disasm_line__filter(&browser->b, &pos->al.node)) if (disasm_line__filter(&browser->b, &al->node))
continue; continue;
--*idx; --*idx;
if (pos->al.line && strstr(pos->al.line, s) != NULL) if (al->line && strstr(al->line, s) != NULL)
return pos; return al;
} }
return NULL; return NULL;
...@@ -669,16 +669,16 @@ struct disasm_line *annotate_browser__find_string_reverse(struct annotate_browse ...@@ -669,16 +669,16 @@ struct disasm_line *annotate_browser__find_string_reverse(struct annotate_browse
static bool __annotate_browser__search_reverse(struct annotate_browser *browser) static bool __annotate_browser__search_reverse(struct annotate_browser *browser)
{ {
struct disasm_line *dl; struct annotation_line *al;
s64 idx; s64 idx;
dl = annotate_browser__find_string_reverse(browser, browser->search_bf, &idx); al = annotate_browser__find_string_reverse(browser, browser->search_bf, &idx);
if (dl == NULL) { if (al == NULL) {
ui_helpline__puts("String not found!"); ui_helpline__puts("String not found!");
return false; return false;
} }
annotate_browser__set_top(browser, dl, idx); annotate_browser__set_top(browser, disasm_line(al), idx);
browser->searching_backwards = true; browser->searching_backwards = true;
return true; return true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment