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