Hi all,
this series removes the extra list of btrace function call segments in
struct
btrace_thread_info. To achieve this, the doubly linked list of
function call
segments in struct btrace_thread_info is replaced by a std::vector.
V1 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2017-02/msg00482.html
V2 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2017-05/msg00168.html
V3 of this series can be found here:
https://sourceware.org/ml/gdb-patches/2017-05/msg00202.html
Patches #1, #2 and #7 were LGTM'd by Simon.
Changes since V3:
* Patch #4: Replaced int with bool. Added comment that
btrace_function::number
is 1-based.
* Patch #5: Simplified btrace_insn_cmp.
* Patch #6: Split line that had an assignment as a side effect. Added
missing
comment.
* Patch #9: Fixed patch title.
* Patch #10: Fixed patch title. Removed double assignment in
ftrace_bridge_gaps.
* Patch #11: Moved comment to patch #6. Replaced "for (const auto& foo:
..."
with "for (const unsigned int foo: ...".
* Patch #12: Added missing ChangeLog. Put "static" before "const".
Changed
comment of ftrace_find_call_by_number.
Regards,
Tim
Tim Wiederhake (12):
btrace: Use std::vector in struct btrace_thread_information.
btrace: Transfer ownership of pointers.
btrace: Add btinfo to instruction interator.
btrace: Use function segment index in call iterator.
btrace: Use function segment index in insn iterator.
btrace: Remove constant arguments.
btrace: Remove struct btrace_thread_info::{begin,end}.
btrace: Replace struct btrace_function::up.
btrace: Remove struct btrace_function::flow.
btrace: Replace struct btrace_function::segment.
btrace: Remove bfun_s vector.
btrace: Store function segments as objects.
gdb/btrace.c | 850
+++++++++++++++++++++---------------------
gdb/btrace.h | 64 ++--
gdb/python/py-record-btrace.c | 12 +-
gdb/record-btrace.c | 30 +-
4 files changed, 465 insertions(+), 491 deletions(-)