platform/upstream/coreclr.git
6 years agoDon't remove the first non-internal block that has profile weight. (#16227)
Eugene Rozenfeld [Tue, 6 Feb 2018 19:19:32 +0000 (11:19 -0800)]
Don't remove the first non-internal block that has profile weight. (#16227)

When using profile weights, fgComputeEdgeWeights expects the first non-internal block to have profile weight.
Make sure we don't break that invariant when removing an empty block.

This fixes VSO 546031.

6 years agoFix handling of return code for system() calls (#16225)
Jan Kotas [Tue, 6 Feb 2018 19:11:47 +0000 (11:11 -0800)]
Fix handling of return code for system() calls (#16225)

The value returned from system() is encoded bag of bits that gets
misinterpretted once it starts propagate through the system. Normalize
it to 0/1.

6 years agoMove String.Manipulation.cs to shared (#16226)
Jan Kotas [Tue, 6 Feb 2018 08:22:13 +0000 (00:22 -0800)]
Move String.Manipulation.cs to shared (#16226)

6 years agoAdding tests for the StoreFence/Prefetch* APIs and the new Sse scalar overloads.
Tanner Gooding [Sat, 3 Feb 2018 17:30:11 +0000 (09:30 -0800)]
Adding tests for the StoreFence/Prefetch* APIs and the new Sse scalar overloads.

6 years agoAdding support for the StoreFence/Prefetch* APIs and the new Sse scalar overloads.
Tanner Gooding [Sat, 3 Feb 2018 17:28:56 +0000 (09:28 -0800)]
Adding support for the StoreFence/Prefetch* APIs and the new Sse scalar overloads.

6 years agoReimplement string.Replace in managed code (#16214)
Jan Kotas [Tue, 6 Feb 2018 05:24:50 +0000 (21:24 -0800)]
Reimplement string.Replace in managed code (#16214)

6 years agoRemoving the Sse2.LoadScalarVector128 overloads that are invalid.
Tanner Gooding [Tue, 6 Feb 2018 00:45:46 +0000 (16:45 -0800)]
Removing the Sse2.LoadScalarVector128 overloads that are invalid.

6 years agoImplementation of GetFullPath(string path, string basePath) (#15579)
Anirudh Agnihotry [Tue, 6 Feb 2018 01:39:37 +0000 (17:39 -0800)]
Implementation of GetFullPath(string path, string basePath) (#15579)

GetFullPathAPI Overload

6 years agoMoving a number of the Sse2 hwintrinsic tests to use the test template.
Tanner Gooding [Sat, 3 Feb 2018 22:32:27 +0000 (14:32 -0800)]
Moving a number of the Sse2 hwintrinsic tests to use the test template.

6 years agoAdding tests for the SSE2 LoadVector128, LoadAlignedVector128, and LoadScalarVector12...
Tanner Gooding [Sat, 3 Feb 2018 18:06:54 +0000 (10:06 -0800)]
Adding tests for the SSE2 LoadVector128, LoadAlignedVector128, and LoadScalarVector128 intrinsics.

6 years agoAdding support for the SSE2 LoadVector128, LoadAlignedVector128, and LoadScalarVector...
Tanner Gooding [Sat, 3 Feb 2018 17:53:54 +0000 (09:53 -0800)]
Adding support for the SSE2 LoadVector128, LoadAlignedVector128, and LoadScalarVector128 intrinsics.

6 years agoRemove FEATURE_ACTIVITYSAMPLING and associated code. (#16185)
Brian Robbins [Tue, 6 Feb 2018 00:15:55 +0000 (16:15 -0800)]
Remove FEATURE_ACTIVITYSAMPLING and associated code. (#16185)

6 years agoMerge pull request #16218 from briansull/revert-15910
Brian Sullivan [Mon, 5 Feb 2018 23:08:55 +0000 (15:08 -0800)]
Merge pull request #16218 from briansull/revert-15910

Revert #15910 [R2R] add a virtualStubParamInfo as an argument

6 years agoRevert #15910 [R2R] add a virtualStubParamInfo as an argument
Brian Sullivan [Mon, 5 Feb 2018 21:36:31 +0000 (13:36 -0800)]
Revert #15910 [R2R] add a virtualStubParamInfo as an argument

6 years agoAdded a factory to FileStreamCompletionSource (#16190)
David Fowler [Mon, 5 Feb 2018 20:52:08 +0000 (12:52 -0800)]
Added a factory to FileStreamCompletionSource (#16190)

* Merged FileStreamCompletionSource and MemoryCompletionSource
- Change FileStreamCompletionSource to take a ReadOnlyMemory<byte> instead of byte[]
- Delegate to memory.Retain if the underlying ReadOnlyMemory<byte> is backed by an array that isn't the stream's internal buffer.

* Brought back MemoryFileStreamCompletionSource
- Added a factory method to FileStreamCompletionSource that
picks the an impl or FileStreamCompletionSource or MemoryFileStreamCompletionSource based on the buffer matching the underlying stream's internal buffer.

* PR feedback
- Cleanup the condition
- Flip to Debug.Assert in FileStreamCompletionSource

* Check for null before using the PreAllocatedOverlapped

6 years agoMerge pull request #16103 from mikedn/xorps
Brian Sullivan [Mon, 5 Feb 2018 18:00:36 +0000 (10:00 -0800)]
Merge pull request #16103 from mikedn/xorps

Use xorps instead of xorpd

6 years agoUpdate CoreClr to preview2-26205-05 (#16205)
dotnet-maestro-bot [Mon, 5 Feb 2018 16:22:11 +0000 (10:22 -0600)]
Update CoreClr to preview2-26205-05 (#16205)

6 years agoUse stackalloc in string.Split (#15435)
Alex [Mon, 5 Feb 2018 04:17:03 +0000 (06:17 +0200)]
Use stackalloc in string.Split (#15435)

* Use stackalloc in string.Split

* Added initial usage of ValueListBuilder

* Added usage of list builder to string separator Split overloads

6 years agoMerge pull request #16199 from dotnet/revert-15944-CorefxTestUseCorrectVersion
Jan Kotas [Sun, 4 Feb 2018 22:34:11 +0000 (14:34 -0800)]
Merge pull request #16199 from dotnet/revert-15944-CorefxTestUseCorrectVersion

Revert "For corefx testing, use a matching corefx repo version git hash"

6 years agoRevert "For corefx testing, use a matching corefx repo version git hash"
Jan Kotas [Sun, 4 Feb 2018 19:08:05 +0000 (11:08 -0800)]
Revert "For corefx testing, use a matching corefx repo version git hash"

6 years agoUpdate CoreClr to preview2-26204-05 (#16191)
dotnet-maestro-bot [Sun, 4 Feb 2018 18:21:46 +0000 (12:21 -0600)]
Update CoreClr to preview2-26204-05 (#16191)

6 years agoMerge pull request #16182 from CarolEidt/FixDD543057
Carol Eidt [Sun, 4 Feb 2018 15:23:01 +0000 (07:23 -0800)]
Merge pull request #16182 from CarolEidt/FixDD543057

Consider specialPutArgs for jitStressRegs

6 years agoFix failfast stacktrace (#15895)
Sung Yoon Whang [Sat, 3 Feb 2018 23:58:22 +0000 (15:58 -0800)]
Fix failfast stacktrace (#15895)

* attempt to fix stacktrace getting printed twice

* Fix some default parameter issues, and wrong commit from last commit

* Fix build errors, switch call from Debug.Assert to new FailFast FCall

* Fix signature to allow more types of exception title

* cleanup

* Addressing comments from PR

* More PR comments

* remove useless using

* Address comments on GC hole and few naming changes

6 years agoJitBench harness improvements (#15151)
Noah Falk [Sat, 3 Feb 2018 23:03:30 +0000 (15:03 -0800)]
JitBench harness improvements (#15151)

* Improvements to JitBench perf test

1) More of the scenario setup is delegated to the scripts in the JitBench repo. The run now consists of (a) acquire source (b) RunBenchmark.ps1 -SetupOnly (c) run dotnet MusicStore.dll over and over to get measurements.
2) A specific last known good framework version is used instead of an open-ended latest version. This should make the test more reliable day-to-day at the cost that we have to bump the version when breaking changes occur.
3) Added an option to test with a local copy of JitBench instead of acquiring one from github. This is useful to for testing simultaneous changes in both repos.
4) Updated the output parsing to account for the changes I made in MusicStore's console spew.

* Code review feedback

* Don't use precompiled views by default

In order to match the previous benchmark results we should avoid
using precompiled views.

* Fixed JitBench local repo issue

In my earlier change I accidentally broke the normal scenario when you do not use a local copy of JitBench repo. This case was failing with an exception in SetupStatics because the null directory didn't exist.

6 years agoUpdating the templated x86 hwintrinsic tests to validate Load and LoadAligned
Tanner Gooding [Sat, 3 Feb 2018 08:13:27 +0000 (00:13 -0800)]
Updating the templated x86 hwintrinsic tests to validate Load and LoadAligned

6 years agoUpdating the HWIntrinsic codegen to support marking LoadVector128 and LoadAlignedVect...
Tanner Gooding [Tue, 30 Jan 2018 05:20:08 +0000 (21:20 -0800)]
Updating the HWIntrinsic codegen to support marking LoadVector128 and LoadAlignedVector128 as contained.

6 years agoRemove AsyncMethodBuilder from shared partition (#16149)
Ben Adams [Sat, 3 Feb 2018 05:29:30 +0000 (05:29 +0000)]
Remove AsyncMethodBuilder from shared partition (#16149)

* Remove AsyncMethodBuilder from shared partition

* AsyncMethodBuilder => AsyncMethodBuilderCore

6 years agoChanging Span/Memory to return default on null instead of throwing. (#16186)
Ahson Khan [Sat, 3 Feb 2018 03:30:25 +0000 (19:30 -0800)]
Changing Span/Memory to return default on null instead of throwing. (#16186)

* Additional changes based on feedback (bounds checks)

* Adding remaining bounds checks

6 years agoUpdate BuildTools, CoreClr, CoreFx to preview2-02502-01, preview2-26203-01, preview2...
dotnet-maestro-bot [Sat, 3 Feb 2018 03:27:20 +0000 (21:27 -0600)]
Update BuildTools, CoreClr, CoreFx to preview2-02502-01, preview2-26203-01, preview2-26202-05, respectively (#16180)

6 years agoDictionary exposes internal type comparer (#16151)
Marco Rossignoli [Sat, 3 Feb 2018 03:08:43 +0000 (04:08 +0100)]
Dictionary exposes internal type comparer (#16151)

Fixes dotnet/corefx#26033

6 years agoDelete unused SSA_FEATURE_USEDEF ifdefs (#15654)
mikedn [Sat, 3 Feb 2018 02:58:33 +0000 (04:58 +0200)]
Delete unused SSA_FEATURE_USEDEF ifdefs (#15654)

6 years agoFix GetILToNativeMapping3 to return mappings for the specified code start address...
Koundinya Veluri [Sat, 3 Feb 2018 01:55:39 +0000 (17:55 -0800)]
Fix GetILToNativeMapping3 to return mappings for the specified code start address (#16146)

Fix GetILToNativeMapping3 to return mappings for the specified code start address

Fix for https://github.com/dotnet/coreclr/issues/16145 in master:
- Previously, it was getting or creating the current entry point's corresponding DebugJitInfo and determining that the specified code address is not within the code range
- Fixed to get or create a DebugJitInfo corresponding to the specified code address and return that

6 years agoFix AV in crossgen when generating PDBs (#16184)
Andy Ayers [Sat, 3 Feb 2018 01:20:48 +0000 (17:20 -0800)]
Fix AV in crossgen when generating PDBs (#16184)

I missed updating one of the callers of `ReadyToRunInfo::GetEntryPoint`
in #15801. Fix by making the last arg explicit so this kind of type
confusion error is less likely, and updating the missed call site.

Closes #16177.

6 years agoFix mirroring build break
Tarek Mahmoud Sayed [Fri, 2 Feb 2018 22:32:46 +0000 (14:32 -0800)]
Fix mirroring build break

6 years agoSpan factoring (dotnet/corefx#26667)
Tarek Mahmoud Sayed [Fri, 2 Feb 2018 19:40:39 +0000 (11:40 -0800)]
Span factoring (dotnet/corefx#26667)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoMerge pull request #16133 from eerhardt/AddVectorToCoreLib
Eric Erhardt [Fri, 2 Feb 2018 23:55:52 +0000 (17:55 -0600)]
Merge pull request #16133 from eerhardt/AddVectorToCoreLib

Add Vector<T> to CoreLib.

6 years agoConsider specialPutArgs for jitStressRegs
Carol Eidt [Fri, 2 Feb 2018 22:19:38 +0000 (14:19 -0800)]
Consider specialPutArgs for jitStressRegs

When we have a lclVar that is being kept alive between its `PUTARG_REG` and the call, we need to take that into account in determining the minimum register requirement for a node.

6 years agoEvent Pipe File V3 (#16107)
Adam Sitnik [Fri, 2 Feb 2018 22:07:25 +0000 (23:07 +0100)]
Event Pipe File V3 (#16107)

* write missing information to the event pipe file (pointer size to make it work fo x86)

* define where the events start, not only where they end

* include process Id in the event pipe file, bump the version so old consumers get clear error message

* write the missing EndObject tag to close the header

* include expected CPU sampling rate in the event pipe header file

* include keywords in V3 of EventPipe metadata, fixes #11934

* remove forward references

* entry object comes after the header and ends after it's data, before the event block objects

* introduce event block

* fix the GC contracts

* generate metadata ids

* end the file with null reference tag

* getting it work

* 4 byte alignment of serialized event data

* Revert "include keywords in V3 of EventPipe metadata, fixes #11934"

This reverts commit 98ef2f588e271f928fd051e96da526dc1e0f017c.

* remove event Id and event version from metadata buffer (it was duplicated with native code)

* increase the block size to be the same as buffer size

* Write the last event block to the file after disabling the event pipe, right after last events

* include the sife in itself

* the native part was supposed to not duplicate the event id and version, not manged

* ensure 4 byte alignment

* build metadata when it's not provided, so payload is never empty (no need to serialize length)

* this todo is no longer valid

* don't align everything, just the content of event block as suggested by @vancem

* improvements after code review

* update TraceEvent dependency, make the test verify new feature

* InterlockedIncrement(Int32) is not available for non-Windows OSes

* code improvements after Skype code review from @jorive

6 years agoAdd assert for failure to open a file in FastSerializer. (#16178)
Brian Robbins [Fri, 2 Feb 2018 19:20:49 +0000 (11:20 -0800)]
Add assert for failure to open a file in FastSerializer. (#16178)

6 years agoUpdate CoreClr, CoreFx to preview2-26202-06, preview2-26202-01, respectively (master...
dotnet-maestro-bot [Fri, 2 Feb 2018 17:39:31 +0000 (11:39 -0600)]
Update CoreClr, CoreFx to preview2-26202-06, preview2-26202-01, respectively (master) (#16169)

* Update CoreClr, CoreFx to preview2-26202-06, preview2-26202-01, respectively

* Re-enable and fix the Sse hwintrinsic tests that had API name changes.

6 years agoMerge pull request #16157 from dotnetrt/sse2fix
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

6 years agoIfdef out Compiler::lvaVarPref (#15329)
mikedn [Fri, 2 Feb 2018 15:00:26 +0000 (17:00 +0200)]
Ifdef out Compiler::lvaVarPref (#15329)

6 years agoupdate cla link (#16170)
Maira Wenzel [Fri, 2 Feb 2018 14:47:49 +0000 (06:47 -0800)]
update cla link (#16170)

6 years agoajdust -> adjust (dotnet/corert#5327)
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>
6 years ago[R2R] add a virtualStubParamInfo as an argument (#15910)
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.

6 years agoAdd New EventPipe Tests (#16130)
Brian Robbins [Fri, 2 Feb 2018 02:48:34 +0000 (18:48 -0800)]
Add New EventPipe Tests (#16130)

6 years agoRevert "Disable some test cases to workaround compiler bug" (#16161)
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

6 years agoFix detection of YMM registers presence (#16168)
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.

6 years agoMerge pull request #16092 from CarolEidt/RefactorRefBuilding
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

6 years agoFix DevDiv_543045 (#16167)
Sergey Andreenko [Fri, 2 Feb 2018 00:31:46 +0000 (16:31 -0800)]
Fix DevDiv_543045 (#16167)

6 years agoAdd lsrabuild.cpp to jit.settings.targets
Carol Eidt [Fri, 2 Feb 2018 00:15:48 +0000 (16:15 -0800)]
Add lsrabuild.cpp to jit.settings.targets

6 years agoUse ValueTask shared from corelib (dotnet/corefx#26636)
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>
6 years agoMemory footprint gc latency level (#15469)
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

6 years agoFix Arm64 compile error
Carol Eidt [Thu, 1 Feb 2018 22:59:11 +0000 (14:59 -0800)]
Fix Arm64 compile error

6 years agoRefactor RefPosition and Interval Building
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.

6 years agoMerge pull request #16155 from jashook/merge_jit_and_JIT
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

6 years agoFix validation code in Sse2.MultiplyLow tests
Jacek Blaszczynski [Thu, 1 Feb 2018 18:58:52 +0000 (19:58 +0100)]
Fix validation code in Sse2.MultiplyLow tests

Fixes #16153

6 years agoRemote lower case jit test dir
jashook [Thu, 1 Feb 2018 18:31:37 +0000 (10:31 -0800)]
Remote lower case jit test dir

6 years agoUpdate CoreClr, CoreFx to preview2-26201-05, preview2-26201-05, respectively (#16150)
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)

6 years agoFixing some of the x86 HWIntrinsics to only use byteable registers, where required
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

6 years agoMoving the Sse Compare*OrderedScalar and Compare*UnorderedScalar tests to use a template.
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.

6 years agoMoving the Sse max/min tests to use the template.
Tanner Gooding [Wed, 31 Jan 2018 04:43:26 +0000 (20:43 -0800)]
Moving the Sse max/min tests to use the template.

6 years agoMoving the Sse comparison 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.

6 years ago[Arm64] Add Lower Compare Zero comments
Steve MacLean [Thu, 1 Feb 2018 13:22:18 +0000 (08:22 -0500)]
[Arm64] Add Lower Compare Zero comments

6 years ago[Arm64] HWIntrinsic codegen function headers
Steve MacLean [Wed, 31 Jan 2018 21:30:31 +0000 (16:30 -0500)]
[Arm64] HWIntrinsic codegen function headers

6 years ago[Arm64] Lower Unsigned Compare Zero
Steve MacLean [Wed, 31 Jan 2018 15:51:49 +0000 (10:51 -0500)]
[Arm64] Lower Unsigned Compare Zero

6 years ago[Arm64] Implement Simd.SetAllVector*
Steve MacLean [Wed, 31 Jan 2018 17:48:13 +0000 (12:48 -0500)]
[Arm64] Implement Simd.SetAllVector*

6 years ago[Arm64] Implement Simd.BitwiseSelect
Steve MacLean [Tue, 30 Jan 2018 16:21:09 +0000 (11:21 -0500)]
[Arm64] Implement Simd.BitwiseSelect

6 years ago[Arm64] Implement Simd.Extract
Steve MacLean [Fri, 26 Jan 2018 22:24:54 +0000 (17:24 -0500)]
[Arm64] Implement Simd.Extract

6 years agoUpdate CoreClr, CoreFx to preview2-26201-01, preview2-26201-01, respectively (#16142)
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)

6 years agoChange the Span ToString semantics to return the contents for T=char (#16143)
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)

6 years agoRename ConvertScalarToVector128UInt32Scalar to ConvertScalarToVector128UInt32
Tanner Gooding [Thu, 1 Feb 2018 04:13:27 +0000 (20:13 -0800)]
Rename ConvertScalarToVector128UInt32Scalar to ConvertScalarToVector128UInt32

6 years agoUpdating IF_RWR_RRD_MRD_CNS and IF_RWR_RRD_SRD_CNS to encode reg2, rather than reg1...
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

6 years agoMerge pull request #16136 from CarolEidt/Fix16135
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

6 years agoAdding TrimExcess APIs for Dictionary class
Maryam Ariyan [Wed, 31 Jan 2018 23:49:03 +0000 (18:49 -0500)]
Adding TrimExcess APIs for Dictionary class

6 years agoAdd ETL flags for ReadyToRun (#15801)
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

6 years agoDelete GenTreePtr. (#16027)
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

6 years agoMerge pull request #16116 from fiigii/fixgeneric
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

6 years agoMerge pull request #16114 from tannergooding/hwintrin-flags
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.

6 years ago[local gc] Enable eventing (#16120)
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

6 years agoFixing up some hwintrinsic flags for the x86 intrinsics.
Tanner Gooding [Wed, 31 Jan 2018 02:35:48 +0000 (18:35 -0800)]
Fixing up some hwintrinsic flags for the x86 intrinsics.

6 years agoRespond to PR feedback.
Eric Erhardt [Thu, 1 Feb 2018 00:19:50 +0000 (18:19 -0600)]
Respond to PR feedback.

- Move IsIntrinicType check earlier, and use it during CheckIfSIMDAndUpdateSize.
- Check all types for [Intrinsic] attribute.

6 years agoSpan overload added for path apis (#15608)
Anirudh Agnihotry [Wed, 31 Jan 2018 23:36:07 +0000 (15:36 -0800)]
Span overload added for path apis (#15608)

Span overload path apis

6 years agoFix encoding of RCPPS and RSQRTPS
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

6 years agoFix table-driven framework for one-type-arg generic intrinsics
Fei Peng [Wed, 31 Jan 2018 23:26:33 +0000 (15:26 -0800)]
Fix table-driven framework for one-type-arg generic intrinsics

6 years agoJIT: handle GT_SUB in gtClone (#16128)
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.

6 years agoJIT: add a bit more importer folding (#16111)
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.

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview2-02431-05, preview2-26131...
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)

6 years agoMerge with latest code and PR feedback.
Eric Erhardt [Wed, 31 Jan 2018 21:10:47 +0000 (15:10 -0600)]
Merge with latest code and PR feedback.

6 years agoAdd Vector<T> to CoreLib.
Eric Erhardt [Wed, 31 Jan 2018 16:59:35 +0000 (10:59 -0600)]
Add Vector<T> to CoreLib.

This requires the runtime to change to recognize the Vector classes in either System.Numerics.Vectors.dll or in System.Private.CoreLib.dll.  To do this, I added the [Intrinsic] attribute to Vector<T> struct and Vector static class.

6 years agoMerge pull request #16091 from dotnet-maestro-bot/master-UpdateDependencies
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)

6 years agoDisable MemoryMarshal.CreateSpan tests
Jan Kotas [Wed, 31 Jan 2018 17:23:31 +0000 (09:23 -0800)]
Disable MemoryMarshal.CreateSpan tests

6 years agoRemove Span DangerousGetPinnableReference
Ian Hays [Tue, 30 Jan 2018 18:58:52 +0000 (10:58 -0800)]
Remove Span DangerousGetPinnableReference

6 years agoRemove replaced Span/ReadOnlySpan methods.
Ian Hays [Mon, 22 Jan 2018 20:38:31 +0000 (12:38 -0800)]
Remove replaced Span/ReadOnlySpan methods.

6 years agoMerge pull request #15585 from dotnetrt/sse2
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

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02430-04, preview2-26130...
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

6 years agoReplace JitIntrinsicAttribute with IntrinsicAttribute (#26700)
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>
6 years agoMerge pull request #16097 from sdmaclea/PR-Create-hwintrinsic.cpp
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

6 years agoMerge pull request #16102 from sdmaclea/PR-CORINFO_HELP_THROW_TYPE_NOT_SUPPORTED
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

6 years agoReduce Execution Context Save+Restore (#15629)
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