This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Boehm GC support addition for debugging


Bryce McKinlay wrote:

nogc.cc should also be updated.

I've updated the patch to include this nogc.cc and include/no-gc.h for final approval.


Keith

ChangeLog
2006-06-21  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-gc.cc (_Jv_SuspendThread): New function.
        (_Jv_ResumeThread): Likewise.
Index: include/no-gc.h
===================================================================
--- include/no-gc.h	(revision 114859)
+++ include/no-gc.h	(working copy)
@@ -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 @@
 #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__ */
Index: include/boehm-gc.h
===================================================================
--- include/boehm-gc.h	(revision 114859)
+++ include/boehm-gc.h	(working copy)
@@ -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_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__ */
Index: nogc.cc
===================================================================
--- nogc.cc	(revision 114617)
+++ nogc.cc	(working copy)
@@ -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 @@
   return result;
 }
 #endif /* JV_HASH_SYNCHRONIZATION */
+
+void
+_Jv_SuspendThread (_Jv_Thread_t* thread)
+{
+}
+
+void
+_Jv_ResumeThread (_Jv_Thread_t* thread)
+{
+}
Index: boehm.cc
===================================================================
--- boehm.cc	(revision 114617)
+++ boehm.cc	(working copy)
@@ -673,3 +673,14 @@
 #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));
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]