Add two wrappers which are used to transition between normal and gsharedvt code.
[mono.git] / mono / metadata / metadata-internals.h
index 93a439899271d6619cb1ddb6c974a0b4f418c28b..3bcfc593170f17c547649d01490a23f74d230a66 100644 (file)
@@ -273,6 +273,7 @@ struct _MonoImage {
        GHashTable *managed_wrapper_cache;
        GHashTable *native_wrapper_cache;
        GHashTable *native_wrapper_aot_cache;
+       GHashTable *native_func_wrapper_aot_cache;
        GHashTable *remoting_invoke_cache;
        GHashTable *synchronized_cache;
        GHashTable *unbox_wrapper_cache;
@@ -322,6 +323,12 @@ struct _MonoImage {
        GHashTable *var_cache_slow;
        GHashTable *mvar_cache_slow;
 
+       /* Maps malloc-ed char* pinvoke scope -> MonoDl* */
+       GHashTable *pinvoke_scopes;
+
+       /* Maps malloc-ed char* pinvoke scope -> malloced-ed char* filename */
+       GHashTable *pinvoke_scope_filenames;
+
        /*
         * 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.
@@ -417,6 +424,10 @@ struct _MonoDynamicImage {
        GHashTable *vararg_aux_hash;
        MonoGHashTable *generic_def_objects;
        MonoGHashTable *methodspec;
+       /*
+        * Maps final token values to the object they describe.
+        */
+       MonoGHashTable *remapped_tokens;
        gboolean run;
        gboolean save;
        gboolean initial_image;
@@ -654,6 +665,7 @@ void mono_assembly_addref       (MonoAssembly *assembly) MONO_INTERNAL;
 void mono_assembly_load_friends (MonoAssembly* ass) MONO_INTERNAL;
 gboolean mono_assembly_has_skip_verification (MonoAssembly* ass) MONO_INTERNAL;
 
+void mono_assembly_release_gc_roots (MonoAssembly *assembly) MONO_INTERNAL;
 gboolean mono_assembly_close_except_image_pools (MonoAssembly *assembly) MONO_INTERNAL;
 void mono_assembly_close_finish (MonoAssembly *assembly) MONO_INTERNAL;