X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmetadata-internals.h;h=24cde472b2665a8e0d0a401e2910c53c7000362f;hb=e27b73e000d731907d1350e79ff81d6254a1b38a;hp=1c82b442e2798dbc7ce8fdcf4855fc7c9bdc8ed3;hpb=e264edcf35d33ad051b67b3c20441c1638b75c9a;p=mono.git diff --git a/mono/metadata/metadata-internals.h b/mono/metadata/metadata-internals.h index 1c82b442e27..24cde472b26 100644 --- a/mono/metadata/metadata-internals.h +++ b/mono/metadata/metadata-internals.h @@ -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; @@ -248,6 +259,10 @@ struct _MonoImage { const char *tables_base; + /* For PPDB files */ + guint64 referenced_tables; + int *referenced_table_rows; + /**/ MonoTableInfo tables [MONO_TABLE_NUM]; @@ -295,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; @@ -420,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; @@ -487,7 +503,6 @@ struct _MonoDynamicImage { GHashTable *typespec; GHashTable *typeref; GHashTable *handleref; - MonoGHashTable *handleref_managed; MonoGHashTable *tokens; GHashTable *blob_cache; GHashTable *standalonesig_cache; @@ -775,6 +790,9 @@ MonoGenericInst * mono_metadata_get_generic_inst (int type_argc, MonoType **type_argv); +MonoGenericInst * +mono_metadata_get_canonical_generic_inst (MonoGenericInst *candidate); + MonoGenericClass * mono_metadata_lookup_generic_class (MonoClass *gclass, MonoGenericInst *inst, @@ -811,6 +829,10 @@ mono_assembly_name_parse_full (const char *name, gboolean *is_version_defined, gboolean *is_token_defined); +gboolean +mono_assembly_fill_assembly_name_full (MonoImage *image, MonoAssemblyName *aname, gboolean copyBlobs); + + MONO_API guint32 mono_metadata_get_generic_param_row (MonoImage *image, guint32 token, guint32 *owner); void mono_unload_interface_ids (MonoBitSet *bitset); @@ -917,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__ */