This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH v3 09/12] btrace: Remove struct btrace_thread_info::flow.


Hi Simon,

thanks for reviewing!

> -----Original Message-----
> From: Simon Marchi [mailto:simon.marchi@polymtl.ca]
> Sent: Wednesday, May 10, 2017 5:45 AM
> To: Wiederhake, Tim <tim.wiederhake@intel.com>
> Cc: gdb-patches@sourceware.org; Metzger, Markus T
> <markus.t.metzger@intel.com>
> Subject: Re: [PATCH v3 09/12] btrace: Remove struct
> btrace_thread_info::flow.
> 
> The title should mention btrace_function::flow instead of
> btrace_thread_info::flow.  I just realized the previous patch has the
> same issue.

I have no idea how this escaped me for so long. Fixed.

> On 2017-05-09 02:55, Tim Wiederhake wrote:
> > This used to hold a pair of pointers to the previous and next function
> > segment
> > in execution flow order.  It is no longer necessary as the previous and
> > next
> > function segments now are simply the previous and next elements in the
> > vector
> > of function segments.
> >
> > 2017-05-09  Tim Wiederhake  <tim.wiederhake@intel.com>
> >
> > gdb/ChangeLog:
> >
> > 	* btrace.c (ftrace_new_function, ftrace_fixup_level,
> > 	ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
> > 	btrace_insn_next, btrace_insn_prev): Remove references to
> > 	btrace_thread_info::flow.
> 
> btrace_function::flow.
> 
> > 	* btrace.h (struct btrace_function): Remove FLOW.
> >
> 
> The patch LGTM, but I have one question.  Did you consider adding a
> backlink in btrace_function to its btrace_thread_info owner?  It would
> possible to implement gap->next () and gap->prev (), which could be used
> in many places, and would probably be more readable than
> 
>    ftrace_find_call_by_number (btinfo, gap->number - 1)
>    ftrace_find_call_by_number (btinfo, gap->number + 1)
> 
> And it could possibly bring more simplifications, I didn't look in
> details.

I believe, a C++-ificiation patch series could get rid of call_iterator and insn_iterator altogether. Sorry if I sound like a broken record :).

> 
> Thanks,
> 
> Simon

Regards,
Tim
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]