X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-gc.h;h=689cad28a88b142337ea997146cace72324c5283;hb=57ade9dfca648f4970d4c48ebd96d1a02be9e975;hp=61f2d61a8bc985a4782fe80e69b0bb9a1632783e;hpb=b6b13e72e91d5b529a6306ce53bda685932c77db;p=mono.git diff --git a/mono/metadata/mono-gc.h b/mono/metadata/mono-gc.h index 61f2d61a8bc..689cad28a88 100644 --- a/mono/metadata/mono-gc.h +++ b/mono/metadata/mono-gc.h @@ -5,16 +5,23 @@ #ifndef __METADATA_MONO_GC_H__ #define __METADATA_MONO_GC_H__ -#include +#include -G_BEGIN_DECLS +MONO_BEGIN_DECLS -void mono_gc_collect (int generation); -int mono_gc_max_generation (void); -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__ */