platform/upstream/coreclr.git
6 years agoMerge pull request #15791 from dotnetrt/dstdstsrc
Carol Eidt [Thu, 11 Jan 2018 18:19:40 +0000 (10:19 -0800)]
Merge pull request #15791 from dotnetrt/dstdstsrc

Refactor emitter::IsDstDstSrcAVXInstruction and emitter::IsDstSrcSrcAVXInstruction

6 years ago[Infrastructure/Win] Add C++ header files to Visual Studio clrjit project (#15775)
Jacek Blaszczynski [Thu, 11 Jan 2018 17:33:32 +0000 (18:33 +0100)]
[Infrastructure/Win] Add C++ header files to Visual Studio clrjit project (#15775)

* Add C++ header files to Visual Studio clrjit project

* Add comment about script change impact and usage

6 years agomovhlps categorized as dstdstsrc
Jacek Blaszczynski [Thu, 11 Jan 2018 12:29:26 +0000 (13:29 +0100)]
movhlps categorized as dstdstsrc

6 years agoAllow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN (#14586)
Ben Adams [Thu, 11 Jan 2018 09:10:35 +0000 (09:10 +0000)]
Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN (#14586)

Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN

6 years agoKeep LowLevelDictionary for CoreRT for now (#15824)
dotnet bot [Thu, 11 Jan 2018 08:56:01 +0000 (00:56 -0800)]
Keep LowLevelDictionary for CoreRT for now (#15824)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoImprove performance for Math.Abs (#15823)
Ben Adams [Thu, 11 Jan 2018 07:58:00 +0000 (07:58 +0000)]
Improve performance for Math.Abs (#15823)

* Improve perf for Math.Abs

* Inline Math.Abs

6 years agoFix Obsolete on ReadOnlySpan Equals and GetHashCode methods (#15820)
Jan Kotas [Thu, 11 Jan 2018 06:06:28 +0000 (22:06 -0800)]
Fix Obsolete on ReadOnlySpan Equals and GetHashCode methods (#15820)

* Fix Obsolete on ReadOnlySpan Equals and GetHashCode methods

* Delete unnecessary CLSCompliant attribute

6 years agoMerge pull request #15814 from CarolEidt/FixObj
Carol Eidt [Thu, 11 Jan 2018 03:57:16 +0000 (19:57 -0800)]
Merge pull request #15814 from CarolEidt/FixObj

Fix change to fgMorphBlockOperand

6 years agoFix change to fgMorphBlockOperand
Carol Eidt [Tue, 9 Jan 2018 23:56:25 +0000 (15:56 -0800)]
Fix change to fgMorphBlockOperand

My recent fix broke the `DYN_BLK` case. In addition to checking that types match, we *still* need to check that the sizes match.

This was caught by desktop testing. The test cases are somewhat complex, so I created a smaller repro.

6 years agoFix incremental build by preventing nonchanging writes (#15817)
Victor "Nate" Graf [Wed, 10 Jan 2018 23:25:34 +0000 (15:25 -0800)]
Fix incremental build by preventing nonchanging writes (#15817)

Fix incremental build by preventing non-changing writes in generated ETW source code

6 years agoMerge pull request #15784 from fiigii/hwci
Jarret Shook [Wed, 10 Jan 2018 21:06:39 +0000 (13:06 -0800)]
Merge pull request #15784 from fiigii/hwci

Add new CI mode for Intel HW intrinsics

6 years agoUnderlying CoreCLR support for new string slicing overloads (#15811)
Atsushi Kanamori [Wed, 10 Jan 2018 20:32:07 +0000 (12:32 -0800)]
Underlying CoreCLR support for new string slicing overloads (#15811)

* Underlying CoreCLR support for new string slicing overloads

https://github.com/dotnet/corefx/issues/25254

These add the underlying support for the fast versions of
these extension methods.

* Underlying CoreCLR support for new string slicing overloads

https://github.com/dotnet/corefx/issues/24072

These add the underlying support for the fast versions of
these extension methods.

6 years agoAdd privaterun properties (#15816)
chcosta [Wed, 10 Jan 2018 19:48:17 +0000 (11:48 -0800)]
Add privaterun properties (#15816)

6 years agoMove System.Globalization.CultureData to shared CoreLib partition (#15805)
Jan Kotas [Wed, 10 Jan 2018 13:35:39 +0000 (05:35 -0800)]
Move System.Globalization.CultureData to shared CoreLib partition (#15805)

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26109-03, preview1-26110-01, master-20180...
dotnet-maestro-bot [Wed, 10 Jan 2018 05:45:09 +0000 (23:45 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26109-03, preview1-26110-01, master-20180109-0023, respectively (#15788)

6 years agoPort servicing fix (#15802)
Tarek Mahmoud Sayed [Wed, 10 Jan 2018 05:08:34 +0000 (21:08 -0800)]
Port servicing fix (#15802)

* Port the servicing fix

This is porting the servcing fix https://github.com/dotnet/coreclr/commit/8ce622d569fae9feb160399db03dc2b86577be1b  with a small change to get rid of unsafe code in CultureData per Jan recommendation

* remove un-needed lines

* rename the variable name as it is not a pointer anymore

6 years agoAdd new CI mode for Intel HW intrinsics
Fei Peng [Wed, 10 Jan 2018 00:57:07 +0000 (16:57 -0800)]
Add new CI mode for Intel HW intrinsics

6 years agoUpdate the document for netcoreapp2.1
Jan Kotas [Wed, 10 Jan 2018 00:37:42 +0000 (16:37 -0800)]
Update the document for netcoreapp2.1

6 years agoUpdate links to nightly .NET Core SDK builds (#15799)
Jan Kotas [Wed, 10 Jan 2018 00:22:19 +0000 (16:22 -0800)]
Update links to nightly .NET Core SDK builds (#15799)

6 years agoMerge pull request #15724 from sdmaclea/PR-ARM64-VECTOR64
Carol Eidt [Wed, 10 Jan 2018 00:00:14 +0000 (16:00 -0800)]
Merge pull request #15724 from sdmaclea/PR-ARM64-VECTOR64

[Arm64] Add Vector64 HW Intrinsic support

6 years agoAdds StringBuilder.Equals(ReadOnlySpan<char>) Api (#15759)
Anirudh Agnihotry [Tue, 9 Jan 2018 23:30:29 +0000 (15:30 -0800)]
Adds StringBuilder.Equals(ReadOnlySpan<char>) Api (#15759)

Adds StringBuilder.Equals(ReadOnlySpan<char>)  Api

6 years agoAddress review feedback
Jacek Blaszczynski [Tue, 9 Jan 2018 21:58:00 +0000 (22:58 +0100)]
Address review feedback

6 years agofix corefx/#26230 (#15792)
Fei Peng [Tue, 9 Jan 2018 19:58:53 +0000 (11:58 -0800)]
fix corefx/#26230 (#15792)

6 years agoFixing https://github.com/aspnet/JitBench/issues/80 (#15764)
José Rivero [Tue, 9 Jan 2018 15:46:39 +0000 (07:46 -0800)]
Fixing https://github.com/aspnet/JitBench/issues/80 (#15764)

- Issue was fixed with this: https://github.com/aspnet/JitBench/pull/82
- Set the UseSharedCompilation=false to avoid that the `VBCSCompiler.exe` stays running.

6 years agoRefactor emitter::IsDstDstSrcAVXInstruction function implementation
Jacek Blaszczynski [Tue, 9 Jan 2018 14:31:46 +0000 (15:31 +0100)]
Refactor emitter::IsDstDstSrcAVXInstruction function implementation

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26108-06, preview1-26109-01, master-20180...
dotnet-maestro-bot [Tue, 9 Jan 2018 05:53:35 +0000 (23:53 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26108-06, preview1-26109-01, master-20180108-1624, respectively (#15785)

6 years agoUpdate BuildTools, CoreClr, CoreFx to prerelease-02408-01, preview1-26108-02, preview...
dotnet-maestro-bot [Tue, 9 Jan 2018 00:33:25 +0000 (18:33 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02408-01, preview1-26108-02, preview1-26108-02, respectively (#15763)

6 years agoFixed superpmi JIT debugging on desktop build. (#15773)
Mike McLaughlin [Tue, 9 Jan 2018 00:13:27 +0000 (16:13 -0800)]
Fixed superpmi JIT debugging on desktop build. (#15773)

6 years agoUpdate Intel hardware intrinsic APIs (#15601)
Fei Peng [Mon, 8 Jan 2018 20:40:24 +0000 (12:40 -0800)]
Update Intel hardware intrinsic APIs (#15601)

- add missing APIs
- fix generic names
- fix comments
- disambiguate with `using static`

6 years agoJIT: improve return types in cases with spill temps (#15766)
Andy Ayers [Mon, 8 Jan 2018 16:44:14 +0000 (08:44 -0800)]
JIT: improve return types in cases with spill temps (#15766)

If the jit sees that an inlinee has multiple return sites or has gc ref locals
it will choose to return the inline result via a temp. The jit was not assigning
a type to that temp and so losing track of some type information.

So, for inlinees returning ref types, initially type the return spill temp with
the declared return type of the method.

When importing we may discover that particular return sites will return more
specific types. If all discovered return sites agree, we can update the return
type for the spill temp to match the consensus improved type.

This can lead to removal of some type checks and also to devirtualization.

Addresses issues discussed in #9908 and #15743.

6 years agoMerge pull request #15772 from tannergooding/hwintrin-expand
Tanner Gooding [Sun, 7 Jan 2018 20:28:14 +0000 (12:28 -0800)]
Merge pull request #15772 from tannergooding/hwintrin-expand

Updating the x86 HWIntrinsic importer to not inline when returning gtNewMustThrowException

6 years agoUpdating the x86 HWIntrinsic importer to not inline when returning gtNewMustThrowExce...
Tanner Gooding [Sat, 6 Jan 2018 17:07:08 +0000 (09:07 -0800)]
Updating the x86 HWIntrinsic importer to not inline when returning gtNewMustThrowException

6 years agoMove types to shared corelib partition (#15768)
Jan Kotas [Sat, 6 Jan 2018 17:14:22 +0000 (09:14 -0800)]
Move types to shared corelib partition (#15768)

- YieldAwaitable: Fixed readonly mismatch
- Comparer: Made public to fix https://github.com/dotnet/corefx/issues/25973

6 years agoCleanup Activator (#15767)
Justin Van Patten [Sat, 6 Jan 2018 17:12:16 +0000 (09:12 -0800)]
Cleanup Activator (#15767)

6 years agoMerge pull request #15756 from briansull/fix-15671
Brian Sullivan [Sat, 6 Jan 2018 04:17:25 +0000 (20:17 -0800)]
Merge pull request #15756 from briansull/fix-15671

Fix for 15671

6 years agoChange just-in-time debugging registry keys. (#15722)
Mike McLaughlin [Sat, 6 Jan 2018 02:14:21 +0000 (18:14 -0800)]
Change just-in-time debugging registry keys. (#15722)

From "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" to "SOFTWARE\Microsoft\.NETCore\JITDebugging".

6 years agoARM r2r fix. (#15758)
Sergey Andreenko [Sat, 6 Jan 2018 02:11:39 +0000 (18:11 -0800)]
ARM r2r fix. (#15758)

Do not trash CALLEE_SAVED register r4.
Use r12 that is CALLEE_TRASH.

6 years agoJIT: fix decompose long left shift for overshift cases (#15704)
Andy Ayers [Sat, 6 Jan 2018 01:47:09 +0000 (17:47 -0800)]
JIT: fix decompose long left shift for overshift cases (#15704)

Need to reduce the shift amount modulo 64 to match the helper and
`gtFoldExpr` behavior. Since reduced amount must be less than 64
we can remove handling for that case.

Also updating the arm LLSH helper.

Re-enable the test case disabled by #15567 and also enable for arm/arm64.

Closes #15566.

6 years agoProposed fix for 15671
Brian Sullivan [Sat, 6 Jan 2018 01:34:21 +0000 (17:34 -0800)]
Proposed fix for 15671

If we are fetching an Array Length for an array ref that came from global memory
then for CSE safety we must use the conservative value number for both

6 years agoSimplify and unify EnumCalendars interop (#15762)
Jan Kotas [Sat, 6 Jan 2018 01:14:09 +0000 (17:14 -0800)]
Simplify and unify EnumCalendars interop (#15762)

Windows was not allocating GCHandles, switch Unix to do the same.

6 years agoMerge pull request #15639 from tannergooding/expand-hwintrin
Tanner Gooding [Sat, 6 Jan 2018 00:51:01 +0000 (16:51 -0800)]
Merge pull request #15639 from tannergooding/expand-hwintrin

Updating Compiler::impIntrinsic to always expand hardware intrinsics.

6 years agoJIT: fix issue with inline observations (#15713)
Andy Ayers [Sat, 6 Jan 2018 00:41:02 +0000 (16:41 -0800)]
JIT: fix issue with inline observations (#15713)

In DEBUG/CHECK builds the jit tries to keep track of failed inlines.

Because inlines can be rejected "early" (when the parent method
is being imported) as well as "late" (when their call site is encountered
by the inliner) there is a tracking mechanism to convey the early observations
that cause failures to be resurrected later on.

These observations sometimes didn't end up in the inline context, leading
to assertions when dumping methods.

Fix is to add a new way to propagate the earlier observation to the context
that bypasses some of the policy sanity checks and simply record the reason
that the inline failed.

6 years agoMerge pull request #15760 from briansull/fix-budget
Brian Sullivan [Sat, 6 Jan 2018 00:38:04 +0000 (16:38 -0800)]
Merge pull request #15760 from briansull/fix-budget

Fix issue where the unsigned value used for the the VN map select budget could underflow

6 years agoMerge pull request #15716 from CarolEidt/RefactorMinRegCount
Carol Eidt [Sat, 6 Jan 2018 00:22:13 +0000 (16:22 -0800)]
Merge pull request #15716 from CarolEidt/RefactorMinRegCount

Refactor minRegCount and eliminate auto

6 years agoRefactor minRegCount and eliminate auto
Carol Eidt [Thu, 4 Jan 2018 02:55:17 +0000 (18:55 -0800)]
Refactor minRegCount and eliminate auto

When building RefPositions in the TreeNodeInfoInit methods, it is very complex and messy to have the setting of the (debug-only) `minRegCandidateCount` spread all over. Instead, set them for all the RefPositions for a given node after they have been created.

This required the ability to create an iterator marking the end of the list, prior to creating the new ones.

In the process, eliminated the use of auto from lsra.cpp in the interest of strong typing, as well as avoiding the confusion of having things with `RefPosition` in their name that are actually iterators.

These changes originally caused failures with JitStressRegs because `getKillSetForNode()` had side effects - generating Kill `RefPosition`s for `MOD` & `DIV`. This is not actually necessary, and causes problems when the debug-only stress code was calling it *after* all the `RefPosition`s had been created. Also, this had the weird (existing) effect that duplicate kill `RefPosition`s were being generated in the stress case!

6 years agoFix issue where the unsigned value used for the the map select budget could underflow
Brian Sullivan [Fri, 5 Jan 2018 19:43:42 +0000 (11:43 -0800)]
Fix issue where the unsigned value used for the the map select budget could underflow
resulting in an unlimited budget

Changed m_mapSelectBudget and budget to be a signed integer
Added an assert that ensures that the remaining budget is between [0..m_mapSelectBudget]
Change the test for running out of budge to be a <= zero test instead of an equal zero test.

Fixed the bug in the handling of phiArgs in VNForMapSelectWork
by adding a check if we exceeded our budget when processing the first phiArg.

Added a define for DEFAULT_MAP_SELECT_BUDGET

6 years agoCleanup AppDomain (#15748)
Justin Van Patten [Fri, 5 Jan 2018 22:53:21 +0000 (14:53 -0800)]
Cleanup AppDomain (#15748)

Remove dead code and various cleanup.

6 years agoDetect ByRefLike types using attribute (#15745)
Jan Kotas [Fri, 5 Jan 2018 22:44:18 +0000 (14:44 -0800)]
Detect ByRefLike types using attribute (#15745)

* Detect ByRefLike types using attribute and improve error messages for their invalid use

Fixes #11371 and #15458

6 years agofix COMPlus_JitHalt for arm32. (#15761)
Sergey Andreenko [Fri, 5 Jan 2018 22:41:40 +0000 (14:41 -0800)]
fix COMPlus_JitHalt for arm32. (#15761)

6 years agoUpdate BuildTools, CoreClr, CoreFx to prerelease-02404-02, preview1-26105-01, preview...
dotnet-maestro-bot [Fri, 5 Jan 2018 19:53:37 +0000 (13:53 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02404-02, preview1-26105-01, preview1-26105-01, respectively (#15736)

6 years agoAggregateException: Use StringBuilder.AppendFormat (#15747)
Justin Van Patten [Fri, 5 Jan 2018 06:10:46 +0000 (22:10 -0800)]
AggregateException: Use StringBuilder.AppendFormat (#15747)

Use `AppendFormat(...)` instead of `Append(string.Format(...))` and
`AppendLine()` instead of `Append(Environment.NewLine)`.

6 years agoUnix: Specify Ordinal comparison in TimeZoneInfo (#15739)
Justin Van Patten [Fri, 5 Jan 2018 04:43:20 +0000 (20:43 -0800)]
Unix: Specify Ordinal comparison in TimeZoneInfo (#15739)

The default behavior for StartsWith uses the current culture for
comparisons. These should be ordinal.

6 years agoAddress ReflectionTypeLoadException feedback (#15738)
Justin Van Patten [Fri, 5 Jan 2018 04:42:58 +0000 (20:42 -0800)]
Address ReflectionTypeLoadException feedback (#15738)

* Address ReflectionTypeLoadException feedback

Address additional minor feedback from #15711:

 - Share the code for `Message` and `ToString`
 - Remove trailing `NewLine` from resulting string
 - Pass initial base string to `StringBuilder..ctor`
 - Cache the exceptions array in a local (passed-in as a parameter)
 - Move methods below properties
 - Remove trailing whitespace

6 years agoUse string.Contains(char) instead of Contains(string) (#15740)
Justin Van Patten [Fri, 5 Jan 2018 04:42:28 +0000 (20:42 -0800)]
Use string.Contains(char) instead of Contains(string) (#15740)

Now that string.Contains(char) exists, use it in corelib.

6 years agoAdding EnsureCapacity implementation for Dictionary (#15729)
Maryam Ariyan [Fri, 5 Jan 2018 04:23:39 +0000 (23:23 -0500)]
Adding EnsureCapacity implementation for Dictionary (#15729)

Adding EnsureCapacity implementation for Dictionary

6 years agoUpdating the existing HWIntrinsic tests to also test indirect calling via reflection.
Tanner Gooding [Fri, 5 Jan 2018 04:14:03 +0000 (20:14 -0800)]
Updating the existing HWIntrinsic tests to also test indirect calling via reflection.

6 years agoUpdate profiling API status (#15659)
Sung Yoon Whang [Fri, 5 Jan 2018 02:04:07 +0000 (18:04 -0800)]
Update profiling API status (#15659)

* Update profiling API status

* Fix wording for ARM ReJIT issue

6 years agoRemove duplicate callback to AppDomainCreationFinished in profiler (#15691)
Sung Yoon Whang [Fri, 5 Jan 2018 01:54:29 +0000 (17:54 -0800)]
Remove duplicate callback to AppDomainCreationFinished in profiler (#15691)

6 years agoChange monitor test (#15727)
Koundinya Veluri [Fri, 5 Jan 2018 01:34:35 +0000 (17:34 -0800)]
Change monitor test (#15727)

Relevant to https://github.com/dotnet/coreclr/issues/15592:
- Not sure what is actually happening, guessing there is an exception during TryEnter() and the exception from Exit() from the finally block is hiding the actual exception
- Moved TryEnter() to before the try block
- Fixed pass/fail condition for some similar monitor tests

6 years agoFix waitone test (#15728)
Koundinya Veluri [Fri, 5 Jan 2018 01:34:09 +0000 (17:34 -0800)]
Fix waitone test (#15728)

Fixes https://github.com/dotnet/coreclr/issues/15098:
- Probably a timing issue, changed to use Thread.Join() instead of sleeps

6 years agoUpdating Compiler::impIntrinsic to always expand hardware intrinsics.
Tanner Gooding [Wed, 27 Dec 2017 05:01:51 +0000 (21:01 -0800)]
Updating Compiler::impIntrinsic to always expand hardware intrinsics.

6 years agoReset lvIsStructField when removing promoted struct vars (#15721)
mikedn [Thu, 4 Jan 2018 23:40:59 +0000 (01:40 +0200)]
Reset lvIsStructField when removing promoted struct vars (#15721)

6 years agoMerge pull request #15726 from CarolEidt/Fix15237
Carol Eidt [Thu, 4 Jan 2018 23:35:03 +0000 (15:35 -0800)]
Merge pull request #15726 from CarolEidt/Fix15237

Keep OBJ on mismatched struct assignment

6 years agoRemove bad assert in Mutex & update error messages (#15734)
William Godbe [Thu, 4 Jan 2018 23:04:46 +0000 (15:04 -0800)]
Remove bad assert in Mutex & update error messages (#15734)

* Remove bad assert in Mutex & update error messages

* Redo error message

6 years agoMerge changes from TFS (#15732)
dotnet bot [Thu, 4 Jan 2018 21:59:50 +0000 (13:59 -0800)]
Merge changes from TFS (#15732)

* Remove unused CORJIT_FLAG_USE_SSE3_4

This changes the JIT-EE interface GUID.

This is the desktop side of https://github.com/dotnet/coreclr/pull/14825.

[tfs-changeset: 1685154]

* Pick up rest of desktop side changes

6 years agoMark all CoreCLR packages as non-shipping (#15725)
Davis Goodin [Thu, 4 Jan 2018 20:54:25 +0000 (14:54 -0600)]
Mark all CoreCLR packages as non-shipping (#15725)

This indicates the packages shouldn't be shipped to the NuGet gallery.

6 years ago[Arm64] Add Vector64 HW Intrinsic support
Steve MacLean [Wed, 3 Jan 2018 17:24:20 +0000 (12:24 -0500)]
[Arm64] Add Vector64 HW Intrinsic support

6 years agoUpdate BuildTools, CoreClr, CoreFx to prerelease-02403-01, preview1-26103-02, preview...
dotnet-maestro-bot [Thu, 4 Jan 2018 15:41:17 +0000 (09:41 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02403-01, preview1-26103-02, preview1-26104-02, respectively (#15684)

6 years agoFix link to IdnMapping.cs (#15717)
Jan Kotas [Thu, 4 Jan 2018 06:22:09 +0000 (22:22 -0800)]
Fix link to IdnMapping.cs (#15717)

6 years agoLink to THIRD-PARTY-NOTICES is fixed (#15665)
Atanu [Thu, 4 Jan 2018 06:14:55 +0000 (11:44 +0530)]
Link to THIRD-PARTY-NOTICES is fixed (#15665)

The link to the THIRD-PARTY-NOTICES page is broken in contributing.md [https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md]

The current link is [https://github.com/dotnet/coreclr/blob/master/THIRD-PARTY-NOTICES]

Seems it is missing a '.TXT' at the end of the URL. The correct link should be [https://github.com/dotnet/coreclr/blob/master/THIRD-PARTY-NOTICES.TXT] which is working fine.

Issue #15664

6 years agoCheck for null in ReflectionTypeLoadException Message/ToString (#15711)
William Godbe [Thu, 4 Jan 2018 04:35:55 +0000 (20:35 -0800)]
Check for null in ReflectionTypeLoadException Message/ToString (#15711)

6 years agoFix typo in docstring (#15714)
Russell Cohen [Thu, 4 Jan 2018 04:15:12 +0000 (20:15 -0800)]
Fix typo in docstring (#15714)

6 years agoKeep OBJ on mismatched struct assignment
Carol Eidt [Thu, 4 Jan 2018 01:45:07 +0000 (17:45 -0800)]
Keep OBJ on mismatched struct assignment

In a mismatched struct assignment, e.g. using Unsafe.As, we need to retain the OBJ(ADDR(lcl)) on the rhs of the assignment.

Fix #15237

6 years agoMerge pull request #15706 from dotnet-bot/from-tfs
Bruce Forstall [Thu, 4 Jan 2018 00:57:13 +0000 (16:57 -0800)]
Merge pull request #15706 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoUse the message that the ReflectionTypeLoadException exception was initialized with...
dotnet bot [Thu, 4 Jan 2018 00:46:05 +0000 (16:46 -0800)]
Use the message that the ReflectionTypeLoadException exception was initialized with (#15708)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoUpdating the build script to work when python is installed to a path containing a...
Tanner Gooding [Thu, 4 Jan 2018 00:45:10 +0000 (16:45 -0800)]
Updating the build script to work when python is installed to a path containing a space. (#15707)

6 years agoMerge pull request #15614 from BruceForstall/AddPushPeriodicViews
Bruce Forstall [Thu, 4 Jan 2018 00:26:47 +0000 (16:26 -0800)]
Merge pull request #15614 from BruceForstall/AddPushPeriodicViews

Add more Views to Jenkins UI

6 years agoFix size-on-disk benchmark to handle new CLI behavior (#15689)
Victor "Nate" Graf [Wed, 3 Jan 2018 22:55:35 +0000 (14:55 -0800)]
Fix size-on-disk benchmark to handle new CLI behavior (#15689)

Add flag to ensure ensure the compiler server is not used so that the installation can be deleted successfully after the test. Additionally use a more robust deletion strategy to ensure files are deleted and the test does not fail spuriously due to random IO errors.

6 years agoFix formatting
Andy Ayers [Wed, 3 Jan 2018 22:46:20 +0000 (14:46 -0800)]
Fix formatting

6 years agoMerge pull request #15602 from sdmaclea/PR-HWINT-XARCH-DEP
Bruce Forstall [Wed, 3 Jan 2018 22:24:34 +0000 (14:24 -0800)]
Merge pull request #15602 from sdmaclea/PR-HWINT-XARCH-DEP

[Arm64] getBaseTypeAndSizeOfSIMDType

6 years agoSpill the eval stack when storing to a pinned local.
Andy Ayers [Wed, 3 Jan 2018 22:11:18 +0000 (14:11 -0800)]
Spill the eval stack when storing to a pinned local.

The jit may not see direct interference between a pinned local and expressions that use the pinned value. So worst case it should assume that such interference exists and spill the stack when storing to a pinned local. Otherwise the jit may reorder unpins and calls that refer to pinned storage.

Fixes DevDiv 545749

[tfs-changeset: 1685045]

6 years agoPass manifest details to PushToBlobFeed (#15705)
Davis Goodin [Wed, 3 Jan 2018 21:47:58 +0000 (15:47 -0600)]
Pass manifest details to PushToBlobFeed (#15705)

6 years agoMerge pull request #15702 from sdmaclea/PR-EOL
Carol Eidt [Wed, 3 Jan 2018 19:23:24 +0000 (11:23 -0800)]
Merge pull request #15702 from sdmaclea/PR-EOL

Normalize lsra.h line endings

6 years agoNormalize lsra.h line endings
Steve MacLean [Wed, 3 Jan 2018 18:45:52 +0000 (13:45 -0500)]
Normalize lsra.h line endings

6 years agoPrint Inner Exceptions in ReflectionTypeLoadException ToString (#15688)
William Godbe [Wed, 3 Jan 2018 18:42:37 +0000 (10:42 -0800)]
Print Inner Exceptions in ReflectionTypeLoadException ToString (#15688)

* Print Inner Exceptions in ReflectionTypeLoadException ToString

* Simplify formatting

* Remove tab

* Fix newlines

* Use AppendLine

* Use foreach

* Remove ToString

* Update string & message

* Modify Message

* Remove parens

6 years ago[Arm64] getBaseTypeAndSizeOfSIMDType
Steve MacLean [Tue, 19 Dec 2017 22:53:17 +0000 (17:53 -0500)]
[Arm64] getBaseTypeAndSizeOfSIMDType

Remove XARCH platform dependencies
Disable Vector256 support on Arm64 until needed

6 years agoMerge pull request #15698 from mikedn/patch-1
Bruce Forstall [Wed, 3 Jan 2018 17:24:35 +0000 (09:24 -0800)]
Merge pull request #15698 from mikedn/patch-1

Fix minor formatting issue in jit-call-morphing.md

6 years agoMerge pull request #15699 from CarolEidt/FixFeatureSIMDDesc
Carol Eidt [Wed, 3 Jan 2018 16:59:41 +0000 (08:59 -0800)]
Merge pull request #15699 from CarolEidt/FixFeatureSIMDDesc

Fix description of FeatureSIMD

6 years agoUse Span to drop byte[1] allocations (#15680)
Ben Adams [Wed, 3 Jan 2018 16:40:03 +0000 (16:40 +0000)]
Use Span to drop byte[1] allocations (#15680)

6 years agoFix description of FeatureSIMD
Carol Eidt [Wed, 3 Jan 2018 16:15:23 +0000 (08:15 -0800)]
Fix description of FeatureSIMD

The associated dll is actually System.Numerics.Vectors.dll,
plus System.Numerics.dll on desktop.

6 years agoFix minor formatting issue in jit-call-morphing.md
mikedn [Wed, 3 Jan 2018 14:39:26 +0000 (16:39 +0200)]
Fix minor formatting issue in jit-call-morphing.md

6 years agoMerge pull request #15692 from BruceForstall/DisableJitdiffJobs
Bruce Forstall [Tue, 2 Jan 2018 23:44:08 +0000 (15:44 -0800)]
Merge pull request #15692 from BruceForstall/DisableJitdiffJobs

Disable jitdiff jobs

6 years agoDisable jitdiff jobs
Bruce Forstall [Tue, 2 Jan 2018 23:30:48 +0000 (15:30 -0800)]
Disable jitdiff jobs

They are failing now. Disable them until someone puts the effort
in to make them fully work.

6 years agoMerge pull request #15640 from tannergooding/hwintrin-lower
Carol Eidt [Tue, 2 Jan 2018 21:29:28 +0000 (13:29 -0800)]
Merge pull request #15640 from tannergooding/hwintrin-lower

Adding basic containment analysis support for hardware intrinsics.

6 years agoMerge pull request #15596 from CarolEidt/RemoveMap
Carol Eidt [Tue, 2 Jan 2018 19:58:33 +0000 (11:58 -0800)]
Merge pull request #15596 from CarolEidt/RemoveMap

LSRA: Replace operandToLocationInfoMap with a list

6 years agoRetry: Enable EventPipe across Unix and Windows (#15611)
Victor "Nate" Graf [Tue, 2 Jan 2018 17:47:20 +0000 (09:47 -0800)]
Retry: Enable EventPipe across Unix and Windows (#15611)

* Revert "Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)"

This reverts commit 302005ca8ae14eade37ddf4ac6e900617c1c166a.

* Fix ARM build break

* Use more explicit references to resolve build failures

* Fix compat with python3

* Disable FeaturePerfTracing on Windows as it is not ready

* Disable test for incomplete functionality

* Fix test diabled patterns

* Add license header

* Use keyword types for managed code

* Add message prefix

* More precisly condition generation of eventing sources

* Remove erroneously added changes

6 years agoUpdate BuildTools, CoreClr, CoreFx to prerelease-02402-01, preview1-26102-02, preview...
dotnet-maestro-bot [Tue, 2 Jan 2018 16:56:55 +0000 (10:56 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02402-01, preview1-26102-02, preview1-26102-01, respectively (#15678)

6 years agoGive a proper VN to GT_BOX (#15666)
mikedn [Tue, 2 Jan 2018 16:01:08 +0000 (18:01 +0200)]
Give a proper VN to GT_BOX (#15666)

GT_BOX doesn't do anything so it should just get the VN of its sole operand. This allows assertion prop to see that the result of BOX is not null (since the BOX operand is the result of an object allocation which is never null).

6 years agoEncoding: Don't alloc for zero length array (#13794)
Ben Adams [Tue, 2 Jan 2018 02:24:42 +0000 (02:24 +0000)]
Encoding: Don't alloc for zero length array (#13794)

6 years agoRemove some unnecessary boxing (#15676)
mikedn [Tue, 2 Jan 2018 02:24:03 +0000 (04:24 +0200)]
Remove some unnecessary boxing (#15676)