Re: [RFA] convert blocks to dictionaries, phase 1, main part

David Carlton
2002-09-17T19:46:41Z

On Tue, 17 Sep 2002 15:16:52 -0400, Andrew Cagney <ac131313@ges.redhat.com> said:

>> Even accessor macros for members of structures? Gee, I like those:
>> it's a lot easier to find all places where, say, struct block's
>> 'hashtable' member is being used by grepping for 'BLOCK_HASHTABLE'
>> than by grepping for 'hashtable' and then sorting out which ones of
>> those really are referring to the 'hashtable' member as opposed to
>> some other use of the phrase.

> Yep. If you think accessor macro's are a good idea, try debugging /
> using sim/common some time :-(

All right, all right...

>> ALL_DICT_SYMBOLS; but I'm happy to get rid of that since the interface
>> to iterating over symbols in dictionaries is a lot easier than the
>> interface to iterating over symbols in blocks.

> The ALL_xxx_yyy() iterator can probably stay. Its an ``accepted''
> convention.

Okay.

>> So if you want me to get rid of all macros (other than, presumably,
>> symbolic constants, though I could use the enum trick there), I can
>> certainly do that.

> Yes, please. Symbolic constants as enum's is recommended.

Great, will do.

>> dict_type really is necessary currently: I need to provide hash tables
>> and linear environments to support the existing functionality of
>> blocks. It's just like the 'hashtable' member of struct block.

> Then just mention those that do apply.
> (I thought DanielJ indicated that you just doing an initial linear
> implementation?)

No, I'm doing initial implementations that are almost exactly the same
as currently used in struct block, namely hashtable + linear. (And
the linear has an 'expandable' variant for use by jv-lang.c and
mdebugread.c: this doesn't affect symbol searching, but it does affect
how you are allowed to add symbols.)

I don't want to get rid of hashtables, certainly: that would slow
things down enormously.

>>> - you'll want to start compiling all targets

>> Sure. How do I go about doing this? I don't have access to a wide
>> range of machines; are there machines at Red Hat that I can use?

> target's not hosts :-) There is some sed in MAINTAINERS for
> generating the target list. Richard E, I believe, posted a script
> for doing all the config's and builds.

Oh, right. Thanks, that script looks useful.

I'm curious exactly how long it will take my machine to do all those
builds - it's a 4-year-old 333 MHz PII, and I don't think it would be
proper for me to ask the math department to buy a new machine just for
working on GDB - but they might all finish overnight. If not, they'll
certainly finish over the weekend.

David Carlton
carlton@math.stanford.edu