aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2006-06-26 16:31:06 +0000
committerKeith Seitz <kseitz@gcc.gnu.org>2006-06-26 16:31:06 +0000
commit9330cba6e3eb902fd41f3bcb40c9ff063cd83556 (patch)
tree1fa6120b44c9750c14438a1be5fa7c56c5336ae7 /libjava
parenta469a4f2410b8e85bb7cdd6ea9ea07320491ceee (diff)
downloadgcc-9330cba6e3eb902fd41f3bcb40c9ff063cd83556.zip
gcc-9330cba6e3eb902fd41f3bcb40c9ff063cd83556.tar.gz
gcc-9330cba6e3eb902fd41f3bcb40c9ff063cd83556.tar.bz2
no-gc.h (_Jv_SuspendThread): Declare.
* include/no-gc.h (_Jv_SuspendThread): Declare. (_Jv_ResumeThread): Likewise. * include/boehm-gc.h (_Jv_SuspendThread): Declare. (_Jv_ResumeThread): Likewise. * nogc.cc (_Jv_SuspendThread): New function. (_Jv_ResumeThread): Likewise. * boehm.cc (_Jv_SuspendThread): New function. (_Jv_ResumeThread): Likewise. From-SVN: r115019
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog11
-rw-r--r--libjava/boehm.cc11
-rw-r--r--libjava/include/boehm-gc.h8
-rw-r--r--libjava/include/no-gc.h8
-rw-r--r--libjava/nogc.cc12
5 files changed, 46 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 173747f..5bff6bd 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,14 @@
+2006-06-26 Keith Seitz <keiths@redhat.com>
+
+ * include/no-gc.h (_Jv_SuspendThread): Declare.
+ (_Jv_ResumeThread): Likewise.
+ * include/boehm-gc.h (_Jv_SuspendThread): Declare.
+ (_Jv_ResumeThread): Likewise.
+ * nogc.cc (_Jv_SuspendThread): New function.
+ (_Jv_ResumeThread): Likewise.
+ * boehm.cc (_Jv_SuspendThread): New function.
+ (_Jv_ResumeThread): Likewise.
+
2006-06-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index a6f7fdf..7b2c031 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -673,3 +673,14 @@ _Jv_RegisterLibForGc (const void *p __attribute__ ((__unused__)))
#endif
}
+void
+_Jv_SuspendThread (_Jv_Thread_t *thread)
+{
+ GC_suspend_thread (_Jv_GetPlatformThreadID (thread));
+}
+
+void
+_Jv_ResumeThread (_Jv_Thread_t *thread)
+{
+ GC_resume_thread (_Jv_GetPlatformThreadID (thread));
+}
diff --git a/libjava/include/boehm-gc.h b/libjava/include/boehm-gc.h
index 4e2a06b..764b2a1 100644
--- a/libjava/include/boehm-gc.h
+++ b/libjava/include/boehm-gc.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
// boehm-gc.h - Defines for Boehm collector.
-/* Copyright (C) 1998, 1999, 2002, 2004 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2002, 2004, 2006 Free Software Foundation
This file is part of libgcj.
@@ -83,4 +83,10 @@ _Jv_AllocPtrFreeObj (jsize size, jclass klass);
// _Jv_AllocBytes (jsize size) should go here, too. But clients don't
// usually include this header.
+// Suspend the given thread. This includes suspending the calling thread.
+extern "C" void _Jv_SuspendThread (_Jv_Thread_t *);
+
+// Resume a suspended thread.
+extern "C" void _Jv_ResumeThread (_Jv_Thread_t *);
+
#endif /* __JV_BOEHM_GC__ */
diff --git a/libjava/include/no-gc.h b/libjava/include/no-gc.h
index 18e79e1..193b8ea 100644
--- a/libjava/include/no-gc.h
+++ b/libjava/include/no-gc.h
@@ -1,7 +1,7 @@
// -*- c++ -*-
// no-gc.h - Defines for no garbage collector.
-/* Copyright (C) 1998, 1999 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2006 Free Software Foundation
This file is part of libgcj.
@@ -12,6 +12,10 @@ details. */
#ifndef __JV_NO_GC__
#define __JV_NO_GC__
-// Nothing.
+// Suspend the given thread. This includes suspending the calling thread.
+extern "C" void _Jv_SuspendThread (_Jv_Thread_t *);
+
+// Resume a suspended thread.
+extern "C" void _Jv_ResumeThread (_Jv_Thread_t *);
#endif /* __JV_NO_GC__ */
diff --git a/libjava/nogc.cc b/libjava/nogc.cc
index e81fbe1..f25037a 100644
--- a/libjava/nogc.cc
+++ b/libjava/nogc.cc
@@ -1,6 +1,6 @@
// nogc.cc - Implement null garbage collector.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation
This file is part of libgcj.
@@ -165,3 +165,13 @@ _Jv_AllocTraceTwo (jsize size /* includes vtable slot */)
return result;
}
#endif /* JV_HASH_SYNCHRONIZATION */
+
+void
+_Jv_SuspendThread (_Jv_Thread_t *thread)
+{
+}
+
+void
+_Jv_ResumeThread (_Jv_Thread_t *thread)
+{
+}