Lines Matching full:polls
2221 std::atomic<kmp_uint64> *polls = lck->lk.polls; in __kmp_acquire_drdpa_lock_timed_template() local
2224 if (polls[ticket & mask] != ticket) in __kmp_acquire_drdpa_lock_timed_template()
2229 // Now spin-wait, but reload the polls pointer and mask, in case the in __kmp_acquire_drdpa_lock_timed_template()
2241 while (polls[ticket & mask] < ticket) { // atomic load in __kmp_acquire_drdpa_lock_timed_template()
2245 // Make certain that "mask" is read before "polls" !!! in __kmp_acquire_drdpa_lock_timed_template()
2248 // values, and we get the new value of mask and the old polls pointer, we in __kmp_acquire_drdpa_lock_timed_template()
2251 polls = lck->lk.polls; // atomic load in __kmp_acquire_drdpa_lock_timed_template()
2276 std::atomic<kmp_uint64> *old_polls = polls; in __kmp_acquire_drdpa_lock_timed_template()
2288 polls = (std::atomic<kmp_uint64> *)__kmp_allocate(num_polls * in __kmp_acquire_drdpa_lock_timed_template()
2289 sizeof(*polls)); in __kmp_acquire_drdpa_lock_timed_template()
2290 polls[0] = ticket; in __kmp_acquire_drdpa_lock_timed_template()
2309 polls = (std::atomic<kmp_uint64> *)__kmp_allocate(num_polls * in __kmp_acquire_drdpa_lock_timed_template()
2310 sizeof(*polls)); in __kmp_acquire_drdpa_lock_timed_template()
2313 polls[i].store(old_polls[i]); in __kmp_acquire_drdpa_lock_timed_template()
2321 // Make certain that "polls" is written before "mask" !!! in __kmp_acquire_drdpa_lock_timed_template()
2323 // If another thread picks up the new value of mask and the old polls in __kmp_acquire_drdpa_lock_timed_template()
2329 "lock %p to %d polls\n", in __kmp_acquire_drdpa_lock_timed_template()
2333 lck->lk.polls = polls; // atomic store in __kmp_acquire_drdpa_lock_timed_template()
2377 // First get a ticket, then read the polls pointer and the mask. in __kmp_test_drdpa_lock()
2378 // The polls pointer must be read before the mask!!! (See above) in __kmp_test_drdpa_lock()
2380 std::atomic<kmp_uint64> *polls = lck->lk.polls; in __kmp_test_drdpa_lock() local
2382 if (polls[ticket & mask] == ticket) { in __kmp_test_drdpa_lock()
2422 // Read the ticket value from the lock data struct, then the polls pointer and in __kmp_release_drdpa_lock()
2423 // the mask. The polls pointer must be read before the mask!!! (See above) in __kmp_release_drdpa_lock()
2425 std::atomic<kmp_uint64> *polls = lck->lk.polls; // atomic load in __kmp_release_drdpa_lock() local
2430 polls[ticket & mask] = ticket; // atomic store in __kmp_release_drdpa_lock()
2459 lck->lk.polls = (std::atomic<kmp_uint64> *)__kmp_allocate( in __kmp_init_drdpa_lock()
2460 lck->lk.num_polls * sizeof(*(lck->lk.polls))); in __kmp_init_drdpa_lock()
2475 if (lck->lk.polls.load() != NULL) { in __kmp_destroy_drdpa_lock()
2476 __kmp_free(lck->lk.polls.load()); in __kmp_destroy_drdpa_lock()
2477 lck->lk.polls = NULL; in __kmp_destroy_drdpa_lock()