btrace: Add btinfo to instruction interator.
authorTim Wiederhake <tim.wiederhake@intel.com>
Tue, 30 May 2017 10:47:37 +0000 (12:47 +0200)
committerTim Wiederhake <tim.wiederhake@intel.com>
Tue, 30 May 2017 10:49:25 +0000 (12:49 +0200)
This will serve as the access path to the vector of function segments once
the FUNCTION pointer in struct btrace_insn_iterator is removed.

gdb/ChangeLog
gdb/btrace.c
gdb/btrace.h

index 2511044..d6e5c03 100644 (file)
@@ -1,5 +1,11 @@
 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
        and save pointers directly.
        (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
index 57788ac..c2d3730 100644 (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;
index ab739ec..e567ef7 100644 (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;