btrace: Add btinfo to instruction interator.

This will serve as the access path to the vector of function segments once
the FUNCTION pointer in struct btrace_insn_iterator is removed.
This commit is contained in:
Tim Wiederhake 2017-05-30 12:47:37 +02:00
parent 17b89b34b8
commit 521103fd00
3 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2017-05-30 Tim Wiederhake <tim.wiederhake@intel.com>
* btrace.c (btrace_insn_begin, btrace_insn_end,
btrace_find_insn_by_number): Add btinfo to iterator.
* btrace.h (struct btrace_insn_iterator): Add btinfo.
2017-05-30 Tim Wiederhake <tim.wiederhake@intel.com>
* btrace.c (ftrace_new_function): Add btrace_thread_info to arguments

View file

@ -2291,6 +2291,7 @@ btrace_insn_begin (struct btrace_insn_iterator *it,
if (bfun == NULL)
error (_("No trace."));
it->btinfo = btinfo;
it->function = bfun;
it->index = 0;
}
@ -2316,6 +2317,7 @@ btrace_insn_end (struct btrace_insn_iterator *it,
if (length > 0)
length -= 1;
it->btinfo = btinfo;
it->function = bfun;
it->index = length;
}
@ -2519,6 +2521,7 @@ btrace_find_insn_by_number (struct btrace_insn_iterator *it,
break;
}
it->btinfo = btinfo;
it->function = bfun;
it->index = number - bfun->insn_offset;
return 1;

View file

@ -192,6 +192,9 @@ struct btrace_function
/* A branch trace instruction iterator. */
struct btrace_insn_iterator
{
/* The branch trace information for this thread. Will never be NULL. */
const struct btrace_thread_info *btinfo;
/* The branch trace function segment containing the instruction.
Will never be NULL. */
const struct btrace_function *function;