[sgen] We must do bridge processing with all sgen locks taken.
[mono.git] / mono / metadata / sgen-toggleref.c
index 7407e9d70e05a50a826dbc191e42f21fc3b84776..75932c300fc4770649201f03ec20b711c1ac6f84 100644 (file)
@@ -191,4 +191,26 @@ mono_gc_toggleref_register_callback (MonoToggleRefStatus (*proccess_toggleref) (
        toggleref_callback = proccess_toggleref;
 }
 
+static MonoToggleRefStatus
+test_toggleref_callback (MonoObject *obj)
+{
+       static MonoClassField *mono_toggleref_test_field;
+       int status = MONO_TOGGLE_REF_DROP;
+
+       if (!mono_toggleref_test_field) {
+               mono_toggleref_test_field = mono_class_get_field_from_name (mono_object_get_class (obj), "__test");
+               g_assert (mono_toggleref_test_field);
+       }
+
+       mono_field_get_value (obj, mono_toggleref_test_field, &status);
+       printf ("toggleref-cb obj %d\n", status);
+       return status;
+}
+
+void
+sgen_register_test_toggleref_callback (void)
+{
+       toggleref_callback = test_toggleref_callback;
+}
+
 #endif