#include <mono/metadata/mono-gc.h>
#include <mono/metadata/gc-internal.h>
#include <mono/metadata/runtime.h>
+#include <mono/utils/mono-threads.h>
#ifdef HAVE_NULL_GC
memset (&cb, 0, sizeof (cb));
cb.mono_method_is_critical = mono_runtime_is_critical_method;
cb.mono_gc_pthread_create = (gpointer)mono_gc_pthread_create;
+
+ mono_threads_init (&cb, sizeof (MonoThreadInfo));
}
void
return 2*1024*1024;
}
-void
-mono_gc_disable (void)
-{
-}
-
-void
-mono_gc_enable (void)
-{
-}
-
gboolean
mono_gc_is_gc_thread (void)
{
*(void**)ptr = value;
}
+void
+mono_gc_wbarrier_generic_store_atomic (gpointer ptr, MonoObject *value)
+{
+ InterlockedWritePointer (ptr, value);
+}
+
void
mono_gc_wbarrier_generic_nostore (gpointer ptr)
{
}
MonoMethod*
-mono_gc_get_managed_allocator (MonoVTable *vtable, gboolean for_box)
+mono_gc_get_managed_allocator (MonoClass *klass, gboolean for_box)
{
return NULL;
}
MonoMethod*
-mono_gc_get_managed_array_allocator (MonoVTable *vtable, int rank)
+mono_gc_get_managed_array_allocator (MonoClass *klass)
{
return NULL;
}
{
}
+gboolean
+mono_gc_set_allow_synchronous_major (gboolean flag)
+{
+ return TRUE;
+}
+
#endif