[sre] Remove MonoDynamicImage:handleref_managed field
[mono.git] / mono / metadata / metadata-internals.h
index ae524c9f35164b83d38898cbae52b152d5900a3c..24cde472b2665a8e0d0a401e2910c53c7000362f 100644 (file)
@@ -1,3 +1,6 @@
+/**
+ * \file
+ */
 
 #ifndef __MONO_METADATA_INTERNALS_H__
 #define __MONO_METADATA_INTERNALS_H__
@@ -48,6 +51,11 @@ struct _MonoType {
 #define MONO_PROCESSOR_ARCHITECTURE_AMD64 4
 #define MONO_PROCESSOR_ARCHITECTURE_ARM 5
 
+#if !defined(DISABLE_JIT) || defined(ENABLE_INTERPRETER)
+/* Some VES is available at runtime */
+#define ENABLE_ILGEN
+#endif
+
 struct _MonoAssemblyName {
        const char *name;
        const char *culture;
@@ -212,6 +220,9 @@ struct _MonoImage {
        /* Whenever this image contains metadata only without PE data */
        guint8 metadata_only : 1;
 
+       /*  Whether this image belongs to load-from context */
+       guint8 load_from_context: 1;
+
        guint8 checked_module_cctor : 1;
        guint8 has_module_cctor : 1;
 
@@ -299,7 +310,7 @@ struct _MonoImage {
        MonoConcurrentHashTable *field_cache; /*protected by the image lock*/
 
        /* indexed by typespec tokens. */
-       GHashTable *typespec_cache; /* protected by the image lock */
+       MonoConcurrentHashTable *typespec_cache; /* protected by the image lock */
        /* indexed by token */
        GHashTable *memberref_signatures;
        GHashTable *helper_signatures;
@@ -424,7 +435,8 @@ typedef struct {
        MonoImage **images;
 
        // Generic-specific caches
-       GHashTable *gclass_cache, *ginst_cache, *gmethod_cache, *gsignature_cache;
+       GHashTable *ginst_cache, *gmethod_cache, *gsignature_cache;
+       MonoConcurrentHashTable *gclass_cache;
 
        MonoWrapperCaches wrapper_caches;
 
@@ -491,7 +503,6 @@ struct _MonoDynamicImage {
        GHashTable *typespec;
        GHashTable *typeref;
        GHashTable *handleref;
-       MonoGHashTable *handleref_managed;
        MonoGHashTable *tokens;
        GHashTable *blob_cache;
        GHashTable *standalonesig_cache;
@@ -928,8 +939,20 @@ mono_image_set_description (MonoImageSet *);
 MonoImageSet *
 mono_find_image_set_owner (void *ptr);
 
-void
+MONO_API void
 mono_loader_register_module (const char *name, MonoDl *module);
 
+gboolean
+mono_assembly_is_problematic_version (const char *name, guint16 major, guint16 minor, guint16 build, guint16 revision);
+
+void
+mono_ginst_get_desc (GString *str, MonoGenericInst *ginst);
+
+void
+mono_loader_set_strict_strong_names (gboolean enabled);
+
+gboolean
+mono_loader_get_strict_strong_names (void);
+
 #endif /* __MONO_METADATA_INTERNALS_H__ */