This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH v3 04/12] btrace: Use function segment index in call iterator.
On 2017-05-09 02:55, Tim Wiederhake wrote:
Remove FUNCTION pointer in struct btrace_call_iterator and use an index
the list of function segments instead.
2017-05-09 Tim Wiederhake <firstname.lastname@example.org>
* btrace.c (btrace_ends_with_single_insn): New function.
(btrace_call_get, btrace_call_number, btrace_call_begin,
btrace_call_end, btrace_call_next, btrace_call_prev,
btrace_find_call_by_number): Use index into call segment vector
instead of pointer.
* btrace.h (struct btrace_call_iterator): Replace function call
pointer with index into vector.
* record-btrace.c (record_btrace_call_history): Use index instead of
gdb/btrace.c | 198
gdb/btrace.h | 5 +-
gdb/record-btrace.c | 2 +-
3 files changed, 87 insertions(+), 118 deletions(-)
diff --git a/gdb/btrace.c b/gdb/btrace.c
index c2d3730..5615aad 100644
@@ -2527,12 +2527,33 @@ btrace_find_insn_by_number (struct
+/* Returns a non-zero value if the recording ends with a function
+ contains only a single (i.e. the current) instruction. */
Otherwise, it LGTM. I'm not familiar with the btrace specific
computations, but it made sense to me. I trust that you guys know what
you are doing and have tested it enough :).
If I understand correctly, btrace_function::number is 1-based? If so,
it would be good to mention it somewhere (if it's not already, but I
couldn't find it).