This PR doesn't touch any core concurrent map functionality, it just simplifies/speeds up a couple of things:
Adds a fix to the issue reported by @gauravAshok in #224
Replaces all std::memory_order_consume with std::memory_order_acquire as the first was deprecated in c++17.
Simplifies GC mechanics. Currently it's unnecessarily complicated as GC storage contains old HashTables that reference Migrations and Migrations are pointing back to the same HashTables. HashTable destructor had to traverse migrations chain and search for non-null pointers. New version is much simpler and Migrations are being deleted rather than tables. It allows to make certain things constant as a bonus.
Hi,
This PR doesn't touch any core concurrent map functionality, it just simplifies/speeds up a couple of things:
std::memory_order_consume
withstd::memory_order_acquire
as the first was deprecated in c++17.