Lines Matching refs:ev
58 ParkEvent * ev ;
63 ev = FreeList ;
64 if (ev == NULL) break ;
66 // Tantamount to ev = Swap (&FreeList, NULL)
67 if (Atomic::cmpxchg_ptr (NULL, &FreeList, ev) != ev) {
75 ParkEvent * List = ev->FreeNext ;
96 if (ev != NULL) {
97 guarantee (ev->AssociatedWith == NULL, "invariant") ;
114 ev = new ParkEvent () ;
115 guarantee ((intptr_t(ev) & 0xFF) == 0, "invariant") ;
117 ev->reset() ; // courtesy to caller
118 ev->AssociatedWith = t ; // Associate ev with t
119 ev->FreeNext = NULL ;
120 return ev ;
123 void ParkEvent::Release (ParkEvent * ev) {
124 if (ev == NULL) return ;
125 guarantee (ev->FreeNext == NULL , "invariant") ;
126 ev->AssociatedWith = NULL ;
128 // Push ev onto FreeList
131 ev->FreeNext = List ;
132 if (Atomic::cmpxchg_ptr (ev, &FreeList, List) == List) break ;