Package org.jctools.maps
Class NonBlockingIdentityHashMap.CHM<TypeK,TypeV>
java.lang.Object
org.jctools.maps.NonBlockingIdentityHashMap.CHM<TypeK,TypeV>
- Enclosing class:
NonBlockingIdentityHashMap<TypeK,
TypeV>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long
private static final AtomicLongFieldUpdater
<NonBlockingIdentityHashMap.CHM> (package private) long
private static final AtomicLongFieldUpdater
<NonBlockingIdentityHashMap.CHM> (package private) Object[]
private static final AtomicReferenceFieldUpdater
<NonBlockingIdentityHashMap.CHM, Object[]> (package private) long
private static final AtomicLongFieldUpdater
<NonBlockingIdentityHashMap.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
(NonBlockingIdentityHashMap topmap, Object[] oldkvs, int workdone) private boolean
copy_slot
(NonBlockingIdentityHashMap topmap, int idx, Object[] oldkvs, Object[] newkvs) private final Object[]
copy_slot_and_check
(NonBlockingIdentityHashMap topmap, Object[] oldkvs, int idx, Object should_help) private final void
help_copy_impl
(NonBlockingIdentityHashMap topmap, Object[] oldkvs, boolean copy_all) private final Object[]
resize
(NonBlockingIdentityHashMap topmap, Object[] kvs) int
size()
int
slots()
private final boolean
tableFull
(int reprobe_cnt, int len)
-
Field Details
-
_size
-
_slots
-
_newkvs
-
_newkvsUpdater
private static final AtomicReferenceFieldUpdater<NonBlockingIdentityHashMap.CHM,Object[]> _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
private final void help_copy_impl(NonBlockingIdentityHashMap topmap, Object[] oldkvs, boolean copy_all) -
copy_slot_and_check
private final Object[] copy_slot_and_check(NonBlockingIdentityHashMap topmap, Object[] oldkvs, int idx, Object should_help) -
copy_check_and_promote
private final void copy_check_and_promote(NonBlockingIdentityHashMap topmap, Object[] oldkvs, int workdone) -
copy_slot
private boolean copy_slot(NonBlockingIdentityHashMap topmap, int idx, Object[] oldkvs, Object[] newkvs)
-