Imported Upstream version 4.4.0.142

Former-commit-id: 08ca4d6ded648b2ac2eb817c12d5723b52edbb16
This commit is contained in:
Xamarin Public Jenkins
2016-04-28 08:44:23 -04:00
parent d444f0caa4
commit 67cc8417df
39 changed files with 187 additions and 47 deletions

View File

@@ -96,6 +96,12 @@ void
mono_mb_free (MonoMethodBuilder *mb)
{
#ifndef DISABLE_JIT
GList *l;
for (l = mb->locals_list; l; l = l->next) {
/* Allocated in mono_mb_add_local () */
g_free (l->data);
}
g_list_free (mb->locals_list);
if (!mb->dynamic) {
g_free (mb->method);
@@ -148,7 +154,7 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
header->code = mb->code;
for (i = 0, l = mb->locals_list; l; l = l->next, i++) {
header->locals [i] = mono_metadata_type_dup (NULL, (MonoType*)l->data);
header->locals [i] = (MonoType*)l->data;
}
} else
#endif
@@ -172,11 +178,15 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
memcpy ((char*)header->code, mb->code, mb->pos);
for (i = 0, l = mb->locals_list; l; l = l->next, i++) {
header->locals [i] = mono_metadata_type_dup (NULL, (MonoType*)l->data);
header->locals [i] = (MonoType*)l->data;
}
#endif
}
/* Free the locals list so mono_mb_free () doesn't free the types twice */
g_list_free (mb->locals_list);
mb->locals_list = NULL;
method->signature = signature;
if (!signature->hasthis)
method->flags |= METHOD_ATTRIBUTE_STATIC;
@@ -268,12 +278,19 @@ int
mono_mb_add_local (MonoMethodBuilder *mb, MonoType *type)
{
int res;
MonoType *t;
/*
* Have to make a copy early since type might be sig->ret,
* which is transient, see mono_metadata_signature_dup_internal_with_padding ().
*/
t = mono_metadata_type_dup (NULL, type);
g_assert (mb != NULL);
g_assert (type != NULL);
res = mb->locals;
mb->locals_list = g_list_append (mb->locals_list, type);
mb->locals_list = g_list_append (mb->locals_list, t);
mb->locals++;
return res;

View File

@@ -801,7 +801,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in
version.h: Makefile
echo "#define FULL_VERSION \"Stable 4.4.0.122/a3fabf1\"" > version.h
echo "#define FULL_VERSION \"Stable 4.4.0.142/81f38a9\"" > version.h
# Utility target for patching libtool to speed up linking
patch-libtool:

View File

@@ -801,7 +801,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in
version.h: Makefile
echo "#define FULL_VERSION \"Stable 4.4.0.122/a3fabf1\"" > version.h
echo "#define FULL_VERSION \"Stable 4.4.0.142/81f38a9\"" > version.h
# Utility target for patching libtool to speed up linking
patch-libtool:

View File

@@ -1 +1 @@
c30141f67c9a2e03366c40284ff6f85c7ec12f08
fe183791db460a9dd05074980db60cfb70ea20c4

View File

@@ -248,7 +248,8 @@ mono_replace_ins (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins, MonoInst
bb->has_array_access |= first_bb->has_array_access;
/* Delete the links between the original bb and its successors */
tmp_bblocks = bb->out_bb;
tmp_bblocks = mono_mempool_alloc0 (cfg->mempool, sizeof (MonoBasicBlock*) * bb->out_count);
memcpy (tmp_bblocks, bb->out_bb, sizeof (MonoBasicBlock*) * bb->out_count);
count = bb->out_count;
for (i = 0; i < count; ++i)
mono_unlink_bblock (cfg, bb, tmp_bblocks [i]);

View File

@@ -195,6 +195,7 @@ load_file (const char *name) {
if (is_template && !desc->name)
g_error ("Template without name at line %d in %s\n", line, name);
}
g_string_free (comment,TRUE);
fclose (f);
return 0;
}

View File

@@ -1163,7 +1163,7 @@ mini_jit_info_table_find_ext (MonoDomain *domain, char *addr, gboolean allow_tra
MonoJitInfo*
mini_jit_info_table_find (MonoDomain *domain, char *addr, MonoDomain **out_domain)
{
return mini_jit_info_table_find_ext (domain, addr, TRUE, out_domain);
return mini_jit_info_table_find_ext (domain, addr, FALSE, out_domain);
}
/*

View File

@@ -1 +1 @@
#define FULL_VERSION "Stable 4.4.0.122/a3fabf1"
#define FULL_VERSION "Stable 4.4.0.142/81f38a9"

View File

@@ -89,7 +89,7 @@
/* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some
architectures is 64k. */
#if defined(TARGET_POWERPC64)
#if defined(TARGET_POWERPC) || defined(TARGET_POWERPC64)
#define ARCH_MIN_MS_BLOCK_SIZE (64*1024)
#define ARCH_MIN_MS_BLOCK_SIZE_SHIFT 16
#endif

View File

@@ -614,7 +614,7 @@ null_link_if (gpointer hidden, GCHandleType handle_type, int max_generation, gpo
return hidden;
if (closure->predicate (obj, closure->data))
return NULL;
return MONO_GC_HANDLE_METADATA_POINTER (sgen_client_default_metadata (), GC_HANDLE_TYPE_IS_WEAK (handle_type));
return hidden;
}