platform/upstream/coreclr.git
6 years agoUpdate Span DebuggerDisplays
Ian Hays [Tue, 30 Jan 2018 18:54:19 +0000 (10:54 -0800)]
Update Span DebuggerDisplays

6 years agoUpdate Span/ReadOnlySpan strings
Ian Hays [Mon, 29 Jan 2018 21:49:59 +0000 (13:49 -0800)]
Update Span/ReadOnlySpan strings

6 years agoUse corelib-shared ValueStringBuilder
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>
6 years agoJIT: don't overlook strong nearby preference in LSRA (#16028)
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.

6 years agoPerform PhysicalMemoryLimit check for workstation GC, refactor GetLargestOnDieCacheSi...
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

6 years agoUpdate CoreClr to preview2-26129-05 (#16073)
dotnet-maestro-bot [Mon, 29 Jan 2018 18:33:32 +0000 (12:33 -0600)]
Update CoreClr to preview2-26129-05 (#16073)

6 years agoAdded Grisu3 algorithm support for double.ToString(). (#14646)
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

6 years agoMerge pull request #15833 from sdmaclea/PR-ARM64-INITIAL-INTRINSIC-FRAMEWORK
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

6 years agoDisable broken EventPipe tests at build time (#16046)
Victor "Nate" Graf [Mon, 29 Jan 2018 16:50:36 +0000 (08:50 -0800)]
Disable broken EventPipe tests at build time (#16046)

6 years agoUse EventSource guid ctor for ArrayPoolEventSource (#16054)
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

6 years agoUse Guid ctor for TplEtwProvider (#16060)
Ben Adams [Mon, 29 Jan 2018 16:43:09 +0000 (16:43 +0000)]
Use Guid ctor for TplEtwProvider (#16060)

6 years agoFix reflection to work with default interface methods (#16034)
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.

6 years agoimprove DllImport library name variation trying (#15912)
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

6 years agoUpdate PgoData to master-20180129-0045 (#16070)
dotnet-maestro-bot [Mon, 29 Jan 2018 13:27:21 +0000 (07:27 -0600)]
Update PgoData to master-20180129-0045 (#16070)

6 years agoFix ProjectN build break (dotnet/corert#5302)
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>
6 years agoFix metadata format error checking (#16036)
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.

6 years agoUpdate CoreClr to preview2-26129-01 (#16067)
dotnet-maestro-bot [Mon, 29 Jan 2018 04:21:11 +0000 (22:21 -0600)]
Update CoreClr to preview2-26129-01 (#16067)

6 years agoImprove Interlocked.Exchange<T> (#16058)
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.

6 years agoUpdate CoreClr, PgoData to preview2-26128-04, master-20180128-0035, respectively...
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)

6 years agoUpdate CoreClr to preview2-26128-01 (#16056)
dotnet-maestro-bot [Sun, 28 Jan 2018 02:39:56 +0000 (20:39 -0600)]
Update CoreClr to preview2-26128-01 (#16056)

6 years agoMerge pull request #15961 from tannergooding/struct-packing
Tanner Gooding [Sun, 28 Jan 2018 00:02:12 +0000 (16:02 -0800)]
Merge pull request #15961 from tannergooding/struct-packing

Updates `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` to have the appropriate packing.

6 years agoMoving the SetIsIntrinsic code earlier in the method table builder.
Tanner Gooding [Fri, 26 Jan 2018 02:42:54 +0000 (18:42 -0800)]
Moving the SetIsIntrinsic code earlier in the method table builder.

6 years agoUpdating the Vector64, Vector128, and Vector256 StructPacking tests.
Tanner Gooding [Mon, 22 Jan 2018 08:26:21 +0000 (00:26 -0800)]
Updating the Vector64, Vector128, and Vector256 StructPacking tests.

6 years agoUpdating the VM to properly pack the SIMD hardware intrinsic types.
Tanner Gooding [Mon, 22 Jan 2018 03:35:47 +0000 (19:35 -0800)]
Updating the VM to properly pack the SIMD hardware intrinsic types.

6 years agoUpdating the methodtablebuilder to handle the System V ABI packing requirements for...
Tanner Gooding [Mon, 22 Jan 2018 00:06:00 +0000 (16:06 -0800)]
Updating the methodtablebuilder to handle the System V ABI packing requirements for i386

6 years agoAdding some StructPacking tests to ensure existing types don't regress
Tanner Gooding [Mon, 22 Jan 2018 01:12:28 +0000 (17:12 -0800)]
Adding some StructPacking tests to ensure existing types don't regress

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02427-01, preview2-26127...
dotnet-maestro-bot [Sat, 27 Jan 2018 19:32:55 +0000 (13:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02427-01, preview2-26127-04, preview2-26127-04, master-20180127-0046, respectively (#15992)

6 years agoOptimize Span.Copy and Span.TryCopyTo (#15947)
Levi Broderick [Sat, 27 Jan 2018 06:35:46 +0000 (22:35 -0800)]
Optimize Span.Copy and Span.TryCopyTo (#15947)

* Introduce a ref-based version of Buffer.Memmove
* Remove pinning logic from Span.CopyTo
* Tweak flow graph of Span.CopyTo / TryCopyTo in order to encourage better codegen
* Push some uncommon logic (one-element buffers, perfectly overlapping buffers) down to Memmove

6 years agoFix some tests under GCStress (#16048)
Koundinya Veluri [Sat, 27 Jan 2018 03:39:51 +0000 (19:39 -0800)]
Fix some tests under GCStress (#16048)

- Disabled one test, it takes far too long under GCStress
- For another, added a second call to WaitForPendingFinalizers() to ensure correspondence with a GC.Collect() call

6 years agoFix side effect flags setting after expression cloning. (#16045)
Eugene Rozenfeld [Sat, 27 Jan 2018 01:06:07 +0000 (17:06 -0800)]
Fix side effect flags setting after expression cloning. (#16045)

Side effect flags need to be recomputed after cloning
an expression, since cloning may involve some simplifications
(e.g., replacing a local with a const).

I also did some minor refactoring and renaming of the side-effect-updating helpers
and made one of them more robust by checking whether a child is null before accessing
its flags.

This fixes VSO 543054 where this problem was encountered in a PMI ARM32 JitStress=2 run.

6 years agoGCPrivate, GCHandle, and GChandlePrivate events for local GC (#16020)
David Mason [Sat, 27 Jan 2018 00:05:44 +0000 (16:05 -0800)]
GCPrivate, GCHandle, and GChandlePrivate events for local GC (#16020)

* first event changed

* rest of the private events

* whitespace fixes

6 years ago[Arm64] Initial HWIntrinsic implementation
Steve MacLean [Tue, 19 Dec 2017 22:15:22 +0000 (17:15 -0500)]
[Arm64] Initial HWIntrinsic implementation

6 years agoFix FreeBSD build and update build instructions (#15998)
Conrad Meyer [Fri, 26 Jan 2018 21:31:21 +0000 (13:31 -0800)]
Fix FreeBSD build and update build instructions (#15998)

Move test code include in global CMakeLists before PAL runtime includes to
avoid conflicts between PAL and system headers.
(ForeignThreadExceptionsNative.cpp -> thread -> functional -> memory ->
cassert -> pal rt "assert.h".)  Drop no longer needed remove_definitions
lines -- they're only set by the clrdefinitions.cmake include later in
the file.

Update build instructions to include needed components (ninja,
lttng-ust, python27).

Add missing ElfW() definition when libunwind does not define it.

FreeBSD alloca() is defined in stdlib.h, so include that instead of
alloca.h on FreeBSD.

6 years agoMerge pull request #16035 from jashook/use_checked_centos
Jarret Shook [Fri, 26 Jan 2018 18:52:20 +0000 (10:52 -0800)]
Merge pull request #16035 from jashook/use_checked_centos

Use centOS Checked jobs

6 years agoUse centOS Checked jobs
jashook [Fri, 26 Jan 2018 17:08:43 +0000 (09:08 -0800)]
Use centOS Checked jobs

6 years agofix pointer in ILCodeVersionNode so it uses PTR_COR_ILMETHOD instead of COR_IL_METHOD...
David Mason [Fri, 26 Jan 2018 07:41:29 +0000 (23:41 -0800)]
fix pointer in ILCodeVersionNode so it uses PTR_COR_ILMETHOD instead of COR_IL_METHOD *, which was causing a crash in the DAC (#16003)

6 years agoCreate the concept of EventPipeSession and refactor EventPipe to use it. Also expose...
Brian Robbins [Fri, 26 Jan 2018 04:29:23 +0000 (20:29 -0800)]
Create the concept of EventPipeSession and refactor EventPipe to use it.  Also expose COMPlus configuration variables to support session configuration and output file path. (#16018)

6 years agoFix Windows-Specific EventPipe Bugs (#16025)
Brian Robbins [Fri, 26 Jan 2018 04:28:48 +0000 (20:28 -0800)]
Fix Windows-Specific EventPipe Bugs (#16025)

* Modify IsEnabled macros used on Windows.

* Fix arithmetic error due to order of operations.

6 years ago[Local GC] FEATURE_EVENT_TRACE 3/n: Defining and Firing Dynamic Events (#16000)
Sean Gillespie [Fri, 26 Jan 2018 02:17:57 +0000 (18:17 -0800)]
[Local GC] FEATURE_EVENT_TRACE 3/n: Defining and Firing Dynamic Events (#16000)

6 years agoCompute System.Private.CoreLib roots required by the runtime. (#15525)
Eugene Rozenfeld [Fri, 26 Jan 2018 01:45:10 +0000 (17:45 -0800)]
Compute System.Private.CoreLib roots required by the runtime. (#15525)

Embed the result as a System.Private.CoreLib.dll xml resource
for consumption by ILLink.

Update mscorlib.h to make several dependencies explicit.

The actual msbuild task lives in the linker repo:
https://github.com/mono/linker/blob/master/corebuild/integration/ILLink.Tasks/CreateRuntimeRootDescriptorFile.cs

6 years agoFix asan false-positive errors: (#15563)
Konstantin Baladurin [Thu, 25 Jan 2018 22:19:19 +0000 (01:19 +0300)]
Fix asan false-positive errors: (#15563)

- Call __asan_handle_no_return in RtlRestoreContext if it doesn't return
  and in ThrowExceptionFromContextInternal function;

- Increase alternate signal stack size and use it also for asan.

6 years agoEnable tiered jitting for R2R methods (#15967)
Koundinya Veluri [Thu, 25 Jan 2018 20:01:32 +0000 (12:01 -0800)]
Enable tiered jitting for R2R methods (#15967)

Enable tiered jitting for R2R methods

- Included R2R methods and generics over value types in CoreLib for tiered jitting. Tier 0 for R2R methods is the precompiled code if available, and tier 1 is selectively scheduled based on call counting.
- Added a delay before starting to count calls for tier 1 promotion. The delay is a short duration after frequent tier 0 jitting stops (current heuristic for identifying startup).
- Startup time and steady-state performance have improved on JitBench. There is a regression shortly following startup due to call counting and tier 1 jitting, for a short duration before steady-state performance stabilizes.
- Added two new config values, one for configuring the call count threshold for promoting to tier 1, and another for specifying the delay from the last tier 0 JIT invocation before starting to count calls

6 years agoRevert "Add environment variable (COMPlus_EnableDiagnostics) to disable debugging...
Russ Keldorph [Thu, 25 Jan 2018 00:52:29 +0000 (16:52 -0800)]
Revert "Add environment variable (COMPlus_EnableDiagnostics) to disable debugging and profiling. (#15878)"

This reverts commit 5bcfde404803f85451cf0ee9fd6406734cb878ff.

6 years ago Add GetLoadLibrary function for PAL & use in TrackErrorCode (#15831)
William Godbe [Thu, 25 Jan 2018 18:23:01 +0000 (10:23 -0800)]
 Add GetLoadLibrary function for PAL & use in TrackErrorCode (#15831)

* Add GetLoadLibrary function for PAL & use in TrackErrorCode

* Finish changes to dllimport.cpp

* Fix unix build errors

* fix windows issues

* Address feedback

* Fix return type

* Address feedback

* Fix return type

* Fix usage of LPCWSTR

* Use shared library string

* Append message strings

* Fix append

* Append newline

* Fix spelling

* Modify error messages

* Resolve conflicts

* Add mac message & stop appending all exceptions

* Fix another error message

* Fix NoName Error

* Add newline to .h file

6 years agoResolve iterators and async methods (#14655)
Ben Adams [Thu, 25 Jan 2018 17:56:36 +0000 (17:56 +0000)]
Resolve iterators and async methods (#14655)

Allows a developer to determine *correct* overload called for *async* and *iterators*, from a stacktrace.

Matches the compiler generated containing `Type` to the source method using:
`method.DeclaringType == StateMachineAttribute.StateMachineType` attribute to allow the stack trace to resolve the mangled method name to the correct overload.  Also appends the statemachine method name with `+` for iterators.

Resolves: dotnet/corefx#24627

6 years agoMerge pull request #16017 from jashook/fix_inner_loop_centos_test
Jarret Shook [Thu, 25 Jan 2018 17:34:12 +0000 (09:34 -0800)]
Merge pull request #16017 from jashook/fix_inner_loop_centos_test

Correctly allow buildOnly jobs for release x64

6 years agoCorrectly allow buildOnly jobs for release x64
jashook [Thu, 25 Jan 2018 17:15:08 +0000 (09:15 -0800)]
Correctly allow buildOnly jobs for release x64

6 years agoMerge pull request #16005 from CarolEidt/Fix15848
Carol Eidt [Thu, 25 Jan 2018 16:08:27 +0000 (08:08 -0800)]
Merge pull request #16005 from CarolEidt/Fix15848

Disable FP to Unsigned Vector Conversions

6 years agoMinor bug fix for Array.Sort: Replace keys.Length with length for FloorLog2PlusOne...
nietras [Thu, 25 Jan 2018 14:20:10 +0000 (15:20 +0100)]
Minor bug fix for Array.Sort: Replace keys.Length with length for FloorLog2PlusOne (#16002)

* replace keys.Length with length for FloorLog2PlusOne

* fix non-generic sort

6 years ago[x86/Linux] Fix HelperMethodFrame::UpdateRegDisplay (#15993)
Konstantin Baladurin [Thu, 25 Jan 2018 10:31:32 +0000 (13:31 +0300)]
[x86/Linux] Fix HelperMethodFrame::UpdateRegDisplay (#15993)

For DAC after initialization MachState using InsureInit method,
register pointers are NULL so we cannot use them to restore register
values.

6 years agoDisable the ConvertToUInt intrinsics by removing them from simdintrinsiclist.h
Carol Eidt [Thu, 25 Jan 2018 05:36:02 +0000 (21:36 -0800)]
Disable the ConvertToUInt intrinsics by removing them from simdintrinsiclist.h

6 years agoMerge pull request #15813 from jashook/inner_loop_fixes
Jarret Shook [Thu, 25 Jan 2018 05:24:02 +0000 (21:24 -0800)]
Merge pull request #15813 from jashook/inner_loop_fixes

Add innerloop tag for pri0 jobs

6 years agoAdd innerloop tag for pri0 jobs
jashook [Wed, 10 Jan 2018 17:52:23 +0000 (09:52 -0800)]
Add innerloop tag for pri0 jobs

Everything that is not innerloop will run priority 1.

6 years agoDisable FP to Unsigned Vector Conversions
Carol Eidt [Wed, 24 Jan 2018 23:41:06 +0000 (15:41 -0800)]
Disable FP to Unsigned Vector Conversions

The specific failure in #15848 was due to a problem with the AVX encoding of the pinsrw instruction that was exposed when AVX is enabled but AVX2 is not. The code generator generates the (SSE2) 2-operand form, but this is an instruction that needs to be encoded with the dst duplicated when using AVX encodings. So it needs to be added to `IsDstDstSrcAVXInstruction()`.

Investigating this (and adding additional test coverage) revealed that conversions to FP were not implemented correctly for out-of-range values, and providing the same behavior as scalar conversion is complex and costly, with unknown benefit, as this is not expected to be a common scenario. So, don't recognize these as intrinsics (revert to the IL implementation).

Also, fix the test to cover more cases.

Fix 15848

6 years agoFix syntax error in illink groovy (#15999)
Michelle McDaniel [Wed, 24 Jan 2018 22:01:10 +0000 (14:01 -0800)]
Fix syntax error in illink groovy (#15999)

6 years agoDelete Ptr typedefs from jit src. (#15983)
Sergey Andreenko [Wed, 24 Jan 2018 21:19:09 +0000 (13:19 -0800)]
Delete Ptr typedefs from jit src. (#15983)

* delete fgArgInfoPtr

* delete treeLstPtr

* delete treeStmtLstPtr

* delete fgArgTabEntryPtr

* delete BasicBlockPtr

6 years agoAdd "CLRJitAttachState" global export from coreclr.dll that contains the CLR_DEBUGGIN...
Mike McLaughlin [Wed, 24 Jan 2018 20:31:44 +0000 (12:31 -0800)]
Add "CLRJitAttachState" global export from coreclr.dll that contains the CLR_DEBUGGING_PROCESS_FLAGS for VS. (#15973)

6 years agoReflection-block some types in CoreLib (dotnet/corert#5286)
Michal Strehovský [Wed, 24 Jan 2018 16:00:14 +0000 (17:00 +0100)]
Reflection-block some types in CoreLib (dotnet/corert#5286)

This saves 50 kB on a hello world app.

This is using the existing ReflectionBlocked attribute to manually block public types that get otherwise blocked by the IL2IL toolchain in Project N. These types are public within the repo, but should be considered private implementation details everywhere else.

Wrote a small tool that would let me identify these: https://gist.github.com/MichalStrehovsky/e2ddec899d3e0db6eba95bf68694b40e. There is more.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years ago[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events (#15957)
Sean Gillespie [Wed, 24 Jan 2018 18:04:56 +0000 (10:04 -0800)]
[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events  (#15957)

* [Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for porting known events to callbacks on GCToEEInterface

* Code review feedback: remove `descriptor` system for known events and instead use the gcevents xmacro to generate calls to `GCEventStatus::IsEnabled` with known constants

* Remove more event descriptor code

6 years agoMerge pull request #15980 from CarolEidt/Fix15932
Carol Eidt [Wed, 24 Jan 2018 16:09:11 +0000 (08:09 -0800)]
Merge pull request #15980 from CarolEidt/Fix15932

Adjust minRegs for SELECT stress modes

6 years agoDelete dead code (#15990)
Jan Kotas [Wed, 24 Jan 2018 03:56:42 +0000 (19:56 -0800)]
Delete dead code (#15990)

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124...
dotnet-maestro-bot [Wed, 24 Jan 2018 03:56:24 +0000 (21:56 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124-01, preview2-26124-02, master-20180123-0043, respectively (#15976)

6 years agoMerge pull request #15949 from mikedn/shift-inconsistency
Bruce Forstall [Wed, 24 Jan 2018 03:51:43 +0000 (19:51 -0800)]
Merge pull request #15949 from mikedn/shift-inconsistency

Fix 64 bit shift inconsistencies (on 32 bit targets)

6 years ago[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)
Sean Gillespie [Wed, 24 Jan 2018 02:53:30 +0000 (18:53 -0800)]
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)

* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes

* Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE

* Address code review feedback: add EventPipe callback and comments

* Fix the non-FEATURE_PAL build

* Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active)

* Simplify callback locking scheme

* Add a separate callback for each EventPipe provider and funnel them all through a common handler

* Fix non-FEATURE_PAL build

6 years agoAdd Unsafe.IsAddressGreaterThan / IsAddressLessThan (#15988)
Levi Broderick [Wed, 24 Jan 2018 01:00:47 +0000 (17:00 -0800)]
Add Unsafe.IsAddressGreaterThan / IsAddressLessThan (#15988)

6 years agoCatch ambiguous interface method resolution exceptions (#15978)
Michal Strehovský [Wed, 24 Jan 2018 00:11:31 +0000 (01:11 +0100)]
Catch ambiguous interface method resolution exceptions (#15978)

Default interface methods might end up being ambiguous. This thows an exception we need to catch.

6 years agoDo not devirtualize shared default interface methods (#15979)
Michal Strehovský [Wed, 24 Jan 2018 00:10:52 +0000 (01:10 +0100)]
Do not devirtualize shared default interface methods (#15979)

The result of the devirtualization for a method on a generic type should be an instantiating stub, but this doesn't seem to work right.

Fixing that is a perf issue (that can be triaged/punted - #15977). This commit is a correctness fix to avoid bad codegen for that case.

Resolves #15591.

6 years agoMerge pull request #15984 from dagood/remove-conversion/master
Wes Haggard [Tue, 23 Jan 2018 20:27:53 +0000 (12:27 -0800)]
Merge pull request #15984 from dagood/remove-conversion/master

Never attempt Portable PDB conversion

6 years agoNever attempt Portable PDB conversion
Davis Goodin [Tue, 23 Jan 2018 20:10:49 +0000 (14:10 -0600)]
Never attempt Portable PDB conversion

The inline script detected whether the branch name contained "release/" and ran a different target. That target tries to convert Portable PDBs into Windows PDBs, which currently hits errors in CoreCLR.

Remove this logic from CoreCLR: it is no longer necessary because orchestrated builds will have a post-build symbol publish step.

6 years agoAdjust minRegs for SELECT stress modes
Carol Eidt [Tue, 23 Jan 2018 15:48:49 +0000 (07:48 -0800)]
Adjust minRegs for SELECT stress modes

My recent refactoring to put all the `minRegCandidateCount` computation in one place failed to take into account that the `LSRA_SELECT` stress modes can also overly constrain the number of registers. Therefore, it needs to be applied only after the `minRegCandidateCount` has been computed. This may in turn cause new conflicts between the def and use of a tree temp, so factor out the code that checks for that.

Fix #15932

6 years agoRemove hardcoded paths in linkbench scripts (#15939)
Michelle McDaniel [Tue, 23 Jan 2018 16:30:28 +0000 (08:30 -0800)]
Remove hardcoded paths in linkbench scripts (#15939)

* Remove hardcoded paths in linkbench scripts

Linkbench has hardcoded paths based off of VS140COMNTOOLS, which not all
machines will have (ie, machines with only VS2017 installed). This
change removes the hardcoded paths, and replaces them with checks to
make sure the tool is on the path (which they will be if we are in a VS
environment of any kind - which we would have been in if
VS140COMNTOOLS was already set).

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123...
dotnet-maestro-bot [Tue, 23 Jan 2018 06:32:01 +0000 (00:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123-01, preview2-26123-01, master-20180122-0034, respectively (#15882)

6 years agoMisc Span/Memory changes (#15941)
Ian Hays [Tue, 23 Jan 2018 03:07:15 +0000 (19:07 -0800)]
Misc Span/Memory changes (#15941)

* Misc Span/Memory additions
- Add MemoryMarshal.CreateSpan to replace DangerousCreate
- Add MemoryMarshal.CreateReadOnlySpan to replace DangerousCreate
- Add MemoryMarshal.Cast to replace NonPortableCast
- Add ToString override to Span and ReadOnlySpan
- Add ToEnumerable function to MemoryMarshal that takes a ReadOnlyMemory

6 years agoDisable EventPipe tests which fair in stress runs (#15972)
Victor "Nate" Graf [Tue, 23 Jan 2018 02:53:06 +0000 (18:53 -0800)]
Disable EventPipe tests which fair in stress runs (#15972)

Disable EventPipe tests which fair in stress runs

Addresses: #15924
Follow-up: #15927

6 years agoRename Pin offset to byteOffset and clean up Retain test (#26518)
Ahson Khan [Mon, 22 Jan 2018 21:57:11 +0000 (13:57 -0800)]
Rename Pin offset to byteOffset and clean up Retain test (#26518)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoRemove .NET limit on env var name and value length
danmosemsft [Mon, 22 Jan 2018 19:38:54 +0000 (11:38 -0800)]
Remove .NET limit on env var name and value length

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoMerge pull request #15966 from weshaggard/MoveTo21Preview2
Wes Haggard [Mon, 22 Jan 2018 21:58:41 +0000 (13:58 -0800)]
Merge pull request #15966 from weshaggard/MoveTo21Preview2

Move from preview1 to preview2 in master branches

6 years agoMove TimeZoneInfo.Win32.cs to shared CoreLib partition (#15953)
Jan Kotas [Mon, 22 Jan 2018 21:30:20 +0000 (13:30 -0800)]
Move TimeZoneInfo.Win32.cs to shared CoreLib partition (#15953)

Reconcile deltas with CoreRT and refactor interop to follow coding conventions

6 years agoMove from preview1 to preview2 in master branches
Wes Haggard [Mon, 22 Jan 2018 19:39:44 +0000 (11:39 -0800)]
Move from preview1 to preview2 in master branches

preview1 will be produced from the release/2.1 branch

6 years agoMerge pull request #15944 from BruceForstall/CorefxTestUseCorrectVersion
Bruce Forstall [Mon, 22 Jan 2018 19:11:30 +0000 (11:11 -0800)]
Merge pull request #15944 from BruceForstall/CorefxTestUseCorrectVersion

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

6 years agoMerge pull request #15942 from tannergooding/no-multireg-simd
Tanner Gooding [Mon, 22 Jan 2018 17:46:22 +0000 (09:46 -0800)]
Merge pull request #15942 from tannergooding/no-multireg-simd

Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs

6 years agoFix Windows ARM release build break (#15958)
Jan Kotas [Mon, 22 Jan 2018 07:06:53 +0000 (23:06 -0800)]
Fix Windows ARM release build break (#15958)

6 years agoMerge pull request #15959 from jashook/remove_arm_pr_trigger
Jarret Shook [Mon, 22 Jan 2018 06:25:35 +0000 (22:25 -0800)]
Merge pull request #15959 from jashook/remove_arm_pr_trigger

Turn off arm pr trigger

6 years agoTurn off arm pr trigger
jashook [Mon, 22 Jan 2018 06:15:44 +0000 (22:15 -0800)]
Turn off arm pr trigger

6 years agoStop the SIMD hardware intrinsics types from undergoing crossgen.
Tanner Gooding [Sat, 20 Jan 2018 18:23:52 +0000 (10:23 -0800)]
Stop the SIMD hardware intrinsics types from undergoing crossgen.

6 years agoRemove AppDomainLeaks configuration option (#15956)
antofik [Mon, 22 Jan 2018 02:03:51 +0000 (05:03 +0300)]
Remove AppDomainLeaks configuration option (#15956)

Removed all usages of AppDomainLeaks configuration option and
CHECK_APP_DOMAIN_LEAKS feature

Fix #12094

6 years agoRename Libraries.GlobalizationInterop to Libraries.GlobalizationNative
Jan Kotas [Sun, 21 Jan 2018 07:52:02 +0000 (23:52 -0800)]
Rename Libraries.GlobalizationInterop to Libraries.GlobalizationNative

Consistency with CoreFX and coding conventions.

Also delete a few other pieces of unused code.

6 years agoDefine Interop.Kernel32.MAX_PATH (#15952)
Jan Kotas [Sun, 21 Jan 2018 02:18:07 +0000 (18:18 -0800)]
Define Interop.Kernel32.MAX_PATH (#15952)

* Define Interop.Kernel32.MAX_PATH

For consistency with CoreFX and coding conventions.

6 years agoMerge pull request #15948 from fiigii/fix-ifdef
Bruce Forstall [Sun, 21 Jan 2018 01:49:40 +0000 (17:49 -0800)]
Merge pull request #15948 from fiigii/fix-ifdef

Fix a minor bug

6 years agoFix timezone lookup to be consistently case insensitive (#15951)
Jan Kotas [Sat, 20 Jan 2018 21:32:46 +0000 (13:32 -0800)]
Fix timezone lookup to be consistently case insensitive (#15951)

The timezone ids used case insensitive comparisons everywhere, except in the dictionary used to cache timezones.

Fixes dotnet/corefx#26479

6 years agoMerge pull request #15936 from GrabYourPitchforks/levib/memory_nullref
Jeremy Barton [Sat, 20 Jan 2018 16:41:39 +0000 (08:41 -0800)]
Merge pull request #15936 from GrabYourPitchforks/levib/memory_nullref

Allow implicit conversion of null arrays to empty Memory instances

6 years agoAdd optional integer offset to OwnedMemory Pin (#15946)
Ahson Khan [Sat, 20 Jan 2018 14:40:44 +0000 (06:40 -0800)]
Add optional integer offset to OwnedMemory Pin (#15946)

6 years agoFix 64 bit shift inconsistencies (on 32 bit targets)
Mike Danes [Sat, 20 Jan 2018 12:08:37 +0000 (14:08 +0200)]
Fix 64 bit shift inconsistencies (on 32 bit targets)

Recent shift changes made the JIT_LLsh helper mask the shift count to 6 bits. The other 2 helpers (JIT_LRsh and JIT_LRsz) so now we get inconsistencies such as `(x >> 64) != (x << 64)`.

The ECMA spec says that "the return value is unspecified if shiftAmount is greater than or equal to the width of value" so the JIT has no obligation to implement a particular behavior. But it seems preferable to have all shift instructions behave similarly, it avoids complications and reduces risks.

This also changes `ValueNumStore::EvalOpIntegral` to mask the shift count for 64 bit shifts so it matches `gtFoldExprConst`. Otherwise the produced value depends on the C/C++ compiler's behavior.

6 years ago#if defined(_TARGET_XARCH_) || defined(_TARGET_ARM64_)
Fei Peng [Sat, 20 Jan 2018 06:08:03 +0000 (22:08 -0800)]
#if defined(_TARGET_XARCH_) || defined(_TARGET_ARM64_)

6 years agoMerge pull request #15945 from dotnet-bot/from-tfs
Bruce Forstall [Sat, 20 Jan 2018 05:59:44 +0000 (21:59 -0800)]
Merge pull request #15945 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoBreak current culture initialization cycle (#15938)
Jan Kotas [Sat, 20 Jan 2018 04:06:39 +0000 (20:06 -0800)]
Break current culture initialization cycle (#15938)

Fixes #15931

6 years agoMerge pull request #15903 from CarolEidt/Fix545505
Carol Eidt [Sat, 20 Jan 2018 02:15:33 +0000 (18:15 -0800)]
Merge pull request #15903 from CarolEidt/Fix545505

ARM: Fix morphing of struct passed on stack

6 years agoFix desktop build
Bruce Forstall [Sat, 20 Jan 2018 01:18:49 +0000 (17:18 -0800)]
Fix desktop build

1. Fix `LEGACY_BACKEND`
2. `#if FEATURE_HW_INTRINSICS` => `#ifdef FEATURE_HW_INTRINSICS`

[tfs-changeset: 1686599]

6 years agoUpdating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg...
Tanner Gooding [Fri, 19 Jan 2018 23:49:47 +0000 (15:49 -0800)]
Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs.

6 years agoAdd CI support for updated run-corefx-tests.py
Bruce Forstall [Fri, 19 Jan 2018 23:59:09 +0000 (15:59 -0800)]
Add CI support for updated run-corefx-tests.py

Change CI to build a "GenerateLayoutOnly" drop for corefx testing,
specifically to cause the corefx package to be restored, so we
can determine its version.