aboutsummaryrefslogtreecommitdiff
path: root/bench/BenchTimer.h
diff options
context:
space:
mode:
Diffstat (limited to 'bench/BenchTimer.h')
-rw-r--r--bench/BenchTimer.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/bench/BenchTimer.h b/bench/BenchTimer.h
index 28e2bcaea..ea28496b7 100644
--- a/bench/BenchTimer.h
+++ b/bench/BenchTimer.h
@@ -22,12 +22,19 @@
# endif
# include <windows.h>
#elif defined(__APPLE__)
-#include <CoreServices/CoreServices.h>
#include <mach/mach_time.h>
#else
# include <unistd.h>
#endif
+static void escape(void *p) {
+ asm volatile("" : : "g"(p) : "memory");
+}
+
+static void clobber() {
+ asm volatile("" : : : "memory");
+}
+
#include <Eigen/Core>
namespace Eigen
@@ -168,6 +175,7 @@ public:
CODE; \
} \
TIMER.stop(); \
+ clobber(); \
} \
}