aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natObject.cc
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/java/lang/natObject.cc
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/java/lang/natObject.cc')
-rw-r--r--libjava/java/lang/natObject.cc5
1 files changed, 3 insertions, 2 deletions
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;
}