Lines Matching refs:_pending_yields
81 static volatile jint _pending_yields;
82 static volatile jint _pending_decrements; // decrements to _pending_yields
149 // _pending_yields at the beginning of an operation, and decrements
150 // _pending_yields when that operation is completed.
151 // In turn, the CMS thread yields when _pending_yields is positive,
158 // _pending_yields and _pending_decrements. An asynchr requesting
162 // _pending_yields and _pending_decrements by the value seen in
169 // _pending_yields that holds the sum (of both sync and async requests), and
175 // Note that, while "_pending_yields >= _pending_decrements" is an invariant,
185 Atomic::inc(&_pending_yields);
186 assert(_pending_yields >= 0, "can't be negative");
189 Atomic::dec(&_pending_yields);
190 assert(_pending_yields >= 0, "can't be negative");
202 // Order important to preserve: _pending_yields >= _pending_decrements
204 Atomic::add(-decrement, &_pending_yields);
206 assert(_pending_yields >= 0, "can't be negative");
209 static bool should_yield() { return _pending_yields > 0; }