Lines Matching refs:q
88 struct rwlock_thread_info* q; in DRD_() local
91 for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; ) in DRD_()
93 return q->reader_nesting_count > 0; in DRD_()
100 struct rwlock_thread_info* q; in DRD_() local
103 for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; ) in DRD_()
105 return q->writer_nesting_count > 0; in DRD_()
119 struct rwlock_thread_info* q; in DRD_() local
121 q = VG_(OSetGen_Lookup)(p->thread_info, &uword_tid); in DRD_()
122 return q && q->reader_nesting_count > 0; in DRD_()
129 struct rwlock_thread_info* q; in DRD_() local
131 q = VG_(OSetGen_Lookup)(p->thread_info, &uword_tid); in DRD_()
132 return q && q->writer_nesting_count > 0; in DRD_()
147 struct rwlock_thread_info* q; in DRD_() local
149 q = VG_(OSetGen_Lookup)(oset, &tid); in DRD_()
150 if (q == 0) in DRD_()
152 q = VG_(OSetGen_AllocNode)(oset, sizeof(*q)); in DRD_()
153 q->tid = tid; in DRD_()
154 q->reader_nesting_count = 0; in DRD_()
155 q->writer_nesting_count = 0; in DRD_()
156 q->latest_wrlocked_segment = 0; in DRD_()
157 q->latest_rdlocked_segment = 0; in DRD_()
158 VG_(OSetGen_Insert)(oset, q); in DRD_()
160 tl_assert(q); in DRD_()
161 return q; in DRD_()
172 struct rwlock_thread_info* q; in DRD_() local
177 for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; ) in DRD_()
179 if (q->tid != tid) in DRD_()
181 if (q->latest_wrlocked_segment) in DRD_()
184 &q->latest_wrlocked_segment->vc); in DRD_()
186 if (readers_too && q->latest_rdlocked_segment) in DRD_()
189 &q->latest_rdlocked_segment->vc); in DRD_()
249 struct rwlock_thread_info* q; in rwlock_cleanup() local
272 for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; ) in rwlock_cleanup()
274 DRD_(sg_put)(q->latest_wrlocked_segment); in rwlock_cleanup()
275 DRD_(sg_put)(q->latest_rdlocked_segment); in rwlock_cleanup()
421 struct rwlock_thread_info* q; in DRD_() local
438 q = DRD_(lookup_or_insert_node)(p->thread_info, drd_tid); in DRD_()
439 if (++q->reader_nesting_count == 1) in DRD_()
496 struct rwlock_thread_info* q; in DRD_() local
511 q = DRD_(lookup_or_insert_node)(p->thread_info, in DRD_()
513 tl_assert(q->writer_nesting_count == 0); in DRD_()
514 q->writer_nesting_count++; in DRD_()
515 tl_assert(q->writer_nesting_count == 1); in DRD_()
538 struct rwlock_thread_info* q; in DRD_() local
575 q = DRD_(lookup_or_insert_node)(p->thread_info, drd_tid); in DRD_()
576 tl_assert(q); in DRD_()
577 if (q->reader_nesting_count > 0) in DRD_()
579 q->reader_nesting_count--; in DRD_()
580 if (q->reader_nesting_count == 0 && DRD_(s_shared_threshold_ms) > 0) in DRD_()
595 if (q->reader_nesting_count == 0 && q->writer_nesting_count == 0) in DRD_()
602 DRD_(thread_get_latest_segment)(&q->latest_rdlocked_segment, drd_tid); in DRD_()
607 else if (q->writer_nesting_count > 0) in DRD_()
609 q->writer_nesting_count--; in DRD_()
610 if (q->writer_nesting_count == 0 && DRD_(s_exclusive_threshold_ms) > 0) in DRD_()
626 if (q->reader_nesting_count == 0 && q->writer_nesting_count == 0) in DRD_()
633 DRD_(thread_get_latest_segment)(&q->latest_wrlocked_segment, drd_tid); in DRD_()
648 struct rwlock_thread_info* q; in rwlock_delete_thread() local
658 q = DRD_(lookup_or_insert_node)(p->thread_info, tid); in rwlock_delete_thread()
659 q->reader_nesting_count = 0; in rwlock_delete_thread()
660 q->writer_nesting_count = 0; in rwlock_delete_thread()