Ben Adams [Mon, 31 Dec 2018 05:22:08 +0000 (06:22 +0100)]
Remove Environment static constructor (dotnet/coreclr#21715)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a989431e5a8c5d9113b6d03a4aa9a15b6653655
Jan Kotas [Sun, 30 Dec 2018 09:08:19 +0000 (01:08 -0800)]
Fix CoreCLR build breaks
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f241249a54f7824812ccf5b87a60c9c1a65d3ec
Jan Kotas [Sat, 29 Dec 2018 23:26:54 +0000 (15:26 -0800)]
Delete file moved to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3c61e5447da96828de0e91649918455ab104fbf
Marek Safar [Sat, 29 Dec 2018 23:16:18 +0000 (00:16 +0100)]
Moves ThrowHelper to shared location (dotnet/corertdotnet/coreclr#6741)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c1e4038c283903c6183df07ce9a68216f901646
Ben Adams [Sun, 30 Dec 2018 16:54:44 +0000 (17:54 +0100)]
Shorter ExecutionContext.Capture (dotnet/coreclr#21707)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c83821535b0bbc2f7e19e2e712c1d56aef4b9360
Ben Adams [Sun, 30 Dec 2018 15:35:42 +0000 (16:35 +0100)]
Use EventSource guid ctor for RuntimeEventSource (dotnet/coreclr#21714)
Commit migrated from https://github.com/dotnet/coreclr/commit/
77b8960b562959998827a988a5e4ea1460ef3c82
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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