aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@waitaki.otago.ac.nz>2002-01-25 02:53:37 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2002-01-25 02:53:37 +0000
commit9fa5237cb7f4a63d9e98ba3db252531e35331872 (patch)
tree7e945f1c5b17338b0ca5702853d57c8c99c75d75 /libjava
parent6b016bf43679d66a235fbcf5b39b672732c19ac4 (diff)
downloadgcc-9fa5237cb7f4a63d9e98ba3db252531e35331872.zip
gcc-9fa5237cb7f4a63d9e98ba3db252531e35331872.tar.gz
gcc-9fa5237cb7f4a63d9e98ba3db252531e35331872.tar.bz2
natObject.cc (X86 compare_and_swap): Use +m constraint.
2002-01-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * java/lang/natObject.cc (X86 compare_and_swap): Use +m constraint. From-SVN: r49198
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/java/lang/natObject.cc5
2 files changed, 7 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 7db8af5..8cef7e7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2002-01-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
+
+ * java/lang/natObject.cc (X86 compare_and_swap): Use +m constraint.
+
2002-01-24 Per Bothner <per@bothner.com>
* verify.cc (is_assignable_from_slow): If target is an interface,
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index 816268c..bf38433 100644
--- a/libjava/java/lang/natObject.cc
+++ b/libjava/java/lang/natObject.cc
@@ -327,8 +327,9 @@ typedef size_t obj_addr_t; /* Integer type big enough for object */
{
char result;
__asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
- : "=m"(*(addr)), "=q"(result)
- : "r" (new_val), "0"(*(addr)), "a"(old) : "memory");
+ : "+m"(*(addr)), "=q"(result)
+ : "r" (new_val), "a"(old)
+ : "memory");
return (bool) result;
}