Tanner Gooding [Wed, 13 May 2020 23:51:20 +0000 (16:51 -0700)]
Optimize Vector64 and Vector128.Create methods (#36267)
* Updating the Vector64 and Vector128 Create methods to be marked Intrinsic on ARM64
* Updating the JIT to emit constants for Vector64 and Vector128.Create
* Fixing lookupNamedIntrinsic and impIntrinsic to throw PNSE for unsupported mustExpand intrinsics
* Fixing impIntrinsic to directly use gtNewMustThrowException
* Move gtNewMustThrowException to not depend on FEATURE_HW_INTRINSICS
* Applying formatting patch
* Add basic support for GT_CLS_VAR_ADDR to the ARM64 JIT
* Update lookupNamedIntrinsic to handle System.Runtime.Intrinsics for unsupported platforms
* Fixing INS_ldr in emitIns_R_C to use isValidVectorLSDatasize
* Elaborate on why we specially recognize the HWIntrinsics even on platforms that don't support them
Aaron Robinson [Wed, 13 May 2020 23:16:53 +0000 (16:16 -0700)]
Incorrect CALLSITE macro usage. (#36357)
Anirudh Agnihotry [Wed, 13 May 2020 22:37:34 +0000 (15:37 -0700)]
Adding sdlConfig file to move policheck out of the build (#36142)
* sdlfile
* add the variable names
Adeel Mujahid [Wed, 13 May 2020 21:46:33 +0000 (00:46 +0300)]
Add configurations for SunOS in installer (#36316)
Santiago Fernandez Madero [Wed, 13 May 2020 21:28:55 +0000 (14:28 -0700)]
Disable System.Diagnostics.Tests.EventLogSourceCreationTests (#36138)
* Disable System.Diagnostics.Tests.EventLogSourceCreationTests.CheckSourceExistenceAndDeletion
* Fix trait to skip tests in CI
* Use ActiveIssue instead
Swaroop Sridhar [Wed, 13 May 2020 21:09:18 +0000 (14:09 -0700)]
BundleProbeTest: Enable disabled tests (#36327)
A few of the bundle probe tests were failing on Linux-musl-x64-release.
This change adjusts the test to circumvent the failure.
Fixes #35755
Stephen Toub [Wed, 13 May 2020 21:07:11 +0000 (17:07 -0400)]
Update to v3.0.0 of Microsoft.CodeAnalysis.FxCopAnalyzers (#36318)
Carlos Sanchez Lopez [Wed, 13 May 2020 19:24:01 +0000 (12:24 -0700)]
Fix Path.GetPathRoot wrong check in Unix (#35734)
* Fix Path.GetPathRoot wrong check in Unix
* Return .Empty instead of null
* Update src/libraries/System.Private.CoreLib/src/System/IO/Path.Unix.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Address unit test comments
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Eirik Tsarpalis [Wed, 13 May 2020 19:16:03 +0000 (20:16 +0100)]
[CBOR] Implement a proof of concept for ECDsa COSE key serialization (#36002)
* Implement a proof of concept for ECDSA cose key serialization
* roundtrip COSE all the way to the ECDsa instance
* remove comment out code
* fix tests failing on Linux
* address feedback
* fix tests for linux
* address feedback
* add missing using statement
* refactor CoseKey deserializer implementation so that optional fields are supported.
Levi Broderick [Wed, 13 May 2020 18:02:13 +0000 (11:02 -0700)]
Throttle allocations in BinaryReader (#36348)
Zoltan Varga [Wed, 13 May 2020 17:10:57 +0000 (13:10 -0400)]
Add a WasmAppBuilder task and a sample. (#36338)
Viktor Hofer [Wed, 13 May 2020 16:57:17 +0000 (18:57 +0200)]
Update -vs removal switch documentation (#36353)
Alexander Köplinger [Wed, 13 May 2020 16:39:17 +0000 (18:39 +0200)]
Set TargetsMobile=true on Browser TargetOS and build the wasm runtimes earlier during the libs build (#36337)
* Set TargetsMobile=true on Browser TargetOS
* Build the wasm runtimes earlier during the libs build so they end up in lib-runtime-packs.
* Add emsdk_env.sh into .gitignore
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Koundinya Veluri [Wed, 13 May 2020 16:37:16 +0000 (12:37 -0400)]
Merge pull request #36268 from kouvel/NamedMutexFix
Fix Unix named mutex crash during some race conditions
Below when I refer to "mutex" I'm referring to the underlying mutex object, not an instance of the `Mutex` class.
- When the last reference to a mutex is closed while the lock is held by some thread and a pthread mutex is used, the mutex was attempted to be destroyed but that has undefined behavior
- There doesn't seem to be a way to behave exactly like on Windows for this corner case, where the mutex is destroyed when the last reference to it is released, regardless of which process has the mutex locked and which process releases the last reference to it (they could be two different processes), including in cases of abrupt shutdown
- For this corner case I settled on what seems like a decent solution and compatible with older runtimes:
- When a process releases its last reference to the mutex
- If that mutex is locked by the same thread, the lock is abandoned and the process no longer references the mutex
- If that mutex is locked by a different thread, the lifetime of the mutex is extended with an implicit ref. The implicit ref prevents this or other processes from attempting to destroy the mutex while it is locked. The implicit ref is removed in either of these cases:
- The mutex gets another reference from within the same process
- The thread that owns the lock exits and abandons the mutex, at which point that would be the last reference to the mutex and the process would not reference the mutex anymore
- The implementation based on file locks is less restricted, but for consistency that implementation also follows the same behavior
- There was also a race between an exiting thread abandoning one of its locked named mutexes and another thread releasing the last reference to it, fixed by using the creation/deletion process lock to synchronize
Fix for https://github.com/dotnet/runtime/issues/34271 in master
Closes https://github.com/dotnet/runtime/issues/28449 - probably doesn't fix the issue, but trying to enable it to see if it continues to fail
Santiago Fernandez Madero [Wed, 13 May 2020 16:00:23 +0000 (09:00 -0700)]
Return exit code 1 in android test runner if a test failed (#36319)
* Return exit code 1 in android test runner if a test failed
* Exit instrumentation with runner exit code
Stephen Toub [Wed, 13 May 2020 13:13:14 +0000 (09:13 -0400)]
Remove some `= null!`s from corelib (#36175)
* Remove some `= null!`s from corelib
In some cases, this was achieved by:
- Using [MemberNotNull] when it could be used to enable the compiler to appropriately follow the initialization
- Making the field nullable and using `!`s at usage sites in cases where the `= null!` wasn't appropriate because the field could actually be null
- Making the field nullable and adding null checks sparingly
- Suppressing warnings in cases where fields weren't accessed in managed code
- Removing stale cases where it wasn't necessary anymore anyway
- Removing unnecessary empty internal/private ctors
* Address PR feedback
* Disable test on mono
monojenkins [Wed, 13 May 2020 12:23:28 +0000 (08:23 -0400)]
Emit DWARF debug_abbrev offset for compile units as a label instead of 0 (#36320)
When outputting DWARF code to start a compilation unit in .debug_info, the standard expect a 4-byte offset from the .debug_abbrev code. Mono has always output an offset of 0.
However, this doesn't work in every cases. When we have linux+fullaot, we link two object files (one from Mono, one from LLVM). Both have their .debug_abbrev section. If we use 0 as an offset, it seems possible that the linker will keep thinking that our offset is 0, no matter the circumstances. Since the offset is always 0, it can be using the wrong abbreviation table (i.e. the one from the LLVM assembly instead of the one from the Mono assembly). The consequence of this is that the linked file is not valid DWARF (dwarfdump and objdump will complain about invalid offsets). At best, some tools will be able to work with a part of what we have, but any program requiring entirely valid DWARF will fail.
To fix this, we generate a label for the start of our debug_abbrev section and we instead generate it by generating a long with that label. This matches existing behavior seen in the LLVM generated code, and makes dwarfdump and objdump react properly to the linked product.
Fixes mono/mono#8806
Co-authored-by: mathieubourgeois <mathieubourgeois@users.noreply.github.com>
monojenkins [Wed, 13 May 2020 12:01:30 +0000 (08:01 -0400)]
[runtime] Move delegate_bound_static_invoke_cache to MonoWrapperCaches. (#36309)
<!--
Thank you for your Pull Request!
If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.
Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Alexander Köplinger [Wed, 13 May 2020 10:50:39 +0000 (12:50 +0200)]
Add MonoAOTCompiler msbuild task (#35961)
Stephen Toub [Wed, 13 May 2020 03:35:53 +0000 (23:35 -0400)]
Remove several unnecessary arrays used with Split (#36304)
Now that we have a Split overload that takes a single char, the previous optimization to cache an array and reuse that array with the array-based overload isn't needed.
Sung Yoon Whang [Wed, 13 May 2020 03:16:00 +0000 (20:16 -0700)]
Add POH size counter (#36150)
* Add POH size counter
* Add 'Pinned Object Heap' to DisplayName
Santiago Fernandez Madero [Wed, 13 May 2020 02:55:48 +0000 (19:55 -0700)]
Flow exit code from RunTests.sh in iOS (#36315)
Eric Erhardt [Wed, 13 May 2020 02:39:49 +0000 (21:39 -0500)]
Remove unsed variable in MsQuicApi (#36302)
Ivan Diaz Sanchez [Wed, 13 May 2020 01:58:51 +0000 (18:58 -0700)]
Prevent build scripts from letting random values through (#35642)
* Arch, OS, and Config no longer let random values through when building the repo. Also, removed the casing restrictions on the bash version.
* Fixed the bash build script! Also, casing restrictions are gone!
* Added safeguards for bogus values on -rc and -lc on the sh build script.
* Fixed the merge conflict on build.sh
* Used awk instead of declare for increased compatibility on build.sh
* Restored execute permissions to build.sh
Eric Erhardt [Wed, 13 May 2020 01:07:59 +0000 (20:07 -0500)]
Fix Microsoft.Extensions.DependencyModel AssemblyVersionInPackageVersion (#36301)
Elinor Fung [Wed, 13 May 2020 01:04:14 +0000 (18:04 -0700)]
Set ExactSpelling=true on P/Invokes in System.Private.CoreLib that already specify the unicode W suffix (#36257)
* Set ExactSpelling=true on P/Invokes in System.Private.CoreLib that
already specify the unicode W suffix
* PR feedback: refactor NDirectMethodDesc::FindEntryPoint
David Shulman [Wed, 13 May 2020 00:36:08 +0000 (17:36 -0700)]
Fix HttpClient SSL3.0 test on newer Windows OS (#36308)
When I upgraded my dev machine to Windows 10 Version 2004 Preview, I noticed that the
HttpClient GetAsync_SupportedSSLVersion_Succeeds test was failing when using SSL 3.0.
This new version of Windows changes the default setting of SSL 3.0. So, by default,
SSL 3.0 is no longer enabled.
The problem was that this specific test wasn't using our PlatformDetection.SupportsSsl30
logic. Fixed the test so that it will properly detect whether SSL 3.0 is enabled on
the machine.
Nikiforov Alexey [Wed, 13 May 2020 00:13:16 +0000 (03:13 +0300)]
Add ctor to JsonSerializerOptions that takes serializer defaults (#36073)
* add ctor to JsonSerializerOptions that takes serializer defaults
* add out of range handling; enhance xml documentation
* test serializer option construction via serializer defaults
* adjust PredefinedSerializerOptions tests
Aaron Robinson [Tue, 12 May 2020 23:10:36 +0000 (16:10 -0700)]
Add QCALL_CONTRACT_NO_GC_TRANSITION (#36294)
New QCall macro for APIs that use SuppressGCTransitionAttribute.
Stephen Toub [Tue, 12 May 2020 22:48:53 +0000 (18:48 -0400)]
Fix nullable annotations on DangerousAcceptAnyServerCertificateValidator (#36305)
It should match ServerCertificateCustomValidationCallback.
Aaron Hudon [Tue, 12 May 2020 21:29:36 +0000 (14:29 -0700)]
Comment typos (#36296)
Santiago Fernandez Madero [Tue, 12 May 2020 20:43:24 +0000 (13:43 -0700)]
Use Publish target for self contained test apps (#36290)
Koundinya Veluri [Tue, 12 May 2020 20:14:37 +0000 (13:14 -0700)]
Address feedback, disable a test on Mono, slightly simplify same test (avoid two guids in name)
Eric Erhardt [Tue, 12 May 2020 20:09:17 +0000 (15:09 -0500)]
Remove PlatformAbstractions from runtime tests. (#36243)
* Remove PlatformAbstractions from runtime tests.
Contributes to #3470
Jeremy Barton [Tue, 12 May 2020 19:54:18 +0000 (12:54 -0700)]
Ignore the private key handle cert property for persisted keys
When a CERT_CONTEXT value has both property 2 (prov info) and property 78
(ncrypt key handle), prefer to load based on the property 2 state.
This avoids a scenario where calling Get[Algorithm]PrivateKey sets the
'CLR IsEphemeral' property on a persisted key, preventing future loads of that key.
An alternative approach of preferring the loaded key over the cold-load was
not selected to avoid value contamination of ephemeral properties set on the
CngKey object directly after the caller calls Get[Algorithm]PrivateKey.
Eric Erhardt [Tue, 12 May 2020 18:04:48 +0000 (13:04 -0500)]
Fix build break by bumping DependencyModel package version (#36285)
Jan Vorlicek [Tue, 12 May 2020 17:52:35 +0000 (19:52 +0200)]
Minor MethodTable building optimization (#36283)
When learning on how virtual method overriding is implemented in the
runtime, I've bumped into two places where we were calling
MapToImplSlotNumber twice in a row without any reason. Since this method
isn't trivial, it seems worth fixing.
Carlos Sanchez Lopez [Tue, 12 May 2020 17:43:28 +0000 (10:43 -0700)]
Apply CA1835 - Prefer memory overloads for Stream.ReadAsync/WriteAsync (#35941)
* Apply CA1835 Roslyn fixes on .NET Libraries
- Prefer the Stream.ReadAsync and Stream.WriteAsync memory overloads.
- Unit test fix suggested by buyaa-n to adjust the usage of these overloads.
* Additional missing unit test overload for ReadOnlyMemory
Ryan Lucia [Tue, 12 May 2020 17:16:16 +0000 (13:16 -0400)]
[mono] Don't throw inheritance error on interfaces in IsDefined (#35516)
Issue is very similar to the one fixed in https://github.com/dotnet/runtime/commit/
3df21ae60ec7de12abc77f4cc329903abe9ea542. When adding the error messages, we were too strict on when to throw. This should hopefully avoid all that by being significantly more lax.
Test moved to be in a location better suited to both examples.
Fixes https://github.com/dotnet/runtime/issues/35514
Youssef Victor [Tue, 12 May 2020 16:50:06 +0000 (18:50 +0200)]
Use CopyTo(arr) instead of creating List<T> first (#36228)
* Use LINQ ToArray
* Update RoType.cs
* Update RoType.cs
* Update src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/Types/RoType.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Fix whitespace causing analyzer warnings
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Santiago Fernandez Madero [Tue, 12 May 2020 16:49:05 +0000 (09:49 -0700)]
Update testing.md (#36286)
dotnet-maestro[bot] [Tue, 12 May 2020 16:48:50 +0000 (12:48 -0400)]
[master] Update dependencies from 4 repositories (#36279)
* Update dependencies from https://github.com/dotnet/arcade build
20200508.8
- Microsoft.DotNet.XUnitExtensions: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.VersionTools.Tasks: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.ApiCompat: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.Arcade.Sdk: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.Build.Tasks.Feed: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.Build.Tasks.Packaging: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.CodeAnalysis: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.XUnitConsoleRunner: 2.5.1-beta.20256.5 -> 2.5.1-beta.20258.8
- Microsoft.DotNet.Helix.Sdk: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.RemoteExecutor: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
- Microsoft.DotNet.GenFacades: 5.0.0-beta.20256.5 -> 5.0.0-beta.20258.8
* Update dependencies from https://github.com/mono/linker build
20200511.2
- Microsoft.NET.ILLink.Tasks: 5.0.0-preview.3.20257.4 -> 5.0.0-preview.3.20261.2
* Update dependencies from https://github.com/dotnet/llvm-project build
20200511.3
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20261.1 -> 6.0.1-alpha.1.20261.3
* Update dependencies from https://github.com/dotnet/xharness build
20200511.4
- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20257.4 -> 1.0.0-prerelease.20261.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Tom Deseyn [Tue, 12 May 2020 14:08:50 +0000 (16:08 +0200)]
Ensure Process.ProcessName doesn't change when setting Thread.Name on Linux (#34064)
Fixes https://github.com/dotnet/runtime/issues/33673
This issue is a side-effect of adding support for setting thread names on Linux in https://github.com/dotnet/coreclr/pull/27182.
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Adeel Mujahid [Tue, 12 May 2020 13:45:02 +0000 (16:45 +0300)]
Add configurations for SunOS CoreCLR managed build (#36266)
Santiago Fernandez Madero [Tue, 12 May 2020 11:47:59 +0000 (04:47 -0700)]
Build tests as self contained apps for mobile targets (#36262)
This uses the SDK to publish tests as self contained apps before building the app bundle using the built runtime pack.
I moved the `RunTests.sh` output path to `BundleDir` as whenever we start sending to helix, there is no need to .zip up the whole `OutDir` as we can just send the bundle + `RunTests.sh` script.
Krzysztof Wicher [Tue, 12 May 2020 08:29:47 +0000 (01:29 -0700)]
Merge pull request #35683 from krwq/nullable-xml-2
Nullable: System.Xml, part 2
Zoltan Varga [Tue, 12 May 2020 07:29:02 +0000 (03:29 -0400)]
Build WASM runtimes (#35566)
Sean Hall [Tue, 12 May 2020 06:24:02 +0000 (16:24 +1000)]
Fix vs testing link (#36261)
Koundinya Veluri [Mon, 27 Apr 2020 23:30:06 +0000 (16:30 -0700)]
Fix Unix named mutex crash during some race conditions
Below when I refer to "mutex" I'm referring to the underlying mutex object, not an instance of the `Mutex` class.
- When the last reference to a mutex is closed while the lock is held by some thread and a pthread mutex is used, the mutex was attempted to be destroyed but that has undefined behavior
- There doesn't seem to be a way to behave exactly like on Windows for this corner case, where the mutex is destroyed when the last reference to it is released, regardless of which process has the mutex locked and which process releases the last reference to it (they could be two different processes), including in cases of abrupt shutdown
- For this corner case I settled on what seems like a decent solution and compatible with older runtimes:
- When a process releases its last reference to the mutex
- If that mutex is locked by the same thread, the lock is abandoned and the process no longer references the mutex
- If that mutex is locked by a different thread, the lifetime of the mutex is extended with an implicit ref. The implicit ref prevents this or other processes from attempting to destroy the mutex while it is locked. The implicit ref is removed in either of these cases:
- The mutex gets another reference from within the same process
- The thread that owns the lock exits and abandons the mutex, at which point that would be the last reference to the mutex and the process would not reference the mutex anymore
- The implementation based on file locks is less restricted, but for consistency that implementation also follows the same behavior
- There was also a race between an exiting thread abandoning one of its locked named mutexes and another thread releasing the last reference to it, fixed by using the creation/deletion process lock to synchronize
Fix for https://github.com/dotnet/runtime/issues/34271 in master
Closes https://github.com/dotnet/runtime/issues/28449 - probably doesn't fix the issue, but trying to enable it to see if it continues to fail
Jeremy Koritzinsky [Tue, 12 May 2020 05:18:17 +0000 (22:18 -0700)]
Handle struct marshal stubs in ILStubManager::TraceManager. (#36249)
Fixes #36248
Tomas Weinfurt [Tue, 12 May 2020 01:48:54 +0000 (18:48 -0700)]
disable ServerAsyncAuthenticate_MismatchProtocols_Fails again (#36250)
Tanner Gooding [Tue, 12 May 2020 01:32:04 +0000 (18:32 -0700)]
[ARM64] Implement Duplicate and DuplicateSelectedScalar (#36144)
* Adding support for DuplicateToVector64 and DuplicateToVector128 to Arm.AdvSimd and Arm.AdvSimd.Arm64
* Adding tests for DuplicateToVector64 and DuplicateToVector128
* Adding support for DuplicateSelectedScalarToVector64 and DuplicateSelectedScalarToVector128 to Arm.AdvSimd and Arm.AdvSimd.Arm64
* Adding tests for DuplicateSelectedScalarToVector64 and DuplicateSelectedScalarToVector128
* Regenerating tests for the newly added HWIntrinsics
* Ensure parentheses exist
* Removing the AdvSimd.Arm64 hwintrinsiclist entry for DuplicateToVector64
* Removing the rest of the NI_AdvSimd_arm64_DuplicateToVector64 usages and clarifying a comment
* Moving break outside the braces for consistency
* Removing another Arm64.DuplicateToVector64
* Removing the AdvSimd.Arm64.DuplicateToVector64 tests
* Adding tests covering DuplicateToVector64/DuplicateToVector128 immediate inputs
* Regenerating the ARM64 HWIntrinsic tests
* Fixing the DuplicateToVector immediate tests
* Regenerating the DuplicateToVector immediate tests
Youssef Victor [Tue, 12 May 2020 01:12:22 +0000 (03:12 +0200)]
Delete outdated todo comment (#36224)
Anirudh Agnihotry [Tue, 12 May 2020 00:56:45 +0000 (17:56 -0700)]
update branding to preview6 (#36247)
Simon Nattress [Mon, 11 May 2020 23:35:06 +0000 (16:35 -0700)]
Reduce DebugInfoTable size (#36174)
The DebugInfoTableNode contains an array of native format vertices that currently are not unified. Many methods have identical debug info blobs so they can be collapsed to save output binary size. For identical debug info blobs, pass the same byte array reference to the native format writer which will unify on the object reference.
In the framework composite image for example, 70% of the debug infos are duplicates. Removing the duplicates reduces the composite image size by 5%.
Youssef Victor [Mon, 11 May 2020 23:34:17 +0000 (01:34 +0200)]
Fix empty ParamName in ArgumentException (#36208)
* Update reflectioninvocation.cpp
* Update TypeInfoTests.cs
* Update EnumConverterTest.cs
Eric Erhardt [Mon, 11 May 2020 22:02:42 +0000 (17:02 -0500)]
Fix up nint code after latest changes to use compiler nint. (#36220)
Mitchell Hwang [Mon, 11 May 2020 21:57:51 +0000 (17:57 -0400)]
[testing] Rename Prop AppleTestBuilderDir to AppleAppBuilderDir (#36227)
Co-authored-by: Mitchell Hwang <mihw@microsoft.com>
Viktor Hofer [Mon, 11 May 2020 21:37:25 +0000 (23:37 +0200)]
Remove EmbeddedResourceUseDependentUponConvention (#36140)
Underlying issue is fixed: https://github.com/microsoft/msbuild/issues/4740
Anirudh Agnihotry [Mon, 11 May 2020 20:59:11 +0000 (13:59 -0700)]
Use already defined generateAssemblyReferenceSource rather defining a new target (#35818)
* use arcade target
* extra space
* fixes generation of reference src from runtime projects
* run target to get genapi
* use referencePath to get references
* adding GenerateReferenceSource target
* added the target name
Jarret Shook [Mon, 11 May 2020 20:01:19 +0000 (13:01 -0700)]
Setup pr and batch runs for dev/infrsatructure (#36218)
Tanner Gooding [Mon, 11 May 2020 19:43:07 +0000 (12:43 -0700)]
Ensure we mark op2 as delayFree if it is rmw and the parent node returns a non-SIMD type (#36226)
Aaron Robinson [Mon, 11 May 2020 19:29:42 +0000 (12:29 -0700)]
Update the mscorlib.md document. (#36225)
Rename mscorlib.md to corelib.md.
Remove no longer relevant details.
Egor Bogatov [Mon, 11 May 2020 18:47:13 +0000 (21:47 +0300)]
Fix iOS and Android samples (#36223)
Elinor Fung [Mon, 11 May 2020 18:06:12 +0000 (11:06 -0700)]
Make global ComWrappers for marshalling respect requested IID (#36054)
Youssef Victor [Mon, 11 May 2020 18:05:14 +0000 (20:05 +0200)]
Include Content-Type in exception in ReadFromJsonAsync (#36186)
* Update Strings.resx
* Update HttpContentJsonExtensions.cs
Andrew Au [Mon, 11 May 2020 18:00:41 +0000 (11:00 -0700)]
Expose the parsed signature in structured format (#36190)
Viktor Hofer [Mon, 11 May 2020 18:00:11 +0000 (20:00 +0200)]
Use TargetFramework conditions consistently in libraries (#35956)
* Use TargetFramework condition consistently in libs
* Add docs section to describe the guideline
* Update Microsoft.Extensions.DependencyInjection.csproj
* Outline TargetFramework DesingTimeBuild issue
* Update Microsoft.Extensions.DependencyInjection.csproj
dotnet-maestro[bot] [Mon, 11 May 2020 17:34:48 +0000 (17:34 +0000)]
Update dependencies from https://github.com/dotnet/llvm-project build
20200511.1 (#36210)
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: 6.0.1-alpha.1.20254.1 -> 6.0.1-alpha.1.20261.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
ts2do [Mon, 11 May 2020 17:32:59 +0000 (12:32 -0500)]
Add invalidation to DTFI's SetAllDateTimePatterns (#34438)
Invalidate derived patterns to match the behavior of invoking the corresponding property setters
Tarek Mahmoud Sayed [Mon, 11 May 2020 17:29:17 +0000 (10:29 -0700)]
Revert "Revert "Remove superflous CheckReleased call which will slow down Event Log Reading up to 20x times. (#35911)" (#36143)" (#36188)
This reverts commit
ca8c9dea8e30a9701160e4cd61b5b26f209499ff.
Manish Godse [Mon, 11 May 2020 17:24:37 +0000 (10:24 -0700)]
Preempt Watson exception handling (#36179)
* switch to preemp GC before DW version lookup
* move preempt to PopulateBucketParameters
* Adding GC_TRIGGERS to callchain of CaptureUnhandledInfoForWatson
* explictly adding PREEMPTIVE to all DwGetFileVersionInfo codepaths.
Omair Majid [Mon, 11 May 2020 15:58:20 +0000 (11:58 -0400)]
Add some upcoming distro RIDs
This adds some RIDs that we know are current/upcoming:
- Fedora 33 is in development, and the version after this is most likely
going to be Fedora 34. Adding this RID now, so we can get this RID in
all current releases when it comes time to build on Fedora 34
- RHEL has generally committed to doing a major release every 3 years.
With RHEL 8 released in 2019, RHEL 9 is under development. There's
even a plan on how to create that from Fedora here:
https://fedoraproject.org/wiki/Changes/ELN_Buildroot_and_Compose
- If there's a RHEL 9, there will most likely be an equivalent CentOS 9.
Lets add that too.
- CentOS 7 has an aarch64 port. As does CentOS 8.
Steve Harter [Mon, 11 May 2020 15:54:41 +0000 (10:54 -0500)]
Improve deserialization perf for case-insensitive and missing-property cases (#35848)
Eric Erhardt [Mon, 11 May 2020 14:47:01 +0000 (09:47 -0500)]
Return the correct OSVersion on OSX like systems. (#36029)
* Return the correct OSVersion on OSX like systems.
Fix #34977
* Rename files to not have Linux when they aren't Linux specific.
* Assert OSVersion Build number is valid.
* PR feedback
Move interop code to Common\src\Interop.
Specify the full path to libobjc.dylib.
Fix objc_msgSend_stret for ARM64.
* Specify full path to libproc.dylib.
Fix #24095
Jan Kotas [Mon, 11 May 2020 10:57:07 +0000 (03:57 -0700)]
Port GC changes from dotnet/corert (#36197)
monojenkins [Mon, 11 May 2020 08:35:19 +0000 (04:35 -0400)]
[mono] Fix musl PowerPC build (#36162)
PT_NIP and friends are in this kernel header, but glibc includes it
somewhere in the chain implicitly. musl doesn't. Fix that.
Jan Kotas [Mon, 11 May 2020 05:29:50 +0000 (22:29 -0700)]
Update ryujit-tutorial.md (#36191)
mrj001 [Mon, 11 May 2020 02:41:54 +0000 (20:41 -0600)]
Adding unit test to provoke exception using Sch_WhiteSpaceRestriction… (#35013)
* Adding unit test to provoke exception using Sch_WhiteSpaceRestriction1 as its message.
monojenkins [Sun, 10 May 2020 21:12:15 +0000 (17:12 -0400)]
[tests] Adjustments to interp disabled tests (#36178)
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Emmanuel André [Sun, 10 May 2020 20:37:54 +0000 (22:37 +0200)]
Fix sync call in XContainer.ReadContentFromAsync (#35789)
* Fix sync call in XContainer.ReadContentFromAsync
ts2do [Sun, 10 May 2020 19:17:15 +0000 (14:17 -0500)]
Add tests for changes in #34438 (#36166)
Egor Bogatov [Sun, 10 May 2020 15:59:43 +0000 (18:59 +0300)]
Remove CompareOrdinalEx (#36184)
dotnet-maestro[bot] [Sun, 10 May 2020 11:13:17 +0000 (07:13 -0400)]
Update dependencies from https://github.com/dotnet/runtime-assets build
20200508.1 (#36161)
- System.ComponentModel.TypeConverter.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.Drawing.Common.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.IO.Compression.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.IO.Packaging.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.Net.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.Private.Runtime.UnicodeData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.Security.Cryptography.X509Certificates.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
- System.Windows.Extensions.TestData: 5.0.0-beta.20257.1 -> 5.0.0-beta.20258.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Santiago Fernandez Madero [Sun, 10 May 2020 10:44:54 +0000 (03:44 -0700)]
Fix mobile testing and do some extra cleanup in variables (#36157)
Stephen Toub [Sun, 10 May 2020 10:18:20 +0000 (06:18 -0400)]
Remove unnecessary static array from FrameworkName (#36176)
Now that there's a char overload of Split, we don't need the cached array.
Alexander Köplinger [Sun, 10 May 2020 08:38:48 +0000 (10:38 +0200)]
Reenable iOS_arm builds (#34942)
Fixes https://github.com/dotnet/runtime/issues/34465
Anton Lapounov [Sun, 10 May 2020 01:41:20 +0000 (18:41 -0700)]
Fix buffer overrun in JIT for Vector256<T> types on ARM64. (#35864)
Stop recognizing Vector256<T> types as intrinsic for ARM64 in Crossgen2.
Nathan Ricci [Sat, 9 May 2020 23:31:27 +0000 (19:31 -0400)]
Enable Common Runtime Tests for Mono on Linux-Arm64 in CI (#35366)
Enable runtime tests on Linux-amd64 running Mono. Also add issues to issues.targets for the same.
Miha Zupan [Sat, 9 May 2020 19:26:16 +0000 (21:26 +0200)]
Make Uri Thread-Safe (#33042)
* Do not lock on string in Uri
* Make Uri thread-safe without locks
*A lock may still be used for custom parsers
* Update comments
* Use existing style for enum values
* Add a comment about locking for custom parsers
* Add a comment about DebugSetLeftCtor usage
* Add trailing dot in exception message
* Fix typos
* Fix typo
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Jan Kotas [Sat, 9 May 2020 14:41:33 +0000 (07:41 -0700)]
Use C# compiler provided nint/nuint (#36159)
Tomas Weinfurt [Sat, 9 May 2020 12:57:20 +0000 (05:57 -0700)]
increase FailingTestTimeoutMiliseconds for Ssl server tests. (#36101)
* increase FailingTestTimeoutMiliseconds
* use standard ITestOutputHelper helper
* set timeout to to 500ms
* rework protocol mismatch
Co-authored-by: Tomas Weinfurt <furt@Shining.local>
Tomas Weinfurt [Sat, 9 May 2020 12:55:15 +0000 (05:55 -0700)]
add platform to two tests to avoid test skip on Unix (#36082)
Stephen Toub [Sat, 9 May 2020 10:12:15 +0000 (06:12 -0400)]
Apply Regex starting loop optimization to non-atomic loops as well (#35936)
* Apply Regex starting loop optimization to non-atomic loops as well
* Remove min iteration restriction
The node.N > 0 restriction isn't necessary, and prevents this optimization from being used with * loops. Worst case, the loop doesn't match anything, and we pay to overwrite the starting position with itself. Best case, we eliminate a ton of cost.
monojenkins [Sat, 9 May 2020 08:26:43 +0000 (04:26 -0400)]
[interp] Fix sdks build (#36121)
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Jose Perez Rodriguez [Sat, 9 May 2020 05:20:34 +0000 (22:20 -0700)]
Fixing test failing on arm64 (#36145)
Jan Kotas [Sat, 9 May 2020 04:39:46 +0000 (21:39 -0700)]
Finish the other part of the GCTotalPhysicalMemory config implementation (#36152)
* Finish the other part of the GCTotalPhysicalMemory config implementation
The total physical memory specified by the GCTotalPhysicalMemory config
needs to communicated over to the VM side for memory load calculation.
Otherwise inside GC we are using the correct physical memory specified,
but when we ask for the memory load it's still based on the total available
memory.
* Delete unnecessary delay-loading of kernel32.dll
* Avoid mutable restricted memory limit inside OS PAL
Co-authored-by: Maoni0 <maonis@microsoft.com>
Levi Broderick [Sat, 9 May 2020 03:12:52 +0000 (20:12 -0700)]
React to latest Roslyn nullability changes (#36104)
Also updates the compiler toolset to the latest version
Nathan Ricci [Fri, 8 May 2020 21:58:24 +0000 (17:58 -0400)]
Naricc/test mono is mono (#36079)
Add test to test if we are running mono.
Tarek Mahmoud Sayed [Fri, 8 May 2020 21:30:35 +0000 (14:30 -0700)]
Revert "Remove superflous CheckReleased call which will slow down Event Log Reading up to 20x times. (#35911)" (#36143)
This reverts commit
4602a61526631a5b29d451b40be3e3e321b86c00.