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).