From 3bdb462352925c06416e5447f959ede6dba60d7c Mon Sep 17 00:00:00 2001
From: kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
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 1269fc862f82..70a158386f5e 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* sysdep/sh/locks.h (read_barrier): New.
+	(write_barrier): Likewise.
+
 2007-01-12  Andrew Haley  <aph@redhat.com>
 
 	* include/i386-signal.h: Rewrite to use rt_sigaction.
diff --git a/libjava/sysdep/sh/locks.h b/libjava/sysdep/sh/locks.h
index f6076d601997..9a152fb30e58 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__ */
-- 
GitLab