Home | History | Annotate | Download | only in ubsan

Lines Matching refs:Hash

10 // Implementation of a hash table for fast checking of inheritance
76 // (vptr,type) pair, a hash is computed. This hash is assumed to be globally
81 // * the vptr, and thus the hash, can be affected by ASLR, so multiple runs
84 // The first caching layer is a small hash table with no chaining; buckets are
85 // reused as needed. The second caching layer is a large hash table with open
88 // FIXME: Make these hash table accesses thread-safe. The races here are benign
92 /// Find a bucket to store the given hash value in.
110 /// A cache of recently-checked hashes. Mini hash table with "random" evictions.
208 bool __ubsan::checkDynamicType(void *Object, void *Type, HashValue Hash) {
213 HashValue *Bucket = getTypeCacheHashTableBucket(Hash);
214 if (*Bucket == Hash) {
215 __ubsan_vptr_type_cache[Hash % VptrTypeCacheSize] = Hash;
234 __ubsan_vptr_type_cache[Hash % VptrTypeCacheSize] = Hash;
235 *Bucket = Hash;