diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index d752e9d091..0eb5126354 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -37c1b000c4419715dad5a8f78a060364b72479dd \ No newline at end of file +500f87548b7d7fc19932796f10f77b860532830c \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index 7b77cd99a1..4c8bbf747c 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -0fcbd9917a47e8f359dbdcbd676abae3b61dc4e6 \ No newline at end of file +c37b093c9632205f4c8961496754329b55b87cc6 \ No newline at end of file diff --git a/mcs/build/common/Consts.cs b/mcs/build/common/Consts.cs index 417dcfc694..6e0ceeeecf 100644 --- a/mcs/build/common/Consts.cs +++ b/mcs/build/common/Consts.cs @@ -34,7 +34,7 @@ static class Consts // Use these assembly version constants to make code more maintainable. // - public const string MonoVersion = "5.8.0.88"; + public const string MonoVersion = "5.8.0.103"; public const string MonoCompany = "Mono development team"; public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoCopyright = "(c) Various Mono authors"; diff --git a/mcs/class/lib/monolite-darwin/1050800000/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/Mono.Security.dll.REMOVED.git-id index 6fe5171a65..e7cfbdef0e 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -c460af5e308e5dcd4ce52fe1f96343a85c8e8ed4 \ No newline at end of file +60a68c5ab5b1c095b8a1a23761f45ff75b1bf9db \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/System.Configuration.dll.REMOVED.git-id index d802e39f88..43be64be0d 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -ad4bf3fe7092b8a49e8a4b5272e6bd2e1a3e754d \ No newline at end of file +4d9a8c11d37509f6374d96c87a8faabbd90eded0 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/System.Numerics.dll.REMOVED.git-id index aef9b8923f..350837da3d 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -22ebdf4fb26c210ef61597b5c98e36ee6738c566 \ No newline at end of file +c2e760a7bb7d670d2858a4a763c68a6a144fe3d5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/System.Security.dll.REMOVED.git-id index 3e95f50b4c..1686119651 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -b61e7c78b678a0e29b371066324c40cc54d8290a \ No newline at end of file +5faa2a5296ce8e5717873b82b8cc94f7f4a0bf77 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/System.Xml.dll.REMOVED.git-id index 233f9c433c..0e9803ced2 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -f8c250e2523d70ab4cc7212751f123f38f6222f0 \ No newline at end of file +db80c37286faf91a62bd4868e0a57bbff4bbf5dd \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/mcs.exe.REMOVED.git-id index 12ece4711c..2999e3160c 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -3c229dd1cd687ae6aaaf02c99caf42f48272d2e0 \ No newline at end of file +ff2d583abecb15a4159513f02909e9644b50845a \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1050800000/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1050800000/mscorlib.dll.REMOVED.git-id index 17e2b38e61..f8403a0a6c 100644 --- a/mcs/class/lib/monolite-darwin/1050800000/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1050800000/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -d1b3960c2e53dd40209ef617d0359bd6facb3459 \ No newline at end of file +97d5ef8a4d495313de00e7f5affb9eec789f33f8 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/Mono.Security.dll.REMOVED.git-id index 51eaa3e5a4..ef4820ad25 100644 --- a/mcs/class/lib/monolite-linux/1050800000/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -1e337c3129e2f8920ae3074e27e4cad8dfa80f4d \ No newline at end of file +44d62229b5c4ec1cc50052f9edac17abc069be87 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/System.Configuration.dll.REMOVED.git-id index 1ee936f677..47a19d54a2 100644 --- a/mcs/class/lib/monolite-linux/1050800000/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -5cd79b8575f26f15deeeaaf7847dde1920ccff81 \ No newline at end of file +3231f9c9fb037e65dc5b487d8e045e6839fdb40c \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/System.Numerics.dll.REMOVED.git-id index 2e907bc359..81cabbfbbb 100644 --- a/mcs/class/lib/monolite-linux/1050800000/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -bdb13b5a912c910e389cf8a71503467473bf862f \ No newline at end of file +c699d7350bbed35bd074ad7ec966882d4a8222a5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/System.Security.dll.REMOVED.git-id index f61b57d383..2da8694af1 100644 --- a/mcs/class/lib/monolite-linux/1050800000/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -8d2205d67d86470adbe0102be00e862070d907fc \ No newline at end of file +fe41a9a3652738c39a0c71f9799ddb76564dacca \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/System.Xml.dll.REMOVED.git-id index 69733bd6f5..4d80ffa83b 100644 --- a/mcs/class/lib/monolite-linux/1050800000/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -f12c42672958d7d4aec3ad6c7039f5690b3aaa9a \ No newline at end of file +1d4d16c4202a3dd4e1bd6aaafbf074847bedebc5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/mcs.exe.REMOVED.git-id index 5758658a72..2372eaf186 100644 --- a/mcs/class/lib/monolite-linux/1050800000/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -2fbad1b568c155d4eb29e43beaf50a560e56004b \ No newline at end of file +37b5f7e483f84610a3d92bf44c08795ec777f872 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1050800000/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1050800000/mscorlib.dll.REMOVED.git-id index 521a914e7e..1aff967991 100644 --- a/mcs/class/lib/monolite-linux/1050800000/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1050800000/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -a5322f57a2f00e7de78ef60d35784b0d7edfe0e6 \ No newline at end of file +840349a1da3cab83ed2416e0fe3cf80aa6fc9243 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/Mono.Security.dll.REMOVED.git-id index 6df49ab1bb..da5af04252 100644 --- a/mcs/class/lib/monolite-win32/1050800000/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -fb51678822ba19283fa5d4fe415aa99a924724a3 \ No newline at end of file +e3b737b021aeb062d04a0ead6c7dd16c06983a17 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/System.Configuration.dll.REMOVED.git-id index a891426f46..579c3869ec 100644 --- a/mcs/class/lib/monolite-win32/1050800000/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -b9468862e00b5ce32a69725e11976e6bcb1bec36 \ No newline at end of file +9307bdb8a4bd3c7dc23adbb5bae334c5c0043388 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/System.Numerics.dll.REMOVED.git-id index 602307b4b3..cfe74d8fda 100644 --- a/mcs/class/lib/monolite-win32/1050800000/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -798e96081eac184a05402f0359ea68c921c752ec \ No newline at end of file +a63779d1104e813ef407fb99a6fdcb40a78c00a5 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/System.Security.dll.REMOVED.git-id index 242c160a35..31c71356d4 100644 --- a/mcs/class/lib/monolite-win32/1050800000/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -60227503e13c4a7575b30e0fe10cc0d769b42876 \ No newline at end of file +9a07ce5baaefc0d4c983b00300033fc0a72c4fdf \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/System.Xml.dll.REMOVED.git-id index e438a68357..f5e81f3fc0 100644 --- a/mcs/class/lib/monolite-win32/1050800000/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -6e6368f45a69b8f488106fa01ffde9cd8db25369 \ No newline at end of file +b6411a56f6d6143a03f07e9a4bcf47cff8ea1fb1 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/mcs.exe.REMOVED.git-id index ba3d825ce0..ccd06729bf 100644 --- a/mcs/class/lib/monolite-win32/1050800000/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -dc9865b21a260efca86f1c6fdefcfb697d05f93b \ No newline at end of file +0242bb183e348d3a4093f10229703bf152b00efd \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1050800000/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1050800000/mscorlib.dll.REMOVED.git-id index 4ee768cdc3..0d0d593e24 100644 --- a/mcs/class/lib/monolite-win32/1050800000/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1050800000/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -8ad7c260dca99201c101cfbbf2cdf206e2f453c5 \ No newline at end of file +bcd19f07e37fdf9b2936e2f211cf05d2948682fc \ No newline at end of file diff --git a/mcs/tools/Makefile b/mcs/tools/Makefile index 09db25649e..719333e6cf 100644 --- a/mcs/tools/Makefile +++ b/mcs/tools/Makefile @@ -50,7 +50,7 @@ net_4_5_dirs := \ linker-analyzer build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker -monodroid_tools_SUBDIRS = cil-strip mkbundle mdoc mono-symbolicate +monodroid_tools_SUBDIRS = cil-strip linker-analyzer mkbundle mdoc mono-symbolicate net_4_5_SUBDIRS = gacutil net_4_x_SUBDIRS = gacutil net_4_5_PARALLEL_SUBDIRS = $(net_4_5_dirs) diff --git a/mono/metadata/icall.c.REMOVED.git-id b/mono/metadata/icall.c.REMOVED.git-id index 1f90e11c69..db7ae88696 100644 --- a/mono/metadata/icall.c.REMOVED.git-id +++ b/mono/metadata/icall.c.REMOVED.git-id @@ -1 +1 @@ -3198e4fbc46804c871794fa1bc64a82aac2bfeed \ No newline at end of file +f47dddb8a66a8e503efc514a62fe40f63681abc4 \ No newline at end of file diff --git a/mono/metadata/loader.c b/mono/metadata/loader.c index 4bec14b2c1..bfce10b806 100644 --- a/mono/metadata/loader.c +++ b/mono/metadata/loader.c @@ -1905,6 +1905,10 @@ get_method_constrained (MonoImage *image, MonoMethod *method, MonoClass *constra g_assert (vtable_slot >= 0); MonoMethod *res = mono_class_get_vtable_entry (constrained_class, vtable_slot); + if (res == NULL && mono_class_is_abstract (constrained_class) ) { + /* Constraining class is abstract, there may not be a refined method. */ + return method; + } g_assert (res != NULL); if (inflated_generic_method) { g_assert (res->is_generic); diff --git a/mono/metadata/threads.c.REMOVED.git-id b/mono/metadata/threads.c.REMOVED.git-id index ec5b80025c..e228b0dc8a 100644 --- a/mono/metadata/threads.c.REMOVED.git-id +++ b/mono/metadata/threads.c.REMOVED.git-id @@ -1 +1 @@ -43c8a61d9ab8159f75591149aa572c470dc52227 \ No newline at end of file +ee50106c4400fbe6db4bb4eb77b468378808a115 \ No newline at end of file diff --git a/mono/mini/aot-compiler.c.REMOVED.git-id b/mono/mini/aot-compiler.c.REMOVED.git-id index b12fa05f83..db96ac2fc7 100644 --- a/mono/mini/aot-compiler.c.REMOVED.git-id +++ b/mono/mini/aot-compiler.c.REMOVED.git-id @@ -1 +1 @@ -6a32c135e9212ab9d7a66157990c5e67740fe8be \ No newline at end of file +fde1ef74356c9a973267aac779c7f1da50214fa9 \ No newline at end of file diff --git a/mono/mini/aot-runtime.c.REMOVED.git-id b/mono/mini/aot-runtime.c.REMOVED.git-id index b8554be7d8..188522941b 100644 --- a/mono/mini/aot-runtime.c.REMOVED.git-id +++ b/mono/mini/aot-runtime.c.REMOVED.git-id @@ -1 +1 @@ -7330d1cd30a976205ad29f6ae985472c6a8b28ad \ No newline at end of file +869030a48815605bf8a9e74965b03ca1a65e54cc \ No newline at end of file diff --git a/mono/mini/interp/interp.c.REMOVED.git-id b/mono/mini/interp/interp.c.REMOVED.git-id index 31a246e7a3..6b6c83008f 100644 --- a/mono/mini/interp/interp.c.REMOVED.git-id +++ b/mono/mini/interp/interp.c.REMOVED.git-id @@ -1 +1 @@ -c821b7ac59ac6773746b6d5a79da93c03e0543cf \ No newline at end of file +d4a876c2cf6a8a19d59f016b5764f806e9aac3c2 \ No newline at end of file diff --git a/mono/mini/method-to-ir.c.REMOVED.git-id b/mono/mini/method-to-ir.c.REMOVED.git-id index 86d83651b3..418e183d9a 100644 --- a/mono/mini/method-to-ir.c.REMOVED.git-id +++ b/mono/mini/method-to-ir.c.REMOVED.git-id @@ -1 +1 @@ -54e8c3580bf1ac6270c750908ad59a82b1165102 \ No newline at end of file +d30f0570533a137038bda04e9797e5cb0fe957d5 \ No newline at end of file diff --git a/mono/mini/mini-amd64.c.REMOVED.git-id b/mono/mini/mini-amd64.c.REMOVED.git-id index 583a621745..284bb1f410 100644 --- a/mono/mini/mini-amd64.c.REMOVED.git-id +++ b/mono/mini/mini-amd64.c.REMOVED.git-id @@ -1 +1 @@ -43d0e17babbd6c4d5fa6509eac2eb389aade1999 \ No newline at end of file +2b23ab48cc34da605d2f53efb80eb8364c1effa3 \ No newline at end of file diff --git a/mono/mini/mini-arm.c.REMOVED.git-id b/mono/mini/mini-arm.c.REMOVED.git-id index cc44d2dbde..f3b365f877 100644 --- a/mono/mini/mini-arm.c.REMOVED.git-id +++ b/mono/mini/mini-arm.c.REMOVED.git-id @@ -1 +1 @@ -1d2863ddde4cd9118013e3daf333c8934ccbb9c5 \ No newline at end of file +f88d5536249ac70044c3c975a6e9acd50696a4e2 \ No newline at end of file diff --git a/mono/mini/mini-arm64.c.REMOVED.git-id b/mono/mini/mini-arm64.c.REMOVED.git-id index fa1d1512be..a63d02d8a5 100644 --- a/mono/mini/mini-arm64.c.REMOVED.git-id +++ b/mono/mini/mini-arm64.c.REMOVED.git-id @@ -1 +1 @@ -6192f26b9cf042e653ad287c859bb881aafebca0 \ No newline at end of file +8feb87f83dd818bf6e21bfeb0632563a0ebbc19c \ No newline at end of file diff --git a/mono/mini/mini-exceptions.c b/mono/mini/mini-exceptions.c index 707951af02..a97945763c 100644 --- a/mono/mini/mini-exceptions.c +++ b/mono/mini/mini-exceptions.c @@ -316,7 +316,7 @@ mono_get_throw_exception_addr (void) return &throw_exception_func; } -static gboolean +static gboolean is_address_protected (MonoJitInfo *ji, MonoJitExceptionInfo *ei, gpointer ip) { MonoTryBlockHoleTableJitInfo *table; @@ -337,7 +337,7 @@ is_address_protected (MonoJitInfo *ji, MonoJitExceptionInfo *ei, gpointer ip) for (i = 0; i < table->num_holes; ++i) { MonoTryBlockHoleJitInfo *hole = &table->holes [i]; - if (ji->clauses [hole->clause].try_offset == ji->clauses [clause].try_offset && hole->offset <= offset && hole->offset + hole->length > offset) + if (hole->clause == clause && hole->offset <= offset && hole->offset + hole->length > offset) return FALSE; } return TRUE; @@ -2034,7 +2034,7 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu } else { free_stack = 0xffffff; } - + for (i = clause_index_start; i < ji->num_clauses; i++) { MonoJitExceptionInfo *ei = &ji->clauses [i]; gboolean filtered = FALSE; @@ -2155,6 +2155,11 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu #endif } else { MONO_CONTEXT_SET_IP (ctx, ei->handler_start); + /* + * When the exception is thrown in async fashion, we can have the stack pointer + * unaligned. Make sure we resume to the catch handler with an aligned stack. + */ + MONO_CONTEXT_SET_SP (ctx, (mgreg_t)MONO_CONTEXT_GET_SP (ctx) & ~(MONO_ARCH_FRAME_ALIGNMENT - 1)); } mono_set_lmf (lmf); #ifndef DISABLE_PERFCOUNTERS diff --git a/mono/mini/mini-mips.c.REMOVED.git-id b/mono/mini/mini-mips.c.REMOVED.git-id index bfa973c6d8..1e9c060b35 100644 --- a/mono/mini/mini-mips.c.REMOVED.git-id +++ b/mono/mini/mini-mips.c.REMOVED.git-id @@ -1 +1 @@ -0a489649c86dc3eae078a1a0342647d73ca8a5f8 \ No newline at end of file +f2e7ee609ba2c1b0b426748470d412ff759fb715 \ No newline at end of file diff --git a/mono/mini/mini-ppc.c.REMOVED.git-id b/mono/mini/mini-ppc.c.REMOVED.git-id index 7d0f0d8f34..832f4f2672 100644 --- a/mono/mini/mini-ppc.c.REMOVED.git-id +++ b/mono/mini/mini-ppc.c.REMOVED.git-id @@ -1 +1 @@ -4ba20cc2257e31ff9ad4e154ca7267b2b939d124 \ No newline at end of file +b90f149bc295ab90f7885e5d41939b9713932ed5 \ No newline at end of file diff --git a/mono/mini/mini-s390x.c.REMOVED.git-id b/mono/mini/mini-s390x.c.REMOVED.git-id index 8b2fd70744..6337b069d1 100644 --- a/mono/mini/mini-s390x.c.REMOVED.git-id +++ b/mono/mini/mini-s390x.c.REMOVED.git-id @@ -1 +1 @@ -584813cc4db9caa812d9b5f4c9d75382cb6358f0 \ No newline at end of file +50a2dda4bf50f617fbe5661a74b28ebaae8a26a6 \ No newline at end of file diff --git a/mono/mini/mini-sparc.c.REMOVED.git-id b/mono/mini/mini-sparc.c.REMOVED.git-id index a883926dd7..e4039a7f7f 100644 --- a/mono/mini/mini-sparc.c.REMOVED.git-id +++ b/mono/mini/mini-sparc.c.REMOVED.git-id @@ -1 +1 @@ -75868b976111366640a3974af502671fac0d6b91 \ No newline at end of file +cc6718eec242095edd099211c287517a88540881 \ No newline at end of file diff --git a/mono/mini/mini-x86.c.REMOVED.git-id b/mono/mini/mini-x86.c.REMOVED.git-id index 2bcac4cf1f..0caa150032 100644 --- a/mono/mini/mini-x86.c.REMOVED.git-id +++ b/mono/mini/mini-x86.c.REMOVED.git-id @@ -1 +1 @@ -f6b61bae8cc000152eec0fdd5c0676933663cdf2 \ No newline at end of file +da39871c09d923970e4a235b3d90a205faabbe36 \ No newline at end of file diff --git a/mono/mini/mini.c.REMOVED.git-id b/mono/mini/mini.c.REMOVED.git-id index fa12639782..47087acf41 100644 --- a/mono/mini/mini.c.REMOVED.git-id +++ b/mono/mini/mini.c.REMOVED.git-id @@ -1 +1 @@ -af04f0bb7966ac94eb40a7e290d3ca0d2b072549 \ No newline at end of file +a1dd5732aaad66508052f9c267cceb9ebab9f62f \ No newline at end of file diff --git a/mono/mini/mini.h.REMOVED.git-id b/mono/mini/mini.h.REMOVED.git-id index 48aa5c58a9..94d45046d6 100644 --- a/mono/mini/mini.h.REMOVED.git-id +++ b/mono/mini/mini.h.REMOVED.git-id @@ -1 +1 @@ -f8d052627cd72c45b10e5563471039bbb43eb0b9 \ No newline at end of file +947c3ee509153002fd5182a31b5280079a914b0d \ No newline at end of file diff --git a/mono/mini/version.h b/mono/mini/version.h index 34b80f9a3a..4449eebb26 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "explicit/ddeba6e" +#define FULL_VERSION "explicit/1359c52" diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index 90eff77326..e753ed1e4d 100755 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -521,7 +521,8 @@ TESTS_CS_SRC= \ bug-58782-plain-throw.cs \ bug-58782-capture-and-throw.cs \ recursive-struct-arrays.cs \ - bug-59281.cs + bug-59281.cs \ + threads-leak.cs if AMD64 TESTS_CS_SRC += async-exc-compilation.cs finally_guard.cs finally_block_ending_in_dead_bb.cs diff --git a/mono/tests/Makefile.in.REMOVED.git-id b/mono/tests/Makefile.in.REMOVED.git-id index 44bb03943d..5a1e623845 100644 --- a/mono/tests/Makefile.in.REMOVED.git-id +++ b/mono/tests/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -f0eb94c705ca503be0b3c1061a43fb3b5375f86d \ No newline at end of file +404251d42bc2c933aabcf9863840698ca64d1ac2 \ No newline at end of file diff --git a/mono/tests/threads-leak.cs b/mono/tests/threads-leak.cs new file mode 100644 index 0000000000..f91b72acb3 --- /dev/null +++ b/mono/tests/threads-leak.cs @@ -0,0 +1,45 @@ +using System; +using System.Threading; + +class Driver +{ + static ManualResetEvent mre = new ManualResetEvent (false); + + class MyClassInThread + { + public int I { get; set; } + + ~MyClassInThread() + { + try { + Console.WriteLine($"Finalizer {I}"); + } catch (NotSupportedException) { + } + + mre.Set (); + } + } + + public static void Main(string[] args) + { + for (int i = 0; i < 50; ++i) { + SpawnThread(i); + GC.Collect(); + GC.Collect(); + GC.Collect(); + GC.Collect(); + GC.WaitForPendingFinalizers(); + Console.WriteLine($"Loop {i}"); + } + + if (!mre.WaitOne(0)) + Environment.Exit (1); + } + + static void SpawnThread(int i) + { + var th = new Thread(_ => {}) { IsBackground = true, }; + th.Start(new MyClassInThread { I = i }); + th.Join(); + } +} diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 43ab216f74..dc1ae373af 100644 Binary files a/po/mcs/de.gmo and b/po/mcs/de.gmo differ diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index ff518e038a..b27376ceed 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -f7d105452d59fa04caa1daa4f31bd54cfc8336b9 \ No newline at end of file +782b3dccbf3045cfc119b732132c40a785cd93ee \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index 410b7f7098..5fbf47448b 100644 Binary files a/po/mcs/es.gmo and b/po/mcs/es.gmo differ diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index c765bd07d4..c52eb68ee3 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -c48bbbd79a8b765a778040bf22761996d0c4cf5c \ No newline at end of file +7ab59a2e9dfda7ad5ebdf385a4ffa9022275a04e \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index a6ba1b4ee1..e74240048c 100644 Binary files a/po/mcs/ja.gmo and b/po/mcs/ja.gmo differ diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index f730f2b1d4..8887b61960 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -6871f4b9f90c79fa85c98b829074c49bb0b866fa \ No newline at end of file +3c588250aa700404a39e59b172ecd00ab4e850a8 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 9fc26f82bd..aa0555fc57 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mono 5.8.0.88\n" +"Project-Id-Version: mono 5.8.0.103\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2017-11-28 18:47+0000\n" +"POT-Creation-Date: 2018-01-17 20:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index c3dc71ed6d..249907b386 100644 Binary files a/po/mcs/pt_BR.gmo and b/po/mcs/pt_BR.gmo differ diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index f5161e649c..15bc48e59f 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -981320e79c655319d802828500dfced7d46a8848 \ No newline at end of file +f3db87beb1598a50cbd128db99ab1c63b3a9e244 \ No newline at end of file