This is the mail archive of the gdb-patches@sourceware.org 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]
Other format: [Raw text]

Re: [RFC] Use custom hash function with bcache


On Mon, Aug 16, 2010 at 11:28 AM, Doug Evans <dje@google.com> wrote:
> On Mon, Aug 16, 2010 at 7:10 AM, sami wagiaalla <swagiaal@redhat.com> wrote:
>> This patch enables the use of custom hash and comparison functions when
>> adding elements to a bcache. The patch also introduces hash and comparison
>> functions which take into consideration only the relevant properties of the
>> psymbol.
>>
>> Tested by running the test suit on F13 with gcc 4.4.4 on x8664, no
>> regressions.
>>
>> also used 'main print statistics' to ensure that the bcache object count and
>> unique object count are as expected with a small test case.
>>
>> Sami
>>
>
> Hi. ?Comments inline with the patch.
>
>
> 2010-08-13 ?Sami Wagiaalla ?<swagiaal@redhat.com>
>
> ? ? ? ?* psymtab.c (psymbol_hash): New function.
> ? ? ? ?(psymbol_compare): New function.
> ? ? ? ?(add_psymbol_to_bcache): pass psymbol_hash and psymbol_compare
> ? ? ? ?to bcache_full.
> ? ? ? ?* bcache.c (hash_continue): New.
> ? ? ? ?(hash): Use hash_continue.
> ? ? ? ?(bcache): Now takes hash_function, compare_function arguments.
> ? ? ? ?(bcache_full): Ditto.
> ? ? ? ?* bcache.c (bcache): Update prototype.
> ? ? ? ?(bcache_full): Ditto.
> ? ? ? ?* macrotab.c (macro_bcache): Updated.
> ? ? ? ?* symfile.c (allocate_symtab): Updated.

Blech, I forgot to add that we can get rid of the static in "static
struct partial_symbol psymbol;" in add_psymbol_to_bcache.
I think that should be part of this patch.

A couple more things come to mind.
1) We store symbol names such that we can compare them with ptr1 ==
ptr2, but your patch uses strcmp.
2) I'm wondering if there's some abstraction violation with bcache not
being aware of the extra memory that is used by
gsymbol->language_specific.cplus_specific.  Dunno, just wondering.


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