771 |
|
long d = ctl; // return true if lost to a deq, to force rescan |
772 |
|
return (int)d != (int)c && ((d - c) & AC_MASK) >= 0L; |
773 |
|
} |
774 |
+ |
if (parallelism + (int)(c >> AC_SHIFT) == 1 && |
775 |
+ |
blockedCount == 0 && quiescerCount == 0) |
776 |
+ |
idleAwaitWork(w, v); // quiescent -- maybe shrink |
777 |
+ |
|
778 |
|
boolean rescanned = false; |
779 |
|
for (int sc;;) { |
780 |
|
if (w.eventCount != v) |
808 |
|
else |
809 |
|
Thread.interrupted(); // clear before park |
810 |
|
} |
807 |
– |
else if (parallelism + (int)(ctl >> AC_SHIFT) == 0 && |
808 |
– |
blockedCount == 0 && quiescerCount == 0) |
809 |
– |
idleAwaitWork(w, v); // quiescent -- maybe shrink |
811 |
|
else { |
812 |
|
w.parked = true; // must recheck |
813 |
|
if (w.eventCount != v) { |