/*
* Appdomain-related internal data structures and functions.
* Copyright 2012 Xamarin Inc (http://www.xamarin.com)
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
*/
#ifndef __MONO_METADATA_DOMAIN_INTERNALS_H__
#define __MONO_METADATA_DOMAIN_INTERNALS_H__
int refcount;
volatile int num_elements;
volatile gint8 *last_code_end;
+ MonoJitInfo *next_tombstone;
MonoJitInfo * volatile data [MONO_JIT_INFO_TABLE_CHUNK_SIZE];
};
gpointer aot_info;
gpointer tramp_info;
} d;
- struct _MonoJitInfo *next_jit_code_hash;
+ union {
+ struct _MonoJitInfo *next_jit_code_hash;
+ struct _MonoJitInfo *next_tombstone;
+ } n;
gpointer code_start;
guint32 unwind_info;
int code_size;
/* Maps MonoMethod* to weak links to DynamicMethod objects */
GHashTable *method_to_dyn_method;
+ /* <ThrowUnobservedTaskExceptions /> support */
+ gboolean throw_unobserved_task_exceptions;
+
guint32 execution_context_field_offset;
};
mono_jit_info_set_generic_sharing_context (MonoJitInfo *ji, MonoGenericSharingContext *gsctx);
char *
-mono_make_shadow_copy (const char *filename);
+mono_make_shadow_copy (const char *filename, MonoError *error);
gboolean
mono_is_shadow_copy_enabled (MonoDomain *domain, const gchar *dir_name);
MonoString *
ves_icall_System_AppDomain_InternalGetProcessGuid (MonoString* newguid);
+MonoBoolean
+ves_icall_System_CLRConfig_CheckThrowUnobservedTaskExceptions (void);
+
MonoAssembly *
mono_assembly_load_corlib (const MonoRuntimeInfo *runtime, MonoImageOpenStatus *status);
mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointer data, guint32 *bitmap);
MonoReflectionAssembly *
-mono_try_assembly_resolve (MonoDomain *domain, MonoString *fname, MonoAssembly *requesting, gboolean refonly);
+mono_try_assembly_resolve (MonoDomain *domain, MonoString *fname, MonoAssembly *requesting, gboolean refonly, MonoError *error);
MonoAssembly *
mono_domain_assembly_postload_search (MonoAssemblyName *aname, MonoAssembly *requesting, gboolean refonly);
MonoImageOpenStatus *status,
gboolean refonly);
-void mono_set_private_bin_path_from_config (MonoDomain *domain);
+void mono_domain_set_options_from_config (MonoDomain *domain);
int mono_framework_version (void);
void mono_enable_debug_domain_unload (gboolean enable);
+MonoReflectionAssembly *
+mono_domain_try_type_resolve_checked (MonoDomain *domain, char *name, MonoObject *tb, MonoError *error);
+
+void
+mono_runtime_init_checked (MonoDomain *domain, MonoThreadStartCB start_cb, MonoThreadAttachCB attach_cb, MonoError *error);
+
+void
+mono_context_init_checked (MonoDomain *domain, MonoError *error);
+
#endif /* __MONO_METADATA_DOMAIN_INTERNALS_H__ */