aa
|
Public Member Functions | |
int | size () |
int | slots () |
Package Functions | |
CHM (final NonBlockingHashMapLong nbhml, ConcurrentAutoTable size, final int logsize) | |
boolean | CAS_newchm (CHM newchm) |
void | clear () |
Package Attributes | |
volatile long | _copyDone = 0 |
volatile long | _copyIdx = 0 |
final long[] | _keys |
final NonBlockingHashMapLong | _nbhml |
volatile CHM | _newchm |
volatile long | _resizers |
final Object[] | _vals |
Private Member Functions | |
boolean | CAS_key (int idx, long old, long key) |
boolean | CAS_val (int idx, Object old, Object val) |
void | copy_check_and_promote (int workdone) |
boolean | copy_slot (int idx) |
CHM | copy_slot_and_check (int idx, Object should_help) |
Object | get_impl (final long key) |
void | help_copy_impl (final boolean copy_all) |
void | print () |
void | print2 () |
Object | putIfMatch (final long key, final Object putval, final Object expVal) |
CHM | resize () |
boolean | tableFull (int reprobe_cnt, int len) |
Private Attributes | |
ConcurrentAutoTable | _size |
ConcurrentAutoTable | _slots |
Static Private Attributes | |
static final AtomicLongFieldUpdater< CHM > | _copyDoneUpdater |
static final AtomicLongFieldUpdater< CHM > | _copyIdxUpdater |
static final AtomicReferenceFieldUpdater< CHM, CHM > | _newchmUpdater |
static final AtomicLongFieldUpdater< CHM > | _resizerUpdater |
static volatile int | DUMMY_VOLATILE |
Definition at line 426 of file NonBlockingHashMapLong.java.
|
package |
Definition at line 490 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._nbhml, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._size, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._slots, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.size().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
private |
Definition at line 479 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.rawIndex().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
package |
Definition at line 458 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchmUpdater.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
private |
Definition at line 482 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.rawIndex().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
package |
Definition at line 498 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._size, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._slots, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.clear().
|
private |
Definition at line 936 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >._chm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >._chm_offset, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._copyDone, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._copyDoneUpdater, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >._last_resize_milli, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._nbhml, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CAS().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl().
|
private |
Definition at line 971 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_key(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_val(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_KEY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.TOMBPRIME, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.TOMBSTONE.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl().
|
private |
Definition at line 924 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._nbhml, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.help_copy().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
private |
Definition at line 535 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.hash(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_KEY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.reprobe_limit(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.TOMBSTONE.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.get(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl().
|
private |
Definition at line 861 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._copyDone, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._copyIdx, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._copyIdxUpdater, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.help_copy(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.SnapshotV.SnapshotV().
|
private |
Definition at line 506 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_KEY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.print_impl().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.print(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.print2().
|
private |
Definition at line 520 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_KEY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print2(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.print2_impl().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print2().
|
private |
Definition at line 581 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._nbhml, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._size, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._slots, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._vals, com.cliffc.aa.util.ConcurrentAutoTable.add(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_key(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_val(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.DUMMY_VOLATILE, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.hash(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.help_copy(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.MATCH_ANY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_KEY, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.NO_MATCH_OLD, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.reprobe_limit(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.tableFull(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.TOMBSTONE.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.putIfMatch(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
private |
Definition at line 741 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._keys, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >._last_resize_milli, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._nbhml, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._newchm, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >._opt_for_space, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._resizers, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._resizerUpdater, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._size, com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_newchm(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.MIN_SIZE_LOG, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.size().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
int com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.size | ( | ) |
Definition at line 432 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._size, and com.cliffc.aa.util.ConcurrentAutoTable.get().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeStruct >.size().
int com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.slots | ( | ) |
Definition at line 445 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._slots, and com.cliffc.aa.util.ConcurrentAutoTable.get().
|
private |
Definition at line 726 of file NonBlockingHashMapLong.java.
References com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM._slots, com.cliffc.aa.util.ConcurrentAutoTable.estimate_get(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.REPROBE_LIMIT, and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.reprobe_limit().
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
package |
Definition at line 853 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl().
|
staticprivate |
Definition at line 854 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote().
|
package |
Definition at line 846 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl().
|
staticprivate |
Definition at line 847 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl().
|
package |
Definition at line 486 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_key(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.clear(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.SnapshotV.key(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.SnapshotV.length(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print2(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
package |
Definition at line 428 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
package |
Definition at line 454 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_check_and_promote(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot_and_check(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.help_copy_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print2(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.SnapshotV.SnapshotV().
|
staticprivate |
Definition at line 455 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_newchm().
|
package |
Definition at line 473 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
staticprivate |
Definition at line 474 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize().
|
private |
Definition at line 431 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.clear(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.resize(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.size().
|
private |
Definition at line 444 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.clear(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.slots(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.tableFull().
|
package |
Definition at line 487 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CAS_val(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.CHM(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.clear(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.copy_slot(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.get_impl(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print(), com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.print2(), and com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().
|
staticprivate |
Definition at line 580 of file NonBlockingHashMapLong.java.
Referenced by com.cliffc.aa.util.NonBlockingHashMapLong< TypeV >.CHM.putIfMatch().