Bruce Forstall [Tue, 7 Nov 2017 18:41:18 +0000 (10:41 -0800)]
Merge pull request #14881 from sdmaclea/PR-ARM64-SIMD-ContainCheckStoreLoc
[Arm64] SIMD ContainCheckStoreLoc
Bruce Forstall [Tue, 7 Nov 2017 18:39:49 +0000 (10:39 -0800)]
Merge pull request #14879 from sdmaclea/PR-ARM64-SIMD-ins_Move_Extend
[ARM64] SIMD ins_Move_Extend
Wes Haggard [Tue, 7 Nov 2017 18:34:02 +0000 (10:34 -0800)]
Always attempt to create container to ensure it exists
Wes Haggard [Tue, 7 Nov 2017 17:46:31 +0000 (09:46 -0800)]
Fix RelativePath and item metadata in publishing project
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.
Jan Kotas [Tue, 7 Nov 2017 15:05:22 +0000 (07:05 -0800)]
Delete AllTestProjects.sln (#14894)
Fixes #14074
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.
Joseph Tremoulet [Tue, 7 Nov 2017 13:09:01 +0000 (08:09 -0500)]
Merge pull request #14415 from mikedn/rc-cleanup
RangeCheck cleanup
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
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.
Wes Haggard [Mon, 6 Nov 2017 23:46:20 +0000 (15:46 -0800)]
Fix the flat publishing to blob feed
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
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
Brian Sullivan [Tue, 7 Nov 2017 00:15:28 +0000 (16:15 -0800)]
Merge pull request #14888 from briansull/fix-break
Fix build break
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
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
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)
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.
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
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
Brian Sullivan [Mon, 6 Nov 2017 21:51:57 +0000 (13:51 -0800)]
Fix build break
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
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
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
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
Michelle McDaniel [Mon, 6 Nov 2017 19:20:40 +0000 (11:20 -0800)]
Reenable PGO optimization on release builds (#14885)
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
Ben Adams [Mon, 6 Nov 2017 18:25:38 +0000 (19:25 +0100)]
Add .NET Core 2.0 performance post (#14875)
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
Bruce Forstall [Mon, 6 Nov 2017 18:18:56 +0000 (10:18 -0800)]
Merge pull request #14873 from BruceForstall/ImproveCorefxAltjitTesting
Improve altjit corefx testing
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
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
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
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
Steve MacLean [Tue, 31 Oct 2017 22:37:44 +0000 (18:37 -0400)]
[Arm64] SIMD ContainCheckStoreLoc
Steve MacLean [Fri, 3 Nov 2017 17:22:36 +0000 (13:22 -0400)]
[ARM64] SIMD ins_Move_Extend
Steve MacLean [Mon, 6 Nov 2017 16:15:07 +0000 (11:15 -0500)]
[Arm64] Prefer EA_PTRSIZE for addresses
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.
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.
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
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
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.
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
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.
Hanjoung Lee [Sat, 4 Nov 2017 00:08:04 +0000 (09:08 +0900)]
Print duration to xunit output from `runtest.sh` (#14489)
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
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.
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
Justin Van Patten [Fri, 3 Nov 2017 21:47:08 +0000 (14:47 -0700)]
ReadOnlyMemory: Fix copy/paste mistake in doc comment
Carol Eidt [Fri, 3 Nov 2017 21:40:40 +0000 (14:40 -0700)]
Formatting
Steve MacLean [Fri, 3 Nov 2017 19:33:55 +0000 (15:33 -0400)]
[Arm64] SIMD12 Indirect Load/Store
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.
Brian Sullivan [Fri, 3 Nov 2017 20:56:52 +0000 (13:56 -0700)]
Improved the dump when fgOptimizeBranch clones statements
Steve MacLean [Fri, 3 Nov 2017 18:51:08 +0000 (14:51 -0400)]
[Arm64] emitIns_R_S imm size
Steve MacLean [Fri, 3 Nov 2017 18:06:51 +0000 (14:06 -0400)]
[Arm64] emitIns_S_R imm size
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)
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.
Steve MacLean [Fri, 3 Nov 2017 15:39:07 +0000 (11:39 -0400)]
[Arm64/Arm] genRangeCheck gtThrowKind
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
Carol Eidt [Fri, 3 Nov 2017 13:37:19 +0000 (06:37 -0700)]
Merge pull request #14824 from CarolEidt/Fix14798
Fix copyOrMoveRegInUse
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.
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
Bruce Forstall [Fri, 3 Nov 2017 06:01:14 +0000 (23:01 -0700)]
Merge pull request #14841 from BruceForstall/FixArm64Build
Fix 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.
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.
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()
Bruce Forstall [Fri, 3 Nov 2017 00:51:01 +0000 (17:51 -0700)]
Handle TryGetUse case with GT_PUTARG_SPLIT of GT_FIELD_LIST
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.
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.
Karthik Rajasekaran [Thu, 2 Nov 2017 22:14:50 +0000 (15:14 -0700)]
Allow coredumps inside docker (#14814)
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.
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)
jashook [Wed, 1 Nov 2017 22:30:34 +0000 (15:30 -0700)]
Orchestrated build Config signing.
Sign if Real or Test is passed.
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
Bruce Forstall [Thu, 2 Nov 2017 21:16:37 +0000 (14:16 -0700)]
Merge pull request #14809 from sdmaclea/PR-ARM64-genSIMDIntrinsicGetItem
[Arm64] SIMDIntrinsicGetItem
Bruce Forstall [Thu, 2 Nov 2017 21:15:17 +0000 (14:15 -0700)]
Merge pull request #14820 from sdmaclea/PR-ARM64-SIMDIntrinsicRelOp
[Arm64] genSIMDIntrinsicRelOp
Jarret Shook [Thu, 2 Nov 2017 21:04:57 +0000 (14:04 -0700)]
Merge pull request #14827 from jashook/wrong_eq
Invert eq
jashook [Thu, 2 Nov 2017 21:04:17 +0000 (14:04 -0700)]
Invert eq
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.
Jarret Shook [Thu, 2 Nov 2017 20:41:41 +0000 (13:41 -0700)]
[Build Pipeline] Add ability to skip testing (#14813)
JC Aguilera [Thu, 2 Nov 2017 20:20:16 +0000 (13:20 -0700)]
Merge pull request #14804 from dotnet/tfUrlUpdate
TransportFeed URL update
刘雨培 [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.
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
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
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.
Steve MacLean [Thu, 2 Nov 2017 16:26:46 +0000 (12:26 -0400)]
[Arm64] genSIMDIntrinsicRelOp
Handle SIMD12 special case
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
Jan Kotas [Thu, 2 Nov 2017 16:22:19 +0000 (09:22 -0700)]
Move Dictionary to shared CoreLib partition (#14795)
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.
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
Jarret Shook [Thu, 2 Nov 2017 05:00:52 +0000 (22:00 -0700)]
Fix sync's location. (#14817)
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
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
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)
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.
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.
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.
Steve MacLean [Tue, 31 Oct 2017 19:13:59 +0000 (15:13 -0400)]
[Arm64] Fix genSIMDIntrinsicDotProduct
Karthik Rajasekaran [Wed, 1 Nov 2017 21:00:43 +0000 (14:00 -0700)]
Revert sync test sync binaries (#14807)
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.