reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
69 dd.clear(); 98 if (!dd.nodeBelongsToCurrentEpoch(m->id)) 99 m->id = dd.newNode(reinterpret_cast<uptr>(m)); 100 dd.ensureCurrentEpoch(<->dd); 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)); 136 DDMutex *m0 = (DDMutex*)dd.getData(from); 137 DDMutex *m1 = (DDMutex*)dd.getData(to); 141 dd.findEdge(from, to, &stk_from, &stk_to, &unique_tid); 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); 181 if (dd.nodeBelongsToCurrentEpoch(m->id)) 182 dd.removeNode(m->id);