From 3bdb462352925c06416e5447f959ede6dba60d7c Mon Sep 17 00:00:00 2001 From: kkojima Date: Fri, 12 Jan 2007 22:27:49 +0000 Subject: [PATCH] * sysdep/sh/locks.h (read_barrier): New. (write_barrier): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120735 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 5 +++++ libjava/sysdep/sh/locks.h | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1269fc8..70a1583 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2007-01-12 Kaz Kojima + + * sysdep/sh/locks.h (read_barrier): New. + (write_barrier): Likewise. + 2007-01-12 Andrew Haley * include/i386-signal.h: Rewrite to use rt_sigaction. diff --git a/libjava/sysdep/sh/locks.h b/libjava/sysdep/sh/locks.h index f6076d6..9a152fb 100644 --- a/libjava/sysdep/sh/locks.h +++ b/libjava/sysdep/sh/locks.h @@ -1,6 +1,6 @@ // locks.h - Thread synchronization primitives. SuperH implementation. -/* Copyright (C) 2002 Free Software Foundation +/* Copyright (C) 2002, 2007 Free Software Foundation This file is part of libgcj. @@ -69,4 +69,16 @@ compare_and_swap_release (volatile obj_addr_t *addr, obj_addr_t old, return compare_and_swap (addr, old, new_val); } +inline static void +read_barrier() +{ + __asm__ __volatile__(" " : : : "memory"); +} + +inline static void +write_barrier() +{ + __asm__ __volatile__(" " : : : "memory"); +} + #endif /* ! __SYSDEP_LOCKS_H__ */ -- 2.7.4