1384 |
|
} |
1385 |
|
if (phase != QUIET) { // else pre-adjusted |
1386 |
|
long c; // decrement counts |
1387 |
< |
do {} while (!CTL.compareAndSet |
1387 |
> |
do {} while (!CTL.weakCompareAndSetVolatile |
1388 |
|
(this, c = ctl, ((RC_MASK & (c - RC_UNIT)) | |
1389 |
|
(TC_MASK & (c - TC_UNIT)) | |
1390 |
|
(SP_MASK & c)))); |
1579 |
|
do { |
1580 |
|
w.stackPred = (int)(c = ctl); |
1581 |
|
nc = ((c - RC_UNIT) & UC_MASK) | (SP_MASK & np); |
1582 |
< |
} while (!CTL.compareAndSet(this, c, nc)); |
1582 |
> |
} while (!CTL.weakCompareAndSetVolatile(this, c, nc)); |
1583 |
|
} |
1584 |
|
else { // already queued |
1585 |
|
int pred = w.stackPred; |