2542 |
|
} |
2543 |
|
|
2544 |
|
/** |
2545 |
< |
* Returns a list on non-TreeNodes replacing those in given list |
2545 |
> |
* Returns a list on non-TreeNodes replacing those in given list. |
2546 |
|
*/ |
2547 |
|
static <K,V> Node<K,V> untreeify(Node<K,V> b) { |
2548 |
|
Node<K,V> hd = null, tl = null; |
2680 |
|
} |
2681 |
|
|
2682 |
|
/** |
2683 |
< |
* Acquires write lock for tree restructuring |
2683 |
> |
* Acquires write lock for tree restructuring. |
2684 |
|
*/ |
2685 |
|
private final void lockRoot() { |
2686 |
|
if (!U.compareAndSwapInt(this, LOCKSTATE, 0, WRITER)) |
2688 |
|
} |
2689 |
|
|
2690 |
|
/** |
2691 |
< |
* Releases write lock for tree restructuring |
2691 |
> |
* Releases write lock for tree restructuring. |
2692 |
|
*/ |
2693 |
|
private final void unlockRoot() { |
2694 |
|
lockState = 0; |
2695 |
|
} |
2696 |
|
|
2697 |
|
/** |
2698 |
< |
* Possibly blocks awaiting root lock |
2698 |
> |
* Possibly blocks awaiting root lock. |
2699 |
|
*/ |
2700 |
|
private final void contendedLock() { |
2701 |
|
boolean waiting = false; |
3210 |
|
|
3211 |
|
/** |
3212 |
|
* Base of key, value, and entry Iterators. Adds fields to |
3213 |
< |
* Traverser to support iterator.remove |
3213 |
> |
* Traverser to support iterator.remove. |
3214 |
|
*/ |
3215 |
|
static class BaseIterator<K,V> extends Traverser<K,V> { |
3216 |
|
final ConcurrentHashMap<K,V> map; |