OSDN Git Service

2004-01-16 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jan 2004 17:25:26 +0000 (17:25 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jan 2004 17:25:26 +0000 (17:25 +0000)
* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
* sysdep/i386/locks.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75982 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/sysdep/i386/locks.h
libjava/sysdep/x86-64/locks.h

index c16a006..517aea5 100644 (file)
@@ -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
index a9501ae..0e2cd79 100644 (file)
@@ -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;
 }
index bad6de6..7fb9bbb 100644 (file)
@@ -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;