X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmono-gc.h;h=689cad28a88b142337ea997146cace72324c5283;hb=57ade9dfca648f4970d4c48ebd96d1a02be9e975;hp=6a7dea12c055c8dce2e1be20981c732a1376b2e1;hpb=3d693eeb90339833968d66c3dc9fde2fa3ba2cef;p=mono.git diff --git a/mono/metadata/mono-gc.h b/mono/metadata/mono-gc.h index 6a7dea12c05..689cad28a88 100644 --- a/mono/metadata/mono-gc.h +++ b/mono/metadata/mono-gc.h @@ -7,16 +7,21 @@ #include -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__ */