platform/upstream/dotnet/runtime.git
5 years agoFix build errors from merge conflicts and compiler update
Santiago Fernandez Madero [Mon, 15 Apr 2019 18:25:36 +0000 (11:25 -0700)]
Fix build errors from merge conflicts and compiler update

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

5 years agoMerge remote-tracking branch 'dotnet/master' into merge-master-nullable
Santiago Fernandez Madero [Mon, 15 Apr 2019 17:46:25 +0000 (10:46 -0700)]
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable

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

5 years agoUpdate CoreClr to preview5-27615-71 (dotnet/coreclr#23991)
dotnet-maestro-bot [Mon, 15 Apr 2019 16:39:47 +0000 (09:39 -0700)]
Update CoreClr to preview5-27615-71 (dotnet/coreclr#23991)

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

5 years agoimprove entropy (dotnet/coreclr#23591)
Marco Rossignoli [Mon, 15 Apr 2019 03:01:31 +0000 (05:01 +0200)]
improve entropy (dotnet/coreclr#23591)

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

5 years agoUpdate CoreClr to preview5-27614-72 (dotnet/coreclr#23985)
dotnet-maestro-bot [Mon, 15 Apr 2019 02:51:06 +0000 (19:51 -0700)]
Update CoreClr to preview5-27614-72 (dotnet/coreclr#23985)

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

5 years agoFix a few internal nullable annotations and comments (dotnet/coreclr#23987)
Stephen Toub [Mon, 15 Apr 2019 02:50:55 +0000 (22:50 -0400)]
Fix a few internal nullable annotations and comments (dotnet/coreclr#23987)

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

5 years agoFix typo in environment variable name - profiler loading doc (dotnet/coreclr#23983)
Gergely Kalapos [Mon, 15 Apr 2019 02:44:53 +0000 (04:44 +0200)]
Fix typo in environment variable name - profiler loading doc (dotnet/coreclr#23983)

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

5 years agoNullable: System.Runtime.InteropServices.CustomMarshalers/WindowsRuntime (dotnet...
Stephen Toub [Mon, 15 Apr 2019 01:29:22 +0000 (21:29 -0400)]
Nullable: System.Runtime.InteropServices.CustomMarshalers/WindowsRuntime (dotnet/coreclr#23930)

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

5 years agoRemove unused offset calculation (dotnet/coreclr#23793)
Raz Friman [Mon, 15 Apr 2019 01:29:10 +0000 (11:29 +1000)]
Remove unused offset calculation (dotnet/coreclr#23793)

Utf8Parser has a redundant calculation of date time offset.

Fix dotnet/coreclr#21834

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

5 years agoRemove old method names from Rune (dotnet/coreclr#23938)
Levi Broderick [Mon, 15 Apr 2019 01:26:05 +0000 (18:26 -0700)]
Remove old method names from Rune (dotnet/coreclr#23938)

* Remove old method names from Rune, reenable suppressed tests

* Revert re-enablement of failing ArraySegment tests

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

5 years agoUpdate CoreClr to preview5-27614-71 (dotnet/coreclr#23978)
dotnet-maestro-bot [Sun, 14 Apr 2019 20:49:39 +0000 (13:49 -0700)]
Update CoreClr to preview5-27614-71 (dotnet/coreclr#23978)

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

5 years agoFix broken new lines (dotnet/coreclr#23979)
Gergely Kalapos [Sun, 14 Apr 2019 17:16:24 +0000 (19:16 +0200)]
Fix broken new lines (dotnet/coreclr#23979)

These files don't render correctly on github due to broken new lines - fixing it. Only new line characters replaced, nothing else touched.

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

5 years agoMove GCMemoryInfo to shared partition
Jan Kotas [Sun, 14 Apr 2019 04:54:08 +0000 (21:54 -0700)]
Move GCMemoryInfo to shared partition

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

5 years agoFix AssemblyName regression
Jan Kotas [Sat, 13 Apr 2019 21:10:26 +0000 (14:10 -0700)]
Fix AssemblyName regression

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

5 years agoMove GCMemoryInfo to shared partition
Jan Kotas [Sat, 13 Apr 2019 16:36:03 +0000 (09:36 -0700)]
Move GCMemoryInfo to shared partition

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

5 years agoUpdate BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, respectively...
dotnet-maestro-bot [Sun, 14 Apr 2019 03:18:15 +0000 (20:18 -0700)]
Update BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, respectively (master) (dotnet/coreclr#23916)

* Update BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, respectively

* Fix nullable build errors

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

5 years agoDelete unused AssemblyName._hashForControl and related code (dotnet/coreclr#23972)
Jan Kotas [Sun, 14 Apr 2019 03:15:48 +0000 (20:15 -0700)]
Delete unused AssemblyName._hashForControl and related code (dotnet/coreclr#23972)

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

5 years agoEnterContextualReflection handle null (dotnet/coreclr#23953)
Steve MacLean [Sat, 13 Apr 2019 23:03:56 +0000 (19:03 -0400)]
EnterContextualReflection handle null (dotnet/coreclr#23953)

* EnterContextualReflection handle null

* Add ContextualReflection MockAssembly test

* Fix ContextualReflection typo

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

5 years agoUse xUnit TestOutputHelper to get proper test output in Azure DevOps Tests Explorer...
Egor Chesakov [Sat, 13 Apr 2019 19:09:53 +0000 (12:09 -0700)]
Use xUnit TestOutputHelper to get proper test output in Azure DevOps Tests Explorer (dotnet/coreclr#23957)

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

5 years agoDelete outdated comment (dotnet/coreclr#23967)
Jan Kotas [Sat, 13 Apr 2019 19:07:09 +0000 (12:07 -0700)]
Delete outdated comment (dotnet/coreclr#23967)

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

5 years agoRemove unnecessary ThrowIfCreated call (dotnet/coreclr#23839)
Next Turn [Sat, 13 Apr 2019 19:06:35 +0000 (03:06 +0800)]
Remove unnecessary ThrowIfCreated call (dotnet/coreclr#23839)

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

5 years agoFix ARM's genPutArgStk codegen (dotnet/coreclr#23867)
mikedn [Sat, 13 Apr 2019 17:39:20 +0000 (20:39 +0300)]
Fix ARM's genPutArgStk codegen (dotnet/coreclr#23867)

* Fix ARM's genPutArgStk codegen

When the OBJ node wraps a LCL_VAR node the code uses the type information (struct size, GC layout) from LclVarDsc. This is not always correct because the OBJ may actually have a different struct type due to type reinterpretation (e.g. Unsafe.As<X, Y>).

* Fix genPutArgStk comment

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

5 years agoMerge pull request dotnet/coreclr#23948 from BruceForstall/Fix23920
Bruce Forstall [Sat, 13 Apr 2019 17:34:26 +0000 (10:34 -0700)]
Merge pull request dotnet/coreclr#23948 from BruceForstall/Fix23920

Update maximum allowed arm prolog size

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

5 years agoMove DateTime Windows implementation to shared CoreLib (dotnet/coreclr#23888)
Filip Navara [Sat, 13 Apr 2019 15:17:04 +0000 (17:17 +0200)]
Move DateTime Windows implementation to shared CoreLib (dotnet/coreclr#23888)

* Move DateTime Windows implementation to shared CoreLib

* Make all the BOOL/struct marshalling explicit

* internal -> private

* Use unsafe code on all layers, remove unnecessary fixed blocks

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

5 years agoDelete outdated comment
Jan Kotas [Sat, 13 Apr 2019 15:13:04 +0000 (08:13 -0700)]
Delete outdated comment

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

5 years agoDelete COMPlus_FinalizeOnShutdown (dotnet/coreclr#23595)
Jan Kotas [Sat, 13 Apr 2019 15:09:31 +0000 (08:09 -0700)]
Delete COMPlus_FinalizeOnShutdown (dotnet/coreclr#23595)

This compat quirk is increasingly more broken since the framework is generally not compatible with, and we have not heard anybody actually using it.

Changed Environment.HasShutdownStarted to unconditionally return false. It does not make sense for it to ever return true with shutdown finalization disabled.

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

5 years agoNullable: src\System\Runtime\InteropServices (dotnet/coreclr#23936)
Stephen Toub [Sat, 13 Apr 2019 04:42:33 +0000 (00:42 -0400)]
Nullable: src\System\Runtime\InteropServices (dotnet/coreclr#23936)

* Nullable: src\System\Runtime\InteropServices

* Address PR feedback

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

5 years agoExclude ResolveEventTests.cmd and CallbackTests.cmd on Windows_NT x86 (dotnet/coreclr...
Egor Chesakov [Sat, 13 Apr 2019 01:09:41 +0000 (18:09 -0700)]
Exclude ResolveEventTests.cmd and CallbackTests.cmd on Windows_NT x86 (dotnet/coreclr#23942)

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

5 years agoMerge pull request dotnet/coreclr#23935 from BruceForstall/FixArm64LargeOutgoingWithL...
Bruce Forstall [Sat, 13 Apr 2019 01:04:41 +0000 (18:04 -0700)]
Merge pull request dotnet/coreclr#23935 from BruceForstall/FixArm64LargeOutgoingWithLocalloc

Fix arm64 localloc with large outgoing argument space

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

5 years agoFix EventPipe IPC streaming (dotnet/coreclr#23768)
Sung Yoon Whang [Sat, 13 Apr 2019 00:11:49 +0000 (17:11 -0700)]
Fix EventPipe IPC streaming (dotnet/coreclr#23768)

* Make events stream out faster when we are doing IPC

* Block size should be less during IPC session

* Modify some comments

* Address PR feedback

* more pr feedback

* Fix high volume scenario

* Fix flush

* cleanup

* Only flush when we have buffers written

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

5 years agoNullable: Enums, Structures from Reflection folder (dotnet/coreclr#23933)
buyaa-n [Sat, 13 Apr 2019 00:00:35 +0000 (17:00 -0700)]
Nullable: Enums, Structures from Reflection folder (dotnet/coreclr#23933)

* Nullable: Enums, Structures from Reflection

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

5 years agoFix x86 stack probing (dotnet/coreclr#23881)
Bruce Forstall [Fri, 12 Apr 2019 23:54:55 +0000 (16:54 -0700)]
Fix x86 stack probing (dotnet/coreclr#23881)

* Fix x86 stack probing

On x86, structs are passed by value on the stack. We copy structs
to the stack in various ways, but one way is to first subtract the
size of the struct and then use a "rep movsb" instruction. If the
struct we are passing is sufficiently large, this can cause us to
miss the stack guard page.

So, introduce stack probes for these struct copies.

It turns out the stack pointer after prolog probing can be sitting
near the very end of the guard page (one `STACK_ALIGN` slot before
the end, which allows a "call" instruction which pushes its
return address to touch the guard page with the return address push).
We don't want to probe with every argument push, though. So change
the prolog probing to insert an "extra" touch at the final SP location
if the previous touch was "too far" away, leaving at least some
buffer zone for un-probed SP adjustments. I chose this to be the
size of the largest SIMD register, which also can get copied to the
argument stack with a "SUB;MOV" sequence.

Added several test case variations showing different large stack
probe situations.

Fixes dotnet/coreclr#23796

* Increase the argument size probe buffer

* Formatting

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

5 years ago[master] Update dependencies from dotnet/corefx (dotnet/coreclr#23893)
dotnet-maestro[bot] [Fri, 12 Apr 2019 23:40:50 +0000 (16:40 -0700)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#23893)

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

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

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

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

* Removing renamed HWIntrinsic APIs from S.P.Corelib

* Updating the hwintrinsiclistxarch to match the new intrinsic API names

* Updating the HWIntrinsic generated tests to use the new API names

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

5 years agoAdd R2R prefix to TestRunNamePrefix when running ReadyToRun jobs (dotnet/coreclr...
Egor Chesakov [Fri, 12 Apr 2019 23:33:54 +0000 (16:33 -0700)]
Add R2R prefix to TestRunNamePrefix when running ReadyToRun jobs (dotnet/coreclr#23945)

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

5 years agoMerge pull request dotnet/coreclr#23911 from safern/merge-master-nullable
Santiago Fernandez Madero [Fri, 12 Apr 2019 23:17:54 +0000 (16:17 -0700)]
Merge pull request dotnet/coreclr#23911 from safern/merge-master-nullable

Merge master into nullable branch

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

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 OSX debugging (dotnet/coreclr#23924)
Jan Vorlicek [Fri, 12 Apr 2019 21:55:07 +0000 (23:55 +0200)]
Fix OSX debugging (dotnet/coreclr#23924)

A recent change has incorrectly added dependency on libcoreclrpal.a to
libutilcodenohost.a. This in turn, due to the transitive propagation of
dependencies, caused the libmscordbi to be linked with libcoreclrpal.a.
So libmscordbi contained its own PAL after that change, which is wrong.
libmscordbi should depend on PAL APIs through libmscordaccore that
exports the symbols it needs for it in order to keep just one PAL in the
process.

The fix is to remove the libcoreclrpal.a dependency and export few
new symbols from libmscordaccore instead.

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

5 years agoFix DIM Test to run on mono (dotnet/coreclr#23870)
Thays Grazia [Fri, 12 Apr 2019 21:49:26 +0000 (18:49 -0300)]
Fix DIM Test to run on mono (dotnet/coreclr#23870)

Changing the test to run on runtimes that supports lookups with runtime determined boxing and on runtimes that doesn't support.

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

5 years agoDisplay the arm instruction size
Bruce Forstall [Fri, 12 Apr 2019 20:19:14 +0000 (13:19 -0700)]
Display the arm instruction size

When dumping an arm instruction, and when we don't have the actual
code bytes (such as during code generation, as opposed to emission),
display the (current) instruction size, either 2 bytes (2B),
4 bytes (4B), or 6 bytes (6B).

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

5 years agoUpdate maximum allowed arm prolog size
Bruce Forstall [Fri, 12 Apr 2019 20:15:42 +0000 (13:15 -0700)]
Update maximum allowed arm prolog size

Change dotnet/coreclr#23715 changed the localloc stack probe loop to load a
negative constant instead of zero to start the probing loop.
This increased the size of the probing loop, and hence the
size of the maximum prolog, by 4 bytes. Bump the assert on
the maximum size to match.

Note that as the comment says, the maximum size there is not
actually a maximum (it was originally), it is just to alert
us when the maximum generated prolog size has gone up.

Fixes dotnet/coreclr#23920

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

5 years agoDon't Free UpperVector (dotnet/coreclr#23889)
Carol Eidt [Fri, 12 Apr 2019 18:31:55 +0000 (11:31 -0700)]
Don't Free UpperVector (dotnet/coreclr#23889)

* Don't Free UpperVector

UpperVector regs are freed at their time of use, and shouldn't be freed when the last RefPosition is encountered.
Also, we need to specify all 3 operands for vinsertf128

Fix dotnet/coreclr#23861
Fix dotnet/coreclr#23904
Fix dotnet/coreclr#23804

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

5 years agoFix arm64 localloc with large outgoing argument space
Bruce Forstall [Fri, 12 Apr 2019 17:50:56 +0000 (10:50 -0700)]
Fix arm64 localloc with large outgoing argument space

With a large outgoing argument space, we were attempting to
generate un-encodable ADD and SUB instructions. Call an existing
helper instead that uses the reserved register when needed to
load large constants into a register.

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

5 years agoConsolidate duplicate assignment (dotnet/coreclr#23923)
bdebaere [Fri, 12 Apr 2019 16:29:44 +0000 (18:29 +0200)]
Consolidate duplicate assignment (dotnet/coreclr#23923)

* Consolidate duplicate assignment.

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

5 years agoMerge pull request dotnet/coreclr#23900 from sergiy-k/fixcrossarchr2r1
Sergiy Kuryata [Fri, 12 Apr 2019 16:00:04 +0000 (09:00 -0700)]
Merge pull request dotnet/coreclr#23900 from sergiy-k/fixcrossarchr2r1

Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64

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

5 years agoNullable System.ComponentModel, System.Diagnostics.CodeAnalysis, System.Diagnostics...
Anirudh Agnihotry [Fri, 12 Apr 2019 14:29:33 +0000 (07:29 -0700)]
Nullable System.ComponentModel, System.Diagnostics.CodeAnalysis, System.Diagnostics.Contracts (dotnet/coreclr#23910)

* Nullable System.ComponentModel, System.Diagnostics.CodeAnalysis, System.Diagnostics.Contracts

* Address PR feedback

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

5 years agoNullable: Runtime serialization, COM, Vector, remaining IO, and other (dotnet/coreclr...
Stephen Toub [Fri, 12 Apr 2019 14:08:38 +0000 (10:08 -0400)]
Nullable: Runtime serialization, COM, Vector, remaining IO, and other (dotnet/coreclr#23895)

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

5 years agoNullable: System.Runtime.CompilerServices (dotnet/coreclr#23886)
Stephen Toub [Fri, 12 Apr 2019 14:04:45 +0000 (10:04 -0400)]
Nullable: System.Runtime.CompilerServices (dotnet/coreclr#23886)

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

5 years agoNullable: Globalization native interop + some missing files (dotnet/coreclr#23914)
Krzysztof Wicher [Fri, 12 Apr 2019 13:42:31 +0000 (06:42 -0700)]
Nullable: Globalization native interop + some missing files (dotnet/coreclr#23914)

* Nullable: globalization native + some missing files

* address feedback

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

5 years agoAdd several links to deep-dive blog posts
Stephen Toub [Fri, 12 Apr 2019 13:39:40 +0000 (09:39 -0400)]
Add several links to deep-dive blog posts

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

5 years agoJIT: update byref null check logic to handle field chains (dotnet/coreclr#23850)
Andy Ayers [Fri, 12 Apr 2019 07:44:39 +0000 (00:44 -0700)]
JIT: update byref null check logic to handle field chains (dotnet/coreclr#23850)

The jit was not properly accumulating offsets when figuring out if a byref
should be null checked.

Use a non-null MorphAddressContext as indication that GT_FIELD and GT_IND
nodes are actually part of an ongoing address computation.

During field morphing propagate the current address context to the child node,
instead of starting a new one.

Fixes dotnet/coreclr#23791.

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

5 years agoEnable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
Sergiy Kuryata [Thu, 11 Apr 2019 16:54:49 +0000 (09:54 -0700)]
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64

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

5 years agoEnable default Ready2Run testing in pull requests. Workaround an issue with custom...
Egor Chesakov [Fri, 12 Apr 2019 05:50:48 +0000 (22:50 -0700)]
Enable default Ready2Run testing in pull requests. Workaround an issue with custom xunit.console.dll runner. (dotnet/coreclr#23848)

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

5 years agoRemove duplicates. (dotnet/coreclr#23922)
bdebaere [Fri, 12 Apr 2019 05:32:56 +0000 (07:32 +0200)]
Remove duplicates. (dotnet/coreclr#23922)

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

5 years agoAdd optimized UTF-8 validation and transcoding apis, hook them up to UTF8Encoding...
Levi Broderick [Fri, 12 Apr 2019 03:50:16 +0000 (20:50 -0700)]
Add optimized UTF-8 validation and transcoding apis, hook them up to UTF8Encoding (dotnet/coreclr#21948)

* Add optimized UTF-8 validation and transcoding logic
- Hook it up through the existing Utf8 public static APIs
- Move some shared methods out of ASCIIUtility
- Hook it up through the Utf8String ctor

* Hook up new UTF-8 logic through UTF8Encoding
- Add vectorized UTF-16 validation and transcoded byte counts
- Move Utf16Utility into Unicode namespace alongside Utf8Utility
- Fix some bugs in DecoderNLS's draining logic

* Improve perf of "is ASCII?" inner loop in UTF-8 validation.

* Remove SSE41.X64 optimization from AsciiUtility
RyuJIT now handles this optimally

* Clarify that vector read is unaligned

* Simplify vectorized logic; remove unnecessary adjustment

* PR feedback: GetElement(0) -> Sse2.StoreLow

* PR feedback
- Simplify CountNumberOfLeadingAsciiBytesFrom24BitInteger
- Extract some consts out to top of file w/ comments

* PR feedback: Enable SSE2 in Utf16Utility code

* Expand masks in Utf8Utility, fix const in fallback path

* Temporarily disable failing CoreFX tests

* Fix incorrect Debug.Assert statements

* Add comments tracking JIT workarounds.

* Rename DWORD -> UInt32 throughout API surface

* Re-flow Utf8Utility.Helpers

* PR feedback: Fix typos

* PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger

* PR feedback: Remove redundant endianess checks

* PR feedback: Validate nint definitions

* PR feedback: Clarify charIsNonAscii vector usage

* PR feedback: document tempUtf8CodeUnitCountAdjustment usage

* Fix compilation failure in Utf16Utility

* PR feedback: Clarify 3-byte sequence processing

* Add missing check to 3-byte processing logic

* Clarify comment in 3-byte processing

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

5 years agoFix Assembly.LoadFromPartialName(string) (dotnet/coreclr#23912)
Steve MacLean [Fri, 12 Apr 2019 03:48:59 +0000 (23:48 -0400)]
Fix Assembly.LoadFromPartialName(string)  (dotnet/coreclr#23912)

Assembly.LoadFromPartialName(string) should not throw FileNotFoundException, but
should rather return null.

ArgumentException should use nameof(partialName)

Fixes dotnet/coreclr#19817

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

5 years agoUpdate Version annotations to match changes in master (dotnet/coreclr#23917)
Stephen Toub [Fri, 12 Apr 2019 02:22:30 +0000 (22:22 -0400)]
Update Version annotations to match changes in master (dotnet/coreclr#23917)

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

5 years agoNullable: System.Diagnostics (dotnet/coreclr#23753)
Anirudh Agnihotry [Fri, 12 Apr 2019 01:07:31 +0000 (18:07 -0700)]
Nullable: System.Diagnostics (dotnet/coreclr#23753)

* added nullable annotation for system.Diagnostics

* fixing build errors with nullableFeature branch

* stephen feedback

* annotating files in the shared folder

* removing newline, correxting message and adding comments

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

5 years agoNullable System.Diagnostics.Store (dotnet/coreclr#23874)
Anirudh Agnihotry [Fri, 12 Apr 2019 01:06:24 +0000 (18:06 -0700)]
Nullable System.Diagnostics.Store (dotnet/coreclr#23874)

* removing using systems and adding nullability for System.Diagnostics.SymbolStore

* annotating the class that implements the internal interface

* adding bang to fix failure

* correcting the byte array declarations

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

5 years agoNullable: Interop.Adavapi32 (dotnet/coreclr#23875)
Anirudh Agnihotry [Fri, 12 Apr 2019 01:05:42 +0000 (18:05 -0700)]
Nullable: Interop.Adavapi32 (dotnet/coreclr#23875)

* interop definations nullified

* reverting null check and adding arguments nullable to match win32 function definations

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

5 years agoUpdate CoreClr to preview5-27611-71 (dotnet/coreclr#23884)
dotnet-maestro-bot [Fri, 12 Apr 2019 00:47:59 +0000 (17:47 -0700)]
Update CoreClr to preview5-27611-71 (dotnet/coreclr#23884)

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

5 years agoFix Version's comparer operators to allow null (dotnet/coreclr#23898)
Stephen Toub [Fri, 12 Apr 2019 00:47:35 +0000 (20:47 -0400)]
Fix Version's comparer operators to allow null (dotnet/coreclr#23898)

Previously for `<`/`<=` it would throw if `v1` argument was null, but for `>`/`>=` would throw if the `v1` argument was null, albeit using `v1` in the exception parameter name.  It's also not expected for comparisons like this to throw, in general.

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

5 years agoFix 23740 (dotnet/coreclr#23906)
Steve MacLean [Fri, 12 Apr 2019 00:28:25 +0000 (20:28 -0400)]
Fix 23740 (dotnet/coreclr#23906)

Adjust AssemblyLoadContextBaseObject packing for
windows arm.

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

5 years agoJIT: fix assert when there are mixed types in Enum.HasFlags optimization (dotnet...
Andy Ayers [Thu, 11 Apr 2019 23:45:30 +0000 (16:45 -0700)]
JIT: fix assert when there are mixed types in Enum.HasFlags optimization (dotnet/coreclr#23902)

In some cases the pre-boxed nodes may differ in type. Bail if they don't have
the same stack type, then compute the result using the stack type.

Extended the hasflags test with a case that shows this issue.

Closes dotnet/coreclr#23847

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

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 agoClarify comment in 3-byte processing
Levi Broderick [Thu, 11 Apr 2019 22:36:47 +0000 (15:36 -0700)]
Clarify comment in 3-byte processing

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

5 years agoAdd missing check to 3-byte processing logic
Levi Broderick [Thu, 11 Apr 2019 22:30:11 +0000 (15:30 -0700)]
Add missing check to 3-byte processing logic

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

5 years agoPR feedback: Clarify 3-byte sequence processing
Levi Broderick [Thu, 11 Apr 2019 20:39:55 +0000 (13:39 -0700)]
PR feedback: Clarify 3-byte sequence processing

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

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 agoFix compilation failure in Utf16Utility
Levi Broderick [Thu, 11 Apr 2019 20:19:21 +0000 (13:19 -0700)]
Fix compilation failure in Utf16Utility

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

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 agoPR feedback: document tempUtf8CodeUnitCountAdjustment usage
Levi Broderick [Thu, 11 Apr 2019 18:48:44 +0000 (11:48 -0700)]
PR feedback: document tempUtf8CodeUnitCountAdjustment usage

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

5 years agoPR feedback: Clarify charIsNonAscii vector usage
Levi Broderick [Thu, 11 Apr 2019 18:37:00 +0000 (11:37 -0700)]
PR feedback: Clarify charIsNonAscii vector usage

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

5 years agoPR feedback: Validate nint definitions
Levi Broderick [Thu, 11 Apr 2019 18:23:53 +0000 (11:23 -0700)]
PR feedback: Validate nint definitions

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

5 years agoPR feedback: Remove redundant endianess checks
Levi Broderick [Thu, 11 Apr 2019 18:14:16 +0000 (11:14 -0700)]
PR feedback: Remove redundant endianess checks

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

5 years agoPR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger
Levi Broderick [Thu, 11 Apr 2019 18:11:49 +0000 (11:11 -0700)]
PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger

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

5 years agoPR feedback: Fix typos
Levi Broderick [Thu, 11 Apr 2019 17:56:34 +0000 (10:56 -0700)]
PR feedback: Fix typos

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

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 agoMerge remote-tracking branch 'origin/master' into utf8_validation_apis_3
Levi Broderick [Thu, 11 Apr 2019 05:56:33 +0000 (22:56 -0700)]
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3

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

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 agoRe-flow Utf8Utility.Helpers
Levi Broderick [Wed, 10 Apr 2019 23:52:48 +0000 (16:52 -0700)]
Re-flow Utf8Utility.Helpers

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

5 years agoRename DWORD -> UInt32 throughout API surface
Levi Broderick [Wed, 10 Apr 2019 23:51:30 +0000 (16:51 -0700)]
Rename DWORD -> UInt32 throughout API surface

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

5 years agoAdd comments tracking JIT workarounds.
Levi Broderick [Wed, 10 Apr 2019 23:47:11 +0000 (16:47 -0700)]
Add comments tracking JIT workarounds.

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

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