From c9299813d38c563af86f6c9e2148cb9cd6b0d521 Mon Sep 17 00:00:00 2001 From: Aleksandar Ristovski Date: Thu, 5 Jun 2008 19:21:55 +0000 Subject: * bcache.c (bcache_data): Call deprecated_bcache_added function. (deprecated_bcache_added): New function name. Body of function bcache_data is used here with the addition of 'added' argument. * bcache.h (deprecated_bcache_added): New function. * symfile.c (add_psymbol_to_bcache): New helper function, takes part of work from add_psymbol_to_list - initialises partial symbol and stashes it in objfile's cache. (append_psymbol_to_list): New helper function, takes other part of work from add_psymbol_to_list - adds partial symbol to the given list. (add_psymbol_to_list): Call helper functions instead of doing work here. If adding to global list, do not duplicate partial symbols in the partial symtab. --- gdb/bcache.c | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'gdb/bcache.c') diff --git a/gdb/bcache.c b/gdb/bcache.c index 945453787e2..9f7a9152519 100644 --- a/gdb/bcache.c +++ b/gdb/bcache.c @@ -196,12 +196,41 @@ expand_hash_table (struct bcache *bcache) either case, return a pointer to BCACHE's copy of that string. */ static void * bcache_data (const void *addr, int length, struct bcache *bcache) +{ + return deprecated_bcache_added (addr, length, bcache, NULL); +} + + +void * +deprecated_bcache (const void *addr, int length, struct bcache *bcache) +{ + return bcache_data (addr, length, bcache); +} + +const void * +bcache (const void *addr, int length, struct bcache *bcache) +{ + return bcache_data (addr, length, bcache); +} + +/* Find a copy of the LENGTH bytes at ADDR in BCACHE. If BCACHE has + never seen those bytes before, add a copy of them to BCACHE. In + either case, return a pointer to BCACHE's copy of that string. If + optional ADDED is not NULL, return 1 in case of new entry or 0 if + returning an old entry. */ + +void * +deprecated_bcache_added (const void *addr, int length, struct bcache *bcache, + int *added) { unsigned long full_hash; unsigned short half_hash; int hash_index; struct bstring *s; + if (added) + *added = 0; + /* If our average chain length is too high, expand the hash table. */ if (bcache->unique_count >= bcache->num_buckets * CHAIN_LENGTH_THRESHOLD) expand_hash_table (bcache); @@ -242,21 +271,12 @@ bcache_data (const void *addr, int length, struct bcache *bcache) bcache->unique_size += length; bcache->structure_size += BSTRING_SIZE (length); + if (added) + *added = 1; + return &new->d.data; } } - -void * -deprecated_bcache (const void *addr, int length, struct bcache *bcache) -{ - return bcache_data (addr, length, bcache); -} - -const void * -bcache (const void *addr, int length, struct bcache *bcache) -{ - return bcache_data (addr, length, bcache); -} /* Allocating and freeing bcaches. */ -- cgit v1.2.1