private static final class NonBlockingHashMapLong.CHM
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
(package private) long |
_copyDone |
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> |
_copyDoneUpdater |
(package private) long |
_copyIdx |
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> |
_copyIdxUpdater |
(package private) long[] |
_keys |
(package private) NonBlockingHashMapLong |
_nbhml |
(package private) NonBlockingHashMapLong.CHM |
_newchm |
private static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<NonBlockingHashMapLong.CHM,NonBlockingHashMapLong.CHM> |
_newchmUpdater |
(package private) long |
_resizers |
private static java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> |
_resizerUpdater |
private ConcurrentAutoTable |
_size |
private ConcurrentAutoTable |
_slots |
(package private) java.lang.Object[] |
_vals |
Constructor and Description |
---|
CHM(NonBlockingHashMapLong nbhml,
ConcurrentAutoTable size,
int logsize) |
Modifier and Type | Method and Description |
---|---|
private boolean |
CAS_key(int idx,
long old,
long key) |
(package private) boolean |
CAS_newchm(NonBlockingHashMapLong.CHM newchm) |
private boolean |
CAS_val(int idx,
java.lang.Object old,
java.lang.Object val) |
private void |
copy_check_and_promote(int workdone) |
private NonBlockingHashMapLong.CHM |
copy_slot_and_check(int idx,
java.lang.Object should_help) |
private boolean |
copy_slot(int idx) |
private java.lang.Object |
get_impl(long key) |
private void |
help_copy_impl(boolean copy_all) |
private void |
print() |
private void |
print2() |
private java.lang.Object |
putIfMatch(long key,
java.lang.Object putval,
java.lang.Object expVal) |
private NonBlockingHashMapLong.CHM |
resize() |
int |
size() |
int |
slots() |
private boolean |
tableFull(int reprobe_cnt,
int len) |
final NonBlockingHashMapLong _nbhml
private final ConcurrentAutoTable _size
private final ConcurrentAutoTable _slots
volatile NonBlockingHashMapLong.CHM _newchm
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<NonBlockingHashMapLong.CHM,NonBlockingHashMapLong.CHM> _newchmUpdater
volatile long _resizers
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _resizerUpdater
final long[] _keys
final java.lang.Object[] _vals
volatile long _copyIdx
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _copyIdxUpdater
volatile long _copyDone
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<NonBlockingHashMapLong.CHM> _copyDoneUpdater
CHM(NonBlockingHashMapLong nbhml, ConcurrentAutoTable size, int logsize)
public int size()
public int slots()
boolean CAS_newchm(NonBlockingHashMapLong.CHM newchm)
private boolean CAS_key(int idx, long old, long key)
private boolean CAS_val(int idx, java.lang.Object old, java.lang.Object val)
private void print()
private void print2()
private java.lang.Object get_impl(long key)
private java.lang.Object putIfMatch(long key, java.lang.Object putval, java.lang.Object expVal)
private final boolean tableFull(int reprobe_cnt, int len)
private final NonBlockingHashMapLong.CHM resize()
private final void help_copy_impl(boolean copy_all)
private NonBlockingHashMapLong.CHM copy_slot_and_check(int idx, java.lang.Object should_help)
private final void copy_check_and_promote(int workdone)
private boolean copy_slot(int idx)