New testcase
[official-gcc.git] / libjava / nogc.cc
blobb5bd6f3d1f569549ea8502d5fedac73545e1cb99
1 // nogc.cc - Code to implement no GC.
3 /* Copyright (C) 1998, 1999, 2000 Free Software Foundation
5 This file is part of libgcj.
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9 details. */
11 #include <config.h>
13 #include <stdio.h>
14 #include <stdlib.h>
16 #include <gcj/cni.h>
17 #include <jvm.h>
19 // Total amount of memory allocated.
20 static long total = 0;
22 #ifdef INTERPRETER
23 void *
24 _Jv_BuildGCDescr(jclass klass)
26 return 0;
28 #endif
30 void *
31 _Jv_AllocObj (jsize size, jclass klass)
33 total += size;
34 ptr_t obj = calloc (size, 1);
35 *((_Jv_VTable **) obj) = klass->vtable;
36 return obj;
39 void *
40 _Jv_AllocArray (jsize size, jclass klass)
42 total += size;
43 ptr_t obj = calloc (size, 1);
44 *((_Jv_VTable **) obj) = klass->vtable;
45 return obj;
48 void *
49 _Jv_AllocBytes (jsize size)
51 total += size;
52 return calloc (size, 1);
55 void
56 _Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
58 // FIXME: should actually register so that finalizers can be run on
59 // exit.
62 void
63 _Jv_RunFinalizers (void)
67 void
68 _Jv_RunAllFinalizers (void)
70 // FIXME: should still run all finalizers.
73 void
74 _Jv_RunGC (void)
78 long
79 _Jv_GCTotalMemory (void)
81 return total;
84 long
85 _Jv_GCFreeMemory (void)
87 return 0;
90 void
91 _Jv_GCSetInitialHeapSize (size_t size)
95 void
96 _Jv_GCSetMaximumHeapSize (size_t size)
100 void
101 _Jv_DisableGC (void)
105 void
106 _Jv_EnableGC (void)
110 void
111 _Jv_InitGC (void)