You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2007/12/04 13:11:11 UTC

svn commit: r600906 - in /harmony/enhanced/drlvm/trunk/vm: port/src/thread/win/apr_thread_ext.c vmcore/src/thread/win/atomics.cpp

Author: varlax
Date: Tue Dec  4 04:11:10 2007
New Revision: 600906

URL: http://svn.apache.org/viewvc?rev=600906&view=rev
Log:
More accurate fix for ICL compilation

Modified:
    harmony/enhanced/drlvm/trunk/vm/port/src/thread/win/apr_thread_ext.c
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/win/atomics.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/port/src/thread/win/apr_thread_ext.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/port/src/thread/win/apr_thread_ext.c?rev=600906&r1=600905&r2=600906&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/port/src/thread/win/apr_thread_ext.c (original)
+++ harmony/enhanced/drlvm/trunk/vm/port/src/thread/win/apr_thread_ext.c Tue Dec  4 04:11:10 2007
@@ -33,7 +33,12 @@
     // VC++ 2005
     #include <intrin.h>
     #include <emmintrin.h>
-    #pragma intrinsic (_ReadWriteBarrier)
+#endif
+
+#if !defined(__INTEL_COMPILER)
+#   pragma intrinsic (_ReadWriteBarrier)
+#else
+#   define _ReadWriteBarrier __memory_barrier
 #endif
 
 
@@ -105,12 +110,7 @@
     __asm {lock add [esp], 0 }
 #endif
 
-#ifdef __INTEL_COMPILER
-    __memory_barrier();
-#else
     _ReadWriteBarrier();
-#endif
-
 }
 
 APR_DECLARE(apr_status_t) apr_thread_times(apr_thread_t *thread, 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/win/atomics.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/win/atomics.cpp?rev=600906&r1=600905&r2=600906&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/win/atomics.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/win/atomics.cpp Tue Dec  4 04:11:10 2007
@@ -27,10 +27,17 @@
     // VC++ 2005
     #include <intrin.h>
     #include <emmintrin.h>
-    #pragma intrinsic (_ReadWriteBarrier)
-    #pragma intrinsic (_WriteBarrier)
 #endif
 
+#if !defined(__INTEL_COMPILER)
+#   pragma intrinsic (_ReadWriteBarrier)
+#   pragma intrinsic (_WriteBarrier)
+#else
+#   define _ReadWriteBarrier __memory_barrier
+#   define _WriteBarrier __memory_barrier
+#endif
+
+
 void MemoryReadWriteBarrier() {
 #ifdef _EM64T_
     // if x86_64/x64/EM64T, then use an mfence to flush memory caches
@@ -43,19 +50,11 @@
      */
     __asm {lock add [esp], 0 }
 #endif
-#ifdef __INTEL_COMPILER
-    __memory_barrier();
-#else
     _ReadWriteBarrier();
-#endif
 }
 
 void MemoryWriteBarrier() {
     _mm_sfence();
-#ifdef __INTEL_COMPILER
-    __memory_barrier();
-#else
     _WriteBarrier();
-#endif
 }