New test.
[mono.git] / mono / metadata / null-gc.c
index cad88bdad3d0d3a194d0bb93826ee5433e775f40..d13ecc9f43a74b69d15d7ea4f4d40921434d7603 100644 (file)
@@ -8,7 +8,7 @@
 #include <mono/metadata/mono-gc.h>
 #include <mono/metadata/gc-internal.h>
 
-#ifndef HAVE_BOEHM_GC
+#ifdef HAVE_NULL_GC
 
 void
 mono_gc_collect (int generation)
@@ -76,6 +76,7 @@ mono_gc_weak_link_add (void **link_addr, MonoObject *obj)
 void
 mono_gc_weak_link_remove (void **link_addr)
 {
+       *link_addr = NULL;
 }
 
 MonoObject*
@@ -85,7 +86,7 @@ mono_gc_weak_link_get (void **link_addr)
 }
 
 void*
-mono_gc_make_descr_from_bitmap (unsigned int *bitmap, int numbits)
+mono_gc_make_descr_from_bitmap (gsize *bitmap, int numbits)
 {
        return NULL;
 }
@@ -102,5 +103,34 @@ mono_gc_free_fixed (void* addr)
        g_free (addr);
 }
 
+void
+mono_gc_wbarrier_set_field (MonoObject *obj, gpointer field_ptr, MonoObject* value)
+{
+       *(void**)field_ptr = value;
+}
+
+void
+mono_gc_wbarrier_set_arrayref (MonoArray *arr, gpointer slot_ptr, MonoObject* value)
+{
+       *(void**)slot_ptr = value;
+}
+
+void
+mono_gc_wbarrier_arrayref_copy (MonoArray *arr, gpointer slot_ptr, int count)
+{
+       /* no need to do anything */
+}
+
+void
+mono_gc_wbarrier_generic_store (gpointer ptr, MonoObject* value)
+{
+       *(void**)ptr = value;
+}
+
+void
+mono_gc_wbarrier_value_copy (gpointer dest, gpointer src, int count, MonoClass *klass)
+{
+}
+
 #endif