351 |
|
* Encodings for special uses of Node hash fields. See above for |
352 |
|
* explanation. |
353 |
|
*/ |
354 |
< |
static final int MOVED = 0x80000000; // hash field for fowarding nodes |
354 |
> |
static final int MOVED = 0x80000000; // hash field for forwarding nodes |
355 |
|
static final int LOCKED = 0x40000000; // set/tested only as a bit |
356 |
|
static final int WAITING = 0xc0000000; // both bits set/tested together |
357 |
|
static final int HASH_BITS = 0x3fffffff; // usable bits of normal node hash |
1150 |
|
continue; |
1151 |
|
} |
1152 |
|
else { // transiently use a locked forwarding node |
1153 |
< |
Node g = new Node(MOVED|LOCKED, nextTab, null, null); |
1153 |
> |
Node g = new Node(MOVED|LOCKED, nextTab, null, null); |
1154 |
|
if (!casTabAt(tab, i, f, g)) |
1155 |
|
continue; |
1156 |
|
setTabAt(nextTab, i, null); |
1460 |
|
if (initialCapacity < concurrencyLevel) // Use at least as many bins |
1461 |
|
initialCapacity = concurrencyLevel; // as estimated threads |
1462 |
|
long size = (long)(1.0 + (long)initialCapacity / loadFactor); |
1463 |
< |
int cap = ((size >= (long)MAXIMUM_CAPACITY) ? |
1464 |
< |
MAXIMUM_CAPACITY: tableSizeFor((int)size)); |
1463 |
> |
int cap = ((size >= (long)MAXIMUM_CAPACITY) ? |
1464 |
> |
MAXIMUM_CAPACITY: tableSizeFor((int)size)); |
1465 |
|
this.counter = new LongAdder(); |
1466 |
|
this.sizeCtl = cap; |
1467 |
|
} |
2187 |
|
return true; |
2188 |
|
} |
2189 |
|
|
2190 |
< |
public final boolean removeAll(Collection c) { |
2190 |
> |
public final boolean removeAll(Collection<?> c) { |
2191 |
|
boolean modified = false; |
2192 |
|
for (Iterator<?> it = iter(); it.hasNext();) { |
2193 |
|
if (c.contains(it.next())) { |
2237 |
|
} |
2238 |
|
|
2239 |
|
static final class Values<K,V> extends MapView<K,V> |
2240 |
< |
implements Collection<V> { |
2240 |
> |
implements Collection<V> { |
2241 |
|
Values(ConcurrentHashMapV8<K, V> map) { super(map); } |
2242 |
|
public final boolean contains(Object o) { return map.containsValue(o); } |
2243 |
|
|
2267 |
|
} |
2268 |
|
} |
2269 |
|
|
2270 |
< |
static final class EntrySet<K,V> extends MapView<K,V> |
2270 |
> |
static final class EntrySet<K,V> extends MapView<K,V> |
2271 |
|
implements Set<Map.Entry<K,V>> { |
2272 |
|
EntrySet(ConcurrentHashMapV8<K, V> map) { super(map); } |
2273 |
|
|