From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libjava/nogc.cc | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 libjava/nogc.cc (limited to 'libjava/nogc.cc') diff --git a/libjava/nogc.cc b/libjava/nogc.cc new file mode 100644 index 000000000..079422d09 --- /dev/null +++ b/libjava/nogc.cc @@ -0,0 +1,192 @@ +// nogc.cc - Implement null garbage collector. + +/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2006, 2007 + Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include + +#include +#include + +#include +#include + +// Total amount of memory allocated. +static long total = 0; + +void * +_Jv_BuildGCDescr(jclass) +{ + return 0; +} + +void * +_Jv_AllocObj (jsize size, jclass klass) +{ + total += size; + void *obj = calloc (size, 1); + if (!obj) _Jv_ThrowNoMemory(); + *((_Jv_VTable **) obj) = klass->vtable; + return obj; +} + +void * +_Jv_AllocPtrFreeObj (jsize size, jclass klass) +{ + total += size; + void *obj = calloc (size, 1); + if (!obj) _Jv_ThrowNoMemory(); + *((_Jv_VTable **) obj) = klass->vtable; + return obj; +} + +void * +_Jv_AllocArray (jsize size, jclass klass) +{ + total += size; + void *obj = calloc (size, 1); + if (!obj) _Jv_ThrowNoMemory(); + *((_Jv_VTable **) obj) = klass->vtable; + return obj; +} + +void * +_Jv_AllocBytes (jsize size) +{ + total += size; + void *obj = calloc (size, 1); + if (!obj) _Jv_ThrowNoMemory(); + return obj; +} + +void * +_Jv_AllocRawObj (jsize size) +{ + total += 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 *) +{ + // FIXME: should actually register so that finalizers can be run on + // exit. +} + +void +_Jv_RunFinalizers (void) +{ +} + +void +_Jv_RunAllFinalizers (void) +{ + // FIXME: should still run all finalizers. +} + +void +_Jv_GCInitializeFinalizers (void (*) (void)) +{ +} + +void +_Jv_RunGC (void) +{ +} + +long +_Jv_GCTotalMemory (void) +{ + return total; +} + +long +_Jv_GCFreeMemory (void) +{ + return 0; +} + +void +_Jv_GCSetInitialHeapSize (size_t) +{ +} + +void +_Jv_GCSetMaximumHeapSize (size_t) +{ +} + +void +_Jv_DisableGC (void) +{ +} + +void +_Jv_EnableGC (void) +{ +} + +void +_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 */) +{ + 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) +{ +} + +int +_Jv_IsThreadSuspended (_Jv_Thread_t *thread) +{ + return 0; +} -- cgit v1.2.3