2 * mono-gc.h: GC related public interface
5 #ifndef __METADATA_MONO_GC_H__
6 #define __METADATA_MONO_GC_H__
8 #include <mono/metadata/object.h>
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
);
26 #endif /* __METADATA_MONO_GC_H__ */