Hide some more methods
[mono.git] / mono / metadata / null-gc.c
1 /*
2  * null-gc.c: GC implementation using malloc: will leak everything, just for testing.
3  *
4  */
5
6 #include "config.h"
7 #include <glib.h>
8 #include <mono/metadata/mono-gc.h>
9 #include <mono/metadata/gc-internal.h>
10
11 #ifdef HAVE_NULL_GC
12
13 void
14 mono_gc_collect (int generation)
15 {
16 }
17
18 int
19 mono_gc_max_generation (void)
20 {
21         return 0;
22 }
23
24 /* maybe track the size, not important, though */
25 gint64
26 mono_gc_get_used_size (void)
27 {
28         return 1024*1024;
29 }
30
31 gint64
32 mono_gc_get_heap_size (void)
33 {
34         return 2*1024*1024;
35 }
36
37 void
38 mono_gc_disable (void)
39 {
40 }
41
42 void
43 mono_gc_enable (void)
44 {
45 }
46
47 gboolean
48 mono_gc_is_gc_thread (void)
49 {
50         return TRUE;
51 }
52
53 gboolean
54 mono_gc_register_thread (void *baseptr)
55 {
56         return TRUE;
57 }
58
59 gboolean
60 mono_object_is_alive (MonoObject* o)
61 {
62         return TRUE;
63 }
64
65 void
66 mono_gc_enable_events (void)
67 {
68 }
69
70 void
71 mono_gc_weak_link_add (void **link_addr, MonoObject *obj)
72 {
73         *link_addr = obj;
74 }
75
76 void
77 mono_gc_weak_link_remove (void **link_addr)
78 {
79         *link_addr = NULL;
80 }
81
82 MonoObject*
83 mono_gc_weak_link_get (void **link_addr)
84 {
85         return *link_addr;
86 }
87
88 void*
89 mono_gc_make_descr_from_bitmap (unsigned int *bitmap, int numbits)
90 {
91         return NULL;
92 }
93
94 void*
95 mono_gc_alloc_fixed (size_t size, void *descr)
96 {
97         return g_malloc0 (size);
98 }
99
100 void
101 mono_gc_free_fixed (void* addr)
102 {
103         g_free (addr);
104 }
105
106 #endif
107