/*
* Indexed by fielddef and memberref tokens
*/
- GHashTable *field_cache;
+ GHashTable *field_cache; /*protected by the image lock*/
/* indexed by typespec tokens. */
GHashTable *typespec_cache;
GSList *reflection_info_unregister_classes;
/* List of image sets containing this image */
+ /* Protected by image_sets_lock */
GSList *image_sets;
/* Caches for MonoClass-es representing anon generic params */
/* Maps malloc-ed char* pinvoke scope -> malloced-ed char* filename */
GHashTable *pinvoke_scope_filenames;
+ /* Indexed by MonoGenericParam pointers */
+ GHashTable *gsharedvt_types;
+
/*
* No other runtime locks must be taken while holding this lock.
* It's meant to be used only to mutate and query structures part of this image.
void
mono_remove_image_unload_hook (MonoImageUnloadFunc func, gpointer user_data) MONO_INTERNAL;
+void
+mono_image_append_class_to_reflection_info_set (MonoClass *class) MONO_INTERNAL;
+
gpointer
mono_image_set_alloc (MonoImageSet *set, guint size) MONO_INTERNAL;
MonoType*
mono_metadata_get_shared_type (MonoType *type) MONO_INTERNAL;
-GSList*
+void
mono_metadata_clean_for_image (MonoImage *image) MONO_INTERNAL;
void