Lines Matching refs:refcnt
255 uint32_t refcnt;
258 : refcnt(v)
263 p_atomic_inc((int32_t*)&refcnt);
264 return refcnt;
269 if(p_atomic_dec_zero((int32_t*)&refcnt))
271 return refcnt;
276 p_atomic_inc((int32_t*)&refcnt);
281 if(p_atomic_dec_zero((int32_t*)&refcnt))
303 uint64_t refcnt;
320 return *(volatile uint64_t*)&refcnt == 0ULL;
326 v = refcnt;
328 while(!__sync_bool_compare_and_swap(&refcnt, v, v));
377 template<typename Base = IUnknown, typename RefCnt = refcnt_t>
380 RefCnt refcnt;
393 return refcnt.add_ref();
398 ULONG v = refcnt.release();
411 refcnt.nonatomic_add_ref();
416 if(!refcnt.nonatomic_release())
825 template<typename Base, typename RefCnt = refcnt_t>
826 struct GalliumPrivateDataComObject : public GalliumComObject<Base, RefCnt>