platform/upstream/dotnet/runtime.git
5 years agoMoves generic comparers to shared CoreLib (dotnet/coreclr#21649)
Marek Safar [Sun, 30 Dec 2018 07:38:06 +0000 (08:38 +0100)]
Moves generic comparers to shared CoreLib (dotnet/coreclr#21649)

* Moves generic comparer to shared CoreLib

* Keep Index/LastIndexOf optimizations in CoreCLR only

* Moved runtime-specific enum helper to runtime-specific partial type

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

5 years agoSeparate ThreadPool...ThreadLocals get from initalization (dotnet/coreclr#21704)
Ben Adams [Sun, 30 Dec 2018 03:06:16 +0000 (04:06 +0100)]
Separate ThreadPool...ThreadLocals get from initalization (dotnet/coreclr#21704)

* Seperate ThreadPool...ThreadLocals get from initalization

* Assert null

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

5 years agoMove CultureInfo to shared CoreLib (dotnet/coreclr#21672)
Filip Navara [Sat, 29 Dec 2018 14:00:31 +0000 (14:00 +0000)]
Move CultureInfo to shared CoreLib (dotnet/coreclr#21672)

* Move thread CurrentCulture and CurrentUICulture variables to CultureInfo.

* Move CultureInfo to shared CoreLib

* Code style fixes for consistency.

* Fold down APPX code into CultureInfo.CurrentCulture/CurrentUICulture.

* Remove unnecessary parentheses around return statements.

* Remove GetCurrentUICultureNoAppX.

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

5 years agoFix warning causing error in warning as error (Windows) (dotnet/coreclr#21697)
Ben Adams [Sat, 29 Dec 2018 07:08:53 +0000 (08:08 +0100)]
Fix warning causing error in warning as error (Windows) (dotnet/coreclr#21697)

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

5 years agoRemove usages of GetCurrentUICultureNoAppX from ResourceManager (dotnet/coreclr#21691)
Filip Navara [Sat, 29 Dec 2018 04:59:13 +0000 (04:59 +0000)]
Remove usages of GetCurrentUICultureNoAppX from ResourceManager (dotnet/coreclr#21691)

* Remove usages of GetCurrentUICultureNoAppX from ResourceManager to make GetString and GetObject internally consistent. This matches the current behaviour of CoreRT.

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

5 years agoReplace Interop.ReadDir.cs with Interop.ReadDir.cs from System.IO.FileSystem (dotnet...
Egor Bogatov [Fri, 28 Dec 2018 18:58:42 +0000 (21:58 +0300)]
Replace Interop.ReadDir.cs with Interop.ReadDir.cs from System.IO.FileSystem (dotnet/coreclr#21622)

* Use Interop.ReadDir.cs from FileSystem (corefx)

* Use ArrayPool

* Remove ReadBufferSize (and static cctor)

* use NameBufferSize for 256 const

* Delete ReadDir and SafeDirectoryHandle.Unix.cs

* Introduce GetDirectoryEntryFullPath, remove uint casts

* Refactor EnumerateFilesRecursively

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

5 years agoRemove dead Guid parsing code (dotnet/coreclr#21123)
Hugh Bellamy [Fri, 28 Dec 2018 17:52:41 +0000 (17:52 +0000)]
Remove dead Guid parsing code (dotnet/coreclr#21123)

* Remove dead checks in Guid parsing

* Minor cleanups in Guid

* Delete unused failureMessageFormatArgument

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

5 years agoUse common copy of System.Numerics.Hashing.HashHelpers
Jan Kotas [Thu, 27 Dec 2018 07:36:20 +0000 (23:36 -0800)]
Use common copy of System.Numerics.Hashing.HashHelpers

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

5 years agoDelete file moved to shared partition
Jan Kotas [Thu, 27 Dec 2018 14:48:36 +0000 (06:48 -0800)]
Delete file moved to shared partition

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

5 years agoMove Contracts.cs (CoreCLR version) to shared CoreLib and update code to compile...
Filip Navara [Thu, 27 Dec 2018 14:12:19 +0000 (15:12 +0100)]
Move Contracts.cs (CoreCLR version) to shared CoreLib and update code to compile. (dotnet/coreclr#6734)

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

5 years agoDelete file moved to shared CoreLib.
Filip Navara [Wed, 26 Dec 2018 21:04:17 +0000 (22:04 +0100)]
Delete file moved to shared CoreLib.

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

5 years agoMove System/Numerics/Hashing to shared CoreLib. (dotnet/corertdotnet/coreclr#6732)
Filip Navara [Wed, 26 Dec 2018 19:04:52 +0000 (20:04 +0100)]
Move System/Numerics/Hashing to shared CoreLib. (dotnet/corertdotnet/coreclr#6732)

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

5 years agodesktop port (dotnet/coreclr#21523)
Maoni Stephens [Wed, 26 Dec 2018 21:13:21 +0000 (13:13 -0800)]
desktop port (dotnet/coreclr#21523)

+alloc lock split into SOH and LOH
+provisional mode to fix too many gen2 GCs triggered in low mem situation when the heap has heavy pinning fragmentation
+better free list usage
+premature OOM fixes
+3 new configs: GCHeapAffinitizeMask, GCHighMemPercent, GCLOHThreshold (will be documented)
YieldProcessor scaling factor is different on core due to the different implementation on core.

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

5 years agoUpdate CoreClr, CoreFx to preview-27225-01, preview.18624.2, respectively (dotnet...
dotnet-maestro-bot [Tue, 25 Dec 2018 05:55:04 +0000 (21:55 -0800)]
Update CoreClr, CoreFx to preview-27225-01, preview.18624.2, respectively (dotnet/coreclr#21663)

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

5 years agoMakes CultureInfo.get_Parent thread safe. (dotnet/coreclr#21671)
Filip Navara [Tue, 25 Dec 2018 04:55:30 +0000 (05:55 +0100)]
Makes CultureInfo.get_Parent thread safe. (dotnet/coreclr#21671)

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

5 years agoMove DebugProvider.Windows to shared CoreLib. (dotnet/coreclr#21657)
Filip Navara [Mon, 24 Dec 2018 02:16:32 +0000 (03:16 +0100)]
Move DebugProvider.Windows to shared CoreLib. (dotnet/coreclr#21657)

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

5 years agoFix warning causing error in warning as error (Windows) (dotnet/coreclr#21656)
Ben Adams [Mon, 24 Dec 2018 02:09:46 +0000 (02:09 +0000)]
Fix warning causing error in warning as error (Windows) (dotnet/coreclr#21656)

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

5 years agoUse TZCNT and LZCNT for Locate{First|Last}Found{Byte|Char} (dotnet/coreclr#21073)
Ben Adams [Mon, 24 Dec 2018 00:26:58 +0000 (00:26 +0000)]
Use TZCNT and LZCNT for Locate{First|Last}Found{Byte|Char} (dotnet/coreclr#21073)

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

5 years agoAdd Module Override Recognition to R2RDump (dotnet/coreclr#21617)
Andon Andonov [Sun, 23 Dec 2018 23:51:05 +0000 (15:51 -0800)]
Add Module Override Recognition to R2RDump (dotnet/coreclr#21617)

This was added to help debug work with large version bubbles. The changes should allow R2RDump to have some rudimentary understanding of ENCODE_METHOD_OVERRIDE.

The big TODO here is allow loading of external dependency assemblies to be able to resolve the tokens coming after the override.

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

5 years agoFix ProjectN regression in `ByReference<T>` (dotnet/corertdotnet/coreclr#6713)
Michal Strehovský [Sun, 23 Dec 2018 16:09:39 +0000 (17:09 +0100)]
Fix ProjectN regression in `ByReference<T>` (dotnet/corertdotnet/coreclr#6713)

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

5 years agoUpdate CoreClr, CoreFx to preview-27223-02, preview.18623.1, respectively (dotnet...
dotnet-maestro-bot [Sun, 23 Dec 2018 20:47:37 +0000 (12:47 -0800)]
Update CoreClr, CoreFx to preview-27223-02, preview.18623.1, respectively (dotnet/coreclr#21658)

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

5 years agoAdd optimization in GetHashCode for Int16 and SByte (dotnet/coreclr#21652)
ichensky [Sun, 23 Dec 2018 12:47:25 +0000 (14:47 +0200)]
Add optimization in GetHashCode for Int16 and SByte (dotnet/coreclr#21652)

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

5 years agoDelete CoreLib.FixupCoreLibName (dotnet/coreclr#21655)
Jan Kotas [Sun, 23 Dec 2018 12:47:11 +0000 (04:47 -0800)]
Delete CoreLib.FixupCoreLibName (dotnet/coreclr#21655)

This method doing blind find&replace of "mscorlib" with "System.Private.CoreLib". It is both incorrect (e.g. if the typename happened to contain "mscorlib" string) and inefficient (unnecessary allocations and use of reflection).

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

5 years agoFix ArrayStack's call to default constructor for <T>. (dotnet/coreclr#21624)
Sergey Andreenko [Sun, 23 Dec 2018 06:42:44 +0000 (22:42 -0800)]
Fix ArrayStack's call to default constructor for <T>. (dotnet/coreclr#21624)

* Add ArrayStack::Empty

* Add ArrayStack::BottomRef

* Delete unused `ReverseTop`.

* do not use default constructor.

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

5 years agoUpdate CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively (master...
dotnet-maestro-bot [Sun, 23 Dec 2018 05:51:18 +0000 (21:51 -0800)]
Update CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively (master) (dotnet/coreclr#21620)

* Update CoreClr, CoreFx to preview-27223-01, preview.18622.2, respectively

* Update issues json

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

5 years agoExtracts public IThreadPoolWorkItem interface to shared CoreLib (dotnet/coreclr#21653)
Marek Safar [Sun, 23 Dec 2018 03:20:39 +0000 (04:20 +0100)]
Extracts public IThreadPoolWorkItem interface to shared CoreLib (dotnet/coreclr#21653)

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

5 years agoMoves CoreLib to shared location (dotnet/coreclr#21654)
Marek Safar [Sun, 23 Dec 2018 02:36:33 +0000 (03:36 +0100)]
Moves CoreLib to shared location (dotnet/coreclr#21654)

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

5 years agoSpanHelpers deal with nullable reference types (dotnet/coreclr#21232)
Ben Adams [Sat, 22 Dec 2018 20:08:22 +0000 (20:08 +0000)]
SpanHelpers deal with nullable reference types (dotnet/coreclr#21232)

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

5 years agoMove some Task related files to shared CoreLib partition (dotnet/coreclr#21650)
Jan Kotas [Sat, 22 Dec 2018 18:01:00 +0000 (10:01 -0800)]
Move some Task related files to shared CoreLib partition (dotnet/coreclr#21650)

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

5 years agoSynchronize Task, Awaiter and ThreadPool implementation with CoreCLR (dotnet/coreclr...
Jan Kotas [Sat, 22 Dec 2018 06:49:21 +0000 (22:49 -0800)]
Synchronize Task, Awaiter and ThreadPool implementation with CoreCLR (dotnet/coreclr#6706)

Synchronized the code as much as possible with CoreCLR. The one major piece that I have excluded is tracing. I will look into doing that separately.

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

5 years agoCoreRT-specific Object.cs changes - Fix build breaks - Apply same cleanup to all...
Jan Kotas [Sat, 22 Dec 2018 03:59:46 +0000 (19:59 -0800)]
CoreRT-specific Object.cs changes - Fix build breaks - Apply same cleanup to all related files

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

5 years agoImprove removal of dead calls to allocator helpers.
Eugene Rozenfeld [Sun, 16 Dec 2018 20:07:42 +0000 (12:07 -0800)]
Improve removal of dead calls to allocator helpers.

This change improves detection of allocators with side effects.
Allocators can cause side effects if the allocated object may have a finalizer.
This change adds a pHasSideEffects parameter to getNewHelper JitEE interface
method. It's used by the jit to check for allocator side effects instead of
guessing from helper ids.

Fixes dotnet/coreclr#21530.

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

5 years agoRemove dead ICLRPrivBinder methods (dotnet/coreclr#21637)
Steve MacLean [Sat, 22 Dec 2018 06:28:33 +0000 (01:28 -0500)]
Remove dead ICLRPrivBinder methods (dotnet/coreclr#21637)

* Remove dead FindAssemblyBySpec

All paths returned E_FAIL

* Remove dead BinderFlags

* Remove dead VerifyBind

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

5 years agoCorrectly disable tests (dotnet/coreclr#21645)
Dan Moseley [Sat, 22 Dec 2018 04:24:07 +0000 (20:24 -0800)]
Correctly disable tests (dotnet/coreclr#21645)

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

5 years agoCleanup to match conventions
Jan Kotas [Sat, 22 Dec 2018 00:07:22 +0000 (16:07 -0800)]
Cleanup to match conventions

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

5 years agoMoves common part of Object to CoreLib shared
Marek Safar [Fri, 21 Dec 2018 21:29:59 +0000 (22:29 +0100)]
Moves common part of Object to CoreLib shared

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

5 years agoDon't mark calls to allocation helpers as CSE candidates.
Eugene Rozenfeld [Thu, 20 Dec 2018 06:11:27 +0000 (22:11 -0800)]
Don't mark calls to allocation helpers as CSE candidates.

Marking them as CSE candidates usually blocks CSEs rather than enables them.
A typical case is:
 [1] GT_IND(x) = GT_CALL ALLOC_HELPER
...
[2] y = GT_IND(x)
...
[3] z = GT_IND(x)
If we mark CALL ALLOC_HELPER as a CSE candidate, we later discover
that it can't be a CSE def because GT_INDs in [2] and [3] can cause
more exceptions (NullRef) so we abandon this CSE.
If we don't mark CALL ALLOC_HELPER as a CSE candidate, we are able
to use GT_IND(x) in [2] as a CSE def and do a CSE on [2] and [3].

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

5 years agoRemove _syncRoot field from collections (dotnet/coreclr#21628)
Dan Moseley [Fri, 21 Dec 2018 22:24:29 +0000 (14:24 -0800)]
Remove _syncRoot field from collections (dotnet/coreclr#21628)

* SyncRoot

* Temp disable tests

* Disable outdated CoreFX test

* Tidier

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

5 years agoDisable outdated CoreFX test (dotnet/coreclr#21636)
Jan Kotas [Fri, 21 Dec 2018 21:21:35 +0000 (13:21 -0800)]
Disable outdated CoreFX test (dotnet/coreclr#21636)

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

5 years agoEnsure that the S.N.Vector methods are marked as [Intrinsic] and that the attribute...
Tanner Gooding [Fri, 21 Dec 2018 21:13:21 +0000 (13:13 -0800)]
Ensure that the S.N.Vector methods are marked as [Intrinsic] and that the attribute is respected by the runtime (dotnet/coreclr#21601)

* Updating the SIMD intrinsics to check for the `[Intrinsic]` attribute

* Ensure that the existing Vector/Vector<T> intrinsic methods are marked as such.

* Fixing Vector<T>.DotProduct and Vector.AndNot to be treated as intrinsic

* Fixing `SIMDIntrinsicBitwiseAndNot` to swap the operands for XARCH

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

5 years agoFix arm64 prolog generation for register masks with holes. (dotnet/coreclr#21395)
Sergey Andreenko [Fri, 21 Dec 2018 20:24:52 +0000 (12:24 -0800)]
Fix arm64 prolog generation for register masks with holes. (dotnet/coreclr#21395)

* Check that `genSaveCalleeSavedRegistersHelp` doesn't accept `REG_LR`.

There are two callers and both save `LR` with `FP` before calling this helper.
In case if somebody calls this function wth`REG_LR` it won't work because unwinding info doesn't expect holes in the reg pairs.

* Extract `genPushOrPopCalleeSavedRegisters`.

It will be used for both float and int types.

* Extend `genSaveCaleeSavedRegisterGroup` to support float.

The previous version was a copy-paste with an additional case for `REG_LR` that was unreachable. Fix that.

* Use `genSaveCaleeSavedRegisterGroup` for floats.

* Extract `genRestoreCaleeSavedRegisterGroup`.

It will be used for both int and float groups.

* Prepare `genPopCalleeSavedRegisters` to work with float.

* Use `genRestoreCaleeSavedRegisterGroup` for float.

* Check that `genRestoreCalleeSavedRegistersHelp` doesn't restore `REG_LR`.

Both callers do it later.

* Extract `CheckSPOffset`.

and move it out of loops because it works only before the first save intruction.

* Format `genRestoreCaleeSavedRegisterGroup` as `genSaveCalleeSavedRegistersHelp`.

* Extract `buildRegPairsStack` from `genSaveCaleeSavedRegisterGroup` and `genRestoreCaleeSavedRegisterGroup`.

Build a stack of registers that we want to save/restore and then iterate over it doing the actual saving/restoring.

* Extract `GetSlotSizeForRegsInMask`.

* Tolerate holes in arm64 prolog/epilog register masks.

Fixes dotnet/coreclr#21363

* Reenable the test.

* Add new methods headers.

* Fix typos.

* Do not use non-const references.

* Describe `buildRegPairsStack` better.

* Change signature of `buildRegPairsStack` to avoid copyings of big structs.

* Return the logic for `RBM_LR`.

For future use.

* Clean-up some unused variables.

* Fix comments.

* Get rid of file-level functions.

* Make new methods static.

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

5 years agoUpdate tiering guide to reference the new TieredCompilation label (dotnet/coreclr...
Koundinya Veluri [Fri, 21 Dec 2018 19:59:06 +0000 (11:59 -0800)]
Update tiering guide to reference the new TieredCompilation label (dotnet/coreclr#21618)

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

5 years agoMoves ByReference to shared CoreLib (dotnet/coreclr#21633)
Marek Safar [Fri, 21 Dec 2018 19:15:08 +0000 (20:15 +0100)]
Moves ByReference to shared CoreLib (dotnet/coreclr#21633)

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

5 years agoStreamline default EqualityComparer and Comparer for Enums (dotnet/coreclr#21604)
Jan Kotas [Fri, 21 Dec 2018 17:25:24 +0000 (09:25 -0800)]
Streamline default EqualityComparer and Comparer for Enums (dotnet/coreclr#21604)

This borrows the implementation strategy for these from CoreRT. It makes it both simpler (fewer types and lines of code) and faster in some cases since we always use the exact right underlying type.

E.g. The following micro-benchmark is 25% faster with this change:

```
enum MyEnum : byte { x, y };

var comparer = Comparer<MyEnum>.Default;

for (int i = 0; i < 100000000; i++)
{
    comparer.Compare(MyEnum.x, MyEnum.y);
    comparer.Compare(MyEnum.y, MyEnum.x);
}
```

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

5 years agoUpdating gtGetSIMDZero to only return the NI_Base_VectorXXX_Zero node if they are...
Tanner Gooding [Fri, 21 Dec 2018 15:45:24 +0000 (07:45 -0800)]
Updating gtGetSIMDZero to only return the NI_Base_VectorXXX_Zero node if they are supported by the compiler (dotnet/coreclr#21605)

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

5 years ago Updating `FusedMultiplyAdd` for `System.Math` and `System.MathF` to use intrinsics...
Tanner Gooding [Fri, 21 Dec 2018 15:44:50 +0000 (07:44 -0800)]
 Updating `FusedMultiplyAdd` for `System.Math` and `System.MathF` to use intrinsics when available. (dotnet/coreclr#21602)

* Removing the explicit value assignment to NamedIntrinsic enum values

* Renaming NI_Math_Round/NI_MathF_Round to NI_System_Math_Round/NI_System_MathF_Round

* Updating `FusedMultiplyAdd` for `System.Math` and `System.MathF` to use intrinsics when available

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

5 years agoImplement the remaining BMI1/2 intrinsic (dotnet/coreclr#21480)
Fei Peng [Fri, 21 Dec 2018 15:14:08 +0000 (07:14 -0800)]
Implement the remaining BMI1/2 intrinsic (dotnet/coreclr#21480)

* Add tests for BMI1/2 intrinsic

* Implement the remaining BMI1/2 intrinsic

* Fix emitDispIns for BMI instruction

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

5 years agoAdd AggressiveInlining for Vector<T>.op_Multiply (dotnet/coreclr#21587)
Fei Peng [Fri, 21 Dec 2018 13:39:06 +0000 (05:39 -0800)]
Add AggressiveInlining for Vector<T>.op_Multiply (dotnet/coreclr#21587)

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

5 years agoFix "harmless" bug in ZapImport - use AppendByte to emit fixup type (dotnet/coreclr...
Tomáš Rylek [Fri, 21 Dec 2018 04:40:38 +0000 (05:40 +0100)]
Fix "harmless" bug in ZapImport - use AppendByte to emit fixup type (dotnet/coreclr#21621)

During my work on the CPAOT compiler I found out that in the past
I had believed we should use the compressed uint signature encoding
for emitting fixup types. This place may have contributed to my
mistake. I have audited all places in CoreCLR where signatures are
decoded and in all cases the fixup type is assumed to be a byte,
not a signature-compressed uint.

As I said, the bug is harmless (after all, Crossgen works) because
the enum code of READYTORUN_FIXUP_Helper is less than 128 and for
values 0-127 the compressed uint encoding is identical with the
byte value; I however believe it's useful to make this change
nonetheless for the sake of code clarity and to help avoid future
confusions similar to mine.

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

5 years agoFix jit warning in crossgen desktop build.
Eugene Rozenfeld [Thu, 20 Dec 2018 23:58:29 +0000 (15:58 -0800)]
Fix jit warning in crossgen desktop build.

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

5 years agoDon't morph volatile IND(ADDR(LCL_VAR)) (dotnet/coreclr#20843)
mikedn [Fri, 21 Dec 2018 00:10:27 +0000 (02:10 +0200)]
Don't morph volatile IND(ADDR(LCL_VAR)) (dotnet/coreclr#20843)

Besides the fact that volatile indirections aren't supposed to be removed doing so in this case results in incorrect code being generated.

The GT_IND node has GTF_DONT_CSE set and this gets copied to the GT_LCL_VAR node. Later this prevents the insertion of a normalization cast because GTF_DONT_CSE on a GT_LCL_VAR node is assumed to mean that the variable address is being taken.

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

5 years agoMerge pull request dotnet/coreclr#21589 from CarolEidt/Fix21546
Carol Eidt [Thu, 20 Dec 2018 23:40:55 +0000 (15:40 -0800)]
Merge pull request dotnet/coreclr#21589 from CarolEidt/Fix21546

Transform SIMD8 to FIELD_LIST if promoted

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

5 years agoUpdate CoreClr, CoreFx to preview-27220-03, preview.18619.1, respectively (dotnet...
dotnet-maestro-bot [Thu, 20 Dec 2018 19:46:42 +0000 (11:46 -0800)]
Update CoreClr, CoreFx to preview-27220-03, preview.18619.1, respectively (dotnet/coreclr#21592)

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

5 years agoFreebsd symbols3 (dotnet/coreclr#21607)
Tomas Weinfurt [Thu, 20 Dec 2018 18:34:44 +0000 (10:34 -0800)]
Freebsd symbols3 (dotnet/coreclr#21607)

* enable symbols on freebsd once again

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

5 years agoReplace more of JitHelpers with S.R.CS.Unsafe (dotnet/coreclr#21598)
Jan Kotas [Thu, 20 Dec 2018 15:10:07 +0000 (07:10 -0800)]
Replace more of JitHelpers with S.R.CS.Unsafe (dotnet/coreclr#21598)

- Replace JitHelpers.UnsafeCastToStackPtr with Unsafe.AsPointer
- Delete PinningHelper that was duplicate of RawData helper class

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

5 years agoFix jit warning. (dotnet/coreclr#21600)
Eugene Rozenfeld [Thu, 20 Dec 2018 12:52:09 +0000 (04:52 -0800)]
Fix jit warning. (dotnet/coreclr#21600)

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

5 years agoAdd build timeout (dotnet/coreclr#21591)
Sven Boemer [Wed, 19 Dec 2018 05:09:58 +0000 (21:09 -0800)]
Add build timeout (dotnet/coreclr#21591)

This should fix official build failures that are timing out because
the jobs are waiting to obtain an exclusive lock on the blob
feed.

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

5 years agoUpdate CoreClr, CoreSetup to preview-27218-02, preview-27218-01, respectively (dotnet...
dotnet-maestro-bot [Tue, 18 Dec 2018 23:28:16 +0000 (15:28 -0800)]
Update CoreClr, CoreSetup to preview-27218-02, preview-27218-01, respectively (dotnet/coreclr#21558)

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

5 years agoTransform SIMD8 to FIELD_LIST if promoted
Carol Eidt [Tue, 18 Dec 2018 23:13:07 +0000 (15:13 -0800)]
Transform SIMD8 to FIELD_LIST if promoted

Fix dotnet/coreclr#21546

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

5 years agoUpdate named mutex PAL tests to include case of file locks being inherited by child...
Koundinya Veluri [Tue, 18 Dec 2018 22:32:38 +0000 (14:32 -0800)]
Update named mutex PAL tests to include case of file locks being inherited by child process (dotnet/coreclr#21496)

Included case fixed by https://github.com/dotnet/coreclr/pull/21458. Fixes https://github.com/dotnet/coreclr/issues/21494.

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

5 years agoAdd support for parsing field signatures (dotnet/coreclr#21573)
Tomáš Rylek [Tue, 18 Dec 2018 21:26:54 +0000 (22:26 +0100)]
Add support for parsing field signatures (dotnet/coreclr#21573)

This change adds basic field signature parsing support to R2RDump
and it improves parsing of two fixup types (FIELD_ADDRESS and
CCTOR_TRIGGER).

Thanks

Tomas

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

5 years agoMerge pull request dotnet/coreclr#21567 from CarolEidt/Issue20657
Carol Eidt [Tue, 18 Dec 2018 19:51:49 +0000 (11:51 -0800)]
Merge pull request dotnet/coreclr#21567 from CarolEidt/Issue20657

Test for dotnet/coreclr#20657 SIMD byref bug

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

5 years agoMerge pull request dotnet/coreclr#21571 from BruceForstall/DisableArm32Test
Bruce Forstall [Tue, 18 Dec 2018 16:35:39 +0000 (08:35 -0800)]
Merge pull request dotnet/coreclr#21571 from BruceForstall/DisableArm32Test

Disable GitHub_19361 for Linux arm32

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

5 years agoFix stack walking and reporting of default interface methods (dotnet/coreclr#21525)
Michal Strehovský [Tue, 18 Dec 2018 08:56:23 +0000 (09:56 +0100)]
Fix stack walking and reporting of default interface methods (dotnet/coreclr#21525)

Default interface methods in their unresolved state don't have a generic context. The generic context is only added once the method is resolved to its implementation.

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

5 years agoAdd .NET Core version to EventLog (dotnet/coreclr#21566)
Sung Yoon Whang [Tue, 18 Dec 2018 06:23:12 +0000 (22:23 -0800)]
Add .NET Core version to EventLog (dotnet/coreclr#21566)

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

5 years agoGenerate ARM CFIs in prolog (dotnet/coreclr#21505)
Andrey Kvochko [Tue, 18 Dec 2018 05:28:32 +0000 (08:28 +0300)]
Generate ARM CFIs in prolog (dotnet/coreclr#21505)

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

5 years agoFixed suppressed XML documentation errors (dotnet/corefxdotnet/coreclr#34020)
Stanislav Ushakov [Mon, 17 Dec 2018 17:15:22 +0000 (20:15 +0300)]
Fixed suppressed XML documentation errors (dotnet/corefxdotnet/coreclr#34020)

* Fixed XML documentation tags for CoreFx.Private.TestUtilities

* Fixed XML documentation tags for System.Diagnostics.Process

* Fixed XML documentation tags for System.ComponentModel.Composition

* Fixed XML documentation tags for System.ComponentModel.Primitives

* Fixed XML documentation tags for System.ComponentModel.TypeConverter

* Fixed XML documentation tags for System.Data.Common

* Fixed XML documentation tags for System.Data.SqlClient

* Fixed XML documentation tags for System.Diagnostics.PerformanceCounter

* Fixed XML documentation tags for System.Diagnostics.StackTrace

* Fixed XML documentation for System.Diagnostics.TraceSource

* Fixed XML documentation for System.IO.Compression.ZipFile

* Fixed XML documentation for System.IO.Compression

* Fixed XMl documentation reference according to review notes

* Fixed XML documentation tags for System.IO.MemoryMappedFiles

* Fixed XML documentation tags for System.IO.Pipes

* Fixed XML documentation tag for OSX interop in System.Diagnostics.Process

* Fixed XML documentation tags for CoreFx.Private.TestUtilities for Unix

* Fixed XML documentation tags for System.Linq.Expressions

* Fixed XML documentation for System.Linq.Parallel

* Fixed XML documentationt ags for System.Linq

* Fixed XML documentation tags for System.Management

* Fixed XMl documentation tags for System.Net.Http (left CS1573)

* Fixed XMl documentation tags for System.Net.Mail

* Fixed XML documentation tags for System.Net.NameResolution

* Fixed XML documentation tags for System.Net.Primitives - added T prefix for Socket as Primitives do not reference System.Net.Sockets

* Fixed XML documentation tags for System.Net.Sockets

* Fixed XML documentation tags for Unix interop files

* Fixed XML documentation tags for System.Net.Http (Unix)

* Fixed XML documentation tags for PlatformDetection.Unix.cs according to review notes

* Fixed XML documentation tags for OSX interop

* Ignore CS1574 for System.Linq as there is no ConcatIterator{TSource}.ToList for uap.

* Fixed XML documentation tags for FreeBSD interop

* Fixed XML documentation tags for System.Net.WebSockets

* Fixed XMLm documentation tags for System.Transactions.Local

* Fixed XML documentation for System.Security.Principal.Windows

* Fixed XML documentation for System.Drawing.Common

* Fixed XML documentation for System.Net.NetworkInformation

* Fixed XML documentation tags for System.Private.XML (left CS1589)

* Fixed XML documentation tags for System.Security.Cryptography

* Fixed XML documentation for System.Runtime.WindowsRuntime

* Fixed XML documentation tags for System.Security.Cryptography.Xml

* Fixed XML documentation tags for System.Security.Cryptography.Primitives
CS3016 was added by mistake as part of dotnet/coreclr#32934 so I removed it.

* Fixed XML documentation tags for System.Linq: added M to ToList method as it is not accessible by uap builds.

* Fixed XML documentation tags for System.IO.FileSystem

* Fixed XML documentation tags for System.Security.Cryptography.*

* Fixed XML documentation for System.IO.Ports

* Fixed XML documentation tags for System.Private.Reflection.Metadata.Ecma335

* Fixed XML documentation tags for System.Windows.Extensions

* Fixed XMl documentation tags for System.Console

* Fixed XML documentation for System.IO.FileSystem.DriveInfo

* Fixed XML documentation tags for System.Runtime.Extensions

* Fixed XML documentation tags for System.Drawing.Primitives.
Left CS1589 as there is no 'doc\KnownColor.uex' file.

* Fixed XMl documentation for System.Runtime.WindowsRuntime.
Had to add M prefix to 'Windows.Foundation.IAsyncAction' as Windows.Foundation is not accessible at compilation time.

* Fixed XML documentation tags for System.Private.Xml

* Fixed XML documentation tags for System.Private.Reflection.Metadata.Ecma335
Had to add a prefixes to: 'T:System.Collections.Immutable' and 'M:Enumerable.ToArray{TSource}' as they are not available for uap at compilation time.

* Fixed XML documentation tags for System.Net.WebSockets.WebSocketProtocol

* Fixed XML documentation tags for System.Net.WebSockets.WebSocketProtocol

* XML documentation tags fixes: changes after review.

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

5 years agoDo not use CorHost2::m_fStarted to gate execution (dotnet/coreclr#20953)
Steve MacLean [Tue, 18 Dec 2018 02:23:20 +0000 (21:23 -0500)]
Do not use CorHost2::m_fStarted to gate execution (dotnet/coreclr#20953)

* ExecuteInDefaultAppDomain w/o Start

Do not require Start() call before
calling ExecuteInDefaultAppDomain()

* Remove unused variable
* Move flags as needed to CorHost2

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

5 years agoMerge pull request dotnet/coreclr#21574 from BruceForstall/AddDotnetDiagnosticsInfo
Bruce Forstall [Tue, 18 Dec 2018 01:28:16 +0000 (17:28 -0800)]
Merge pull request dotnet/coreclr#21574 from BruceForstall/AddDotnetDiagnosticsInfo

Add dotnet info to PMI asm diffs output

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

5 years agoMerge pull request dotnet/coreclr#21572 from BruceForstall/DisableArm64Test
Bruce Forstall [Tue, 18 Dec 2018 01:25:15 +0000 (17:25 -0800)]
Merge pull request dotnet/coreclr#21572 from BruceForstall/DisableArm64Test

Disable System.Runtime.Tests for Linux arm64 corefx tests

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

5 years agoMerge pull request dotnet/coreclr#21532 from BruceForstall/FixPython3Issue
Bruce Forstall [Tue, 18 Dec 2018 01:22:35 +0000 (17:22 -0800)]
Merge pull request dotnet/coreclr#21532 from BruceForstall/FixPython3Issue

Fix Python 3 issues

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

5 years agoAdd tests for marshalling a System.Drawing.Color. (dotnet/coreclr#21569)
Jeremy Koritzinsky [Tue, 18 Dec 2018 00:50:54 +0000 (16:50 -0800)]
Add tests for marshalling a System.Drawing.Color. (dotnet/coreclr#21569)

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

5 years agoAdd dotnet info to PMI asm diffs output
Bruce Forstall [Tue, 18 Dec 2018 00:09:35 +0000 (16:09 -0800)]
Add dotnet info to PMI asm diffs output

This might help diagnose issues.

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

5 years agoDisable System.Runtime.Tests for Linux arm64 corefx tests
Bruce Forstall [Mon, 17 Dec 2018 23:20:04 +0000 (15:20 -0800)]
Disable System.Runtime.Tests for Linux arm64 corefx tests

Failure with System.Tests.ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineOtherMethod
in JitStress=2.

Tracking: dotnet/coreclr#21223

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

5 years agoDisable GitHub_19361 for Linux arm32
Bruce Forstall [Mon, 17 Dec 2018 22:45:39 +0000 (14:45 -0800)]
Disable GitHub_19361 for Linux arm32

It currently times out and fails on Debug.

Tracking: dotnet/coreclr#20232

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

5 years agoSwitch to using resources in BenchmarksGames tests (dotnet/coreclr#21554)
Egor Chesakov [Mon, 17 Dec 2018 19:11:25 +0000 (11:11 -0800)]
Switch to using resources in BenchmarksGames tests (dotnet/coreclr#21554)

Embed the following test files as the resources in their corresponding test assemblies:

* regexdna-input25.txt regexdna-input25000.txt in BenchmarksGame/regex-redux

* knucleotide-input.txt knucleotide-input-big.txt in BenchmarksGame/k-nucleotide

* revcomp-input25.txt revcomp-input25000.txt in BenchmarksGame/reverse-complement

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

5 years agoTest for dotnet/coreclr#20657 SIMD byref bug
Carol Eidt [Mon, 17 Dec 2018 18:28:54 +0000 (10:28 -0800)]
Test for dotnet/coreclr#20657 SIMD byref bug

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

5 years agoDelete dead code (dotnet/coreclr#21562)
Jan Kotas [Mon, 17 Dec 2018 16:55:53 +0000 (08:55 -0800)]
Delete dead code (dotnet/coreclr#21562)

- Delete clix support from PAL. "clix" was launcher in the Rotor days - like "dotnet" today.
- Delete URL parsing from PALRT

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

5 years agoAdd specialized allocation helpers (dotnet/coreclr#21561)
Michal Strehovský [Mon, 17 Dec 2018 13:07:08 +0000 (14:07 +0100)]
Add specialized allocation helpers (dotnet/coreclr#21561)

This is to support dotnet/corertdotnet/coreclr#6688. They don't exist in CoreCLR (yet).

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

5 years agoMerge pull request dotnet/coreclr#21400 from BruceForstall/FixArm32FloatRange
Bruce Forstall [Sun, 16 Dec 2018 22:27:08 +0000 (14:27 -0800)]
Merge pull request dotnet/coreclr#21400 from BruceForstall/FixArm32FloatRange

Fix arm32 local variable references

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

5 years agoEnable object stack allocation in R2R mode.
Eugene Rozenfeld [Sat, 24 Nov 2018 06:37:03 +0000 (22:37 -0800)]
Enable object stack allocation in R2R mode.

This change modified the importer to create GenTreeAllocObj node for
box and newobj instead of a helper call in R2R mode. ObjectAllocator phase
decides whether the object can be allocated on the stack or has to be created
on the heap via a helper call.

To trigger object stack allocation COMPlus_JitObjectStackAllocation has
to be set (it's not set by default).

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

5 years agoEnable PinPlugAtGCTime event for standalone GC (dotnet/coreclr#21543)
Sung Yoon Whang [Sun, 16 Dec 2018 06:10:51 +0000 (22:10 -0800)]
Enable PinPlugAtGCTime event for standalone GC (dotnet/coreclr#21543)

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

5 years agoUpdate CoreClr, CoreSetup to preview-27215-01, preview-27214-02, respectively (dotnet...
dotnet-maestro-bot [Sat, 15 Dec 2018 12:43:07 +0000 (04:43 -0800)]
Update CoreClr, CoreSetup to preview-27215-01, preview-27214-02, respectively (dotnet/coreclr#21547)

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

5 years agoFix more HWIntrinsic ifdefs (dotnet/coreclr#21556)
Carol Eidt [Sat, 15 Dec 2018 09:23:40 +0000 (01:23 -0800)]
Fix more HWIntrinsic ifdefs (dotnet/coreclr#21556)

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

5 years agoFix warning causing error in warning as error (dotnet/coreclr#21557)
Ben Adams [Sat, 15 Dec 2018 08:57:07 +0000 (08:57 +0000)]
Fix warning causing error in warning as error (dotnet/coreclr#21557)

c:\github\coreclr\src\vm\excep.cpp(4489):
error C2220: warning treated as error - no 'object' file generated

[C:\GitHub\coreclr\bin\obj\Windows_NT.x64.Release\src\vm\wks\cee_wks.vcxproj]
c:\github\coreclr\src\vm\excep.cpp(4489):
warning C4800: 'BOOL': forcing value to bool 'true' or 'false'
(performance warning)
[C:\GitHub\coreclr\bin\obj\Windows_NT.x64.Release\src\vm\wks\cee_wks.vcxproj]

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

5 years agoFixing an assert in `gtGetStructHandleForSIMD` to validate the size of the simdType...
Tanner Gooding [Sat, 15 Dec 2018 05:53:17 +0000 (21:53 -0800)]
Fixing an assert in `gtGetStructHandleForSIMD` to validate the size of the simdType is less than or equal to the largest support TYP_SIMD (dotnet/coreclr#21549)

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

5 years agoAdd Azure DevOps signing support (dotnet/coreclr#21545)
Morgan Brown [Sat, 15 Dec 2018 02:45:55 +0000 (18:45 -0800)]
Add Azure DevOps signing support (dotnet/coreclr#21545)

Add signing support for Azure DevOps pipelines. This uses the arcade signing step, but with custom logic to find files to sign while we're not using arcade for the rest of the build.

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

5 years agoPublish packages in Azure DevOps official build (dotnet/coreclr#21536)
Sven Boemer [Sat, 15 Dec 2018 01:03:40 +0000 (17:03 -0800)]
Publish packages in Azure DevOps official build (dotnet/coreclr#21536)

This enables coreclr participation in dependency flow.

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

5 years agoImplement GC ref map parsing and display in R2RDump (dotnet/coreclr#21509)
Tomáš Rylek [Sat, 15 Dec 2018 00:40:33 +0000 (01:40 +0100)]
Implement GC ref map parsing and display in R2RDump (dotnet/coreclr#21509)

As part of my work on CPAOT implementation of GC ref map info
I have implemented decoder of the info so that it can be displayed
next to the import cell signatures.

This also uncovered one possible cause of R2RDump GcInfo-related
crashes that were observed by Andon and myself. It looks like Amy
in her initial implementation confused the various GC encodings
and used GC info to parse the import section auxiliary data which
actually contains the GC ref map info.

Thanks

Tomas

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

5 years agoMerge pull request dotnet/coreclr#21535 from CarolEidt/Fix21500
Carol Eidt [Sat, 15 Dec 2018 00:00:36 +0000 (16:00 -0800)]
Merge pull request dotnet/coreclr#21535 from CarolEidt/Fix21500

Update var life for multireg local

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

5 years agoSimplifying the emitter handling of 4-byte encoded SSE instructions (dotnet/coreclr...
Tanner Gooding [Fri, 14 Dec 2018 21:41:07 +0000 (13:41 -0800)]
Simplifying the emitter handling of 4-byte encoded SSE instructions (dotnet/coreclr#21528)

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

5 years agoUpdate CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213...
dotnet-maestro-bot [Fri, 14 Dec 2018 12:06:12 +0000 (04:06 -0800)]
Update CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213-01, respectively (master) (dotnet/coreclr#21503)

* Update CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213-01, respectively

* Add System.Threading.AccessControl to CoreFX test deps

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

5 years agoImplement two pass algorithm for variant interface dispatch (dotnet/coreclr#21355)
Michal Strehovský [Fri, 14 Dec 2018 11:21:45 +0000 (12:21 +0100)]
Implement two pass algorithm for variant interface dispatch (dotnet/coreclr#21355)

Fixes dotnet/coreclr#20452.

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

5 years agoSetting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block...
Andrew Au [Fri, 14 Dec 2018 06:29:46 +0000 (22:29 -0800)]
Setting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block to avoid the async break deadlock (dotnet/coreclr#21319)

Setting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block to avoid the async break deadlock

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

5 years ago'mscorlib' link returns 404 -> 'System.Private.CoreLib' (dotnet/coreclr#34086)
Matt Warren [Fri, 14 Dec 2018 01:37:45 +0000 (01:37 +0000)]
'mscorlib' link returns 404 -> 'System.Private.CoreLib' (dotnet/coreclr#34086)

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

5 years agoRunning and visualizing tests in AzureDevOps (Part 1) (dotnet/coreclr#21502)
Egor Chesakov [Fri, 14 Dec 2018 04:05:38 +0000 (20:05 -0800)]
Running and visualizing tests in AzureDevOps (Part 1) (dotnet/coreclr#21502)

* Enable Azure Pipelines reporter so the test results can be seen at one place (i.e. "Tests" tab) - TestRunNamePrefix should encode all the needed information for a test run to be identifiable.

* Scenarios property should use comma (not semi-colon) to work correctly on non-Windows.

* Specify timeout to test jobs (the numbers are taken from netci.groovy) - we would adjust them as soon as we get this running in each PR.

* Specify timeout for Helix work items (the number is taken from buildpipeline) - same as above.

* Specify helixType and helixRepo properties to the job and use _HelixType and _HelixSource variables in MSBuild project instead of defining them manually.

*  Limit Pri0 Checked test jobs to running against pull requests. This also should be limited in the future to "default" build definition name - so when we have PR workload selection feature working we can distinguish between default PR validation and user triggered jobs.

* Remove "Prepare tests for helix" step - instead of archiving Core_Root and tests folders ourselves - directly specify them as correlation payload and work item payload directories and let the archiving be handled by Helix Sdk.

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

5 years agoUpdate var life for multireg local
Carol Eidt [Thu, 13 Dec 2018 23:46:40 +0000 (15:46 -0800)]
Update var life for multireg local

When a multi-reg var is defined by a call, but doesn't currently reside in a register,
we must still update liveness.

Fix dotnet/coreclr#21500

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

5 years agoFixes issue dotnet/coreclr#21485 and dotnet/coreclr#21484 (dotnet/coreclr#21526)
Mike McLaughlin [Thu, 13 Dec 2018 23:37:21 +0000 (15:37 -0800)]
Fixes issue dotnet/coreclr#21485 and dotnet/coreclr#21484 (dotnet/coreclr#21526)

Issue dotnet/coreclr#21485: fix EnumProcessModules hPseudoCurrentProcess bug.

Added handle reference.

Issue dotnet/coreclr#21484: createdump segfaults with ASP.NET app

The problem is the ClrDataModule Request faulted on a dynamic module
getting the file layout flag.

Fixed the Request code not get the file layout and in the crash dump
code skip any dynamic modules.

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

5 years agoJIT: avoid folding operations with relocatable immediates (dotnet/coreclr#21511)
Andy Ayers [Thu, 13 Dec 2018 23:03:34 +0000 (15:03 -0800)]
JIT: avoid folding operations with relocatable immediates (dotnet/coreclr#21511)

In general, don't fold operations on relocatable immediates. Only allow EQ/NE folding, since relocation should preserve identity but not bit values or relative comparisons.

Closes dotnet/coreclr#21483.

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

5 years agoFix Python 3 issues
Bruce Forstall [Thu, 13 Dec 2018 22:53:31 +0000 (14:53 -0800)]
Fix Python 3 issues

Fixes dotnet/coreclr#21433

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