OSDN Git Service

2011-07-12 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / nogc.cc
index 5d976ef..079422d 100644 (file)
@@ -1,6 +1,7 @@
 // nogc.cc - Implement null garbage collector.
 
-/* Copyright (C) 1998, 1999, 2000, 2001  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006, 2007
+   Free Software Foundation
 
    This file is part of libgcj.
 
@@ -20,7 +21,7 @@ details.  */
 static long total = 0;
 
 void *
-_Jv_BuildGCDescr(jclass klass)
+_Jv_BuildGCDescr(jclass)
 {
   return 0;
 }
@@ -39,7 +40,7 @@ void *
 _Jv_AllocPtrFreeObj (jsize size, jclass klass)
 {
   total += size;
-  ptr_t obj = malloc (size, 1);
+  void *obj = calloc (size, 1);
   if (!obj) _Jv_ThrowNoMemory();
   *((_Jv_VTable **) obj) = klass->vtable;
   return obj;
@@ -59,7 +60,7 @@ void *
 _Jv_AllocBytes (jsize size)
 {
   total += size;
-  ptr_t obj = calloc (size, 1);
+  void *obj = calloc (size, 1);
   if (!obj) _Jv_ThrowNoMemory();
   return obj;
 }
@@ -71,6 +72,14 @@ _Jv_AllocRawObj (jsize size)
   return calloc (size, 1);
 }
 
+_Jv_ClosureList **
+_Jv_ClosureListFinalizer ()
+{
+  _Jv_ClosureList **clpp;
+  clpp = (_Jv_ClosureList **)_Jv_AllocBytes (sizeof (*clpp));
+  return clpp;
+}
+
 void
 _Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
 {
@@ -112,12 +121,12 @@ _Jv_GCFreeMemory (void)
 }
 
 void
-_Jv_GCSetInitialHeapSize (size_t size)
+_Jv_GCSetInitialHeapSize (size_t)
 {
 }
 
 void
-_Jv_GCSetMaximumHeapSize (size_t size)
+_Jv_GCSetMaximumHeapSize (size_t)
 {
 }
 
@@ -136,11 +145,23 @@ _Jv_InitGC (void)
 {
 }
 
+void
+_Jv_GCRegisterDisappearingLink (jobject *)
+{
+}
+
+jboolean
+_Jv_GCCanReclaimSoftReference (jobject)
+{
+  // For now, always reclaim soft references.  FIXME.
+  return true;
+}
+
 #ifdef JV_HASH_SYNCHRONIZATION
 void *
 _Jv_AllocTraceOne (jsize size /* includes vtable slot */) 
 {
-  ptr_t obj = calloc(size, 1);
+  void *obj = calloc(size, 1);
   if (!obj) _Jv_ThrowNoMemory();
   return result;
 }
@@ -148,8 +169,24 @@ _Jv_AllocTraceOne (jsize size /* includes vtable slot */)
 void *
 _Jv_AllocTraceTwo (jsize size /* includes vtable slot */) 
 {
-  ptr_t obj = calloc(size, 1);
+  void *obj = calloc(size, 1);
   if (!obj) _Jv_ThrowNoMemory();
   return result;
 }
 #endif /* JV_HASH_SYNCHRONIZATION */
+
+void
+_Jv_SuspendThread (_Jv_Thread_t *thread)
+{
+}
+
+void
+_Jv_ResumeThread (_Jv_Thread_t *thread)
+{
+}
+
+int
+_Jv_IsThreadSuspended (_Jv_Thread_t *thread)
+{
+  return 0;
+}