From: Simon Marchi <simon.marchi@polymtl.ca>
To: Tim Wiederhake <tim.wiederhake@intel.com>
Cc: gdb-patches@sourceware.org, markus.t.metzger@intel.com
Subject: Re: [PATCH v3 11/12] btrace: Remove bfun_s vector.
Date: Wed, 10 May 2017 04:27:00 -0000 [thread overview]
Message-ID: <cbc8c341b0409728ef137cbd8ee49807@polymtl.ca> (raw)
In-Reply-To: <1494312929-22749-12-git-send-email-tim.wiederhake@intel.com>
On 2017-05-09 02:55, Tim Wiederhake wrote:
> 2017-05-09 Tim Wiederhake <tim.wiederhake@intel.com>
>
> gdb/ChangeLog:
>
> * btrace.c: Remove typedef bfun_s.
> (ftrace_new_gap): Directly add gaps to the list of gaps.
> (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
> ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
> btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
> instead of gdb VEC.
Looks good, just two nits.
> @@ -527,15 +524,15 @@ ftrace_new_gap (struct btrace_thread_info
> *btinfo, int errcode)
> }
>
> bfun->errcode = errcode;
> + gaps.push_back (bfun->number);
>
> ftrace_debug (bfun, "new gap");
>
> return bfun;
> }
>
> -/* Update BFUN with respect to the instruction at PC. BTINFO is the
> branch
> - trace information for the current thread. This may create new
> function
> - segments.
> +/* Update the current function segment at the end of the trace in
> BTINFO with
> + respect to the instruction at PC. This may create new function
> segments.
> Return the chronologically latest function segment, never NULL. */
Ah here it is! Please move it to the appropriate patch (#6 I believe).
> @@ -978,16 +970,15 @@ btrace_bridge_gaps (struct thread_info *tp, VEC
> (bfun_s) **gaps)
> {
> /* Let's try to bridge as many gaps as we can. In some cases,
> we need to
> skip a gap and revisit it again after we closed later gaps. */
> - while (!VEC_empty (bfun_s, *gaps))
> + while (!gaps.empty ())
> {
> - struct btrace_function *gap;
> - unsigned int idx;
> -
> - for (idx = 0; VEC_iterate (bfun_s, *gaps, idx, gap); ++idx)
> + for (const auto& number : gaps)
If you don't intend to modify number (the value in the vector), I think
it would be actually more efficient to not use a reference to iterate on
ints.
Also, I agree with using auto when the type it replaces is visually
scary, but in this case I think it would be as readable and more
informative to use the actual type:
for (unsigned int number : gaps)
Thanks,
Simon
next prev parent reply other threads:[~2017-05-10 4:27 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-09 7:01 [PATCH v3 00/12] btrace: Turn linked list of function call segments into vector Tim Wiederhake
2017-05-09 7:01 ` [PATCH v3 12/12] btrace: Store function segments as objects Tim Wiederhake
2017-05-10 5:10 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-10 14:16 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 04/12] btrace: Use function segment index in call iterator Tim Wiederhake
2017-05-09 12:50 ` Simon Marchi
2017-05-09 13:14 ` Wiederhake, Tim
2017-05-09 14:29 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 10/12] btrace: Replace struct btrace_thread_info::segment Tim Wiederhake
2017-05-10 4:14 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-10 14:13 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 01/12] btrace: Use std::vector in struct btrace_thread_information Tim Wiederhake
2017-05-09 12:10 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 07/12] btrace: Remove struct btrace_thread_info::{begin,end} Tim Wiederhake
2017-05-10 3:06 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 05/12] btrace: Use function segment index in insn iterator Tim Wiederhake
2017-05-10 2:20 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-09 7:01 ` [PATCH v3 03/12] btrace: Add btinfo to instruction interator Tim Wiederhake
2017-05-09 7:01 ` [PATCH v3 02/12] btrace: Transfer ownership of pointers Tim Wiederhake
2017-05-09 12:21 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 09/12] btrace: Remove struct btrace_thread_info::flow Tim Wiederhake
2017-05-10 3:46 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-10 13:59 ` Simon Marchi
2017-05-09 7:01 ` [PATCH v3 06/12] btrace: Remove constant arguments Tim Wiederhake
2017-05-10 2:45 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-09 7:01 ` [PATCH v3 08/12] btrace: Replace struct btrace_thread_info::up Tim Wiederhake
2017-05-10 3:26 ` Simon Marchi
2017-05-10 11:46 ` Wiederhake, Tim
2017-05-09 7:01 ` [PATCH v3 11/12] btrace: Remove bfun_s vector Tim Wiederhake
2017-05-10 4:27 ` Simon Marchi [this message]
2017-05-10 11:46 ` Wiederhake, Tim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cbc8c341b0409728ef137cbd8ee49807@polymtl.ca \
--to=simon.marchi@polymtl.ca \
--cc=gdb-patches@sourceware.org \
--cc=markus.t.metzger@intel.com \
--cc=tim.wiederhake@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox