question: private long tryDecReaderOverflow ( long s ) { if ( ( s & ABITS ) == RFULL ) { if ( U . compareAndSwapLong ( this , STATE , s , s | RBITS ) ) { int r ; long next ; if ( ( r = readerOverflow ) > 0 ) { readerOverflow = r - 1 ; next = s ; } else next = s - RUNIT ; U . putLongVolatile ( this , STATE , next ) ; return next ; } } else if ( ( nextSecondarySeed ( ) & OVERFLOW_YIELD_RATE ) == 0 ) Thread . yield ( ) ; return 0L ; }
target:  Tries to decrement readerOverflow.