OSDN Git Service

* cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
[pf3gnuchains/gcc-fork.git] / libjava / nogc.cc
1 // nogc.cc - Implement null garbage collector.
2
3 /* Copyright (C) 1998, 1999, 2000, 2001  Free Software Foundation
4
5    This file is part of libgcj.
6
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
9 details.  */
10
11 #include <config.h>
12
13 #include <stdio.h>
14 #include <stdlib.h>
15
16 #include <gcj/cni.h>
17 #include <jvm.h>
18
19 // Total amount of memory allocated.
20 static long total = 0;
21
22 #ifdef INTERPRETER
23 void *
24 _Jv_BuildGCDescr(jclass klass)
25 {
26   return 0;
27 }
28 #endif
29
30 void *
31 _Jv_AllocObj (jsize size, jclass klass)
32 {
33   total += size;
34   void *obj = calloc (size, 1);
35   if (!obj) _Jv_ThrowNoMemory();
36   *((_Jv_VTable **) obj) = klass->vtable;
37   return obj;
38 }
39
40 void *
41 _Jv_AllocPtrFreeObj (jsize size, jclass klass)
42 {
43   total += size;
44   ptr_t obj = malloc (size, 1);
45   if (!obj) _Jv_ThrowNoMemory();
46   *((_Jv_VTable **) obj) = klass->vtable;
47   return obj;
48 }
49
50 void *
51 _Jv_AllocArray (jsize size, jclass klass)
52 {
53   total += size;
54   void *obj = calloc (size, 1);
55   if (!obj) _Jv_ThrowNoMemory();
56   *((_Jv_VTable **) obj) = klass->vtable;
57   return obj;
58 }
59
60 void *
61 _Jv_AllocBytes (jsize size)
62 {
63   total += size;
64   ptr_t obj = calloc (size, 1);
65   if (!obj) _Jv_ThrowNoMemory();
66   return obj;
67 }
68
69 void *
70 _Jv_AllocRawObj (jsize size)
71 {
72   total += size;
73   return calloc (size, 1);
74 }
75
76 void
77 _Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
78 {
79   // FIXME: should actually register so that finalizers can be run on
80   // exit.
81 }
82
83 void
84 _Jv_RunFinalizers (void)
85 {
86 }
87
88 void
89 _Jv_RunAllFinalizers (void)
90 {
91   // FIXME: should still run all finalizers.
92 }
93
94 void
95 _Jv_RunGC (void)
96 {
97 }
98
99 long
100 _Jv_GCTotalMemory (void)
101 {
102   return total;
103 }
104
105 long
106 _Jv_GCFreeMemory (void)
107 {
108   return 0;
109 }
110
111 void
112 _Jv_GCSetInitialHeapSize (size_t size)
113 {
114 }
115
116 void
117 _Jv_GCSetMaximumHeapSize (size_t size)
118 {
119 }
120
121 void
122 _Jv_DisableGC (void)
123 {
124 }
125
126 void
127 _Jv_EnableGC (void)
128 {
129 }
130
131 void
132 _Jv_InitGC (void)
133 {
134 }
135
136 #ifdef JV_HASH_SYNCHRONIZATION
137 void *
138 _Jv_AllocTraceOne (jsize size /* includes vtable slot */) 
139 {
140   ptr_t obj = calloc(size, 1);
141   if (!obj) _Jv_ThrowNoMemory();
142   return result;
143 }
144 #endif /* JV_HASH_SYNCHRONIZATION */