Package org.jctools.maps
Class NonBlockingHashMapLong.CHM
- java.lang.Object
-
- org.jctools.maps.NonBlockingHashMapLong.CHM
-
- All Implemented Interfaces:
java.io.Serializable
- Enclosing class:
- NonBlockingHashMapLong<TypeV>
private static final class NonBlockingHashMapLong.CHM extends java.lang.Object implements java.io.Serializable
-
-
Field Summary
Fields Modifier and Type Field Description (package private) long_copyDoneprivate static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM>_copyDoneUpdater(package private) long_copyIdxprivate static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM>_copyIdxUpdater(package private) long[]_keys(package private) NonBlockingHashMapLong_nbhml(package private) NonBlockingHashMapLong.CHM_newchmprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<NonBlockingHashMapLong.CHM,NonBlockingHashMapLong.CHM>_newchmUpdater(package private) long_resizersprivate static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM>_resizerUpdaterprivate ConcurrentAutoTable_sizeprivate ConcurrentAutoTable_slots(package private) java.lang.Object[]_vals
-
Constructor Summary
Constructors Constructor Description CHM(NonBlockingHashMapLong nbhml, ConcurrentAutoTable size, int logsize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanCAS_key(int idx, long old, long key)(package private) booleanCAS_newchm(NonBlockingHashMapLong.CHM newchm)private booleanCAS_val(int idx, java.lang.Object old, java.lang.Object val)(package private) voidclear()private voidcopy_check_and_promote(int workdone)private booleancopy_slot(int idx)private NonBlockingHashMapLong.CHMcopy_slot_and_check(int idx, java.lang.Object should_help)private java.lang.Objectget_impl(long key)private voidhelp_copy_impl(boolean copy_all)private voidprint()private voidprint2()private java.lang.ObjectputIfMatch(long key, java.lang.Object putval, java.lang.Object expVal)private NonBlockingHashMapLong.CHMresize()intsize()intslots()private booleantableFull(int reprobe_cnt, int len)
-
-
-
Field Detail
-
_nbhml
final NonBlockingHashMapLong _nbhml
-
_size
private ConcurrentAutoTable _size
-
_slots
private ConcurrentAutoTable _slots
-
_newchm
volatile NonBlockingHashMapLong.CHM _newchm
-
_newchmUpdater
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<NonBlockingHashMapLong.CHM,NonBlockingHashMapLong.CHM> _newchmUpdater
-
_resizers
volatile long _resizers
-
_resizerUpdater
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _resizerUpdater
-
_keys
final long[] _keys
-
_vals
final java.lang.Object[] _vals
-
_copyIdx
volatile long _copyIdx
-
_copyIdxUpdater
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _copyIdxUpdater
-
_copyDone
volatile long _copyDone
-
_copyDoneUpdater
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _copyDoneUpdater
-
-
Constructor Detail
-
CHM
CHM(NonBlockingHashMapLong nbhml, ConcurrentAutoTable size, int logsize)
-
-
Method Detail
-
size
public int size()
-
slots
public int slots()
-
CAS_newchm
boolean CAS_newchm(NonBlockingHashMapLong.CHM newchm)
-
CAS_key
private boolean CAS_key(int idx, long old, long key)
-
CAS_val
private boolean CAS_val(int idx, java.lang.Object old, java.lang.Object val)
-
clear
void clear()
-
print
private void print()
-
print2
private void print2()
-
get_impl
private java.lang.Object get_impl(long key)
-
putIfMatch
private java.lang.Object putIfMatch(long key, java.lang.Object putval, java.lang.Object expVal)
-
tableFull
private boolean tableFull(int reprobe_cnt, int len)
-
resize
private NonBlockingHashMapLong.CHM resize()
-
help_copy_impl
private void help_copy_impl(boolean copy_all)
-
copy_slot_and_check
private NonBlockingHashMapLong.CHM copy_slot_and_check(int idx, java.lang.Object should_help)
-
copy_check_and_promote
private void copy_check_and_promote(int workdone)
-
copy_slot
private boolean copy_slot(int idx)
-
-