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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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. + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
