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
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)
Michal Strehovský [Mon, 29 Jan 2018 16:37:27 +0000 (17:37 +0100)]
Fix reflection to work with default interface methods (#16034)
Fixes #15645.
Fixes #15644.
Mike Danes [Mon, 29 Jan 2018 16:31:36 +0000 (18:31 +0200)]
Use genTypeCanRepresentValue only with small types
It's not needed and it's problematic to make it work for other types. In the JIT constant values are represented using `ssize_t` and you can't distinguish between `-1` and `UINT64_MAX`.
Tom Deseyn [Mon, 29 Jan 2018 15:51:27 +0000 (16:51 +0100)]
improve DllImport library name variation trying (#15912)
* dllimport: refactor libname variation code
* Change order of libname variations depending on suffix presence
* make MAX_LIBNAME_VARIATIONS static
* PR feedback
* Fix non PAL build
dotnet-maestro-bot [Mon, 29 Jan 2018 13:27:21 +0000 (07:27 -0600)]
Update PgoData to master-
20180129-0045 (#16070)
Jan Kotas [Mon, 29 Jan 2018 06:01:47 +0000 (22:01 -0800)]
Fix ProjectN build break (dotnet/corert#5302)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jan Kotas [Mon, 29 Jan 2018 13:21:44 +0000 (05:21 -0800)]
Fix metadata format error checking (#16036)
NextStream_Verify can return NULL for invalid file. Report error for it instead of AVing.
Similar check is around the other calls to NextStream_Verify. It was missing here for some reason.
dotnet-maestro-bot [Mon, 29 Jan 2018 04:21:11 +0000 (22:21 -0600)]
Update CoreClr to preview2-26129-01 (#16067)
Tanner Gooding [Sun, 28 Jan 2018 19:38:03 +0000 (11:38 -0800)]
Marking SSE HWIntrinsics as fully implemented
Tanner Gooding [Sun, 28 Jan 2018 19:37:31 +0000 (11:37 -0800)]
Adding tests for the SSE Store, StoreAligned, StoreAlignedNonTemporal, StoreHigh, StoreLow, and StoreScalar intrinsics
Tanner Gooding [Sun, 28 Jan 2018 19:37:12 +0000 (11:37 -0800)]
Adding support for the SSE Store, StoreAligned, StoreAlignedNonTemporal, StoreHigh, StoreLow, and StoreScalar intrinsics
mikedn [Sun, 28 Jan 2018 18:58:58 +0000 (20:58 +0200)]
Improve Interlocked.Exchange<T> (#16058)
Replace TypedReference with Unsafe.As, it generates far less code and, with the help of AggresiveInlining, it allows Exchange<T> to inline.
dotnet-maestro-bot [Sun, 28 Jan 2018 15:29:17 +0000 (09:29 -0600)]
Update CoreClr, PgoData to preview2-26128-04, master-
20180128-0035, respectively (#16059)
dotnet-maestro-bot [Sun, 28 Jan 2018 02:39:56 +0000 (20:39 -0600)]
Update CoreClr to preview2-26128-01 (#16056)