diff options
author | Andrew Haley <aph@redhat.com> | 2004-01-16 17:25:26 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2004-01-16 17:25:26 +0000 |
commit | a3fe7b56f3f0f153f9524f55bbcae9c65f127691 (patch) | |
tree | 056e9d83c8e63d5ac20edbb3ca15277774abfaf6 | |
parent | b27317b552b57b4b7df4cfeaaa5c12f4718d58f9 (diff) | |
download | gcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.zip gcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.tar.gz gcc-a3fe7b56f3f0f153f9524f55bbcae9c65f127691.tar.bz2 |
locks.h: Don't use in/out memory constraints.
2004-01-16 Andrew Haley <aph@redhat.com>
* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
* sysdep/i386/locks.h: Likewise.
From-SVN: r75982
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/sysdep/i386/locks.h | 4 | ||||
-rw-r--r-- | libjava/sysdep/x86-64/locks.h | 8 |
3 files changed, 11 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c16a006..517aea5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-01-16 Andrew Haley <aph@redhat.com> + + * sysdep/x86-64/locks.h: Don't use in/out memory constraints. + * sysdep/i386/locks.h: Likewise. + 2004-01-16 Fernando Nasser <fnasser@redhat.com> * java/awt/EventDispatchThread.java (run): Stop running when diff --git a/libjava/sysdep/i386/locks.h b/libjava/sysdep/i386/locks.h index a9501ae..0e2cd79 100644 --- a/libjava/sysdep/i386/locks.h +++ b/libjava/sysdep/i386/locks.h @@ -25,8 +25,8 @@ compare_and_swap(volatile obj_addr_t *addr, { char result; __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1" - : "+m"(*(addr)), "=q"(result) - : "r" (new_val), "a"(old) + : "=m"(*addr), "=q"(result) + : "r" (new_val), "a"(old), "m"(*addr) : "memory"); return (bool) result; } diff --git a/libjava/sysdep/x86-64/locks.h b/libjava/sysdep/x86-64/locks.h index bad6de6..7fb9bbb 100644 --- a/libjava/sysdep/x86-64/locks.h +++ b/libjava/sysdep/x86-64/locks.h @@ -26,13 +26,13 @@ compare_and_swap(volatile obj_addr_t *addr, obj_addr_t old, obj_addr_t new_val) char result; #ifdef __x86_64__ __asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1" - : "+m"(*(addr)), "=q"(result) - : "r" (new_val), "a"(old) + : "=m"(*(addr)), "=q"(result) + : "r" (new_val), "a"(old), "m"(*addr) : "memory"); #else __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1" - : "+m"(*(addr)), "=q"(result) - : "r" (new_val), "a"(old) + : "=m"(*(addr)), "=q"(result) + : "r" (new_val), "a"(old), "m"(*addr) : "memory"); #endif return (bool) result; |