From: Doug Evans <dje@google.com>
To: Gary Benson <gbenson@redhat.com>
Cc: gdb-patches <gdb-patches@sourceware.org>,
Pedro Alves <palves@redhat.com>
Subject: Re: [PATCH 5/9 v7] Introduce common-regcache.h
Date: Thu, 11 Sep 2014 17:12:00 -0000 [thread overview]
Message-ID: <CADPb22SvNvFAXoSQ_HkyeWTw2TfYPmesamsAfDO-tjdH4Mjx1A@mail.gmail.com> (raw)
In-Reply-To: <20140911110231.GC17472@blade.nx>
On Thu, Sep 11, 2014 at 4:02 AM, Gary Benson <gbenson@redhat.com> wrote:
> Doug Evans wrote:
>> Gary Benson writes:
>> > +/* Return the register cache associated with the thread specified
>> > + by PTID. This function must be provided by the client. */
>>
>> Can you add a comment here explaining the ownership of the memory
>> object returned? E.g., is it cached "internally" to the function
>> so that the caller doesn't have to free it?
>
> That seems odd. We don't document other similar functions this way:
> I'm thinking GDB's get_current_arch, current_inferior, target_gdbarch,
> or gdbserver's current_process, current_target_desc. It seems the
> pattern is to note if the caller must free the object and to remain
> quiet otherwise.
Yeah, but I never liked such things being implicit.
I can't trust a missing "caller must free" as being intentional.
[One can equally argue the presence of "caller must free" (or "not
free") isn't necessarily trustable, but such things don't change that
often.]
With a name like "get_current_foo", the "current" makes things less
implicit (at least to me).
If we were using c++ then object ownership can (often, though not
always) be more clearly expressed and then such things can be more
reasonably left as being implicit in comments.
But we don't have that so if we're going to be cleaning things up, and
maybe even paying a little attention to API design, I figure IWBN to
have things be clearer than they are today.
[Plus I get bitten time and again by taking gdb's existing practice as
something we actually want to keep. :-)]
> How about I change the comment to "Return _a_pointer_to_ the register
> cache..."? (underlines for emphasis here).
If one was going to add emphasis, I'd emphasize _the_. :-)
next prev parent reply other threads:[~2014-09-11 17:12 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 13:57 [PATCH 0/9 v7] Common code cleanups Gary Benson
2014-08-29 13:51 ` [PATCH 2/9 v7] Introduce target/target.h Gary Benson
2014-09-10 10:17 ` Pedro Alves
2014-08-29 13:51 ` [PATCH 3/9 v7] Introduce target_{stop,continue}_ptid Gary Benson
2014-09-10 10:39 ` Pedro Alves
2014-09-10 17:45 ` Doug Evans
2014-09-11 10:27 ` Gary Benson
2014-09-12 11:53 ` Pedro Alves
2014-09-12 16:53 ` Doug Evans
2014-09-12 17:20 ` Pedro Alves
2014-09-12 17:38 ` Doug Evans
2014-09-12 17:41 ` Pedro Alves
2014-09-12 18:08 ` Doug Evans
2014-09-12 18:19 ` Pedro Alves
2014-09-12 18:29 ` Doug Evans
2014-09-15 10:07 ` Gary Benson
2014-09-15 16:00 ` Doug Evans
2014-09-15 18:34 ` Doug Evans
2014-09-16 9:49 ` Gary Benson
2014-09-16 10:45 ` Pedro Alves
2014-09-16 10:36 ` Pedro Alves
2014-09-16 21:18 ` Doug Evans
2014-09-17 11:30 ` Pedro Alves
2014-09-17 18:20 ` Doug Evans
2014-09-19 15:51 ` Pedro Alves
2014-09-19 20:47 ` Doug Evans
2014-09-16 9:55 ` Pedro Alves
2014-09-12 12:00 ` Pedro Alves
2014-09-12 17:10 ` Doug Evans
2014-08-29 13:51 ` [PATCH 1/9 v7] Introduce show_debug_regs Gary Benson
2014-09-10 10:09 ` Pedro Alves
2014-08-29 13:51 ` [PATCH 4/9 v7] Introduce target/symbol.h Gary Benson
2014-09-10 11:59 ` Pedro Alves
2014-09-11 10:47 ` Gary Benson
2014-08-29 13:52 ` [PATCH 8/9 v7] Remove GDBSERVER uses from i386-dregs.c Gary Benson
2014-09-10 13:15 ` Pedro Alves
2014-08-29 13:52 ` [PATCH 7/9 v7] Remove GDBSERVER uses from linux-btrace.c Gary Benson
2014-09-10 13:12 ` Pedro Alves
2014-08-29 13:59 ` [PATCH 9/9 v7] Remove one GDBSERVER use from linux-waitpid.c Gary Benson
2014-09-10 13:29 ` Pedro Alves
2014-09-12 10:03 ` [PATCH v8] Clarify GDBSERVER use in linux-waitpid.c Gary Benson
2014-09-12 10:05 ` Pedro Alves
2014-09-12 11:09 ` Gary Benson
2014-08-29 14:03 ` [PATCH 5/9 v7] Introduce common-regcache.h Gary Benson
2014-09-10 13:09 ` Pedro Alves
2014-09-10 18:00 ` Doug Evans
2014-09-11 11:02 ` Gary Benson
2014-09-11 17:12 ` Doug Evans [this message]
2014-09-12 9:45 ` Gary Benson
2014-09-12 16:28 ` Doug Evans
2014-08-29 14:46 ` [PATCH 6/9 v7] Include common-defs.h instead of defs.h/server.h in shared code Gary Benson
2014-09-10 13:11 ` Pedro Alves
2014-09-10 22:34 ` [PATCH 0/9 v7] Common code cleanups Doug Evans
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=CADPb22SvNvFAXoSQ_HkyeWTw2TfYPmesamsAfDO-tjdH4Mjx1A@mail.gmail.com \
--to=dje@google.com \
--cc=gbenson@redhat.com \
--cc=gdb-patches@sourceware.org \
--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