Merge pull request #2202 from mono/revert-2090-mono-4.2.0-branch-bug25480
[mono-project.git] / mono / metadata / mono-gc.h
blob689cad28a88b142337ea997146cace72324c5283
1 /*
2 * mono-gc.h: GC related public interface
4 */
5 #ifndef __METADATA_MONO_GC_H__
6 #define __METADATA_MONO_GC_H__
8 #include <mono/metadata/object.h>
10 MONO_BEGIN_DECLS
12 typedef int (*MonoGCReferences) (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num, MonoObject **refs, uintptr_t *offsets, void *data);
14 MONO_API void mono_gc_collect (int generation);
15 MONO_API int mono_gc_max_generation (void);
16 MONO_API int mono_gc_get_generation (MonoObject *object);
17 MONO_API int mono_gc_collection_count (int generation);
18 MONO_API int64_t mono_gc_get_used_size (void);
19 MONO_API int64_t mono_gc_get_heap_size (void);
20 MONO_API int mono_gc_invoke_finalizers (void);
21 /* heap walking is only valid in the pre-stop-world event callback */
22 MONO_API int mono_gc_walk_heap (int flags, MonoGCReferences callback, void *data);
24 MONO_END_DECLS
26 #endif /* __METADATA_MONO_GC_H__ */