/* Whenever this image contains uncompressed metadata */
guint8 uncompressed_metadata : 1;
+ /* Whenever this image contains metadata only without PE data */
+ guint8 metadata_only : 1;
+
guint8 checked_module_cctor : 1;
guint8 has_module_cctor : 1;
GHashTable *managed_wrapper_cache;
GHashTable *native_wrapper_cache;
GHashTable *native_wrapper_aot_cache;
+ GHashTable *native_wrapper_check_cache;
+ GHashTable *native_wrapper_aot_check_cache;
GHashTable *native_func_wrapper_aot_cache;
GHashTable *remoting_invoke_cache;
GHashTable *synchronized_cache;
MonoClass **mvar_cache_fast;
GHashTable *var_cache_slow;
GHashTable *mvar_cache_slow;
+ GHashTable *var_cache_constrained;
+ GHashTable *mvar_cache_constrained;
/* Maps malloc-ed char* pinvoke scope -> MonoDl* */
GHashTable *pinvoke_scopes;
GHashTable *pinvoke_scope_filenames;
/* Indexed by MonoGenericParam pointers */
- GHashTable *gsharedvt_types;
+ GHashTable **gshared_types;
+ /* The length of the above array */
+ int gshared_types_len;
/*
* No other runtime locks must be taken while holding this lock.
const char *ptr,
const char **rptr);
-MonoMethodSignature *
-mono_metadata_parse_signature_full (MonoImage *image,
- MonoGenericContainer *generic_container,
- guint32 token);
-
MONO_API MonoMethodSignature *
mono_metadata_parse_method_signature_full (MonoImage *image,
MonoGenericContainer *generic_container,
MonoGenericInst * mono_metadata_inflate_generic_inst (MonoGenericInst *ginst, MonoGenericContext *context, MonoError *error);
+guint
+mono_metadata_generic_param_hash (MonoGenericParam *p);
+
+gboolean
+mono_metadata_generic_param_equal (MonoGenericParam *p1, MonoGenericParam *p2);
+
void mono_dynamic_stream_reset (MonoDynamicStream* stream);
void mono_assembly_addref (MonoAssembly *assembly);
void mono_assembly_load_friends (MonoAssembly* ass);
MonoImage *mono_image_open_raw (const char *fname, MonoImageOpenStatus *status);
+MonoImage *mono_image_open_metadata_only (const char *fname, MonoImageOpenStatus *status);
+
MonoException *mono_get_exception_field_access_msg (const char *msg);
MonoException *mono_get_exception_method_access_msg (const char *msg);
MonoMethod *
mono_get_method_checked (MonoImage *image, guint32 token, MonoClass *klass, MonoGenericContext *context, MonoError *error);
+guint32
+mono_metadata_localscope_from_methoddef (MonoImage *meta, guint32 index);
+
#endif /* __MONO_METADATA_INTERNALS_H__ */