Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec03a77d authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf annotate browser: Use struct annotation_line in browser top



Use struct annotation_line in browser::b::top.

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-34-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 9213afbd
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -390,7 +390,7 @@ static void disasm_rb_tree__insert(struct rb_root *root, struct annotation_line
}

static void annotate_browser__set_top(struct annotate_browser *browser,
				      struct disasm_line *pos, u32 idx)
				      struct annotation_line *pos, u32 idx)
{
	unsigned back;

@@ -399,16 +399,16 @@ static void annotate_browser__set_top(struct annotate_browser *browser,
	browser->b.top_idx = browser->b.index = idx;

	while (browser->b.top_idx != 0 && back != 0) {
		pos = list_entry(pos->al.node.prev, struct disasm_line, al.node);
		pos = list_entry(pos->node.prev, struct annotation_line, node);

		if (disasm_line__filter(&browser->b, &pos->al.node))
		if (disasm_line__filter(&browser->b, &pos->node))
			continue;

		--browser->b.top_idx;
		--back;
	}

	browser->b.top = &pos->al;
	browser->b.top = pos;
	browser->b.navkeypressed = true;
}

@@ -416,11 +416,11 @@ static void annotate_browser__set_rb_top(struct annotate_browser *browser,
					 struct rb_node *nd)
{
	struct browser_line *bpos;
	struct disasm_line *pos;
	struct annotation_line *pos;
	u32 idx;

	pos = rb_entry(nd, struct disasm_line, al.rb_node);
	bpos = browser_line(&pos->al);
	pos = rb_entry(nd, struct annotation_line, rb_node);
	bpos = browser_line(pos);

	idx = bpos->idx;
	if (annotate_browser__opts.hide_src_code)
@@ -472,13 +472,13 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser,

static bool annotate_browser__toggle_source(struct annotate_browser *browser)
{
	struct disasm_line *dl;
	struct annotation_line *al;
	struct browser_line *bl;
	off_t offset = browser->b.index - browser->b.top_idx;

	browser->b.seek(&browser->b, offset, SEEK_CUR);
	dl = list_entry(browser->b.top, struct disasm_line, al.node);
	bl = browser_line(&dl->al);
	al = list_entry(browser->b.top, struct annotation_line, node);
	bl = browser_line(al);

	if (annotate_browser__opts.hide_src_code) {
		if (bl->idx_asm < offset)
@@ -600,7 +600,7 @@ static bool annotate_browser__jump(struct annotate_browser *browser)
		return true;
	}

	annotate_browser__set_top(browser, dl, idx);
	annotate_browser__set_top(browser, &dl->al, idx);

	return true;
}
@@ -639,7 +639,7 @@ static bool __annotate_browser__search(struct annotate_browser *browser)
		return false;
	}

	annotate_browser__set_top(browser, disasm_line(al), idx);
	annotate_browser__set_top(browser, al, idx);
	browser->searching_backwards = false;
	return true;
}
@@ -678,7 +678,7 @@ static bool __annotate_browser__search_reverse(struct annotate_browser *browser)
		return false;
	}

	annotate_browser__set_top(browser, disasm_line(al), idx);
	annotate_browser__set_top(browser, al, idx);
	browser->searching_backwards = true;
	return true;
}