]> gcc.gnu.org Git - gcc.git/blame - libjava/nogc.cc
2004-09-10 Michael Koch <konqueror@gmx.de>
[gcc.git] / libjava / nogc.cc
CommitLineData
e301621d 1// nogc.cc - Implement null garbage collector.
ee9dd372 2
73068e36 3/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
ee9dd372
TT
4
5 This file is part of libgcj.
6
7This software is copyrighted work licensed under the terms of the
8Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9details. */
10
11#include <config.h>
12
13#include <stdio.h>
14#include <stdlib.h>
15
27e934d8 16#include <gcj/cni.h>
ee9dd372
TT
17#include <jvm.h>
18
19// Total amount of memory allocated.
20static long total = 0;
21
22void *
73068e36 23_Jv_BuildGCDescr(jclass)
bf3b8e42
HB
24{
25 return 0;
26}
bf3b8e42
HB
27
28void *
29_Jv_AllocObj (jsize size, jclass klass)
ee9dd372
TT
30{
31 total += size;
e301621d 32 void *obj = calloc (size, 1);
3610e0d5
TT
33 if (!obj) _Jv_ThrowNoMemory();
34 *((_Jv_VTable **) obj) = klass->vtable;
35 return obj;
36}
37
38void *
39_Jv_AllocPtrFreeObj (jsize size, jclass klass)
40{
41 total += size;
73068e36 42 void *obj = calloc (size, 1);
3610e0d5 43 if (!obj) _Jv_ThrowNoMemory();
bf3b8e42
HB
44 *((_Jv_VTable **) obj) = klass->vtable;
45 return obj;
ee9dd372
TT
46}
47
48void *
bf3b8e42 49_Jv_AllocArray (jsize size, jclass klass)
ee9dd372
TT
50{
51 total += size;
e301621d 52 void *obj = calloc (size, 1);
3610e0d5 53 if (!obj) _Jv_ThrowNoMemory();
bf3b8e42
HB
54 *((_Jv_VTable **) obj) = klass->vtable;
55 return obj;
ee9dd372
TT
56}
57
58void *
59_Jv_AllocBytes (jsize size)
60{
61 total += size;
73068e36 62 void *obj = calloc (size, 1);
3610e0d5
TT
63 if (!obj) _Jv_ThrowNoMemory();
64 return obj;
ee9dd372
TT
65}
66
7866a458
BM
67void *
68_Jv_AllocRawObj (jsize size)
69{
70 total += size;
71 return calloc (size, 1);
72}
73
ee9dd372
TT
74void
75_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
76{
77 // FIXME: should actually register so that finalizers can be run on
78 // exit.
79}
80
81void
82_Jv_RunFinalizers (void)
83{
84}
85
86void
87_Jv_RunAllFinalizers (void)
88{
89 // FIXME: should still run all finalizers.
90}
91
eeedeb5a
TT
92void
93_Jv_GCInitializeFinalizers (void (*) (void))
94{
95}
96
ee9dd372
TT
97void
98_Jv_RunGC (void)
99{
100}
101
102long
103_Jv_GCTotalMemory (void)
104{
105 return total;
106}
107
108long
109_Jv_GCFreeMemory (void)
110{
111 return 0;
112}
113
b8c3c4f0 114void
73068e36 115_Jv_GCSetInitialHeapSize (size_t)
b8c3c4f0
TT
116{
117}
118
119void
73068e36 120_Jv_GCSetMaximumHeapSize (size_t)
b8c3c4f0
TT
121{
122}
123
54c2f04b
AG
124void
125_Jv_DisableGC (void)
126{
127}
128
129void
130_Jv_EnableGC (void)
131{
132}
133
ee9dd372
TT
134void
135_Jv_InitGC (void)
136{
137}
3610e0d5 138
73068e36
AT
139void
140_Jv_GCRegisterDisappearingLink (jobject *)
141{
142}
143
144jboolean
145_Jv_GCCanReclaimSoftReference (jobject)
146{
147 // For now, always reclaim soft references. FIXME.
148 return true;
149}
150
3610e0d5
TT
151#ifdef JV_HASH_SYNCHRONIZATION
152void *
153_Jv_AllocTraceOne (jsize size /* includes vtable slot */)
154{
73068e36 155 void *obj = calloc(size, 1);
3610e0d5
TT
156 if (!obj) _Jv_ThrowNoMemory();
157 return result;
158}
3a8da024
HB
159
160void *
161_Jv_AllocTraceTwo (jsize size /* includes vtable slot */)
162{
73068e36 163 void *obj = calloc(size, 1);
3a8da024
HB
164 if (!obj) _Jv_ThrowNoMemory();
165 return result;
166}
3610e0d5 167#endif /* JV_HASH_SYNCHRONIZATION */
This page took 0.444272 seconds and 5 git commands to generate.