Vlad Brezae [Thu, 20 Apr 2017 11:22:41 +0000 (14:22 +0300)]
[amd64] Make inline function in header static
This was actually failing the osx build for me, probably due to symbol conflicts.
Vlad Brezae [Thu, 20 Apr 2017 11:19:47 +0000 (14:19 +0300)]
[metadata] Don't use static_data_array
Memory allocated with mono_gc_alloc_fixed is uncollectable both on sgen and boehm. This array serves no other purpose. It should probably be killed entirely, but it's part of the API.
Matthew Leibowitz [Thu, 20 Apr 2017 20:28:05 +0000 (22:28 +0200)]
[Mono.Options] CommandSet and PCL/NetStandard Support (#4719)
When `PCL` is defined, the intent is that the resulting
`Mono.Options.dll` assembly will be usable on all PCL profiles.
This includes "silly" profiles such as Profile259, which lacks the
`System.Console` type, meaning e.g. `Console.Out` doesn't exist.
Unfortunately, the
`CommandSet(string, Converter<string, string, TextWriter, TextWriter)`
constructor would use `Console.Out` and `Console.Error` when the
`TextWriter` parameters were `null`, meaning this constructor can't
be provided for all PCL profiles.
Altering the constructor to instead use `TextWriter.Null` would allow
the constructor to be provided, but would be a *worse* experience,
IMHO: anybody (everybody!) expecting the default values to
"do something useful" will be sorely disappointed, as output and
error messages would instead be dropped. :-(
Instead, remove this constructor:
public CommandSet (string suite, MessageLocalizerConverter localizer = null, TextWriter output = null, TextWriter error = null);
and replace it with these *two* constructors:
public CommandSet (string suite, MessageLocalizerConverter localizer = null)
public CommandSet (string suite, TextWriter output, TextWriter error, MessageLocalizerConverter localizer = null)
The first constructor, which accepts no `TextWriter` parameters, is
only provided in non-PCL builds, allowing it to use `Console.Out`.
The second constructor is available in PCL profiles, and *requires*
that `output` and `error` be non-`null`.
Documentation has been updated accordingly.
Alexander Kyte [Wed, 19 Apr 2017 19:47:14 +0000 (15:47 -0400)]
Merge pull request #4722 from alexanderkyte/checked_after
[scripts] Don't build in checked mode
Alexander Köplinger [Wed, 19 Apr 2017 19:18:43 +0000 (21:18 +0200)]
Fix README.md to show correct values for --with-libgc
External boehm is no longer supported.
Alexander Köplinger [Wed, 19 Apr 2017 19:04:47 +0000 (21:04 +0200)]
[corlib/System.Data] Test fixes for xammac 4.5 and watchos
The TrimSpecial() method and Windows-specific code was removed from
xammac 4.5 so reflection can't find it anymore, handle this case.
Also add a workaround for SqlParameterCollectionTest.CopyToTest()
which fails on watchos since the SqlCommand would throw a PNSE.
It's a workaround because it just makes the test ignored since we don't
set the env var that ConnectionManager.Instance.Sql reads in XI tests,
but it makes the test consistent with the other tests in the suite.
We should fix this properly later on.
monojenkins [Wed, 19 Apr 2017 16:22:02 +0000 (16:22 +0000)]
[msvc] Update csproj files
Alexander Kyte [Wed, 19 Apr 2017 16:57:51 +0000 (12:57 -0400)]
[scripts] Don't build in checked mode
Alexander Köplinger [Wed, 19 Apr 2017 12:40:10 +0000 (14:40 +0200)]
[System.Data] Call SqlConnection.ClearAllPools() only when we had a connection
When ConnectionManager.Instance.Sql.ConnectionString throws in
SetUp() we'd still call SqlConnection.ClearAllPools() in the TearDown()
which happens for example when the connection string environment
variable is not set.
This is a problem on WatchOS since SqlConnection.ClearAllPools()
throws PlatformNotSupportedException there, making the tests fail.
Instead we now check whether the connectionString is set and only
call the method in that case.
Marek Safar [Wed, 19 Apr 2017 09:59:07 +0000 (11:59 +0200)]
Bump cecil
Mikayla Hutchinson [Wed, 19 Apr 2017 09:48:41 +0000 (05:48 -0400)]
Fix RemoteEndpoint with async+DualMode (#4717)
Marek Safar [Tue, 18 Apr 2017 18:08:41 +0000 (20:08 +0200)]
[Mono.CSharp] Fixes parallel build
Zoltan Varga [Wed, 19 Apr 2017 02:31:14 +0000 (22:31 -0400)]
[runtime] Shadow copy the .pdb files as well. Fixes #55095. (#4715)
Alexander Köplinger [Tue, 18 Apr 2017 21:09:42 +0000 (23:09 +0200)]
[System] Don't include AlsaDevice on xammac_net_4_5
(cherry picked from commit
79ad720d5d6a595672012535116246920d32fba1)
Marek Safar [Tue, 18 Apr 2017 15:49:53 +0000 (17:49 +0200)]
[Mono.CSharp] Fixes parallel build
Andi McClure [Tue, 18 Apr 2017 18:05:16 +0000 (14:05 -0400)]
Merge pull request #4708 from xmcclure/orbis-system-net
Minor orbis fix in System.Net
Zoltan Varga [Tue, 18 Apr 2017 18:03:55 +0000 (14:03 -0400)]
[jit] Disable handler block trampolines+aot support on ios, it does an async stack walk, and the eh info for llvm compiled methods cannot be loaded in async context currently. Works around #54658. (#4713)
Alexander Köplinger [Tue, 18 Apr 2017 17:41:13 +0000 (19:41 +0200)]
[configure] Fix docs for --with-libgc option (#4707)
It was renamed from --with-gc to --with-libgc in
66ca91f10b0fdd61824e318f659b807cbf45aef3,
but a few places were missed.
monojenkins [Tue, 18 Apr 2017 17:20:51 +0000 (19:20 +0200)]
[msvc] Update csproj files (#4711)
Alexander Kyte [Tue, 18 Apr 2017 17:01:27 +0000 (13:01 -0400)]
Merge pull request #4712 from alexanderkyte/master-circular-fix
[runtime] Fix circular types in SRE
Alexander Kyte [Wed, 12 Apr 2017 16:25:18 +0000 (12:25 -0400)]
[runtime] Handle circular references in SRE types
We previously recursed through the entire directed cyclic graph
of the type passed to SRE. When given a (legal) circular type reference,
we encountered stack overflows. This was particularly easy to trigger
with fsharpi and with FAKE.
By creating everything about the type before searching for the parent,
and by defering all type hierarchy establishment until the type must be
surfaced to manage code, we tease out the data dependencies caught up in
the cycle.
Note the bounded lifetime of the unmanaged object hidden in the SRE
module, which acts as a global reference for all types reachable from
the TypeBuilder passed to the runtime through the icall.
Alexander Kyte [Thu, 13 Apr 2017 17:03:19 +0000 (13:03 -0400)]
[runtime] Test circular references in SRE
Andi McClure [Mon, 17 Apr 2017 21:50:56 +0000 (17:50 -0400)]
Minor orbis fix in System.Net
Alexander Köplinger [Tue, 18 Apr 2017 11:51:39 +0000 (13:51 +0200)]
Bump nuget-buildtasks
Marek Safar [Tue, 18 Apr 2017 11:48:31 +0000 (13:48 +0200)]
[runtime] Blacklist System.Threading.Overlapped nugets
Ankit Jain [Tue, 18 Apr 2017 11:17:07 +0000 (07:17 -0400)]
Update nuget-buildtasks from upstream's `dev15.1` branch (#4703)
* Update nuget-buildtasks from upstream's `dev15.1` branch
dev15.1 branch + fixup import paths
This was prompted by needing to support nuget restore for projects with
`PackageReference`.
* [nuget] Bump reference to NuGet.BuildTasks to pick up a build fix
Bill Holmes [Tue, 18 Apr 2017 10:59:56 +0000 (06:59 -0400)]
Remove the use of ExpectedException in Mono.Posix Tests (#4698)
* Remove the use of ExpectedException in Mono.Posix Tests
ExpectedException is not available in later versions of
NUnit. To test the NetCore 2.0 version of Mono.Posix I
need a newer version of NUnit that does not contain ExpectedException.
Using Assert.Throws should be equivalent.
* Mono.Posix Tests move CanUseRealTimeSignals checks
Moving the CanUseRealTimeSignals check outside of the
Assert.Throws callback function.
This is a change in test behavior requested by @akoeplinger
in the PR review.
* Fixing Mono.Posix.UnixSignalTest.TestSignumPropertyThrows
This test throws InvalidOperationException and we need to check
for that in the Assert.Throws type.
Mikayla Hutchinson [Tue, 18 Apr 2017 02:05:04 +0000 (22:05 -0400)]
Add System.Net.Http 4.3.1 to blacklist
Marek Safar [Tue, 18 Apr 2017 08:03:29 +0000 (10:03 +0200)]
[corlib] Fixes static builds (#4687)
* [corlib] Fixes static builds
Julius Vitkauskas [Fri, 14 Apr 2017 20:44:05 +0000 (23:44 +0300)]
Place break inside if block
David Karlaš [Tue, 18 Apr 2017 05:35:23 +0000 (07:35 +0200)]
Bug 55148 - Debugger checks type which is possibly never used (#4690)
Aleksey Kliger [Mon, 17 Apr 2017 14:53:36 +0000 (10:53 -0400)]
[w32error] Fix g_error args in mono_w32error_unix_to_win32
Ankit Jain [Sat, 15 Apr 2017 01:48:02 +0000 (21:48 -0400)]
Empty commit to force a wrench build
Aleksey Kliger (λgeek) [Fri, 14 Apr 2017 19:30:53 +0000 (15:30 -0400)]
Merge pull request #4569 from lambdageek/dev-coop-handles-march
Misc coop handles work
Martin Baulig [Fri, 14 Apr 2017 18:50:36 +0000 (14:50 -0400)]
[appletls]: Disable the new keychain code on XI. (#4695)
(cherry picked from commit
b6255d35cd224bc2ed63e52689fc336c31e63a34)
Ludovic Henry [Fri, 14 Apr 2017 18:51:42 +0000 (14:51 -0400)]
[WebConnection] Fix race condition between Close and BeginWrite (#4693)
* [WebConnection] Make ReadDone and InitRead instance methods to avoid passing cnc around
* [WebConnection] Inline only call to InitConnection
* [WebConnection] Fix race condition between Close and BeginWrite
monojenkins [Fri, 14 Apr 2017 17:12:35 +0000 (19:12 +0200)]
[msvc] Update csproj files (#4696)
Aleksey Kliger [Thu, 23 Mar 2017 21:36:19 +0000 (17:36 -0400)]
[custom-attrs] Use coop handles for mono_reflection_get_custom_attrs_info_checked
* use handles in icalls
- ves_icall_MonoCustomAttrs_GetCustomAttributesDataInternal
- ves_icall_MonoCustomAttrs_GetCustomAttributesInternal
Aleksey Kliger [Thu, 23 Mar 2017 20:09:59 +0000 (16:09 -0400)]
[reflection] Move mono_reflection_type_get_handle to sre-internals.h
It's basically deprecated and only use in reflection until reflection is
converted to use handles.
Aleksey Kliger [Thu, 23 Mar 2017 19:35:57 +0000 (15:35 -0400)]
[custom-attrs] Rename custom_attrs_defined_internal to ves_icall_MonoCustomAttrs_IsDefinedInternal
and use coop handles.
Aleksey Kliger [Wed, 22 Mar 2017 15:54:26 +0000 (11:54 -0400)]
[remoting] Use coop handles for S.R.Remoting.Contexts.Context.{Register,Release}Context
* ves_icall_System_Runtime_Remoting_Contexts_Context_RegisterContext
* ves_icall_System_Runtime_Remoting_Contexts_Context_ReleaseContext
Added new mono_threads_{register,release}_app_context to be used internally in
the runtime.
Aleksey Kliger [Tue, 21 Mar 2017 20:39:16 +0000 (16:39 -0400)]
[runtime] Use coop handles for ves_icall_System_AppDomain_DoUnhandledException
Aleksey Kliger [Tue, 21 Mar 2017 19:02:25 +0000 (15:02 -0400)]
[domain] Mark mono_context_set external only
runtime should use mono_context_set_handle
Aleksey Kliger [Tue, 21 Mar 2017 19:01:39 +0000 (15:01 -0400)]
[remoting] Move mono_context_{get,set} icall registration to remoting
It was previously in marshal
Aleksey Kliger [Tue, 21 Mar 2017 17:37:01 +0000 (13:37 -0400)]
[domain] Use handles for MonoAppContext icalls
* ves_icall_System_AppDomain_InternalGetContext
* ves_icall_System_AppDomain_InternalGetDefaultContext
* ves_icall_System_AppDomain_InternalSetContext
Aleksey Kliger [Thu, 16 Mar 2017 21:25:13 +0000 (17:25 -0400)]
[reflection] Use coop handles for MonoEventInfo.get_event_info
Marek Safar [Tue, 11 Apr 2017 21:37:03 +0000 (23:37 +0200)]
Bump CoreRT
Zoltan Varga [Thu, 13 Apr 2017 21:11:23 +0000 (17:11 -0400)]
[runtime] Avoid freeing a string passed to mono_mb_emit_exception_full (), it doesn't assume ownership of it. Fixes random wrench failures after
91ae1664061e8ac2d370da57c57d450bb00d64de.
Alexander Köplinger [Thu, 13 Apr 2017 20:46:05 +0000 (22:46 +0200)]
Revert "[acceptance-tests] Disable a regressed coreclr test"
This reverts commit
5e8012a6787e4dc1bb6577c4e3572a2c8070dd05.
The bug was fixed.
Zoltan Varga [Thu, 13 Apr 2017 20:40:34 +0000 (16:40 -0400)]
[jit] Make newarr [void] unverified. Fixes #55083.
Aleksey Kliger (λgeek) [Thu, 13 Apr 2017 18:27:02 +0000 (14:27 -0400)]
Merge pull request #4680 from lambdageek/bug-49721-take2
[loader] Ignore public key token in strong name match, if requested framework assembly was remapped
Martin Baulig [Thu, 13 Apr 2017 17:46:54 +0000 (13:46 -0400)]
[btls]: Cleanup certificate store initialization (#4683)
* [BTLS]: Cleanup certificate store initialization.
* Kill unused MonoBtlsX509Store.AddTrustedRoots().
* In server-mode, MonoBtlsProvider.SetupCertificateStore() now only adds
certificates explicitly trused via MonoTlsSettings.TrustAnchors.
* MonoTlsProvider.ValidateCertificate() - which is called from
X509Certificate2.Verify() via X509CertificateImplBtls.Verify() - now
uses MonoTlsSettings.DefaultSettings and assumes client-mode.
* [appletls]: Actually use the new code that was added in PR #4671.
* [btls]: Add new MonoTlsSettings.CertificateValidationTime property.
This allows you to set a custom time for certificate expiration checks.
* [appletls]: Bind SecTrustSetVerifyDate() and check MonoTlsSettings.CertificateValidationTime.
Alexander Köplinger [Thu, 13 Apr 2017 17:15:37 +0000 (19:15 +0200)]
Fix check for file in gensources.sh
It didn't correctly check whether the file exists so we got
"tail: no such file or directory" messages during the build.
Zoltan Varga [Thu, 13 Apr 2017 16:16:24 +0000 (12:16 -0400)]
[runtime] Fix some small domain related memory leaks. (#4685)
Marek Safar [Thu, 13 Apr 2017 10:22:45 +0000 (12:22 +0200)]
[System.Core][System.ComponentModel.DataAnnotations] Update strings
Rodrigo Kumpera [Wed, 12 Apr 2017 23:01:36 +0000 (16:01 -0700)]
Merge pull request #4675 from kumpera/runtime-scalability-take1
[runtime] Reduce contention on some top locks when running Roslyn.
Martin Baulig [Wed, 12 Apr 2017 17:38:56 +0000 (13:38 -0400)]
[appletls]: Actually use the new code that was added in PR #4671.
Alexander Kyte [Wed, 12 Apr 2017 19:47:39 +0000 (15:47 -0400)]
Merge pull request #4615 from alexanderkyte/string_error_handling
[runtime] Don't discard string conversion errors
Zoltan Varga [Wed, 12 Apr 2017 19:16:00 +0000 (15:16 -0400)]
[ppdb] Fix a crash if mono_ppdb_get_seq_points () is only passed a 'source_file' argument.
monojenkins [Wed, 12 Apr 2017 16:36:50 +0000 (16:36 +0000)]
[msvc] Update csproj files
Aleksey Kliger [Wed, 12 Apr 2017 16:06:26 +0000 (12:06 -0400)]
[loader] Ignore public key token in strong name match, if requested framework assembly was remapped
When framework assemblies are compiled for the mobile runtime, they are
generally signed with a different key than the normal desktop one.
Unfortunately each assembly has different logic for which key is
used (typically silverlight.pub or corefx.pub in place of ecma.pub), and short
of hardcoding a table in the runtime, there's no good way to know.
Aleksey Kliger [Wed, 12 Apr 2017 16:04:25 +0000 (12:04 -0400)]
[assembly] Add option to ignore public key tokens when comparing MonoAssemblyNames
Aleksey Kliger [Tue, 11 Apr 2017 19:19:22 +0000 (15:19 -0400)]
Revert "[loader] Remap public key tokens of framework assemblies when running with --runtime=mobile"
This reverts commit
af7195e3493bc8c3e49da9e411ec7c8da1efcbef.
Alexander Köplinger [Wed, 12 Apr 2017 13:00:11 +0000 (15:00 +0200)]
[acceptance-tests] Disable a regressed coreclr test
I filed a tracking bug.
Vlad Brezae [Wed, 12 Apr 2017 00:54:08 +0000 (03:54 +0300)]
Merge pull request #4670 from BrzVlad/fix-sgen-testing
[tests] sgen testing tweaks
Vlad Brezae [Mon, 10 Apr 2017 16:18:23 +0000 (19:18 +0300)]
[tests] Improve configurations of sgen tests
Main pointers :
- explicit minor and bridge configuration (add some for missing major)
- reduce duplicated testing or of low relevance (like split nursery)
- intensive testing of latest new configurations combined (parallel minor + major + future experiments)
- include testing with a small and a large nursery for additional variance
Vlad Brezae [Mon, 10 Apr 2017 12:50:39 +0000 (15:50 +0300)]
[tests] Add timeout limits to some longer sgen tests
Rodrigo Kumpera [Tue, 22 Nov 2016 17:06:26 +0000 (09:06 -0800)]
[loader] Make MonoImageSet::gclass_cache concurrent.
Rodrigo Kumpera [Tue, 22 Nov 2016 09:41:46 +0000 (01:41 -0800)]
[loader] Move typespec_cache to a lock-free-reads hashtable.
Rodrigo Kumpera [Tue, 22 Nov 2016 09:20:45 +0000 (01:20 -0800)]
[loader] Add a lock-free cache in front of get_image_set. Doesn't override on fetch, maybe needs tweaking?
Rodrigo Kumpera [Tue, 11 Apr 2017 22:07:56 +0000 (18:07 -0400)]
Merge pull request #4673 from kumpera/fix_stdelem_ref_perf
[runtime] Fix get_virtual_stelemref_wrapper STELEMREF_CLASS case to actually do the base class check.
Martin Baulig [Tue, 11 Apr 2017 21:43:51 +0000 (17:43 -0400)]
[appletls]: Use SecIdentityCreate() to avoid using the Mac keychain. (#4671)
* [appletls]: Use SecIdentityCreate() to avoid using the Mac keychain when we have a private key.
Reading Certificates from the Mac Keychain
==========================================
Reading the private key from the keychain is a new feature introduced with
AppleTls on XamMac and iOS. On Desktop Mono, this new feature has several
known issues and it also did not received any testing yet. We go back to the old
way of doing things, which is to explicitly provide an X509Certificate2 with a
private key.
Keychain Dialog Popups
======================
When using Xamarin.Mac or Xamarin.iOS, we try to search the keychain
for the certificate and private key.
On Xamarin.iOS, this is easy because each app has its own keychain.
On Xamarin.Mac, the .app package needs to be trusted via code-sign
to get permission to access the user's keychain. [FIXME: I still have to
research how to actually do that.] Without this, you will get a popup
message each time, asking you whether you want to allow the app to access
the keychain, but you can make these go away by selecting "Trust always".
On Desktop Mono, this is problematic because selecting "Trust always"
give the 'mono' binary (and thus everything you'll ever run with Mono)
permission to retrieve the private key from the keychain.
This code would also trigger constant keychain popup messages,
which could only be suppressed by granting full trust. It also makes it
impossible to run Mono in headless mode.
SecIdentityCreate
=================
To avoid these problems, we are currently using an undocumented API
called SecIdentityRef() to avoid using the Mac keychain whenever a
X509Certificate2 with a private key is used.
On iOS and XamMac, you can still provide the X509Certificate without
a private key - in this case, a keychain search will be performed (and you
may get a popup message on XamMac).
Rodrigo Kumpera [Tue, 11 Apr 2017 18:36:49 +0000 (11:36 -0700)]
[runtime] Fix get_virtual_stelemref_wrapper STELEMREF_CLASS case to actually do the base class check.
The code was bailing straight to native which is significantly slower. This is the result of roslyn compiling corlib on my machine:
Before:
real 0m5.757s
user 0m22.059s
sys 0m1.736s
After:
real 0m5.816s
user 0m23.623s
sys 0m1.693s
Alexander Köplinger [Tue, 11 Apr 2017 18:23:26 +0000 (20:23 +0200)]
[netstandard] Remove System.ArgIterator from facade
It was removed today: https://github.com/dotnet/standard/commit/
52651e78ac329c56fb59cebf5b24174f25acb070
Alexander Köplinger [Tue, 11 Apr 2017 18:18:55 +0000 (20:18 +0200)]
[Facades] Build netstandard.dll by default (#4501)
Added a new EXTERNAL_FACADE_DRAWING_REFERENCE variable which
specifies the path to an assembly that contains drawing types,
e.g. in the monotouch/monodroid case System.Drawing is built
inside the XI/XA repos.
Also update netstandard typeforwards to the latest version
from the dotnet/standard repo.
monojenkins [Tue, 11 Apr 2017 16:29:26 +0000 (16:29 +0000)]
[msvc] Update csproj files
Rodrigo Kumpera [Tue, 11 Apr 2017 17:13:38 +0000 (10:13 -0700)]
Merge pull request #4116 from kumpera/jit-job-control
[mini] Introduce job control to the JIT. Limits by active and duplicate jobs.
Zoltan Varga [Tue, 11 Apr 2017 15:51:45 +0000 (11:51 -0400)]
[arm] Fix a gsharedvt assertion which happens with gsharedvt methods with a lot of arguments. Fixes #54976.
Marek Safar [Tue, 11 Apr 2017 14:36:11 +0000 (16:36 +0200)]
Update README.Mono.md
Marek Safar [Tue, 11 Apr 2017 11:59:37 +0000 (13:59 +0200)]
Readme rename
Marek Safar [Fri, 7 Apr 2017 22:25:45 +0000 (00:25 +0200)]
Updates referencesource to .NET 4.7
Alexander Köplinger [Mon, 10 Apr 2017 18:15:34 +0000 (20:15 +0200)]
[resgen] Remove dependency on WinForms and use it in mobile profiles (#4667)
resgen.exe used to load WinForms via reflection which is a pretty
large dependency. Instead we can just embed the few types that
are used for reading/writing resx files directly into the app.
Add System.Drawing.dll to the "build" profile so we can put
resgen there as well and allow us to no longer rely on system
resgen for mobile profiles like monotouch/monodroid.
monojenkins [Mon, 10 Apr 2017 16:48:21 +0000 (18:48 +0200)]
[msvc] Update csproj files (#4669)
Marek Safar [Mon, 10 Apr 2017 09:47:25 +0000 (11:47 +0200)]
[corlib] Deconstruct api from corert
Marek Safar [Sat, 8 Apr 2017 08:52:26 +0000 (10:52 +0200)]
Bump corert
Marek Safar [Fri, 7 Apr 2017 10:15:50 +0000 (12:15 +0200)]
[corlib] Add few checks for array boxing conversion of pointer types
Marek Safar [Wed, 5 Apr 2017 07:33:26 +0000 (09:33 +0200)]
[corlib] Share corert Array code
Vlad Brezae [Mon, 10 Apr 2017 10:43:09 +0000 (13:43 +0300)]
[tests] Bump timeouts on sgen tests
Tests that have been known to regularly fail in the past.
Zoltan Varga [Sun, 9 Apr 2017 22:59:44 +0000 (18:59 -0400)]
[arm64] Add a test file for codegen macros. Not used.
Ludovic Henry [Sat, 8 Apr 2017 00:56:59 +0000 (20:56 -0400)]
[tests] Make stress testing more verbose (#4664)
Rodrigo Kumpera [Fri, 7 Apr 2017 22:55:43 +0000 (15:55 -0700)]
[mini] Fix spurious wakeups within JIT job control.
The first iteration of this code suffered from spurious wakeups due to using a single cond-var for all compilation.
This introduce a per-job cond var and make threads wait on that. Spurious wakeups are quite problematic in heavily threaded
code such as Roslyn. On average, every wait would get 2 extra wakeups for no good reason.
With this change, on my laptop compilation times are the following:
With spurious wakeups:
real 0m6.134s
user 0m23.588s
sys 0m2.331s
Without spurious wakeups:
real 0m5.658s
user 0m22.851s
sys 0m1.694s
This represents a 8% wallclock speedup and 3% user time speedup.
As part of this change, the active threads accounting is gone as the number of waits due to cpu overload was close to zero.
Andi McClure [Fri, 7 Apr 2017 20:16:23 +0000 (16:16 -0400)]
Merge pull request #4660 from xmcclure/llvm-orbis
LLVM Orbis support
Andi McClure [Thu, 6 Apr 2017 21:15:19 +0000 (17:15 -0400)]
LLVM: Orbis support, fix typo in configure.ac
jmserrano [Fri, 7 Apr 2017 17:13:17 +0000 (19:13 +0200)]
Fix bug in SessionStateModule when session data is deleted
Alexander Köplinger [Fri, 7 Apr 2017 18:05:34 +0000 (20:05 +0200)]
[Facades] Add facades to winaot/orbis profiles (#4656)
Also remove Mono.Simd as we don't it on new platforms.
Cleanup monotouch_dirs to not depend on testing_aot_full_dirs since
it should be separate (even though it contains the same right now).
Andi McClure [Fri, 7 Apr 2017 17:47:16 +0000 (13:47 -0400)]
Merge pull request #4663 from xmcclure/bump-linker
Bump linker external to its master
Alexander Köplinger [Fri, 7 Apr 2017 16:07:52 +0000 (18:07 +0200)]
[bcl] Add check for newline to gensources.sh (#4662)
This has bitten us a bunch of times now so let's make sure
it doesn't happen again.
Andi McClure [Fri, 7 Apr 2017 15:42:00 +0000 (11:42 -0400)]
Bump linker external to its master
Alexander Köplinger [Fri, 7 Apr 2017 12:50:16 +0000 (14:50 +0200)]
Make sure .sources files end with newline
It confuses the build on Linux otherwise.
Marek Safar [Thu, 6 Apr 2017 21:24:25 +0000 (23:24 +0200)]
Bump corert