Carol Eidt [Fri, 2 Feb 2018 17:17:32 +0000 (09:17 -0800)]
Merge pull request #16157 from dotnetrt/sse2fix
Fix validation code in Sse2.MultiplyLow tests
mikedn [Fri, 2 Feb 2018 15:00:26 +0000 (17:00 +0200)]
Ifdef out Compiler::lvaVarPref (#15329)
Maira Wenzel [Fri, 2 Feb 2018 14:47:49 +0000 (06:47 -0800)]
update cla link (#16170)
John Doe [Thu, 1 Feb 2018 22:24:41 +0000 (14:24 -0800)]
ajdust -> adjust (dotnet/corert#5327)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Sergey Andreenko [Fri, 2 Feb 2018 06:59:54 +0000 (22:59 -0800)]
[R2R] add a virtualStubParamInfo as an argument (#15910)
* add a virtualStubParamInfo as an argument
* Revert legacy workaround from lower.
Brian Robbins [Fri, 2 Feb 2018 02:48:34 +0000 (18:48 -0800)]
Add New EventPipe Tests (#16130)
Russ Keldorph [Fri, 2 Feb 2018 01:56:46 +0000 (17:56 -0800)]
Revert "Disable some test cases to workaround compiler bug" (#16161)
This reverts commit
a0033795f551053cb199d85c77926f0840f5b583.
Fixes #12233
Jan Vorlicek [Fri, 2 Feb 2018 01:54:47 +0000 (02:54 +0100)]
Fix detection of YMM registers presence (#16168)
It was found that we incorrectly try to restore YMM registers in RtlRestoreContext
when the processor supports xstate, but doesn't have YMM registers. This change
fixes that by testing the YMM presence flag too.
Carol Eidt [Fri, 2 Feb 2018 00:45:03 +0000 (16:45 -0800)]
Merge pull request #16092 from CarolEidt/RefactorRefBuilding
Refactor RefPosition and Interval Building
Sergey Andreenko [Fri, 2 Feb 2018 00:31:46 +0000 (16:31 -0800)]
Fix DevDiv_543045 (#16167)
Carol Eidt [Fri, 2 Feb 2018 00:15:48 +0000 (16:15 -0800)]
Add lsrabuild.cpp to jit.settings.targets
Stephen Toub [Thu, 1 Feb 2018 22:22:00 +0000 (17:22 -0500)]
Use ValueTask shared from corelib (dotnet/corefx#26636)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
gbalykov [Thu, 1 Feb 2018 23:46:39 +0000 (02:46 +0300)]
Memory footprint gc latency level (#15469)
Starting the work on latency levels
Current tuning is latency_level_balanced
Added the latency_level_memory_footprint level for optimizing for memory footprint
Carol Eidt [Thu, 1 Feb 2018 22:59:11 +0000 (14:59 -0800)]
Fix Arm64 compile error
Carol Eidt [Mon, 29 Jan 2018 00:20:51 +0000 (16:20 -0800)]
Refactor RefPosition and Interval Building
Move code for building `RefPosition`s and `Interval`s out of lsra.cpp into lsrabuild.cpp. Also, move common code from lsraarm*.cpp and lsraxarch.cpp to lsrabuild.cpp.
Maintain the `ListNodePool` on the `LinearScan` object to be used by all the building methods.
Rename `TreeNodeInfoInit` methods to `Build`, to more accurately reflect the next round of changes where they will build the `RefPosition`s directly.
Jarret Shook [Thu, 1 Feb 2018 19:27:19 +0000 (11:27 -0800)]
Merge pull request #16155 from jashook/merge_jit_and_JIT
Remove lower case jit test dir
Jacek Blaszczynski [Thu, 1 Feb 2018 18:58:52 +0000 (19:58 +0100)]
Fix validation code in Sse2.MultiplyLow tests
Fixes #16153
jashook [Thu, 1 Feb 2018 18:31:37 +0000 (10:31 -0800)]
Remote lower case jit test dir
dotnet-maestro-bot [Thu, 1 Feb 2018 17:05:53 +0000 (11:05 -0600)]
Update CoreClr, CoreFx to preview2-26201-05, preview2-26201-05, respectively (#16150)
Tanner Gooding [Wed, 31 Jan 2018 16:46:20 +0000 (08:46 -0800)]
Fixing some of the x86 HWIntrinsics to only use byteable registers, where required
Tanner Gooding [Wed, 31 Jan 2018 05:18:45 +0000 (21:18 -0800)]
Moving the Sse Compare*OrderedScalar and Compare*UnorderedScalar tests to use a template.
Tanner Gooding [Wed, 31 Jan 2018 04:43:26 +0000 (20:43 -0800)]
Moving the Sse max/min tests to use the template.
Tanner Gooding [Wed, 31 Jan 2018 04:30:58 +0000 (20:30 -0800)]
Moving the Sse comparison tests to use the template.
Steve MacLean [Thu, 1 Feb 2018 13:22:18 +0000 (08:22 -0500)]
[Arm64] Add Lower Compare Zero comments
Steve MacLean [Wed, 31 Jan 2018 21:30:31 +0000 (16:30 -0500)]
[Arm64] HWIntrinsic codegen function headers
Steve MacLean [Wed, 31 Jan 2018 15:51:49 +0000 (10:51 -0500)]
[Arm64] Lower Unsigned Compare Zero
Steve MacLean [Wed, 31 Jan 2018 17:48:13 +0000 (12:48 -0500)]
[Arm64] Implement Simd.SetAllVector*
Steve MacLean [Tue, 30 Jan 2018 16:21:09 +0000 (11:21 -0500)]
[Arm64] Implement Simd.BitwiseSelect
Steve MacLean [Fri, 26 Jan 2018 22:24:54 +0000 (17:24 -0500)]
[Arm64] Implement Simd.Extract
dotnet-maestro-bot [Thu, 1 Feb 2018 08:07:15 +0000 (02:07 -0600)]
Update CoreClr, CoreFx to preview2-26201-01, preview2-26201-01, respectively (#16142)
Ahson Khan [Thu, 1 Feb 2018 08:03:49 +0000 (00:03 -0800)]
Change the Span ToString semantics to return the contents for T=char (#16143)
Tanner Gooding [Thu, 1 Feb 2018 04:13:27 +0000 (20:13 -0800)]
Rename ConvertScalarToVector128UInt32Scalar to ConvertScalarToVector128UInt32
Tanner Gooding [Thu, 1 Feb 2018 00:39:39 +0000 (16:39 -0800)]
Updating IF_RWR_RRD_MRD_CNS and IF_RWR_RRD_SRD_CNS to encode reg2, rather than reg1, in 3456
Carol Eidt [Thu, 1 Feb 2018 04:40:46 +0000 (20:40 -0800)]
Merge pull request #16136 from CarolEidt/Fix16135
Fix encoding of RCPPS and RSQRTPS
Maryam Ariyan [Wed, 31 Jan 2018 23:49:03 +0000 (18:49 -0500)]
Adding TrimExcess APIs for Dictionary class
Andy Ayers [Thu, 1 Feb 2018 02:01:22 +0000 (18:01 -0800)]
Add ETL flags for ReadyToRun (#15801)
Add flags to track the presence of ReadyToRun codegen in an assembly
and module.
Add jitting flags to indicate when a method is jitted because the
precompiled code was rejected, either by a profiler or by ReadyToRun
dependence tracking.
Together these can be used to distingish between
* methods jitted because their assemblies were not precompiled
* methods jitted because they were not precompiled in an otherwise
precompiled assembly
Sergey Andreenko [Thu, 1 Feb 2018 01:52:39 +0000 (17:52 -0800)]
Delete GenTreePtr. (#16027)
* jit sources: Each local pointer variable must be declared on its own line.
Implement https://github.com/dotnet/coreclr/blob/master/Documentation/coding-guidelines/clr-jit-coding-conventions.md#101-pointer-declarations
Each local pointer variable must be declared on its own line.
* add constGenTreePtr
* delete GenTreePtr
* delete constGenTreePtr
* fix arm
Carol Eidt [Thu, 1 Feb 2018 01:50:08 +0000 (17:50 -0800)]
Merge pull request #16116 from fiigii/fixgeneric
Fix table-driven framework for one-type-arg generic HW intrinsics
Tanner Gooding [Thu, 1 Feb 2018 01:35:45 +0000 (17:35 -0800)]
Merge pull request #16114 from tannergooding/hwintrin-flags
Fixing up some hwintrinsic flags for the x86 intrinsics.
David Mason [Thu, 1 Feb 2018 00:56:27 +0000 (16:56 -0800)]
[local gc] Enable eventing (#16120)
* move GC etw enums to gcinterface.ee.h
* add GetActiveSyncBlockCount
* refactor reference to ETW::GCLog::ShouldTrackMovementForEtw()
* mov g_dwHandles to gc side
* enable FEATURE_EVENT_TRACE for gc
Tanner Gooding [Wed, 31 Jan 2018 02:35:48 +0000 (18:35 -0800)]
Fixing up some hwintrinsic flags for the x86 intrinsics.
Anirudh Agnihotry [Wed, 31 Jan 2018 23:36:07 +0000 (15:36 -0800)]
Span overload added for path apis (#15608)
Span overload path apis
Carol Eidt [Wed, 31 Jan 2018 23:27:02 +0000 (15:27 -0800)]
Fix encoding of RCPPS and RSQRTPS
These instructions do not permit a 3rd register, and the vvvv field must be all ones (same as xmm0 encoding, which is why this can go undetected)
Fix #16135
Fei Peng [Wed, 31 Jan 2018 23:26:33 +0000 (15:26 -0800)]
Fix table-driven framework for one-type-arg generic intrinsics
Andy Ayers [Wed, 31 Jan 2018 22:08:05 +0000 (14:08 -0800)]
JIT: handle GT_SUB in gtClone (#16128)
For uniformity's sake, handle GT_SUB just like GT_ADD in gtClone.
Otherwise for a span s, the jit codegen for s[i+1] and s[i-1] can
end up substantially different.
See notes in #13097.
Andy Ayers [Wed, 31 Jan 2018 22:06:59 +0000 (14:06 -0800)]
JIT: add a bit more importer folding (#16111)
Eagerly fold expression trees for non-branch conditional operations.
Leads to elimination of boxes in some idiomatic uses. See notes and
examples in #14472.
dotnet-maestro-bot [Wed, 31 Jan 2018 21:31:28 +0000 (15:31 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview2-02431-05, preview2-26131-05, preview2-26131-05, master-
20180131-0033, respectively (#16131)
Jan Kotas [Wed, 31 Jan 2018 19:09:50 +0000 (11:09 -0800)]
Merge pull request #16091 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02430-04, preview2-26130-05, preview2-26130-01, master-
20180130-0046, respectively (master)
Jan Kotas [Wed, 31 Jan 2018 17:23:31 +0000 (09:23 -0800)]
Disable MemoryMarshal.CreateSpan tests
Ian Hays [Tue, 30 Jan 2018 18:58:52 +0000 (10:58 -0800)]
Remove Span DangerousGetPinnableReference
Ian Hays [Mon, 22 Jan 2018 20:38:31 +0000 (12:38 -0800)]
Remove replaced Span/ReadOnlySpan methods.
Tanner Gooding [Wed, 31 Jan 2018 17:29:31 +0000 (09:29 -0800)]
Merge pull request #15585 from dotnetrt/sse2
Implement simple Sse2 hardware instrinsics
dotnet-maestro-bot [Tue, 30 Jan 2018 18:12:57 +0000 (10:12 -0800)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02430-04, preview2-26130-05, preview2-26130-01, master-
20180130-0046, respectively
Jan Kotas [Wed, 31 Jan 2018 16:57:17 +0000 (08:57 -0800)]
Replace JitIntrinsicAttribute with IntrinsicAttribute (#26700)
* Replace JitIntrinsicAttribute with IntrinsicAttribute
* Use s_ prefix for statics
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Tanner Gooding [Wed, 31 Jan 2018 15:58:59 +0000 (07:58 -0800)]
Merge pull request #16097 from sdmaclea/PR-Create-hwintrinsic.cpp
Create hwintrinsic.cpp
Tanner Gooding [Wed, 31 Jan 2018 15:58:38 +0000 (07:58 -0800)]
Merge pull request #16102 from sdmaclea/PR-CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED
CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED
Ben Adams [Wed, 31 Jan 2018 15:24:29 +0000 (15:24 +0000)]
Reduce Execution Context Save+Restore (#15629)
* Reduce Save+Restore for ExecutionContext
* Use flag rather than comparison to static
* Skip null check for pre-checked EC.Run
* Feedback
* Add static helper lookup for default context for TP
* Add note for enregistering
* Return to Default context when no values
* Default + FlowSuppressed Context
* Move AsyncMethodBuilder.Start to static non-generic
* Feedback
Jacek Blaszczynski [Fri, 26 Jan 2018 15:59:54 +0000 (16:59 +0100)]
Implement simple Sse2 hardware intrinsics
Eric Erhardt [Tue, 30 Jan 2018 21:44:49 +0000 (15:44 -0600)]
Move Vector<T> to the shared CoreLib partition. (dotnet/corefx#26656)
* Move Vector<T> to the shared CoreLib partition.
This is in support of eventually compiling it into System.Private.CoreLib. That way we can use it in other corelib algorithms.
* Update Test project to link to new CoreLib file path
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Maryam Ariyan [Wed, 31 Jan 2018 04:18:08 +0000 (23:18 -0500)]
Replacing Lock with Volatile.Read for SecureString Length (#16112)
* Replacing Lock on SecureString Length with Volatile Read
Fixes #26685
* Replacing Lock with Volatile Read/Write for IsReadOnly() and MakeReadOnly()
Brian Robbins [Wed, 31 Jan 2018 00:38:39 +0000 (16:38 -0800)]
Add COMPlus variable to control rundown. (#16109)
Tanner Gooding [Wed, 31 Jan 2018 00:20:56 +0000 (16:20 -0800)]
Merge pull request #15771 from tannergooding/hwintrin-tests
Update x86 HWIntrinsic Tests
Brian Sullivan [Wed, 31 Jan 2018 00:00:52 +0000 (16:00 -0800)]
Merge pull request #16108 from briansull/fix-vm-contract
Fix contract violation in new method CEEInfo::getTypeForPrimitiveNumericClass
Sergey Andreenko [Tue, 30 Jan 2018 23:39:10 +0000 (15:39 -0800)]
fix DevDiv_546017 (#16090)
* fix DevDiv_546017
* add repro
Jose Perez Rodriguez [Tue, 30 Jan 2018 23:25:54 +0000 (15:25 -0800)]
Building non-Windows builds using the CLI's MSBuild (#16101)
* Building non-Windows builds using the CLI's MSBuild
Stephen Toub [Tue, 30 Jan 2018 22:47:14 +0000 (17:47 -0500)]
Merge pull request #16098 from stephentoub/valuetaskshared
Several updates to ValueTask
Sean Gillespie [Tue, 30 Jan 2018 22:27:16 +0000 (14:27 -0800)]
[Local GC] FEATURE_EVENT_TRACE 4/n: Event ports for all GC-keyword events (#16031)
* [Local GC] Event ports: GCStart and GCGenerationRange
* [Local GC] Event ports: GCEnd
* [Local GC] Event ports: GCHeapStats
* [Local GC] Event ports: GCCreateSegment
* [Local GC] Event ports: GCFreeSegment
* Event ports: GCCreateConcurrentThread and GCTerminateConcurrentThread
* [Local GC] Event ports: GCTriggered
* [Local GC] Event ports: GCMarkWithType
* [Local GC] Event ports: GCJoin_V2
* [Local GC] Event ports: GCGlobalHeapHistory_V2
* [Local GC] Event ports: GCAllocationTick_V3
* [Local GC] Event ports: GCAllocationTick_V1
* [Local GC] Event porting: PinObjectAtGCTime
* one last merge conflict
Steve MacLean [Tue, 30 Jan 2018 17:38:31 +0000 (12:38 -0500)]
CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED
Tanner Gooding [Tue, 30 Jan 2018 21:57:47 +0000 (13:57 -0800)]
Merge pull request #15923 from tannergooding/hwintrin
Fixing some inconsistencies in the x86 HWIntrinsic APIs
Brian Sullivan [Tue, 30 Jan 2018 21:57:46 +0000 (13:57 -0800)]
Fix contract violation in new method CEEInfo::getTypeForPrimitiveNumericClass
Don't call the method CEEInfo::asCorInfoType THROWS TRIGGERS SO_INTOLERANT
Ian Hays [Tue, 30 Jan 2018 20:56:11 +0000 (12:56 -0800)]
Merge pull request #16087 from ianhays/span_strings
Update Span/ReadOnlySpan strings to match Portable Span
Michal Strehovský [Tue, 30 Jan 2018 20:08:58 +0000 (21:08 +0100)]
Move the MethodImpl iterator when checking default interface methods (#16099)
Fixes #16064.
Steve MacLean [Tue, 30 Jan 2018 01:59:59 +0000 (20:59 -0500)]
Create hwintrinsic.cpp
Stephen Toub [Tue, 30 Jan 2018 19:28:35 +0000 (14:28 -0500)]
Make ValueTask shareable with corefx
Ian Hays [Tue, 30 Jan 2018 18:54:19 +0000 (10:54 -0800)]
Update Span DebuggerDisplays
Michelle McDaniel [Tue, 30 Jan 2018 17:53:35 +0000 (09:53 -0800)]
Add OS flag to calls to run-xunit-perf.py (#16100)
We were uploading windows results as win32 instead of Windows_NT.
Konstantin Baladurin [Tue, 30 Jan 2018 15:23:16 +0000 (18:23 +0300)]
Compiler::lookupHWIntrinsic: fix oob read (#16075)
Tanner Gooding [Tue, 30 Jan 2018 03:17:02 +0000 (19:17 -0800)]
Temporaily disable some HWIntrinsic tests due to the naming changes.
Stephen Toub [Tue, 30 Jan 2018 15:17:30 +0000 (10:17 -0500)]
Replace TryCopyTo with CopyTo (#16078)
While doing various Span-related work involving copying, in a few places I previously used a pattern of calling TryCopyTo and then asserting its result, in places where I knew the destination was long enough. This was because CopyTo was implemented as a wrapper around TryCopyTo and thus involved an extra unnecessary branch. Now that that's no longer the case, I'm simplifying the call sites.
Stephen Toub [Tue, 30 Jan 2018 15:14:58 +0000 (10:14 -0500)]
Remove ValueTuple usage from ConfiguredValueTaskAwaitable
It was superfluous and made sharing the code with corefx more challenging due to the netstandard1.0 build of System.Threading.Tasks.Extensions in corefx.
Stephen Toub [Tue, 30 Jan 2018 15:13:52 +0000 (10:13 -0500)]
Make ValueTaskAwaiters readonly structs
The _value field wasn't previously readonly, because method calls were made on the ValueTask, resulting in a copy. But now that ValueTask is a readonly struct, the field can be readonly, and these structs can then also be readonly.
Stephen Toub [Tue, 30 Jan 2018 15:12:52 +0000 (10:12 -0500)]
Remove defunct CreateAsyncMethodBuilder from ValueTask
Konstantin Baladurin [Tue, 30 Jan 2018 14:05:57 +0000 (17:05 +0300)]
ThrowExceptionFromContextInternal, RtlCaptureContext: fix for asan (#16074)
- Save arguments on stack before calling __asan_handle_no_return in
ThrowExceptionFromContextInternal
- Fix saving arguments on stack before calling __asan_handle_no_return
in RtlCaptureContext for arm64
Jan Kotas [Tue, 30 Jan 2018 09:11:03 +0000 (01:11 -0800)]
Cleanup + Small TimeZoneInfo optimization for Unix (dotnet/corert#5314)
* Delete non-shared TimeZoneInfo.cs
* Delete duplicate resource
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Michal Strehovský [Tue, 30 Jan 2018 12:52:20 +0000 (13:52 +0100)]
Default interface methods test fixes (#15995)
* The diamondshape test should work now that #15979 and #15978 are merged.
* Create debug and retail version of diamondshape and sharedgenerics tests so that we have retail coverage. These tests hit issues around devirtualization (that is only active when RyuJIT is optimizing).
* Add license headers
Tanner Gooding [Tue, 30 Jan 2018 03:09:10 +0000 (19:09 -0800)]
Changing ConvertTo.*Scalar to ConvertScalarTo.*
Koundinya Veluri [Tue, 30 Jan 2018 03:08:02 +0000 (19:08 -0800)]
Prevent compiler optimization that could cause local var values to change in multithreaded environments, in some places (#16089)
Brian Robbins [Tue, 30 Jan 2018 02:49:51 +0000 (18:49 -0800)]
Add ActivityId Support to EventPipe (#16055)
Tanner Gooding [Tue, 30 Jan 2018 02:47:28 +0000 (18:47 -0800)]
Changing BroadcastElement to BroadcastScalar
Tanner Gooding [Tue, 30 Jan 2018 01:29:43 +0000 (17:29 -0800)]
Adding missing instruction mapping documentation and fixing some signatures.
Brian Robbins [Tue, 30 Jan 2018 00:57:01 +0000 (16:57 -0800)]
EventPipe: Don't Generate and Emit Stacks on Rundown (#16083)
Tanner Gooding [Tue, 30 Jan 2018 00:39:42 +0000 (16:39 -0800)]
Adding the missing memory fencing and prefetch intrinsics for x86
Tanner Gooding [Tue, 30 Jan 2018 00:15:16 +0000 (16:15 -0800)]
Adding the Vector128 postfix on the Sse2.LoadScalar instructions
Tanner Gooding [Tue, 30 Jan 2018 00:05:10 +0000 (16:05 -0800)]
Merge pull request #16066 from tannergooding/sse-intrinsics
Adding basic codegen support for the SSE Store intrinsics.
Tanner Gooding [Tue, 30 Jan 2018 00:01:35 +0000 (16:01 -0800)]
Moving the listed instruction for the HWIntrinsics to its own line
Tanner Gooding [Mon, 29 Jan 2018 23:46:55 +0000 (15:46 -0800)]
Changing the hardware intrinsic APIs to use pointers rather than ref
Tanner Gooding [Wed, 24 Jan 2018 20:34:47 +0000 (12:34 -0800)]
Renaming Sse41.LoadAlignedNonTemporal to Sse41.LoadAlignedVector128NonTemporal
Tanner Gooding [Wed, 24 Jan 2018 20:33:10 +0000 (12:33 -0800)]
Adding the missing Sse2.MoveScalar intrinsics
Tanner Gooding [Wed, 24 Jan 2018 20:32:52 +0000 (12:32 -0800)]
Listing the instruction mappings for the AVX2 intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 18:56:41 +0000 (10:56 -0800)]
Listing the instruction mappings for the FMA intrinsics.