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