static final class ConcurrentHashMapV8.TreeBin<K,V> extends ConcurrentHashMapV8.Node<K,V>
Modifier and Type | Field and Description |
---|---|
(package private) ConcurrentHashMapV8.TreeNode<K,V> |
first |
(package private) int |
lockState |
(package private) static int |
READER |
(package private) ConcurrentHashMapV8.TreeNode<K,V> |
root |
(package private) Thread |
waiter |
(package private) static int |
WAITER |
(package private) static int |
WRITER |
hash, key, next, val
Constructor and Description |
---|
TreeBin(ConcurrentHashMapV8.TreeNode<K,V> b)
Creates bin with initial set of nodes headed by b.
|
Modifier and Type | Method and Description |
---|---|
(package private) static <K,V> ConcurrentHashMapV8.TreeNode<K,V> |
balanceDeletion(ConcurrentHashMapV8.TreeNode<K,V> root,
ConcurrentHashMapV8.TreeNode<K,V> x) |
(package private) static <K,V> ConcurrentHashMapV8.TreeNode<K,V> |
balanceInsertion(ConcurrentHashMapV8.TreeNode<K,V> root,
ConcurrentHashMapV8.TreeNode<K,V> x) |
(package private) static <K,V> boolean |
checkInvariants(ConcurrentHashMapV8.TreeNode<K,V> t)
Recursive invariant check
|
(package private) ConcurrentHashMapV8.Node<K,V> |
find(int h,
Object k)
Returns matching node or null if none.
|
(package private) ConcurrentHashMapV8.TreeNode<K,V> |
putTreeVal(int h,
K k,
V v)
Finds or adds a node.
|
(package private) boolean |
removeTreeNode(ConcurrentHashMapV8.TreeNode<K,V> p)
Removes the given node, that must be present before this
call.
|
(package private) static <K,V> ConcurrentHashMapV8.TreeNode<K,V> |
rotateLeft(ConcurrentHashMapV8.TreeNode<K,V> root,
ConcurrentHashMapV8.TreeNode<K,V> p) |
(package private) static <K,V> ConcurrentHashMapV8.TreeNode<K,V> |
rotateRight(ConcurrentHashMapV8.TreeNode<K,V> root,
ConcurrentHashMapV8.TreeNode<K,V> p) |
(package private) static int |
tieBreakOrder(Object a,
Object b)
Tie-breaking utility for ordering insertions when equal
hashCodes and non-comparable.
|
ConcurrentHashMapV8.TreeNode<K,V> root
volatile ConcurrentHashMapV8.TreeNode<K,V> first
volatile Thread waiter
volatile int lockState
static final int WRITER
static final int WAITER
static final int READER
TreeBin(ConcurrentHashMapV8.TreeNode<K,V> b)
static int tieBreakOrder(Object a, Object b)
final ConcurrentHashMapV8.Node<K,V> find(int h, Object k)
find
in class ConcurrentHashMapV8.Node<K,V>
final ConcurrentHashMapV8.TreeNode<K,V> putTreeVal(int h, K k, V v)
final boolean removeTreeNode(ConcurrentHashMapV8.TreeNode<K,V> p)
static <K,V> ConcurrentHashMapV8.TreeNode<K,V> rotateLeft(ConcurrentHashMapV8.TreeNode<K,V> root, ConcurrentHashMapV8.TreeNode<K,V> p)
static <K,V> ConcurrentHashMapV8.TreeNode<K,V> rotateRight(ConcurrentHashMapV8.TreeNode<K,V> root, ConcurrentHashMapV8.TreeNode<K,V> p)
static <K,V> ConcurrentHashMapV8.TreeNode<K,V> balanceInsertion(ConcurrentHashMapV8.TreeNode<K,V> root, ConcurrentHashMapV8.TreeNode<K,V> x)
static <K,V> ConcurrentHashMapV8.TreeNode<K,V> balanceDeletion(ConcurrentHashMapV8.TreeNode<K,V> root, ConcurrentHashMapV8.TreeNode<K,V> x)
static <K,V> boolean checkInvariants(ConcurrentHashMapV8.TreeNode<K,V> t)
Copyright © 2010-2020 Toolsverse. All Rights Reserved.