Daily bump.
[official-gcc.git] / libjava / nogc.cc
blobdaf279c8f8559ec32ce814d04b22f947db00bfa5
1 // nogc.cc - Implement null garbage collector.
3 /* Copyright (C) 1998, 1999, 2000, 2001 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 void *obj = calloc (size, 1);
35 if (!obj) _Jv_ThrowNoMemory();
36 *((_Jv_VTable **) obj) = klass->vtable;
37 return obj;
40 void *
41 _Jv_AllocPtrFreeObj (jsize size, jclass klass)
43 total += size;
44 ptr_t obj = malloc (size, 1);
45 if (!obj) _Jv_ThrowNoMemory();
46 *((_Jv_VTable **) obj) = klass->vtable;
47 return obj;
50 void *
51 _Jv_AllocArray (jsize size, jclass klass)
53 total += size;
54 void *obj = calloc (size, 1);
55 if (!obj) _Jv_ThrowNoMemory();
56 *((_Jv_VTable **) obj) = klass->vtable;
57 return obj;
60 void *
61 _Jv_AllocBytes (jsize size)
63 total += size;
64 ptr_t obj = calloc (size, 1);
65 if (!obj) _Jv_ThrowNoMemory();
66 return obj;
69 void *
70 _Jv_AllocRawObj (jsize size)
72 total += size;
73 return calloc (size, 1);
76 void
77 _Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
79 // FIXME: should actually register so that finalizers can be run on
80 // exit.
83 void
84 _Jv_RunFinalizers (void)
88 void
89 _Jv_RunAllFinalizers (void)
91 // FIXME: should still run all finalizers.
94 void
95 _Jv_GCInitializeFinalizers (void (*) (void))
99 void
100 _Jv_RunGC (void)
104 long
105 _Jv_GCTotalMemory (void)
107 return total;
110 long
111 _Jv_GCFreeMemory (void)
113 return 0;
116 void
117 _Jv_GCSetInitialHeapSize (size_t size)
121 void
122 _Jv_GCSetMaximumHeapSize (size_t size)
126 void
127 _Jv_DisableGC (void)
131 void
132 _Jv_EnableGC (void)
136 void
137 _Jv_InitGC (void)
141 #ifdef JV_HASH_SYNCHRONIZATION
142 void *
143 _Jv_AllocTraceOne (jsize size /* includes vtable slot */)
145 ptr_t obj = calloc(size, 1);
146 if (!obj) _Jv_ThrowNoMemory();
147 return result;
150 void *
151 _Jv_AllocTraceTwo (jsize size /* includes vtable slot */)
153 ptr_t obj = calloc(size, 1);
154 if (!obj) _Jv_ThrowNoMemory();
155 return result;
157 #endif /* JV_HASH_SYNCHRONIZATION */