Lines Matching defs:cur_node
206 bool onLockBefore(DeadlockDetectorTLS<BV> *dtls, uptr cur_node) {
208 uptr cur_idx = nodeToIndex(cur_node);
216 // Add cur_node to the set of locks held currently by dtls.
217 void onLockAfter(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
219 uptr cur_idx = nodeToIndex(cur_node);
224 // Returns true if all edges from the currently held locks to cur_node exist.
225 bool hasAllEdges(DeadlockDetectorTLS<BV> *dtls, uptr cur_node) {
228 if (cur_node && local_epoch == current_epoch_ &&
229 local_epoch == nodeToEpoch(cur_node)) {
230 uptr cur_idx = nodeToIndexUnchecked(cur_node);
240 // Adds edges from currently held locks to cur_node,
244 uptr addEdges(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk,
247 uptr cur_idx = nodeToIndex(cur_node);
281 bool onLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
283 bool is_reachable = !isHeld(dtls, cur_node) && onLockBefore(dtls, cur_node);
284 addEdges(dtls, cur_node, stk, 0);
285 onLockAfter(dtls, cur_node, stk);
294 bool onTryLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
296 uptr cur_idx = nodeToIndex(cur_node);
313 // Finds a path between the lock 'cur_node' (currently not held in dtls)
316 uptr findPathToLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, uptr *path,
319 uptr idx = nodeToIndex(cur_node);
325 CHECK_EQ(path[0], cur_node);