Skip to content

Commit 007b28c

Browse files
committed
use atomic mask
1 parent f8504f6 commit 007b28c

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

crates/jiter/src/lazy_index_map.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::fmt;
44
use std::hash::{DefaultHasher, Hash, Hasher};
55
use std::mem::MaybeUninit;
66
use std::slice::Iter as SliceIter;
7-
use std::sync::atomic::{AtomicUsize, Ordering};
7+
use std::sync::atomic::{AtomicU16, AtomicUsize, Ordering};
88

99
use ahash::RandomState;
1010
use bitvec::order::Lsb0;
@@ -144,6 +144,8 @@ where
144144
}
145145

146146
mod index_map_vec {
147+
use std::sync::atomic::AtomicU16;
148+
147149
use super::*;
148150

149151
pub(super) struct LazyIndexMapArray<K, V> {
@@ -153,7 +155,7 @@ mod index_map_vec {
153155
duplicates_mask: DuplicatesMask,
154156
}
155157

156-
type DuplicatesMask = bitvec::BitArr!(for HASHMAP_THRESHOLD, in Cell<u16>);
158+
type DuplicatesMask = bitvec::BitArr!(for HASHMAP_THRESHOLD, in AtomicU16);
157159

158160
impl<K, V> LazyIndexMapArray<K, V> {
159161
pub fn new() -> Self {
@@ -321,7 +323,7 @@ enum LazyIndexMapIter<'a, K, V> {
321323
Vec {
322324
iter: SliceIter<'a, (K, V)>,
323325
// to mask duplicate entries
324-
mask: <bitvec::BitArr!(for HASHMAP_THRESHOLD, in Cell<u16>) as IntoIterator>::IntoIter,
326+
mask: <bitvec::BitArr!(for HASHMAP_THRESHOLD, in AtomicU16) as IntoIterator>::IntoIter,
325327
},
326328
Map(indexmap::map::Iter<'a, K, V>),
327329
}

0 commit comments

Comments
 (0)