summaryrefslogtreecommitdiff
path: root/libjava/boehm.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-10 22:25:43 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-10 22:25:43 +0000
commit37df08c13a4234e69f72c71c80d523bb9d76d21c (patch)
tree6facc0ca8bcfaba4b6989fa00c24d85c2c5d0aa0 /libjava/boehm.cc
parent9d1b6043f2683567085474587ae8d2954efa977d (diff)
downloadgcc-37df08c13a4234e69f72c71c80d523bb9d76d21c.tar.gz
* gnu/gcj/runtime/natFinalizerThread.cc: New file.
* java/lang/natRuntime.cc: Include FinalizerThread.h. (runFinalization): Call finalizerReady. * nogc.cc (_Jv_GCInitializeFinalizers): New function. * prims.cc: Include VirtualMachineError.h, FinalizerThread.h. (_Jv_CreateJavaVM): Start the finalizer thread. * no-threads.cc: Include InternalError.h. (_Jv_ThreadStart): Throw InternalError. (_Jv_ThreadInitData): Don't throw error if this is not the first thread. * Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Added FinalizerThread.java. (nat_source_files): Added natFinalizerThread.cc. * include/jvm.h (_Jv_GCInitializeFinalizers): Declare. * boehm.cc (_Jv_GCInitializeFinalizers): New function. * gnu/gcj/runtime/FirstThread.java (run): Start finalizer thread. * gnu/gcj/runtime/FinalizerThread.java: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46163 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/boehm.cc')
-rw-r--r--libjava/boehm.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index 19b58bae908..e3dfe89f1e1 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -544,6 +544,13 @@ _Jv_AllocTraceOne (jsize size /* includes vtable slot */)
#endif /* JV_HASH_SYNCHRONIZATION */
void
+_Jv_GCInitializeFinalizers (void (*notifier) (void))
+{
+ GC_finalize_on_demand = 1;
+ GC_finalizer_notifier = notifier;
+}
+
+void
_Jv_GCRegisterDisappearingLink (jobject *objp)
{
GC_general_register_disappearing_link ((GC_PTR *) objp, (GC_PTR) *objp);