aboutsummaryrefslogtreecommitdiff
path: root/libjava/nogc.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-07 14:42:40 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-07 14:42:40 +0000
commit2c60951ba0efef23e2b765964b5dc0f1f49438a9 (patch)
treed96801a16fdf03a5682ef98730fe333a46eef944 /libjava/nogc.cc
parent1135eed2207f8f82c589e42ce113a1c2f0310778 (diff)
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26263 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/nogc.cc')
-rw-r--r--libjava/nogc.cc81
1 files changed, 81 insertions, 0 deletions
diff --git a/libjava/nogc.cc b/libjava/nogc.cc
new file mode 100644
index 00000000000..2d3676bdcca
--- /dev/null
+++ b/libjava/nogc.cc
@@ -0,0 +1,81 @@
+// nogc.cc - Code to implement no GC.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ 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 <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+
+// Total amount of memory allocated.
+static long total = 0;
+
+void *
+_Jv_AllocObj (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+void *
+_Jv_AllocArray (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+void *
+_Jv_AllocBytes (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+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_RunGC (void)
+{
+}
+
+long
+_Jv_GCTotalMemory (void)
+{
+ return total;
+}
+
+long
+_Jv_GCFreeMemory (void)
+{
+ return 0;
+}
+
+void
+_Jv_InitGC (void)
+{
+}