|
|
|
@ -11996,14 +11996,9 @@ uint32_t _upb_Hash(const void* p, size_t n, uint64_t seed) { |
|
|
|
|
return Wyhash(p, n, seed, kWyhashSalt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static const void* const _upb_seed; |
|
|
|
|
|
|
|
|
|
// Returns a random seed for upb's hash function. This does not provide
|
|
|
|
|
// high-quality randomness, but it should be enough to prevent unit tests from
|
|
|
|
|
// relying on a deterministic map ordering. By returning the address of a
|
|
|
|
|
// variable, we are able to get some randomness for free provided that ASLR is
|
|
|
|
|
// enabled.
|
|
|
|
|
static uint64_t _upb_Seed(void) { return (uint64_t)&_upb_seed; } |
|
|
|
|
// Returns a seed for upb's hash function. For now this is just a hard-coded
|
|
|
|
|
// constant, but we are going to randomize it soon.
|
|
|
|
|
static uint64_t _upb_Seed(void) { return 0x69835f69597ec1cc; } |
|
|
|
|
|
|
|
|
|
static uint32_t _upb_Hash_NoSeed(const char* p, size_t n) { |
|
|
|
|
return _upb_Hash(p, n, _upb_Seed()); |
|
|
|
|