228 |
|
* java.util.Spliterator. |
229 |
|
*/ |
230 |
|
public static interface ConcurrentHashMapSpliterator<T> { |
231 |
< |
/** |
231 |
> |
/** |
232 |
|
* If possible, returns a new spliterator covering |
233 |
|
* approximately one half of the elements, which will not be |
234 |
|
* covered by this spliterator. Returns null if cannot be |
735 |
|
Node<K,V> c, Node<K,V> v) { |
736 |
|
return U.compareAndSwapObject(tab, ((long)i << ASHIFT) + ABASE, c, v); |
737 |
|
} |
738 |
< |
|
738 |
> |
|
739 |
|
static final <K,V> void setTabAt(Node<K,V>[] tab, int i, Node<K,V> v) { |
740 |
|
U.putOrderedObject(tab, ((long)i << ASHIFT) + ABASE, v); |
741 |
|
} |
742 |
< |
|
742 |
> |
|
743 |
|
/* ---------------- Fields -------------- */ |
744 |
|
|
745 |
|
/** |
2530 |
|
return p; |
2531 |
|
else if (pl == null && pr == null) |
2532 |
|
break; |
2533 |
< |
else if ((kc != null || |
2533 |
> |
else if ((kc != null || |
2534 |
|
(kc = comparableClassFor(k)) != null) && |
2535 |
|
(dir = compareComparables(kc, k, pk)) != 0) |
2536 |
|
p = (dir < 0) ? pl : pr; |
2537 |
|
else if (pl == null) |
2538 |
|
p = pr; |
2539 |
< |
else if (pr == null || |
2539 |
> |
else if (pr == null || |
2540 |
|
(q = pr.findTreeNode(h, k, kc)) == null) |
2541 |
|
p = pl; |
2542 |
|
else |
3034 |
|
} |
3035 |
|
} |
3036 |
|
} |
3037 |
+ |
|
3038 |
|
/** |
3039 |
|
* Recursive invariant check |
3040 |
|
*/ |