platform/upstream/coreclr.git
5 years agoMerge pull request #23220 from BruceForstall/FixArm64HfaJmpCallNyi
Bruce Forstall [Wed, 13 Mar 2019 22:38:41 +0000 (15:38 -0700)]
Merge pull request #23220 from BruceForstall/FixArm64HfaJmpCallNyi

Arm64: Implement JMP call for HFA register arguments

5 years agoRemove fixed sign tool version (#23182)
Juan Hoyos [Wed, 13 Mar 2019 21:39:25 +0000 (14:39 -0700)]
Remove fixed sign tool version (#23182)

5 years agoUpdate documentation: make docker images point to the registry. (#23243)
Juan Hoyos [Wed, 13 Mar 2019 21:38:41 +0000 (14:38 -0700)]
Update documentation: make docker images point to the registry. (#23243)

5 years agoFix SIMD handle issues (#23193)
Carol Eidt [Wed, 13 Mar 2019 21:26:51 +0000 (14:26 -0700)]
Fix SIMD handle issues (#23193)

* Fix SIMD handle issues

PR #23052 was overly aggressive at applying the provided class handle (which defaults to NO_CLASS_HANDLE). In addition, make a small change to `SIMDIntrinsicWiden`, as it doesn't need to go through the complexity of inferring a class handle when it already exists on the node it's duplicating.

Fix #23159

5 years agoMerge pull request #23212 from CarolEidt/VectorABITest
Carol Eidt [Wed, 13 Mar 2019 21:19:17 +0000 (14:19 -0700)]
Merge pull request #23212 from CarolEidt/VectorABITest

Preliminary Vector ABI test

5 years agoexclude tracing/keyword/TwoKeywords/TwoKeywords on WIndows x86. (#23237)
Sergey Andreenko [Wed, 13 Mar 2019 20:08:38 +0000 (13:08 -0700)]
exclude tracing/keyword/TwoKeywords/TwoKeywords on WIndows x86. (#23237)

5 years agoMerge pull request #23236 from jcagme/updateOptimizationUrl
JC Aguilera [Wed, 13 Mar 2019 19:59:46 +0000 (12:59 -0700)]
Merge pull request #23236 from jcagme/updateOptimizationUrl

Update optimization repo url

5 years agoUpdate optimization repo url
juanam [Wed, 13 Mar 2019 19:52:54 +0000 (12:52 -0700)]
Update optimization repo url

5 years agoFix missed RelocatedType annotation
Michal Strehovsky [Wed, 13 Mar 2019 12:30:44 +0000 (05:30 -0700)]
Fix missed RelocatedType annotation

[tfs-changeset: 1735855]

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoEnable FeatureDefaultInterfaces unconditionally (#23225)
Michal Strehovský [Wed, 13 Mar 2019 18:50:13 +0000 (19:50 +0100)]
Enable FeatureDefaultInterfaces unconditionally (#23225)

Fixes #22940.

5 years agoFix issue 23151 (Cleanup TODO introduced by PR #23148)
Andrew Au [Wed, 13 Mar 2019 16:56:41 +0000 (09:56 -0700)]
Fix issue 23151 (Cleanup TODO introduced by PR #23148)

5 years agoAdd new counter APIs (#23077)
Sung Yoon Whang [Wed, 13 Mar 2019 08:10:35 +0000 (01:10 -0700)]
Add new counter APIs (#23077)

* Refactor EventCounter and add PollingCounter

* Add PollingCounter

* Add IncrementingEventCounter and IncrementingPollingCounter

* Add MetaData API to Counters

* Some more refactoring

* removing commented out code

* some more cleanup

* build fix and addressing some PR comments

* Addressing PR feedback

* use StringBuilder to generate metadata string

5 years agoDefault Interface COM testing project (#23195)
Aaron Robinson [Wed, 13 Mar 2019 03:34:45 +0000 (20:34 -0700)]
Default Interface COM testing project (#23195)

* Add tests for native COM client consuming managed COM server that
  consumes interfaces with default implementation.

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190311.10 (#23205)
dotnet-maestro[bot] [Wed, 13 Mar 2019 02:43:08 +0000 (19:43 -0700)]
Update dependencies from https://github.com/dotnet/corefx build 20190311.10 (#23205)

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19161.10
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19161.10

5 years agoArm64: Implement JMP call for HFA register arguments
Bruce Forstall [Sat, 9 Mar 2019 01:58:54 +0000 (17:58 -0800)]
Arm64: Implement JMP call for HFA register arguments

Add the code to load up HFA register arguments into their correct registers
before a JMP call.

Removes remaining NYI.

Fixes #23147

Add a test case with several variants of HFA and JMP call.

5 years agoDon't retain modifiers for instantation stub signatures (#23210)
Andy Ayers [Tue, 12 Mar 2019 23:46:24 +0000 (16:46 -0700)]
Don't retain modifiers for instantation stub signatures (#23210)

`ConvToJitSig` is not expecting to see modifiers for return types in sigs,
so don't bother preserving them when creating instantiation stubs.

This comes up for instantiation stubs for methods of `ReadOnlySpan<T>`.

Also, if we are preserving modifiers in a sig, make sure to prefix their type
handles with `ELEM_TYPE_INTERNAL`.

Fixes #23136.

5 years agoFixing a couple of issues in the Utf8Parsing/Formatting code (#23134)
Tanner Gooding [Tue, 12 Mar 2019 21:29:38 +0000 (14:29 -0700)]
Fixing a couple of issues in the Utf8Parsing/Formatting code (#23134)

* Fixing NumberToSingle and NumberToDouble to handle DigitsCount == 0

* Fixing Utf8Formatter.Float to transcode non ASCII bytes

* Responding to PR feedback

5 years agoPreliminary Vector ABI test
Carol Eidt [Tue, 12 Mar 2019 18:28:10 +0000 (11:28 -0700)]
Preliminary Vector ABI test

5 years agoFix syntax bug: bash requires spaces around brackets for tests (#23017)
John Salem [Tue, 12 Mar 2019 16:39:50 +0000 (09:39 -0700)]
Fix syntax bug: bash requires spaces around brackets for tests (#23017)

5 years ago[master] Update dependencies from dotnet/core-setup (#23165)
dotnet-maestro[bot] [Tue, 12 Mar 2019 05:38:22 +0000 (22:38 -0700)]
[master] Update dependencies from dotnet/core-setup (#23165)

* Update dependencies from https://github.com/dotnet/core-setup build 20190311.01

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27511-01

5 years agoFix issue 21089 (Add tests for the `EventPipe support for "Parameters"` feature.)
Andrew Au [Fri, 1 Mar 2019 18:12:48 +0000 (10:12 -0800)]
Fix issue 21089 (Add tests for the `EventPipe support for "Parameters"` feature.)

5 years agoReplace Delegate.CreateDelegate (dotnet/corert#7147)
Michal Strehovský [Mon, 11 Mar 2019 20:57:29 +0000 (21:57 +0100)]
Replace Delegate.CreateDelegate (dotnet/corert#7147)

Replacing this with a pattern that is easier to statically analyze. We use the GetType/GetMethod/CreateDelegate pattern in several places already.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMerge pull request #23141 from CarolEidt/Fix23059
Carol Eidt [Mon, 11 Mar 2019 23:11:50 +0000 (16:11 -0700)]
Merge pull request #23141 from CarolEidt/Fix23059

Fix handling of struct setup assignments

5 years ago[master] Update dependencies from dotnet/arcade (#23169)
dotnet-maestro[bot] [Mon, 11 Mar 2019 21:01:05 +0000 (14:01 -0700)]
[master] Update dependencies from dotnet/arcade (#23169)

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

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

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

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

5 years agoFix NRE in EqualStringArrays (#23174)
Hugh Bellamy [Mon, 11 Mar 2019 20:59:13 +0000 (20:59 +0000)]
Fix NRE in EqualStringArrays (#23174)

5 years ago[master] Update dependencies from dotnet/corefx (#23170)
dotnet-maestro[bot] [Mon, 11 Mar 2019 20:58:36 +0000 (13:58 -0700)]
[master] Update dependencies from dotnet/corefx (#23170)

* Update dependencies from https://github.com/dotnet/corefx build 20190310.5

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19160.5
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19160.5

* Update dependencies from https://github.com/dotnet/corefx build 20190310.8

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19160.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19160.8

5 years agoFix bad test (#23173)
Michal Strehovský [Mon, 11 Mar 2019 20:58:20 +0000 (21:58 +0100)]
Fix bad test (#23173)

The test was testing that a non-virtual call to an abstract method that is methodimpl on the same type will land in the methodimpl. This behavior is not specced and cannot be hit with any mainstream .NET languages. We are making non-virtual calls to abstract methods throw a BadImageFormatException instead.

Fixes #23096.

5 years agoMerge pull request #23187 from BruceForstall/AlwaysArchiveCoreFxTestResultsXml
Bruce Forstall [Mon, 11 Mar 2019 20:36:45 +0000 (13:36 -0700)]
Merge pull request #23187 from BruceForstall/AlwaysArchiveCoreFxTestResultsXml

Always archive corefx testresults.xml files

5 years agoAlways archive corefx testresults.xml files
Bruce Forstall [Mon, 11 Mar 2019 20:10:43 +0000 (13:10 -0700)]
Always archive corefx testresults.xml files

These were only being archived for successful runs, which is
when they are the least interesting. Archive them for all test runs.

5 years agoAdd EntryPointFilter option (#23054)
Steve MacLean [Mon, 11 Mar 2019 16:26:57 +0000 (12:26 -0400)]
Add EntryPointFilter option (#23054)

* Add EntryPointFilter

5 years agoAdd a target to get native resources from another DLL to ILProj SDK (#23117)
Eric StJohn [Mon, 11 Mar 2019 15:53:46 +0000 (08:53 -0700)]
Add a target to get native resources from another DLL to ILProj SDK (#23117)

We use a similar target in CoreFx and I'll need it for another project that is planning on
using this SDK.

When ILResourceReference it will be disassembled to get native resources (EG: fileversion)
to pass to ILasm.

If ILResourceReference is not specified then it does nothing.

5 years agoRemove 2 suffix step 1 (dotnet/corefx#35904)
Dan Moseley [Sat, 9 Mar 2019 21:54:04 +0000 (13:54 -0800)]
Remove 2 suffix step 1 (dotnet/corefx#35904)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMerge pull request #23093 from franksinankaya/gcc_warnings_9
Jan Vorlicek [Mon, 11 Mar 2019 15:08:50 +0000 (16:08 +0100)]
Merge pull request #23093 from franksinankaya/gcc_warnings_9

GCC Signed compare and Narrowing warnings

5 years agoMerge pull request #23111 from am11/gcc-configuration
Jan Vorlicek [Mon, 11 Mar 2019 13:59:27 +0000 (14:59 +0100)]
Merge pull request #23111 from am11/gcc-configuration

Improve gcc configuration

5 years agoMerge pull request #23099 from janvorli/remove-pal-cleanup
Jan Vorlicek [Mon, 11 Mar 2019 12:23:25 +0000 (13:23 +0100)]
Merge pull request #23099 from janvorli/remove-pal-cleanup

Remove init_count zeroing from PAL cleanup at process exit

5 years agoMerge pull request #23121 from janvorli/enable-clang-staticanalyzer-build
Jan Vorlicek [Mon, 11 Mar 2019 11:08:26 +0000 (12:08 +0100)]
Merge pull request #23121 from janvorli/enable-clang-staticanalyzer-build

Enable build with clang static analyzer

5 years agoRemove conditions around CMAKE_REQUIRED_LIBRARIES
Adeel [Mon, 11 Mar 2019 09:38:32 +0000 (02:38 -0700)]
Remove conditions around CMAKE_REQUIRED_LIBRARIES

5 years agoRefactor Encoding to split fast-path and fallback logic (#23098)
Levi Broderick [Mon, 11 Mar 2019 04:40:27 +0000 (21:40 -0700)]
Refactor Encoding to split fast-path and fallback logic (#23098)

This refactoring is limited to ASCIIEncoding at the moment, but it can easily be applied to UTF-8 / UTF-16 / UTF-32.

High-level changes:
- Fallback logic has been split from the fast-path, improving performance of GetBytes and similar routines.
- All of the plumbing of when to invoke the fallback logic and how to manage leftover data has been moved into the base class.
- Almost all of the logic except for the fast-path is now written in terms of verifiable code (Span and ReadOnlySpan).
- Minor bug fixes in EncoderNLS.Convert (see https://github.com/dotnet/coreclr/issues/23020).

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190309.2 (#23163)
dotnet-maestro[bot] [Sun, 10 Mar 2019 16:17:48 +0000 (09:17 -0700)]
Update dependencies from https://github.com/dotnet/arcade build 20190309.2 (#23163)

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

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190310.1 (#23164)
dotnet-maestro[bot] [Sun, 10 Mar 2019 16:17:35 +0000 (09:17 -0700)]
Update dependencies from https://github.com/dotnet/corefx build 20190310.1 (#23164)

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19160.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19160.1

5 years agoUpdate dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet...
dotnet-maestro[bot] [Sun, 10 Mar 2019 12:22:47 +0000 (05:22 -0700)]
Update dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190308.5 (#23156)

This change updates the following dependencies
- optimization.IBC.CoreCLR - 99.99.99-master-20190308.5
- optimization.PGO.CoreCLR - 99.99.99-master-20190308.5

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190308.7 (#23154)
dotnet-maestro[bot] [Sun, 10 Mar 2019 01:03:48 +0000 (17:03 -0800)]
Update dependencies from https://github.com/dotnet/corefx build 20190308.7 (#23154)

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19158.7
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19158.7

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190308.16 ...
dotnet-maestro[bot] [Sat, 9 Mar 2019 21:58:04 +0000 (13:58 -0800)]
Update dependencies from https://github.com/dotnet/core-setup build 20190308.16 (#23155)

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27508-16

5 years agoMove Buffer to shared (#23157)
Egor Bogatov [Sat, 9 Mar 2019 21:55:43 +0000 (00:55 +0300)]
Move Buffer to shared (#23157)

5 years agoTwo more instances
Andrew Au [Sat, 9 Mar 2019 00:07:39 +0000 (16:07 -0800)]
Two more instances

5 years agoEliminate SampleProfilerEventInstance
Andrew Au [Fri, 8 Mar 2019 23:13:58 +0000 (15:13 -0800)]
Eliminate SampleProfilerEventInstance

5 years agoAvoid StackWalk in EventPipeEventInstance constructor
Andrew Au [Sat, 9 Mar 2019 00:00:36 +0000 (16:00 -0800)]
Avoid StackWalk in EventPipeEventInstance constructor

5 years agoAdd stack depth check to all Task continuations (#23152)
Stephen Toub [Sat, 9 Mar 2019 16:41:43 +0000 (11:41 -0500)]
Add stack depth check to all Task continuations (#23152)

Currently Task has a stack depth check that avoids stack overflows on very deep stack continuation chains, but it only applies to Task.ContinueWith, not to other kinds of continuations.  This changes that to have it apply to all.

As part of this, this also deletes the current StackGuard type used to achieve the check.  The type was meant to avoid expensive calls to check where we are on the stack, but now that we're using TryEnsureSufficientExecutionStack, it's actually faster to just call that rather than access the current StackGuard from a ThreadLocal.  This then also cleans up the call sites nicely, as they no longer need finally blocks to undo the increment performed on the StackGuard.

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190308.5 (#23146)
dotnet-maestro[bot] [Sat, 9 Mar 2019 06:54:38 +0000 (22:54 -0800)]
Update dependencies from https://github.com/dotnet/arcade build 20190308.5 (#23146)

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

5 years agoMove part of RuntimeHelpers to shared partition (#23130)
Marek Safar [Sat, 9 Mar 2019 05:32:53 +0000 (06:32 +0100)]
Move part of RuntimeHelpers to shared partition (#23130)

* Move part of RuntimeHelpers to shared partition

* Remove FormatterServices.cs

5 years agoProperly override IsEquivalentTo() API in RuntimeType (#23137)
Aaron Robinson [Sat, 9 Mar 2019 01:36:37 +0000 (17:36 -0800)]
Properly override IsEquivalentTo() API in RuntimeType (#23137)

* Properly override IsEquivalentTo() API in RuntimeType
* Add tests for API validation

5 years agoUpdate eventcounter spec (#23142)
Sung Yoon Whang [Fri, 8 Mar 2019 22:54:38 +0000 (14:54 -0800)]
Update eventcounter spec (#23142)

5 years agoMerge pull request #23140 from BruceForstall/RemoveArm64NYI
Bruce Forstall [Fri, 8 Mar 2019 22:45:11 +0000 (14:45 -0800)]
Merge pull request #23140 from BruceForstall/RemoveArm64NYI

Remove unneeded arm64 NYI

5 years agoUse 4 core external build queues (#23079)
Jarret Shook [Fri, 8 Mar 2019 22:43:53 +0000 (14:43 -0800)]
Use 4 core external build queues (#23079)

5 years agoFix missing RunTests.sh in CoreFX Linux jobs. (#23135)
Sergey Andreenko [Fri, 8 Mar 2019 22:24:17 +0000 (14:24 -0800)]
Fix missing RunTests.sh in CoreFX Linux jobs. (#23135)

5 years agoFix handling of struct setup assignments
Carol Eidt [Fri, 8 Mar 2019 21:09:41 +0000 (13:09 -0800)]
Fix handling of struct setup assignments

In #22791 I was creating struct assignments with COMMAs on the rhs, but that isn't handled downstream.

Fix #23059

5 years agoRemove unneeded arm64 NYI
Bruce Forstall [Fri, 8 Mar 2019 20:43:54 +0000 (12:43 -0800)]
Remove unneeded arm64 NYI

InitVarDscInfo::alignReg is only used by `_TARGET_ARM_`, so put
it under that ifdef.

Contributes to #18178

5 years agoMerge pull request #23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder
Bruce Forstall [Fri, 8 Mar 2019 20:25:21 +0000 (12:25 -0800)]
Merge pull request #23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder

Arm64: always save int registers at higher addresses than float regs

5 years agoOptimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>
Andrew Hoefling [Thu, 7 Mar 2019 23:08:22 +0000 (18:08 -0500)]
Optimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>

5 years agoSimplified the RemoveItem logic since we have more robust validation
Andrew Hoefling [Thu, 7 Mar 2019 00:34:57 +0000 (19:34 -0500)]
Simplified the RemoveItem logic since we have more robust validation

5 years agoInsertItemsRange API now checks if the underlying items.IsReadOnly first then collect...
Andrew Hoefling [Wed, 6 Mar 2019 17:57:09 +0000 (12:57 -0500)]
InsertItemsRange API now checks if the underlying items.IsReadOnly first then collection == null

5 years agoRemoved (Int64) cast statements from RemoveItemsRange when checking for overflow...
Andrew Hoefling [Wed, 6 Mar 2019 17:47:03 +0000 (12:47 -0500)]
Removed (Int64) cast statements from RemoveItemsRange when checking for overflow errors

5 years agoAdded new RemoveRange validation check to see if the resulting range (index + count...
Andrew Hoefling [Wed, 6 Mar 2019 01:31:19 +0000 (20:31 -0500)]
Added new RemoveRange validation check to see if the resulting range (index + count) > items.Count and if it is true throw ArgumentException

5 years agoUpdated InsertItemsRange to simplify the expression and added performance improvement...
Andrew Hoefling [Wed, 6 Mar 2019 00:00:01 +0000 (19:00 -0500)]
Updated InsertItemsRange to simplify the expression and added performance improvements. If the underlying `items` is using List<T> we should use it's InsertRange method since it is optimized, othersie we use InsertItem

5 years agoUpdated RemoveAt->RemoveItem. This change removes redundent validation checks that...
Andrew Hoefling [Tue, 5 Mar 2019 23:46:05 +0000 (18:46 -0500)]
Updated RemoveAt->RemoveItem. This change removes redundent validation checks that happen using the RemoveAt API. RemoveItem gives us direct access to invoke the command

5 years agoUpdated RemoveRange invocation of RemoveAt to use index instead of i, because the...
Andrew Hoefling [Tue, 5 Mar 2019 23:15:08 +0000 (18:15 -0500)]
Updated RemoveRange invocation of RemoveAt to use index instead of i, because the array changes with each iteration of the for loop and will cause side-effects which may include index out of range exceptions. This needs to be index because as the array shrinks the index is always at the correct position.

5 years agoAdded ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0
Andrew Hoefling [Tue, 5 Mar 2019 23:14:01 +0000 (18:14 -0500)]
Added ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0

5 years agoUpdated RemoveItemsRange to properly remove each item and not just the index items
Andrew Hoefling [Tue, 5 Mar 2019 05:26:08 +0000 (00:26 -0500)]
Updated RemoveItemsRange to properly remove each item and not just the index items

5 years agoUpdated RemoveItemsRange to prevent int.MaxValue overflow errors
Andrew Hoefling [Tue, 5 Mar 2019 04:50:36 +0000 (23:50 -0500)]
Updated RemoveItemsRange to prevent int.MaxValue overflow errors

5 years agoRemove ternary operator from invocation as it is the same as inputing items.Count
Andrew Hoefling [Tue, 5 Mar 2019 04:44:19 +0000 (23:44 -0500)]
Remove ternary operator from invocation as it is the same as inputing items.Count

5 years agoAdded ReplaceItemsRange API and updated ReplaceRange to invoke the protected method
Andrew Hoefling [Tue, 5 Mar 2019 03:28:05 +0000 (22:28 -0500)]
Added ReplaceItemsRange API and updated ReplaceRange to invoke the protected method

5 years agoAdding braces on for loop
Andrew Hoefling [Tue, 5 Mar 2019 02:54:41 +0000 (21:54 -0500)]
Adding braces on for loop

5 years agoUpdated foreach to use T instead of var
Andrew Hoefling [Tue, 5 Mar 2019 02:53:52 +0000 (21:53 -0500)]
Updated foreach to use T instead of var

5 years agoUpdated index out of range exception check to be a single comparison
Andrew Hoefling [Tue, 5 Mar 2019 02:53:26 +0000 (21:53 -0500)]
Updated index out of range exception check to be a single comparison

5 years agoAdded new Range Manipulation APIs for Collection<T> which propogate up to ObservableC...
Andrew Hoefling [Tue, 5 Mar 2019 01:16:16 +0000 (20:16 -0500)]
Added new Range Manipulation APIs for Collection<T> which propogate up to ObservableCollection<T>. AddRange, InsertRange, RemoveRange and Replace Range

5 years agoUse CLR_LINK
Adeel [Fri, 8 Mar 2019 19:04:43 +0000 (11:04 -0800)]
Use CLR_LINK

5 years agoAllow deserialization for ResourceManager created with non-default resource set type...
Filip Navara [Fri, 8 Mar 2019 18:55:25 +0000 (19:55 +0100)]
Allow deserialization for ResourceManager created with non-default resource set type (#23051)

5 years agoMerge pull request #23119 from BruceForstall/Arm64PrePostIndexCoalescing
Bruce Forstall [Fri, 8 Mar 2019 18:31:56 +0000 (10:31 -0800)]
Merge pull request #23119 from BruceForstall/Arm64PrePostIndexCoalescing

Allow coalescing of SP adjustment into single register prolog STR/LDR

5 years agoImprove SSA renaming memory usage (#15000)
mikedn [Fri, 8 Mar 2019 18:29:07 +0000 (20:29 +0200)]
Improve SSA renaming memory usage (#15000)

* Cleanup DumpStacks

It's not exactly useful to dump all the stacks after pushing to a stack. Nor is it useful to dump all the stack after popping only some, perhaps none, in PopBlockStacks.

Also dump stack from top to bottom, makes it easier to find the top, which is usually what you care about during SSA renaming.

* Stop passing null block to SsaRenameState::Push

It makes no difference if the definition is in the "block before any real blocks..." or at the start of the first block, it's just an unnecessary complication.

* Stop handling byrefStatesMatchGcHeapStates in SsaRenameState

SsaBuilder already handles that, doing it again in SsaRenameState just duplicates logic.

* Stop using "count" as a name for "SSA number"

Worst name ever.

Also use "block" consistently, instead of a mix of "bb" and "block".

* Delete "ConstructedArray", not needed

* Various cleanup

- Change SsaRenameState to a class
- Cleanup remaining function comments
- Move SsaRenameStateForBlock & SsaRenameStateLocDef inside SsaRenameState
- Make EnsureStacks private
- Reorder data members
- Use m_ prefix consistently

* Replace jitstd::list with a custom stack

std::list has a few drawbacks:
- It's a doubly linked list but a singly linked list suffices so every node wastes 8 bytes for an extra pointer.
- The list object itself is relatively large 2 head/tail pointers, node count and memory allocator. There can be hundreds of such objects (one for each local variable) so the smaller the better.

Replace with a simple singly linked, intrusive list based stack.

* Share push code between lclvar and memory

It's pretty much the same logic (the only difference is that in the memory case "top" can't ever be null so by sharing the code we get a redundant null check).

5 years agoRemove extra quotes
Adeel [Fri, 8 Mar 2019 18:03:08 +0000 (10:03 -0800)]
Remove extra quotes

5 years agoAdd outerloop-jitstressregs, outerloop-jitstress2-jitstressregs, outerloop-gcstress0x...
Egor Chesakov [Fri, 8 Mar 2019 17:56:20 +0000 (09:56 -0800)]
Add outerloop-jitstressregs, outerloop-jitstress2-jitstressregs, outerloop-gcstress0x3-gcstress0xc TestGroups (#23047)

The following build definitions

* coreclr-ci
* coreclr-outerloop
* coreclr-outerloop-jitminopts-jitstress1-jitstress2
* coreclr-outerloop-jitstressregs
* coreclr-outerloop-jitstress2-jitstressregs
* coreclr-outerloop-gcstress0x3-gcstress0xc

can be triggered from pull requests via /azp run x command.

5 years agoJIT: rework codegen for Arm64 SIMD Extract/Insert intrinsics (#23114)
Andy Ayers [Fri, 8 Mar 2019 17:02:03 +0000 (09:02 -0800)]
JIT: rework codegen for Arm64 SIMD Extract/Insert intrinsics (#23114)

Add an up-front bounds check during importation instead of waiting
until codegen. Mirrors what we do for similar cases on xarch.

Closes #20260.

5 years agoMerge pull request #23052 from CarolEidt/Fix22850
Carol Eidt [Fri, 8 Mar 2019 16:35:39 +0000 (08:35 -0800)]
Merge pull request #23052 from CarolEidt/Fix22850

Correctly type SIMD stack values

5 years agoAddress @janvorli's feedback
Adeel [Fri, 8 Mar 2019 01:29:22 +0000 (17:29 -0800)]
Address @janvorli's feedback

5 years agoEnable build with clang static analyzer
Jan Vorlicek [Fri, 8 Mar 2019 01:31:39 +0000 (17:31 -0800)]
Enable build with clang static analyzer

As part of LLVM, there is a clang static analyzer tool that provides
useful analysis of potential issues in the source code base.

This change enables building coreclr with that analyzer enabled.

5 years agodisabling tracing/tracevalidation/inducedgc/inducedgc test on ARM64 (#23125)
Sung Yoon Whang [Fri, 8 Mar 2019 09:17:51 +0000 (01:17 -0800)]
disabling tracing/tracevalidation/inducedgc/inducedgc test on ARM64 (#23125)

5 years agoUse platform specific implementation of GetCurrentProcessId (#23084)
Marek Safar [Fri, 8 Mar 2019 07:27:54 +0000 (08:27 +0100)]
Use platform specific implementation of GetCurrentProcessId (#23084)

* Use platform specific implementation of GetCurrentProcessId

directly in shared location instead of relying on runtime export

* Move GetCurrentProcessId to Interop class

* Update ES_BUILD_STANDALONE build

5 years agoAdded UserFlags field, unblocks #34560 (dotnet/corefx#35851)
Dávid Kaya [Fri, 8 Mar 2019 05:12:31 +0000 (06:12 +0100)]
Added UserFlags field, unblocks #34560 (dotnet/corefx#35851)

* Added UserFlags field

* Added UserFlags

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix a rare JitStress assert. (#23116)
Sergey Andreenko [Fri, 8 Mar 2019 03:43:37 +0000 (19:43 -0800)]
Fix a rare JitStress assert. (#23116)

* Fix undefined behaviour when we check `this==nullptr`.

* Fix ifdef comment.

* Fix rare jit stress assert.

flowgraph.cpp: !IsUninitialized(tree) can fail if `UninitializedWord` returns a valid pointer value.

5 years agoFix how we check whether events are enabled via LTTng (#22707)
Sung Yoon Whang [Fri, 8 Mar 2019 02:34:17 +0000 (18:34 -0800)]
Fix how we check whether events are enabled via LTTng (#22707)

* Fix how we check whether events are enabled via LTTng

* Add GCToEEInterface::UpdateGCEventStatus

* Fix build errors

* Finished hooking it up to post_gc

* Some comments about the event keyword/level detection logic

* Fix windows build

* Fix Prv provider keyword logic

* forgot to add one more ifdef

* Fix OSX build

* one more ifdef to fix

* Addressing PR feedback

* Update GCEventStatus at gc_heap::initialize_gc too

5 years agoAllow coalescing of SP adjustment into single register prolog STR/LDR
Bruce Forstall [Fri, 8 Mar 2019 01:08:53 +0000 (17:08 -0800)]
Allow coalescing of SP adjustment into single register prolog STR/LDR

5 years agoUse DOTNET_${$1} environment variables
Adeel [Fri, 8 Mar 2019 00:50:39 +0000 (16:50 -0800)]
Use DOTNET_${$1} environment variables

5 years agoMerge pull request #22708 from BrianBohe/updating_comments
Carol Eidt [Fri, 8 Mar 2019 00:40:18 +0000 (16:40 -0800)]
Merge pull request #22708 from BrianBohe/updating_comments

Updating ScopeInfo::siUpdate comments/documentation

5 years agoImprove gcc configuration
Adeel [Thu, 7 Mar 2019 22:23:55 +0000 (14:23 -0800)]
Improve gcc configuration
* Use `find_path` instead of `check_include_files` for lttng.
* `locate_gcc_exec gcc` to `locate_gcc_exec link` for `gcc_link`
* Remove unused `DCMAKE_OBJCOPY`
* Fix all warnings in gen-buildsys-gcc.sh reported by shellchecker.

5 years agoAdd missing CopyToAsync override in FileStream.Unix.cs (#23101)
Stephen Toub [Thu, 7 Mar 2019 22:28:21 +0000 (14:28 -0800)]
Add missing CopyToAsync override in FileStream.Unix.cs (#23101)

5 years agoDisable tests based on 23103 and 23096 (#23104)
Jarret Shook [Thu, 7 Mar 2019 21:35:09 +0000 (13:35 -0800)]
Disable tests based on 23103 and 23096 (#23104)

* Disable tests based on 23103 and 23096

* Remove disable for arm32 AV

5 years agoFix ARMv8.1 atomics disassembly (#23070)
mikedn [Thu, 7 Mar 2019 21:29:09 +0000 (23:29 +0200)]
Fix ARMv8.1 atomics disassembly (#23070)

Fixes #20721.

5 years agoUpdate error message for when a parent is marked as COMVisible(false) (#23092)
Aaron Robinson [Thu, 7 Mar 2019 20:19:53 +0000 (12:19 -0800)]
Update error message for when a parent is marked as COMVisible(false) (#23092)

* Update message to include type and parent type marked as COMVisible(false)

5 years agoFix signed compare warnings
Sinan Kaya [Thu, 7 Mar 2019 02:25:21 +0000 (02:25 +0000)]
Fix signed compare warnings

warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

conversions

Update src/ToolBox/superpmi/mcs/verbdumptoc.cpp

Co-Authored-By: franksinankaya <41809318+franksinankaya@users.noreply.github.com>
5 years agoJIT: fix filter liveness computation (#23044)
Andy Ayers [Thu, 7 Mar 2019 18:52:19 +0000 (10:52 -0800)]
JIT: fix filter liveness computation (#23044)

When a filter is finished executing, control can logically pass to the
associated handler, any enclosing handler or filter, or any finally or fault
handler nested within the associated try. This is a consequence of two-pass EH.

The jit was not propagating liveness from the nested handlers, which lead to a
live object being collected inadvertently.

This change updates `fgGetHandlerLiveVars` to find the nested handlers and
merge their live-in into the filter block live sets.

Because these implicit EH flow edges can create cycles in the liveness dataflow
equations, the jit will also now always iterate liveness when it sees there is
exception flow, to ensure livness reaches the appropriate fixed point.

Added test case.

Closes #22820.