Lines Matching refs:p

118   Params p(&mu, &cv, nullptr, 1);  in TEST_F()  local
120 p.tls2 = &tls2; in TEST_F()
146 env_->StartThread(func, static_cast<void*>(&p)); in TEST_F()
148 while (p.completed != iter + 1) { in TEST_F()
173 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
175 p.mu->Lock(); in TEST_F()
178 size_t own = ++(p.started); in TEST_F()
179 p.cv->SignalAll(); in TEST_F()
180 while (p.started != p.total) { in TEST_F()
181 p.cv->Wait(); in TEST_F()
183 p.mu->Unlock(); in TEST_F()
186 if (p.doWrite) { in TEST_F()
190 ASSERT_TRUE(p.tls1.Get() == nullptr); in TEST_F()
191 ASSERT_TRUE(p.tls2->Get() == nullptr); in TEST_F()
196 p.tls1.Reset(reinterpret_cast<size_t*>(own)); in TEST_F()
197 p.tls2->Reset(reinterpret_cast<size_t*>(own + 1)); in TEST_F()
201 ASSERT_TRUE(p.tls1.Get() == reinterpret_cast<size_t*>(own)); in TEST_F()
202 ASSERT_TRUE(p.tls2->Get() == reinterpret_cast<size_t*>(own + 1)); in TEST_F()
203 if (p.doWrite) { in TEST_F()
204 p.tls1.Reset(reinterpret_cast<size_t*>(own)); in TEST_F()
205 p.tls2->Reset(reinterpret_cast<size_t*>(own + 1)); in TEST_F()
210 p.mu->Lock(); in TEST_F()
211 ++(p.completed); in TEST_F()
212 p.cv->SignalAll(); in TEST_F()
213 p.mu->Unlock(); in TEST_F()
244 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
245 p.mu->Lock(); in TEST_F()
246 ++(*p.unref); in TEST_F()
247 p.mu->Unlock(); in TEST_F()
252 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
254 p.mu->Lock(); in TEST_F()
255 ++(p.started); in TEST_F()
256 p.cv->SignalAll(); in TEST_F()
257 while (p.started != p.total) { in TEST_F()
258 p.cv->Wait(); in TEST_F()
260 p.mu->Unlock(); in TEST_F()
267 Params p(&mu, &cv, &unref_count, th, unref); in TEST_F() local
269 for (int i = 0; i < p.total; ++i) { in TEST_F()
270 env_->StartThread(func0, static_cast<void*>(&p)); in TEST_F()
278 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
280 p.mu->Lock(); in TEST_F()
281 ++(p.started); in TEST_F()
282 p.cv->SignalAll(); in TEST_F()
283 while (p.started != p.total) { in TEST_F()
284 p.cv->Wait(); in TEST_F()
286 p.mu->Unlock(); in TEST_F()
288 ASSERT_TRUE(p.tls1.Get() == nullptr); in TEST_F()
289 ASSERT_TRUE(p.tls2->Get() == nullptr); in TEST_F()
291 p.tls1.Reset(ptr); in TEST_F()
292 p.tls2->Reset(ptr); in TEST_F()
294 p.tls1.Reset(ptr); in TEST_F()
295 p.tls2->Reset(ptr); in TEST_F()
303 Params p(&mu, &cv, &unref_count, th, unref); in TEST_F() local
304 p.tls2 = &tls2; in TEST_F()
306 for (int i = 0; i < p.total; ++i) { in TEST_F()
307 env_->StartThread(func1, static_cast<void*>(&p)); in TEST_F()
313 ASSERT_EQ(unref_count, 2 * p.total); in TEST_F()
318 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
320 p.mu->Lock(); in TEST_F()
321 ++(p.started); in TEST_F()
322 p.cv->SignalAll(); in TEST_F()
323 while (p.started != p.total) { in TEST_F()
324 p.cv->Wait(); in TEST_F()
326 p.mu->Unlock(); in TEST_F()
328 ASSERT_TRUE(p.tls1.Get() == nullptr); in TEST_F()
329 ASSERT_TRUE(p.tls2->Get() == nullptr); in TEST_F()
331 p.tls1.Reset(ptr); in TEST_F()
332 p.tls2->Reset(ptr); in TEST_F()
334 p.tls1.Reset(ptr); in TEST_F()
335 p.tls2->Reset(ptr); in TEST_F()
337 p.mu->Lock(); in TEST_F()
338 ++(p.completed); in TEST_F()
339 p.cv->SignalAll(); in TEST_F()
342 while (p.completed != 0) { in TEST_F()
343 p.cv->Wait(); in TEST_F()
345 p.mu->Unlock(); in TEST_F()
352 Params p(&mu, &cv, &unref_count, th, unref); in TEST_F() local
353 p.tls2 = new ThreadLocalPtr(unref); in TEST_F()
355 for (int i = 0; i < p.total; ++i) { in TEST_F()
356 env_->StartThread(func2, static_cast<void*>(&p)); in TEST_F()
361 while (p.completed != p.total) { in TEST_F()
367 delete p.tls2; in TEST_F()
368 p.tls2 = nullptr; in TEST_F()
370 ASSERT_EQ(unref_count, p.total); in TEST_F()
374 p.completed = 0; in TEST_F()
379 ASSERT_EQ(unref_count, 2 * p.total); in TEST_F()
394 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
395 p.mu->Lock(); in TEST_F()
396 ++(*p.unref); in TEST_F()
397 p.mu->Unlock(); in TEST_F()
401 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
403 ASSERT_TRUE(p.tls1.Get() == nullptr); in TEST_F()
404 ASSERT_TRUE(p.tls2->Get() == nullptr); in TEST_F()
406 p.tls1.Reset(ptr); in TEST_F()
407 p.tls2->Reset(ptr); in TEST_F()
409 p.tls1.Reset(ptr); in TEST_F()
410 p.tls2->Reset(ptr); in TEST_F()
412 p.mu->Lock(); in TEST_F()
413 ++(p.completed); in TEST_F()
414 p.cv->SignalAll(); in TEST_F()
417 while (p.completed != 0) { in TEST_F()
418 p.cv->Wait(); in TEST_F()
420 p.mu->Unlock(); in TEST_F()
427 Params p(&mu, &cv, &unref_count, th, unref); in TEST_F() local
428 p.tls2 = new ThreadLocalPtr(unref); in TEST_F()
430 for (int i = 0; i < p.total; ++i) { in TEST_F()
431 env_->StartThread(func, static_cast<void*>(&p)); in TEST_F()
436 while (p.completed != p.total) { in TEST_F()
446 p.tls1.Scrape(&ptrs, nullptr); in TEST_F()
447 p.tls2->Scrape(&ptrs, nullptr); in TEST_F()
448 delete p.tls2; in TEST_F()
451 p.completed = 0; in TEST_F()
470 auto& p = *static_cast<Params*>(ptr); in TEST_F() local
471 ASSERT_TRUE(p.tls1.Get() == nullptr); in TEST_F()
472 p.tls1.Reset(new std::atomic<int64_t>(0)); in TEST_F()
475 static_cast<std::atomic<int64_t>*>(p.tls1.Get())->fetch_add(1); in TEST_F()
478 p.mu->Lock(); in TEST_F()
479 ++(p.completed); in TEST_F()
480 p.cv->SignalAll(); in TEST_F()
483 while (p.completed != 0) { in TEST_F()
484 p.cv->Wait(); in TEST_F()
486 p.mu->Unlock(); in TEST_F()