platform/upstream/coreclr.git
6 years agoMerge pull request #14287 from tannergooding/benchmarks-game
Tanner Gooding [Tue, 7 Nov 2017 16:24:28 +0000 (08:24 -0800)]
Merge pull request #14287 from tannergooding/benchmarks-game

Adding the new fastest mandelbrot implementation to benchmarks-game.

6 years agoDelete AllTestProjects.sln (#14894)
Jan Kotas [Tue, 7 Nov 2017 15:05:22 +0000 (07:05 -0800)]
Delete AllTestProjects.sln (#14894)

Fixes #14074

6 years agoTemporarily add back old TryParse signatures (#14893)
Stephen Toub [Tue, 7 Nov 2017 13:53:25 +0000 (08:53 -0500)]
Temporarily add back old TryParse signatures (#14893)

My previous change updated the primitive TryParse signatures based on
the new design, but until corefx consumes that change, live corefx bits
won't work with the latest coreclr bits.  Until it can be consumed, I'm
putting back the old signatures as well.

6 years agoMerge pull request #14415 from mikedn/rc-cleanup
Joseph Tremoulet [Tue, 7 Nov 2017 13:09:01 +0000 (08:09 -0500)]
Merge pull request #14415 from mikedn/rc-cleanup

RangeCheck cleanup

6 years agoMerge pull request #14891 from CarolEidt/Fix14626
Carol Eidt [Tue, 7 Nov 2017 06:09:09 +0000 (22:09 -0800)]
Merge pull request #14891 from CarolEidt/Fix14626

ARM64: Fix two register selection issues

6 years agoAdd test case for jit dup stloc optimization (#14803)
Andy Ayers [Tue, 7 Nov 2017 03:43:49 +0000 (19:43 -0800)]
Add test case for jit dup stloc optimization (#14803)

See #14784 for details.

6 years agoFix the flat publishing to blob feed
Wes Haggard [Mon, 6 Nov 2017 23:46:20 +0000 (15:46 -0800)]
Fix the flat publishing to blob feed

6 years agoDelete OldStyleClearD. (#14874)
Sergey Andreenko [Tue, 7 Nov 2017 00:38:05 +0000 (16:38 -0800)]
Delete OldStyleClearD. (#14874)

* Delete OldStyleClearD from flowgraph

BlockSetOps::Assign requires sets to have the same size, there is no an
additional risk to use ClearD then.

* delete OldStyleClearD from regalloc

regalloc doesn't create new local variables and doesn't change epoch.

* Delete OldStyleClearD from copyprop

CopyProp doesn't create new vars.
Also `VarSetOps::Assign(this, compCurLife, block->bbLiveIn); ` before
the loop requires epoch to be the same.

* Delete OldStyleClearD from assertionpop

Assertion prop doesn't change epoch.

* Delete OldStyleClearD from the emmit

Because it doesn't create new local vars.

* Delete declarations

6 years agoMerge pull request #14854 from sdmaclea/PR-ARM64-Slot-Immediate-Size
Carol Eidt [Tue, 7 Nov 2017 00:36:31 +0000 (16:36 -0800)]
Merge pull request #14854 from sdmaclea/PR-ARM64-Slot-Immediate-Size

ARM64 slot access immediate register size

6 years agoMerge pull request #14888 from briansull/fix-break
Brian Sullivan [Tue, 7 Nov 2017 00:15:28 +0000 (16:15 -0800)]
Merge pull request #14888 from briansull/fix-break

Fix build break

6 years agoMerge pull request #14281 from mikedn/mixed-type-relop
Carol Eidt [Tue, 7 Nov 2017 00:06:11 +0000 (16:06 -0800)]
Merge pull request #14281 from mikedn/mixed-type-relop

Cleanup some mixed type relops the JIT produces

6 years agoARM64: Fix two register selection issues
Carol Eidt [Mon, 6 Nov 2017 23:54:38 +0000 (15:54 -0800)]
ARM64: Fix two register selection issues

On ARM64 IP0 and IP1 are not in the register selection order, though there are some cases where they must be allocated. See #14607. So we may see them as free when looking for a register to spill.
Also, V15 was missing from the selection order (V16 was in the order twice).

Fix #14626

6 years agoUpdate CoreFx, PgoData to preview1-25906-03, master-20171105-0123, respectively ...
dotnet-maestro-bot [Mon, 6 Nov 2017 22:41:26 +0000 (14:41 -0800)]
Update CoreFx, PgoData to preview1-25906-03, master-20171105-0123, respectively (#14865)

6 years agoFix TryParse overloads using optional arguments (#14877)
Stephen Toub [Mon, 6 Nov 2017 22:36:38 +0000 (17:36 -0500)]
Fix TryParse overloads using optional arguments (#14877)

When we originally added Parse and TryParse overloads for `ReadOnlySpan<char>`, we used optional arguments to minimize the number of new overloads needed.  This worked decently well for Parse, but for TryParse it necessitated reordering the parameters from the string counterparts, so that the out result argument would come before the optional parameters.  This makes it more difficult to port string-based calls to span-based calls, and we agreed to add the missing overloads so that we could order the parameters "correctly" to match the existing string-based overloads.  This does so.

6 years agoShorten delay in some monitor tests to avoid timeout (#14852)
Koundinya Veluri [Mon, 6 Nov 2017 22:30:44 +0000 (14:30 -0800)]
Shorten delay in some monitor tests to avoid timeout (#14852)

Shorten delay in some monitor tests to avoid timeout

6 years agoFix GC reporting for slow tail call arguments of type `Span<T>` (#14826)
Koundinya Veluri [Mon, 6 Nov 2017 22:28:41 +0000 (14:28 -0800)]
Fix GC reporting for slow tail call arguments of type `Span<T>` (#14826)

Fix GC reporting for slow tail call arguments of type `Span<T>`

Fixes https://github.com/dotnet/coreclr/issues/9032:
- Refactored by-ref-like method table walking to find offsets of by-ref pointers in siginfo.hpp/cpp
- Reused that for appending GC layout when creating the copy-args helper for a slow tail call

6 years agoFix build break
Brian Sullivan [Mon, 6 Nov 2017 21:51:57 +0000 (13:51 -0800)]
Fix build break

6 years agoMerge pull request #14024 from mikedn/long-cast-comm
Carol Eidt [Mon, 6 Nov 2017 21:43:35 +0000 (13:43 -0800)]
Merge pull request #14024 from mikedn/long-cast-comm

Move genLongToIntCast call to codegenlinear

6 years agoMerge pull request #14735 from mikedn/emit-const-cleanup
Carol Eidt [Mon, 6 Nov 2017 21:42:29 +0000 (13:42 -0800)]
Merge pull request #14735 from mikedn/emit-const-cleanup

Cleanup const data emission

6 years agoRangeCheck cleanup
Mike Danes [Wed, 25 Oct 2017 18:01:32 +0000 (21:01 +0300)]
RangeCheck cleanup

* Remove unused function paramter `stmt`
* Remove unused function parameter `path`
* Remove unused function parameter `block`
* Use GenTreeLclVarCommon* instead of GenTree* where possible
* Track RangeCheck memory allocations
* Remove useless noway_asserts from MergeEdgeAssertions
* Stop passing the search path via a parameter
* Eliminate unnecessary search path lookup
* Cleanup some local variable uses
* Remove redundant hashtable lookup
* Remove unused keSsaVar
* Pass the actual binary node to BinOp functions
* Fix broken assert
* Remove unused keBinOp
* Remove redundant check

6 years agoCleanup BCLDebug (#14868)
Jan Kotas [Mon, 6 Nov 2017 20:56:00 +0000 (12:56 -0800)]
Cleanup BCLDebug (#14868)

- Delete BCLDebug and related types since it was replaced by the public System.Diagnostic.Debug
- Preserve commented out or conditionally compiled logging in a few place where it seemed potentially useful

Fixes #11389

6 years agoReenable PGO optimization on release builds (#14885)
Michelle McDaniel [Mon, 6 Nov 2017 19:20:40 +0000 (11:20 -0800)]
Reenable PGO optimization on release builds (#14885)

6 years agoMerge pull request #14855 from briansull/improved-jitdump
Brian Sullivan [Mon, 6 Nov 2017 19:15:10 +0000 (11:15 -0800)]
Merge pull request #14855 from briansull/improved-jitdump

Improved the dump when fgOptimizeBranch clones statements

6 years agoAdd .NET Core 2.0 performance post (#14875)
Ben Adams [Mon, 6 Nov 2017 18:25:38 +0000 (19:25 +0100)]
Add .NET Core 2.0 performance post (#14875)

6 years agoAllow any string length in Environment.SetEnvironmentVariable (#14872)
Yuri Vanin [Mon, 6 Nov 2017 18:20:02 +0000 (10:20 -0800)]
Allow any string length in Environment.SetEnvironmentVariable (#14872)

Fix for CoreFX #16766

6 years agoMerge pull request #14873 from BruceForstall/ImproveCorefxAltjitTesting
Bruce Forstall [Mon, 6 Nov 2017 18:18:56 +0000 (10:18 -0800)]
Merge pull request #14873 from BruceForstall/ImproveCorefxAltjitTesting

Improve altjit corefx testing

6 years agoMerge pull request #14506 from mikedn/alloc-mess
Brian Sullivan [Mon, 6 Nov 2017 18:18:17 +0000 (10:18 -0800)]
Merge pull request #14506 from mikedn/alloc-mess

Streamline JIT memory allocation

6 years agoMerge pull request #14871 from mikedn/vn-dead-divmod
Brian Sullivan [Mon, 6 Nov 2017 18:17:55 +0000 (10:17 -0800)]
Merge pull request #14871 from mikedn/vn-dead-divmod

Remove unused VNF_DIV_UN and VNF_MOD_UN

6 years agoMerge pull request #14840 from CarolEidt/ShrinkLSRADump
Carol Eidt [Mon, 6 Nov 2017 17:49:36 +0000 (09:49 -0800)]
Merge pull request #14840 from CarolEidt/ShrinkLSRADump

LSRA Dump: don't print unused regs

6 years agoMerge pull request #14857 from sdmaclea/PR-ARM64-SIMD12-IND
Bruce Forstall [Mon, 6 Nov 2017 17:11:42 +0000 (09:11 -0800)]
Merge pull request #14857 from sdmaclea/PR-ARM64-SIMD12-IND

[Arm64] SIMD12 Indirect Load/Store

6 years ago[Arm64] Prefer EA_PTRSIZE for addresses
Steve MacLean [Mon, 6 Nov 2017 16:15:07 +0000 (11:15 -0500)]
[Arm64] Prefer EA_PTRSIZE for addresses

6 years agoImprove altjit corefx testing
Bruce Forstall [Mon, 6 Nov 2017 06:22:57 +0000 (22:22 -0800)]
Improve altjit corefx testing

For altjit, we can't run managed code from .NET installs that
are not under test. The XSLT Compiler tests invoke an XSLT
Compiler from the machine installed desktop framework. When it
sees the AltJit variables, but no altjit compiler dll, it dies.
So, don't run those tests. They have been annotated with a new
attribute to allow this exclusion.

6 years agoRemove unused VNF_DIV_UN and VNF_MOD_UN
Mike Danes [Sun, 5 Nov 2017 17:42:24 +0000 (19:42 +0200)]
Remove unused VNF_DIV_UN and VNF_MOD_UN

Integer division operators do not use GTF_UNSIGNED. There are distinct unsigned operators (GT_UDIV and GT_UMOD) and VN already handles those directly.

6 years agoLimit min threads in thread pool to 1 (#14864)
Koundinya Veluri [Sun, 5 Nov 2017 02:01:39 +0000 (19:01 -0700)]
Limit min threads in thread pool to 1 (#14864)

Related to https://github.com/dotnet/coreclr/issues/14239

6 years agoMerge pull request #14851 from CarolEidt/Fix14372
Carol Eidt [Sun, 5 Nov 2017 00:40:42 +0000 (17:40 -0700)]
Merge pull request #14851 from CarolEidt/Fix14372

Unassign both floats if assigning double

6 years ago[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, abstract...
Jacek Blaszczynski [Sat, 4 Nov 2017 18:11:25 +0000 (19:11 +0100)]
[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, abstract MSBuild /maxcpucount switch (#14578)

This commit frees -ExtraParameters and uses MSBuild v15 extension point to control CL compiler parallelism.

If MSBuild 15.0 is available - installed with Visual Studio 2017 - CL parallelism control is achieved by using extension point in Microsoft.Common.props file which allows to include Directory.Build.props - for details see [Microsoft.Common.props] [1] file in MSBuild repo. https://github.com/Microsoft/msbuild/blob/b38e4ceeaaec36c5237ae698041e9b9f18c84876/src/Tasks/Microsoft.Common.props#L36.

MSBuild parallelism is controled via abstracted /maxcpucount command line switch
which now is available as -MSBuildNodeCount pass through run.cmd/run.sh command line
argument with default value equal to /maxcpucount (what defaults to number of logical processors).
This allows to control MSBuild parallelism on all supported platforms.

It is possible to control MSBuild parallelism programatically via MSBuild public
API using MaxNodeCount properties available on the following APIs:

Microsoft.Build.Evaluation.ProjectCollection.MaxNodeCount
Microsoft.Build.Execution.BuildParameters.MaxNodeCount
It's use in current build infrastructure would require creating unnecessary
complexity and was ruled out.

6 years agoMerge pull request #14859 from justinvp/rom
Stephen Toub [Sat, 4 Nov 2017 14:40:22 +0000 (10:40 -0400)]
Merge pull request #14859 from justinvp/rom

ReadOnlyMemory: Fix copy/paste mistake in doc comment

6 years agoFix perf-prep for throughput (#14845)
Michelle McDaniel [Sat, 4 Nov 2017 00:39:38 +0000 (17:39 -0700)]
Fix perf-prep for throughput (#14845)

There is a missing ! before checking to see if the throughput benchmarks
have already been downloaded. Currently, we download them if they
already exist, where we want to download them if they don't already
exist. This change fixes that.

6 years agoPrint duration to xunit output from `runtest.sh` (#14489)
Hanjoung Lee [Sat, 4 Nov 2017 00:08:04 +0000 (09:08 +0900)]
Print duration to xunit output from `runtest.sh` (#14489)

6 years agoMerge pull request #14858 from jashook/turn_off_publish_coreclr
Jarret Shook [Fri, 3 Nov 2017 22:47:44 +0000 (15:47 -0700)]
Merge pull request #14858 from jashook/turn_off_publish_coreclr

[BuildPipeline] Turn off publishing to myget

6 years ago[BuildPipeline] Turn off publishing to myget
jashook [Fri, 3 Nov 2017 21:35:24 +0000 (14:35 -0700)]
[BuildPipeline] Turn off publishing to myget

Do not publish to myget, unless the 'myget' PB_PublishType
is passed.

6 years agoMerge pull request #14849 from sdmaclea/PR-ARMARCH-genRangeCheck-gtThrowKind
Bruce Forstall [Fri, 3 Nov 2017 22:18:28 +0000 (15:18 -0700)]
Merge pull request #14849 from sdmaclea/PR-ARMARCH-genRangeCheck-gtThrowKind

[Arm64/Arm] genRangeCheck gtThrowKind

6 years agoReadOnlyMemory: Fix copy/paste mistake in doc comment
Justin Van Patten [Fri, 3 Nov 2017 21:47:08 +0000 (14:47 -0700)]
ReadOnlyMemory: Fix copy/paste mistake in doc comment

6 years agoFormatting
Carol Eidt [Fri, 3 Nov 2017 21:40:40 +0000 (14:40 -0700)]
Formatting

6 years ago[Arm64] SIMD12 Indirect Load/Store
Steve MacLean [Fri, 3 Nov 2017 19:33:55 +0000 (15:33 -0400)]
[Arm64] SIMD12 Indirect Load/Store

6 years agoUnassign both floats if assigning double
Carol Eidt [Fri, 3 Nov 2017 19:40:00 +0000 (12:40 -0700)]
Unassign both floats if assigning double

If the even half is unassigned, or a float, we need to check and unassign the odd half if it is assigned.

6 years agoImproved the dump when fgOptimizeBranch clones statements
Brian Sullivan [Fri, 3 Nov 2017 20:56:52 +0000 (13:56 -0700)]
Improved the dump when fgOptimizeBranch clones statements

6 years ago[Arm64] emitIns_R_S imm size
Steve MacLean [Fri, 3 Nov 2017 18:51:08 +0000 (14:51 -0400)]
[Arm64] emitIns_R_S imm size

6 years ago[Arm64] emitIns_S_R imm size
Steve MacLean [Fri, 3 Nov 2017 18:06:51 +0000 (14:06 -0400)]
[Arm64] emitIns_S_R imm size

6 years agoUpdate BuildTools, CoreFx, PgoData to prerelease-02203-01, preview1-25902-08, master...
dotnet-maestro-bot [Fri, 3 Nov 2017 20:09:56 +0000 (13:09 -0700)]
Update BuildTools, CoreFx, PgoData to prerelease-02203-01, preview1-25902-08, master-20171103-0222, respectively (#14834)

6 years agoLSRA Dump: don't print unused regs
Carol Eidt [Fri, 3 Nov 2017 02:02:11 +0000 (19:02 -0700)]
LSRA Dump: don't print unused regs

Also, eliminate the non-terse dump mode.

6 years ago[Arm64/Arm] genRangeCheck gtThrowKind
Steve MacLean [Fri, 3 Nov 2017 15:39:07 +0000 (11:39 -0400)]
[Arm64/Arm] genRangeCheck gtThrowKind

6 years agoMerge pull request #14836 from stephentoub/valuetaskinterfaces
Stephen Toub [Fri, 3 Nov 2017 13:42:12 +0000 (09:42 -0400)]
Merge pull request #14836 from stephentoub/valuetaskinterfaces

Move I{Configured}ValueTaskAwaiter interfaces to correct location

6 years agoMerge pull request #14824 from CarolEidt/Fix14798
Carol Eidt [Fri, 3 Nov 2017 13:37:19 +0000 (06:37 -0700)]
Merge pull request #14824 from CarolEidt/Fix14798

Fix copyOrMoveRegInUse

6 years agoMark applicable structs as readonly (#14789)
Stephen Toub [Fri, 3 Nov 2017 11:45:14 +0000 (07:45 -0400)]
Mark applicable structs as readonly (#14789)

In a few cases (e.g. nullable), I added readonly to fields in order to allow readonly on the type.

6 years agoMerge pull request #14838 from BruceForstall/Fix14551
Bruce Forstall [Fri, 3 Nov 2017 06:02:23 +0000 (23:02 -0700)]
Merge pull request #14838 from BruceForstall/Fix14551

Handle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST

6 years agoMerge pull request #14841 from BruceForstall/FixArm64Build
Bruce Forstall [Fri, 3 Nov 2017 06:01:14 +0000 (23:01 -0700)]
Merge pull request #14841 from BruceForstall/FixArm64Build

Fix arm64 build

6 years agoFix arm64 build
Bruce Forstall [Fri, 3 Nov 2017 05:56:07 +0000 (22:56 -0700)]
Fix arm64 build

to have broken the arm64 build. Fix one file by removing non-ASCII
characters.

6 years agofix (#14837)
Sergey Andreenko [Fri, 3 Nov 2017 03:08:27 +0000 (20:08 -0700)]
fix (#14837)

GTF_RET means that this flag is valid only for GTF_RET node, but this check was missed.
The issue was in collision between GTF_RET_MERGED and GTF_CALL_UNMANAGED.

6 years agoMerge pull request #14801 from briansull/newfix
Brian Sullivan [Fri, 3 Nov 2017 01:21:24 +0000 (18:21 -0700)]
Merge pull request #14801 from briansull/newfix

Fixes Assertion failed 'firstILBlock->hasProfileWeight()

6 years agoHandle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST
Bruce Forstall [Fri, 3 Nov 2017 00:51:01 +0000 (17:51 -0700)]
Handle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST

6 years agoMove I{Configured}ValueTaskAwaiter interfaces to correct location
Stephen Toub [Fri, 3 Nov 2017 00:14:32 +0000 (20:14 -0400)]
Move I{Configured}ValueTaskAwaiter interfaces to correct location

They need to be in the shared partition.

6 years agoJIT: Merge legacy inlining policies (#14815)
Andy Ayers [Thu, 2 Nov 2017 23:28:22 +0000 (16:28 -0700)]
JIT: Merge legacy inlining policies (#14815)

Merge the LegacyPolicy and EnhancedLegacyPolicy into a unified policy that
behaves like the EnhancedLegacyPolicy. Rename this policy to the DefaultPolicy
since it is in fact the default inline policy.

We had been keeping the LegacyPolicy around in case we ever needed to revert
back to the initial RyuJit inline behavior, but that safeguard no longer seems
necessary.

Remove some of the checks in flowgraph.cpp that alter behavior based on policy
as they are no longer needed.

Remove the jit config setting that allowed selection of the LegacyPolicy.

This is the first stage in fixing #14441.

6 years agoAllow coredumps inside docker (#14814)
Karthik Rajasekaran [Thu, 2 Nov 2017 22:14:50 +0000 (15:14 -0700)]
Allow coredumps inside docker (#14814)

6 years agoMerge pull request #14811 from jashook/signing_var_changes
Jarret Shook [Thu, 2 Nov 2017 22:10:16 +0000 (15:10 -0700)]
Merge pull request #14811 from jashook/signing_var_changes

Orchestrated build Config signing.

6 years agoUpdate BuildTools, CoreClr, PgoData to prerelease-02202-02, preview1-25901-06, master...
dotnet-maestro-bot [Thu, 2 Nov 2017 21:37:57 +0000 (14:37 -0700)]
Update BuildTools, CoreClr, PgoData to prerelease-02202-02, preview1-25901-06, master-20171102-0019, respectively (#14766)

6 years agoOrchestrated build Config signing.
jashook [Wed, 1 Nov 2017 22:30:34 +0000 (15:30 -0700)]
Orchestrated build Config signing.

Sign if Real or Test is passed.

6 years agoMerge pull request #14796 from sdmaclea/PR-SIMD-lower-bounds-test
Bruce Forstall [Thu, 2 Nov 2017 21:17:09 +0000 (14:17 -0700)]
Merge pull request #14796 from sdmaclea/PR-SIMD-lower-bounds-test

Add SIMD get_Item lower bounds test

6 years agoMerge pull request #14809 from sdmaclea/PR-ARM64-genSIMDIntrinsicGetItem
Bruce Forstall [Thu, 2 Nov 2017 21:16:37 +0000 (14:16 -0700)]
Merge pull request #14809 from sdmaclea/PR-ARM64-genSIMDIntrinsicGetItem

[Arm64] SIMDIntrinsicGetItem

6 years agoMerge pull request #14820 from sdmaclea/PR-ARM64-SIMDIntrinsicRelOp
Bruce Forstall [Thu, 2 Nov 2017 21:15:17 +0000 (14:15 -0700)]
Merge pull request #14820 from sdmaclea/PR-ARM64-SIMDIntrinsicRelOp

[Arm64] genSIMDIntrinsicRelOp

6 years agoMerge pull request #14827 from jashook/wrong_eq
Jarret Shook [Thu, 2 Nov 2017 21:04:57 +0000 (14:04 -0700)]
Merge pull request #14827 from jashook/wrong_eq

Invert eq

6 years agoInvert eq
jashook [Thu, 2 Nov 2017 21:04:17 +0000 (14:04 -0700)]
Invert eq

6 years agoRemove invalid assert in CLRLifoSemaphore (#14805)
Koundinya Veluri [Thu, 2 Nov 2017 20:49:11 +0000 (13:49 -0700)]
Remove invalid assert in CLRLifoSemaphore (#14805)

After https://github.com/dotnet/coreclr/pull/14535, the assert is no longer valid. A thread that times out does not decrement the count of waiters signaled to wake because a timed-out thread does not observe a signal to the object that was waited upon. If there were no other waiters to observe the signal, the count of waiters signaled to wake can become greater than the waiter count. This is valid, and tracks how many signals are pending. I don't think there is a good way to update the assert to reflect this, removed the assert.

6 years ago[Build Pipeline] Add ability to skip testing (#14813)
Jarret Shook [Thu, 2 Nov 2017 20:41:41 +0000 (13:41 -0700)]
[Build Pipeline] Add ability to skip testing (#14813)

6 years agoMerge pull request #14804 from dotnet/tfUrlUpdate
JC Aguilera [Thu, 2 Nov 2017 20:20:16 +0000 (13:20 -0700)]
Merge pull request #14804 from dotnet/tfUrlUpdate

TransportFeed URL update

6 years agoSwitch to /utf-8 for MSVC (#14822)
刘雨培 [Thu, 2 Nov 2017 20:06:00 +0000 (04:06 +0800)]
Switch to /utf-8 for MSVC (#14822)

* Add /source-charset:utf-8 to force MSVC to compile source as UTF-8.

* Fix the illegal character in siginfo.cpp.

6 years agoFix copyOrMoveRegInUse
Carol Eidt [Thu, 2 Nov 2017 19:39:50 +0000 (12:39 -0700)]
Fix copyOrMoveRegInUse

When checking whether a `copyReg` or `moveReg` is still in use, only consider it in use if it is assigned to the register we care about.
We can have strings of `copyReg`s to different registers, especially in stress modes.

Fix #14798

6 years agoMerge pull request #14797 from BruceForstall/FixBuildCmdPriorityHandling
Bruce Forstall [Thu, 2 Nov 2017 18:08:11 +0000 (11:08 -0700)]
Merge pull request #14797 from BruceForstall/FixBuildCmdPriorityHandling

Fix handling of `-priority=N` argument in build.cmd

6 years agoFixes Assertion failed 'firstILBlock->hasProfileWeight()
Brian Sullivan [Wed, 1 Nov 2017 18:31:17 +0000 (11:31 -0700)]
Fixes Assertion failed 'firstILBlock->hasProfileWeight()

When creating a new top block we need to use inheritWeight to properly initialize the the block weight and the profile data flag
The fix now handles multiple predecessor blocks that each contribute profile weights to the newT block.

6 years ago[Arm64] genSIMDIntrinsicRelOp
Steve MacLean [Thu, 2 Nov 2017 16:26:46 +0000 (12:26 -0400)]
[Arm64] genSIMDIntrinsicRelOp

Handle SIMD12 special case

6 years ago[Arm64] SIMDIntrinsicGetItem
Steve MacLean [Mon, 30 Oct 2017 21:37:52 +0000 (17:37 -0400)]
[Arm64] SIMDIntrinsicGetItem

Fix srcCount
Fix item containment
Implement [Arm64] genSIMDIntrinsicGetItem w/ non const index
Handle out of range const index

6 years agoMove Dictionary to shared CoreLib partition (#14795)
Jan Kotas [Thu, 2 Nov 2017 16:22:19 +0000 (09:22 -0700)]
Move Dictionary to shared CoreLib partition (#14795)

6 years agoAdd perf pipeline job full groovy (#14397)
Michelle McDaniel [Thu, 2 Nov 2017 16:20:26 +0000 (09:20 -0700)]
Add perf pipeline job full groovy (#14397)

This change converts our perf testing to use pipeline jobs. Pipeline
jobs allow us to do the following:

1) Test on the same commit for each of the test legs
2) Parallelize the build and test steps.
3) Separate the build and test steps from one another. This gives us the
ability to use the same build assets for all of the test legs of the
same configuration. It also allows us to build on virtual machines and
test on perf machines, so we only use the perf resources for testing.
4) Have different test scenarios for PRs and rolling. This isn't
strictly a benefit of pipeline jobs, but certainly is made easier by
them.
5) Allows us to have one trigger for PR jobs which will get us all the
perf testing scenarios.

This change also cleans up the groovy scripting for perf testing.

6 years agoMerge pull request #14791 from sdmaclea/PR-ARM64-impSIMDSelect
Carol Eidt [Thu, 2 Nov 2017 14:34:54 +0000 (07:34 -0700)]
Merge pull request #14791 from sdmaclea/PR-ARM64-impSIMDSelect

[Arm64] Fix impSIMDSelect

6 years agoFix sync's location. (#14817)
Jarret Shook [Thu, 2 Nov 2017 05:00:52 +0000 (22:00 -0700)]
Fix sync's location. (#14817)

6 years agoMerge pull request #14808 from sdmaclea/PR-ARM64-genSIMDIntrinsicDotProduct
Bruce Forstall [Wed, 1 Nov 2017 23:37:09 +0000 (16:37 -0700)]
Merge pull request #14808 from sdmaclea/PR-ARM64-genSIMDIntrinsicDotProduct

[Arm64] Fix genSIMDIntrinsicDotProduct

6 years agoMerge pull request #14812 from BruceForstall/AddPeriodicAltjitTriggers
Bruce Forstall [Wed, 1 Nov 2017 23:27:55 +0000 (16:27 -0700)]
Merge pull request #14812 from BruceForstall/AddPeriodicAltjitTriggers

Enable periodic triggers for `x86_arm_altjit` and `x64_arm64_altjit` jobs

6 years ago[Local GC] Fix (another) ScanContext layout issue when building without FEATURE_REDHA...
Sean Gillespie [Wed, 1 Nov 2017 23:16:23 +0000 (16:16 -0700)]
[Local GC] Fix (another) ScanContext layout issue when building without FEATURE_REDHAWK (#14777)

6 years agoEnable periodic triggers for x86_arm_altjit and x64_arm64_altjit jobs
Bruce Forstall [Wed, 1 Nov 2017 22:42:44 +0000 (15:42 -0700)]
Enable periodic triggers for x86_arm_altjit and x64_arm64_altjit jobs

These jobs are getting clean enough where having them regularly run
will be valuable.

6 years agoJIT: fix overly aggressive box-unbox.any assert (#14799)
Andy Ayers [Wed, 1 Nov 2017 22:29:16 +0000 (15:29 -0700)]
JIT: fix overly aggressive box-unbox.any assert (#14799)

A recently added assert was trying to ensure that `compareTypesForEqualty`
caught all the box-unbox.any cases we got before by direct handle comparison.
But there are cases where identical handles cannot resolve equality
comparisons, eg when the handles represent shared types like __Canon, and
the assert was not screening for those.

Seems simplest just to remove the assert, it was really only of value when
coding up the new jit interface method.

Closes #14780.

6 years agoJIT: convert fixed-sized locallocs to locals, enable inlining (#14623)
Andy Ayers [Wed, 1 Nov 2017 22:17:40 +0000 (15:17 -0700)]
JIT: convert fixed-sized locallocs to locals, enable inlining (#14623)

Optimize fixed sized locallocs of 32 bytes or less to use local buffers,
if the localloc is not in a loop.

Also "optimize" the degenerate 0 byte case.

Allow inline candidates containing localloc, but fail inlining if any
of a candidate's locallocs do not convert to local buffers.

The 32 byte size threshold was arrived at empirically; larger values did
not enable many more cases and started seeinge size bloat because of
larger stack offsets.

We can revise this threshold if we are willing to reorder locals and see
fixed sized cases larger than 32 bytes.

Closes #8542.

Also add missing handler for the callsite is in try region, this was
an oversight.

6 years ago[Arm64] Fix genSIMDIntrinsicDotProduct
Steve MacLean [Tue, 31 Oct 2017 19:13:59 +0000 (15:13 -0400)]
[Arm64] Fix genSIMDIntrinsicDotProduct

6 years agoRevert sync test sync binaries (#14807)
Karthik Rajasekaran [Wed, 1 Nov 2017 21:00:43 +0000 (14:00 -0700)]
Revert sync test sync binaries (#14807)

6 years agoUpdating xUnit Benchmark Scenarios to capture Etw with Pmc support. (#14734)
José Rivero [Wed, 1 Nov 2017 20:11:04 +0000 (13:11 -0700)]
Updating xUnit Benchmark Scenarios to capture Etw with Pmc support. (#14734)

- Adding 'tiered' jitting
- Enable JitBench to capture Pmc data (Profile=On)
- Fixed some xUnit performance warnings
- Enforce DOTNET_MULTILEVEL_LOOKUP environment to be turned off
- Specify `dotnet publish` output directory.

6 years agoPublishing to the transport feed main feed
JC Aguilera [Wed, 1 Nov 2017 19:45:09 +0000 (12:45 -0700)]
Publishing to the transport feed main feed

Supporting publishing to the main feed where the relative path is empty

6 years agoMerge pull request #14792 from sdmaclea/PR-SIMD-negative-get_Item
Bruce Forstall [Wed, 1 Nov 2017 19:29:27 +0000 (12:29 -0700)]
Merge pull request #14792 from sdmaclea/PR-SIMD-negative-get_Item

SIMD Handle negative indicies in get_Item

6 years agoMerge pull request #14788 from sdmaclea/PR-ARM64-9b-INSTR
Bruce Forstall [Wed, 1 Nov 2017 19:26:55 +0000 (12:26 -0700)]
Merge pull request #14788 from sdmaclea/PR-ARM64-9b-INSTR

[Arm64] Instruction requires 9 bits now

6 years agoMerge pull request #14781 from fiigii/x86reg
Bruce Forstall [Wed, 1 Nov 2017 19:25:32 +0000 (12:25 -0700)]
Merge pull request #14781 from fiigii/x86reg

[RyuJIT/X86] Limit byte register candidates for CRC32

6 years agoTransportFeed URL update
JC Aguilera [Wed, 1 Nov 2017 19:11:27 +0000 (12:11 -0700)]
TransportFeed URL update

Updating URL to point to the new main feed

6 years ago[RyuJit/ARMARCH] lower arg with list of float fields. (#14753)
Sergey Andreenko [Wed, 1 Nov 2017 19:06:26 +0000 (12:06 -0700)]
[RyuJit/ARMARCH] lower arg with list of float fields. (#14753)

apply bitcast on reg fields
rename ReplaceArgWithPutArgOrBitcast