From: "Metzger, Markus T" <markus.t.metzger@intel.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
Pedro Alves <palves@redhat.com>
Subject: RE: [patch v7 22/24] btrace, gdbserver: read branch trace incrementally
Date: Thu, 12 Dec 2013 08:24:00 -0000 [thread overview]
Message-ID: <A78C989F6D9628469189715575E55B230AA3655F@IRSMSX104.ger.corp.intel.com> (raw)
In-Reply-To: <20131211195820.GB22687@host2.jankratochvil.net>
> -----Original Message-----
> From: Jan Kratochvil [mailto:jan.kratochvil@redhat.com]
> Sent: Wednesday, December 11, 2013 8:58 PM
Thanks for your review.
> > +static int
> > +btrace_stitch_trace (VEC (btrace_block_s) **btrace,
> > + const struct btrace_thread_info *btinfo)
> > +{
> > + struct btrace_function *end;
> > + struct btrace_insn *insn;
> > + btrace_block_s *block;
> > +
> > + /* If we don't have trace, there's nothing to do. */
> > + if (VEC_empty (btrace_block_s, *btrace))
> > + return 0;
> > +
> > + end = btinfo->end;
> > + gdb_assert (end != NULL);
> > +
> > + block = VEC_last (btrace_block_s, *btrace);
> > + insn = VEC_last (btrace_insn_s, end->insn);
>
> At least call block and insn somehow specific from where they come from.
> Maybe btrace_block and btinfo_end. Also end should be called btinfo_end
> (if
> the extra variable still makes sense in such case).
>
> I would even call it new_btrace and old_btinfo with variables old_end etc.
Hmm, btrace_block and btinfo_end doesn't help very much, I think.
What this function does is stitch the old and new trace together by inserting
the last instruction of the old trace as beginning of the chronologically first
block of the new trace. Then it removes the last instruction from the old
trace - it will be re-added when we process the new trace.
I renamed the variables as follows:
end -> last_bfun
insn -> last_insn
block -> first_new_block
I also added a comment explaining why first_new_block is assigned from
VEC_last ().
I hope those names are clearer.
Regards,
Markus.
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
next prev parent reply other threads:[~2013-12-12 8:24 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-29 14:38 [patch v7 00/24] record-btrace: reverse Markus Metzger
2013-11-29 14:38 ` [patch v7 03/24] gdbarch: add instruction predicate methods Markus Metzger
2013-12-11 12:16 ` Pedro Alves
2013-11-29 14:38 ` [patch v7 01/24] btrace, linux: fix memory leak when reading branch trace Markus Metzger
2013-11-29 14:38 ` [patch v7 14/24] record-btrace: supply register target methods Markus Metzger
2013-11-29 14:38 ` [patch v7 04/24] frame: add frame_is_tailcall function Markus Metzger
2013-11-29 14:38 ` [patch v7 08/24] record-btrace: start counting at one Markus Metzger
2013-11-29 14:39 ` [patch v7 09/24] btrace: increase buffer size Markus Metzger
2013-11-29 14:39 ` [patch v7 18/24] record-btrace: add to_wait and to_resume target methods Markus Metzger
2013-11-29 14:39 ` [patch v7 19/24] record-btrace: provide target_find_new_threads method Markus Metzger
2013-11-29 14:39 ` [patch v7 23/24] record-btrace: show trace from enable location Markus Metzger
2013-11-29 14:39 ` [patch v7 05/24] frame: artificial frame id's Markus Metzger
2013-12-11 12:24 ` Pedro Alves
2013-12-11 19:58 ` Jan Kratochvil
2013-11-29 14:39 ` [patch v7 16/24] record-btrace, frame: supply target-specific unwinder Markus Metzger
2013-11-29 14:39 ` [patch v7 17/24] record-btrace: provide xfer_partial target method Markus Metzger
2013-11-29 14:39 ` [patch v7 12/24] btrace: add replay position to btrace thread info Markus Metzger
2013-11-29 14:39 ` [patch v7 11/24] record-btrace: make ranges include begin and end Markus Metzger
2013-11-29 14:39 ` [patch v7 07/24] record-btrace: fix insn range in function call history Markus Metzger
2013-11-29 14:39 ` [patch v7 13/24] target: add ops parameter to to_prepare_to_store method Markus Metzger
2013-11-29 14:40 ` [patch v7 21/24] record-btrace: extend unwinder Markus Metzger
2013-12-11 19:57 ` Jan Kratochvil
2013-11-29 14:40 ` [patch v7 06/24] btrace: change branch trace data structure Markus Metzger
2013-11-29 14:40 ` [patch v7 15/24] frame, backtrace: allow targets to supply a frame unwinder Markus Metzger
2013-11-29 14:41 ` [patch v7 02/24] btrace: uppercase btrace_read_type Markus Metzger
2013-12-11 12:11 ` Pedro Alves
2013-11-29 14:41 ` [patch v7 20/24] record-btrace: add record goto target methods Markus Metzger
2013-11-29 14:42 ` [patch v7 10/24] record-btrace: optionally indent function call history Markus Metzger
2013-11-29 15:05 ` [patch v7 22/24] btrace, gdbserver: read branch trace incrementally Markus Metzger
2013-12-11 19:58 ` Jan Kratochvil
2013-12-12 8:24 ` Metzger, Markus T [this message]
2013-12-12 9:13 ` Jan Kratochvil
2013-11-29 15:11 ` [patch v7 24/24] record-btrace: add (reverse-)stepping support Markus Metzger
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=A78C989F6D9628469189715575E55B230AA3655F@IRSMSX104.ger.corp.intel.com \
--to=markus.t.metzger@intel.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=palves@redhat.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