This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] symbol hashing, part 2/n - ALL_BLOCK_SYMBOLS
Daniel Berlin writes:
>
> On Thursday, October 11, 2001, at 07:46 PM, Elena Zannoni wrote:
>
> >
> > Daniel,
> > Thanks so much for doing this. It makes it so much easier.
> >
> > Yes, I looked ths over and it seems to work, except that I would really
> > prefer the change to printcmd.c split in two. The first bit to
> > rationalize that "if (func)..." code. This would have with it all
> > the indentation changes as well. The code as it is now doesn't really
> > make much sense. So, that looks a good change to me. But it has nothing
> > to do with the new macro. After that change is in, you can introduce
> > the macro in printcmd.c w/o having all the indent changes.
> > It also makes it easier to distinguish a no-op change (the macro) from
> > the other one.
> >
> > The cahnge is printcmd.c needs to delete also the
> > sym = BLOCK_SYM (b, i);
> > line.
> >
> > [Note that I don't maintain printcmd.c, so, I should just shut up :-)]
> >
> > I applied your patch as is to my sources, and did a grep for BLOCK_SYM,
> > and found a few more for loops that could be converted:
> >
> >
> > This one in buildsym.c:
> > line ~280:
> >
> > struct symbol *sym;
> > for (i = 0; i < BLOCK_NSYMS (block); i++)
> > {
> > sym = BLOCK_SYM (block, i);
> >
> > And this one in symtab.c:
> > line ~1500:
> >
> > top = BLOCK_NSYMS (block);
> > for (bot = 0; bot < top; bot++)
> > {
> > sym = BLOCK_SYM (block, bot);
> >
>
> Both of these loops get changed by the next patch i'm sure he'll submit,
> to introduce hashed blocks, which is probably why he didn't change them.
Ok, thanks!
Elena