reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
82 lt->dd.clear(); 100 dd.ensureCurrentEpoch(<->dd); 106 if (lt->dd.empty()) return; // This will be the first lock held by lt. 107 if (dd.hasAllEdges(<->dd, m->id)) return; // We already have all edges. 110 if (dd.isHeld(<->dd, m->id)) 112 if (dd.onLockBefore(<->dd, m->id)) { 114 dd.addEdges(<->dd, m->id, cb->Unwind(), cb->UniqueTid()); 122 uptr len = dd.findPathToLock(<->dd, m->id, path, ARRAY_SIZE(path)); 158 if (dd.onFirstLock(<->dd, m->id, stk)) 160 if (dd.onLockFast(<->dd, m->id, stk)) 166 CHECK(!dd.isHeld(<->dd, m->id)); 168 dd.addEdges(<->dd, m->id, stk ? stk : cb->Unwind(), cb->UniqueTid()); 169 dd.onLockAfter(<->dd, m->id, stk); 174 dd.onUnlock(&cb->lt->dd, m->id);