platform/upstream/coreclr.git
5 years agoReplace more of JitHelpers with S.R.CS.Unsafe (#21598)
Jan Kotas [Thu, 20 Dec 2018 15:10:07 +0000 (07:10 -0800)]
Replace more of JitHelpers with S.R.CS.Unsafe (#21598)

- Replace JitHelpers.UnsafeCastToStackPtr with Unsafe.AsPointer
- Delete PinningHelper that was duplicate of RawData helper class

5 years agoUpdate dependency files (#21580)
dotnet-maestro[bot] [Thu, 20 Dec 2018 14:43:35 +0000 (14:43 +0000)]
Update dependency files (#21580)

* Update dependencies from https://github.com/dotnet/arcade build 844

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18617.7
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18617.7

* Update dependencies from https://github.com/dotnet/arcade build 885

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18618.7
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18618.7

* Update dependencies from https://github.com/dotnet/arcade build 908

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18619.4
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18619.4

5 years agoFix jit warning. (#21600)
Eugene Rozenfeld [Thu, 20 Dec 2018 12:52:09 +0000 (04:52 -0800)]
Fix jit warning. (#21600)

5 years agoAdd build timeout (#21591)
Sven Boemer [Wed, 19 Dec 2018 05:09:58 +0000 (21:09 -0800)]
Add build timeout (#21591)

This should fix official build failures that are timing out because
the jobs are waiting to obtain an exclusive lock on the blob
feed.

5 years agoUpdate CoreClr, CoreSetup to preview-27218-02, preview-27218-01, respectively (#21558)
dotnet-maestro-bot [Tue, 18 Dec 2018 23:28:16 +0000 (15:28 -0800)]
Update CoreClr, CoreSetup to preview-27218-02, preview-27218-01, respectively (#21558)

5 years agoUpdate named mutex PAL tests to include case of file locks being inherited by child...
Koundinya Veluri [Tue, 18 Dec 2018 22:32:38 +0000 (14:32 -0800)]
Update named mutex PAL tests to include case of file locks being inherited by child process (#21496)

Included case fixed by https://github.com/dotnet/coreclr/pull/21458. Fixes https://github.com/dotnet/coreclr/issues/21494.

5 years agoAdd support for parsing field signatures (#21573)
Tomáš Rylek [Tue, 18 Dec 2018 21:26:54 +0000 (22:26 +0100)]
Add support for parsing field signatures (#21573)

This change adds basic field signature parsing support to R2RDump
and it improves parsing of two fixup types (FIELD_ADDRESS and
CCTOR_TRIGGER).

Thanks

Tomas

5 years agoMerge pull request #21567 from CarolEidt/Issue20657
Carol Eidt [Tue, 18 Dec 2018 19:51:49 +0000 (11:51 -0800)]
Merge pull request #21567 from CarolEidt/Issue20657

Test for #20657 SIMD byref bug

5 years agoMerge pull request #21571 from BruceForstall/DisableArm32Test
Bruce Forstall [Tue, 18 Dec 2018 16:35:39 +0000 (08:35 -0800)]
Merge pull request #21571 from BruceForstall/DisableArm32Test

Disable GitHub_19361 for Linux arm32

5 years agoFix stack walking and reporting of default interface methods (#21525)
Michal Strehovský [Tue, 18 Dec 2018 08:56:23 +0000 (09:56 +0100)]
Fix stack walking and reporting of default interface methods (#21525)

Default interface methods in their unresolved state don't have a generic context. The generic context is only added once the method is resolved to its implementation.

5 years agoAdd .NET Core version to EventLog (#21566)
Sung Yoon Whang [Tue, 18 Dec 2018 06:23:12 +0000 (22:23 -0800)]
Add .NET Core version to EventLog (#21566)

5 years agoGenerate ARM CFIs in prolog (#21505)
Andrey Kvochko [Tue, 18 Dec 2018 05:28:32 +0000 (08:28 +0300)]
Generate ARM CFIs in prolog (#21505)

5 years agoFixed suppressed XML documentation errors (dotnet/corefx#34020)
Stanislav Ushakov [Mon, 17 Dec 2018 17:15:22 +0000 (20:15 +0300)]
Fixed suppressed XML documentation errors (dotnet/corefx#34020)

* Fixed XML documentation tags for CoreFx.Private.TestUtilities

* Fixed XML documentation tags for System.Diagnostics.Process

* Fixed XML documentation tags for System.ComponentModel.Composition

* Fixed XML documentation tags for System.ComponentModel.Primitives

* Fixed XML documentation tags for System.ComponentModel.TypeConverter

* Fixed XML documentation tags for System.Data.Common

* Fixed XML documentation tags for System.Data.SqlClient

* Fixed XML documentation tags for System.Diagnostics.PerformanceCounter

* Fixed XML documentation tags for System.Diagnostics.StackTrace

* Fixed XML documentation for System.Diagnostics.TraceSource

* Fixed XML documentation for System.IO.Compression.ZipFile

* Fixed XML documentation for System.IO.Compression

* Fixed XMl documentation reference according to review notes

* Fixed XML documentation tags for System.IO.MemoryMappedFiles

* Fixed XML documentation tags for System.IO.Pipes

* Fixed XML documentation tag for OSX interop in System.Diagnostics.Process

* Fixed XML documentation tags for CoreFx.Private.TestUtilities for Unix

* Fixed XML documentation tags for System.Linq.Expressions

* Fixed XML documentation for System.Linq.Parallel

* Fixed XML documentationt ags for System.Linq

* Fixed XML documentation tags for System.Management

* Fixed XMl documentation tags for System.Net.Http (left CS1573)

* Fixed XMl documentation tags for System.Net.Mail

* Fixed XML documentation tags for System.Net.NameResolution

* Fixed XML documentation tags for System.Net.Primitives - added T prefix for Socket as Primitives do not reference System.Net.Sockets

* Fixed XML documentation tags for System.Net.Sockets

* Fixed XML documentation tags for Unix interop files

* Fixed XML documentation tags for System.Net.Http (Unix)

* Fixed XML documentation tags for PlatformDetection.Unix.cs according to review notes

* Fixed XML documentation tags for OSX interop

* Ignore CS1574 for System.Linq as there is no ConcatIterator{TSource}.ToList for uap.

* Fixed XML documentation tags for FreeBSD interop

* Fixed XML documentation tags for System.Net.WebSockets

* Fixed XMLm documentation tags for System.Transactions.Local

* Fixed XML documentation for System.Security.Principal.Windows

* Fixed XML documentation for System.Drawing.Common

* Fixed XML documentation for System.Net.NetworkInformation

* Fixed XML documentation tags for System.Private.XML (left CS1589)

* Fixed XML documentation tags for System.Security.Cryptography

* Fixed XML documentation for System.Runtime.WindowsRuntime

* Fixed XML documentation tags for System.Security.Cryptography.Xml

* Fixed XML documentation tags for System.Security.Cryptography.Primitives
CS3016 was added by mistake as part of #32934 so I removed it.

* Fixed XML documentation tags for System.Linq: added M to ToList method as it is not accessible by uap builds.

* Fixed XML documentation tags for System.IO.FileSystem

* Fixed XML documentation tags for System.Security.Cryptography.*

* Fixed XML documentation for System.IO.Ports

* Fixed XML documentation tags for System.Private.Reflection.Metadata.Ecma335

* Fixed XML documentation tags for System.Windows.Extensions

* Fixed XMl documentation tags for System.Console

* Fixed XML documentation for System.IO.FileSystem.DriveInfo

* Fixed XML documentation tags for System.Runtime.Extensions

* Fixed XML documentation tags for System.Drawing.Primitives.
Left CS1589 as there is no 'doc\KnownColor.uex' file.

* Fixed XMl documentation for System.Runtime.WindowsRuntime.
Had to add M prefix to 'Windows.Foundation.IAsyncAction' as Windows.Foundation is not accessible at compilation time.

* Fixed XML documentation tags for System.Private.Xml

* Fixed XML documentation tags for System.Private.Reflection.Metadata.Ecma335
Had to add a prefixes to: 'T:System.Collections.Immutable' and 'M:Enumerable.ToArray{TSource}' as they are not available for uap at compilation time.

* Fixed XML documentation tags for System.Net.WebSockets.WebSocketProtocol

* Fixed XML documentation tags for System.Net.WebSockets.WebSocketProtocol

* XML documentation tags fixes: changes after review.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoDo not use CorHost2::m_fStarted to gate execution (#20953)
Steve MacLean [Tue, 18 Dec 2018 02:23:20 +0000 (21:23 -0500)]
Do not use CorHost2::m_fStarted to gate execution (#20953)

* ExecuteInDefaultAppDomain w/o Start

Do not require Start() call before
calling ExecuteInDefaultAppDomain()

* Remove unused variable
* Move flags as needed to CorHost2

5 years agoMerge pull request #21574 from BruceForstall/AddDotnetDiagnosticsInfo
Bruce Forstall [Tue, 18 Dec 2018 01:28:16 +0000 (17:28 -0800)]
Merge pull request #21574 from BruceForstall/AddDotnetDiagnosticsInfo

Add dotnet info to PMI asm diffs output

5 years agoMerge pull request #21572 from BruceForstall/DisableArm64Test
Bruce Forstall [Tue, 18 Dec 2018 01:25:15 +0000 (17:25 -0800)]
Merge pull request #21572 from BruceForstall/DisableArm64Test

Disable System.Runtime.Tests for Linux arm64 corefx tests

5 years agoMerge pull request #21532 from BruceForstall/FixPython3Issue
Bruce Forstall [Tue, 18 Dec 2018 01:22:35 +0000 (17:22 -0800)]
Merge pull request #21532 from BruceForstall/FixPython3Issue

Fix Python 3 issues

5 years agoAdd tests for marshalling a System.Drawing.Color. (#21569)
Jeremy Koritzinsky [Tue, 18 Dec 2018 00:50:54 +0000 (16:50 -0800)]
Add tests for marshalling a System.Drawing.Color. (#21569)

5 years agoAdd dotnet info to PMI asm diffs output
Bruce Forstall [Tue, 18 Dec 2018 00:09:35 +0000 (16:09 -0800)]
Add dotnet info to PMI asm diffs output

This might help diagnose issues.

5 years agoDisable System.Runtime.Tests for Linux arm64 corefx tests
Bruce Forstall [Mon, 17 Dec 2018 23:20:04 +0000 (15:20 -0800)]
Disable System.Runtime.Tests for Linux arm64 corefx tests

Failure with System.Tests.ExceptionTests.ThrowStatementDoesNotResetExceptionStackLineOtherMethod
in JitStress=2.

Tracking: #21223

5 years agoDisable GitHub_19361 for Linux arm32
Bruce Forstall [Mon, 17 Dec 2018 22:45:39 +0000 (14:45 -0800)]
Disable GitHub_19361 for Linux arm32

It currently times out and fails on Debug.

Tracking: #20232

5 years agoSwitch to using resources in BenchmarksGames tests (#21554)
Egor Chesakov [Mon, 17 Dec 2018 19:11:25 +0000 (11:11 -0800)]
Switch to using resources in BenchmarksGames tests (#21554)

Embed the following test files as the resources in their corresponding test assemblies:

* regexdna-input25.txt regexdna-input25000.txt in BenchmarksGame/regex-redux

* knucleotide-input.txt knucleotide-input-big.txt in BenchmarksGame/k-nucleotide

* revcomp-input25.txt revcomp-input25000.txt in BenchmarksGame/reverse-complement

5 years agoTest for #20657 SIMD byref bug
Carol Eidt [Mon, 17 Dec 2018 18:28:54 +0000 (10:28 -0800)]
Test for #20657 SIMD byref bug

5 years agoDelete dead code (#21562)
Jan Kotas [Mon, 17 Dec 2018 16:55:53 +0000 (08:55 -0800)]
Delete dead code (#21562)

- Delete clix support from PAL. "clix" was launcher in the Rotor days - like "dotnet" today.
- Delete URL parsing from PALRT

5 years agoUpdate dependency files (#21560)
dotnet-maestro[bot] [Mon, 17 Dec 2018 14:46:03 +0000 (14:46 +0000)]
Update dependency files (#21560)

* Update dependencies from https://github.com/dotnet/arcade build 802

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18615.1
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18615.1

* Update dependencies from https://github.com/dotnet/arcade build 817

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18616.5
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18616.5

5 years agoAdd specialized allocation helpers (#21561)
Michal Strehovský [Mon, 17 Dec 2018 13:07:08 +0000 (14:07 +0100)]
Add specialized allocation helpers (#21561)

This is to support dotnet/corert#6688. They don't exist in CoreCLR (yet).

5 years agoMerge pull request #21400 from BruceForstall/FixArm32FloatRange
Bruce Forstall [Sun, 16 Dec 2018 22:27:08 +0000 (14:27 -0800)]
Merge pull request #21400 from BruceForstall/FixArm32FloatRange

Fix arm32 local variable references

5 years agoEnable object stack allocation in R2R mode.
Eugene Rozenfeld [Sat, 24 Nov 2018 06:37:03 +0000 (22:37 -0800)]
Enable object stack allocation in R2R mode.

This change modified the importer to create GenTreeAllocObj node for
box and newobj instead of a helper call in R2R mode. ObjectAllocator phase
decides whether the object can be allocated on the stack or has to be created
on the heap via a helper call.

To trigger object stack allocation COMPlus_JitObjectStackAllocation has
to be set (it's not set by default).

5 years agoEnable PinPlugAtGCTime event for standalone GC (#21543)
Sung Yoon Whang [Sun, 16 Dec 2018 06:10:51 +0000 (22:10 -0800)]
Enable PinPlugAtGCTime event for standalone GC (#21543)

5 years agoUpdate dependency files (#21508)
dotnet-maestro[bot] [Sat, 15 Dec 2018 14:53:11 +0000 (14:53 +0000)]
Update dependency files (#21508)

* Update dependencies from https://github.com/dotnet/arcade build 723

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18611.14
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18611.14

* Update dependencies from https://github.com/dotnet/arcade build 751

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18612.12
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18612.12

* Update dependencies from https://github.com/dotnet/arcade build 779

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18613.20
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18613.20

* Update dependencies from https://github.com/dotnet/arcade build 791

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18614.3
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18614.3

5 years agoUpdate CoreClr, CoreSetup to preview-27215-01, preview-27214-02, respectively (#21547)
dotnet-maestro-bot [Sat, 15 Dec 2018 12:43:07 +0000 (04:43 -0800)]
Update CoreClr, CoreSetup to preview-27215-01, preview-27214-02, respectively (#21547)

5 years agoFix more HWIntrinsic ifdefs (#21556)
Carol Eidt [Sat, 15 Dec 2018 09:23:40 +0000 (01:23 -0800)]
Fix more HWIntrinsic ifdefs (#21556)

5 years agoFix warning causing error in warning as error (#21557)
Ben Adams [Sat, 15 Dec 2018 08:57:07 +0000 (08:57 +0000)]
Fix warning causing error in warning as error (#21557)

c:\github\coreclr\src\vm\excep.cpp(4489):
error C2220: warning treated as error - no 'object' file generated

[C:\GitHub\coreclr\bin\obj\Windows_NT.x64.Release\src\vm\wks\cee_wks.vcxproj]
c:\github\coreclr\src\vm\excep.cpp(4489):
warning C4800: 'BOOL': forcing value to bool 'true' or 'false'
(performance warning)
[C:\GitHub\coreclr\bin\obj\Windows_NT.x64.Release\src\vm\wks\cee_wks.vcxproj]

5 years agoFixing an assert in `gtGetStructHandleForSIMD` to validate the size of the simdType...
Tanner Gooding [Sat, 15 Dec 2018 05:53:17 +0000 (21:53 -0800)]
Fixing an assert in `gtGetStructHandleForSIMD` to validate the size of the simdType is less than or equal to the largest support TYP_SIMD (#21549)

5 years agoAdd Azure DevOps signing support (#21545)
Morgan Brown [Sat, 15 Dec 2018 02:45:55 +0000 (18:45 -0800)]
Add Azure DevOps signing support (#21545)

Add signing support for Azure DevOps pipelines. This uses the arcade signing step, but with custom logic to find files to sign while we're not using arcade for the rest of the build.

5 years agoPublish packages in Azure DevOps official build (#21536)
Sven Boemer [Sat, 15 Dec 2018 01:03:40 +0000 (17:03 -0800)]
Publish packages in Azure DevOps official build (#21536)

This enables coreclr participation in dependency flow.

5 years agoImplement GC ref map parsing and display in R2RDump (#21509)
Tomáš Rylek [Sat, 15 Dec 2018 00:40:33 +0000 (01:40 +0100)]
Implement GC ref map parsing and display in R2RDump (#21509)

As part of my work on CPAOT implementation of GC ref map info
I have implemented decoder of the info so that it can be displayed
next to the import cell signatures.

This also uncovered one possible cause of R2RDump GcInfo-related
crashes that were observed by Andon and myself. It looks like Amy
in her initial implementation confused the various GC encodings
and used GC info to parse the import section auxiliary data which
actually contains the GC ref map info.

Thanks

Tomas

5 years agoMerge pull request #21535 from CarolEidt/Fix21500
Carol Eidt [Sat, 15 Dec 2018 00:00:36 +0000 (16:00 -0800)]
Merge pull request #21535 from CarolEidt/Fix21500

Update var life for multireg local

5 years agoSimplifying the emitter handling of 4-byte encoded SSE instructions (#21528)
Tanner Gooding [Fri, 14 Dec 2018 21:41:07 +0000 (13:41 -0800)]
Simplifying the emitter handling of 4-byte encoded SSE instructions (#21528)

5 years agoUpdate CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213...
dotnet-maestro-bot [Fri, 14 Dec 2018 12:06:12 +0000 (04:06 -0800)]
Update CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213-01, respectively (master) (#21503)

* Update CoreClr, CoreFx, CoreSetup to preview-27213-02, preview.18613.4, preview-27213-01, respectively

* Add System.Threading.AccessControl to CoreFX test deps

5 years agoImplement two pass algorithm for variant interface dispatch (#21355)
Michal Strehovský [Fri, 14 Dec 2018 11:21:45 +0000 (12:21 +0100)]
Implement two pass algorithm for variant interface dispatch (#21355)

Fixes #20452.

5 years agoSetting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block...
Andrew Au [Fri, 14 Dec 2018 06:29:46 +0000 (22:29 -0800)]
Setting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block to avoid the async break deadlock (#21319)

Setting the m_willBlockOnGarbageCollectionEvent earlier and only when we will block to avoid the async break deadlock

5 years ago'mscorlib' link returns 404 -> 'System.Private.CoreLib' (#34086)
Matt Warren [Fri, 14 Dec 2018 01:37:45 +0000 (01:37 +0000)]
'mscorlib' link returns 404 -> 'System.Private.CoreLib' (#34086)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoRunning and visualizing tests in AzureDevOps (Part 1) (#21502)
Egor Chesakov [Fri, 14 Dec 2018 04:05:38 +0000 (20:05 -0800)]
Running and visualizing tests in AzureDevOps (Part 1) (#21502)

* Enable Azure Pipelines reporter so the test results can be seen at one place (i.e. "Tests" tab) - TestRunNamePrefix should encode all the needed information for a test run to be identifiable.

* Scenarios property should use comma (not semi-colon) to work correctly on non-Windows.

* Specify timeout to test jobs (the numbers are taken from netci.groovy) - we would adjust them as soon as we get this running in each PR.

* Specify timeout for Helix work items (the number is taken from buildpipeline) - same as above.

* Specify helixType and helixRepo properties to the job and use _HelixType and _HelixSource variables in MSBuild project instead of defining them manually.

*  Limit Pri0 Checked test jobs to running against pull requests. This also should be limited in the future to "default" build definition name - so when we have PR workload selection feature working we can distinguish between default PR validation and user triggered jobs.

* Remove "Prepare tests for helix" step - instead of archiving Core_Root and tests folders ourselves - directly specify them as correlation payload and work item payload directories and let the archiving be handled by Helix Sdk.

5 years agoUpdate var life for multireg local
Carol Eidt [Thu, 13 Dec 2018 23:46:40 +0000 (15:46 -0800)]
Update var life for multireg local

When a multi-reg var is defined by a call, but doesn't currently reside in a register,
we must still update liveness.

Fix #21500

5 years agoFixes issue #21485 and #21484 (#21526)
Mike McLaughlin [Thu, 13 Dec 2018 23:37:21 +0000 (15:37 -0800)]
Fixes issue #21485 and #21484 (#21526)

Issue #21485: fix EnumProcessModules hPseudoCurrentProcess bug.

Added handle reference.

Issue #21484: createdump segfaults with ASP.NET app

The problem is the ClrDataModule Request faulted on a dynamic module
getting the file layout flag.

Fixed the Request code not get the file layout and in the crash dump
code skip any dynamic modules.

5 years agoJIT: avoid folding operations with relocatable immediates (#21511)
Andy Ayers [Thu, 13 Dec 2018 23:03:34 +0000 (15:03 -0800)]
JIT: avoid folding operations with relocatable immediates (#21511)

In general, don't fold operations on relocatable immediates. Only allow EQ/NE folding, since relocation should preserve identity but not bit values or relative comparisons.

Closes #21483.

5 years agoFix Python 3 issues
Bruce Forstall [Thu, 13 Dec 2018 22:53:31 +0000 (14:53 -0800)]
Fix Python 3 issues

Fixes #21433

5 years agoMinor cleanup of the interoputil.h API (#21476)
Aaron Robinson [Thu, 13 Dec 2018 22:41:08 +0000 (14:41 -0800)]
Minor cleanup of the interoputil.h API (#21476)

5 years agoSuppress warning of obsolete API (#21529)
Aaron Robinson [Thu, 13 Dec 2018 22:36:24 +0000 (14:36 -0800)]
Suppress warning of obsolete API (#21529)

5 years agoMerge pull request #21527 from CarolEidt/FixIfdef
Carol Eidt [Thu, 13 Dec 2018 21:18:29 +0000 (13:18 -0800)]
Merge pull request #21527 from CarolEidt/FixIfdef

Fix HWIntrinsics ifdef

5 years agoFix HWIntrinsics ifdef
Carol Eidt [Thu, 13 Dec 2018 18:12:19 +0000 (10:12 -0800)]
Fix HWIntrinsics ifdef

5 years agoFix hardware intrinsc API XML comments (#21515)
Fei Peng [Thu, 13 Dec 2018 17:00:16 +0000 (09:00 -0800)]
Fix hardware intrinsc API XML comments (#21515)

* Fix AVX2 and SSE2 XML comments

* Fix ARM intrinsic XML comments

5 years agoFixing up configEnableISA and Compiler::compSetProcessor to be consistent with EEJitM...
Tanner Gooding [Thu, 13 Dec 2018 15:48:10 +0000 (07:48 -0800)]
Fixing up configEnableISA and Compiler::compSetProcessor to be consistent with EEJitManager::SetCpuInfo in how ISA support checks are done (#21499)

5 years agoMerge pull request #21304 from CarolEidt/NonObjSIMD
Carol Eidt [Thu, 13 Dec 2018 05:23:46 +0000 (21:23 -0800)]
Merge pull request #21304 from CarolEidt/NonObjSIMD

Don't require BLK nodes for SIMD

5 years agoSuppress unused warnings for events raised by the VM (#21520)
Stephen Toub [Thu, 13 Dec 2018 04:29:47 +0000 (23:29 -0500)]
Suppress unused warnings for events raised by the VM (#21520)

5 years agoMerge pull request #21512 from briansull/fix_750014
Brian Sullivan [Thu, 13 Dec 2018 01:11:35 +0000 (17:11 -0800)]
Merge pull request #21512 from briansull/fix_750014

Fix for PMI assert:  'vnWx != NoVN'

5 years agoJIT: optimize unbox/unbox.any when type is known (#21501)
Andy Ayers [Thu, 13 Dec 2018 00:56:07 +0000 (16:56 -0800)]
JIT: optimize unbox/unbox.any when type is known (#21501)

Optimize away the unbox type test when the jit knows the type of object
being unboxed and can resolve the type comparison at jit time.

Closes #14473.

5 years agoJIT: handle byref-typed immediates in encoding (#21477)
Andy Ayers [Thu, 13 Dec 2018 00:54:08 +0000 (16:54 -0800)]
JIT: handle byref-typed immediates in encoding (#21477)

We may now retype some immediates (for instance RVA statics feeding into Spans)
as byrefs.  These need to be tracked as such during encoding so that the encoder
GC liveness tracking stays current.

Fixes the assert seen in #21466.

5 years agoMerge branch 'master' into fix_750014
Brian Sullivan [Wed, 12 Dec 2018 23:22:49 +0000 (15:22 -0800)]
Merge branch 'master' into fix_750014

5 years agoFix for PMI assert: 'vnWx != NoVN'
Brian Sullivan [Wed, 12 Dec 2018 22:42:43 +0000 (14:42 -0800)]
Fix for PMI assert:  'vnWx != NoVN'

5 years agoOptimize number parsing (#21365)
Pent Ploompuu [Wed, 12 Dec 2018 14:47:16 +0000 (16:47 +0200)]
Optimize number parsing (#21365)

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 708 (#21487)
dotnet-maestro[bot] [Wed, 12 Dec 2018 13:02:42 +0000 (13:02 +0000)]
Update dependencies from https://github.com/dotnet/arcade build 708 (#21487)

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18610.4
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18610.4

5 years agoAdded support for debugging a sandboxed app on Mac (#21068)
Oded Hanson [Wed, 12 Dec 2018 00:42:17 +0000 (02:42 +0200)]
Added support for debugging a sandboxed app on Mac (#21068)

* Fixed bug in StackString where the size is not initialized correctly to STACK_COUNT

* Added CharString and WCharString template classes and a generic CharStringFromLPCWSTR method

* Added support for debugging a sandboxed app on Mac

This change fixes the usage of IPC while debugging while running in a sandbox. When running in a sandbox, the temporary folder for each process will be different. Thus the pipes being created in TwoWayPipe right now would be created in different directories in the debugger process and the process being debugged.
This change configures the folder to be used based on the application group ID that the sandboxed app belongs to.
For the same reasons, the names sempahores being used to synchronize the debugger attach need to be prefixed with the application group ID. This change was abit more involved since the name of the semaphore is limited to 31 characters, so we had to encode the semaphore names differently to make them shorter.

Last, new APIs to the debugger shim were added to support this new feature. This change only handles the runtime side and the dbgshim. An additional change to vsdbg needs to be done to use the new APIs.

fixes #21066

* Fixed build breaks on non Mac Unix platforms

* Fixed usage of gApplicationGroupId in non apple environments

* Fixed bug in semaphore names

* Got rid of usage of StackString

* Made PAL_GetApplicationGroupId Apple specific

* Added comment about pragma pack

* Fixed comment

* Added exported symbols

* Duplicated applicationGroupId so it can be used from another thread during register complete callback

* Renamed BitNum2ByteNum to GetExtraEncodedAreaSize to make intent clearer

* Fixed nit comments

* Removed redundant changes in StackString

* Fixed windows build break

* Fixed compilation switch from __APPLE to __APPLE__

* Added missing exports

5 years agoJIT: capture failing inline observation in more cases (#21471)
Andy Ayers [Tue, 11 Dec 2018 22:59:29 +0000 (14:59 -0800)]
JIT: capture failing inline observation in more cases (#21471)

We were not capturing failing inline observations for failed inlines
that got reported by the runtime directly. Move the point of capture
up in the jitted code so it always happens regardless of reporting
obligations.

5 years agoMoving the remaining Vector128/256 helper intrinsics to be implemented using other...
Tanner Gooding [Tue, 11 Dec 2018 21:11:00 +0000 (13:11 -0800)]
Moving the remaining Vector128/256 helper intrinsics to be implemented using other intrinsics (#21451)

* Updating Vector256.Create(V128, V128) to be implemented using other intrinsics

* Updating Vector128.Create(T, ...) and Vector256.Create(T, ...) to be implemented using other intrinsics

* Renaming CreateSoftware to SoftwareFallback and adding clarifying comments to the helper method code

* Fixing Vector128.Create(int, int, int, int) to properly consume the elements for the Sse2 codepath

5 years agoUpdate CoreClr to preview-27211-02 (#21488)
dotnet-maestro-bot [Tue, 11 Dec 2018 18:21:12 +0000 (10:21 -0800)]
Update CoreClr to preview-27211-02 (#21488)

5 years agoUpdate CoreClr to preview-27211-01 (#21481)
dotnet-maestro-bot [Tue, 11 Dec 2018 12:14:52 +0000 (04:14 -0800)]
Update CoreClr to preview-27211-01 (#21481)

5 years agoDelete unnecessary struct initialization (#21482)
Jan Kotas [Tue, 11 Dec 2018 12:12:12 +0000 (07:12 -0500)]
Delete unnecessary struct initialization (#21482)

5 years agomake GC/GCHandle tracing pay-for-play (#21479)
Sung Yoon Whang [Tue, 11 Dec 2018 06:49:18 +0000 (22:49 -0800)]
make GC/GCHandle tracing pay-for-play (#21479)

5 years agoFix for SetGCHandle event not getting emitted when running under Standalone GC (...
Sung Yoon Whang [Tue, 11 Dec 2018 06:49:03 +0000 (22:49 -0800)]
Fix for SetGCHandle event not getting emitted when running under Standalone GC (#21478)

5 years agoEliminate GenTreeRegVar and GT_REG_VAR and RegVar (#18317)
Julius R Friedman [Tue, 11 Dec 2018 05:42:06 +0000 (00:42 -0500)]
Eliminate GenTreeRegVar and GT_REG_VAR and RegVar (#18317)

Issue #18201 / Hackathon

5 years agoAdding support for the 2-byte VEX encoding to the emitter (#21453)
Tanner Gooding [Tue, 11 Dec 2018 01:41:21 +0000 (17:41 -0800)]
Adding support for the 2-byte VEX encoding to the emitter (#21453)

* Adding support for the 2-byte VEX encoding to the emitter

* Relocating and expanding the comment which explains the two-byte VEX encoding check

5 years agoMerge pull request #21386 from briansull/issue_19925
Brian Sullivan [Tue, 11 Dec 2018 01:24:10 +0000 (17:24 -0800)]
Merge pull request #21386 from briansull/issue_19925

Preserve the exception sets from child nodes when we create a new unique value number

5 years agoSpecify HelixTargetQueues in yaml (#21443)
Egor Chesakov [Tue, 11 Dec 2018 00:53:40 +0000 (16:53 -0800)]
Specify HelixTargetQueues in yaml (#21443)

* Parametrize test-job with helixQueues(Public|Internal) in eng/test-job.yml and specify them in eng/platform-matrix.yml

* Remove HelixTargetQueues property in tests/helixpublishwitharcade.proj

* Fix the error "unknown os: linux2" with Python script

5 years agoDon't require BLK nodes for SIMD
Carol Eidt [Sat, 17 Nov 2018 01:48:46 +0000 (17:48 -0800)]
Don't require BLK nodes for SIMD

Eliminate most cases where an OBJ or BLK node is required for SIMD
values. The exception is the case where a value produced by an intrinsic
(SIMD or HWIntrinsic) is used as an argument but the argument is of a
different SIMD type (e.g. a different baseType),

5 years agoFix warnings as errors
Jan Kotas [Mon, 10 Dec 2018 14:47:48 +0000 (06:47 -0800)]
Fix warnings as errors

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoRefactor internal System.AppDomain out of CoreLib (#21460)
Jan Kotas [Mon, 10 Dec 2018 21:34:03 +0000 (13:34 -0800)]
Refactor internal System.AppDomain out of CoreLib (#21460)

Fixes #21028

5 years agoRenamed VNCollectExc to VNUnionExcSet
Brian Sullivan [Mon, 10 Dec 2018 21:26:13 +0000 (13:26 -0800)]
Renamed VNCollectExc to VNUnionExcSet

5 years agoMerge branch 'master' into issue_19925
Brian Sullivan [Mon, 10 Dec 2018 21:18:11 +0000 (13:18 -0800)]
Merge branch 'master' into issue_19925

5 years agoInstead of using Win8+ api-sets use forwarder DLL to support downlevel versions of...
Aaron Robinson [Mon, 10 Dec 2018 20:21:48 +0000 (12:21 -0800)]
Instead of using Win8+ api-sets use forwarder DLL to support downlevel versions of Windows. (#21469)

5 years agoUpdate CoreClr to preview-27210-02 (#21467)
dotnet-maestro-bot [Mon, 10 Dec 2018 16:20:17 +0000 (08:20 -0800)]
Update CoreClr to preview-27210-02 (#21467)

5 years agoAdd support for RVA fields to crossgen/R2R (#21463)
Jan Kotas [Mon, 10 Dec 2018 15:52:15 +0000 (07:52 -0800)]
Add support for RVA fields to crossgen/R2R (#21463)

* Add support for RVA fields to crossgen/R2R

RVA fields are became more common with pre-inititialized ReadOnlySpan<byte>. Fix crossgen to deal with them for R2R.

* Fix tests, map new JIT helper for R2R

5 years agoUpdate dependency files (#21448)
dotnet-maestro[bot] [Mon, 10 Dec 2018 14:42:58 +0000 (14:42 +0000)]
Update dependency files (#21448)

* Update dependencies from https://github.com/dotnet/arcade build 677

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18607.6
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18607.6

* Update dependencies from https://github.com/dotnet/arcade build 679

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18608.1
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18608.1

* Update dependencies from https://github.com/dotnet/arcade build 679

This change updates the following dependencies
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.18608.1
- Microsoft.DotNet.Helix.Sdk - 1.0.0-beta.18608.1

5 years agoUpdate CoreClr, PgoData to preview-27210-01, master-20181210-0037, respectively ...
dotnet-maestro-bot [Mon, 10 Dec 2018 11:43:04 +0000 (03:43 -0800)]
Update CoreClr, PgoData to preview-27210-01, master-20181210-0037, respectively (#21452)

5 years agoFix for #21456 (Regressions in attribute allocations for non-generic attributes)...
Nick Craver [Mon, 10 Dec 2018 11:01:52 +0000 (06:01 -0500)]
Fix for #21456 (Regressions in attribute allocations for non-generic attributes) (#21462)

* Fix for #21456 - restrict increased generic attribute allocations to only generic attributes

This is a trivial quick-fix for #21456 where regressions between 2.1 and 3.0 were discovered on most attibute pathways due to the allocation overhead in the generic-supporting pathways. The workaround is to simply not take that slow/expensive path for non-generics.

While I'd like to optimize `RuntimeModule.ResolveMethod` further, there's a public surface area in play there that makes the changes non-trivial. There, we'll have to choose overhead on the public path (which may still be a net win), or duplication in code for another path.

* Update comments

5 years agoDelete vm/context.* (#21459)
Jan Kotas [Mon, 10 Dec 2018 10:57:57 +0000 (02:57 -0800)]
Delete vm/context.* (#21459)

* Delete vm/context.*

Leftover from remoting

5 years agoAdded Close On Exec Attribute for Mutex files (#21455) (#21458)
Oded Hanson [Mon, 10 Dec 2018 09:51:48 +0000 (11:51 +0200)]
Added Close On Exec Attribute for Mutex files (#21455) (#21458)

* Added Close On Exec Attribute for mutex files (#21455)

5 years agoFixed bug where "DCI_NUMA" was missing from debug channel names (#21454) (#21457)
Oded Hanson [Mon, 10 Dec 2018 09:49:39 +0000 (11:49 +0200)]
Fixed bug where "DCI_NUMA" was missing from debug channel names (#21454) (#21457)

In additional to adding "DCI_NUMA" to dbg_channel_names, a static assertion was added to verify that  dbg_channel_names length is valid. Also added some comments to help developpers not to forget to add corresponding entries in dbg_channel_names.

FIxes #21454

5 years agoUpdate CoreClr, CoreFx, CoreSetup, PgoData to preview-27208-01, preview.18606.1,...
dotnet-maestro-bot [Sun, 9 Dec 2018 01:02:09 +0000 (17:02 -0800)]
Update CoreClr, CoreFx, CoreSetup, PgoData to preview-27208-01, preview.18606.1, preview-27206-02, master-20181208-0038, respectively (#21374)

5 years agoFix regression in fat calls (#21446)
Michal Strehovský [Sat, 8 Dec 2018 21:48:06 +0000 (22:48 +0100)]
Fix regression in fat calls (#21446)

This seems to fix an AV in RyuJIT.

5 years agoLeap Seconds Support (#21420)
Tarek Mahmoud Sayed [Sat, 8 Dec 2018 20:40:13 +0000 (12:40 -0800)]
Leap Seconds Support (#21420)

* Leap Seconds Support

* Address Feedback

* More feedback addressing

5 years agoInvalid setting csharp_new_line_within_query_expression_clauses in .editorconfig...
Bastian Schmidt [Sat, 8 Dec 2018 18:45:34 +0000 (19:45 +0100)]
Invalid setting csharp_new_line_within_query_expression_clauses in .editorconfig (#21449)

Same as in https://github.com/dotnet/corefx/issues/25991.

Roslyn doesn't support csharp_new_line_within_query_expression_clauses.
But Roslyn does support csharp_new_line_between_query_expression_clauses and it's missing from .editorconfig.

I also removed the comment "# Trim trailing whitespace" because that option is not set.

5 years agoRemove `TryGetGuid()` and `GetDefaultInterfaceForCoclass()` from the (#21447)
Aaron Robinson [Sat, 8 Dec 2018 18:41:29 +0000 (10:41 -0800)]
Remove `TryGetGuid()` and `GetDefaultInterfaceForCoclass()` from the (#21447)

* Remove `TryGetGuid()` and `GetDefaultInterfaceForCoclass()` from the
stdinterfaces API surface.

5 years agoAdd PNSE CustomMarshaler tests (for Tlbimp compat) (#21438)
Jeremy Koritzinsky [Sat, 8 Dec 2018 05:36:01 +0000 (21:36 -0800)]
Add PNSE CustomMarshaler tests (for Tlbimp compat) (#21438)

5 years agoUse string.Create in ConvertFromUtf32 (#21409)
Stephen Toub [Sat, 8 Dec 2018 04:49:29 +0000 (23:49 -0500)]
Use string.Create in ConvertFromUtf32 (#21409)

* Use string.Create in ConvertFromUtf32

Removes the unsafe code from the method.  Also happens to make it a bit faster.

* Improve Rune.ToString performance

5 years agoRemove some unnecessary spinning (#21437)
Stephen Toub [Sat, 8 Dec 2018 02:14:44 +0000 (21:14 -0500)]
Remove some unnecessary spinning (#21437)

Most of the use of SpinWait in CoreLib involves waiting for some short-lived operation to complete on another thread, in which case the spinning thread should backoff as it's unable to make forward progress until the other operation completes.  In a few cases, however, SpinWait is being used just around CompareExchange operations, such that at least one thread running this code path is guaranteed to make forward progress, and the backoff in the spinning doesn't actually help (in theory it could help to reduce contention if lots of threads were all trying to CompareExchange concurrently, but in such cases you'd actually want more randomized backoff, as otherwise it's likely all the threads would re-attempt at around the same time and similarly re-encounter contention).

5 years agoMoving various Vector128/256 helper method to be implemented using other intrinsics...
Tanner Gooding [Fri, 7 Dec 2018 23:01:23 +0000 (15:01 -0800)]
Moving various Vector128/256 helper method to be implemented using other intrinsics (#21432)

* Updating Vector128.CreateScalar and Vector256.CreateScalar to be implemented using other intrinsics

* Updating Vector128.Equals and Vector256.Equals to be implemented using other intrinsics

* Updating Vector256.WithLower, Vector256.GetUpper, and Vector256.WithUpper to be implemented using other intrinsics

* Updating Vector128.Create(T) and Vector256.Create(T) to be implemented using other intrinsics

* Fixing the `NI_Base_Vector256_As` intrinsics to only fold the cast if AVX is supported and add a clarifying comment to the Vector128/256.Equals code

* Changing the various `*Software()` local functions in Vector128/256 to be `SoftwareFallback()`

5 years agoAdd support for loading registered TLBs (#21430)
Aaron Robinson [Fri, 7 Dec 2018 22:31:24 +0000 (14:31 -0800)]
Add support for loading registered TLBs (#21430)

* Add support for loading registered TLBs

5 years agoBuild Microsoft.NET.Sdk.IL in source-build
Davis Goodin [Thu, 6 Dec 2018 23:16:49 +0000 (17:16 -0600)]
Build Microsoft.NET.Sdk.IL in source-build