diff options
-rw-r--r-- | kernel/hashlib.h | 8 | ||||
-rw-r--r-- | kernel/rtlil.cc | 2 | ||||
-rw-r--r-- | kernel/rtlil.h | 2 | ||||
-rw-r--r-- | kernel/yosys.h | 1 |
4 files changed, 8 insertions, 5 deletions
diff --git a/kernel/hashlib.h b/kernel/hashlib.h index c93e00a09..0b6e94a32 100644 --- a/kernel/hashlib.h +++ b/kernel/hashlib.h @@ -21,13 +21,15 @@ const int hashtable_size_trigger = 2; const int hashtable_size_factor = 3; // The XOR version of DJB2 -// (traditionally 5381 is used as starting value for the djb2 hash) inline unsigned int mkhash(unsigned int a, unsigned int b) { return ((a << 5) + a) ^ b; } +// traditionally 5381 is used as starting value for the djb2 hash +const unsigned int mkhash_init = 5381; + // The ADD version of DJB2 -// (use this version for cache locality in b) +// (usunsigned int mkhashe this version for cache locality in b) inline unsigned int mkhash_add(unsigned int a, unsigned int b) { return ((a << 5) + a) + b; } @@ -96,7 +98,7 @@ struct hash_cstr_ops { return true; } unsigned int hash(const char *a) const { - unsigned int hash = 5381; + unsigned int hash = mkhash_init; while (*a) hash = mkhash(hash, *(a++)); return hash; diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 912df7903..cd2232c8c 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -2325,7 +2325,7 @@ void RTLIL::SigSpec::updhash() const cover("kernel.rtlil.sigspec.hash"); that->pack(); - that->hash_ = 5381; + that->hash_ = mkhash_init; for (auto &c : that->chunks_) if (c.wire == NULL) { for (auto &v : c.data) diff --git a/kernel/rtlil.h b/kernel/rtlil.h index bb9e85d93..739b701f8 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -463,7 +463,7 @@ struct RTLIL::Const inline int size() const { return bits.size(); } inline unsigned int hash() const { - unsigned int h = 5381; + unsigned int h = mkhash_init; for (auto b : bits) mkhash(h, b); return h; diff --git a/kernel/yosys.h b/kernel/yosys.h index a4836f35a..5f3c3577d 100644 --- a/kernel/yosys.h +++ b/kernel/yosys.h @@ -138,6 +138,7 @@ YOSYS_NAMESPACE_BEGIN using std::vector; using std::string; using hashlib::mkhash; +using hashlib::mkhash_init; using hashlib::mkhash_add; using hashlib::mkhash_xorshift; using hashlib::hash_ops; |