Author: neale
Date: 2006-06-15 13:37:18 -0400 (Thu, 15 Jun 2006)
New Revision: 61761

Modified:
   trunk/mono/mono/io-layer/ChangeLog
   trunk/mono/mono/io-layer/atomic.h
Log:
* atomic.h: More tinkering with InterlockedExchange/InterlockedCompareExchange
for s390/s390x.


Modified: trunk/mono/mono/io-layer/ChangeLog
===================================================================
--- trunk/mono/mono/io-layer/ChangeLog  2006-06-15 17:35:54 UTC (rev 61760)
+++ trunk/mono/mono/io-layer/ChangeLog  2006-06-15 17:37:18 UTC (rev 61761)
@@ -1,3 +1,8 @@
+2006-06-15 Neale Ferguson <[EMAIL PROTECTED]>
+
+       * atomic.h: More tinkering with 
InterlockedExchange/InterlockedCompareExchange
+       for s390/s390x.
+
 2006-06-14 Neale Ferguson <[EMAIL PROTECTED]>
 
        * atomic.h: Fix atomic exchange pointer operations for s390x - these

Modified: trunk/mono/mono/io-layer/atomic.h
===================================================================
--- trunk/mono/mono/io-layer/atomic.h   2006-06-15 17:35:54 UTC (rev 61760)
+++ trunk/mono/mono/io-layer/atomic.h   2006-06-15 17:37:18 UTC (rev 61761)
@@ -299,12 +299,8 @@
        gint32 old;
 
        __asm__ __volatile__ ("\tLA\t1,%0\n"
-                             "0:\tL\t%1,%0\n"
-                             "\tCR\t%1,%3\n"
-                             "\tJNE\t1f\n"
+                             "\tLR\t%1,%3\n"
                              "\tCS\t%1,%2,0(1)\n"
-                             "\tJNZ\t0b\n"
-                             "1:\n"
                              : "+m" (*dest), "=r" (old)
                              : "r" (exch), "r" (comp)
                              : "1", "cc");     
@@ -319,12 +315,8 @@
        gpointer old;
 
        __asm__ __volatile__ ("\tLA\t1,%0\n"
-                             "0:\tL\t%1,%0\n"
-                             "\tCR\t%1,%3\n"
-                             "\tJNE\t1f\n"
+                             "\tLR\t%1,%3\n"
                              "\tCS\t%1,%2,0(1)\n"
-                             "\tJNZ\t0b\n"
-                             "1:\n"
                              : "+m" (*dest), "=r" (old)
                              : "r" (exch), "r" (comp)
                              : "1", "cc");     
@@ -339,12 +331,8 @@
        gpointer old;
 
        __asm__ __volatile__ ("\tLA\t1,%0\n"
-                             "0:\tLG\t%1,%0\n"
-                             "\tCGR\t%1,%3\n"
-                             "\tJNE\t1f\n"
+                             "\tLGR\t%1,%3\n"
                              "\tCSG\t%1,%2,0(1)\n"
-                             "\tJNZ\t0b\n"
-                             "1:\n"
                              : "+m" (*dest), "=r" (old)
                              : "r" (exch), "r" (comp)
                              : "1", "cc");

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to