Lines Matching refs:Age
146 class Age {
148 Age(size_t data = 0) { _data = data; }
149 Age(const Age& age) { _data = age._data; }
150 Age(idx_t top, idx_t tag) { _fields._top = top; _fields._tag = tag; }
152 Age get() const volatile { return _data; }
153 void set(Age age) volatile { _data = age._data; }
164 Age cmpxchg(const Age new_age, const Age old_age) volatile {
170 bool operator ==(const Age& other) const { return _data == other._data; }
183 volatile Age _age;
258 typedef typename TaskQueueSuper<N, F>::Age Age;
278 bool pop_local_slow(uint localBot, Age oldAge);
313 assert(sizeof(Age) == sizeof(size_t), "Depends on this.");
359 bool GenericTaskQueue<E, F, N>::pop_local_slow(uint localBot, Age oldAge) {
362 // the queue will be logically empty afterwards. Create a new Age value
369 Age newAge((idx_t)localBot, oldAge.tag() + 1);
375 Age tempAge = _age.cmpxchg(newAge, oldAge);
393 Age oldAge = _age.get();
401 Age newAge(oldAge);
403 Age resAge = _age.cmpxchg(newAge, oldAge);