1533 |
|
(m = ws.length - 1) < 0) { // initialize workQueues |
1534 |
|
int p = parallelism; // find power of two table size |
1535 |
|
int n = (p > 1) ? p - 1 : 1; // ensure at least 2 slots |
1536 |
< |
n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; |
1537 |
< |
n |= n >>> 8; n |= n >>> 16; n = (n + 1) << 1; |
1536 |
> |
n |= n >>> 1; |
1537 |
> |
n |= n >>> 2; |
1538 |
> |
n |= n >>> 4; |
1539 |
> |
n |= n >>> 8; |
1540 |
> |
n |= n >>> 16; |
1541 |
> |
n = (n + 1) << 1; |
1542 |
|
WorkQueue[] nws = ((ws = workQueues) == null || ws.length == 0 ? |
1543 |
|
new WorkQueue[n] : null); |
1544 |
|
if (((ps = plock) & PL_LOCK) != 0 || |
1843 |
|
} |
1844 |
|
} |
1845 |
|
for (;;) { // help stealer or descend to its stealer |
1846 |
< |
ForkJoinTask[] a; int b; |
1846 |
> |
ForkJoinTask<?>[] a; int b; |
1847 |
|
if (subtask.status < 0) // surround probes with |
1848 |
|
continue restart; // consistency checks |
1849 |
|
if ((b = v.base) - v.top < 0 && (a = v.array) != null) { |