Re: [PATCH v4 00/12] btrace: Turn linked list of function call segments into vector

Simon Marchi
2017-05-10T14:46:53Z

On 2017-05-10 07:47, Tim Wiederhake wrote:
> 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(-)

AFAIC, this series is good to go, pending your response on the
btrace_function initialization issue in patch #12.

Thanks,

Simon