Merge pull request #205 from m3rlinez/master
[mono.git] / mono / metadata / mono-gc.h
index 750b6540db6b5f49e9b08776f3f0fbbf85e864a8..f2ff92b53b82cd2532217226f4b14f76fa367cb6 100644 (file)
@@ -9,6 +9,8 @@
 
 MONO_BEGIN_DECLS
 
+typedef int (*MonoGCReferences) (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num, MonoObject **refs, uintptr_t *offsets, void *data);
+
 void   mono_gc_collect         (int generation);
 int    mono_gc_max_generation  (void);
 int    mono_gc_get_generation  (MonoObject *object);
@@ -16,6 +18,8 @@ int    mono_gc_collection_count (int generation);
 int64_t mono_gc_get_used_size   (void);
 int64_t mono_gc_get_heap_size   (void);
 int    mono_gc_invoke_finalizers (void);
+/* heap walking is only valid in the pre-stop-world event callback */
+int    mono_gc_walk_heap        (int flags, MonoGCReferences callback, void *data);
 
 MONO_END_DECLS