From 1c61c1f421fdcbd5de6465eee73efd266c86dfa3 Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Sun, 29 Nov 2009 16:53:46 -0700 Subject: [PATCH] fix x86 memoryBarrier implementation --- src/x86.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/x86.h b/src/x86.h index 807fbcecbd..0528d33695 100644 --- a/src/x86.h +++ b/src/x86.h @@ -159,9 +159,11 @@ memoryBarrier() { #ifdef _MSC_VER MemoryBarrier(); -#else - __asm__ __volatile__("": : :"memory"); -#endif +#elif defined ARCH_x86_32 + __asm__ __volatile__("lock; addl $0,0(%%esp)": : :"memory"); +#elif defined ARCH_x86_64 + __asm__ __volatile__("mfence": : :"memory"); +#endif // ARCH_x86_64 } inline void