X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libjava%2Fnogc.cc;h=e81fbe18714cd7bb2d676c3ebfaccbaed0eb9655;hb=3df7c71c2300d123998ea6534843fd9fe9c2dfb3;hp=65cc8c30e22e7d57cd10e085bb9da67ac15120d9;hpb=a9460e1f0bc702445e3c5c7ec0814422e3690359;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libjava/nogc.cc b/libjava/nogc.cc index 65cc8c30e22..e81fbe18714 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 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation This file is part of libgcj. @@ -19,13 +19,11 @@ details. */ // 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) @@ -41,7 +39,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; @@ -61,7 +59,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; } @@ -92,6 +90,11 @@ _Jv_RunAllFinalizers (void) } void +_Jv_GCInitializeFinalizers (void (*) (void)) +{ +} + +void _Jv_RunGC (void) { } @@ -109,12 +112,12 @@ _Jv_GCFreeMemory (void) } void -_Jv_GCSetInitialHeapSize (size_t size) +_Jv_GCSetInitialHeapSize (size_t) { } void -_Jv_GCSetMaximumHeapSize (size_t size) +_Jv_GCSetMaximumHeapSize (size_t) { } @@ -133,11 +136,31 @@ _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; +} + +void * +_Jv_AllocTraceTwo (jsize size /* includes vtable slot */) +{ + void *obj = calloc(size, 1); if (!obj) _Jv_ThrowNoMemory(); return result; }