Package org.jctools.maps
Class NonBlockingHashMap.CHM<TypeK,TypeV>
java.lang.Object
org.jctools.maps.NonBlockingHashMap.CHM<TypeK,TypeV>
- Enclosing class:
NonBlockingHashMap<TypeK,
TypeV>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long
private static final AtomicLongFieldUpdater
<NonBlockingHashMap.CHM> (package private) long
private static final AtomicLongFieldUpdater
<NonBlockingHashMap.CHM> (package private) Object[]
private static final AtomicReferenceFieldUpdater
<NonBlockingHashMap.CHM, Object[]> (package private) long
private static final AtomicLongFieldUpdater
<NonBlockingHashMap.CHM> private final ConcurrentAutoTable
private final ConcurrentAutoTable
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
CAS_newkvs
(Object[] newkvs) private final void
copy_check_and_promote
(NonBlockingHashMap topmap, Object[] oldkvs, int workdone) private boolean
copy_slot
(NonBlockingHashMap topmap, int idx, Object[] oldkvs, Object[] newkvs) private final Object[]
copy_slot_and_check
(NonBlockingHashMap topmap, Object[] oldkvs, int idx, Object should_help) private final void
help_copy_impl
(NonBlockingHashMap topmap, Object[] oldkvs, boolean copy_all) private final Object[]
resize
(NonBlockingHashMap topmap, Object[] kvs) int
size()
int
slots()
private final boolean
tableFull
(int reprobe_cnt, int len)
-
Field Details
-
_size
-
_slots
-
_newkvs
-
_newkvsUpdater
-
_resizers
volatile long _resizers -
_resizerUpdater
-
_copyIdx
volatile long _copyIdx -
_copyIdxUpdater
-
_copyDone
volatile long _copyDone -
_copyDoneUpdater
-
-
Constructor Details
-
CHM
CHM(ConcurrentAutoTable size)
-
-
Method Details
-
size
public int size() -
slots
public int slots() -
CAS_newkvs
-
tableFull
private final boolean tableFull(int reprobe_cnt, int len) -
resize
-
help_copy_impl
-
copy_slot_and_check
private final Object[] copy_slot_and_check(NonBlockingHashMap topmap, Object[] oldkvs, int idx, Object should_help) -
copy_check_and_promote
-
copy_slot
-