Code cleanup.
	* dictionary.c (dict_hash): Use SYMBOL_HASH_NEXT.
	* dwarf2read.c (mapped_index_string_hash): Refer to SYMBOL_HASH_NEXT
	in the function comment, a new note on values compatibility.
	* minsyms.c (msymbol_hash_iw, msymbol_hash): Use SYMBOL_HASH_NEXT.
	* symtab.h (SYMBOL_HASH_NEXT): New.
This commit is contained in:
Jan Kratochvil 2011-04-06 19:50:05 +00:00
parent 8c5fc80011
commit 59d7bcaf18
5 changed files with 23 additions and 8 deletions

View File

@ -1,3 +1,12 @@
2011-04-06 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* dictionary.c (dict_hash): Use SYMBOL_HASH_NEXT.
* dwarf2read.c (mapped_index_string_hash): Refer to SYMBOL_HASH_NEXT
in the function comment, a new note on values compatibility.
* minsyms.c (msymbol_hash_iw, msymbol_hash): Use SYMBOL_HASH_NEXT.
* symtab.h (SYMBOL_HASH_NEXT): New.
2011-04-06 Thiago Jung Bauermann <bauerman@br.ibm.com> 2011-04-06 Thiago Jung Bauermann <bauerman@br.ibm.com>
* ppc-linux-nat.c (check_condition): Add len output parameter. * ppc-linux-nat.c (check_condition): Add len output parameter.

View File

@ -826,7 +826,7 @@ dict_hash (const char *string0)
} }
/* FALL THROUGH */ /* FALL THROUGH */
default: default:
hash = hash * 67 + *string - 113; hash = SYMBOL_HASH_NEXT (hash, *string);
string += 1; string += 1;
break; break;
} }

View File

@ -1962,11 +1962,11 @@ create_addrmap_from_index (struct objfile *objfile, struct mapped_index *index)
do_cleanups (cleanup); do_cleanups (cleanup);
} }
/* The hash function for strings in the mapped index. This is the /* The hash function for strings in the mapped index. This is the same as
same as the hashtab.c hash function, but we keep a separate copy to SYMBOL_HASH_NEXT, but we keep a separate copy to maintain control over the
maintain control over the implementation. This is necessary implementation. This is necessary because the hash function is tied to the
because the hash function is tied to the format of the mapped index format of the mapped index file. The hash values do not have to match with
file. */ SYMBOL_HASH_NEXT. */
static hashval_t static hashval_t
mapped_index_string_hash (const void *p) mapped_index_string_hash (const void *p)

View File

@ -91,7 +91,7 @@ msymbol_hash_iw (const char *string)
++string; ++string;
if (*string && *string != '(') if (*string && *string != '(')
{ {
hash = hash * 67 + *string - 113; hash = SYMBOL_HASH_NEXT (hash, *string);
++string; ++string;
} }
} }
@ -106,7 +106,7 @@ msymbol_hash (const char *string)
unsigned int hash = 0; unsigned int hash = 0;
for (; *string; ++string) for (; *string; ++string)
hash = hash * 67 + *string - 113; hash = SYMBOL_HASH_NEXT (hash, *string);
return hash; return hash;
} }

View File

@ -1004,6 +1004,12 @@ extern unsigned int msymbol_hash_iw (const char *);
extern unsigned int msymbol_hash (const char *); extern unsigned int msymbol_hash (const char *);
/* Compute the next hash value from previous HASH and the character C. This
is only a GDB in-memory computed value with no external files compatibility
requirements. */
#define SYMBOL_HASH_NEXT(hash, c) ((hash) * 67 + (c) - 113)
extern struct objfile * msymbol_objfile (struct minimal_symbol *sym); extern struct objfile * msymbol_objfile (struct minimal_symbol *sym);
extern void extern void