public inbox for java-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/49193] New: __sync_xxxx builtins aren't used in sysdep/*/locks.h
@ 2011-05-27 14:39 hjl.tools at gmail dot com
  2011-05-31 11:54 ` [Bug libgcj/49193] " hjl at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: hjl.tools at gmail dot com @ 2011-05-27 14:39 UTC (permalink / raw)
  To: java-prs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49193

           Summary: __sync_xxxx builtins aren't used in sysdep/*/locks.h
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: hjl.tools@gmail.com


sysdep/x86-64/locks.h has

inline static bool
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)
          : "memory");
#else
  __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
               : "=m"(*addr), "=q"(result)
               : "r" (new_val), "a"(old), "m"(*addr)
               : "memory");
#endif
  return (bool) result;
}

We can replace them with __sync_xxxx builtins.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug libgcj/49193] __sync_xxxx builtins aren't used in sysdep/*/locks.h
  2011-05-27 14:39 [Bug libgcj/49193] New: __sync_xxxx builtins aren't used in sysdep/*/locks.h hjl.tools at gmail dot com
@ 2011-05-31 11:54 ` hjl at gcc dot gnu.org
  2011-08-02 17:08 ` hjl.tools at gmail dot com
  2011-12-27  9:40 ` uros at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: hjl at gcc dot gnu.org @ 2011-05-31 11:54 UTC (permalink / raw)
  To: java-prs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49193

--- Comment #1 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> 2011-05-31 11:53:37 UTC ---
Author: hjl
Date: Tue May 31 11:53:34 2011
New Revision: 174471

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174471
Log:
Use __sync_bool_compare_and_swap in x86 locks.h.

2011-05-31  H.J. Lu  <hongjiu.lu@intel.com>

    PR libgcj/49193
    * configure.host (sysdeps_dir): Set to i386 for x86_64.

    * sysdep/i386/locks.h (compare_and_swap): Call
    __sync_bool_compare_and_swap.
    (release_set): Call write_barrier ().

    * sysdep/x86-64/locks.h: Removed.

Removed:
    trunk/libjava/sysdep/x86-64/locks.h
Modified:
    trunk/libjava/ChangeLog
    trunk/libjava/configure.host
    trunk/libjava/sysdep/i386/locks.h


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug libgcj/49193] __sync_xxxx builtins aren't used in sysdep/*/locks.h
  2011-05-27 14:39 [Bug libgcj/49193] New: __sync_xxxx builtins aren't used in sysdep/*/locks.h hjl.tools at gmail dot com
  2011-05-31 11:54 ` [Bug libgcj/49193] " hjl at gcc dot gnu.org
@ 2011-08-02 17:08 ` hjl.tools at gmail dot com
  2011-12-27  9:40 ` uros at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: hjl.tools at gmail dot com @ 2011-08-02 17:08 UTC (permalink / raw)
  To: java-prs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49193

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.7.0

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-02 17:07:55 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug libgcj/49193] __sync_xxxx builtins aren't used in sysdep/*/locks.h
  2011-05-27 14:39 [Bug libgcj/49193] New: __sync_xxxx builtins aren't used in sysdep/*/locks.h hjl.tools at gmail dot com
  2011-05-31 11:54 ` [Bug libgcj/49193] " hjl at gcc dot gnu.org
  2011-08-02 17:08 ` hjl.tools at gmail dot com
@ 2011-12-27  9:40 ` uros at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: uros at gcc dot gnu.org @ 2011-12-27  9:40 UTC (permalink / raw)
  To: java-prs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49193

--- Comment #3 from uros at gcc dot gnu.org 2011-12-27 09:40:27 UTC ---
Author: uros
Date: Tue Dec 27 09:40:23 2011
New Revision: 182692

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182692
Log:
    PR libgcj/49193
    * sysdep/alpha/locks.h (compare_and_swap): Call
    __sync_bool_compare_and_swap.
    (release_set): Call __sync_synchronize.


Modified:
    trunk/libjava/ChangeLog
    trunk/libjava/sysdep/alpha/locks.h


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-12-27  9:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-27 14:39 [Bug libgcj/49193] New: __sync_xxxx builtins aren't used in sysdep/*/locks.h hjl.tools at gmail dot com
2011-05-31 11:54 ` [Bug libgcj/49193] " hjl at gcc dot gnu.org
2011-08-02 17:08 ` hjl.tools at gmail dot com
2011-12-27  9:40 ` uros at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).