From: Daniel Jacobowitz <drow@mvista.com>
To: Jim Blandy <jimb@redhat.com>
Cc: gdb@sources.redhat.com
Subject: Re: suggestion for dictionary representation
Date: Fri, 27 Sep 2002 11:28:00 -0000 [thread overview]
Message-ID: <20020927182835.GA16268@nevyn.them.org> (raw)
In-Reply-To: <vt2adm3cnlu.fsf@zenia.red-bean.com>
On Fri, Sep 27, 2002 at 01:07:57PM -0500, Jim Blandy wrote:
> Daniel Jacobowitz <drow@mvista.com> writes:
>
> > On Tue, Sep 24, 2002 at 10:46:02PM -0500, Jim Blandy wrote:
> > >
> > > Daniel Berlin <dberlin@dberlin.org> writes:
> > >
> > > > On Tue, 24 Sep 2002, Jim Blandy wrote:
> > > >
> > > > >
> > > > > > Also, for what it's worth, I'm still not ready to completely give up
> > > > > > on representing members of classes via a dictionary; that would
> > > > > > provide another place where a linear dictionary environment could be
> > > > > > useful.
> > > > >
> > > > > I agree, but it's worth noting that `struct symbol' is 52 bytes long
> > > > > on a Pentium, whereas `struct field' and `struct fn_field' are 16
> > > > > bytes long.
> > > > >
> > > > > Not that that necessarily matters. We know GDB does have memory
> > > > > consumption problems, but I have never seen those problems really
> > > > > analyzed.
> > > >
> > > > Um, I have these statistics, but I need to know *exactly* what you want to
> > > > know to be able to give them to you.
> > >
> > > On large C++ programs, how much of a difference would it make if we
> > > used `struct symbol' objects (52 bytes long) to represent data members
> > > and member functions, instead of `struct field' and `struct fn_field'
> > > objects (both 16 bytes long)?
> >
> > I'm not sure this is the way to go - we could have a dictionary of
> > something other than struct symbol, probably.
>
> Well, for fields, I think you're right. The field list is
> intrinsically an ordered thing; a dictionary is not.
>
> But not for methods, either? Wouldn't it simplify overload set
> computation to have methods and ordinary functions represented using
> the same structure?
Not really. First of all, you never have to deal with both at the same
time:
void foo(int x)
{
printf ("Int ver\n");
}
class bar {
public:
void foo (double x) { printf ("Double member ver\n"); }
bar() { foo (1); foo(2.); }
};
int main()
{
bar baz;
return 0;
}
Both calls will get the member version.
Secondly, getting the type would probably be all of two lines of
special case; for the memory savings that sounds pretty good to me.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
next prev parent reply other threads:[~2002-09-27 18:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-23 23:50 Jim Blandy
2002-09-24 6:19 ` Daniel Berlin
2002-09-24 7:06 ` Daniel Jacobowitz
2002-09-24 21:01 ` Jim Blandy
2002-09-25 5:54 ` Daniel Jacobowitz
2002-09-27 11:23 ` Jim Blandy
2002-09-27 11:28 ` Daniel Jacobowitz [this message]
2002-09-24 9:49 ` David Carlton
-- strict thread matches above, loose matches on Subject: below --
2002-09-22 19:59 Jim Blandy
2002-09-22 20:11 ` Daniel Jacobowitz
2002-09-23 10:38 ` David Carlton
2002-09-23 17:34 ` Daniel Berlin
2002-09-23 18:39 ` Daniel Jacobowitz
2002-09-23 21:28 ` Daniel Berlin
2002-09-23 21:38 ` Eli Zaretskii
2002-09-23 21:44 ` Daniel Berlin
2002-09-23 21:47 ` Eli Zaretskii
2002-09-23 21:54 ` Daniel Berlin
2002-09-24 9:33 ` David Carlton
2002-09-24 10:42 ` Daniel Berlin
2002-09-24 10:53 ` David Carlton
2002-09-24 20:01 ` Jim Blandy
2002-09-24 20:50 ` Daniel Berlin
2002-09-23 18:28 ` Daniel Jacobowitz
2002-09-24 3:51 ` Paul N. Hilfinger
2002-09-24 19:52 ` Jim Blandy
2002-09-24 20:37 ` Elena Zannoni
2002-09-24 20:53 ` Daniel Berlin
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=20020927182835.GA16268@nevyn.them.org \
--to=drow@mvista.com \
--cc=gdb@sources.redhat.com \
--cc=jimb@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