Fix SimpleBarrier
[folly.git] / folly / test / LifoSemTests.cpp
index 71889c402b739511ce682b658bcc5f8bd1c990fb..c16fe4a0feb28c5cb804a7546aeb45e961885906 100644 (file)
 #include <semaphore.h>
 #include <thread>
 
-#include <gtest/gtest.h>
-
 #include <folly/Benchmark.h>
 #include <folly/Random.h>
+#include <folly/portability/Asm.h>
 #include <folly/portability/GFlags.h>
+#include <folly/portability/GTest.h>
 #include <folly/test/DeterministicSchedule.h>
 
 using namespace folly;
@@ -319,7 +319,7 @@ BENCHMARK(single_thread_lifo_post, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     sem.post();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -327,7 +327,7 @@ BENCHMARK(single_thread_lifo_wait, iters) {
   LifoSem sem(iters);
   for (size_t n = 0; n < iters; ++n) {
     sem.wait();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -335,9 +335,9 @@ BENCHMARK(single_thread_lifo_postwait, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     sem.post();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
     sem.wait();
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -345,7 +345,7 @@ BENCHMARK(single_thread_lifo_trywait, iters) {
   LifoSem sem;
   for (size_t n = 0; n < iters; ++n) {
     EXPECT_FALSE(sem.tryWait());
-    asm volatile ("":::"memory");
+    asm_volatile_memory();
   }
 }
 
@@ -368,7 +368,7 @@ BENCHMARK(single_thread_posix_trywait, iters) {
   EXPECT_EQ(sem_destroy(&sem), 0);
 }
 
-static void contendedUse(uint n, int posters, int waiters) {
+static void contendedUse(uint32_t n, int posters, int waiters) {
   LifoSemImpl<std::atomic> sem;
 
   std::vector<std::thread> threads;
@@ -377,7 +377,7 @@ static void contendedUse(uint n, int posters, int waiters) {
   BENCHMARK_SUSPEND {
     for (int t = 0; t < waiters; ++t) {
       threads.emplace_back([=,&sem] {
-        for (uint i = t; i < n; i += waiters) {
+        for (uint32_t i = t; i < n; i += waiters) {
           sem.wait();
         }
       });
@@ -387,7 +387,7 @@ static void contendedUse(uint n, int posters, int waiters) {
         while (!go.load()) {
           std::this_thread::yield();
         }
-        for (uint i = t; i < n; i += posters) {
+        for (uint32_t i = t; i < n; i += posters) {
           sem.post();
         }
       });