projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into config-checks-ipv6
[mono.git]
/
mono
/
metadata
/
domain-internals.h
diff --git
a/mono/metadata/domain-internals.h
b/mono/metadata/domain-internals.h
index 5e8282ccdf6e5311e019ed78779511bffcf3ed06..bdab742092f8c75340cf6bbaf3054bcbe9582356 100644
(file)
--- a/
mono/metadata/domain-internals.h
+++ b/
mono/metadata/domain-internals.h
@@
-1,4
+1,5
@@
-/*
+/**
+ * \file
* 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.
* 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.
@@
-183,12
+184,22
@@
typedef struct {
int thunks_size;
} MonoThunkJitInfo;
int thunks_size;
} MonoThunkJitInfo;
+typedef struct {
+ guint8 *unw_info;
+ int unw_info_len;
+} MonoUnwindJitInfo;
+
typedef enum {
JIT_INFO_NONE = 0,
JIT_INFO_HAS_GENERIC_JIT_INFO = (1 << 0),
JIT_INFO_HAS_TRY_BLOCK_HOLES = (1 << 1),
JIT_INFO_HAS_ARCH_EH_INFO = (1 << 2),
typedef enum {
JIT_INFO_NONE = 0,
JIT_INFO_HAS_GENERIC_JIT_INFO = (1 << 0),
JIT_INFO_HAS_TRY_BLOCK_HOLES = (1 << 1),
JIT_INFO_HAS_ARCH_EH_INFO = (1 << 2),
- JIT_INFO_HAS_THUNK_INFO = (1 << 3)
+ JIT_INFO_HAS_THUNK_INFO = (1 << 3),
+ /*
+ * If this is set, the unwind info is stored in the structure, instead of being pointed to by the
+ * 'unwind_info' field.
+ */
+ JIT_INFO_HAS_UNWIND_INFO = (1 << 4)
} MonoJitInfoFlags;
struct _MonoJitInfo {
} MonoJitInfoFlags;
struct _MonoJitInfo {
@@
-216,6
+227,7
@@
struct _MonoJitInfo {
gboolean has_try_block_holes:1;
gboolean has_arch_eh_info:1;
gboolean has_thunk_info:1;
gboolean has_try_block_holes:1;
gboolean has_arch_eh_info:1;
gboolean has_thunk_info:1;
+ gboolean has_unwind_info:1;
gboolean from_aot:1;
gboolean from_llvm:1;
gboolean dbg_attrs_inited:1;
gboolean from_aot:1;
gboolean from_llvm:1;
gboolean dbg_attrs_inited:1;
@@
-325,11
+337,6
@@
struct _MonoDomain {
/* hashtables for Reflection handles */
MonoGHashTable *type_hash;
MonoGHashTable *refobject_hash;
/* 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;
/* maps class -> type initialization exception object */
MonoGHashTable *type_init_exception_hash;
/* maps delegate trampoline addr -> delegate object */
/* maps class -> type initialization exception object */
MonoGHashTable *type_init_exception_hash;
/* maps delegate trampoline addr -> delegate object */
@@
-427,7
+434,7
@@
typedef struct {
typedef struct {
const char runtime_version [12];
const char framework_version [4];
typedef struct {
const char runtime_version [12];
const char framework_version [4];
- const AssemblyVersionSet version_sets [
4
];
+ const AssemblyVersionSet version_sets [
5
];
} MonoRuntimeInfo;
#define mono_domain_assemblies_lock(domain) mono_locks_os_acquire(&(domain)->assemblies_lock, DomainAssembliesLock)
} MonoRuntimeInfo;
#define mono_domain_assemblies_lock(domain) mono_locks_os_acquire(&(domain)->assemblies_lock, DomainAssembliesLock)
@@
-535,6
+542,9
@@
mono_jit_info_get_arch_eh_info (MonoJitInfo *ji);
MonoThunkJitInfo*
mono_jit_info_get_thunk_info (MonoJitInfo *ji);
MonoThunkJitInfo*
mono_jit_info_get_thunk_info (MonoJitInfo *ji);
+MonoUnwindJitInfo*
+mono_jit_info_get_unwind_info (MonoJitInfo *ji);
+
/*
* Installs a new function which is used to return a MonoJitInfo for a method inside
* an AOT module.
/*
* Installs a new function which is used to return a MonoJitInfo for a method inside
* an AOT module.
@@
-564,9
+574,6
@@
MonoImage *mono_assembly_open_from_bundle (const char *filename,
MonoImageOpenStatus *status,
gboolean refonly);
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);
MonoAssembly *
mono_try_assembly_resolve (MonoDomain *domain, const char *fname, MonoAssembly *requesting, gboolean refonly, MonoError *error);