projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #3749 from BrzVlad/fix-mips-fix
[mono.git]
/
mono
/
metadata
/
marshal.c
diff --git
a/mono/metadata/marshal.c
b/mono/metadata/marshal.c
index f5cfadbb8faf929ec49a9295ab0f955476660643..d771d22d2ee6833810f31e5b6bbb39fbbf3fdc93 100644
(file)
--- a/
mono/metadata/marshal.c
+++ b/
mono/metadata/marshal.c
@@
-9369,7
+9369,8
@@
mono_marshal_get_synchronized_wrapper (MonoMethod *method)
#endif
if (method->klass->valuetype && !(method->flags & MONO_METHOD_ATTR_STATIC)) {
#endif
if (method->klass->valuetype && !(method->flags & MONO_METHOD_ATTR_STATIC)) {
- mono_class_set_failure (method->klass, MONO_EXCEPTION_TYPE_LOAD, NULL);
+ /* FIXME Is this really the best way to signal an error here? Isn't this called much later after class setup? -AK */
+ mono_class_set_type_load_failure (method->klass, "");
#ifndef DISABLE_JIT
/* This will throw the type load exception when the wrapper is compiled */
mono_mb_emit_byte (mb, CEE_LDNULL);
#ifndef DISABLE_JIT
/* This will throw the type load exception when the wrapper is compiled */
mono_mb_emit_byte (mb, CEE_LDNULL);
@@
-11332,6
+11333,9
@@
mono_marshal_load_type_info (MonoClass* klass)
j++;
}
j++;
}
+ if (klass->byval_arg.type == MONO_TYPE_PTR)
+ info->native_size = sizeof (gpointer);
+
if (layout != TYPE_ATTRIBUTE_AUTO_LAYOUT) {
info->native_size = MAX (native_size, info->native_size);
/*
if (layout != TYPE_ATTRIBUTE_AUTO_LAYOUT) {
info->native_size = MAX (native_size, info->native_size);
/*