From: Andrew Cagney <ac131313@ges.redhat.com>
To: David Carlton <carlton@math.stanford.edu>
Cc: gdb <gdb@sources.redhat.com>
Subject: Re: struct environment
Date: Tue, 17 Sep 2002 00:48:00 -0000 [thread overview]
Message-ID: <3D86DE18.6030003@ges.redhat.com> (raw)
In-Reply-To: <ro1lm6gcg9r.fsf@jackfruit.Stanford.EDU>
David,
Per the original thread, this should be prototyped on a branch (you can
then cut your self loose for a bit :-).
Having done this for regcache and reggroup it is worth it -> you get to
see what actually works rather than what everyone else thinks should
work. You can also pick out the cleanups that will make the final
change easier. For instance - tightening up the way GDB creates symbol
tables (DanielB suggested moving psymtab into stabs) an performs lookups
on them.
--
Btw, try ``struct nametab''? These are just tables for mapping a name
onto a symbol?
--
Have a look at how I've been evolving ``struct frame_info'' and ``struct
cmd_list_element[?]'':
- tighten up the existing interface so that you know how things are
really used (rather than how you think things are used). My trick was
to do a temp rename of a field and then convert to accessor methods
anything that didn't compile.
- with a tight interface, re-implement the internals.
--
Having also gone over the original thread, two things come to mind:
- what effect will this have on GDB's foot print? The original proposal
was to put these things everwhere (structs, unions, ...). I don't think
that is necessary and would cause serious bloat. Instead, initially, I
think these tables could be simple linear lists (that is what ``struct
block'' currently implements so it can't be any worse :-) (just the
global / final table is special :-).
- Am I correct to think that the objective is to create a directed
acyclic graph of nametabs and have lookups search through each in turn.
--
In terms of operations, I would concentrate on determing exactly GDB
needs (rather than you think it needs) GDB is 15 years old so chance
has it the operations have been identified already. I know of two
operations off hand:
print foo
which gets turned into struct symbol *lookup("foo",``block'') and,
print foo<tab>
which turns into ``const char **tabexpand("foo", ``block'')''. Any others?
Andrew
next prev parent reply other threads:[~2002-09-17 7:48 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-05 13:50 David Carlton
2002-09-06 8:06 ` Daniel Jacobowitz
2002-09-06 10:20 ` David Carlton
2002-09-06 10:57 ` Daniel Jacobowitz
2002-09-06 11:56 ` David Carlton
2002-09-06 12:34 ` Daniel Berlin
2002-09-06 12:41 ` Daniel Jacobowitz
2002-09-06 12:55 ` Daniel Berlin
2002-09-11 11:33 ` David Carlton
2002-09-11 11:36 ` Daniel Jacobowitz
2002-09-11 12:27 ` David Carlton
2002-09-06 14:43 ` David Carlton
2002-09-06 14:46 ` Daniel Jacobowitz
2002-09-06 14:57 ` mdebugread.c (was Re: struct environment) David Carlton
2002-09-06 15:35 ` Daniel Jacobowitz
2002-09-10 17:25 ` struct environment David Carlton
2002-09-10 17:31 ` Daniel Jacobowitz
2002-09-11 10:29 ` David Carlton
2002-09-11 10:55 ` Daniel Jacobowitz
2002-09-11 12:33 ` Daniel Berlin
2002-09-10 17:36 ` David Carlton
2002-09-16 22:03 ` Andrew Cagney
2002-09-06 15:00 ` David Carlton
2002-09-06 16:37 ` Tom Tromey
2002-09-06 17:19 ` David Carlton
2002-09-07 10:26 ` Per Bothner
2002-09-07 10:32 ` Daniel Jacobowitz
2002-09-09 11:18 ` David Carlton
2002-09-12 12:26 ` Andrew Cagney
2002-09-13 9:44 ` David Carlton
2002-09-17 0:48 ` Andrew Cagney [this message]
2002-09-17 6:41 ` Daniel Jacobowitz
2002-09-17 8:59 ` Andrew Cagney
2002-09-17 9:07 ` Daniel Jacobowitz
2002-09-17 10:54 ` Andrew Cagney
2002-09-17 11:02 ` Daniel Jacobowitz
2002-09-17 12:37 ` Andrew Cagney
2002-09-17 12:41 ` Daniel Jacobowitz
2002-09-18 8:13 ` Andrew Cagney
2002-09-17 12:52 ` Daniel Berlin
2002-09-17 13:34 ` Daniel Jacobowitz
2002-09-17 21:51 ` Daniel Berlin
2002-09-18 7:26 ` Daniel Jacobowitz
2002-09-18 9:08 ` David Carlton
2002-09-17 12:18 ` David Carlton
2002-09-17 10:29 ` David Carlton
2002-09-17 12:50 ` Daniel Berlin
2002-09-17 13:24 ` David Carlton
2002-09-18 22:26 ` Eli Zaretskii
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=3D86DE18.6030003@ges.redhat.com \
--to=ac131313@ges.redhat.com \
--cc=carlton@math.stanford.edu \
--cc=gdb@sources.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