[aot] Fix the emission of dwarf debug info.
[mono.git] / mono / metadata / mono-gc.h
index 6a7dea12c055c8dce2e1be20981c732a1376b2e1..689cad28a88b142337ea997146cace72324c5283 100644 (file)
@@ -7,16 +7,21 @@
 
 #include <mono/metadata/object.h>
 
-G_BEGIN_DECLS
+MONO_BEGIN_DECLS
 
-void   mono_gc_collect         (int generation);
-int    mono_gc_max_generation  (void);
-int    mono_gc_get_generation  (MonoObject *object);
-int    mono_gc_collection_count (int generation);
-gint64 mono_gc_get_used_size   (void);
-gint64 mono_gc_get_heap_size   (void);
+typedef int (*MonoGCReferences) (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num, MonoObject **refs, uintptr_t *offsets, void *data);
 
-G_END_DECLS
+MONO_API void   mono_gc_collect         (int generation);
+MONO_API int    mono_gc_max_generation  (void);
+MONO_API int    mono_gc_get_generation  (MonoObject *object);
+MONO_API int    mono_gc_collection_count (int generation);
+MONO_API int64_t mono_gc_get_used_size   (void);
+MONO_API int64_t mono_gc_get_heap_size   (void);
+MONO_API int    mono_gc_invoke_finalizers (void);
+/* heap walking is only valid in the pre-stop-world event callback */
+MONO_API int    mono_gc_walk_heap        (int flags, MonoGCReferences callback, void *data);
+
+MONO_END_DECLS
 
 #endif /* __METADATA_MONO_GC_H__ */