Lines Matching refs:u64State

63     uint64_t volatile   u64State;
103 void *u64State;
116 g_aHist[i].u64State = (void *)(ns); \
146 pThis->u64State = 0;
168 Assert(!(ASMAtomicReadU64(&pThis->u64State) & (RTSEMXROADS_CNT_NS_MASK | RTSEMXROADS_CNT_EW_MASK)));
205 uint64_t u64State;
207 u64State = ASMAtomicReadU64(&pThis->u64State);
208 u64OldState = u64State;
209 add_hist(u64State, u64OldState, fDir, "enter");
213 if ((u64State & RTSEMXROADS_DIR_MASK) == (fDir << RTSEMXROADS_DIR_SHIFT))
216 uint64_t c = (u64State & fCountMask) >> uCountShift;
219 u64State &= ~fCountMask;
220 u64State |= c << uCountShift;
221 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
223 add_hist(u64State, u64OldState, fDir, "enter-simple");
227 else if ((u64State & (RTSEMXROADS_CNT_NS_MASK | RTSEMXROADS_CNT_EW_MASK)) == 0)
230 u64State &= ~(RTSEMXROADS_CNT_NS_MASK | RTSEMXROADS_CNT_EW_MASK | RTSEMXROADS_DIR_MASK);
231 u64State |= (UINT64_C(1) << uCountShift) | (fDir << RTSEMXROADS_DIR_SHIFT);
232 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
235 add_hist(u64State, u64OldState, fDir, "enter-switch");
242 uint64_t c = (u64State & fCountMask) >> uCountShift;
246 uint64_t cWait = (u64State & fWaitCountMask) >> uWaitCountShift;
251 u64State &= ~(fCountMask | fWaitCountMask);
252 u64State |= (c << uCountShift) | (cWait << uWaitCountShift);
254 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
256 add_hist(u64State, u64OldState, fDir, "enter-wait");
266 u64State = ASMAtomicReadU64(&pThis->u64State);
267 add_hist(u64State, u64OldState, fDir, "enter-wakeup");
268 if ((u64State & RTSEMXROADS_DIR_MASK) == (fDir << RTSEMXROADS_DIR_SHIFT))
276 u64OldState = u64State;
278 cWait = (u64State & fWaitCountMask) >> uWaitCountShift;
281 u64State &= ~fWaitCountMask;
282 u64State |= cWait << uWaitCountShift;
284 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
290 add_hist(u64State, u64OldState, fDir, fDir ? "enter-reset-EW" : "enter-reset-NS");
295 add_hist(u64State, u64OldState, fDir, "enter-dec-no-need");
299 u64State = ASMAtomicReadU64(&pThis->u64State);
304 add_hist(u64State, u64OldState, fDir, "enter-wait-failed");
311 u64State = ASMAtomicReadU64(&pThis->u64State);
312 u64OldState = u64State;
316 Assert((ASMAtomicReadU64(&pThis->u64State) & RTSEMXROADS_DIR_MASK) == (fDir << RTSEMXROADS_DIR_SHIFT));
335 uint64_t u64State;
338 u64State = ASMAtomicReadU64(&pThis->u64State);
339 u64OldState = u64State;
342 Assert((u64State & RTSEMXROADS_DIR_MASK) == (fDir << RTSEMXROADS_DIR_SHIFT));
344 c = (u64State & fCountMask) >> uCountShift;
349 || (u64State & ((RTSEMXROADS_CNT_NS_MASK | RTSEMXROADS_CNT_EW_MASK) & ~fCountMask)) == 0)
352 u64State &= ~fCountMask;
353 u64State |= c << uCountShift;
354 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
356 add_hist(u64State, u64OldState, fDir, "leave-simple");
363 u64State &= ~(fCountMask | RTSEMXROADS_DIR_MASK);
364 u64State |= (uint64_t)!fDir << RTSEMXROADS_DIR_SHIFT;
365 if (ASMAtomicCmpXchgU64(&pThis->u64State, u64State, u64OldState))
367 add_hist(u64State, u64OldState, fDir, fDir ? "leave-signal-NS" : "leave-signal-EW");