From 357620a14f8d63b53923d50577b1ea773f0379fa Mon Sep 17 00:00:00 2001 From: kseitz Date: Mon, 26 Jun 2006 16:31:06 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115019 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 11 +++++++++++ libjava/boehm.cc | 11 +++++++++++ libjava/include/boehm-gc.h | 8 +++++++- libjava/include/no-gc.h | 8 ++++++-- libjava/nogc.cc | 12 +++++++++++- 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 + + * 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 * 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) +{ +} -- 2.7.4