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.
Tanner Gooding [Wed, 24 Jan 2018 18:47:26 +0000 (10:47 -0800)]
Listing the instruction mappings for the AVX intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 07:07:31 +0000 (23:07 -0800)]
Listing the instruction mappings for the SSE4.2 intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 06:59:28 +0000 (22:59 -0800)]
Listing the instruction mappings for the SSE4.1 intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 06:29:56 +0000 (22:29 -0800)]
Listing the instruction mappings for the SSSE3 intrinsics
Tanner Gooding [Wed, 24 Jan 2018 06:22:56 +0000 (22:22 -0800)]
Listing the instruction mappings for the SSE3 intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 06:17:55 +0000 (22:17 -0800)]
Listing the instruction mappings for the SSE2 intrinsics.
Tanner Gooding [Wed, 24 Jan 2018 04:23:48 +0000 (20:23 -0800)]
Listing the instruction mappings for the SSE intrinsics.
Tanner Gooding [Sat, 20 Jan 2018 17:54:46 +0000 (09:54 -0800)]
Adding overloads for the x86 Scalar intrinsics to not take 'upper'.
Tanner Gooding [Fri, 19 Jan 2018 06:31:02 +0000 (22:31 -0800)]
Fix the naming of the arguments for LoadHigh and LoadLow
Tanner Gooding [Fri, 19 Jan 2018 06:27:04 +0000 (22:27 -0800)]
Fixing some inconsistencies in the Scalar intrinsics
Tanner Gooding [Fri, 19 Jan 2018 05:34:48 +0000 (21:34 -0800)]
Adding the missing Sse2.MoveMask(Vector128<byte>) intrinsic
Tanner Gooding [Mon, 29 Jan 2018 23:29:15 +0000 (15:29 -0800)]
Updating the auto-generated x86 HWIntrinsic test files to contain basic documentation.
Jan Kotas [Mon, 29 Jan 2018 23:22:01 +0000 (15:22 -0800)]
Move TimeZoneInfo.Unix.cs to shared CoreLib partition (#16057)
- Refactored internal version of System.IO.File to be similar to full corefx version
- Cleaned up some Unix PAL APIs that are no longer used
Contributes to dotnet/corert#5248
Maryam Ariyan [Mon, 29 Jan 2018 22:35:21 +0000 (17:35 -0500)]
EnsureCapacty(0) should return zero as capacity for a non initialized Dictionary rather than doing initialization. (#16076)
Issue is: dotnet/corefx#24445
Carol Eidt [Mon, 29 Jan 2018 21:57:57 +0000 (13:57 -0800)]
Merge pull request #16077 from mikedn/smalltype
Use genTypeCanRepresentValue only with small types
Ian Hays [Mon, 29 Jan 2018 21:49:59 +0000 (13:49 -0800)]
Update Span/ReadOnlySpan strings
Stephen Toub [Mon, 29 Jan 2018 17:01:12 +0000 (12:01 -0500)]
Use corelib-shared ValueStringBuilder
Use the shared version, delete the copy.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Andy Ayers [Mon, 29 Jan 2018 20:36:38 +0000 (12:36 -0800)]
JIT: don't overlook strong nearby preference in LSRA (#16028)
When allocating an interval, LSRA will look at related intervals
for preference hints.
LSRA may look past a related interval I1 to its related interval
I2 if I1 looks like a simple copy. But if I1 has been previously
allocated then it seems we are often better served using I1's
preferences instead of using I2's.
Addresses some issues seen in #11390.
Tom Deseyn [Mon, 29 Jan 2018 20:11:10 +0000 (21:11 +0100)]
Perform PhysicalMemoryLimit check for workstation GC, refactor GetLargestOnDieCacheSize into GetCacheSizePerLogicalCpu (#15975)
* refactor: combine GetLargestOnDieCacheSize and GetLogicalCpuCount in GetCacheSizePerLogicalCpu
* Perform PhysicalMemoryLimit check also for workstation GC
dotnet-maestro-bot [Mon, 29 Jan 2018 18:33:32 +0000 (12:33 -0600)]
Update CoreClr to preview2-26129-05 (#16073)
Jingyu Ma [Mon, 29 Jan 2018 17:13:31 +0000 (01:13 +0800)]
Added Grisu3 algorithm support for double.ToString(). (#14646)
* Added Grisu3 algorithm support for double.ToString().
- Implemented Grisu3 algorithm.
- When calling double.ToString(), try Grisu3 first, if it fails, fall back to Dragon4.
Fix #14478
* Added comments. Fixed a minor bug.
* Optimized the performance in DigitGen.
* Added shortcut for numbers without fraction.
* Updated according to the review comments.
Added more comments. Changed the value of D_1_LOG2_10
Carol Eidt [Mon, 29 Jan 2018 17:06:45 +0000 (09:06 -0800)]
Merge pull request #15833 from sdmaclea/PR-ARM64-INITIAL-INTRINSIC-FRAMEWORK
[Arm64] Initial HW intrinsic framework
Victor "Nate" Graf [Mon, 29 Jan 2018 16:50:36 +0000 (08:50 -0800)]
Disable broken EventPipe tests at build time (#16046)
Ben Adams [Mon, 29 Jan 2018 16:44:18 +0000 (16:44 +0000)]
Use EventSource guid ctor for ArrayPoolEventSource (#16054)
* Use EventSource guid ctor for ArrayPoolEventSource
* missing e
Ben Adams [Mon, 29 Jan 2018 16:43:09 +0000 (16:43 +0000)]
Use Guid ctor for TplEtwProvider (#16060)