25 #ifndef TERVEL_UTIL_MEMORY_HP_LIST_MANAGER_H_
26 #define TERVEL_UTIL_MEMORY_HP_LIST_MANAGER_H_
83 assert(
free_lists_[tid].element_list_.load() ==
nullptr &&
"The HP shared free_lists should be empty when this function is called");
98 #endif // TERVEL_UTIL_MEMORY_HP_LIST_MANAGER_H_
std::atomic< Element * > element_list_
Definition: list_manager.h:72
ElementList * allocate_list()
Definition: list_manager.h:66
ListManager(size_t number_pools)
Definition: list_manager.h:60
Definition: list_manager.h:71
TODO(steven):
Definition: mcas.h:36
std::unique_ptr< ManagedPool[]> free_lists_
Definition: list_manager.h:85
This class is used for the creation of Hazard Pointer Protected Objects Objects which extend it have ...
Definition: hp_element.h:53
Encapsulates a shared central 'to free list' between several thread-local lists.
Definition: list_manager.h:58
Defines a list of objects which are stored until they are safe to be freed.
Definition: hp_list.h:56
void recieve_element_list(uint64_t tid, Element *element_list)
This function is called when a thread is detached.
Definition: list_manager.h:82
size_t number_pools_
Definition: list_manager.h:88
friend class ElementList
Definition: list_manager.h:90
DISALLOW_COPY_AND_ASSIGN(ListManager)