diff options
author | Richard Henderson <rth@redhat.com> | 2007-02-09 12:40:56 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2007-02-09 12:40:56 -0800 |
commit | 507a4fd4a0cdaf34dfe391b6b1f2423e0716a682 (patch) | |
tree | 6fd9de8c6d16c00cb6faaa80e80f6cf3b2af51fa /libjava | |
parent | 999ffb1a4b306ac65f47444ba5e2e63fb897c6c1 (diff) | |
download | gcc-507a4fd4a0cdaf34dfe391b6b1f2423e0716a682.zip gcc-507a4fd4a0cdaf34dfe391b6b1f2423e0716a682.tar.gz gcc-507a4fd4a0cdaf34dfe391b6b1f2423e0716a682.tar.bz2 |
* sysdep/alpha/locks.h (read_barrier): New.
From-SVN: r121774
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/sysdep/alpha/locks.h | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 7f38c88..49b0567 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2007-02-09 Richard Henderson <rth@redhat.com> + + * sysdep/alpha/locks.h (read_barrier): New. + 2007-02-09 Keith Seitz <keiths@redhat.com> * gnu/classpath/jdwp/VMVirtualMachine.java diff --git a/libjava/sysdep/alpha/locks.h b/libjava/sysdep/alpha/locks.h index c5f7f49..a6b4394 100644 --- a/libjava/sysdep/alpha/locks.h +++ b/libjava/sysdep/alpha/locks.h @@ -50,6 +50,14 @@ compare_and_swap_release(volatile obj_addr_t *addr, return compare_and_swap(addr, old, new_val); } +// Ensure that subsequent instructions do not execute on stale +// data that was loaded from memory before the barrier. +inline static void +read_barrier() +{ + __asm__ __volatile__("mb" : : : "memory"); +} + // Ensure that prior stores to memory are completed with respect to other // processors. inline static void |