This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [rfa] symbol hashing, part 2/n - ALL_BLOCK_SYMBOLS



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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]