// nogc.cc - Implement null garbage collector.
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation
This file is part of libgcj.
// Total amount of memory allocated.
static long total = 0;
-#ifdef INTERPRETER
void *
-_Jv_BuildGCDescr(jclass klass)
+_Jv_BuildGCDescr(jclass)
{
return 0;
}
-#endif
void *
_Jv_AllocObj (jsize size, jclass klass)
_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;
_Jv_AllocBytes (jsize size)
{
total += size;
- ptr_t obj = calloc (size, 1);
+ void *obj = calloc (size, 1);
if (!obj) _Jv_ThrowNoMemory();
return obj;
}
+void *
+_Jv_AllocRawObj (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
void
_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
{
}
void
+_Jv_GCInitializeFinalizers (void (*) (void))
+{
+}
+
+void
_Jv_RunGC (void)
{
}
}
void
-_Jv_GCSetInitialHeapSize (size_t size)
+_Jv_GCSetInitialHeapSize (size_t)
{
}
void
-_Jv_GCSetMaximumHeapSize (size_t size)
+_Jv_GCSetMaximumHeapSize (size_t)
{
}
{
}
+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;
+}
+
+void *
+_Jv_AllocTraceTwo (jsize size /* includes vtable slot */)
+{
+ 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)
+{
+}