• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/compiler-rt/lib/sanitizer_common/

Lines Matching refs:lt

90   void DestroyLogicalThread(DDLogicalThread *lt);
101 void CycleCheck(DDPhysicalThread *pt, DDLogicalThread *lt, DDMutex *mtx);
102 void Report(DDPhysicalThread *pt, DDLogicalThread *lt, int npath);
136 DDLogicalThread *lt = (DDLogicalThread*)InternalAlloc(
138 lt->ctx = ctx;
139 lt->nlocked = 0;
140 return lt;
143 void DD::DestroyLogicalThread(DDLogicalThread *lt) {
144 lt->~DDLogicalThread();
145 InternalFree(lt);
149 VPrintf(2, "#%llu: DD::MutexInit(%p)\n", cb->lt->ctx, m);
185 VPrintf(3, "#%llu: DD::allocateId assign id %d\n", cb->lt->ctx, id);
191 cb->lt->ctx, m, wlock, cb->lt->nlocked);
193 DDLogicalThread *lt = cb->lt;
196 if (owner == (uptr)cb->lt) {
198 cb->lt->ctx);
202 CHECK_LE(lt->nlocked, kMaxNesting);
204 // FIXME(dvyukov): don't allocate id if lt->nlocked == 0?
208 ThreadMutex *tm = &lt->locked[lt->nlocked++];
212 if (lt->nlocked == 1) {
214 cb->lt->ctx);
220 for (int i = 0; i < lt->nlocked - 1; i++) {
221 u32 id1 = lt->locked[i].id;
222 u32 stk1 = lt->locked[i].stk;
235 link->tid = lt->ctx;
240 cb->lt->ctx, getMutexId(mtx1), m->id);
250 link->tid = lt->ctx;
255 cb->lt->ctx, getMutexId(mtx1), m->id);
261 cb->lt->ctx);
265 CycleCheck(pt, lt, m);
271 cb->lt->ctx, m, wlock, trylock, cb->lt->nlocked);
272 DDLogicalThread *lt = cb->lt;
275 if (owner == (uptr)cb->lt) {
276 VPrintf(3, "#%llu: DD::MutexAfterLock recursive\n", cb->lt->ctx);
283 VPrintf(3, "#%llu: DD::MutexAfterLock set owner\n", cb->lt->ctx);
286 atomic_store(&m->owner, (uptr)cb->lt, memory_order_relaxed);
292 CHECK_LE(lt->nlocked, kMaxNesting);
295 ThreadMutex *tm = &lt->locked[lt->nlocked++];
303 cb->lt->ctx, m, wlock, cb->lt->nlocked);
304 DDLogicalThread *lt = cb->lt;
307 if (owner == (uptr)cb->lt) {
308 VPrintf(3, "#%llu: DD::MutexBeforeUnlock recursive\n", cb->lt->ctx);
311 VPrintf(3, "#%llu: DD::MutexBeforeUnlock reset owner\n", cb->lt->ctx);
315 int last = lt->nlocked - 1;
317 if (cb->lt->locked[i].id == m->id) {
318 lt->locked[i] = lt->locked[last];
319 lt->nlocked--;
327 cb->lt->ctx, m);
328 DDLogicalThread *lt = cb->lt;
333 // Remove the mutex from lt->locked if there.
334 int last = lt->nlocked - 1;
336 if (lt->locked[i].id == m->id) {
337 lt->locked[i] = lt->locked[last];
338 lt->nlocked--;
358 void DD::CycleCheck(DDPhysicalThread *pt, DDLogicalThread *lt,
387 return Report(pt, lt, npath); // Bingo!
400 void DD::Report(DDPhysicalThread *pt, DDLogicalThread *lt, int npath) {