mono.git
8 years agoMerge pull request #2081 from BrzVlad/feature-concurrent-work
Vlad Brezae [Mon, 2 Nov 2015 23:05:50 +0000 (01:05 +0200)]
Merge pull request #2081 from BrzVlad/feature-concurrent-work

Concurrent sgen improvements

8 years ago[acceptance-tests] Output test list to file in chunks
Alexander Köplinger [Mon, 2 Nov 2015 21:41:01 +0000 (22:41 +0100)]
[acceptance-tests] Output test list to file in chunks

On Jenkins we get a "make: execvp: /bin/sh: Argument list too long" error while executing the coreclr-runtest-basic target.
Since the shell doesn't like echoing our (very) big list of CoreCLR tests in one go, we need to split it up into chunks of
100 entries to hopefully avoid that.

8 years agoMerge pull request #2191 from LogosBible/mono_amd64_have_tls_get
João Matos [Mon, 2 Nov 2015 21:10:41 +0000 (21:10 +0000)]
Merge pull request #2191 from LogosBible/mono_amd64_have_tls_get

Add support for version of pthread_getspecific when launching from Xc…

8 years agoAdd support for version of pthread_getspecific when launching from Xcode with LLDB...
Martin Potter [Mon, 2 Nov 2015 20:02:01 +0000 (12:02 -0800)]
Add support for version of pthread_getspecific when launching from Xcode with LLDB attached.

8 years ago[trace] Synchronize output
Ludovic Henry [Mon, 2 Nov 2015 16:06:47 +0000 (16:06 +0000)]
[trace] Synchronize output

8 years ago[mono] Rename NUnit xml result files to TestResult-{0}.xml convention
Alexander Köplinger [Mon, 2 Nov 2015 18:18:33 +0000 (19:18 +0100)]
[mono] Rename NUnit xml result files to TestResult-{0}.xml convention

This is the convention used in other parts of the repo like mcs/, so we should try to be consistent here.

8 years ago[acceptance-tests] Remove some tests that were removed upstream
Alexander Köplinger [Mon, 2 Nov 2015 15:39:49 +0000 (16:39 +0100)]
[acceptance-tests] Remove some tests that were removed upstream

Also bump coreclr to pick up latest commit.

8 years ago[threads] Remove assertion on `info` for socket syscall abort
Ludovic Henry [Mon, 2 Nov 2015 11:43:54 +0000 (11:43 +0000)]
[threads] Remove assertion on `info` for socket syscall abort

This would trigger a crash with XS on clean process exit, due to the
assertion at socket-io.c:2757.

This fixes bug 35429

8 years ago[System.Core] Make sure DateTime.AddDays() is preserved by the linker in a test
Alexander Köplinger [Mon, 2 Nov 2015 17:11:29 +0000 (18:11 +0100)]
[System.Core] Make sure DateTime.AddDays() is preserved by the linker in a test

We use the method in the code instead of just via reflection.
This allows the test to work on iOS device builds.

8 years ago[mcs] Add codegen for try-finally block with unreachable closing brace. Fixes #35401
Marek Safar [Mon, 2 Nov 2015 13:44:21 +0000 (14:44 +0100)]
[mcs] Add codegen for try-finally block with unreachable closing brace. Fixes #35401

8 years agoMerge pull request #2186 from ruediger-stevens/master
Marek Safar [Mon, 2 Nov 2015 13:22:00 +0000 (14:22 +0100)]
Merge pull request #2186 from ruediger-stevens/master

Exception serializes the InnerException as System.Exception

8 years ago[acceptance-tests] Reenable some tests now that #35410 is fixed
Alexander Köplinger [Mon, 2 Nov 2015 11:30:54 +0000 (12:30 +0100)]
[acceptance-tests] Reenable some tests now that #35410 is fixed

8 years ago[mcs] add new test
Marek Safar [Mon, 2 Nov 2015 10:06:57 +0000 (11:06 +0100)]
[mcs] add new test

8 years ago[mcs] Add sbyte type to the list of valid cast tokens. Fixes #35410
Marek Safar [Mon, 2 Nov 2015 10:05:45 +0000 (11:05 +0100)]
[mcs] Add sbyte type to the list of valid cast tokens. Fixes #35410

8 years agoException serializes the InnerException as System.Exception not as it's run-time...
github@mrblade.de [Mon, 2 Nov 2015 10:04:25 +0000 (11:04 +0100)]
Exception serializes the InnerException as System.Exception not as it's run-time type.

This makes serialization consistent with deserialization (where the InnerException is already retrieved as System.Exception explicitly).
Additionally it may allow serializers more options in serializing inner exceptions (i.e. fall back to System.Exception if the specific exception is not serializable itself).

8 years agoMerge pull request #2185 from akoeplinger/json-move
Marek Safar [Mon, 2 Nov 2015 07:40:04 +0000 (08:40 +0100)]
Merge pull request #2185 from akoeplinger/json-move

[System.ServiceModel.Web] Remove old copy of S.R.Serialization.Json

8 years agoFix an obsolete comment.
Zoltan Varga [Sun, 1 Nov 2015 03:06:19 +0000 (23:06 -0400)]
Fix an obsolete comment.

8 years ago[System.ServiceModel.Web] Move System.Runtime.Serialization.Json tests into System...
Alexander Köplinger [Sat, 31 Oct 2015 00:10:35 +0000 (01:10 +0100)]
[System.ServiceModel.Web] Move System.Runtime.Serialization.Json tests into System.Runtime.Serialization assembly

That's where they belong on .NET 4.5+

Additionally, add a test case from https://bugzilla.xamarin.com/show_bug.cgi?id=4230

8 years ago[System.ServiceModel.Web] Remove old copy of System.Runtime.Serialization.Json
Alexander Köplinger [Fri, 30 Oct 2015 23:53:57 +0000 (00:53 +0100)]
[System.ServiceModel.Web] Remove old copy of System.Runtime.Serialization.Json

We don't need this here anymore since it moved to System.Runtime.Serialization.dll in
.NET 4.5 and 54f7c82d2b1ef2bedbf90c262fda28654727a5c9.

This copy is just confusing and not even built anymore, so delete it.

8 years ago[Mono.Security]: Add 'MonoTlsSettings.TrustAnchors' and 'CertificateValidationHelper...
Martin Baulig [Fri, 30 Oct 2015 19:15:26 +0000 (15:15 -0400)]
[Mono.Security]: Add 'MonoTlsSettings.TrustAnchors' and 'CertificateValidationHelper.SupportsTrustAnchors'.

This is currently only supported on iOS and Mac (check 'CertificateValidationHelper.SupportsTrustAnchors')
and will pass a set of trusted root certificates to the OS validation function.  Use for self-signed
certificates instead of providing a custom callback.

8 years ago[acceptance-tests] Pull in new CoreCLR tests added upstream
Alexander Köplinger [Fri, 30 Oct 2015 19:57:48 +0000 (20:57 +0100)]
[acceptance-tests] Pull in new CoreCLR tests added upstream

A bunch of tests were added in the upstream repo, add those to the source listings.

There's a suite of tests in the CoreMangLib folder which are mostly testing corelib,
added a separate target "coreclr-runtest-coremanglib" for it and renamed the existing
target to "coreclr-runtest-basic".

Build and link all cs testcases with the coreclr-testlibrary.dll which enables a
few more tests to run.

8 years ago[acceptance-tests] Bump coreclr to pick up 3b2969dffe191b03f1ac85a9c1e62417c9b7833b:
Alexander Köplinger [Fri, 30 Oct 2015 20:20:44 +0000 (21:20 +0100)]
[acceptance-tests] Bump coreclr to pick up 3b2969dffe191b03f1ac85a9c1e62417c9b7833b:

8 years ago[acceptance-tests] Add prefix in commit message for the bump commit helper
Alexander Köplinger [Fri, 30 Oct 2015 20:16:04 +0000 (21:16 +0100)]
[acceptance-tests] Add prefix in commit message for the bump commit helper

Additionally remove 'git pull', it doesn't work when no tracking branch is set and I can easily pull myself if I want to.

8 years agoPut back "[Mono.Security.Providers.OldTls]: Include all the sources from the old...
Martin Baulig [Fri, 30 Oct 2015 18:20:09 +0000 (14:20 -0400)]
Put back "[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here."

The build problem should now be fixed.

This reverts commit 5a7c0a0d4cec82028e0f3ecbea59179da2ee0c78.

8 years ago[System/TLS]: In ChainValidationHelper, remove the overloads taking 'Mono.X509' certi...
Martin Baulig [Fri, 30 Oct 2015 18:32:25 +0000 (14:32 -0400)]
[System/TLS]: In ChainValidationHelper, remove the overloads taking 'Mono.X509' certificates.

8 years ago[Mono.Security]: On mobile, 'Mono.Security.Interface.CertificateValidationHelper...
Martin Baulig [Fri, 30 Oct 2015 18:17:17 +0000 (14:17 -0400)]
[Mono.Security]: On mobile, 'Mono.Security.Interface.CertificateValidationHelper' becomes public in System.dll.

8 years agoRevert "[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS...
Martin Baulig [Fri, 30 Oct 2015 18:05:34 +0000 (14:05 -0400)]
Revert "[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here."

This does not build on Mobile yet.

This reverts commit 9147778ee89b9bbc1935f6a43cf132d00220cf71.

8 years ago[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementa...
Martin Baulig [Fri, 30 Oct 2015 17:16:23 +0000 (13:16 -0400)]
[Mono.Security.Providers.OldTls]: Include all the sources from the old TLS implementation here.

8 years ago[System]: Cleanup 'ChainValidationHelper', moving the actual validation code into...
Martin Baulig [Fri, 30 Oct 2015 16:41:09 +0000 (12:41 -0400)]
[System]: Cleanup 'ChainValidationHelper', moving the actual validation code into a new class.

The actual validation code now lives in 'SystemCertificateValidator', whereas
'ChainValidationHelper' contains all the glue code which deals with 'ServicePointManager',
user-supplied callbacks, etc.

8 years agoMerge pull request #2152 from joelmartinez/mdoc-preserver
Jonathan Pryor [Fri, 30 Oct 2015 14:13:56 +0000 (10:13 -0400)]
Merge pull request #2152 from joelmartinez/mdoc-preserver

[mdoc] Marking `MDocPreserve` Obsolete.

8 years ago[sdb] Add a fastpath to process_single_step_inner () for single stepping during invokes.
Zoltan Varga [Fri, 30 Oct 2015 04:16:27 +0000 (00:16 -0400)]
[sdb] Add a fastpath to process_single_step_inner () for single stepping during invokes.

8 years ago[llvm] Add names for some temporary variables representing got slots.
Zoltan Varga [Fri, 30 Oct 2015 03:58:44 +0000 (23:58 -0400)]
[llvm] Add names for some temporary variables representing got slots.

8 years ago[System/TLS]: On desktop, allow dynamic loading of the TLS Provider at runtime.
Martin Baulig [Thu, 29 Oct 2015 21:39:48 +0000 (17:39 -0400)]
[System/TLS]: On desktop, allow dynamic loading of the TLS Provider at runtime.

To do this, set the MONO_TLS_PROVIDER environment variable to either "default",
"newtls", "oldtls" or the full assembly-qualified type name of the MonoTlsProvider
(in this case, the class needs to derive from MonoTlsProvider and have a public
parameterless constructor and it needs to be installed in the GAC).

8 years ago[coop] Fix typo for gc unsafe region enter/exit
Ludovic Henry [Thu, 29 Oct 2015 20:31:24 +0000 (20:31 +0000)]
[coop] Fix typo for gc unsafe region enter/exit

The idea is to get the address of the top of the stack, so passing a
value is meaninless. This was a typo. It also fixes libtest.c which
used an outdated signature.

8 years ago[Mono.Security]: Add new MonoTlsProviderFactory.CreateHttpListener() API to create...
Martin Baulig [Thu, 29 Oct 2015 18:35:40 +0000 (14:35 -0400)]
[Mono.Security]: Add new MonoTlsProviderFactory.CreateHttpListener() API to create a HttpListener.

This new method lets you create a 'HttpListener' and specify the X509Certificate2 to use
(so you don't have to put it into ~/.config/.mono/httplistener) as well as an optional
'MonoTlsProvider' and optional 'MonoTlsSettings'.

8 years agoMerge pull request #2180 from kumpera/loader-error-cleanup
Rodrigo Kumpera [Thu, 29 Oct 2015 19:53:01 +0000 (15:53 -0400)]
Merge pull request #2180 from kumpera/loader-error-cleanup

This is a small batch of MonoError cleanups.

8 years ago[System]: Use the new 'MonoTlsProvider' framework in 'HttpListener'.
Martin Baulig [Thu, 29 Oct 2015 17:44:19 +0000 (13:44 -0400)]
[System]: Use the new 'MonoTlsProvider' framework in 'HttpListener'.

This makes 'HttpListener' use 'SslStream', which can now switch the
TLS implementation at runtime.

8 years ago[System/TLS]: In LegacySslStream, call SslServerStream's .ctor and request, but not...
Martin Baulig [Thu, 29 Oct 2015 17:40:21 +0000 (13:40 -0400)]
[System/TLS]: In LegacySslStream, call SslServerStream's .ctor and request, but not require a client certificate.

In SslStream.AuthenticateAsServer(), setting 'clientCertificateRequired' to true will ask for a client
certificate and - if the client does not provide one - invoke the 'RemoteCertificateValidationCallback'
with null and 'SslPolicyErrors.RemoteCertificateNotAvailable' - but resume the handshake if this callback
returns true.

8 years agoFix windows build.
Rodrigo Kumpera [Thu, 29 Oct 2015 19:51:34 +0000 (15:51 -0400)]
Fix windows build.

8 years ago[llvm] Cleanup the code in process_call () a bit.
Zoltan Varga [Thu, 29 Oct 2015 19:47:29 +0000 (15:47 -0400)]
[llvm] Cleanup the code in process_call () a bit.

8 years agoOops, also need to set it when cloning.
Martin Baulig [Thu, 29 Oct 2015 19:34:50 +0000 (15:34 -0400)]
Oops, also need to set it when cloning.

8 years ago[Mono.Security]: Add 'MonoTlsSettings.EnabledProtocols' property.
Martin Baulig [Thu, 29 Oct 2015 19:17:15 +0000 (15:17 -0400)]
[Mono.Security]: Add 'MonoTlsSettings.EnabledProtocols' property.

This is currently only used by the new TLS code, but allows to override
the protocol.

8 years ago[NewSystemSource]: Pass down the 'IMonoTlsProvider' to SSPIWrapper.
Martin Baulig [Thu, 29 Oct 2015 19:02:50 +0000 (15:02 -0400)]
[NewSystemSource]: Pass down the 'IMonoTlsProvider' to SSPIWrapper.

This should fix the issue where you pass 'NewTlsProvider' as custom provider
without installing it as the default.

8 years agoMerge pull request #2182 from lewurm/fix-arm-build
João Matos [Thu, 29 Oct 2015 18:36:36 +0000 (18:36 +0000)]
Merge pull request #2182 from lewurm/fix-arm-build

mini-llvm: fix wrong usage

8 years agomini-llvm: fix wrong usage
Bernhard Urban [Thu, 29 Oct 2015 18:31:19 +0000 (11:31 -0700)]
mini-llvm: fix wrong usage

8 years ago[tests] Adjust MathTest double epsilon value
Ludovic Henry [Thu, 29 Oct 2015 18:08:13 +0000 (18:08 +0000)]
[tests] Adjust MathTest double epsilon value

The double.Epsilon value represent the smallest value that double is
able to represent. And that is diferent from the machine epsilon, which
is the smallest difference between two double values.

The second is equal to 2 ^ (-52), because there are 52bits to
represent the mantissa in a IEEE 754 double.

8 years ago[llvm] Split sig_to_llvm_sig () into two versions, one which takes an LLVMCallInfo...
Zoltan Varga [Thu, 29 Oct 2015 17:40:11 +0000 (13:40 -0400)]
[llvm] Split sig_to_llvm_sig () into two versions, one which takes an LLVMCallInfo argument, and one which doesn't.

8 years agoComment-out [HostProtection] attribute in SslStream.cs, it seems to be causing problems.
Martin Baulig [Thu, 29 Oct 2015 17:07:56 +0000 (13:07 -0400)]
Comment-out [HostProtection] attribute in SslStream.cs, it seems to be causing problems.

8 years ago[runtime] Disable the -Wreturn-stack-address clang warning.
Zoltan Varga [Thu, 29 Oct 2015 17:07:02 +0000 (13:07 -0400)]
[runtime] Disable the -Wreturn-stack-address clang warning.

8 years ago[threads] Fix warning on Linux
Ludovic Henry [Thu, 29 Oct 2015 16:36:47 +0000 (16:36 +0000)]
[threads] Fix warning on Linux

8 years agos390x-codegen.h - Initial SIMD support
Neale Ferguson [Thu, 29 Oct 2015 14:31:24 +0000 (10:31 -0400)]
s390x-codegen.h - Initial SIMD support
cpu-s390x.md - Add gc-safe-point instruction
mini-ops.h - Add TARGET_S390X for gc-safe-point
mini-s390x.c - Initial SIMD support; Fix floating point conversion
mini-s390x.h - Initial SIMD support

8 years ago[mono-error] Introduce mono_metadata_parse_type_checked variant that uses MonoError.
Rodrigo Kumpera [Tue, 27 Oct 2015 04:48:50 +0000 (00:48 -0400)]
[mono-error] Introduce mono_metadata_parse_type_checked variant that uses MonoError.

8 years ago[mono-error] Introduce MonoError in compare_type_literals.
Rodrigo Kumpera [Sun, 25 Oct 2015 20:45:03 +0000 (16:45 -0400)]
[mono-error] Introduce MonoError in compare_type_literals.

8 years ago[metadata] Remove dead MonoParseTypeMode argument from non public functions.
Rodrigo Kumpera [Sun, 25 Oct 2015 20:30:49 +0000 (16:30 -0400)]
[metadata] Remove dead MonoParseTypeMode argument from non public functions.

8 years ago[loader-error] mono_metadata_parse_method_signature is no longer used by the runtime...
Rodrigo Kumpera [Sun, 25 Oct 2015 20:07:02 +0000 (16:07 -0400)]
[loader-error] mono_metadata_parse_method_signature is no longer used by the runtime, so remove loader error handling from it.

8 years ago[llvm] Clean up the naming convention in the backend. 'module' refers to a MonoLLVMMo...
Zoltan Varga [Thu, 29 Oct 2015 00:56:12 +0000 (20:56 -0400)]
[llvm] Clean up the naming convention in the backend. 'module' refers to a MonoLLVMModule while 'lmodule' refers to a LLVMModuleRef. Some other small cleanups.

8 years ago[llvm] Merge LLVMCallInfo and LLVMSigInfo.
Zoltan Varga [Thu, 29 Oct 2015 00:38:47 +0000 (20:38 -0400)]
[llvm] Merge LLVMCallInfo and LLVMSigInfo.

8 years ago[System]: Replace the 'SslStream' implementation with a proxy that's using the 'MonoT...
Martin Baulig [Wed, 28 Oct 2015 23:47:18 +0000 (19:47 -0400)]
[System]: Replace the 'SslStream' implementation with a proxy that's using the 'MonoTlsProvider' layer.

This allows consumers of the 'SslStream' class to take full advantage of
the new TLS switcher code.

8 years ago[Mono.Security]: It is legal for a TlsClientCertificate message to contain no certifi...
Martin Baulig [Wed, 28 Oct 2015 23:12:48 +0000 (19:12 -0400)]
[Mono.Security]: It is legal for a TlsClientCertificate message to contain no certificates.

8 years agoFix the build, the stub for mono_llvm_cpp_throw_exception () was inside a DISABLE_JIT...
Zoltan Varga [Wed, 28 Oct 2015 22:45:16 +0000 (18:45 -0400)]
Fix the build, the stub for mono_llvm_cpp_throw_exception () was inside a DISABLE_JIT ifdef block.

8 years agoFix my last commit.
Martin Baulig [Wed, 28 Oct 2015 22:38:43 +0000 (18:38 -0400)]
Fix my last commit.

8 years ago[Mono.Security]: Rename 'MonoTlsSettings.ServerCertificateValidationCallback' into...
Martin Baulig [Wed, 28 Oct 2015 22:26:55 +0000 (18:26 -0400)]
[Mono.Security]: Rename 'MonoTlsSettings.ServerCertificateValidationCallback' into 'RemoteCertificateValidationCallback'.

This callback is also used to validate client-certificates when using SslStream in server-mode.

8 years agoDon't pass a 'null' hostname to the system validator as it would crash.
Martin Baulig [Wed, 28 Oct 2015 21:10:26 +0000 (17:10 -0400)]
Don't pass a 'null' hostname to the system validator as it would crash.

8 years agoKill dead code.
Martin Baulig [Wed, 28 Oct 2015 20:27:43 +0000 (16:27 -0400)]
Kill dead code.

8 years ago[runtime] Handle the conditional compilation of llvm-runtime.cpp at the automake...
Zoltan Varga [Wed, 28 Oct 2015 21:31:19 +0000 (17:31 -0400)]
[runtime] Handle the conditional compilation of llvm-runtime.cpp at the automake level since including a c++ file into a c project seems to cause linking problems on some platforms.

8 years ago[runtime] Add a configure check for unwind.h
Zoltan Varga [Wed, 28 Oct 2015 21:22:11 +0000 (17:22 -0400)]
[runtime] Add a configure check for unwind.h

8 years ago[profiler] Avoid a crash at shutdown by installing the assembly unload hook for the...
Zoltan Varga [Wed, 28 Oct 2015 19:04:56 +0000 (15:04 -0400)]
[profiler] Avoid a crash at shutdown by installing the assembly unload hook for the 'start_unload' event instead of the 'end_unload' event, the latter receives a mostly freed assembly.

8 years ago[threads] Use runtime flag to enable cooperative suspend
Ludovic Henry [Sat, 24 Oct 2015 12:09:41 +0000 (13:09 +0100)]
[threads] Use runtime flag to enable cooperative suspend

To enable cooperative suspend, simply set the MONO_ENABLE_COOP
environment variable.

8 years agoMerge pull request #2179 from BogdanovKirill/enummodulesfix
Ludovic Henry [Wed, 28 Oct 2015 18:27:52 +0000 (18:27 +0000)]
Merge pull request #2179 from BogdanovKirill/enummodulesfix

[Processes] Memory leak fix in EnumProcessModules function

8 years agoFix the build.
Zoltan Varga [Wed, 28 Oct 2015 18:27:16 +0000 (14:27 -0400)]
Fix the build.

8 years agoUse 'using SD = System.Diagnostics' to avoid ambiguous references.
Martin Baulig [Wed, 28 Oct 2015 18:14:48 +0000 (14:14 -0400)]
Use 'using SD = System.Diagnostics' to avoid ambiguous references.

8 years ago[test-runner] Improve output
Ludovic Henry [Wed, 28 Oct 2015 16:46:46 +0000 (16:46 +0000)]
[test-runner] Improve output

8 years ago[Process] Catch the closing of handle
Ludovic Henry [Wed, 28 Oct 2015 16:45:43 +0000 (16:45 +0000)]
[Process] Catch the closing of handle

8 years ago[Process] Do not count the output/error wait in the timeout of WaitForExit
Ludovic Henry [Wed, 28 Oct 2015 16:44:38 +0000 (16:44 +0000)]
[Process] Do not count the output/error wait in the timeout of WaitForExit

8 years ago[runtime] Fixed the non-LLVM build.
João Matos [Wed, 28 Oct 2015 16:30:54 +0000 (16:30 +0000)]
[runtime] Fixed the non-LLVM build.

8 years agoFix the windows build.
Zoltan Varga [Wed, 28 Oct 2015 15:07:42 +0000 (11:07 -0400)]
Fix the windows build.

8 years ago[threads] Fix race between async suspend and compensation
Ludovic Henry [Thu, 22 Oct 2015 20:01:10 +0000 (21:01 +0100)]
[threads] Fix race between async suspend and compensation

The race only happens on Posix with unified suspend.

The chain of event is the following:
- T1 suspend the world (calls `sgen_unified_suspend_stop_world`)
- T2 is async suspended
- T2 execute suspend_signal_handler:
 - T2 finish async suspend
 - T2->suspend_can_continue is set to FALSE as the thread is detaching
 - T2 notify T1 via `mono_threads_notify_initiator_of_suspend`
 - T2 is yielded (via the OS scheduler, or forced via a `sleep`)
- T1 returns from `mono_threads_wait_pending_operations`
- T1 does its stuff
- T1 restart the world
- T1 (or any another thread, except for T2) suspend the world (it does not
  necessarily uses `sgen_unified_suspend_stop_world`)
- T2 is async suspended: incrementation of T2->suspend_count to 2, but it is
    not signalled because it is already in ASYNC_SUSPENDED state
- T2 wakes up (for any reason) and execute compensation <- ERROR: suspend_count != 1

This race can happen because when async suspending, we notify the
suspendor before executing the compensation, in this case for a thread
which is detaching. By simply post-ponning the notification, just after
the compensation, we eliminate this race.

8 years ago[acceptance-tests] Write list of CoreCLR tests into file and pass it to test-runner
Alexander Köplinger [Wed, 28 Oct 2015 00:21:38 +0000 (01:21 +0100)]
[acceptance-tests] Write list of CoreCLR tests into file and pass it to test-runner

This shaved about 30 seconds off the time until the test-runner started on my machine compared to
passing the tests in the command line directly (we have *lots* of CoreCLR tests).

8 years ago[test-runner] Add a new --input-file option for reading the test list from a file
Alexander Köplinger [Wed, 28 Oct 2015 00:16:55 +0000 (01:16 +0100)]
[test-runner] Add a new --input-file option for reading the test list from a file

8 years ago[test-runner] Fix bug in commandline option parsing
Alexander Köplinger [Wed, 28 Oct 2015 00:10:57 +0000 (01:10 +0100)]
[test-runner] Fix bug in commandline option parsing

i+i doesn't make sense, it should be i+1 (the next argument after the current one).

8 years ago[tests] Add coreclr GC stress tests
Ludovic Henry [Sun, 25 Oct 2015 14:47:54 +0000 (14:47 +0000)]
[tests] Add coreclr GC stress tests

8 years ago[tests] Try to fix finalizer-wait
Ludovic Henry [Mon, 26 Oct 2015 18:39:57 +0000 (18:39 +0000)]
[tests] Try to fix finalizer-wait

8 years ago[tests] Fix Math.Pow precision bug on Android
Ludovic Henry [Wed, 28 Oct 2015 11:16:57 +0000 (11:16 +0000)]
[tests] Fix Math.Pow precision bug on Android

8 years ago[Processes] Memory leak fix in EnumProcessModules function
BogdanovKirill [Wed, 28 Oct 2015 05:50:46 +0000 (10:50 +0500)]
[Processes] Memory leak fix in EnumProcessModules function

The main point is that get_process_name_from_proc's result string is never released.

This change is released under the MIT license.

8 years ago[profiler] Disable 'time went backwards' debug message.
Alex Rønne Petersen [Wed, 28 Oct 2015 10:25:28 +0000 (11:25 +0100)]
[profiler] Disable 'time went backwards' debug message.

While this would have indicated a bug in the past, it's perfectly normal now
due to how we synthesize TYPE_JIT events to ensure sane event ordering.

8 years ago[runtime] Use Unwind_Backtrace only on platforms which support it.
Zoltan Varga [Wed, 28 Oct 2015 01:03:53 +0000 (21:03 -0400)]
[runtime] Use Unwind_Backtrace only on platforms which support it.

8 years ago[llvmonly] Add support for direct calls to icalls.
Zoltan Varga [Wed, 28 Oct 2015 00:57:06 +0000 (20:57 -0400)]
[llvmonly] Add support for direct calls to icalls.

8 years ago[System/TLS]: Don't crash when we're called without user-supplied certificate validator.
Martin Baulig [Tue, 27 Oct 2015 21:38:39 +0000 (17:38 -0400)]
[System/TLS]: Don't crash when we're called without user-supplied certificate validator.

8 years ago[acceptance-tests] Move CoreCLR submodule reference to Mono fork
Alexander Köplinger [Tue, 27 Oct 2015 20:28:48 +0000 (21:28 +0100)]
[acceptance-tests] Move CoreCLR submodule reference to Mono fork

8 years agoOops, there is no README.md
Martin Baulig [Tue, 27 Oct 2015 19:47:40 +0000 (15:47 -0400)]
Oops, there is no README.md

8 years agoOops, forgot to add to the top-level Makefile for mobile.
Martin Baulig [Tue, 27 Oct 2015 19:44:23 +0000 (15:44 -0400)]
Oops, forgot to add to the top-level Makefile for mobile.

8 years ago[test-runner] Filter out invalid XML chars before writing to XML
Alexander Köplinger [Tue, 27 Oct 2015 19:37:34 +0000 (20:37 +0100)]
[test-runner] Filter out invalid XML chars before writing to XML

The test-runner crashed sometimes when running the CoreCLR testsuite with the following exception:
"System.ArgumentException: '', hexadecimal value 0x0F, is an invalid character." when trying to
emit the NUnit xml.

The stacktrace of one of the failing tests contained the character 0x0F which is invalid in XML,
we now filter out those invalid chars.

8 years ago[Mono.Security.Providers.OldTls]: New assembly.
Martin Baulig [Tue, 27 Oct 2015 18:26:51 +0000 (14:26 -0400)]
[Mono.Security.Providers.OldTls]: New assembly.

This provides a 'MonoTlsProvider' for Mono's existing TLS implementation.

It's simply a public frontend for the internal 'LegacySslStream' class.

8 years ago[System]: Make internals visible to Mono.Security.Providers.OldTls.
Martin Baulig [Tue, 27 Oct 2015 18:25:46 +0000 (14:25 -0400)]
[System]: Make internals visible to Mono.Security.Providers.OldTls.

8 years ago[sgen] Fix marking of cards on 64bit
Vlad Brezae [Tue, 27 Oct 2015 16:22:02 +0000 (18:22 +0200)]
[sgen] Fix marking of cards on 64bit

8 years ago[sgen] Fix call to `InterlockedCompareExchange()`.
Mark Probst [Tue, 27 Oct 2015 17:54:40 +0000 (10:54 -0700)]
[sgen] Fix call to `InterlockedCompareExchange()`.

This fixes random crashes on `sgen-weakref-stress.exe`.

8 years ago[linker] match type pattern with nested types
Radek Doulik [Tue, 27 Oct 2015 17:23:41 +0000 (18:23 +0100)]
[linker] match type pattern with nested types

 - this way the following xml will match all the types in the assembly
   MyAssembly

    <linker>
        <assembly fullname="MyAssembly">
            <namespace type="*" />
        </assembly>
    </linker>

   before this change it will only match the types defined in main
   module and none of the nested types

8 years ago[acceptance-tests] Append a suffix to the CoreCLR IL tests
Alexander Köplinger [Tue, 27 Oct 2015 17:19:39 +0000 (18:19 +0100)]
[acceptance-tests] Append a suffix to the CoreCLR IL tests

Some of the tests have both a test.il and test.cs in the same folder, which means we would
generate an .exe with the same name and overwriting one of them.

This is avoided by appending a _il suffix to the IL tests.

8 years agoMerge pull request #2163 from xmcclure/image-audit
Andi McClure [Tue, 27 Oct 2015 15:49:36 +0000 (11:49 -0400)]
Merge pull request #2163 from xmcclure/image-audit

Mempool reference-auditing feature in checked builds

8 years agoThis introduces three macros, to be used in place of a simple pointer assignment...
"Andi McClure ext:(%22) [Tue, 27 Oct 2015 15:41:41 +0000 (11:41 -0400)]
This introduces three macros, to be used in place of a simple pointer assignment when working with images or imagesets:

CHECKED_METADATA_WRITE_PTR - Use this to assign a pointer when it points from memory hosted by an image or imageset to another.
CHECKED_METADATA_WRITE_PTR_LOCAL - Use this to assign a pointer when it points from memory noted by an image or imageset to itself.
CHECKED_METADATA_WRITE_PTR_EXEMPT - Use this to assign a pointer in memory hosted by an image or imageset, but which the audit feature cannot correctly check at this time (this is the case when an image must contain a pointer to something that is not located in a mempool, such as a constant string). This is so that at least we know where these exceptions to the audits are.

In non-checked mode, each of these is a simple assignment. In checked mode, they walk the graph of references between images to make sure invariants related to ref_count are not violated.