Lines Matching refs:cur_node
202 bool onLockBefore(DeadlockDetectorTLS<BV> *dtls, uptr cur_node) {
204 uptr cur_idx = nodeToIndex(cur_node);
212 // Add cur_node to the set of locks held currently by dtls.
213 void onLockAfter(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
215 uptr cur_idx = nodeToIndex(cur_node);
220 // Returns true if all edges from the currently held locks to cur_node exist.
221 bool hasAllEdges(DeadlockDetectorTLS<BV> *dtls, uptr cur_node) {
224 if (cur_node && local_epoch == current_epoch_ &&
225 local_epoch == nodeToEpoch(cur_node)) {
226 uptr cur_idx = nodeToIndexUnchecked(cur_node);
236 // Adds edges from currently held locks to cur_node,
240 uptr addEdges(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk,
243 uptr cur_idx = nodeToIndex(cur_node);
277 bool onLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
279 bool is_reachable = !isHeld(dtls, cur_node) && onLockBefore(dtls, cur_node);
280 addEdges(dtls, cur_node, stk, 0);
281 onLockAfter(dtls, cur_node, stk);
290 bool onTryLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, u32 stk = 0) {
292 uptr cur_idx = nodeToIndex(cur_node);
309 // Finds a path between the lock 'cur_node' (currently not held in dtls)
312 uptr findPathToLock(DeadlockDetectorTLS<BV> *dtls, uptr cur_node, uptr *path,
315 uptr idx = nodeToIndex(cur_node);
321 CHECK_EQ(path[0], cur_node);