platform/upstream/dotnet/runtime.git
4 years agoRemove FromAsync usage from System.Net.NetworkInformation (#35710)
Stephen Toub [Sat, 2 May 2020 19:24:59 +0000 (15:24 -0400)]
Remove FromAsync usage from System.Net.NetworkInformation (#35710)

4 years agobuild HTTP on FreeBSD once again (#35742)
Tomas Weinfurt [Sat, 2 May 2020 16:09:57 +0000 (09:09 -0700)]
build HTTP on FreeBSD once again (#35742)

4 years agoRemove FromAsync usage from SendPacketsAsync on Unix (#35513)
Stephen Toub [Sat, 2 May 2020 16:02:25 +0000 (12:02 -0400)]
Remove FromAsync usage from SendPacketsAsync on Unix (#35513)

This call is in the Unix implementation, and the Unix implementation of DisconnectAsync just calls the synchronous Disconnect... so we can just call it directly and skip all the unnecessary layering.

4 years agoFix ZeroInit of finally vars (#35723)
Carol Eidt [Sat, 2 May 2020 15:58:57 +0000 (08:58 -0700)]
Fix ZeroInit of finally vars (#35723)

Finally vars need zero-init'ing if we are enregistering them, but they will not necessarily be live-in to the first block, so we have to take care not to zero-init its last associated register in that case.

4 years agofix handling of COMPlus_ZapDisable (#35741)
Tomas Weinfurt [Sat, 2 May 2020 09:11:44 +0000 (02:11 -0700)]
fix handling of COMPlus_ZapDisable (#35741)

4 years agoFix CoreCLR incremental builds (#35732)
Jan Kotas [Sat, 2 May 2020 07:52:34 +0000 (00:52 -0700)]
Fix CoreCLR incremental builds (#35732)

4 years agoMerge pull request #35700 from layomia/clean_up
Layomi Akinrinade [Sat, 2 May 2020 06:18:53 +0000 (02:18 -0400)]
Merge pull request #35700 from layomia/clean_up

Clean up misc areas in JsonSerializer

4 years agoSupport ARM64 HVAs in Crossgen2 (#35576)
Anton Lapounov [Sat, 2 May 2020 02:55:58 +0000 (19:55 -0700)]
Support ARM64 HVAs in Crossgen2 (#35576)

•  Change FieldLayoutAlgorithm.ComputeValueTypeShapeCharacteristics method to compute the homogeneous aggregate element type and cache it in the existing field. That allows to remove all ComputeHomogeneousFloatAggregateElementType methods.
•  Change MetadataFieldLayoutAlgorithm.ComputeHomogeneousAggregateCharacteristic to compute HVAs in addition to HFAs.
•  Change CorInfoImpl.getHFAType JIT callback to handle HVAs. Note that returning ELEMENT_TYPE_VALUETYPE indicates the TYP_SIMD16 type (see Compiler::GetHfaType).
•  Change TypeFixupSignature.EncodeTypeLayout to handle HVAs.
•  Support HVAs in the ArgIterator class.
•  Fix TransitionBlock.OffsetFromGCRefMapPos for ARM64. R2RDump used to dump incorrect offsets.
•  Use TransitionBlock.OffsetFromGCRefMapPos in GCRefMapBuilder.GetCallRefMap to simplify logic.
•  Remove ARM64 .NET Native-specific code from TransitionBlock.cs and ArgIterator.cs files.

Minor:
•  Remove a redundant GetVectorSize check in MethodTable::GetHFAType.
•  Improve an assertion in Compiler::raUpdateRegStateForArg.
•  Fix comments in JIT code.

4 years agoMove collection tests to dedicated class + more clean up
Layomi Akinrinade [Fri, 1 May 2020 17:21:21 +0000 (10:21 -0700)]
Move collection tests to dedicated class + more clean up

4 years agoFix test after TcpClient change (#35721)
Stephen Toub [Sat, 2 May 2020 00:27:00 +0000 (20:27 -0400)]
Fix test after TcpClient change (#35721)

My change to TcpClient.ConnectAsync resulted in a sporadic test failure.  ConnectAsync had been implemented in terms of Begin/EndConnect.  It would call BeginConnect, and then the callback invoked when the asynchronous operation completed would call EndConnect.  The very first thing EndConnect would do is check whether the TcpClient was disposed, and throw an ObjectDisposedException if it is, ignoring the actual result or failure in the callback.  By changing the ConnectAsync implementation to bypass Begin/EndConnect, it's also skipping that check, and so if you dispose of the TcpClient while the operation is in flight, you'll end up with a SocketError.OperationAborted SocketException (exactly what you get from Socket) rather than an ObjectDisposedException.

Since SocketException was already possible from TcpClient.ConnectAsync (and is documented as such), since we want an actual error to propagate rather than hiding it with a different one, since this is about behavior after dispose, and since this is effectively an implementation detail that was leaking out, I've opted to fix the test rather than change the implementation.

4 years ago[Arm64] Fix JIT/HardwareIntrinsics/Arm/AdvSimd tests (#35726)
Egor Chesakov [Fri, 1 May 2020 23:30:22 +0000 (16:30 -0700)]
[Arm64] Fix JIT/HardwareIntrinsics/Arm/AdvSimd tests (#35726)

* Set LargestVectorSize to 16 where it must be in GenerateTests.csx

* Update AdvSimd/

4 years agoRemove an unnecessary check from fgMakeOutgoingStructArgCopy. (#35701)
Eugene Rozenfeld [Fri, 1 May 2020 19:50:55 +0000 (12:50 -0700)]
Remove an unnecessary check from fgMakeOutgoingStructArgCopy. (#35701)

The old-style helper tail calls required the jit to copy implicit by-ref
args. After #341 we are using old-style helper tail calls only for x86,
which doesn't have implicit by-ref parameters. So the check is no longer
necessary.

This is a no-diffs cleanup change.

4 years agoFix comment on CancellationTokenRegistration.Token (#35708)
Stephen Toub [Fri, 1 May 2020 18:56:52 +0000 (14:56 -0400)]
Fix comment on CancellationTokenRegistration.Token (#35708)

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#35703)
dotnet-maestro[bot] [Fri, 1 May 2020 18:39:24 +0000 (18:39 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#35703)

* Update dependencies from https://github.com/dotnet/xharness build 20200430.6

- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20230.2 -> 1.0.0-prerelease.20230.6

* Update dependencies from https://github.com/mono/linker build 20200430.3

- Microsoft.NET.ILLink.Tasks: 5.0.0-preview.3.20229.1 -> 5.0.0-preview.3.20230.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoPointer types are decomposable by the JIT (#35673)
David Wrighton [Fri, 1 May 2020 17:41:15 +0000 (10:41 -0700)]
Pointer types are decomposable by the JIT (#35673)

- Fix getChildType, and  getArgType
- getArgType fix involves updating asCorInfoType to match native behavior

Fixes #34734

4 years agoClean up misc areas in JsonSerializer
Layomi Akinrinade [Wed, 29 Apr 2020 17:38:47 +0000 (10:38 -0700)]
Clean up misc areas in JsonSerializer

4 years agoAdd TBL and TBX emitter tests and make displayer always emit 16B. (#35707)
Tamar Christina [Fri, 1 May 2020 17:14:32 +0000 (18:14 +0100)]
Add TBL and TBX emitter tests and make displayer always emit 16B. (#35707)

4 years agoUpdate nullability.md with note about Try methods and [NotNullWhen(true)] (#35711)
Stephen Toub [Fri, 1 May 2020 15:56:39 +0000 (11:56 -0400)]
Update nullability.md with note about Try methods and [NotNullWhen(true)] (#35711)

4 years agoChange ManagedWebSocket to send pong frame for keep-alive (#35644)
Stephen Toub [Fri, 1 May 2020 15:50:02 +0000 (11:50 -0400)]
Change ManagedWebSocket to send pong frame for keep-alive (#35644)

4 years ago[eng] Fix condition on RunTestsCommand property (#35709)
Mitchell Hwang [Fri, 1 May 2020 15:27:50 +0000 (11:27 -0400)]
[eng] Fix condition on RunTestsCommand property (#35709)

Co-authored-by: Mitchell Hwang <mihw@microsoft.com>
4 years agoRemove FromAsync usage from TcpClient (#35512)
Stephen Toub [Fri, 1 May 2020 15:07:43 +0000 (11:07 -0400)]
Remove FromAsync usage from TcpClient (#35512)

4 years ago[mono] Pass category=failing and category=outerloop to Android and iOS (#35665)
Egor Bogatov [Fri, 1 May 2020 14:09:36 +0000 (17:09 +0300)]
[mono] Pass category=failing and category=outerloop to Android and iOS (#35665)

4 years agoIntroSort minor cleanup, remove unnecessary 'hi' (#35663)
nietras [Fri, 1 May 2020 13:30:46 +0000 (15:30 +0200)]
IntroSort minor cleanup, remove unnecessary 'hi' (#35663)

* IntroSort minor cleanup, remove unnecessary 'hi'

* Apply suggestions from code review

Co-authored-by: nietras <nietras@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
4 years ago[libraries] Build lib-runtime-packs for all of mono, not just mobile (#35295)
Mitchell Hwang [Fri, 1 May 2020 11:58:29 +0000 (07:58 -0400)]
[libraries] Build lib-runtime-packs for all of mono, not just mobile (#35295)

* [libraries] Build lib-runtime-packs for all of mono, not just mobile

* [libraries] Build lib-runtime-packs for all of mono, not just mobile

* [libraries] Remove dotnet and unnecessary files from lib-runtime-packs

* [libraries] Reinclude dotnet and other files into test host

* [libraries] Alternative to excluding dotnet and other files from lib-runtime-packs

* Undo alternative changes for exclude dotnet and other files from lib-runtime-packs

This reverts commit 8cecd66db2024b4dd859212399fb69725c29fdf2.

* BinPlace native libs + runtime into testhost for desktop mono

* Removed comment

* [libraries] Remove redundant condition from ItemGroup in SetupRuntimePackNative

Co-authored-by: Mitchell Hwang <mihw@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
4 years ago[wasm] Integrate the m2n-gen.cs tool into mcs/tools/wasm-tuner. (#35660)
monojenkins [Fri, 1 May 2020 08:21:12 +0000 (04:21 -0400)]
[wasm] Integrate the m2n-gen.cs tool into mcs/tools/wasm-tuner. (#35660)

It should be ran as:
mono wasm-tuner.exe --gen-interp-to-native <output file name> <extra assemblies>.

The <extra assemblies> will be searched for pinvoke methods, and their signatures
will be added to the set of supported signatures.

<!--
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>
4 years ago[Arm64] Implement ASIMD widening, narrowing, saturating intrinsics (#35612)
Egor Chesakov [Fri, 1 May 2020 02:47:01 +0000 (19:47 -0700)]
[Arm64] Implement ASIMD widening, narrowing, saturating intrinsics (#35612)

* AbsoluteDifferenceWideningLower and AbsoluteDifferenceWideningUpper

* AbsoluteDifferenceWideningLowerAndAdd and AbsoluteDifferenceWideningUpperAndAdd

* AddPairwiseWidening{Scalar}

* AddPairwiseWideningAndAdd{Scalar}

* AddSaturate{Scalar}

* AddWideningLower and AddWideningUpper

* FusedAddHalving

* FusedAddRoundedHalving

* FusedSubtractHalving

* MultiplyWideningLower and MultiplyWideningUpper

* MultiplyWideningLowerAndAdd and MultiplyWideningUpperAndAdd

* MultiplyWideningLowerAndSubtract and MultiplyWideningUpperAndSubtract

* SubtractSaturate{Scalar}

* SubtractWideningLower and SubtractWideningUpper

* AddReturningHighNarrowLower and AddReturningHighNarrowUpper

* AddReturningRoundedHighNarrowLower and AddReturningRoundedHighNarrowUpper

* SubtractReturningHighNarrowLower and SubtractReturningHighNarrowUpper

* SubtractReturningRoundedHighNarrowLower and SubtractReturningRoundedHighNarrowUpper

4 years agoStrip the ILLinkTrim.xml file from System.Private.Xml (#35547)
Eric Erhardt [Fri, 1 May 2020 01:25:41 +0000 (20:25 -0500)]
Strip the ILLinkTrim.xml file from System.Private.Xml (#35547)

* Strip the ILLinkTrim.xml file from System.Private.Xml

The two methods being preserved in System.Private.Xml (CreateSqlReader and GenerateSerializer) are large, and are not necessary when linking a mobile app. These methods only need to be preserved when linking the shared framework. When a normal app is linked, the linker is able to figure out if the two methods are necessary.

Contributes to #35199

Fix #30912

* Respond to PR feedback

- Add PreserveDependencyAttribute to SqlXml to be explicit.
- Rename ILLinkTrim.xml to ILLinkTrim_LibraryBuild.xml when it shouldn't be embedded in the resulting assembly.

4 years agoCleanup src/coreclr/src/inc/src/metadata.h (#35621)
Steve MacLean [Fri, 1 May 2020 00:18:34 +0000 (20:18 -0400)]
Cleanup src/coreclr/src/inc/src/metadata.h (#35621)

* Cleanup src/coreclr/src/inc/src/metadata.h

Remove #include of private implementation headers
Fix build breaks

* Remove stray #undef __unaligned

4 years ago[Arm64] Implement Vector64/128.CreateScalar() using AdvSimd.Insert (#35300)
Egor Chesakov [Thu, 30 Apr 2020 23:35:36 +0000 (16:35 -0700)]
[Arm64] Implement Vector64/128.CreateScalar() using AdvSimd.Insert (#35300)

4 years ago[master] Update dependencies from dotnet/arcade Microsoft/vstest dotnet/xharness...
dotnet-maestro[bot] [Thu, 30 Apr 2020 21:20:03 +0000 (17:20 -0400)]
[master] Update dependencies from dotnet/arcade Microsoft/vstest dotnet/xharness (#35662)

* Update dependencies from https://github.com/dotnet/arcade build 20200428.4

- Microsoft.DotNet.XUnitExtensions: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.VersionTools.Tasks: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.ApiCompat: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Arcade.Sdk: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Build.Tasks.Feed: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Build.Tasks.Packaging: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.CodeAnalysis: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.XUnitConsoleRunner: 2.5.1-beta.20224.11 -> 2.5.1-beta.20228.4
- Microsoft.DotNet.GenAPI: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.Helix.Sdk: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.RemoteExecutor: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4
- Microsoft.DotNet.GenFacades: 5.0.0-beta.20224.11 -> 5.0.0-beta.20228.4

* Update dependencies from https://github.com/microsoft/vstest build 20200429-01

- Microsoft.NET.Test.Sdk: 16.7.0-preview-20200428-01 -> 16.7.0-preview-20200429-01

* Update dependencies from https://github.com/dotnet/xharness build 20200430.1

- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20229.6 -> 1.0.0-prerelease.20230.1

* Update dependencies from https://github.com/dotnet/xharness build 20200430.2

- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20229.6 -> 1.0.0-prerelease.20230.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoImplement TranscodingStream (#35145)
Levi Broderick [Thu, 30 Apr 2020 20:50:48 +0000 (13:50 -0700)]
Implement TranscodingStream (#35145)

This is a streaming analog to the one-shot Encoding.Convert method.

4 years agoFeedback from 3.1 amd64InstrDecode review (#35670)
Steve MacLean [Thu, 30 Apr 2020 20:35:49 +0000 (16:35 -0400)]
Feedback from 3.1 amd64InstrDecode review (#35670)

* Feedback from 3.1 amd64InstrDecode review

* More feedback and cleanup

* One more

4 years agoRemove unused library definition (#35668)
Steve MacLean [Thu, 30 Apr 2020 20:09:21 +0000 (16:09 -0400)]
Remove unused library definition (#35668)

4 years agoimprove resiliency of process tests (#35584)
Tomas Weinfurt [Thu, 30 Apr 2020 19:16:33 +0000 (12:16 -0700)]
improve resiliency of process tests (#35584)

* impove resiliency of process tests

* feedback from review

* dispose process

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
4 years agodisable LZCNT in crossgen (#35598)
Clinton Ingram [Thu, 30 Apr 2020 17:24:54 +0000 (10:24 -0700)]
disable LZCNT in crossgen (#35598)

Now that BitOperations.TrailingZeroCount has a fallback to BSR, the cost of querying Lzcnt.IsSupported before using LZCNT is higher than simply using the fallback. This is a situation very specific to LZCNT because it's most often a one-and-done instruction and the fallback is only very marginally slower.

Note that this change applies only to crossgen, as the hardware intrinsic model differs for crossgen2 and it was decided that this change isn't appropriate for that different model.

4 years agoDon't notify crossgen2 about Vector<T> size when not needed (#34614)
David Wrighton [Thu, 30 Apr 2020 17:17:12 +0000 (10:17 -0700)]
Don't notify crossgen2 about Vector<T> size when not needed (#34614)

- Stop notifying  about usage status of AVX2 when using isSubRegisterSIMDType
- This allows use of the Vector2/3/4 simd types in crossgen'd code without fixing whether or not Avx2 is required

4 years agoAdd VectorTableList and TableVectorExtension intrinsics (#35600)
Tamar Christina [Thu, 30 Apr 2020 17:02:03 +0000 (18:02 +0100)]
Add VectorTableList and TableVectorExtension intrinsics (#35600)

4 years agoSet charset in editorconfig for .csproj (#35634)
Eric Erhardt [Thu, 30 Apr 2020 14:54:26 +0000 (09:54 -0500)]
Set charset in editorconfig for .csproj (#35634)

* Add editorconfig charset for csproj files.

This stops VS from inserting a BOM in these files.

* Removing BOM from .csproj files.

4 years agoRun runtime tests with mono on test change. (#35604)
Nathan Ricci [Thu, 30 Apr 2020 14:50:58 +0000 (10:50 -0400)]
Run runtime tests with mono on test change. (#35604)

 Adding tests or modifyig build-test.sh will run runtime tests on mono (in addition to coreclr).

4 years agoUpdate dependencies from https://github.com/dotnet/xharness build 20200429.6 (#35659)
dotnet-maestro[bot] [Thu, 30 Apr 2020 12:22:02 +0000 (14:22 +0200)]
Update dependencies from https://github.com/dotnet/xharness build 20200429.6 (#35659)

4 years agoDisable a few executables if DISABLE_EXECUTABLES is defined. (#35653)
monojenkins [Thu, 30 Apr 2020 12:19:27 +0000 (08:19 -0400)]
Disable a few executables if DISABLE_EXECUTABLES is defined. (#35653)

4 years agoAdd new unit test demonstrating a JIT crash in Crossgen2 build mode (#35623)
Tomáš Rylek [Thu, 30 Apr 2020 10:53:30 +0000 (12:53 +0200)]
Add new unit test demonstrating a JIT crash in Crossgen2 build mode (#35623)

4 years agoIntegrate Android into /t:Test (#35640)
Egor Bogatov [Thu, 30 Apr 2020 09:44:50 +0000 (12:44 +0300)]
Integrate Android into /t:Test (#35640)

Integrate Android into the "Test" workflow, e.g.:
```
./build.sh -os Android -arch arm64 -subset Mono+Libs

cd src/libraries/System.Buffers/tests

dotnet build /p:TargetOS=Android /p:TargetArchitecture=arm64 /t:Test
```
^ should run tests for any test suite on an active device or emulator.

4 years ago[master] Update dependencies from 5 repositories (#35567)
dotnet-maestro[bot] [Thu, 30 Apr 2020 08:40:47 +0000 (10:40 +0200)]
[master] Update dependencies from 5 repositories (#35567)

4 years agoDisable two failing tests. (#35652)
Sergey Andreenko [Thu, 30 Apr 2020 07:37:26 +0000 (00:37 -0700)]
Disable two failing tests. (#35652)

4 years agoFix compFastTailCalls check. (#35596)
Eugene Rozenfeld [Thu, 30 Apr 2020 07:22:19 +0000 (00:22 -0700)]
Fix compFastTailCalls check. (#35596)

compFastTailCalls is true if COMPlus_FastTailCalls is not 0.
It was introduced in #341 to help with testing:
setting COMPlus_FastTailCalls to 0 forces all tail-prefixed
calls to be dispatched via helpers.

This fixes a subtle bug with checking compFastTailCalls:
it needs to be checked after `fgInitargInfo` has been called in
`fgCanFastTailCall`. `fgInitArgInfo` adds the stub address for VSD calls
and `fgMorphTailCallViaHelpers` then removes it.

This change also factors out the logic for checking whether the call
has byref parameters that must be copied by the caller.

4 years agoBaseline profiler/rejit/rejit/rejit.cmd (#35641)
Simon Nattress [Thu, 30 Apr 2020 06:53:34 +0000 (23:53 -0700)]
Baseline profiler/rejit/rejit/rejit.cmd (#35641)

Related issue: https://github.com/dotnet/runtime/issues/35639

4 years agoRemove problematic #undef _ASSERTE (#35630)
Steve MacLean [Thu, 30 Apr 2020 03:20:37 +0000 (23:20 -0400)]
Remove problematic #undef _ASSERTE (#35630)

4 years agoRemove HW_Flag_UnfixedSIMDSize (#35594)
Egor Chesakov [Thu, 30 Apr 2020 02:40:29 +0000 (19:40 -0700)]
Remove HW_Flag_UnfixedSIMDSize (#35594)

* Remove HW_Flag_UnfixedSIMDSize usages in hwintrinsiclistarm64.h

* Remove HW_Flag_UnfixedSIMDSize usages in hwintrinsiclistxarch.h

* Remove HW_Flag_UnfixedSIMDSize and HWIntrinsicInfo::HasFixedSimdSize() in hwintrinsic.cpp hwintrinsic.h

* Change HWIntrinsicInfo::simdSize type to int and remove all the casts in hwintrinsic.cpp hwintrinsic.h

4 years agoRevert "Remove obsolete managedOsxBuild et. al (#35356)" (#35647)
Steve MacLean [Thu, 30 Apr 2020 02:28:17 +0000 (22:28 -0400)]
Revert "Remove obsolete managedOsxBuild et. al (#35356)" (#35647)

This reverts commit 5b9fe8f29f0429ad410eaeefdffed59509d83176.

4 years agoRemove obsolete managedOsxBuild et. al (#35356)
Steve MacLean [Thu, 30 Apr 2020 01:43:36 +0000 (21:43 -0400)]
Remove obsolete managedOsxBuild et. al (#35356)

* Remove obsolete managedOsxBuild et. al

Remove managedOsxBuild
Remove managedTestBuildOsGroup
Remove managedTestBuildOsSubgroup

4 years agoDelete DataContractSerializer's ILLinkTrim.xml file (#35520)
Stephen Toub [Thu, 30 Apr 2020 01:25:08 +0000 (21:25 -0400)]
Delete DataContractSerializer's ILLinkTrim.xml file (#35520)

The whole assembly isn't being trimmed:
```
    <!-- Too much private reflection. Do not bother with trimming -->
    <ILLinkTrimAssembly>false</ILLinkTrimAssembly>
```

(On top of that, the set_Option that's being kept here is only set via reflection by test code that's not actually built today; it's guarded behind a compilation constant that's not set.)

4 years agoUpdate link from corefx to runtime (#35633)
Jeremy Barton [Thu, 30 Apr 2020 01:23:33 +0000 (18:23 -0700)]
Update link from corefx to runtime (#35633)

4 years agohandle UnauthorizedAccessException from mmap on OSX (#35619)
Tomas Weinfurt [Thu, 30 Apr 2020 01:23:19 +0000 (18:23 -0700)]
handle UnauthorizedAccessException from mmap on OSX (#35619)

* handle UnauthorizedAccessException on OSX

* update SkipTestException text

* add comments

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
4 years agoInvalid derivation of fixed fractionDigits (#34973)
mrj001 [Wed, 29 Apr 2020 23:13:46 +0000 (17:13 -0600)]
Invalid derivation of fixed fractionDigits (#34973)

* Added code to throw XmlSchemaException if the derived type attempts to alter the fixed value of fractionDigits from the base type.

4 years agoAdd OS loader relocation type statistics to Crossgen2 map file (#35587)
Tomáš Rylek [Wed, 29 Apr 2020 21:18:28 +0000 (23:18 +0200)]
Add OS loader relocation type statistics to Crossgen2 map file (#35587)

4 years agoFix NeedsAlignedBaseOffset for composite R2R (#35231)
David Wrighton [Wed, 29 Apr 2020 20:13:47 +0000 (13:13 -0700)]
Fix NeedsAlignedBaseOffset for composite R2R (#35231)

- Syncronize and correct NeedsAlignedBaseOffset
  - Crossgen2 and the runtime had different models for when the base type size needed to be aligned up
  - This caused issues for composite crossgen2 builds as the logic was heavily module focussed
  - Also, the IsInSameVersionBubble logic was non-functional for composite build

The new algorithm is similar to the old normal R2R rule, with the extension that alignment isn't required in the case of a type which has layout dependent on multiple modules if all of the modules involved are part of the same compilation. (Thus composite compilation is slightly more optimized).

The other rule which must be enforced to allow for inputbubble compilation is that all assemblies depended on by an input bubble compilation must be R2R compiled.

- Add testing for many different variations of compiling the tests with
crossgen, crossgen2, and crossgen2 with input bubble enabled/disable and various composite compilation arrangements.

- Fix R2RDump for composite images
- Fix R2RDump for various fixup types

4 years agoImplement Vector{Size}<T>.AllBitsSet (#33924)
Ganbarukamo41 [Wed, 29 Apr 2020 19:32:49 +0000 (04:32 +0900)]
Implement Vector{Size}<T>.AllBitsSet (#33924)

4 years agoSimple formatting cleanup over Uri (#31874)
Miha Zupan [Wed, 29 Apr 2020 19:19:30 +0000 (21:19 +0200)]
Simple formatting cleanup over Uri (#31874)

* Simple formatting cleanup over Uri

* More Uri test cleanup

* Address pr feedback

4 years agoCheck if PortableThreadPoolEventSource is enabled before logging (#8117) (#35608)
Jan Kotas [Wed, 29 Apr 2020 18:48:38 +0000 (11:48 -0700)]
Check if PortableThreadPoolEventSource is enabled before logging (#8117) (#35608)

Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
4 years agoOptimize Uri.GetHashCode (#32713)
Miha Zupan [Wed, 29 Apr 2020 17:50:15 +0000 (19:50 +0200)]
Optimize Uri.GetHashCode (#32713)

* Optimize Uri.GetHashCode

* Don't use case-insensitive string hashing when not necessary

* Don't expect Uri.GetHashCode to always be case-insensitive in tests

* Correct Uri.Equals test

Hash codes being equal doesn't mean that the values are equal

* Do not cache Uri GetHashCode

* Simplify Uri.Equals test

4 years ago[mono] Add Android sample and AndroidAppBuilder task (#35483)
Egor Bogatov [Wed, 29 Apr 2020 16:34:29 +0000 (19:34 +0300)]
[mono] Add Android sample and AndroidAppBuilder task (#35483)

4 years agoFixing break on OOB System.IO.Ports package where native dependency was no longer...
Jose Perez Rodriguez [Wed, 29 Apr 2020 16:26:56 +0000 (09:26 -0700)]
Fixing break on OOB System.IO.Ports package where native dependency was no longer produced (#35591)

4 years agoDon't create duplicate ZeroInits (#35585)
Carol Eidt [Wed, 29 Apr 2020 16:17:57 +0000 (09:17 -0700)]
Don't create duplicate ZeroInits (#35585)

4 years agoFurther tuning of the CORE_ROOT folder content (#35546)
Tomáš Rylek [Wed, 29 Apr 2020 15:04:03 +0000 (17:04 +0200)]
Further tuning of the CORE_ROOT folder content (#35546)

Based on Sergey's feedback I'm putting back the alternate JITs
(linuxonjit, protononjit) as they are actively used by the JIT team
in specialized scenarios. I have also pruned the PDB subfolder -
after extensive discussions I tried to be conservative in removing
only those PDB's we believe we don't need in Helix.

Thanks

Tomas

4 years agoImprove code coverage on collections with stream-based flows (#35046)
Layomi Akinrinade [Wed, 29 Apr 2020 14:46:47 +0000 (10:46 -0400)]
Improve code coverage on collections with stream-based flows (#35046)

* Improve code coverage on collections with stream-based flows

* Address feedback & fortify tests

4 years agoimprove cmake version detection (#35593)
Tomas Weinfurt [Wed, 29 Apr 2020 13:18:09 +0000 (06:18 -0700)]
improve cmake version detection (#35593)

4 years agoProvide dummy runtime_version.h when skipped (#35579)
Adeel Mujahid [Wed, 29 Apr 2020 13:17:35 +0000 (16:17 +0300)]
Provide dummy runtime_version.h when skipped (#35579)

With `-skipgenerateversion`, all MSBuild invocations are skipped.
In that case, we generate a dummy `version.c` file. Since
`runtime_version.h` is added as a required header, generate its dummy
variant in the same context.

4 years agoNativeCallableAttribute to UnmanagedCallersOnlyAttribute (#35592)
Aaron Robinson [Wed, 29 Apr 2020 06:00:39 +0000 (23:00 -0700)]
NativeCallableAttribute to UnmanagedCallersOnlyAttribute (#35592)

* NativeCallableAttribute to UnmanagedCallersOnlyAttribute

Replace NativeCallableAttribute usage with UnmanagedCallersOnlyAttribute.
Update tests.
Update coreclr implementation to reflect new name.

4 years ago[Arm64] Implement ASIMD widening, narrowing, saturating instructions (#35379)
Egor Chesakov [Wed, 29 Apr 2020 03:54:37 +0000 (20:54 -0700)]
[Arm64] Implement ASIMD widening, narrowing, saturating instructions (#35379)

4 years agoFix FieldRVA handling of Field tokens (#35557)
Simon Nattress [Wed, 29 Apr 2020 03:41:42 +0000 (20:41 -0700)]
Fix FieldRVA handling of Field tokens (#35557)

FieldRefs in the metadata tables are variable sized. We assumed the common 2 byte encoding, but if there are at least 0x10000 fields in the assembly 4 bytes are used in all tables with FieldRefs, including the FieldRva table we walk and patch.

Use row size to make sure we adjust based on the encoding, and preserve it when rewriting the metadata.

4 years agoAdd BSF and BSR fallbacks for BitOperations methods (#34550)
Clinton Ingram [Wed, 29 Apr 2020 01:38:04 +0000 (18:38 -0700)]
Add BSF and BSR fallbacks for BitOperations methods (#34550)

* implement X86Base, add BSF and BSR intrinsics
* add X86Base to Utf8String S.R.I. shim
* add BSF and BSR fallbacks in BitOperations
* add X86Base to zapinfo
* disable 'w' size bit for BSF and BSR

4 years agoNaricc/move patch before helix (#35434)
Nathan Ricci [Wed, 29 Apr 2020 01:09:37 +0000 (21:09 -0400)]
Naricc/move patch before helix (#35434)

* parent a070557b8357d83edb76dcc2bddd5cd16204aa7b
author Nathan Ricci <naricc@microsoft.com> 1587776427 -0400
committer Nathan Ricci <naricc@microsoft.com> 1588004048 -0400

Moved patching of mono just before sending to helix, and properly propagate runtimeFlavorDisplayName.

4 years agoAdd a WebAssembly version of System.Console. (#35555)
Zoltan Varga [Wed, 29 Apr 2020 00:33:57 +0000 (20:33 -0400)]
Add a WebAssembly version of System.Console. (#35555)

4 years agoUse crossgen out of bindir (#35577)
Jarret Shook [Tue, 28 Apr 2020 22:57:51 +0000 (15:57 -0700)]
Use crossgen out of bindir (#35577)

4 years agoAdd disk usage on osx (#35522)
Jarret Shook [Tue, 28 Apr 2020 22:54:46 +0000 (15:54 -0700)]
Add disk usage on osx (#35522)

* Add disk usage information for mac builds

* Add disk usage for test build as well

* Like normal, yml syntax change

* Add more usage

* yml syntax

* Show du on ios and tvos

* Add before and after usage

* Address pr feedback

4 years ago[mono] Integrate xharness tool (iOS) (#35316)
Egor Bogatov [Tue, 28 Apr 2020 22:50:34 +0000 (01:50 +0300)]
[mono] Integrate xharness tool (iOS) (#35316)

* Integrate xharness

4 years agoImplement IAsyncDisposable for XmlWriter (#35233)
buyaa-n [Tue, 28 Apr 2020 21:50:40 +0000 (14:50 -0700)]
Implement IAsyncDisposable for XmlWriter (#35233)

* Update XmlWriter to implement IAsyncDisposable

4 years agoAdd option for extra queries for SuperPmi (#35411)
Carol Eidt [Tue, 28 Apr 2020 21:39:07 +0000 (14:39 -0700)]
Add option for extra queries for SuperPmi (#35411)

* Add option for extra queries for SuperPmi

This adds an option to do extra queries for struct fields and types to make it easier to test and diff struct promotion enhancements, but we could consider adding other queries in future.

4 years agoRemove Targets* instances from .props files (#35353)
Anirudh Agnihotry [Tue, 28 Apr 2020 20:36:53 +0000 (13:36 -0700)]
Remove Targets* instances from .props files (#35353)

* remove TargetsNetfx from isPartialFacadeAssembly property

* Omit Resources corrected

* fix partial facade

* GeneratePlatformNotSupportedAssemblyMessage corrected

* OmitResources made similar to isPartialFacadeAssembly

* fixes omitsources

* moving targetFramework dependent properties to second property Group

* fix GeneratePlatformNotSupportedAssemblyWithGlobalPrefix

* correct define constants

* fix no warn

* fix assembly version

* fix packageTargetFramework

* fix the build

* src and ref intell working

* remove targets properties from tests file

* adding comment

4 years agoServer and client are synchronized via TaskCompletionSource (#35569)
Alexander Nikolaev [Tue, 28 Apr 2020 18:58:49 +0000 (20:58 +0200)]
Server and client are synchronized via TaskCompletionSource (#35569)

Http2_PendingSend_SendsReset test fails because client sends the second request with EndOfStream flag sooner than the server reads the last RstStream frame of the first request. This is caused by too short delay before the second request is made on the client. This PR replaces Task.Delay with a synchronization via TaskCompletionSource.

Fixes #2131

4 years agoRemove workaround PreserveDependency in System.Data.Common (#35543)
Eric Erhardt [Tue, 28 Apr 2020 18:51:39 +0000 (13:51 -0500)]
Remove workaround PreserveDependency in System.Data.Common (#35543)

https://github.com/mono/linker/issues/800 has been fixed. So we can remove these attributes now.

4 years agoAdd new attributes for ILLink analysis. (#35387)
Eric Erhardt [Tue, 28 Apr 2020 18:44:35 +0000 (13:44 -0500)]
Add new attributes for ILLink analysis. (#35387)

* Add new attributes for ILLink analysis.

DynamicallyAccessedMembersAttribute
DynamicDependencyAttribute
UnconditionalSuppressMessageAttribute

Fix #33861, #35339, #30902

4 years agofix build.ps1 script execution error on cmd due to whitespace (#35554)
Himanshu Soni [Tue, 28 Apr 2020 18:28:23 +0000 (23:58 +0530)]
fix build.ps1 script execution error on cmd due to whitespace (#35554)

4 years agoEnable more formerly-failing-on-mono tests. (#35208)
imhameed [Tue, 28 Apr 2020 17:15:33 +0000 (10:15 -0700)]
Enable more formerly-failing-on-mono tests. (#35208)

See:
- https://github.com/dotnet/runtime/issues/34377,
- https://github.com/dotnet/runtime/issues/34378, and
- https://github.com/dotnet/runtime/issues/34381.

4 years agoJIT: fixes for EH Write Thru and OSR (#35550)
Andy Ayers [Tue, 28 Apr 2020 17:06:20 +0000 (10:06 -0700)]
JIT: fixes for EH Write Thru and OSR (#35550)

For EH Write Thru: make sure to initialize the stack home for any EH live
register parameters. Fixes some runtime errors.

For OSR: don't allocate the patchpoint counter local until we're going to
transform a patchpoint. Fixes a post-phase assert.

4 years agoImprove JIT dump related docs (#35166)
Ganbarukamo41 [Tue, 28 Apr 2020 14:30:36 +0000 (23:30 +0900)]
Improve JIT dump related docs (#35166)

* Update viewing-jit-dumps.md

* Add jitconfigvalues.h for the sources of env. variables
* Add JitDumpASCII in the list of useful env. variables

* Fix casings for JitDumpASCII env var

* Environment variables on UNIX OSes are case sensitive

4 years agoRemove GeneratedAssemblyInfoFile workaround (#35558)
Viktor Hofer [Tue, 28 Apr 2020 14:28:08 +0000 (16:28 +0200)]
Remove GeneratedAssemblyInfoFile workaround (#35558)

* Remove GeneratedAssemblyInfoFile workaround

The underlying issue is fixed in the SDK.

4 years agoAdd zlib-dev to linux requirement (#35571)
Jan Jahoda [Tue, 28 Apr 2020 14:27:06 +0000 (16:27 +0200)]
Add zlib-dev to linux requirement (#35571)

On Ubuntu, the build fails on missing zlib.

4 years agoDelete deprecated tailcalls support (#35552)
Jan Kotas [Tue, 28 Apr 2020 14:24:47 +0000 (07:24 -0700)]
Delete deprecated tailcalls support (#35552)

Follow up on #341

4 years agoHandle CriticalExtensions and WeakSignature on 509Chain for macOS (#35548)
Kevin Jones [Tue, 28 Apr 2020 14:19:00 +0000 (10:19 -0400)]
Handle CriticalExtensions and WeakSignature on 509Chain for macOS (#35548)

* Support unknown critical extensions on macOS.

If a certificate contains an unprocessable critical extension
in a certificate, map the "CriticalExtensions" status to
HasNotSupportedCriticalExtension instead of throwing an exception.

* Ignore WeakSignature chain status on macOS.

X509Chain on Windows will not check for modern signatures, so we
will let macOS do the same thing.

4 years ago[debugger] Cleaning error before return Invalid_argument. (#35532)
monojenkins [Tue, 28 Apr 2020 13:56:06 +0000 (09:56 -0400)]
[debugger] Cleaning error before return Invalid_argument. (#35532)

Fixing this PR
https://github.com/mono/mono/pull/19542

Co-authored-by: thaystg <thaystg@users.noreply.github.com>
4 years agoenable package Testing (#35541)
Anirudh Agnihotry [Tue, 28 Apr 2020 13:35:04 +0000 (06:35 -0700)]
enable package Testing (#35541)

4 years ago[master] Update dependencies from mono/linker dotnet/xharness (#35474)
dotnet-maestro[bot] [Tue, 28 Apr 2020 12:04:38 +0000 (12:04 +0000)]
[master] Update dependencies from mono/linker dotnet/xharness (#35474)

* Update dependencies from https://github.com/mono/linker build 20200425.2

- Microsoft.NET.ILLink.Tasks: 5.0.0-preview.3.20220.1 -> 5.0.0-preview.3.20225.2

* Update dependencies from https://github.com/dotnet/xharness build 20200427.9

- Microsoft.DotNet.XHarness.Tests.Runners: 1.0.0-prerelease.20221.3 -> 1.0.0-prerelease.20227.9

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoDisable tests which require precise GC on mono (#35560)
Vlad Brezae [Tue, 28 Apr 2020 11:09:52 +0000 (14:09 +0300)]
Disable tests which require precise GC on mono (#35560)

While these didn't seem to fail with jit, they do fail with interpreter.

4 years agoMerge pull request #35429 from janvorli/fix-osx-debug-build-symbols
Jan Vorlicek [Tue, 28 Apr 2020 09:22:36 +0000 (11:22 +0200)]
Merge pull request #35429 from janvorli/fix-osx-debug-build-symbols

Fix OSX debug / checked build symbols

4 years agoMerge pull request #35418 from janvorli/fix-stack-overflow-reporting-osx
Jan Vorlicek [Tue, 28 Apr 2020 08:20:27 +0000 (10:20 +0200)]
Merge pull request #35418 from janvorli/fix-stack-overflow-reporting-osx

Enable stack overflow stack trace reporting on OSX

4 years agoMerge pull request #35218 from am11/feature/pal-tests
Jan Vorlicek [Tue, 28 Apr 2020 08:17:00 +0000 (10:17 +0200)]
Merge pull request #35218 from am11/feature/pal-tests

Fix PAL test build on non-Linux Unix platforms

4 years agoMerge pull request #35334 from davmason/eventsource_fixes
David Mason [Tue, 28 Apr 2020 08:11:47 +0000 (01:11 -0700)]
Merge pull request #35334 from davmason/eventsource_fixes

Write TraceEvent events to EventPipe even if an ETW provider is not enabled, and report EventSource errors over EventPipe.

4 years agoFix generation of Crossgen2 zips (#34971)
David Wrighton [Tue, 28 Apr 2020 02:09:05 +0000 (19:09 -0700)]
Fix generation of Crossgen2 zips (#34971)

The compressed crossgen2 zip file being created in the current builds are almost empty except for the license details. This fixes the problem by passing the right values into the installer project creation path, as well as setting the RuntimeIdentifier property as needed.