Lines Matching refs:ref_count
147 mutable hb_atomic_int_t ref_count; member
149 void init (int v = 1) { ref_count.set_relaxed (v); } in init()
150 int get_relaxed () const { return ref_count.get_relaxed (); } in get_relaxed()
151 int inc () const { return ref_count.inc (); } in inc()
152 int dec () const { return ref_count.dec (); } in dec()
153 void fini () { ref_count.set_relaxed (-0x0000DEAD); } in fini()
155 bool is_inert () const { return !ref_count.get_relaxed (); } in is_inert()
156 bool is_valid () const { return ref_count.get_relaxed () > 0; } in is_valid()
197 hb_reference_count_t ref_count; member
214 obj ? obj->header.ref_count.get_relaxed () : 0); in hb_object_trace()
232 obj->header.ref_count.init (); in hb_object_init()
239 return unlikely (obj->header.ref_count.is_inert ()); in hb_object_is_inert()
244 return likely (obj->header.ref_count.is_valid ()); in hb_object_is_valid()
263 obj->header.ref_count.inc (); in hb_object_reference()
273 if (obj->header.ref_count.dec () != 1) in hb_object_destroy()
282 obj->header.ref_count.fini (); /* Do this before user_data */ in hb_object_fini()