Class NonBlockingIdentityHashMap.CHM<TypeK,TypeV>
java.lang.Object
org.jctools.maps.NonBlockingIdentityHashMap.CHM<TypeK,TypeV>
- Enclosing class:
NonBlockingIdentityHashMap<TypeK,TypeV>
- Since:
- 1.5
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) longprivate static final AtomicLongFieldUpdater<NonBlockingIdentityHashMap.CHM> (package private) longprivate static final AtomicLongFieldUpdater<NonBlockingIdentityHashMap.CHM> (package private) Object[]private static final AtomicReferenceFieldUpdater<NonBlockingIdentityHashMap.CHM, Object[]> (package private) longprivate static final AtomicLongFieldUpdater<NonBlockingIdentityHashMap.CHM> private final ConcurrentAutoTableprivate final ConcurrentAutoTable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) booleanCAS_newkvs(Object[] newkvs) private final voidcopy_check_and_promote(NonBlockingIdentityHashMap topmap, Object[] oldkvs, int workdone) private booleancopy_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 voidhelp_copy_impl(NonBlockingIdentityHashMap topmap, Object[] oldkvs, boolean copy_all) private final Object[]resize(NonBlockingIdentityHashMap topmap, Object[] kvs) intsize()intslots()private final booleantableFull(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)
-