From: rth Date: Fri, 9 Feb 2007 20:40:56 +0000 (+0000) Subject: * sysdep/alpha/locks.h (read_barrier): New. X-Git-Tag: upstream/4.9.2~50478 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20db34bb0fe9ef2a39dffc08d0b7c62a7873e048;p=platform%2Fupstream%2Flinaro-gcc.git * sysdep/alpha/locks.h (read_barrier): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121774 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + + * sysdep/alpha/locks.h (read_barrier): New. + 2007-02-09 Keith Seitz * 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