remove locks from AtomTable
there are technically still two locks - the Mutex to serialize consurrent updates to the AtomTable - the RwLock as part of GLOBAL_ATOM_TABLE the former is the age lock of RESIZE ATOM TABLE in <https://arxiv.org/pdf/1608.00989.pdf>, though we use it for the whole update as we don't match the whole structure and can't reserve an atom slot as is, so we need to also lock concurrent updates without resizing the later should be uncontendet as we only write AtomTable::new iff the current value is a dangling Weak
This commit is contained in:
@@ -70,7 +70,7 @@ impl Completer for Helper {
|
||||
|
||||
let atom_table = self.atoms.upgrade().unwrap();
|
||||
|
||||
let index_set = atom_table.active_epoch().table.blocking_read().clone();
|
||||
let index_set = atom_table.active_table();
|
||||
|
||||
let mut matching = index_set
|
||||
.iter()
|
||||
|
||||
Reference in New Issue
Block a user