diff options
Diffstat (limited to 'eigen/bench/BenchTimer.h')
-rw-r--r-- | eigen/bench/BenchTimer.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/eigen/bench/BenchTimer.h b/eigen/bench/BenchTimer.h index 28e2bca..ea28496 100644 --- a/eigen/bench/BenchTimer.h +++ b/eigen/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(); \ } \ } |