1103 |
|
private static final RuntimePermission modifyThreadPermission; |
1104 |
|
|
1105 |
|
/** |
1106 |
< |
* Per-thread submission bookeeping. Shared across all pools |
1106 |
> |
* Per-thread submission bookkeeping. Shared across all pools |
1107 |
|
* to reduce ThreadLocal pollution and because random motion |
1108 |
|
* to avoid contention in one pool is likely to hold for others. |
1109 |
|
*/ |
1535 |
|
t = (ForkJoinTask<?>)U.getObjectVolatile(a, i); |
1536 |
|
if (q.base == b && ec >= 0 && t != null && |
1537 |
|
U.compareAndSwapObject(a, i, t, null)) { |
1538 |
< |
q.base = b + 1; // specialization of pollAt |
1538 |
> |
if (q.top - (q.base = b + 1) > 1) |
1539 |
> |
signalWork(); // help pushes signal |
1540 |
|
return t; |
1541 |
|
} |
1542 |
|
else if (ec < 0 || j <= m) { |