Lines Matching refs:caller
88 /// empty and the caller requests one.
107 /// A function to create more T values when stack is empty and a caller
119 /// A value to return when the caller is in the same thread that created
166 /// A guard that is returned when a caller requests a value from the pool.
188 /// Get a value from the pool. The caller is guaranteed to have exclusive
197 // Our fast path checks if the caller is the thread that "owns" this
200 // a T to the caller without going through a mutex.
204 // local, it follows that is the caller's thread ID is equal to the
206 let caller = THREAD_ID.with(|id| *id);
208 if caller == owner {
211 self.get_slow(caller, owner)
215 /// allocated value off a stack to return to the caller. (Or, if the stack
220 fn get_slow(&self, caller: usize, owner: usize) -> PoolGuard<'_, T> {
228 let res = self.owner.compare_exchange(0, caller, Relaxed, Relaxed);