platform/upstream/dotnet/runtime.git
4 years agoMerge pull request #37968 from akoeplinger/sqlclient-packagereference
Alexander Köplinger [Wed, 17 Jun 2020 13:16:24 +0000 (15:16 +0200)]
Merge pull request #37968 from akoeplinger/sqlclient-packagereference

Essentially reverts #31850 and fixes the underlying issue, which was that alpine-arm64 was missing from the RID graph.

This allows us to switch to PackageReference for SqlClient as the old approach doesn't work for mobile targets where we do self-contained publishing since we don't have the SqlClient dll in the in-tree runtime pack (and we don't want to put it there).
While working on this I also removed some unnecessary duplication between Mono and CoreCLR in runtime.depproj.

Also bumps Microsoft.DotNet.ProjectModel version in Microsoft.Extensions.DependencyModel.Tests.csproj

The older version references a non-existing assembly "System.Runtime.InteropServices.Pinvoke".

4 years agoAdd build instructions for pkg-config (#38017)
Hugh Bellamy [Wed, 17 Jun 2020 12:54:34 +0000 (13:54 +0100)]
Add build instructions for pkg-config (#38017)

4 years agoUpdate steps to rebuild System.Runtime ref source (#38020)
Michal Strehovský [Wed, 17 Jun 2020 12:48:07 +0000 (14:48 +0200)]
Update steps to rebuild System.Runtime ref source (#38020)

Fixes #37966.

4 years agoMark token based resolution APIs trimming unfriendly (#37965)
Michal Strehovský [Wed, 17 Jun 2020 12:00:34 +0000 (14:00 +0200)]
Mark token based resolution APIs trimming unfriendly (#37965)

4 years agoAnnotate delegate APIs for trimming friendliness (#37964)
Michal Strehovský [Wed, 17 Jun 2020 12:00:14 +0000 (14:00 +0200)]
Annotate delegate APIs for trimming friendliness (#37964)

4 years agoAnnotate GetUninitializedObject (#37741)
Michal Strehovský [Wed, 17 Jun 2020 11:58:51 +0000 (13:58 +0200)]
Annotate GetUninitializedObject (#37741)

We don't have a good annotation for this so going with a superset. We could choose to intrinsify it in the linker to restrict this if necessary.

4 years agodelete low value tests (#38002)
Maoni Stephens [Wed, 17 Jun 2020 11:42:10 +0000 (04:42 -0700)]
delete low value tests (#38002)

4 years agoDisable two more tests that use RemoteExecutor on platforms where it's not supported...
Alexander Köplinger [Wed, 17 Jun 2020 10:32:34 +0000 (12:32 +0200)]
Disable two more tests that use RemoteExecutor on platforms where it's not supported (#37992)

Those sneaked in with https://github.com/dotnet/runtime/pull/37528 which was merged at the same time as my PR https://github.com/dotnet/runtime/pull/37479.

4 years agoremoved unused local (#38000)
Nicholas Orlowsky [Wed, 17 Jun 2020 09:23:48 +0000 (04:23 -0500)]
removed unused local (#38000)

4 years agoRemove some stale nullable suppressions / TODOs (#37978)
Stephen Toub [Wed, 17 Jun 2020 09:22:28 +0000 (05:22 -0400)]
Remove some stale nullable suppressions / TODOs (#37978)

4 years ago[browser][wasm] Default Debug Write to StdErr (#37886)
Kenneth Pouncey [Wed, 17 Jun 2020 08:15:34 +0000 (10:15 +0200)]
[browser][wasm] Default Debug Write to StdErr (#37886)

* [browser][wasm] Default Debug Write to StdErr

- COMPlus_DebugWriteToStdErr environment variable when set to `1` will write to `stderr` so it show up in the browser console log.

* Address review comment about adding a comment

* Address review comments

Add conditional compile for DEBUG build to only set debug environment variables when /p:Configuration=Debug is specified

4 years ago[browser][wasm] Fix already disposed error (#37887)
Kenneth Pouncey [Wed, 17 Jun 2020 04:15:26 +0000 (06:15 +0200)]
[browser][wasm] Fix already disposed error (#37887)

* [browser][wasm] Fix already disposed error

* Remove CancellationTokenSource redundant disposal

* Address redundant initialization

* Address review comments bailing first think if already disposed

* Address review comment

4 years agoFix build break in System.Net.Sockets (#38006)
Stephen Toub [Wed, 17 Jun 2020 03:34:04 +0000 (23:34 -0400)]
Fix build break in System.Net.Sockets (#38006)

4 years agoUse Latest Linker for our Trimming tests and reenable test (#37999)
Jose Perez Rodriguez [Wed, 17 Jun 2020 03:31:04 +0000 (20:31 -0700)]
Use Latest Linker for our Trimming tests and reenable test (#37999)

* Use Latest Linker for our Trimming tests and reenable test

* Address feedback

* Add environment variables to the Publish command so that it won't try to use a globally installed sdk

4 years agoComWrappers isolation (#37861)
Elinor Fung [Wed, 17 Jun 2020 03:10:20 +0000 (20:10 -0700)]
ComWrappers isolation (#37861)

- Assign/track ID of ComWrappers used to create object/wrapper.
- Only reuse object/wrapper created by same instance for GetOrCreate*
- Rehydrate RCW on WeakReference for global ComWrapper instances only

4 years agoUnix: add mode to inline Socket continuations (#37974)
Tom Deseyn [Wed, 17 Jun 2020 02:08:18 +0000 (04:08 +0200)]
Unix: add mode to inline Socket continuations (#37974)

* Unix: add mode to inline Socket continuations

On Unix, socket continuations are dispatched to the ThreadPool
from an event thread. This avoids continuations blocking the
event handling.

This adds an option to disable that dispatch. Continuations for
socket operations will be executed on the event thread directly.
This removes the overhead of context switching to the ThreadPool.

Currently this is implemented as an application level switch for
benchmarking, and experimentation. It may be made controllable
at the Socket level.

To avoid the event threads being a bottleneck, ProcessorCount
event threads are created.

* Add assert to verify Error is filtered out

* Add internal Socket.PreferInlineCompletions

* Add envvar to control PreferInlineCompletions default

* PR feedback

* Squash DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS envvars

* Don't use Unix specific SocketAsyncEngine in common SafeHandle code

* PR feedback

4 years agoUse sync IO when the physical path is available (#37846)
David Fowler [Wed, 17 Jun 2020 01:42:46 +0000 (18:42 -0700)]
Use sync IO when the physical path is available (#37846)

* Use sync IO when the physical path is available
- This should remove the overhead of doing async io for the synchronous configuration system

4 years agoDisable GenericArraySortHelperTest to fix CI (#37997)
Jose Perez Rodriguez [Tue, 16 Jun 2020 23:05:51 +0000 (16:05 -0700)]
Disable GenericArraySortHelperTest to fix CI (#37997)

4 years agoreduce use of TRACE_VERBOSE in SslStream (#37917)
Tomas Weinfurt [Tue, 16 Jun 2020 22:44:48 +0000 (15:44 -0700)]
reduce use of TRACE_VERBOSE in SslStream (#37917)

* reduce use of TRACE_VERBOSE

* add NetEventSource.Verbose

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
4 years agoAdding linker correctness tests to test library annotations for the linker (#37618)
Jose Perez Rodriguez [Tue, 16 Jun 2020 22:00:46 +0000 (15:00 -0700)]
Adding linker correctness tests to test library annotations for the linker (#37618)

4 years agoExclude the AdvSimd_Part* tests for mono (#37979)
Tanner Gooding [Tue, 16 Jun 2020 21:53:54 +0000 (14:53 -0700)]
Exclude the AdvSimd_Part* tests for mono (#37979)

4 years agoEnable startup events over EventPipe (#36720)
John Salem [Tue, 16 Jun 2020 21:46:26 +0000 (14:46 -0700)]
Enable startup events over EventPipe (#36720)

* Add PauseOnStart inside ceemain
* Add DOTNET_ env vars for opting out of pause on start
* Add Resume command to Diagnostics IPC

4 years agoBump Microsoft.DotNet.ProjectModel version in Microsoft.Extensions.DependencyModel...
Alexander Köplinger [Tue, 16 Jun 2020 13:40:52 +0000 (15:40 +0200)]
Bump Microsoft.DotNet.ProjectModel version in Microsoft.Extensions.DependencyModel.Tests.csproj

The older version references a non-existing assembly "System.Runtime.InteropServices.Pinvoke".

4 years agoUse PackageReference for System.Data.SqlClient again
Alexander Köplinger [Tue, 16 Jun 2020 13:40:09 +0000 (15:40 +0200)]
Use PackageReference for System.Data.SqlClient again

The old approach doesn't work for mobile targets where we do self-contained publishing since we don't have the SqlClient dll in the in-tree runtime pack (and we don't want to put it there).
While working on this I also removed some unnecessary duplication between Mono and CoreCLR in runtime.depproj.

4 years agoAdd alpine-arm64 to the RID graph
Alexander Köplinger [Tue, 16 Jun 2020 21:41:43 +0000 (23:41 +0200)]
Add alpine-arm64 to the RID graph

It was missing and caused a wrong RID graph to be generated.

4 years agoUse DynamicDependencyAttribute (#37780)
Sven Boemer [Tue, 16 Jun 2020 19:52:12 +0000 (12:52 -0700)]
Use DynamicDependencyAttribute (#37780)

* Use DynamicDependencyAttribute

* PR feedback

- Use typeof in more places
- Add comments about DynamicallyAccessedMembers
- Add comments about cases where we work around linker limitations
- Also move AssemblyBuilder`s DynamicDependency closer to where it
is actually needed.

* Add issue links

* Include internal attribute for OOB packages

On down-level platforms where DynamicDependencyAttribute doesn't exist
in corelib, this includes it in the OOB assemblies.

4 years agoHelp illinker remove all ICU dependencies in Invariant mode (#37832)
Marek Safar [Tue, 16 Jun 2020 19:45:19 +0000 (21:45 +0200)]
Help illinker remove all ICU dependencies in Invariant mode (#37832)

* Help illinker remove all ICU dependencies in Invariant mode

Data for browser-wasm hello world
|Mode  | SPC Size | Delta
|-|-|-|
|Default| 1449 KB | |
|Invariant| 1345 KB| -50 KB |

* Review feedback

4 years ago[eng] Build Mono Arm64 Release on runtime test builds (#37916)
Nathan Ricci [Tue, 16 Jun 2020 19:43:00 +0000 (15:43 -0400)]
[eng] Build Mono Arm64 Release on runtime test builds (#37916)

This change will build Mono on Arm64 if the runtime tests are changed. This is required so that the runtime tests will run on arm64 if the tests are changed.

4 years agoFix a bug in 64-bit signed integer division. (#37570)
Anton Lapounov [Tue, 16 Jun 2020 19:03:43 +0000 (12:03 -0700)]
Fix a bug in 64-bit signed integer division. (#37570)

Calculation of `absNc` involves adding the sign bit of the denominator. It incorrectly used bit 31 of the denominator instead of bit 63.

4 years agoDisable test on mono interpreter (#37957)
Vlad Brezae [Tue, 16 Jun 2020 18:32:56 +0000 (21:32 +0300)]
Disable test on mono interpreter (#37957)

Which relies on a particular locals init behavior. Fixing this naively right now could have a noticeable perf regression, so we should postpone fixing this, until we have a better optimization pass design.

4 years agoMove the Buffer.Memmove<T> implementation into the runtime specific files since it...
Zoltan Varga [Tue, 16 Jun 2020 18:07:36 +0000 (14:07 -0400)]
Move the Buffer.Memmove<T> implementation into the runtime specific files since it requires a runtime specific BulkMoveWithWriteBarrier icall. (#37920)

The mono version has an extra type argument since it uses copy functions which are type specific.
Also add an elementCount > 0 check to avoid icall overhead if possible.

4 years agoAllow X509Certificates to be trimmed in HttpClientHandler. (#37909)
Eric Erhardt [Tue, 16 Jun 2020 18:02:00 +0000 (13:02 -0500)]
Allow X509Certificates to be trimmed in HttpClientHandler. (#37909)

* Allow X509Certificates to be trimmed in HttpClientHandler.

When DangerousAcceptAnyServerCertificateValidator is never used, the backing static field won't be trimmed by the ILLinker. This will keep empty X509Certificate2 and X509Chain types around, which is the only thing in the X509Certificates assembly.

See https://github.com/mono/linker/issues/1270

4 years ago[crossgen2][arm32]Fix nonGcOffset (#37980)
t-mustafin [Tue, 16 Jun 2020 17:55:06 +0000 (20:55 +0300)]
[crossgen2][arm32]Fix nonGcOffset (#37980)

Fix DomainLocalModuleNormalDynamicEntryOffsetOfDataBlobArm offset for public
variables in class.

Fixes dotnet#37161

Signed-off-by: Timur <t.mustafin@partner.samsung.com>
4 years agoStrip the ILLinkTrim.xml file from the System.Private.Xml.Linq assembly (#37935)
Layomi Akinrinade [Tue, 16 Jun 2020 17:49:39 +0000 (10:49 -0700)]
Strip the ILLinkTrim.xml file from the System.Private.Xml.Linq assembly (#37935)

4 years agoUse Microsoft prefix for merge conflict SDK entry (#37948)
Viktor Hofer [Tue, 16 Jun 2020 17:42:50 +0000 (19:42 +0200)]
Use Microsoft prefix for merge conflict SDK entry (#37948)

Use the Microsoft prefix which is reserved on NuGet for Microsoft employees.

4 years ago2 small CQ optimizations. (#37967)
Sergey Andreenko [Tue, 16 Jun 2020 17:28:14 +0000 (10:28 -0700)]
2 small CQ optimizations. (#37967)

* `REF(0)==INT(0)` for reg reuse.

* Avoid field by field init when not profitable.

4 years agoFix generic delegate and MD Address method handling (#37937)
David Wrighton [Tue, 16 Jun 2020 17:08:13 +0000 (10:08 -0700)]
Fix generic delegate and MD Address method handling (#37937)

- Fix delegates to generic methods defined in the same compilation unit
- Fix usage of taking the address of a multidimensional array
- Pull the generics test from CoreRT into the ready to run generics test

Fixes issue #31654

4 years agoReserve return reg for cross-reg-file copy (#37863)
Carol Eidt [Tue, 16 Jun 2020 17:00:27 +0000 (10:00 -0700)]
Reserve return reg for cross-reg-file copy (#37863)

Fix #37829

4 years agoAdd JIT stress mode testing using libraries tests (#36486)
Bruce Forstall [Tue, 16 Jun 2020 16:10:23 +0000 (09:10 -0700)]
Add JIT stress mode testing using libraries tests (#36486)

* Add JIT stress mode testing using libraries tests

There are three separate pipelines, with different sets of JIT
stress modes enabled for each:

- libraries-jitstress.yml
- libraries-jitstress2-jitstressregs.yml
- libraries-jitstressregs.yml

The live built Release libraries are used with a Checked CoreCLR.

The non-stress configuration is tested during normal PR testing.

The libraries `sendtohelix.proj` file is changed to take an optional
list of CoreCLR stress scenarios to run. If given, a set of environment
setting scripts is created and added to the Helix correlation payload.
Then, an auxiliary `sendtohelixhelp.proj` file is invoked for each
scenario (or just the default, empty scenario) to create and run the
Helix tasks.

* Remove remnants of old corefx-on-coreclr test run infrastructure

* Rename corefx-*.yml to libraries-*.yml

* Disable tests

```
src/libraries/System.Numerics.Vectors/tests/Matrix3x2Tests.cs
https://github.com/dotnet/runtime/issues/36587
Matrix3x2CreateRotationCenterTest()

https://github.com/dotnet/runtime/issues/36587
Matrix3x2CreateScaleCenterTest1()

https://github.com/dotnet/runtime/issues/36587
Matrix3x2CreateScaleCenterTest3()

src/libraries/System.Numerics.Vectors/tests/Matrix4x4Tests.cs
https://github.com/dotnet/runtime/issues/36586
Matrix4x4CreateFromAxisAngleTest()
```

* Fix run-test-job.yml

* Fix BuildAllConfigurations case

4 years agoAnnotate Microsoft.Extensions.DependencyInjection.Abstractions for nu… (#37488)
Pranav K [Tue, 16 Jun 2020 16:09:46 +0000 (09:09 -0700)]
Annotate Microsoft.Extensions.DependencyInjection.Abstractions for nu… (#37488)

* Annotate Microsoft.Extensions.DependencyInjection.Abstractions for nullable reference types
Contributes to https://github.com/dotnet/runtime/issues/2339

4 years agoOptimize SpanHelpers.IndexOfAny() for byte (#37934)
Kunal Pathak [Tue, 16 Jun 2020 15:12:42 +0000 (08:12 -0700)]
Optimize SpanHelpers.IndexOfAny() for byte (#37934)

4 years agoImplement hdt_get_function_pointer (#37696)
Sean Hall [Tue, 16 Jun 2020 12:02:58 +0000 (22:02 +1000)]
Implement hdt_get_function_pointer (#37696)

4 years ago[wasm] Make some System.Console test pass with accordance to WASM PNSE behavior ...
Maxim Lipnin [Tue, 16 Jun 2020 11:03:42 +0000 (14:03 +0300)]
[wasm] Make some System.Console test pass with accordance to WASM PNSE behavior (#37645)

* Add a separate wasm-specific test

* Address feedback

4 years agoReplace Create(ulong) with CreateScalar(uint) in PopCount (#37912)
Kunal Pathak [Tue, 16 Jun 2020 06:40:16 +0000 (23:40 -0700)]
Replace Create(ulong) with CreateScalar(uint) in PopCount (#37912)

* Replace Create(ulong) with CreateScalar(uint)
* Add CreateScalar() in shim

4 years agoFix JavaScript core object creation and interop binding. (#37885)
Kenneth Pouncey [Tue, 16 Jun 2020 04:33:41 +0000 (06:33 +0200)]
Fix JavaScript core object creation and interop binding. (#37885)

-  Missing parameter for ownsHandle.

4 years agoimprove correlation for EventSource events in SslStream (#36633)
Tomas Weinfurt [Tue, 16 Jun 2020 02:10:26 +0000 (19:10 -0700)]
improve correlation for EventSource events in SslStream (#36633)

* improve corelation for EventSource events in SslStream

* fix UnitTests build

* feedback from review

* add line

* add missing reference

Co-authored-by: Tomas Weinfurt <furt@Shining.local>
4 years agoUse jeffhandley (GitHub handle) for Lead column (#37931)
Jeff Handley [Mon, 15 Jun 2020 23:55:52 +0000 (16:55 -0700)]
Use jeffhandley (GitHub handle) for Lead column (#37931)

4 years agoImplement timers for wasm. (#37811)
Zoltan Varga [Mon, 15 Jun 2020 23:33:07 +0000 (19:33 -0400)]
Implement timers for wasm. (#37811)

4 years agoFix detection of static readonly field re-initialization via reflection (#37849)
Jan Kotas [Mon, 15 Jun 2020 22:27:32 +0000 (15:27 -0700)]
Fix detection of static readonly field re-initialization via reflection (#37849)

Move the check for static readonly field re-initialization after the static constructor is triggered.

Fixes #37796

4 years agoBundler: Fix a path computation.
Swaroop Sridhar [Mon, 15 Jun 2020 21:59:50 +0000 (14:59 -0700)]
Bundler: Fix a path computation.

The bundler recognizes json config files based on the input host-name as follows:

baseName = Path.GetFileNameWithoutExtension(hostName).
depsJsonName = baseName + "deps.json"
On Linux, since executables don't have an .exe extension, this logic is incorrect for apps whose name contains a . in their name.
For example, if hostName is Some.App, depsJson is incorrectly computed as Some.deps.json instead of Some.App.deps.json.

This change fixes the problem.

4 years agoImprove performance of Enum.CompareTo (#37845)
Jan Kotas [Mon, 15 Jun 2020 20:42:50 +0000 (13:42 -0700)]
Improve performance of Enum.CompareTo (#37845)

Enum.CompareTo was rewritten in C# recently. This set of fixes gets the performance on par with the previous C++ implementation

- Add optimization for obj1.GetType() == obj2.GetType() pattern the JIT
- Optimize FCall used by Enum.CompareTo

Fixes https://github.com/DrewScoggins/performance-2/issues/525

4 years agoSingleFileBundler: Fix a path computation.
Swaroop Sridhar [Thu, 4 Jun 2020 08:19:14 +0000 (01:19 -0700)]
SingleFileBundler: Fix a path computation.

The bundler recognizes json config files based on the input host-name as follows:

```C#
baseName = Path.GetFileNameWithoutExtension(hostName).
depsJsonName = baseName + "deps.json"
```

On Linux, since executables don't have an `.exe` extension, this logic is incorrect for apps whose name contains a `.` in their name.
For example, if `hostName` is `Some.App`, `depsJson` is incorrectly computed as `Some.deps.json` instead of `Some.App.deps.json`.

This change fixes the problem.

4 years agoupdate area-SDK entries (#37908)
Lee Coward [Mon, 15 Jun 2020 18:09:39 +0000 (11:09 -0700)]
update area-SDK entries (#37908)

4 years agoUpdating the ARM HWIntrinsic test generation script to automatically split the tests...
Tanner Gooding [Mon, 15 Jun 2020 18:05:43 +0000 (11:05 -0700)]
Updating the ARM HWIntrinsic test generation script to automatically split the tests (#37859)

* Updating the ARM HWIntrinsic test generation script to automatically split the tests

* Removing the combined Program.AdvSimd.cs and Program.AdvSimd.Arm64.cs files

* Fixing the csproj to use the file group name

* Regenerate the ARM HWIntrinsic test projects

4 years agoRevert "Fix tizen rootfs build (#37891)" (#37902)
Jan Vorlicek [Mon, 15 Jun 2020 17:35:13 +0000 (19:35 +0200)]
Revert "Fix tizen rootfs build (#37891)" (#37902)

This reverts commit 279940471dacb387d78e00fd2c2dff724eafa251.

4 years agoFix CultureInfo creation with special Windows LCID values (#37834)
Tarek Mahmoud Sayed [Mon, 15 Jun 2020 17:09:42 +0000 (10:09 -0700)]
Fix CultureInfo creation with special Windows LCID values (#37834)

* Fix CultureInfo creation with special Windows LCID values

* Restrict the test to Windows 10.

4 years agoUse RELOAD tree when unspilling multi-reg node (#37773)
Carol Eidt [Mon, 15 Jun 2020 16:13:36 +0000 (09:13 -0700)]
Use RELOAD tree when unspilling multi-reg node (#37773)

* Use RELOAD tree when unspilling multi-reg node

4 years agoDelete dead code (#37847)
Jan Kotas [Mon, 15 Jun 2020 15:08:00 +0000 (08:08 -0700)]
Delete dead code (#37847)

4 years ago.editorconfig: replace invalid `refactoring` severity (#37367)
xtqqczze [Mon, 15 Jun 2020 12:44:48 +0000 (13:44 +0100)]
.editorconfig: replace invalid `refactoring` severity (#37367)

Valid severity levels are: `error`, `warning`, `suggestion`, `silent`, `none`

https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-language-conventions?view=vs-2019#severity-levels

4 years ago[browser][wasm] Fix key already exists error (#37889)
Kenneth Pouncey [Mon, 15 Jun 2020 12:20:44 +0000 (14:20 +0200)]
[browser][wasm] Fix key already exists error (#37889)

* [browser][wasm] Fix key already exists error

- During the last cleanup the key that was added for bridged object was messed up.

* Address review comments

4 years agoFix tizen rootfs build (#37891)
Gleb Balykov [Mon, 15 Jun 2020 11:32:10 +0000 (14:32 +0300)]
Fix tizen rootfs build (#37891)

4 years agoUpdate covariant returns - add support for pointers (#37454)
Jan Vorlicek [Mon, 15 Jun 2020 11:10:01 +0000 (13:10 +0200)]
Update covariant returns - add support for pointers (#37454)

* Update covariant returns - add support for pointers

This change adds support for managed, unmanaged and function pointers as
return values. It also adds related tests.

4 years ago[wasm] Disable aot support in release builds. (#37765)
Zoltan Varga [Mon, 15 Jun 2020 09:50:29 +0000 (05:50 -0400)]
[wasm] Disable aot support in release builds. (#37765)

4 years ago[wasm] Update library tests for System.Runtime.InteropServices.JavaScript namespace...
Maxim Lipnin [Mon, 15 Jun 2020 09:05:38 +0000 (12:05 +0300)]
[wasm] Update library tests for System.Runtime.InteropServices.JavaScript namespace (#37740)

* Update library tests for System.Runtime.InteropServices.JavaScript namespace

* Add using

* Make the tests wasm-specific

* Make the tests wasm-specific

* Remove commented out tests

4 years agoFix propagation of basic block flags for inlinee return expressions. (#37840)
Eugene Rozenfeld [Mon, 15 Jun 2020 03:30:16 +0000 (20:30 -0700)]
Fix propagation of basic block flags for inlinee return expressions. (#37840)

block flags from inlinee return expressions. The assumption there
was that `fgUpdateInlineReturnExpressionPlaceHolder` is the only
place where `GT_RET_EXPR`'s are replaced with the actual nodes
from inlinees. That assumption was incorrect and this change fixes
the remaining places.

Fixes #37574.

4 years agoInclude libnethost.lib in apphost package (#37878)
Adeel Mujahid [Sun, 14 Jun 2020 23:11:02 +0000 (02:11 +0300)]
Include libnethost.lib in apphost package (#37878)

4 years agodisable crossgen2 composite scenario (#37842)
Olivia Chen [Sat, 13 Jun 2020 15:08:11 +0000 (08:08 -0700)]
disable crossgen2 composite scenario (#37842)

4 years agoPrevent use of LINQ in managed type system (#37854)
Michal Strehovský [Sat, 13 Jun 2020 15:00:57 +0000 (17:00 +0200)]
Prevent use of LINQ in managed type system (#37854)

//
    // The type system needs to be low level enough to be usable as
    // an actual runtime type system.
    //
    // LINQ is not low level enough to be allowable in the type system.
    //
    // It also has performance characteristics that make it a poor choice
    // in high performance components such as the type system.
    //

4 years agoSync shared compiler files (#37850)
Michal Strehovský [Sat, 13 Jun 2020 09:41:06 +0000 (11:41 +0200)]
Sync shared compiler files (#37850)

4 years agoAdd StringSplitOptions.TrimEntries (#35740)
Levi Broderick [Sat, 13 Jun 2020 05:57:52 +0000 (22:57 -0700)]
Add StringSplitOptions.TrimEntries (#35740)

Also changes some existing string.Split call sites to use new API

4 years agoRefactor ComponentActivator (#37784)
Sean Hall [Sat, 13 Jun 2020 03:50:17 +0000 (13:50 +1000)]
Refactor ComponentActivator (#37784)

* Refactor ComponentActivator.

* Add ComponentActivation test for initialization from self-contained app.

* Rename tests around load_assembly_and_get_function_pointer.

* Update app ComponentActivation tests to initialize from an app.
Address PR feedback.

* Rely on PtrToStringAuto to call Uni or UTF8

4 years agoFix Vector2/4 Lerp methods (#37764)
John Kelly [Sat, 13 Jun 2020 01:25:51 +0000 (02:25 +0100)]
Fix Vector2/4 Lerp methods (#37764)

* Fix LERP and add appropriate tests

* Fix syntax error

All tests passed :white_check_mark:

4 years agoUpdate area owners to include lead owners column (#37760)
Dan Moseley [Sat, 13 Jun 2020 01:00:00 +0000 (18:00 -0700)]
Update area owners to include lead owners column (#37760)

* prettify

* add leads

* single owner for system.runtime

* jared

* note

* Update area-owners.md

* Sort and add some more leads

* Update area-owners.md

* Add more leads

* s.r.m and s.ds

* couple more

* Fix lee/jeff

* S.DS

* Add David-Engel

* tweaks

Co-authored-by: Marek Safar <marek.safar@gmail.com>
4 years agoBalance out arm jobs due to number of machines we have available (#37835)
Santiago Fernandez Madero [Sat, 13 Jun 2020 00:50:08 +0000 (17:50 -0700)]
Balance out arm jobs due to number of machines we have available (#37835)

4 years agoFixes and improvements for removal of redundant zero inits (#37786)
Eugene Rozenfeld [Fri, 12 Jun 2020 23:58:50 +0000 (16:58 -0700)]
Fixes and improvements for removal of redundant zero inits (#37786)

1. Bug fix: when processing a zero assignment to a field of a promoted struct,
check the reference count of the parent struct.

2. Bug fix: when processing a zero assignment to a promoted struct, check the
reference counts of all fields.

3. Bug fix and improvement: a dependently promoted field is initialized in the prolog
iff its parent struct is initialized in the prolog so we can remove a field zero initialization
if the parent struct is already zero initialized.

4. Improvement: keep track of explicitly zero-initialized locals so that duplicate
explicit zero initializations can be eliminated.

Fixes #37666.

4 years agoPlumb interpreter support into perf runs (#37514)
Drew Scoggins [Fri, 12 Jun 2020 22:56:14 +0000 (15:56 -0700)]
Plumb interpreter support into perf runs (#37514)

* Plumb interpreter support into perf runs

* Add interpreter variable to Linux

* Fix space issue

* Pass codeGenType to final yaml

* Fix whitespace issue

* Fix auth

* Fix log name

* Fix log name

* Update HelixPreCommand steps

4 years agoAndroid: align xharness output folder name to iOS/WASM (#37799)
Alexander Köplinger [Fri, 12 Jun 2020 22:29:43 +0000 (00:29 +0200)]
Android: align xharness output folder name to iOS/WASM (#37799)

Use `xharness-output` instead of `TestResults`.

4 years ago[interp] Refactor ldfld from vt (#37788)
monojenkins [Fri, 12 Jun 2020 22:08:22 +0000 (18:08 -0400)]
[interp] Refactor ldfld from vt (#37788)

Add separate faster opcode and remove use of MINT_VTRESULT

Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
4 years agoFix HFA/HVA classification (#37499)
Carol Eidt [Fri, 12 Jun 2020 21:15:28 +0000 (14:15 -0700)]
Fix HFA/HVA classification (#37499)

* Fix HFA/HVA classification

Fix #35144

4 years agoAdd System.Runtime.CompilerServices.IsExternalInit (#37763)
Rikki Gibson [Fri, 12 Jun 2020 21:05:16 +0000 (14:05 -0700)]
Add System.Runtime.CompilerServices.IsExternalInit (#37763)

4 years agoHuge page support for composite images loaded on Linux (#37673)
David Wrighton [Fri, 12 Jun 2020 21:00:01 +0000 (14:00 -0700)]
Huge page support for composite images loaded on Linux (#37673)

Add support for loading composite R2R images utilizing huge pages on Linux

Support is broken into 3 major portions

- Changes to the compiler to add a switch which can compile the composite image with higher than normal alignment
- Changes to the runtime to make some slight tweaks to PE file loading on Linux to support these images correctly
- Documentation on how to tie these various features together to achieve large page loading on Linux

4 years agoConsistently use inline stackallocs with ValueStringBuilder (#37795)
Stephen Toub [Fri, 12 Jun 2020 20:49:10 +0000 (16:49 -0400)]
Consistently use inline stackallocs with ValueStringBuilder (#37795)

Primarily for style consistency.

4 years agoAdd ability to disable AIA retrieval in X509Chain
Jeremy Barton [Fri, 12 Jun 2020 20:48:23 +0000 (13:48 -0700)]
Add ability to disable AIA retrieval in X509Chain

4 years agoDelete dead mscorlib winrt facade (#37660)
Viktor Hofer [Fri, 12 Jun 2020 20:36:17 +0000 (22:36 +0200)]
Delete dead mscorlib winrt facade (#37660)

4 years agoFix refpack construction in libraries (#37800)
Viktor Hofer [Fri, 12 Jun 2020 20:08:56 +0000 (22:08 +0200)]
Fix refpack construction in libraries (#37800)

* Fix refpack construction in libraries

4 years agoRemove ILC hack for FileVersionInfo test (#37798)
Viktor Hofer [Fri, 12 Jun 2020 20:08:02 +0000 (22:08 +0200)]
Remove ILC hack for FileVersionInfo test (#37798)

4 years agoMerge pull request #37758 from steveharter/XGenSize
Steve Harter [Fri, 12 Jun 2020 20:05:39 +0000 (15:05 -0500)]
Merge pull request #37758 from steveharter/XGenSize

Remove JsonParameterInfo.ReadJson and ReadJsonTyped

4 years agoMerge pull request #37751 from steveharter/PropertyPolicy
Steve Harter [Fri, 12 Jun 2020 20:05:02 +0000 (15:05 -0500)]
Merge pull request #37751 from steveharter/PropertyPolicy

Change additional PropertyPolicy terminology

4 years agoARM64: Optimize IndexOf(byte) and IndexOf(char) APIs using intrinsics. (#37624)
Kunal Pathak [Fri, 12 Jun 2020 18:53:47 +0000 (11:53 -0700)]
ARM64: Optimize IndexOf(byte) and IndexOf(char) APIs using intrinsics. (#37624)

* Optimize SpanHelpers.IndexOf() for byte/char

* Updated the implementation to use addp

Also moved the code in a common method that can be used
to `FindFirstMatchedLane` in other APIs as well.

* correct implementation

* updated comment and code cleanup

* converted condition to an assert

* switch to optimal implementation

* Use result of AddPairwise instead of MaxPairwise to decide if there is any match

* Use AdvSimd.Arm64.IsSupported

4 years ago[master] Update dependencies from dotnet/arcade mono/linker Microsoft/vstest dotnet...
dotnet-maestro[bot] [Fri, 12 Jun 2020 18:40:32 +0000 (20:40 +0200)]
[master] Update dependencies from dotnet/arcade mono/linker Microsoft/vstest dotnet/runtime-assets dotnet/xharness (#37747)

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.XUnitConsoleRunner
 From Version 5.0.0-beta.20280.1 -> To Version 5.0.0-beta.20309.1

* Update dependencies from https://github.com/microsoft/vstest build 20200610-07

Microsoft.NET.Test.Sdk
 From Version 16.8.0-preview-20200610-06 -> To Version 16.8.0-preview-20200610-07

* Update dependencies from https://github.com/dotnet/runtime-assets build 20200610.1

System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 5.0.0-beta.20258.1 -> To Version 5.0.0-beta.20310.1

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

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20309.4 -> To Version 1.0.0-prerelease.20311.1

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

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20309.3 -> To Version 5.0.0-preview.3.20311.1

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

Microsoft.NET.ILLink.Tasks
 From Version 5.0.0-preview.3.20309.3 -> To Version 5.0.0-preview.3.20311.3

* Update dependencies from https://github.com/microsoft/vstest build 20200612-02

Microsoft.NET.Test.Sdk
 From Version 16.8.0-preview-20200610-06 -> To Version 16.7.0-release-20200612-02

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

Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.20309.4 -> To Version 1.0.0-prerelease.20311.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
4 years agoAdd an ILLinkTrim.xml file for InteropServices.JavaScript. (#37776)
Eric Erhardt [Fri, 12 Jun 2020 18:34:24 +0000 (13:34 -0500)]
Add an ILLinkTrim.xml file for InteropServices.JavaScript. (#37776)

* Add an ILLinkTrim.xml file for InteropServices.JavaScript.

Fix #37775

* Remove redundant DynamicDependency

Co-authored-by: Marek Safar <marek.safar@gmail.com>
4 years agoAdd Microsoft.Extensions.HostFactoryResolver.Sources package (#37793)
Eric StJohn [Fri, 12 Jun 2020 18:10:42 +0000 (11:10 -0700)]
Add Microsoft.Extensions.HostFactoryResolver.Sources package (#37793)

Adds package and enables tests for HostFactoryResolver

4 years agoFix SIMD store to spilled multi-reg local (#37781)
Carol Eidt [Fri, 12 Jun 2020 18:03:23 +0000 (11:03 -0700)]
Fix SIMD store to spilled multi-reg local (#37781)

Fix #37761

4 years agoTfm clean up (#37623)
Anirudh Agnihotry [Fri, 12 Jun 2020 17:17:27 +0000 (10:17 -0700)]
Tfm clean up (#37623)

* cross targting removed

* sln update and remove system.numeric.vectors

* cross targeting interop project

4 years agoFix BeginSendRequest and EndSendRequest on LdapConnection (#37774)
Jose Perez Rodriguez [Fri, 12 Jun 2020 15:40:10 +0000 (08:40 -0700)]
Fix BeginSendRequest and EndSendRequest on LdapConnection (#37774)

* Fix BeginSendRequest and EndSendRequest on LdapConnection

* Fix PR Feedback

* Fix case where timeout is set to infinite

* Fix condition and address more feedback

* Fixing netcoreap2.0 build error due to missing references

4 years agoUpdate src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonProperty...
Steve Harter [Fri, 12 Jun 2020 15:33:26 +0000 (10:33 -0500)]
Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonPropertyInfo.cs

Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
4 years agoAddress feedback
Steve Harter [Fri, 12 Jun 2020 15:30:25 +0000 (10:30 -0500)]
Address feedback

4 years agoSync annotations to Mono CoreLib (#37748)
Michal Strehovský [Fri, 12 Jun 2020 09:44:03 +0000 (11:44 +0200)]
Sync annotations to Mono CoreLib (#37748)

4 years agoReduce allocation in NegotiateStream.Read/Write{Async} (#37772)
Stephen Toub [Fri, 12 Jun 2020 09:34:54 +0000 (05:34 -0400)]
Reduce allocation in NegotiateStream.Read/Write{Async} (#37772)

* Avoid new byte[] per Write{Async}

Hold onto and reuse our write buffer.

* Avoid byte[][] allocation per Read/Write{Async}

* Avoid two boxing allocations per Read{Async}

The default interface method on the interface results in boxing a struct that implements that interface on each call to the method.

4 years ago[merp] Add API methods for getting hashcode/reason of last crash (#37682)
monojenkins [Fri, 12 Jun 2020 08:23:34 +0000 (04:23 -0400)]
[merp] Add API methods for getting hashcode/reason of last crash (#37682)

Contributes to https://github.com/mono/mono/issues/18715

Co-authored-by: alexischr <alexischr@users.noreply.github.com>