Martin Baulig [Fri, 10 Jun 2016 18:23:35 +0000 (20:23 +0200)]
Merge pull request #3144 from Unity-Technologies/fix-recursive-property-call
Fix recursive property call in MonoSslStreamImpl
Aleksey Kliger (λgeek) [Fri, 10 Jun 2016 15:54:29 +0000 (11:54 -0400)]
Merge pull request #3154 from lambdageek/fix-initmessage-linker
[linker] Add MonoMethodMessage::InitMessage to mscorlib descriptor
Aleksey Kliger [Fri, 10 Jun 2016 15:21:29 +0000 (11:21 -0400)]
[linker] Add MonoMethodMessage::InitMessage to mscorlib descriptor
That method gets called from the runtime, it shouldn't be linked out.
Alexander Köplinger [Fri, 10 Jun 2016 14:32:21 +0000 (16:32 +0200)]
[tests] Bump timeout in sleep.exe
We're seeing it randomly fail on Wrench with durations of 1550 - 1800ms.
Talked to Zoltan, this might be normal so bumping the timeout to reduce the failure rate.
Marek Safar [Fri, 10 Jun 2016 10:58:07 +0000 (12:58 +0200)]
[System] Read all values of unknown/uncommon headers with multiple entries. Fixes #41552
Alexander Kyte [Fri, 10 Jun 2016 09:05:51 +0000 (05:05 -0400)]
[runtime] Ensure uniqueness of icall wrappers (#3143)
The llvmonly backend will use `mono_aot_init_gshared_method_this`
and other initializers to initialize methods. These will transitively call
`mono_icall_get_wrapper_full` when icall wrappers are needed.
The init functions will set the
initialized flag after initialization. They set it in a non-atomic manner. This means that
in a multithreaded environment, it's possible to call the functions
twice.
When `mono_icall_get_wrapper_full` is called without this patch, the
pointers to wrappers it gets from `mono_marshal_get_icall_wrapper`
will not have the same addresses. They will hash to the same value
though.
This will lead to them not being found or inserted by
`find_aot_method_in_amodule`.
The fact that we already have a value with this hash means that
the new wrapper doesn't get inserted. The fact that the pointers differ
mean that we don't say that we've found our desired wrapper.
This leads to an assertion in `mono_icall_get_wrapper_full`
crashing the runtime.
Since we intend to have the semantics of a wrapper for each icall,
this change uses a cache to ensure uniqueness. The observed crashes
do not happen when this change is applied.
Marek Safar [Fri, 10 Jun 2016 08:13:59 +0000 (10:13 +0200)]
Merge pull request #3151 from akoeplinger/fix-islocal
[System] Fix HttpListenerRequestTest.HttpRequestIsLocal intermittently failing
Zoltan Varga [Fri, 10 Jun 2016 06:52:03 +0000 (02:52 -0400)]
[runtime] Move 'pedump' to tools/pedump, build tools by default. (#3133)
* [runtime] Move 'pedump' to tools/pedump, build tools by default.
* Add missing file.
* [runtime] Mark mono_opcodes[] with MONO_API.
* [runtime] Build monograph when sgen is supported instead of boehm.
* [runtime] Link monograph against the static runtime libraries.
* [runtime] Use the same SUBDIRS/DIST_SUBDIRS for the CROSS_COMPILING case.
Alexander Köplinger [Thu, 9 Jun 2016 23:48:19 +0000 (01:48 +0200)]
Merge pull request #3140 from esdrubal/syscall_details
[runtime] Fixed interruptible wapi_sendfile part2.
Alexander Köplinger [Thu, 9 Jun 2016 23:37:45 +0000 (01:37 +0200)]
[System] Fix HttpListenerRequestTest.HttpRequestIsLocal intermittently failing
We're seeing the following exception on devices in CI:
```
[FAIL] HttpListenerRequestTest.HttpRequestIsLocal : System.Net.Sockets.SocketException : Could not resolve host 'XQA-AppleTV-1'
at System.Net.Dns.Error_11001 (System.String hostName) [0x00000] in /Users/builder/data/lanes/1381/
d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:292
at System.Net.Dns.GetHostByName (System.String hostName) [0x00024] in /Users/builder/data/lanes/1381/
d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:419
at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00061] in /Users/builder/data/lanes/1381/
d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:380
at System.Net.Dns.GetHostAddresses (System.String hostNameOrAddress) [0x00065] in /Users/builder/data/lanes/1381/
d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:406
at MonoTests.System.Net.HttpListenerRequestTest.HttpRequestIsLocal () [0x00006] in /Users/xamarinqa/QABot/data/lanes/2441/
d8287824/source/xamarin-macios/external/mono/mcs/class/System/Test/System.Net/HttpListenerRequestTest.cs:197
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/data/lanes/1381/
d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```
From looking at the code, resolving the hostname to IP addresses via DNS fails so the test doesn't even run.
We don't care where the local IPs come from so we can use an alternative way of getting them - via querying the network interfaces.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=41671
PS: fixed a hardcoded port while I was touching the code
monojenkins [Thu, 9 Jun 2016 23:05:15 +0000 (00:05 +0100)]
Merge pull request #2921 from lewurm/lower-typechecks-later
[mini] lower typechecks later
lower typecheck instructions later in the compilation, so we've a chance to do high-level optimization after `method-to-ir`
monojenkins [Thu, 9 Jun 2016 22:15:10 +0000 (23:15 +0100)]
Merge pull request #3121 from lambdageek/dev/managed-init_message
Rewriite `MonoMethodMessage::InitMessage` in managed code
Change icall
`System.Runtime.Remoting.Messaging/MonoMethodMessage::InitMessage` to
managed code.
Also update `mono_message_init()` to invoke `InitMessage`.
Rodrigo Kumpera [Thu, 9 Jun 2016 20:39:11 +0000 (13:39 -0700)]
[sgen] Inform on configure and --version when the concurrent GC is the default.
Bernhard Urban [Mon, 6 Jun 2016 18:34:23 +0000 (11:34 -0700)]
[mini] execute decompose_typechecks only if there's a typecheck operation
Bernhard Urban [Mon, 6 Jun 2016 17:57:05 +0000 (10:57 -0700)]
[mini] comment about empty BBs for graph visualization
Bernhard Urban [Thu, 2 Jun 2016 22:23:49 +0000 (15:23 -0700)]
[mini] do decomposition of typechecks later in the compilation pipeline
Bernhard Urban [Thu, 2 Jun 2016 22:23:45 +0000 (15:23 -0700)]
[method-to-ir] get rid of additional reg introduced for `isinst` and `castclass`
Bernhard Urban [Thu, 2 Jun 2016 22:23:42 +0000 (15:23 -0700)]
[mini] add time tracking for decompose_typechecks pass
Bernhard Urban [Thu, 2 Jun 2016 22:23:39 +0000 (15:23 -0700)]
[mini] decompose `isinst` and `castclass` in a later pass
Bernhard Urban [Thu, 2 Jun 2016 22:23:36 +0000 (15:23 -0700)]
[cfgdump] insert NOP in empty basic blocks in order to not confuse graph dumper
Bernhard Urban [Thu, 2 Jun 2016 22:23:29 +0000 (15:23 -0700)]
[debug] print class name for OP_{isinst,castclass}
Bernhard Urban [Thu, 2 Jun 2016 22:23:26 +0000 (15:23 -0700)]
[mini] introduce OP_{isinst,castclass}
Vlad Brezae [Thu, 9 Jun 2016 20:13:56 +0000 (23:13 +0300)]
Merge pull request #3136 from BrzVlad/fix-stw-stopped
[sgen] Don't try to stop a stopped world
Aleksey Kliger [Mon, 6 Jun 2016 21:07:43 +0000 (17:07 -0400)]
[runtime] Switch mono_message_init to invoke managed
Invoke the managed
System.Runtime.Remoting.Messaging.MonoMethodMessage::InitMessage method.
Aleksey Kliger [Mon, 6 Jun 2016 20:27:53 +0000 (16:27 -0400)]
[corlib] Implement MonoMethodMessage::InitMessage in managed
Change icall
System.Runtime.Remoting.Messaging/MonoMethodMessage::InitMessage to
managed code.
Alex Rønne Petersen [Thu, 9 Jun 2016 18:29:31 +0000 (20:29 +0200)]
Merge pull request #3127 from alexrp/arm32-on-arm64
[arm] Correctly detect hardware features when running as arm32 on arm64 hardware.
Bernhard Urban [Thu, 9 Jun 2016 17:31:49 +0000 (10:31 -0700)]
Merge pull request #3137 from BrzVlad/fix-sgen-critical-region
[sgen] Exit the critical section also on the slowpath of managed allocators
monojenkins [Thu, 9 Jun 2016 16:55:12 +0000 (17:55 +0100)]
Merge pull request #3142 from henricm/fix-for-win-mono_string_to_utf8
Using mono_marshal_free n mono_string_builder_to_utf8
`mono_string_builder_to_utf16` is allocating using `mono_marshal_alloc` which, on windows, allocates memory using `CoTaskMemAlloc`. This buffer was then released in `mono_string_builder_to_utf8` using `g_free` which resulted in a crash since that's a different memory on windows. The fix in this PR makes sure `mono_marshal_free` is called instead which has the correct behaviour and results in a `CoTaskMemFree` on windows.
Marek Safar [Thu, 9 Jun 2016 15:54:32 +0000 (17:54 +0200)]
[mcs] Add probing conversion for FormattableString. Fixes #41575
Mike Voorhees [Thu, 9 Jun 2016 14:38:44 +0000 (10:38 -0400)]
Fix recursive property call in MonoSslStreamImpl
Johan Lorensson [Thu, 9 Jun 2016 13:49:33 +0000 (15:49 +0200)]
Merge pull request #3085 from lateralusX/jlorenss/win-x64-pinvoke-empty-struct
Fix for non GCC win x64 calling convention when passing empty structs over pinvoke.
Henric Müller [Thu, 9 Jun 2016 13:21:56 +0000 (15:21 +0200)]
Making sure mono_marshal_free is used instead of g_free in mono_string_builder_to_utf8
monojenkins [Thu, 9 Jun 2016 13:35:12 +0000 (14:35 +0100)]
Merge pull request #3139 from akoeplinger/dns-test
[System] Make ServicePointTest.DnsRefreshTimeout test more reliable
We are still seeing quite rare failures of this test:
```
HostEntry should result in the same IPHostEntry object.
Expected: same as <System.Net.IPHostEntry>
But was: <System.Net.IPHostEntry>
+++++++++++++++++++
STACK TRACE:
at MonoTests.System.Net.ServicePointTest.DnsRefreshTimeout () [0x00045] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/System/Test/System.Net/ServicePointTest.cs:228
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```
Since the test is only checking if expiring of the cached DNS lookup works, we don't really need to use an external domain name for this as "localhost" works just fine as well and typically doesn't trigger a DNS query which makes the test more reliable against network issues.
@monojenkins merge
Marek Safar [Thu, 9 Jun 2016 12:58:49 +0000 (14:58 +0200)]
[mcs] Recognize indexer with accessors using different names. Fixes #41602
Marcos Henrich [Thu, 9 Jun 2016 11:42:15 +0000 (12:42 +0100)]
[runtime] Fixed interruptible wapi_sendfile part2.
Fixed issue where underlying system without HAVE_SENDFILE
would not interrupt while sending a file even when the socket was
set as a non blocking one.
Alexander Köplinger [Thu, 9 Jun 2016 11:24:13 +0000 (13:24 +0200)]
[System] Make ServicePointTest.DnsRefreshTimeout test more reliable
We are still seeing quite rare failures of this test:
```
HostEntry should result in the same IPHostEntry object.
Expected: same as <System.Net.IPHostEntry>
But was: <System.Net.IPHostEntry>
+++++++++++++++++++
STACK TRACE:
at MonoTests.System.Net.ServicePointTest.DnsRefreshTimeout () [0x00045] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/System/Test/System.Net/ServicePointTest.cs:228
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```
Since the test is only checking if expiring of the cached DNS lookup works, we don't really need to use an external domain name for this
as "localhost" works just fine as well and typically doesn't trigger a DNS query which makes the test more reliable against network issues.
Alexander Köplinger [Thu, 9 Jun 2016 09:52:05 +0000 (11:52 +0200)]
Merge pull request #3138 from akoeplinger/fix-win
[metadata] Fix Windows gcc build break
Marek Safar [Thu, 9 Jun 2016 08:30:40 +0000 (10:30 +0200)]
[mcs] Bump ikvm to fix assembly unification rules
Alex Rønne Petersen [Wed, 8 Jun 2016 14:21:13 +0000 (16:21 +0200)]
[arm] Correctly detect hardware features when running as arm32 on arm64 hardware.
Alexander Köplinger [Thu, 9 Jun 2016 00:53:26 +0000 (02:53 +0200)]
[metadata] Fix Windows gcc build break
After
680fe21e6952ba6dc73ad89095b34ebb3a9bfc86 it failed with:
```
coree.c: In function '_CorExeMain':
coree.c:200:2: error: implicit declaration of function 'mono_runtime_run_main_checked' [-Werror=implicit-function-declaration]
mono_runtime_run_main_checked (method, argc, argv, &error);
^
[...]
Makefile:2137: recipe for target 'libmonoruntime_la-coree.lo' failed
make[3]: *** [libmonoruntime_la-coree.lo] Error 1
```
Mark Probst [Wed, 8 Jun 2016 23:01:51 +0000 (16:01 -0700)]
[sgen] Scatterplot option for gcpauseviz.
Vlad Brezae [Wed, 8 Jun 2016 21:57:50 +0000 (00:57 +0300)]
[sgen] Exit the critical section also on the slowpath of managed allocators
We were not exiting the critical section on this code path. This was leading to hangs at stw since the native code would take locks when compiling the code.
Vlad Brezae [Wed, 8 Jun 2016 22:20:53 +0000 (01:20 +0300)]
[sgen] Don't try to stop a stopped world
On domain unload we were calling sgen_perform_collection even though we had a stopped world, when finishing a running concurrent collection.
Rodrigo Kumpera [Wed, 8 Jun 2016 22:33:27 +0000 (15:33 -0700)]
Merge pull request #3135 from kumpera/enable_conc_gc_on_mainline_archs
[jenkins] Make the concurrent GC the default on mainline archtectures.
Rodrigo Kumpera [Wed, 8 Jun 2016 22:12:34 +0000 (15:12 -0700)]
[jenkins] Make the concurrent GC the default on mainline archtectures.
Alexander Köplinger [Wed, 8 Jun 2016 21:04:00 +0000 (23:04 +0200)]
Merge pull request #3090 from alexanderkyte/remove_deprecated_assertions
[mobile_static] Remove deprecated assertions
Rolf Bjarne Kvinge [Wed, 8 Jun 2016 20:46:11 +0000 (22:46 +0200)]
[corlib] Fix tests for watchOS. (#3131)
Zoltan Varga [Wed, 8 Jun 2016 18:58:07 +0000 (14:58 -0400)]
[llvm] Enable support for the atomic store intrinsics when running with llvmonly.
Alex Rønne Petersen [Wed, 8 Jun 2016 16:04:48 +0000 (18:04 +0200)]
Merge pull request #3117 from alexrp/master
Fix a few socket test failures on Android
Aleksey Kliger (λgeek) [Wed, 8 Jun 2016 14:35:46 +0000 (10:35 -0400)]
Merge pull request #3093 from lambdageek/dev/monoerror-exec
[runtime] Mark mono_runtime_{run,exec}_main external only.
Alex Rønne Petersen [Wed, 8 Jun 2016 13:27:47 +0000 (15:27 +0200)]
[sockets] Correctly report that Linux supports double binding for UDP, even on old kernels.
Marek Safar [Wed, 8 Jun 2016 13:25:52 +0000 (15:25 +0200)]
Marek Safar [Tue, 7 Jun 2016 21:28:28 +0000 (23:28 +0200)]
[System] Fixes compiler warning
Alex Rønne Petersen [Tue, 7 Jun 2016 18:24:14 +0000 (20:24 +0200)]
[System] Make SocketAsyncTest.SendAsync give more helpful failures.
Alexander Köplinger [Wed, 8 Jun 2016 12:05:50 +0000 (14:05 +0200)]
[build] Add llvm folder to SUBDIRS/DIST_SUBDIRS
This ensures all the right files are packaged in the tarball.
Alexander Köplinger [Wed, 8 Jun 2016 10:47:41 +0000 (12:47 +0200)]
Merge pull request #3122 from akoeplinger/fix-41530
[System] Make TimerTest.EnabledInElapsed more reliable
Marcos Henrich [Wed, 8 Jun 2016 08:03:20 +0000 (09:03 +0100)]
Merge pull request #3120 from esdrubal/syscall_details
Fixes SendAsyncFile flaky failures
Zoltan Varga [Wed, 8 Jun 2016 07:05:16 +0000 (03:05 -0400)]
[runtime] Only print out the value of MONO_EXTRA_CONFIGURE_FLAGS when it is set.
Rodrigo Kumpera [Wed, 8 Jun 2016 00:22:55 +0000 (17:22 -0700)]
Merge pull request #3118 from kumpera/fix_getname
[corlib] Handle user Assembly subclass and Assembly::GetName.
Alexander Köplinger [Tue, 7 Jun 2016 15:20:09 +0000 (17:20 +0200)]
[System] Make TimerTest.EnabledInElapsed more reliable
We were seeing intermittent failures on devices like:
```
[FAIL] TimerTest.EnabledInElapsed : #1 loss of events
Expected: True
But was: False
at MonoTests.System.Timers.TimerTest.EnabledInElapsed () <0x33b168 + 0x0014f> in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object , BindingFlags , System.Reflection.Binder , System.Object[] , System.Globalization.CultureInfo ) <0x66d400 + 0x000b7> in <filename unknown>:0
```
Since OS scheduling and GCs can influence the exact timing of the timer intervals sleeping for 200ms is likely just too short.
Instead of bumping the timeout, I decided to rewrite the test to not rely on Thread.Sleep ().
I also added another test which verifies setting AutoResetEvent=false stops the timer event from firing after the first one,
which was implicitly tested before by the other test.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=41530
Rodrigo Kumpera [Tue, 7 Jun 2016 22:44:03 +0000 (15:44 -0700)]
Merge pull request #3114 from alexanderkyte/mono_conf_gc
[runtime] Add configuration for the default sgen gc mode
Alexander Köplinger [Tue, 7 Jun 2016 22:18:39 +0000 (00:18 +0200)]
Merge pull request #3112 from akoeplinger/test-runner-nofile
[test-runner] Write stdout/stderr into StringBuilder instead of an intermediate file
Miguel de Icaza [Tue, 7 Jun 2016 21:53:36 +0000 (17:53 -0400)]
More updates
Rodrigo Kumpera [Tue, 7 Jun 2016 06:28:31 +0000 (23:28 -0700)]
[corlib] Handle user Assembly subclass and Assembly::GetName.
Remove UnprotectedGetName and replace with overriding of GetName.
dotnet throws NIE if you subclass Assembly and call GetName on it.
We hard crashed.
Alexander Köplinger [Tue, 7 Jun 2016 20:43:16 +0000 (22:43 +0200)]
Fix make dist
It got broken when the versions.py file was moved around in
d110f526706b7c4880ca916e2dfbab93138871cd.
Also add the new locations to EXTRA_DIST so they get distributed too.
Rodrigo Kumpera [Tue, 7 Jun 2016 19:51:27 +0000 (12:51 -0700)]
Merge pull request #3119 from kumpera/fix-getname-and-shadowcopy
[corlib] Take shadow copying when computing CodeBase in Assembly::GetName.
Aleksey Kliger (λgeek) [Tue, 7 Jun 2016 19:23:17 +0000 (15:23 -0400)]
Merge pull request #3082 from alexanderkyte/no_alloc_klass_error
[runtime] Set klass-error-based MonoError state without allocating
Alexander Kyte [Thu, 2 Jun 2016 23:27:57 +0000 (19:27 -0400)]
[mobile_status] Fix nullable type ambiguity that nunit-lite complains about
Alexander Kyte [Mon, 23 May 2016 22:42:57 +0000 (18:42 -0400)]
[mobile_static] Remove use of CollectionAssert, missing in nunit-lite
Alexander Kyte [Thu, 2 Jun 2016 01:15:27 +0000 (21:15 -0400)]
[mobile_static] Remove uses of deprecated Assertion.cs nunit helper.
Rodrigo Kumpera [Tue, 7 Jun 2016 18:38:27 +0000 (11:38 -0700)]
Merge pull request #3110 from BrzVlad/fix-complex-conc-scan
[sgen] Fix concurrent scan of complex objects
Alex Rønne Petersen [Tue, 7 Jun 2016 03:01:25 +0000 (05:01 +0200)]
[Socket] Check for SocketOptionLevel.Socket before checking for SocketOptionName.ReuseAddress.
Without doing this, the check would consider a valid option name like
IpTimeToLive to be the same as ReuseAddress, as they share the same enum
value.
Fixes SocketTest.TtlChange and SocketTest.UdpMulticasTimeToLive on Android and
other platforms that don't support ReuseAddress.
Alexander Köplinger [Tue, 7 Jun 2016 16:45:29 +0000 (18:45 +0200)]
Merge pull request #3124 from mono/revert-2734-master
Revert "Enhance log tracing"
Alexander Köplinger [Tue, 7 Jun 2016 16:45:09 +0000 (18:45 +0200)]
Revert "Enhance log tracing"
Alexander Kyte [Tue, 7 Jun 2016 16:29:39 +0000 (12:29 -0400)]
[runtime] Add environment variable to pass additional configure options
Alexander Kyte [Tue, 7 Jun 2016 16:29:23 +0000 (12:29 -0400)]
[runtime] Add new configure option for default sgen GC mode
Zoltan Varga [Tue, 7 Jun 2016 16:16:59 +0000 (12:16 -0400)]
[amd64] Fix an off-by-one in the dyn call code.
Zoltan Varga [Tue, 7 Jun 2016 14:46:33 +0000 (10:46 -0400)]
Llvm submodule (#3108)
* Move the versions.mk infrastructure to scripts/submodules so it can be used elsewhere too.
* Add a conditional submodule for llvm.
* Fix commit messages emitted by the bump- targets.
* Use a anonymous git url for llvm.
Marcos Henrich [Tue, 7 Jun 2016 13:06:53 +0000 (14:06 +0100)]
[runtime] Fixed interruptible wapi_sendfile.
Before closing a socket we try to interrupt and wait for all socket
pending system calls to return. For that we set the socket as non
blocking which makes the system calls to return with EAGAIN\EWOULDBLOCK.
This issue was caught by System.Net.Sockets.SocketTest.SendAsyncFile
that was intermittently failing, we were only able to reproduce it while
running multiple test suites in parallel. We now can say that it only failed when
the the socket was closed and the sendfile was waiting for the OS to
allocate enough resources to send the file.
This was fixed by changing wapi_sendfile to return on EAGAIN.
Marcos Henrich [Tue, 7 Jun 2016 09:38:29 +0000 (10:38 +0100)]
[System] Improved "Could not abort" exception.
Stack traces of blocked threads are now displayed on the exception.
The threads stacktraces are only stored when MONO_TESTS_IN_PROGRESS env
var is set to yes.
Alexander Kyte [Tue, 7 Jun 2016 11:44:40 +0000 (07:44 -0400)]
[runtime][mobile_static] Add flag for rgctx_fetch_trampolines and use it (#3088)
* [runtime] Add commandline option for rgctx fetch trampolines.
* [mobile_static] Increase the number of trampolines
lateralusX [Tue, 7 Jun 2016 09:35:02 +0000 (11:35 +0200)]
Smaller adjustments based on PR feedback.
Zoltan Varga [Tue, 7 Jun 2016 08:08:41 +0000 (04:08 -0400)]
[runtime] Call mono_class_init () for classes in mono_class_is_subclass_of (). Fixes #41466.
Rodrigo Kumpera [Tue, 7 Jun 2016 06:36:32 +0000 (23:36 -0700)]
[corlib] Take shadow copying when computing CodeBase in Assembly::GetName.
Alex Rønne Petersen [Tue, 7 Jun 2016 01:35:36 +0000 (03:35 +0200)]
Merge pull request #3116 from alexrp/master
Some improvements to the profiler makefile
Mark Probst [Mon, 6 Jun 2016 23:36:14 +0000 (16:36 -0700)]
[sgen] Make gcpauseviz histograms more meaningful.
There were too many bins, because the x axis was not logarithmic, and
there were no meaningful labels.
Mark Probst [Mon, 6 Jun 2016 23:17:58 +0000 (16:17 -0700)]
[sgen] Fix gcpauseviz.
It didn't detect starts of concurrent collections anymore because of how
the binary protocol outputs it.
Alex Rønne Petersen [Mon, 6 Jun 2016 22:49:04 +0000 (00:49 +0200)]
[profiler] Don't install the coverage suppression file if the profiler is disabled.
Alex Rønne Petersen [Mon, 6 Jun 2016 22:44:58 +0000 (00:44 +0200)]
[profiler] Don't run the test suite when the profiler is disabled.
Also clean up the makefile logic surrounding tests a bit.
Alexander Köplinger [Mon, 6 Jun 2016 21:44:35 +0000 (23:44 +0200)]
Merge pull request #3113 from akoeplinger/boehm-fixes
[ci] Turn off Boehm on Windows x64 gcc build
Zoltan Varga [Mon, 6 Jun 2016 20:48:02 +0000 (16:48 -0400)]
[offsets-tool] Generate offsets for SgenClientThreadInfo.
Vlad Brezae [Mon, 6 Jun 2016 12:37:03 +0000 (15:37 +0300)]
[sgen] Fix define argument
The code worked by accident because the function in which the define was expanded had an argument with the name desc.
Vlad Brezae [Mon, 6 Jun 2016 12:19:12 +0000 (15:19 +0300)]
[sgen] Fix race between complex descriptor allocation and complex object scanning
When we allocate the complex descriptor for a new type we might have the concurrent marker scan objects. While the concurrent marker scans the bitmap for a complex object, which resides in the complex_descriptor array, another thread might allocate a new complex descriptor, thus reallocate the complex_descriptor array, which would lead to corruption of the bitmap used by the concurrent marker.
We reuse the SgenArrayList which never reallocates, using instead a list of exponentially increasing arrays.
Alexander Köplinger [Mon, 6 Jun 2016 19:18:45 +0000 (21:18 +0200)]
Only define Boehm variables in configure.ac when it is enabled
Fix the message that is printed in the configure summary at the end to contain only "sgen" when Boehm is disabled.
Alexander Köplinger [Mon, 6 Jun 2016 19:07:07 +0000 (21:07 +0200)]
[ci] Turn off Boehm on Windows x64 gcc build
It was never supported there, turn it off to fix the build on Jenkins.
Zoltan Varga [Mon, 6 Jun 2016 19:04:06 +0000 (15:04 -0400)]
Aleksey Kliger (λgeek) [Mon, 6 Jun 2016 18:39:05 +0000 (14:39 -0400)]
Merge pull request #3100 from lambdageek/dev/monoerror-exns
[runtime] Pass MonoError to exception creation utilities
Vlad Brezae [Mon, 6 Jun 2016 11:19:40 +0000 (14:19 +0300)]
[sgen] Make sure we will scan the bits correctly for complex objects
Vlad Brezae [Mon, 6 Jun 2016 00:54:25 +0000 (03:54 +0300)]
[sgen] Add missing memory type description
Aleksey Kliger (λgeek) [Mon, 6 Jun 2016 18:01:44 +0000 (14:01 -0400)]
Merge pull request #3104 from lambdageek/dev/monoerror-resolve_vcall
[llvm] Raise MonoError using mono_llvm_throw_exception