Author: jdevlieghere Date: Mon Feb 26 03:30:13 2018 New Revision: 326081 URL: http://llvm.org/viewvc/llvm-project?rev=326081&view=rev Log: [Support] Replace HashString with djbHash.
This removes the HashString function from StringExtraces and replaces its uses with calls to djbHash from DJB.h This is *almost* NFC. While the algorithm is identical, the djbHash implementation in StringExtras used 0 as its seed while the implementation in DJB uses 5381. The latter has been shown to result in less collisions and improved avalanching. https://reviews.llvm.org/D43615 (cherry picked from commit 77f7f965bc9499a9ae768a296ca5a1f7347d1d2c) Modified: lldb/trunk/source/Utility/ConstString.cpp Modified: lldb/trunk/source/Utility/ConstString.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Utility/ConstString.cpp?rev=326081&r1=326080&r2=326081&view=diff ============================================================================== --- lldb/trunk/source/Utility/ConstString.cpp (original) +++ lldb/trunk/source/Utility/ConstString.cpp Mon Feb 26 03:30:13 2018 @@ -11,10 +11,10 @@ #include "lldb/Utility/Stream.h" -#include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/iterator.h" // for iterator_facade_base #include "llvm/Support/Allocator.h" // for BumpPtrAllocator +#include "llvm/Support/DJB.h" // for djbHash #include "llvm/Support/FormatProviders.h" // for format_provider #include "llvm/Support/RWMutex.h" #include "llvm/Support/Threading.h" @@ -171,7 +171,7 @@ public: protected: uint8_t hash(const llvm::StringRef &s) const { - uint32_t h = llvm::HashString(s); + uint32_t h = llvm::djbHash(s); return ((h >> 24) ^ (h >> 16) ^ (h >> 8) ^ h) & 0xff; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits