Use asm_volatile_memory() for portable memory barriors in LifoSemTests
authorChristopher Dykes <cdykes@fb.com>
Fri, 1 Jul 2016 01:21:53 +0000 (18:21 -0700)
committerFacebook Github Bot 8 <facebook-github-bot-8-bot@fb.com>
Fri, 1 Jul 2016 01:24:14 +0000 (18:24 -0700)
Summary: The portability headers exist for a reason, so use them.

Reviewed By: yfeldblum

Differential Revision: D3507031

fbshipit-source-id: f88c8ed37e648d38231c1d923c1d69d551beabff

folly/test/LifoSemTests.cpp

index d06f2e0915a33a5dbc028622621d605084f8aef0..09234c9eaeeb2fb5cf7570ddf59252fe507c4980 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <folly/Benchmark.h>
 #include <folly/Random.h>
+#include <folly/portability/Asm.h>
 #include <folly/portability/GFlags.h>
 #include <folly/test/DeterministicSchedule.h>
 
@@ -319,7 +320,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 +328,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 +336,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 +346,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();
   }
 }