896 |
|
* access bits value to RBITS, indicating hold of spinlock, |
897 |
|
* then updating, then releasing. |
898 |
|
* |
899 |
< |
* @param s, assumed that (s & ABITS) >= RFULL |
899 |
> |
* @param s a reader overflow stamp: (s & ABITS) >= RFULL |
900 |
|
* @return new stamp on success, else zero |
901 |
|
*/ |
902 |
|
private long tryIncReaderOverflow(long s) { |
903 |
+ |
// assert (s & ABITS) >= RFULL |
904 |
|
if ((s & ABITS) == RFULL) { |
905 |
|
if (U.compareAndSwapLong(this, STATE, s, s | RBITS)) { |
906 |
|
++readerOverflow; |
917 |
|
/** |
918 |
|
* Tries to decrement readerOverflow. |
919 |
|
* |
920 |
< |
* @param s, assumed that (s & ABITS) >= RFULL |
920 |
> |
* @param s a reader overflow stamp: (s & ABITS) >= RFULL |
921 |
|
* @return new stamp on success, else zero |
922 |
|
*/ |
923 |
|
private long tryDecReaderOverflow(long s) { |
924 |
+ |
// assert (s & ABITS) >= RFULL |
925 |
|
if ((s & ABITS) == RFULL) { |
926 |
|
if (U.compareAndSwapLong(this, STATE, s, s | RBITS)) { |
927 |
|
int r; long next; |
1206 |
|
* internal documentation). |
1207 |
|
* |
1208 |
|
* @param node if nonnull, the waiter |
1209 |
< |
* @param group, either node or the group node is cowaiting with |
1209 |
> |
* @param group either node or the group node is cowaiting with |
1210 |
|
* @param interrupted if already interrupted |
1211 |
|
* @return INTERRUPTED if interrupted or Thread.interrupted, else zero |
1212 |
|
*/ |