Lines Matching refs:mask
1991 // Create a bit mask with one more set bit.
2235 kmp_uint64 mask = lck->lk.mask; // atomic load
2239 if (polls[ticket & mask] != ticket)
2244 // Now spin-wait, but reload the polls pointer and mask, in case the
2249 // The current implementation of KMP_WAIT doesn't allow for mask
2254 while (polls[ticket & mask] < ticket) { // atomic load
2256 // Re-read the mask and the poll pointer from the lock structure.
2258 // Make certain that "mask" is read before "polls" !!!
2261 // values, and we get the new value of mask and the old polls pointer, we
2263 mask = lck->lk.mask; // atomic load
2299 mask = 0;
2314 mask = (mask << 1) | 1;
2334 // Make certain that "polls" is written before "mask" !!!
2336 // If another thread picks up the new value of mask and the old polls
2351 lck->lk.mask = mask; // atomic store
2355 // Only after the new polling area and mask have been flushed
2391 // First get a ticket, then read the polls pointer and the mask.
2392 // The polls pointer must be read before the mask!!! (See above)
2395 kmp_uint64 mask = lck->lk.mask; // atomic load
2396 if (polls[ticket & mask] == ticket) {
2437 // the mask. The polls pointer must be read before the mask!!! (See above)
2440 kmp_uint64 mask = lck->lk.mask; // atomic load
2445 polls[ticket & mask] = ticket; // atomic store
2472 lck->lk.mask = 0;
2498 lck->lk.mask = 0;