Lines Matching refs:key_pointer
52 void Pointers::Add(uintptr_t key_pointer, void* pointer) { in Add() argument
53 pointer_data* data = FindEmpty(key_pointer); in Add()
55 err(1, "No empty entry found for 0x%" PRIxPTR "\n", key_pointer); in Add()
57 atomic_store(&data->key_pointer, key_pointer); in Add()
61 void* Pointers::Remove(uintptr_t key_pointer) { in Remove() argument
62 if (key_pointer == 0) { in Remove()
66 pointer_data* data = Find(key_pointer); in Remove()
68 err(1, "No pointer value found for 0x%" PRIxPTR "\n", key_pointer); in Remove()
72 atomic_store(&data->key_pointer, uintptr_t(0)); in Remove()
77 pointer_data* Pointers::Find(uintptr_t key_pointer) { in Find() argument
78 size_t index = GetHash(key_pointer); in Find()
80 if (atomic_load(&pointers_[index].key_pointer) == key_pointer) { in Find()
90 pointer_data* Pointers::FindEmpty(uintptr_t key_pointer) { in FindEmpty() argument
91 size_t index = GetHash(key_pointer); in FindEmpty()
94 if (atomic_compare_exchange_strong(&pointers_[index].key_pointer, &empty, in FindEmpty()
105 size_t Pointers::GetHash(uintptr_t key_pointer) { in GetHash() argument
106 return key_pointer % max_pointers_; in GetHash()
111 if (atomic_load(&pointers_[i].key_pointer) != 0) { in FreeAll()