Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Burgess <andrew.burgess@embecosm.com>
To: "Metzger, Markus T" <markus.t.metzger@intel.com>
Cc: gdb-patches <gdb-patches@sourceware.org>,
	Simon Marchi <simark@simark.ca>, Tom Tromey <tom@tromey.com>
Subject: Re: [PATCHv3 2/3] gdb: Change a VEC to std::vector in btrace.{c,h}
Date: Thu, 26 Sep 2019 11:33:00 -0000	[thread overview]
Message-ID: <20190926113338.GT4962@embecosm.com> (raw)
In-Reply-To: <A78C989F6D9628469189715575E55B236B4D90CC@IRSMSX104.ger.corp.intel.com>

* Metzger, Markus T <markus.t.metzger@intel.com> [2019-09-26 08:47:28 +0000]:

> Hello Andrew,
> 
> > @@ -2986,8 +2986,10 @@ btrace_maint_decode_pt (struct btrace_maint_info
> > *maint,
> >  	  if (maint_btrace_pt_skip_pad == 0 || packet.packet.type != ppt_pad)
> >  	    {
> >  	      packet.errcode = pt_errcode (errcode);
> > -	      VEC_safe_push (btrace_pt_packet_s, maint->variant.pt.packets,
> > -			     &packet);
> > +	      if (maint->variant.pt.packets == NULL)
> > +		maint->variant.pt.packets
> > +		  = new std::vector <btrace_pt_packet>;
> > +	      maint->variant.pt.packets->push_back (packet);
> 
> We shouldn't do that check inside the loop.  I used VEC_safe_push
> for the realloc aspect.

Thanks, I pushed the vector allocation out of the loop.

> 
> 
> > @@ -3098,11 +3101,13 @@ btrace_maint_update_packets (struct
> > btrace_thread_info *btinfo,
> > 
> >  #if defined (HAVE_LIBIPT)
> >      case BTRACE_FORMAT_PT:
> > -      if (VEC_empty (btrace_pt_packet_s, btinfo->maint.variant.pt.packets))
> > +      if (btinfo->maint.variant.pt.packets == nullptr
> > +	  || btinfo->maint.variant.pt.packets->empty ())
> >  	btrace_maint_update_pt_packets (btinfo);
> 
> Here, I'd check for nullptr in order to allocate the vector and call
> btrace_maint_update_pt_packets.  Afterwards, I'd check for emptiness and delete
> the vector again if there are no packets.
> 
> We can also leave an empty vector if you prefer that.

I hope I've interpreted your suggestion correctly.  Please do check my
next version and correct me if I've not understood you.

Thanks,
Andrew



> 
> Regards,
> Markus.
> 
> 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, Gary Kershaw
> Chairperson of the Supervisory Board: Nicole Lau
> Registered Office: Munich
> Commercial Register: Amtsgericht Muenchen HRB 186928
> 


  reply	other threads:[~2019-09-26 11:33 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-25 15:54 [PATCHv2 0/3] Remove some uses of VEC Andrew Burgess
2019-09-23 22:09 ` [PATCH 0/2] Remove 2 uses of VEC from gdb Andrew Burgess
2019-09-23 22:09   ` [PATCH 1/2] gdb: Remove a VEC from gdbsupport/btrace-common.h Andrew Burgess
2019-09-24  2:09     ` Simon Marchi
2019-09-23 22:09   ` [PATCH 2/2] gdb: Change a VEC to std::vector in btrace.{c,h} Andrew Burgess
2019-09-24  2:19     ` Simon Marchi
2019-09-24 19:54   ` [PATCH 0/2] Remove 2 uses of VEC from gdb Tom Tromey
2019-09-25 15:54   ` [PATCHv2 1/3] gdb: Remove a VEC from gdbsupport/btrace-common.h Andrew Burgess
2019-09-25 15:54   ` [PATCHv2 3/3] gdb: Remove a use of VEC from dwarf2read.{c,h} Andrew Burgess
2019-09-25 22:08     ` Tom Tromey
2019-09-26  0:00       ` [PATCHv3 " Andrew Burgess
2019-09-26  0:00       ` [PATCHv3 2/3] gdb: Change a VEC to std::vector in btrace.{c,h} Andrew Burgess
2019-09-26  8:47         ` Metzger, Markus T
2019-09-26 11:33           ` Andrew Burgess [this message]
2019-09-26  0:00       ` [PATCHv3 1/3] gdb: Remove a VEC from gdbsupport/btrace-common.h Andrew Burgess
2019-09-26  8:47         ` Metzger, Markus T
2019-09-26 11:32           ` Andrew Burgess
2019-09-26 13:07             ` Metzger, Markus T
2019-09-26  0:00       ` [PATCHv3 0/3] Remove some uses of VEC Andrew Burgess
2019-09-26  2:52         ` Simon Marchi
2019-09-26 11:41         ` [PATCHv4 3/3] gdb: Remove a use of VEC from dwarf2read.{c,h} Andrew Burgess
2019-09-26 11:41         ` [PATCHv4 1/3] gdb: Remove a VEC from gdbsupport/btrace-common.h Andrew Burgess
2019-09-26 13:40           ` Metzger, Markus T
2019-09-26 11:41         ` [PATCHv4 2/3] gdb: Change a VEC to std::vector in btrace.{c,h} Andrew Burgess
2019-09-26 11:41         ` [PATCHv4 0/3] Remove some uses of VEC Andrew Burgess
2019-10-01 11:42           ` [PATCHv5 1/3] gdb: Remove a VEC from gdbsupport/btrace-common.h Andrew Burgess
2019-10-01 19:59             ` Tom Tromey
2019-10-01 11:42           ` [PATCHv5 3/3] gdb: Remove a use of VEC from dwarf2read.{c,h} Andrew Burgess
2019-10-02 15:51             ` Pedro Alves
2019-10-02 22:21               ` Andrew Burgess
2019-10-03  8:06                 ` Pedro Alves
2019-10-01 11:42           ` [PATCHv5 2/3] gdb: Change a VEC to std::vector in btrace.{c,h} Andrew Burgess
     [not found]           ` <cover.1569929785.git.andrew.burgess@embecosm.com>
2019-10-01 12:04             ` [PATCHv5 0/3] Remove some uses of VEC Metzger, Markus T
2019-09-25 15:54   ` [PATCHv2 2/3] gdb: Change a VEC to std::vector in btrace.{c,h} Andrew Burgess
2019-09-26  2:35     ` Simon Marchi

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=20190926113338.GT4962@embecosm.com \
    --to=andrew.burgess@embecosm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=markus.t.metzger@intel.com \
    --cc=simark@simark.ca \
    --cc=tom@tromey.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