platform/upstream/dotnet/runtime.git
5 years agoPR Feedback
Santiago Fernandez Madero [Fri, 12 Apr 2019 23:13:27 +0000 (16:13 -0700)]
PR Feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/c55ffed9df185ac568eb300794b771daa9711c58

5 years agoFix build errors due to merge conflicts
Santiago Fernandez Madero [Thu, 11 Apr 2019 23:08:05 +0000 (16:08 -0700)]
Fix build errors due to merge conflicts

Commit migrated from https://github.com/dotnet/coreclr/commit/e65ab1c53b8e234c77d9746a91e9a9c03aecb335

5 years agoMerge remote-tracking branch 'dotnet/master' into merge-master-nullable
Santiago Fernandez Madero [Thu, 11 Apr 2019 22:45:02 +0000 (15:45 -0700)]
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable

Commit migrated from https://github.com/dotnet/coreclr/commit/3bebe9316471d4e49d56ffd44417b77a53a0723a

5 years agoDisable nullability-related warnings
Jan Kotas [Wed, 10 Apr 2019 14:03:22 +0000 (07:03 -0700)]
Disable nullability-related warnings

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/bf20ae796436e04a6c2f13231fee54468c524688

5 years agoNullable: Interop: Kernel32 and few others (dotnet/coreclr#23880)
Krzysztof Wicher [Thu, 11 Apr 2019 19:20:40 +0000 (12:20 -0700)]
Nullable: Interop: Kernel32 and few others (dotnet/coreclr#23880)

* Nullable: Interop: Kernel32 and few others

* fix compile errors (new compiler)

* address feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/28c209dc488dc695838ae17dd6840a64d253eb02

5 years agoRenaming 'failure' in counter tests (dotnet/coreclr#23891)
Sung Yoon Whang [Thu, 11 Apr 2019 11:52:48 +0000 (04:52 -0700)]
Renaming 'failure' in counter tests (dotnet/coreclr#23891)

Commit migrated from https://github.com/dotnet/coreclr/commit/b574fac287e8ebe94f95d1b0919807523bb55b86

5 years agoIf a delegate type is a WinRT delegate or a WinRT-projected delegate, allow default...
Jeremy Koritzinsky [Thu, 11 Apr 2019 06:31:54 +0000 (23:31 -0700)]
If a delegate type is a WinRT delegate or a WinRT-projected delegate, allow default marshalling. (dotnet/coreclr#23877)

Commit migrated from https://github.com/dotnet/coreclr/commit/3271f5066cafd8764b5bcf24e3bfa3bdcb351dc1

5 years agoRemove overrelease in test (dotnet/coreclr#23887)
Aaron Robinson [Thu, 11 Apr 2019 05:54:46 +0000 (22:54 -0700)]
Remove overrelease in test (dotnet/coreclr#23887)

Commit migrated from https://github.com/dotnet/coreclr/commit/232ba42911f8266a96f73a77bc1e18f431d96862

5 years agoContextual reflection (dotnet/coreclr#23740)
Steve MacLean [Thu, 11 Apr 2019 04:20:39 +0000 (00:20 -0400)]
Contextual reflection (dotnet/coreclr#23740)

* Add ContextualReflection APIs

Add ContextualReflection APIs approved in dotnet/corefxdotnet/coreclr#36236
Fix issue dotnet/coreclr#22213

* SetParentAssembly even when IsCollectible()
* ContextualReflection tests

* PR Feedback
* Add more usage tests

Add using statement tests
Add bad usage tests including Assert.Throws<>

* Only initialize on set
* Add XML API comments
* Unify VerifyIsolation
* Fix unused expectedAssembly
* Remove ContextualReflectionScope throw
* Clean up TestResolveMissingAssembly et. al
* Remove unused QCall::AppDomainHandle
* Remove AppDomainBaseObject
* Pass AssemblyLoadContext as managed object to native
* Fix AssemblyLoadContextBaseObject packing

* AssemblyLoadContext backing stores

Use explicit backing stores for events and properties

* Remove StaticAsyncLocalCurrentContextualReflectionContext
* Remove PermissionSetObject

Commit migrated from https://github.com/dotnet/coreclr/commit/206f9680303134731862a35338618f2cbd225651

5 years agoMerge pull request dotnet/coreclr#23824 from janvorli/remove_unix_cpu_groups_emulation
Jan Vorlicek [Thu, 11 Apr 2019 00:26:32 +0000 (02:26 +0200)]
Merge pull request dotnet/coreclr#23824 from janvorli/remove_unix_cpu_groups_emulation

Remove Unix CPU groups emulation

Commit migrated from https://github.com/dotnet/coreclr/commit/cb22707acb620e93a30254ded3048912a9ccb26f

5 years agoMove AssemblyName to shared (dotnet/coreclr#23737)
Egor Bogatov [Wed, 10 Apr 2019 23:36:14 +0000 (02:36 +0300)]
Move AssemblyName to shared (dotnet/coreclr#23737)

Commit migrated from https://github.com/dotnet/coreclr/commit/45e04dd1bb1c7171d88a24454cb2c2811f46ce55

5 years agoAddress follow-up PR feedback on System nullability annotations (dotnet/coreclr#23878)
Stephen Toub [Wed, 10 Apr 2019 23:12:26 +0000 (19:12 -0400)]
Address follow-up PR feedback on System nullability annotations (dotnet/coreclr#23878)

Commit migrated from https://github.com/dotnet/coreclr/commit/1998523590276ce8af34cf264b912f16feeee9b2

5 years agoMove TimerQueue.TickCount Windows implementation to shared CoreLib (dotnet/coreclr...
Filip Navara [Wed, 10 Apr 2019 23:04:38 +0000 (01:04 +0200)]
Move TimerQueue.TickCount Windows implementation to shared CoreLib (dotnet/coreclr#23838)

Commit migrated from https://github.com/dotnet/coreclr/commit/a6b1e978157278d09247bb82543a21886e087583

5 years agoMake GC.GetGCMemoryInfo public (dotnet/coreclr#23779)
Ludovic Henry [Wed, 10 Apr 2019 22:57:00 +0000 (15:57 -0700)]
Make GC.GetGCMemoryInfo public (dotnet/coreclr#23779)

* Make GC.GetGCMemoryInfo public

This is to be used to allow users to optimize memory consumption based
on what's available to the GC and on the system.

This is based on https://github.com/dotnet/corefx/issues/34631

* Address reviews

- Pass GCMemoryInfo struct to native in place of many arguments
- Make GCMemoryInfo.HeapSize and GCMemoryInfo.Fragmentation long in place of IntPtr

* Address reviews

- Mark GCMemoryInfo readonly

* Rearrange fields and match managed/native names

* Fix compilation

* Use getter shorthand

* Address API Design Review

https://github.com/dotnet/corefx/issues/34631#issuecomment-481358549

* Fix comments

* Fix comments

* Do everything in managed

* Address review

 - Remove unecessary [StructLayout.Sequential]
 - Remove "_" prefix for parameters variables

Commit migrated from https://github.com/dotnet/coreclr/commit/a8d440c432bacf81b770f65042ed1721f38be5e5

5 years agoMerge pull request dotnet/coreclr#23876 from briansull/jit-dump
Brian Sullivan [Wed, 10 Apr 2019 22:19:11 +0000 (15:19 -0700)]
Merge pull request dotnet/coreclr#23876 from briansull/jit-dump

Improved JitDump

Commit migrated from https://github.com/dotnet/coreclr/commit/34aa89ecdeedac69bb2da3e63b23a1b97bb4cd23

5 years agoMerge pull request dotnet/coreclr#23858 from sandreenko/fixOptPrepareTreeToReplacement
Sergey Andreenko [Wed, 10 Apr 2019 22:15:12 +0000 (15:15 -0700)]
Merge pull request dotnet/coreclr#23858 from sandreenko/fixOptPrepareTreeToReplacement

Clean optVNConstantPropOnTree.

Commit migrated from https://github.com/dotnet/coreclr/commit/37ab0d569c13924cb6f1dab04f8b13d79e073baf

5 years agoCheck for a null import descriptor when fixing up vtables. (dotnet/coreclr#23825)
Jeremy Koritzinsky [Wed, 10 Apr 2019 19:54:27 +0000 (12:54 -0700)]
Check for a null import descriptor when fixing up vtables. (dotnet/coreclr#23825)

A fragile ngened image doesn't have an import descriptor directory in its PE image. Without this check, we AV when loading a fragile ngened image.

Commit migrated from https://github.com/dotnet/coreclr/commit/38b7770574fdbdd93416053809fce039bc8d5d26

5 years agojit-format
Brian Sullivan [Wed, 10 Apr 2019 19:52:14 +0000 (12:52 -0700)]
jit-format

Commit migrated from https://github.com/dotnet/coreclr/commit/3cd62e26f2ed9a65578fb4df884314b45050b6cc

5 years agoNullable: System (most of it) (dotnet/coreclr#23774)
Stephen Toub [Wed, 10 Apr 2019 19:47:15 +0000 (15:47 -0400)]
Nullable: System (most of it) (dotnet/coreclr#23774)

* Nullable: shared\System (most of it)

And some other things it touches.

* Nullable: src\System (most of it)

* Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/9a715feffb9c4b39a3f98a03c925aba4e9eafd7d

5 years agoImproved JitDump
Brian Sullivan [Wed, 10 Apr 2019 19:37:21 +0000 (12:37 -0700)]
Improved JitDump
- Prints the bbNatLoopNum when dumping the BasicBlocks
- Refactor the GenTree node dump to use gtDispCommonEndLine:
//     Utility function that prints the following node information
//       1: The associated zero field sequence (if any)
//       2. The register assigned to this node (if any)
//       2. The value number assigned (if any)
//       3. A newline character

Commit migrated from https://github.com/dotnet/coreclr/commit/c7855d857c53d5bc658578116275aefcb247e306

5 years agoUpdate the comment.
Sergey Andreenko [Wed, 10 Apr 2019 19:29:46 +0000 (12:29 -0700)]
Update the comment.

Commit migrated from https://github.com/dotnet/coreclr/commit/696a3edc3cc3bcbcf083673996f67828562af056

5 years agoNullable Internal.Win32.RegistryKey (dotnet/coreclr#23856)
Anirudh Agnihotry [Wed, 10 Apr 2019 19:18:42 +0000 (12:18 -0700)]
Nullable Internal.Win32.RegistryKey (dotnet/coreclr#23856)

* anootated registrykey

* Fixing the build for windows

* Adding bang after the resize argument

Commit migrated from https://github.com/dotnet/coreclr/commit/4cdb063762df3ad5bf42021d0a023304da6cd483

5 years agoUpdate Range.GetOffsetAndLength (dotnet/coreclr#23855)
Tarek Mahmoud Sayed [Wed, 10 Apr 2019 19:05:27 +0000 (20:05 +0100)]
Update Range.GetOffsetAndLength (dotnet/coreclr#23855)

* Update Range.GetOffsetAndLength

Make it return offset and length tuple instead of the old Type Range.OffsetAndLength

* Fix the return Tuple fields names

Commit migrated from https://github.com/dotnet/coreclr/commit/6398853de7ed52ed378312073fe47f3af75cce0a

5 years agoTweaking some APIs according to user feedback. (dotnet/coreclr#23857)
Tanner Gooding [Wed, 10 Apr 2019 17:42:17 +0000 (10:42 -0700)]
Tweaking some APIs according to user feedback. (dotnet/coreclr#23857)

* Updating the Avx2.ConvertToVector256UInt APIs to return a signed type (matching the native signature and Sse41 APIs).

* Adding explicit overloads for `Sse41.ConvertToVector128Int*` and `Avx2.ConvertToVector256Int*` that take a pointer

* Updating the word ordering for the Compare/CompareScalar methods.

Commit migrated from https://github.com/dotnet/coreclr/commit/98472784f82cee7326a58e0c4acf77714cdafe03

5 years agoUpdate CoreClr to preview5-27610-71 (dotnet/coreclr#23859)
dotnet-maestro-bot [Wed, 10 Apr 2019 16:38:28 +0000 (09:38 -0700)]
Update CoreClr to preview5-27610-71 (dotnet/coreclr#23859)

Commit migrated from https://github.com/dotnet/coreclr/commit/e4cd6ca208879e9deb0b38a6cae1f9f95eba02a7

5 years agoUpdate Windows instructions (dotnet/coreclr#23841)
Jared Parsons [Wed, 10 Apr 2019 13:57:38 +0000 (06:57 -0700)]
Update Windows instructions (dotnet/coreclr#23841)

The instructions for CMake failed to list 3.14.1 when using Visual Studio 2019.

Commit migrated from https://github.com/dotnet/coreclr/commit/289b7036dfa172fcbdb812c03ccfd599d6d09724

5 years agoFix few issues discovered by testing
Jan Vorlicek [Wed, 10 Apr 2019 13:18:03 +0000 (15:18 +0200)]
Fix few issues discovered by testing

Commit migrated from https://github.com/dotnet/coreclr/commit/fe355a617ff5e56c8607c2b12c650c3b95c5cfbd

5 years agoUpdate profiling-api-status.md
Noah Falk [Wed, 10 Apr 2019 11:05:03 +0000 (04:05 -0700)]
Update profiling-api-status.md

Clarifying that profiler attach/detach are a known gap

Commit migrated from https://github.com/dotnet/coreclr/commit/43e0ab4042b72d28a6254593c8f9ae29ce687eb0

5 years agoFix RecycledLists size on Unix
Jan Vorlicek [Wed, 10 Apr 2019 10:08:27 +0000 (12:08 +0200)]
Fix RecycledLists size on Unix

The list size was set to g_SystemInfo.dwNumberOfProcessors which is a
number of processors the current process is allowed to run on, but not
the total number of processors in the system. Fixed to use
PAL_GetTotalCpuCount.

Also revert a change to the mbind node mask length computation I've
incorrectly made in my last commit and make it clear that the value is
a number of used bits in the node mask, which is the highest numa node
plus 1. And finally, re-reading the mbind doc, I've found that the
maxnode parameter is in fact "number of nodes" in the mask, so fixing
that too.

Commit migrated from https://github.com/dotnet/coreclr/commit/3c07febf02b67c4c5f8eef846d5aa581372e454e

5 years agoChange optExtractSideEffList to optExtractSideEffList.
Sergey Andreenko [Wed, 10 Apr 2019 08:59:31 +0000 (01:59 -0700)]
Change optExtractSideEffList to optExtractSideEffList.

Commit migrated from https://github.com/dotnet/coreclr/commit/0ee00c31e61abb61863fd865d96f0c1536f04927

5 years agoFix newlines for ilegal trees in `gtDispTree`.
Sergey Andreenko [Wed, 10 Apr 2019 08:57:04 +0000 (01:57 -0700)]
Fix newlines for  ilegal trees in `gtDispTree`.

Commit migrated from https://github.com/dotnet/coreclr/commit/fe2a2e7c7cc907f8df091c4bfbbb7250529a12c3

5 years agoExpose new EventCounter APIs (dotnet/coreclr#23808)
Sung Yoon Whang [Wed, 10 Apr 2019 08:19:30 +0000 (01:19 -0700)]
Expose new EventCounter APIs (dotnet/coreclr#23808)

* rename BaseCounter to DiagnosticCounter

* Change MetaData->Metadata

* Make EventSource and Name a property for counter classes

* Make the counter APIs public

* fix build errors

* Change float to double

* Few cleanups, fix test

* fix GetMetadataString

* PR feedback

* More PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/95d37e097086187692c770471d79810482971b34

5 years agoNullable: System.Resources (dotnet/coreclr#23830)
Krzysztof Wicher [Wed, 10 Apr 2019 04:53:50 +0000 (21:53 -0700)]
Nullable: System.Resources (dotnet/coreclr#23830)

* nullable: system.resources

* apply feedback

* apply another feedback

* fix SR.cs after rebase

Commit migrated from https://github.com/dotnet/coreclr/commit/61737be156b4bf069d6ffe528fed7344ad848a30

5 years agoRemove dlclose call to unload CoreCLR (dotnet/coreclr#23863)
Next Turn [Wed, 10 Apr 2019 04:18:24 +0000 (12:18 +0800)]
Remove dlclose call to unload CoreCLR (dotnet/coreclr#23863)

Commit migrated from https://github.com/dotnet/coreclr/commit/448e39d3a060a41783df583c383f1b4a9fd3a185

5 years agoAdd back using to EventSourceException
Santiago Fernandez Madero [Fri, 5 Apr 2019 23:32:35 +0000 (16:32 -0700)]
Add back using to EventSourceException

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/0d427ca705cb7a23aa5d4902b5e19f679c7b322e

5 years agoUpdate CoreRT for changes in shared partition
Jan Kotas [Fri, 5 Apr 2019 04:49:22 +0000 (21:49 -0700)]
Update CoreRT for changes in shared partition

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/50f8ab784d406705d128604da577c47bac1f0da3

5 years agoAdd 'SetNotificationForWaitCompletion' to ILLinkTrim.xml (dotnet/coreclr#23822)
Gregg Miskelly [Wed, 10 Apr 2019 02:17:39 +0000 (19:17 -0700)]
Add 'SetNotificationForWaitCompletion' to ILLinkTrim.xml (dotnet/coreclr#23822)

SetNotificationForWaitCompletion is meant to be func-eval'ed by the debugger to enable async step out. But this method was being removed by the IL linker. This adds it back.

Commit migrated from https://github.com/dotnet/coreclr/commit/9ddc4cfa7e0add5b09a0967c692fb1f2e9ebbe82

5 years agoDelete the asignment that was added as a workaround.
Sergey Andreenko [Thu, 28 Mar 2019 20:42:06 +0000 (13:42 -0700)]
Delete the asignment that was added as a workaround.

Commit migrated from https://github.com/dotnet/coreclr/commit/c1b36e956e809f8075a573ffa4c91e6843b5564b

5 years agoClarify some unsupported cases in `optVNConstantPropOnTree`.
Sergey Andreenko [Thu, 28 Mar 2019 20:23:04 +0000 (13:23 -0700)]
Clarify some unsupported cases in `optVNConstantPropOnTree`.

Commit migrated from https://github.com/dotnet/coreclr/commit/325bfa4890a069c4060116f81ef8753be3b828c9

5 years agoClean optVNConstantPropOnTree.
Sergey Andreenko [Wed, 27 Mar 2019 00:16:07 +0000 (17:16 -0700)]
Clean optVNConstantPropOnTree.

Create a new tree with const val and attach side-effects to it.
Extract common code and delete returns in the of the switch.

Commit migrated from https://github.com/dotnet/coreclr/commit/c6dbbf050b2a532bfc3e1b0a228da4d42f5e79e9

5 years agoDon't denormalize enum return values on instance methods on x86. (dotnet/coreclr...
Jeremy Koritzinsky [Tue, 9 Apr 2019 22:28:00 +0000 (15:28 -0700)]
Don't denormalize enum return values on instance methods on x86. (dotnet/coreclr#23816)

* Don't denormalize enum return values on instance methods on x86.

* Reuse closedElemType.

Commit migrated from https://github.com/dotnet/coreclr/commit/29fabe7114d006af73ef768c529b4477b355a284

5 years agoAlter CCW wrapping semantics (dotnet/coreclr#23709)
Aaron Robinson [Tue, 9 Apr 2019 22:07:34 +0000 (15:07 -0700)]
Alter CCW wrapping semantics (dotnet/coreclr#23709)

* Update CCW semantics to not unwrap when a managed COM server was activated
  from a managed COM client. This is a functional change from .NET Framework.

* Add support for CoreShim to "attach" to the existing CLR instance when
 running from a CoreRun scenario.

* Add testing for NET COM client activating a NET COM server

Commit migrated from https://github.com/dotnet/coreclr/commit/a6b0eef9d4a61e3ef5c3879a5016931f8ca0cf99

5 years agoDestroy the old tree in `optAssertionProp_Update`.
Sergey Andreenko [Wed, 27 Mar 2019 00:06:29 +0000 (17:06 -0700)]
Destroy the old tree in `optAssertionProp_Update`.

Currently compiletion will fail with an assert because of `optPrepareTreeForReplacement`.

Commit migrated from https://github.com/dotnet/coreclr/commit/04c7fa63a52d4405298fd4053e7be137eac6a042

5 years agoDelete condition that was previously checked with noway_assert.
Sergey Andreenko [Tue, 26 Mar 2019 22:34:24 +0000 (15:34 -0700)]
Delete condition that was previously checked with noway_assert.

Commit migrated from https://github.com/dotnet/coreclr/commit/b07b72627c9fe2807913df47451f9e26973d1023

5 years agoExclude PInvokes declared on other modules. We don't yet encode crossmodule reference...
Fadi Hanna [Tue, 9 Apr 2019 19:43:38 +0000 (12:43 -0700)]
Exclude PInvokes declared on other modules. We don't yet encode crossmodule references (dotnet/coreclr#23828)

* Exclude PInvokes declared on other modules. We don't yet encode cross module references

Commit migrated from https://github.com/dotnet/coreclr/commit/5608b4ff0f81b99a5d436dec1e23b393503a4e07

5 years agoUnconditionally set CrossGenTest to false for readytorun/tests/mainv1 mainv2 (dotnet...
Egor Chesakov [Tue, 9 Apr 2019 19:16:51 +0000 (12:16 -0700)]
Unconditionally set CrossGenTest to false for readytorun/tests/mainv1 mainv2 (dotnet/coreclr#23826)

Commit migrated from https://github.com/dotnet/coreclr/commit/5e20dd4afbe569d10db9ddf75b702bc41c492d2f

5 years agoGroup XUnitWrapper.dll into the same Payloads when submit to Helix (dotnet/coreclr...
Egor Chesakov [Tue, 9 Apr 2019 18:00:25 +0000 (11:00 -0700)]
Group XUnitWrapper.dll into the same Payloads when submit to Helix (dotnet/coreclr#23476)

* Add DisplayNameAttribute to each Fact

* Split files under bin/tests folder into groups and specify the corresponding *.XUnitWrapper.dll

* Group some of the *.XUnitWrapper.dll files into PayloadGroups and split others into different PayloadGroups if they have more than one TestGroup defined

* Add "TestGroup" trait to XUnitWrapper facts

* Add Microsoft.DotNet.XUnitConsoleRunner to eng\Versions.props

* Overwrite xunit.console.dll with the version coming from Microsoft.DotNet.XUnitConsoleRunner

Commit migrated from https://github.com/dotnet/coreclr/commit/f1cd1b6e98b44a26a52e6997d0445feeda1c8e00

5 years agoNullable: Attributes, SafeHandles, and misc (dotnet/coreclr#23810)
Stephen Toub [Tue, 9 Apr 2019 17:01:36 +0000 (13:01 -0400)]
Nullable: Attributes, SafeHandles, and misc (dotnet/coreclr#23810)

* Nullable: Attributes, SafeHandles, and misc

* Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/0006d20825b83e70e2c8286f9cada843b48be060

5 years agoNullable: System.IO (dotnet/coreclr#23732)
Stephen Toub [Tue, 9 Apr 2019 16:10:28 +0000 (12:10 -0400)]
Nullable: System.IO (dotnet/coreclr#23732)

* Nullable: System.IO

Everything exception StreamReader, StreamWriter, BinaryReader, BinaryWriter, which are waiting for some changes in master to propagate over to the feature branch.

* Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/5ce35bf3d4456a81e22b6a74a03978a1a3abd75d

5 years agoUpdate CoreClr to preview5-27609-71 (dotnet/coreclr#23809)
dotnet-maestro-bot [Tue, 9 Apr 2019 15:54:13 +0000 (08:54 -0700)]
Update CoreClr to preview5-27609-71 (dotnet/coreclr#23809)

Commit migrated from https://github.com/dotnet/coreclr/commit/b1042c7a758f032c4effb96d429c95ad1280295a

5 years agoImprove RuntimeHelpers.GetSubArray (dotnet/coreclr#23829)
Stephen Toub [Tue, 9 Apr 2019 11:21:40 +0000 (07:21 -0400)]
Improve RuntimeHelpers.GetSubArray (dotnet/coreclr#23829)

* Improve RuntimeHelpers.GetSubArray

This change does three things.

First, it fixes `GetSubArray` to work when the supplied array is actually a `U[]` where `U : T`.  Currently this case ends up throwing an exception inside of span, which doesn't like working with arrays covariantly.

Second, it fixes argument validation so that we throw an ArgumentNullException if the input array is null rather than NullReferenceException.

Third, it improves the performance of `GetSubArray` for the 95% common case where either `T` is a value type or the type of the array matches the `T` type specified.

* Only use `Array.Empty<T>` when `typeof(T[]) == array.GetType()`

Commit migrated from https://github.com/dotnet/coreclr/commit/5fd24c69f75a1222a4d9b7abaed1c5712d47bd06

5 years agoRemove exclusion for System.Threading.Tasks.Tests (dotnet/coreclr#23818)
Vladimir Sadov [Tue, 9 Apr 2019 03:58:37 +0000 (20:58 -0700)]
Remove exclusion for System.Threading.Tasks.Tests (dotnet/coreclr#23818)

* Update exclusion for System.Threading.Tasks.Tests

There is a race in the test, which causes failures in various stress runs. And that is not Linux specific.

The failure is addressed in https://github.com/dotnet/corefx/pull/36645
This is to update the exclusion lists to make it not just for Linux and to link to the fix PR, so that it could be tracked when it makes it into coreclr.

* Update corefx_test_exclusions.txt

* Update corefx_test_exclusions.txt

Commit migrated from https://github.com/dotnet/coreclr/commit/13421bf4d01816fb24b974695acb9a9698193575

5 years agoFix several issues
Jan Vorlicek [Tue, 9 Apr 2019 00:50:28 +0000 (02:50 +0200)]
Fix several issues

* Fix build on OSX and Linux machines without NUMA installed - there were
couple of places where I was missing ifdefs
* Fix bug in nodeMaskLength computation
* Remove testing change in eeconfig.cpp that has leaked into the PR
* Fix GCToOSInterface::GetTotalProcessorCount for embedded GC to return
all processors on the system, not just the ones enabled for the current
process.

Commit migrated from https://github.com/dotnet/coreclr/commit/cee1a8c9d9c6669318d1567c85457fbcd642587d

5 years agoMerge pull request dotnet/coreclr#23739 from briansull/struct-cse
Brian Sullivan [Tue, 9 Apr 2019 01:04:29 +0000 (18:04 -0700)]
Merge pull request dotnet/coreclr#23739 from briansull/struct-cse

Block the hoisting of TYP_STRUCT rvalues in loop hoisting

Commit migrated from https://github.com/dotnet/coreclr/commit/cd418635d5db40df67ffb45de74f61ca8df88207

5 years agoRemove Unix CPU groups emulation
Jan Vorlicek [Fri, 5 Apr 2019 00:53:32 +0000 (02:53 +0200)]
Remove Unix CPU groups emulation

This change removes CPU groups emulation from Unix PAL and modifies the
GC and thread pool code accordingly.

Commit migrated from https://github.com/dotnet/coreclr/commit/060990945a0117cb824b9d1c1e6c3a336533a3ee

5 years agoMerge pull request dotnet/coreclr#23752 from adityamandaleeka/arm64_clrww
Aditya Mandaleeka [Mon, 8 Apr 2019 23:18:36 +0000 (16:18 -0700)]
Merge pull request dotnet/coreclr#23752 from adityamandaleeka/arm64_clrww

Enable CLR write watch for ARM64 Windows

Commit migrated from https://github.com/dotnet/coreclr/commit/e8d57987ab738ebaca78b78004a0c6f8b6f373d2

5 years agoBlock the hoisting of TYP_STRUCT rvalues in loop hoisting
Brian Sullivan [Thu, 4 Apr 2019 20:42:27 +0000 (13:42 -0700)]
Block the hoisting of TYP_STRUCT rvalues in loop hoisting
Added test case GitHub_23739.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/b87e6349c47b416e571ca905539ea3f6e0554ec7

5 years agoMerge pull request dotnet/coreclr#23814 from sandreenko/disableSystemIOTestsCorefx
Sergey Andreenko [Mon, 8 Apr 2019 22:06:52 +0000 (15:06 -0700)]
Merge pull request dotnet/coreclr#23814 from sandreenko/disableSystemIOTestsCorefx

Diable CoreFX System.IO.Tests.dll on windows arm64.

Commit migrated from https://github.com/dotnet/coreclr/commit/f5ffe43432409f0bae70aaaf783ebcf72a671387

5 years agoMerge pull request dotnet/coreclr#23251 from mjsabby/largePagesInGC
Jan Vorlicek [Mon, 8 Apr 2019 20:48:20 +0000 (22:48 +0200)]
Merge pull request dotnet/coreclr#23251 from mjsabby/largePagesInGC

Add Large pages support in GC

Commit migrated from https://github.com/dotnet/coreclr/commit/187410154a323024938a3281fb5a49f5e59ec350

5 years agoMerge pull request dotnet/coreclr#23819 from safern/merge-master-nullable
Santiago Fernandez Madero [Mon, 8 Apr 2019 19:31:44 +0000 (12:31 -0700)]
Merge pull request dotnet/coreclr#23819 from safern/merge-master-nullable

Merge master into nullable feature

Commit migrated from https://github.com/dotnet/coreclr/commit/cc99fabd6b817d17d4a2164c6d2cf32e66e83da4

5 years agoMerge pull request dotnet/coreclr#23813 from wtgodbe/PrevAgain
William Godbe [Mon, 8 Apr 2019 19:04:16 +0000 (12:04 -0700)]
Merge pull request dotnet/coreclr#23813 from wtgodbe/PrevAgain

Re-update branding to preview5

Commit migrated from https://github.com/dotnet/coreclr/commit/09dfeb48a03556898bce2153cf05687816bd7eeb

5 years agoRemove the MultiFileSec option from EventPipe. (dotnet/coreclr#23777)
José Rivero [Mon, 8 Apr 2019 18:54:19 +0000 (11:54 -0700)]
Remove the MultiFileSec option from EventPipe. (dotnet/coreclr#23777)

This option was a pseudo mechanism to fake "streaming" events out-of-proc.
The idea was to have EventPipe creating files every N seconds, with event data up to that point. Thus, external processes could read these files in an attempt to get "read-time" data.
Now, we actually have streaming of event through IPC channels, so this option is not needed.

Commit migrated from https://github.com/dotnet/coreclr/commit/2ab76fe4fb75af98f470650c939f79c569c729a3

5 years agoFix build errors with new compiler
Santiago Fernandez Madero [Mon, 8 Apr 2019 18:51:45 +0000 (11:51 -0700)]
Fix build errors with new compiler

Commit migrated from https://github.com/dotnet/coreclr/commit/a6f3bedb00f551190fa14c35108cf49143adde4b

5 years agoMerge remote-tracking branch 'dotnet/master' into merge-master-nullable
Santiago Fernandez Madero [Mon, 8 Apr 2019 18:23:46 +0000 (11:23 -0700)]
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable

Commit migrated from https://github.com/dotnet/coreclr/commit/85fca352a7a125902fb36bcc7f917bc568029687

5 years agoMerge pull request dotnet/coreclr#23715 from BruceForstall/FixArmStackProbing
Bruce Forstall [Mon, 8 Apr 2019 18:13:09 +0000 (11:13 -0700)]
Merge pull request dotnet/coreclr#23715 from BruceForstall/FixArmStackProbing

Fix ARM32/ARM64 large frame stack probing

Commit migrated from https://github.com/dotnet/coreclr/commit/d40a6ac7efe52dc589936fd815210f7290f3fb68

5 years agoAdd Large pages support in GC
Mukul Sabharwal [Fri, 29 Mar 2019 04:33:24 +0000 (21:33 -0700)]
Add Large pages support in GC

Commit migrated from https://github.com/dotnet/coreclr/commit/d33f73f69051d2861454081bb3211615413d8ed0

5 years agoDiable CoreFX System.IO.Tests.dll on windows arm64.
Sergey Andreenko [Mon, 8 Apr 2019 16:34:05 +0000 (09:34 -0700)]
Diable CoreFX System.IO.Tests.dll on windows arm64.

Commit migrated from https://github.com/dotnet/coreclr/commit/b6113c8ad2125f64f4a6b20b572b2ff9aa7763b0

5 years agoMerge pull request dotnet/coreclr#23801 from sergiy-k/enabler2rtestingonunix
Sergiy Kuryata [Mon, 8 Apr 2019 15:07:07 +0000 (08:07 -0700)]
Merge pull request dotnet/coreclr#23801 from sergiy-k/enabler2rtestingonunix

Enable running tests in the ReadyToRun mode on Linux on OSX

Commit migrated from https://github.com/dotnet/coreclr/commit/0d581c79f0b40bd43ad3eb62574bfe78a665fe80

5 years agoMerge pull request dotnet/coreclr#23605 from franksinankaya/gcc_cleanup_17
Jan Vorlicek [Mon, 8 Apr 2019 11:24:35 +0000 (13:24 +0200)]
Merge pull request dotnet/coreclr#23605 from franksinankaya/gcc_cleanup_17

Fix conversion warning

Commit migrated from https://github.com/dotnet/coreclr/commit/9a465e4560db2a6efc711a40a940d3a6eaaf4784

5 years agoAllow reabstraction of default interface methods (dotnet/coreclr#23313)
Michal Strehovský [Mon, 8 Apr 2019 11:14:39 +0000 (13:14 +0200)]
Allow reabstraction of default interface methods (dotnet/coreclr#23313)

Allow the runtime to load types with incomplete interface implementations. With this change, we allow (in pseudo-C#):

```csharp
interface IFoo { void Frob() { } }
interface IBar : IFoo { abstract void IFoo.Frob() }
class Fooer : IBar { }
```

Calling IFoo.Frob on an instance of `Fooer` will result in new exception being thrown because the default implementation of `IFoo.Frob` was re-abstracted by `IBar`.

Commit migrated from https://github.com/dotnet/coreclr/commit/24c92a5939002ecbadefbc5f93c2c8cc371d8b72

5 years agoUpdate CoreClr to preview5-27607-72 (dotnet/coreclr#23799)
dotnet-maestro-bot [Mon, 8 Apr 2019 03:22:20 +0000 (20:22 -0700)]
Update CoreClr to preview5-27607-72 (dotnet/coreclr#23799)

Commit migrated from https://github.com/dotnet/coreclr/commit/67e8c9ba99ea32339e2df59d9615a88851fa6dc7

5 years agoEnable running tests in the ReadyToRun mode on Linux on OSX
Sergiy Kuryata [Sun, 7 Apr 2019 23:12:20 +0000 (16:12 -0700)]
Enable running tests in the ReadyToRun mode on Linux on OSX

Commit migrated from https://github.com/dotnet/coreclr/commit/2f3a83e141314852f25ae0823bbf5227ed7e9619

5 years agoAdd Alpine.38.Arm64.Open Helix queue
Egor Chesakov [Wed, 3 Apr 2019 21:33:52 +0000 (14:33 -0700)]
Add Alpine.38.Arm64.Open Helix queue

Commit migrated from https://github.com/dotnet/coreclr/commit/56043b6c896417e792e64a69692fed3251ed3adc

5 years agoUpdate image coreclr uses for arm64 musl crossbuild
Egor Chesakov [Wed, 3 Apr 2019 21:30:58 +0000 (14:30 -0700)]
Update image coreclr uses for arm64 musl crossbuild

Commit migrated from https://github.com/dotnet/coreclr/commit/443b035da14cf9281264a473b1e52561ead68c66

5 years agoFix two new nullable warnings with latest compiler
Stephen Toub [Sun, 7 Apr 2019 00:17:57 +0000 (20:17 -0400)]
Fix two new nullable warnings with latest compiler

Commit migrated from https://github.com/dotnet/coreclr/commit/71b9c5cdb1160bdafe8e09a9a0f5670e0988dea5

5 years agoUpdate BuildTools, CoreClr to preview4-03906-01, preview5-27606-71, respectively
dotnet-maestro-bot [Sat, 6 Apr 2019 17:00:48 +0000 (10:00 -0700)]
Update BuildTools, CoreClr to preview4-03906-01, preview5-27606-71, respectively

Commit migrated from https://github.com/dotnet/coreclr/commit/e11818cd5c25a256a0b85a4a686ed64dc0c8462a

5 years agoMerge pull request dotnet/coreclr#23775 from sandreenko/reenableFixedCoreFX
Sergey Andreenko [Sun, 7 Apr 2019 04:00:29 +0000 (21:00 -0700)]
Merge pull request dotnet/coreclr#23775 from sandreenko/reenableFixedCoreFX

Reenable System.Runtime.Tests. for arm64.

Commit migrated from https://github.com/dotnet/coreclr/commit/6a6b5b358034ec08e5f2d83a6d561813beb32019

5 years agoNormalize directory separators before calling LoadLibrary (dotnet/coreclr#23776)
Jeremy Koritzinsky [Sun, 7 Apr 2019 00:47:13 +0000 (17:47 -0700)]
Normalize directory separators before calling LoadLibrary (dotnet/coreclr#23776)

* Normalize directory separators when loading native library via ALC.LoadUnmanagedDllFromPath

Commit migrated from https://github.com/dotnet/coreclr/commit/5c94ba16ee00316548b2199ae8435b43e0f31894

5 years agoRemove remaining devdocs and cleanup ComponentModel code (dotnet/coreclr#23175)
Hugh Bellamy [Sun, 7 Apr 2019 00:17:01 +0000 (01:17 +0100)]
Remove remaining devdocs and cleanup ComponentModel code (dotnet/coreclr#23175)

* Remove remaining devdocs and cleanup ComponentModel code

Commit migrated from https://github.com/dotnet/coreclr/commit/1f1801ff0d983bbedea00fca3b8ecc674eaddc13

5 years agoMerge pull request dotnet/coreclr#23781 from sergiy-k/addcrossgenforcoreroot1
Sergiy Kuryata [Sat, 6 Apr 2019 18:36:31 +0000 (11:36 -0700)]
Merge pull request dotnet/coreclr#23781 from sergiy-k/addcrossgenforcoreroot1

Add crossgen option to build-test.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/aea7846fc71591739e47c65c0632007bff1cc4a4

5 years ago[master] Update dependencies from dotnet/corefx (dotnet/coreclr#23785)
dotnet-maestro[bot] [Sat, 6 Apr 2019 18:06:17 +0000 (11:06 -0700)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#23785)

* Update dependencies from https://github.com/dotnet/corefx build 20190405.9

- Microsoft.NETCore.Platforms - 3.0.0-preview5.19205.9
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview5.19205.9

*  System.Data.DataSetExtensions is not a package anymore

Commit migrated from https://github.com/dotnet/coreclr/commit/0baad90379f4ae018afd347fbdfde6bc0fda4a50

5 years agoMake GCToOSInterface::FlushProcessWriteBuffers use MEMBARRIER_CMD_PRIVATE_EXPEDITED...
Vladimir Sadov [Sat, 6 Apr 2019 13:34:12 +0000 (06:34 -0700)]
Make  GCToOSInterface::FlushProcessWriteBuffers use MEMBARRIER_CMD_PRIVATE_EXPEDITED if available (dotnet/coreclr#23778)

Basically a port of  https://github.com/dotnet/coreclr/pull/20949   to  GCToOSInterface

Commit migrated from https://github.com/dotnet/coreclr/commit/2c6c6c9ffe6ef40320dfce3c6e53e953485f21a6

5 years agoUpdate CoreClr to preview5-27605-73 (dotnet/coreclr#23782)
dotnet-maestro-bot [Sat, 6 Apr 2019 13:31:53 +0000 (06:31 -0700)]
Update CoreClr to preview5-27605-73 (dotnet/coreclr#23782)

Commit migrated from https://github.com/dotnet/coreclr/commit/69c8a7360090086c787ce8b9a9a865b0f0331ef9

5 years agoNullable: System.Text (dotnet/coreclr#23708)
Krzysztof Wicher [Sat, 6 Apr 2019 03:32:16 +0000 (20:32 -0700)]
Nullable: System.Text (dotnet/coreclr#23708)

* Nullable: System.Text

* apply feedback

* simplify second enc.Clone() call

Commit migrated from https://github.com/dotnet/coreclr/commit/56f0755e85a9f2b721a71b415cd9d589761a8f33

5 years agoMatch PtrToStringUTF8 to the other PtrToString* families. (dotnet/coreclr#23731)
Jeremy Koritzinsky [Sat, 6 Apr 2019 03:23:36 +0000 (20:23 -0700)]
Match PtrToStringUTF8 to the other PtrToString* families. (dotnet/coreclr#23731)

* Match PtrToStringUTF8 to the other PtrToString* families.

* Make PtrToString*(IntPtr,int) exceptions consistent.

* Exclude out-of-date tests in CoreFX.

* Update exclusions to cover tests that are now throwing ArgumentOutOfRangeExceptions instead of ArgumentExceptions.

* Fix parameter order for exception.

* Pass value to exception.

Commit migrated from https://github.com/dotnet/coreclr/commit/652ff3c4b94a96a293788d321a036b236be46aef

5 years agoFix typo in Buffer.BlockCopy (dotnet/coreclr#23636)
Egor Bogatov [Sat, 6 Apr 2019 01:48:16 +0000 (04:48 +0300)]
Fix typo in Buffer.BlockCopy (dotnet/coreclr#23636)

Commit migrated from https://github.com/dotnet/coreclr/commit/10998b4750af123d81b18c5b68b687027fec2bf9

5 years agoFix broken links (dotnet/coreclr#23748)
Gergely Kalapos [Sat, 6 Apr 2019 01:47:18 +0000 (03:47 +0200)]
Fix broken links (dotnet/coreclr#23748)

Commit migrated from https://github.com/dotnet/coreclr/commit/f4e2a3d123ad0f9532eecab1526030aa064fc403

5 years agoAdd crossgen option to build-test.sh
Sergiy Kuryata [Sat, 6 Apr 2019 00:55:42 +0000 (17:55 -0700)]
Add crossgen option to build-test.sh
This option will cause the script to call crossgen to precompile the
managed assemblies in CORE_ROOT after generating layout.
Most of this code has been transferred from tests/bringup_runtest.sh.

Commit migrated from https://github.com/dotnet/coreclr/commit/681cf04646ae1ef50d1c33f52f515ac2ddcb159c

5 years agoWIP Fix ARM32/ARM64 large frame stack probing
Bruce Forstall [Thu, 4 Apr 2019 06:23:39 +0000 (23:23 -0700)]
WIP Fix ARM32/ARM64 large frame stack probing

Commit migrated from https://github.com/dotnet/coreclr/commit/5c4ad70ed7bcc178122d02f75f136841a329f16e

5 years agoFedora.28.Amd64 queue is dead. Use container instead (dotnet/coreclr#23765)
Tomas Weinfurt [Fri, 5 Apr 2019 22:56:21 +0000 (15:56 -0700)]
Fedora.28.Amd64 queue is dead. Use container instead (dotnet/coreclr#23765)

* Fedora.28.Amd64 queue is dead. Use container instead

* udpate ubuntu to Ubuntu

* do not escape () as rest of the coreclr does not do it either.

Commit migrated from https://github.com/dotnet/coreclr/commit/76a60f410e9703c3350c8fc26c6f5ba077a01743

5 years agoNullable: System.Runtime.InteropServices.Marshal (dotnet/coreclr#23699)
Tanner Gooding [Fri, 5 Apr 2019 22:22:59 +0000 (15:22 -0700)]
Nullable: System.Runtime.InteropServices.Marshal (dotnet/coreclr#23699)

* Nullable: System.Runtime.InteropServices.Marshal

* Fixing the nullable annotations for BindToMoniker and GetObjectForIUnknown

* Fixing the nullability of PtrToStringAuto(IntPtr, int)

Commit migrated from https://github.com/dotnet/coreclr/commit/76781ba898889046269210d092fe7dda4a2b6e08

5 years agoReenable System.Runtime.Tests. for arm64.
Sergey Andreenko [Fri, 5 Apr 2019 22:14:42 +0000 (15:14 -0700)]
Reenable System.Runtime.Tests. for arm64.

Commit migrated from https://github.com/dotnet/coreclr/commit/a736b73b066074483f61e003eaa92c7ad01b16c6

5 years agoMerge pull request dotnet/coreclr#23728 from briansull/FixConstByref
Brian Sullivan [Fri, 5 Apr 2019 21:48:13 +0000 (14:48 -0700)]
Merge pull request dotnet/coreclr#23728 from briansull/FixConstByref

Fix for Issue dotnet/coreclr#23538

Commit migrated from https://github.com/dotnet/coreclr/commit/d7172e0c76c6c1b3619f6a49686e592becf47b03

5 years agoMerge pull request dotnet/coreclr#23770 from wtgodbe/Preview5
William Godbe [Fri, 5 Apr 2019 21:46:53 +0000 (14:46 -0700)]
Merge pull request dotnet/coreclr#23770 from wtgodbe/Preview5

Update branding to preview5

Commit migrated from https://github.com/dotnet/coreclr/commit/7ed4fac2ecb73fca7c8132cefeb5aba96cf0b7ae

5 years agoReplacing some calls to GetThread with an inlined version (dotnet/coreclr#23771)
Fadi Hanna [Fri, 5 Apr 2019 21:46:02 +0000 (14:46 -0700)]
Replacing some calls to GetThread with an inlined version (dotnet/coreclr#23771)

Commit migrated from https://github.com/dotnet/coreclr/commit/a322c96a210fddd761d71ef88ff87e3edde43eac

5 years agoWhitespace (dotnet/coreclr#23772)
Steve MacLean [Fri, 5 Apr 2019 21:10:09 +0000 (17:10 -0400)]
Whitespace (dotnet/coreclr#23772)

Commit migrated from https://github.com/dotnet/coreclr/commit/f46748f4951d06889886324d2174922cd0e48810

5 years agoFix rounding to UINT32_MAX (dotnet/coreclr#23764)
Ludovic Henry [Fri, 5 Apr 2019 21:07:57 +0000 (14:07 -0700)]
Fix rounding to UINT32_MAX (dotnet/coreclr#23764)

In case you would have UINT32_MAX - 1 CPUs, you would round up to return UINT32_MAX CPUs.

Commit migrated from https://github.com/dotnet/coreclr/commit/98d2b480ff9fc207f568ed2ac8dcbcb7c9d6a719

5 years agoFix issue 23713: handle TypeDesc field handles (dotnet/coreclr#23767)
Fadi Hanna [Fri, 5 Apr 2019 21:05:17 +0000 (14:05 -0700)]
Fix issue 23713: handle TypeDesc field handles (dotnet/coreclr#23767)

Commit migrated from https://github.com/dotnet/coreclr/commit/5b9db5fcd995b52fda09aff38ae42e75f48f8dfa

5 years agoUpdate CoreClr to preview4-27605-71 (dotnet/coreclr#23710)
dotnet-maestro-bot [Fri, 5 Apr 2019 21:04:30 +0000 (14:04 -0700)]
Update CoreClr to preview4-27605-71 (dotnet/coreclr#23710)

Commit migrated from https://github.com/dotnet/coreclr/commit/5888a2b78324aa9bf5cf85f766b51092077a8626

5 years agoUpdate the JIT to recognize the IsSupported property for all HWIntrinsics (dotnet...
Tanner Gooding [Fri, 5 Apr 2019 20:58:18 +0000 (13:58 -0700)]
Update the JIT to recognize the IsSupported property for all HWIntrinsics (dotnet/coreclr#23751)

* Moving some JITDUMP calls into Compiler::lookupNamedIntrinsic

* Marking the IsSupported methods as Intrinsic for all HWIntrinsic ISAs

* Updating the hwintrinsic importation to more generally handle IsSupported and ThrowPNSE

* Applying formatting patch.

* Adding using System.Runtime.CompilerServices to the various x86 PlatformNotSupported HWIntrinsic files

Commit migrated from https://github.com/dotnet/coreclr/commit/1b4d7c77d3e9d1a67ffa354a63692ecc07553b5c