Lines Matching refs:Node
22 template <class Node, int kReservedBits, int kTabSizeLog>
25 typedef typename Node::args_type args_type;
26 typedef typename Node::handle_type handle_type;
38 static Node *find(Node *s, args_type args, u32 hash);
39 static Node *lock(atomic_uintptr_t *p);
40 static void unlock(atomic_uintptr_t *p, Node *s);
58 template <class Node, int kReservedBits, int kTabSizeLog>
59 Node *StackDepotBase<Node, kReservedBits, kTabSizeLog>::find(Node *s, in find()
71 template <class Node, int kReservedBits, int kTabSizeLog>
72 Node *StackDepotBase<Node, kReservedBits, kTabSizeLog>::lock( in lock()
79 return (Node *)cmp; in lock()
87 template <class Node, int kReservedBits, int kTabSizeLog>
88 void StackDepotBase<Node, kReservedBits, kTabSizeLog>::unlock( in unlock()
89 atomic_uintptr_t *p, Node *s) { in unlock()
94 template <class Node, int kReservedBits, int kTabSizeLog>
95 typename StackDepotBase<Node, kReservedBits, kTabSizeLog>::handle_type
96 StackDepotBase<Node, kReservedBits, kTabSizeLog>::Put(args_type args, in Put()
99 if (!Node::is_valid(args)) return handle_type(); in Put()
100 uptr h = Node::hash(args); in Put()
103 Node *s = (Node *)(v & ~1); in Put()
105 Node *node = find(s, args, h); in Put()
108 Node *s2 = lock(p); in Put()
123 uptr memsz = Node::storage_size(args); in Put()
124 s = (Node *)PersistentAlloc(memsz); in Put()
134 template <class Node, int kReservedBits, int kTabSizeLog>
135 typename StackDepotBase<Node, kReservedBits, kTabSizeLog>::args_type
136 StackDepotBase<Node, kReservedBits, kTabSizeLog>::Get(u32 id) { in Get()
148 Node *s = (Node *)(v & ~1); in Get()
158 template <class Node, int kReservedBits, int kTabSizeLog>
159 void StackDepotBase<Node, kReservedBits, kTabSizeLog>::LockAll() { in LockAll()
165 template <class Node, int kReservedBits, int kTabSizeLog>
166 void StackDepotBase<Node, kReservedBits, kTabSizeLog>::UnlockAll() { in UnlockAll()
170 unlock(p, (Node *)(s & ~1UL)); in UnlockAll()