From: uz Date: Sat, 27 Oct 2012 19:32:42 +0000 (+0000) Subject: Minor code optimization. X-Git-Tag: V2.14~191 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a3ae2e9125e7c649dc1a8175e746a4e344c404e7;p=cc65 Minor code optimization. git-svn-id: svn://svn.cc65.org/cc65/trunk@5883 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/ca65/symtab.c b/src/ca65/symtab.c index 116e7a0c3..776f005b1 100644 --- a/src/ca65/symtab.c +++ b/src/ca65/symtab.c @@ -428,15 +428,18 @@ SymEntry* SymFindAny (SymTable* Scope, const StrBuf* Name) * never create a new symbol, since this can only be done in one specific * scope. */ -{ +{ + /* Generate the name hash */ + unsigned Hash = HashBuf (Name); + + /* Search for the symbol */ SymEntry* Sym; do { /* Search in the current table. Ignore entries flagged with SF_UNUSED, * because for such symbols there is a real entry in one of the parent * scopes. */ - unsigned Hash = HashBuf (Name) % Scope->TableSlots; - if (SymSearchTree (Scope->Table[Hash], Name, &Sym) == 0) { + if (SymSearchTree (Scope->Table[Hash % Scope->TableSlots], Name, &Sym) == 0) { if (Sym->Flags & SF_UNUSED) { Sym = 0; } else {