2 * metadata/gc-internal.h: GC icalls.
4 * Author: Paolo Molaro <lupus@ximian.com>
6 * (C) 2002 Ximian, Inc.
9 #ifndef __MONO_METADATA_GC_H__
10 #define __MONO_METADATA_GC_H__
13 #include <mono/metadata/object-internals.h>
15 void mono_object_register_finalizer (MonoObject
*obj
);
16 void ves_icall_System_GC_InternalCollect (int generation
);
17 gint64
ves_icall_System_GC_GetTotalMemory (MonoBoolean forceCollection
);
18 void ves_icall_System_GC_KeepAlive (MonoObject
*obj
);
19 void ves_icall_System_GC_ReRegisterForFinalize (MonoObject
*obj
);
20 void ves_icall_System_GC_SuppressFinalize (MonoObject
*obj
);
21 void ves_icall_System_GC_WaitForPendingFinalizers (void);
23 MonoObject
*ves_icall_System_GCHandle_GetTarget (guint32 handle
);
24 guint32
ves_icall_System_GCHandle_GetTargetHandle (MonoObject
*obj
, guint32 handle
, gint32 type
);
25 void ves_icall_System_GCHandle_FreeHandle (guint32 handle
);
26 gpointer
ves_icall_System_GCHandle_GetAddrOfPinnedObject (guint32 handle
);
28 extern void mono_gc_init (void);
29 extern void mono_gc_cleanup (void);
30 extern void mono_gc_enable (void);
31 extern void mono_gc_disable (void);
32 /* only valid after the RECLAIM_START GC event and before RECLAIM_END
33 * Not exported in public headers, but can be linked to (unsupported).
35 extern gboolean
mono_object_is_alive (MonoObject
* obj
);
36 extern gboolean
mono_gc_is_finalizer_thread (MonoThread
*thread
);
37 extern gpointer
mono_gc_out_of_memory (size_t size
);
38 extern void mono_gc_enable_events (void);
40 #endif /* __MONO_METADATA_GC_H__ */