[Mono-bugs] [Bug 80892][Maj] Changed - Monitor.Pulse not working properly on s390x
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Tue Feb 27 14:21:31 EST 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by lupus at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=80892
--- shadow/80892 2007-02-27 12:54:22.000000000 -0500
+++ shadow/80892.tmp.31502 2007-02-27 14:21:31.000000000 -0500
@@ -144,6 +144,13 @@
hardcoded registers (1 in compareexchange, 1 and 2 in the others):
there is no guarantee that gcc will not use the same registers for the
other arguments. Apart from that, I don't see how the code returns the
old value at the memory location, instead it looks like it returns the
old value we were expecting, which works just fine if the swap
succeds, but is the wrong one if it fails.
+
+------- Additional Comments From lupus at ximian.com 2007-02-27 14:21 -------
+Uhm, the asm code may not be wrong if the cs instruction itself stores
+the old value in the first register (I have no good s390 asm docs),
+the code looks more complex than needed, since a single cs instruction
+would work, instead of using an LA/LR pair before it.
+
More information about the mono-bugs
mailing list