1131 |
|
*/ |
1132 |
|
private static final int SEED_INCREMENT = 0x61c88647; |
1133 |
|
|
1134 |
< |
/** |
1134 |
> |
/* |
1135 |
|
* Bits and masks for control variables |
1136 |
|
* |
1137 |
|
* Field ctl is a long packed with: |
2127 |
|
w.runSubtask(t); |
2128 |
|
} |
2129 |
|
} |
2130 |
< |
else if (active) { // decrement active count without queuing |
2130 |
> |
else if (active) { // decrement active count without queuing |
2131 |
|
long nc = (c = ctl) - AC_UNIT; |
2132 |
|
if ((int)(nc >> AC_SHIFT) + (config & SMASK) == 0) |
2133 |
< |
return; // bypass decrement-then-increment |
2133 |
> |
return; // bypass decrement-then-increment |
2134 |
|
if (U.compareAndSwapLong(this, CTL, c, nc)) |
2135 |
|
active = false; |
2136 |
|
} |