2005-06-29 Miguel de Icaza <miguel@ximian.com>
[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 #ifndef HAVE_BOEHM_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_object_is_alive (MonoObject* o)
55 {
56         return TRUE;
57 }
58
59 void
60 mono_gc_enable_events (void)
61 {
62 }
63
64 void
65 mono_gc_weak_link_add (void **link_addr, MonoObject *obj)
66 {
67         *link_addr = obj;
68 }
69
70 void
71 mono_gc_weak_link_remove (void **link_addr)
72 {
73 }
74
75 MonoObject*
76 mono_gc_weak_link_get (void **link_addr)
77 {
78         return *link_addr;
79 }
80
81 void*
82 mono_gc_make_descr_from_bitmap (unsigned int *bitmap, int numbits)
83 {
84         return NULL;
85 }
86
87 void*
88 mono_gc_alloc_fixed (size_t size, void *descr)
89 {
90         return g_malloc0 (size);
91 }
92
93 void
94 mono_gc_free_fixed (void* addr)
95 {
96         g_free (addr);
97 }
98
99 #endif
100