Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / domain-internals.h
index 3cfa02246127b652ccfd974b097451047642283f..6d8042c07680206f4ed4778cf056266fa67bba2f 100644 (file)
@@ -12,6 +12,7 @@
 #include <mono/metadata/lock-tracer.h>
 #include <mono/utils/mono-codeman.h>
 #include <mono/metadata/mono-hash.h>
+#include <mono/metadata/mono-conc-hash.h>
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/mono-internal-hash.h>
 #include <mono/metadata/mempool-internals.h>
@@ -69,6 +70,7 @@ struct _MonoJitInfoTable
 {
        MonoDomain             *domain;
        int                     num_chunks;
+       int                     num_valid;
        MonoJitInfoTableChunk  *chunks [MONO_ZERO_LEN_ARRAY];
 };
 
@@ -241,6 +243,8 @@ struct _MonoJitInfo {
         * d.tramp_info contains additional data in this case.
         */
        gboolean    is_trampoline:1;
+       /* Whenever this jit info refers to an interpreter method */
+       gboolean    is_interp:1;
 
        /* FIXME: Embed this after the structure later*/
        gpointer    gc_info; /* Currently only used by SGen */
@@ -336,12 +340,7 @@ struct _MonoDomain {
        MonoGHashTable     *ldstr_table;
        /* hashtables for Reflection handles */
        MonoGHashTable     *type_hash;
-       MonoGHashTable     *refobject_hash;
-       /*
-        * A GC-tracked array to keep references to the static fields of types.
-        * See note [Domain Static Data Array].
-        */
-       gpointer           *static_data_array;
+       MonoConcGHashTable     *refobject_hash;
        /* maps class -> type initialization exception object */
        MonoGHashTable    *type_init_exception_hash;
        /* maps delegate trampoline addr -> delegate object */
@@ -538,6 +537,9 @@ mono_domain_unset (void);
 void
 mono_domain_set_internal_with_options (MonoDomain *domain, gboolean migrate_exception);
 
+gboolean
+mono_domain_set_config_checked (MonoDomain *domain, const char *base_dir, const char *config_file_name, MonoError *error);
+
 MonoTryBlockHoleTableJitInfo*
 mono_jit_info_get_try_block_hole_table_info (MonoJitInfo *ji);
 
@@ -572,6 +574,9 @@ mono_runtime_set_no_exec (gboolean val);
 gboolean
 mono_runtime_get_no_exec (void);
 
+void
+mono_domain_parse_assembly_bindings (MonoDomain *domain, int amajor, int aminor, gchar *domain_config_file_name);
+
 gboolean
 mono_assembly_name_parse (const char *name, MonoAssemblyName *aname);
 
@@ -579,9 +584,6 @@ MonoImage *mono_assembly_open_from_bundle (const char *filename,
                                           MonoImageOpenStatus *status,
                                           gboolean refonly);
 
-MONO_API void
-mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointer data, guint32 *bitmap);
-
 MonoAssembly *
 mono_try_assembly_resolve (MonoDomain *domain, const char *fname, MonoAssembly *requesting, gboolean refonly, MonoError *error);