platform/upstream/dotnet/runtime.git
4 years agoAdd gcstress option to SuperILC (#1446)
Jan Vorlicek [Thu, 9 Jan 2020 17:58:34 +0000 (18:58 +0100)]
Add gcstress option to SuperILC (#1446)

* Add gcstress option to SuperILC

This option allows executing tests with gcstress mode set to a passed
in value.
I have also added additional fixes for race issues with _logWriter.

4 years agoAdd MsQuic implementation of System.Net.Quic (#427)
Justin Kotalik [Thu, 9 Jan 2020 17:55:04 +0000 (09:55 -0800)]
Add MsQuic implementation of System.Net.Quic (#427)

4 years agoFix typo (#1528)
Josh Groves [Thu, 9 Jan 2020 17:49:31 +0000 (14:19 -0330)]
Fix typo (#1528)

4 years agoNullable annotate System.Reflection.Metadata (#1056)
Eirik Tsarpalis [Thu, 9 Jan 2020 17:30:40 +0000 (19:30 +0200)]
Nullable annotate System.Reflection.Metadata (#1056)

* Nullable annotate System.Reflection.Metadata

* remove unused declaration

* update System.Diagnostics.Stacktrace for System.Reflection.Metadata annotations

* address feedback

* reinstate annotations erroneously removed by generator

* Apply feedback

* address feedback

* address feedback

4 years agofix stress script issue (#1452)
Eirik Tsarpalis [Thu, 9 Jan 2020 17:29:38 +0000 (19:29 +0200)]
fix stress script issue (#1452)

4 years agoRename file extension of RunnerTemplate.Windows.txt to .cmd (#1470)
Alexander Köplinger [Thu, 9 Jan 2020 17:17:46 +0000 (18:17 +0100)]
Rename file extension of RunnerTemplate.Windows.txt to .cmd (#1470)

So it automatically gets the EOL treatment from https://github.com/dotnet/runtime/pull/1336.

4 years agoDon't call AdvanceTo(default) in PipeReader.CopyToAsync (#1437)
Stephen Halter [Thu, 9 Jan 2020 14:18:17 +0000 (06:18 -0800)]
Don't call AdvanceTo(default) in PipeReader.CopyToAsync (#1437)

* Don't call AdvanceTo(default) in PipeReader.CopyToAsync

* Address PR feedback

4 years agoRemove BaseDomain::IsSharedDomain (always false now) (#1456)
Elinor Fung [Thu, 9 Jan 2020 14:15:39 +0000 (06:15 -0800)]
Remove BaseDomain::IsSharedDomain (always false now) (#1456)

4 years agoExpose CreateLinkedTokenSource(CancellationToken) (#1379)
Stephen Toub [Thu, 9 Jan 2020 13:56:42 +0000 (08:56 -0500)]
Expose CreateLinkedTokenSource(CancellationToken) (#1379)

4 years agoCoreFX renames (#1440)
Erhan Atesoglu [Thu, 9 Jan 2020 13:41:23 +0000 (05:41 -0800)]
CoreFX renames (#1440)

4 years agoMerge pull request #1348 from stephentoub/moreregexperf
Stephen Toub [Thu, 9 Jan 2020 10:42:17 +0000 (05:42 -0500)]
Merge pull request #1348 from stephentoub/moreregexperf

More Regex perf improvements

4 years agoimprove ALPN handling (#1347)
Tomas Weinfurt [Thu, 9 Jan 2020 07:41:46 +0000 (23:41 -0800)]
improve ALPN handling (#1347)

4 years agoFix fat call transform for x86 (#1451)
Michal Strehovský [Thu, 9 Jan 2020 07:11:21 +0000 (08:11 +0100)]
Fix fat call transform for x86 (#1451)

`AddArgumentToTail` with a null first argument will AV.

I *think* this also works with methods that take a return buffer (methods that return large structs), but might require a pair of eyes more experienced in this codebase.

4 years agoAdd a few more tests / improve code coverage
Stephen Toub [Thu, 9 Jan 2020 02:57:55 +0000 (21:57 -0500)]
Add a few more tests / improve code coverage

4 years agoAddress PR feedback
Stephen Toub [Wed, 8 Jan 2020 20:28:26 +0000 (15:28 -0500)]
Address PR feedback

4 years agoAdditional code gen improvements
Stephen Toub [Wed, 8 Jan 2020 19:36:27 +0000 (14:36 -0500)]
Additional code gen improvements

- In Go, Improve code generation from several constructs to reduce code size and increase bounds reduction in the non-backtracking compiler
- In FindFirstChars, use IndexOf instead of Boyer-Moore if the found prefix is only one character in length.
- Hide some debug-only functions from code coverage

4 years agoRename "Greedy" subexpressions to "Atomic"
Stephen Toub [Mon, 6 Jan 2020 21:43:05 +0000 (16:43 -0500)]
Rename "Greedy" subexpressions to "Atomic"

The greedy naming is really confusing (we should fix it in the framework documentation as well).

In general regular expression nomenclature, "greedy" is used as the opposite of "lazy", indicating how much a loop initially consumes, e.g. does `a*` first try consuming as many 'a's as possible or does it first try consuming as few 'a's as possible... it's "greedy" (denoted as `a*`) if it consumes as many as possible and "lazy" (denoted as `a*?` if it consumes as few.

How aggressively it consumes, however, is orthogonal to whether it backtracks.  Whereas `a*` is greedy and backtracking and `a*?` is lazy and backtracking, `(?>a*)` is greedy and non-backtracking and `(?>a*?) is lazy and non-backtracking.

Unfortunately, the nomenclature in the implementation and the documentation describes the `(?> ... )` as being a "greedy subexpression", which then conflates the meaning of "greedy".

The rest of the industry refers to these instead as "atomic", so I've changed it to that in the implementation.

4 years agoFix CharInClass handling of invariant in lookup table
Stephen Toub [Mon, 6 Jan 2020 20:46:25 +0000 (15:46 -0500)]
Fix CharInClass handling of invariant in lookup table

The Boolean logic was previously wrong, leading to characters being included in the set even if they weren't meant to be, e.g. given the set [^bc], this should include everything other than b and c, but if invariant culture was being used, it incorrectly included B and C in the set.

4 years agoAdd more tests, and fix some bugs found
Stephen Toub [Mon, 6 Jan 2020 19:31:42 +0000 (14:31 -0500)]
Add more tests, and fix some bugs found

4 years agoRestore netfx test configuration to serve as oracle
Stephen Toub [Sun, 5 Jan 2020 20:20:45 +0000 (15:20 -0500)]
Restore netfx test configuration to serve as oracle

With all the changes being made in the regex implementation in this release, we want to make sure we don't regress, and a good way to help doing that is add a bunch of tests and ensure they pass on netfx as well, where appropriate.

4 years agoAdd non-backtracing support for greedy loops and lazyloops
Stephen Toub [Sun, 5 Jan 2020 19:54:32 +0000 (14:54 -0500)]
Add non-backtracing support for greedy loops and lazyloops

4 years agoAuto-greedy for last Alternate/Loop/Lazyloop in regex
Stephen Toub [Sun, 5 Jan 2020 19:06:03 +0000 (14:06 -0500)]
Auto-greedy for last Alternate/Loop/Lazyloop in regex

4 years agoAvoid unnecessary operations when textSpanPos == 0
Stephen Toub [Sun, 5 Jan 2020 19:00:53 +0000 (14:00 -0500)]
Avoid unnecessary operations when textSpanPos == 0

4 years agoAdd non-backtracking go support for anchors, alternation, lookahead, repeaters
Stephen Toub [Sat, 4 Jan 2020 04:10:41 +0000 (23:10 -0500)]
Add non-backtracking go support for anchors, alternation, lookahead, repeaters

4 years agoUse vectorized IndeOf for some notoneloopgreedy loops
Stephen Toub [Sat, 4 Jan 2020 02:08:41 +0000 (21:08 -0500)]
Use vectorized IndeOf for some notoneloopgreedy loops

4 years agoAdd Notoneloopgreedy to go with One/Setloopgreedy
Stephen Toub [Fri, 3 Jan 2020 17:13:59 +0000 (12:13 -0500)]
Add Notoneloopgreedy to go with One/Setloopgreedy

I initially mistakenly thought this wouldn't be useful, but it is.  For example, the expression ".*\n" can be made non-backtracing.

4 years agoAuto-greedy last set/one loop in regex
Stephen Toub [Fri, 3 Jan 2020 16:38:07 +0000 (11:38 -0500)]
Auto-greedy last set/one loop in regex

4 years agoUpgrade some loops followed by boundaries to be greedy
Stephen Toub [Thu, 2 Jan 2020 19:46:42 +0000 (14:46 -0500)]
Upgrade some loops followed by boundaries to be greedy

4 years agoAdd optimized non-backtracking code gen for limited subset of regexes
Stephen Toub [Thu, 2 Jan 2020 01:51:07 +0000 (20:51 -0500)]
Add optimized non-backtracking code gen for limited subset of regexes

When we can determine from the regex that backtracking isn't needed, we
can generate much smaller / better code in RegexCompiler.GenerateGo.

4 years agoImprove StringCode lookup in RegexWriter to avoid unnecessary list
Stephen Toub [Mon, 30 Dec 2019 02:52:30 +0000 (21:52 -0500)]
Improve StringCode lookup in RegexWriter to avoid unnecessary list

4 years agoOptimize allocation for child lists of RegexNodes
Stephen Toub [Sun, 29 Dec 2019 20:26:30 +0000 (15:26 -0500)]
Optimize allocation for child lists of RegexNodes

4 years agoOptimize {Lazy}loops that directly wrap Set/One/Notone
Stephen Toub [Sun, 29 Dec 2019 19:29:51 +0000 (14:29 -0500)]
Optimize {Lazy}loops that directly wrap Set/One/Notone

When written as a* these are already transformed appropriately by the parser, but other reductions can expose them in a way that the parser won't see.  For example, (?:a)* ends up being a much more expensive regex even though it's identical functionally.  This reduces the latter to the former, for cases where a {Lazy}loop is found to directly wrap a Set/One/Notone.

4 years agoAutomatically upgrade some loops to be greedy
Stephen Toub [Thu, 26 Dec 2019 20:25:18 +0000 (15:25 -0500)]
Automatically upgrade some loops to be greedy

In an expression like A*B, backtracing may be involved even if it's impossible that it'll do any good, namely if there's no overlap between the A and B sets.  This backtracking can be avoided by using a greedy subexpression, e.g. (?>A*)B, but a) few developers think to do that, and b) even when they do the implementation has more overhead than is desirable.

This change does three things:
1. It introduces primitives for "oneloopgreedy" and "setloopgreedy" that correspond to the existing "oneloop" (a single character in a loop) and "setloop" (a char class in a loop) primitives.
2. It reduces a Greedy node that contains a one/setloop to instead just be a one/setloopgreedy node.
3. It finds cases of one/setloop concatenated with other things, and automatically updates those to be one/setloopgreedy when it can provie that the backtracking would have no benefit.

(2) removes a small amount of overhead, in particular in compiled, because it avoids needing to spit additional tracking state for backtracking.

(3) can likely be expanded in the future to catch more cases, but it handles the common cases now.  This has a very measurable impact on non-matches that would otherwise trigger backtracking into the subexpression.

4 years agoCode spit EnsureStorage replacement to avoid spilling locals
Stephen Toub [Sun, 22 Dec 2019 03:45:35 +0000 (22:45 -0500)]
Code spit EnsureStorage replacement to avoid spilling locals

Only spill if we have to grow the relevant arrays.

4 years agoClean up minor style issues in RegexCompiler
Stephen Toub [Fri, 20 Dec 2019 16:05:26 +0000 (11:05 -0500)]
Clean up minor style issues in RegexCompiler

4 years agoMinor RegexCompiler codegen tweak for text[pos++]
Stephen Toub [Fri, 20 Dec 2019 15:25:55 +0000 (10:25 -0500)]
Minor RegexCompiler codegen tweak for text[pos++]

The JIT generates slightly better code for:
```C#
text[pos] = ....;
pos++;
```
instead of:
```C#
text[pos++] = ...;
```
so use the IL equivalent of the former.

4 years agoRemove stale generated local in RegexCompiler
Stephen Toub [Wed, 18 Dec 2019 21:41:06 +0000 (16:41 -0500)]
Remove stale generated local in RegexCompiler

4 years agoFix inadvertent closure in EmitCallCharInClass
Stephen Toub [Sat, 28 Dec 2019 02:49:23 +0000 (21:49 -0500)]
Fix inadvertent closure in EmitCallCharInClass

4 years agoAdd EmitCallCharInClass optimization for singleton
Stephen Toub [Mon, 16 Dec 2019 23:29:26 +0000 (18:29 -0500)]
Add EmitCallCharInClass optimization for singleton

4 years agoUse IndexOf{Any} for case-sensitive singletons in FindFirstChar
Stephen Toub [Mon, 16 Dec 2019 23:19:49 +0000 (18:19 -0500)]
Use IndexOf{Any} for case-sensitive singletons in FindFirstChar

Takes advantage of vectorization in string.IndexOf.

4 years agoClean up more code in RegexCompiler
Stephen Toub [Mon, 16 Dec 2019 20:03:36 +0000 (15:03 -0500)]
Clean up more code in RegexCompiler

- Only use ilg from "macro" helpers
- Move some blocks of code around

4 years agoPut back Regex singleton optimization
Stephen Toub [Mon, 16 Dec 2019 19:45:08 +0000 (14:45 -0500)]
Put back Regex singleton optimization

I had removed it because it seemed illogical that anyone would write such character classes.  But it turns out the implementation/parser itself generates them for certain forms, e.g. "hello|hithere" will create a character class containing just 'h' in order to find the start of the alternation.

4 years agoDelay JIT'ing until first execution
Stephen Toub [Tue, 31 Dec 2019 19:43:19 +0000 (14:43 -0500)]
Delay JIT'ing until first execution

I'd previously removed multiple delegate allocations that were being incurred every time we needed to run a compiled regex concurrently.  In doing so, however, I inadvertently forced JIT'ing to occur when the Regex was created rather than on first use; that can in turn lead to more start-up overheads for regexes that are created on startup (e.g. to initialize a static field) but that aren't used at start-up, as well as reduce potential parallelism that could otherwise occur for distinct regexes being run for the first time concurrently.  This addresses the issue by still caching delegates, but in addition to rather than instead of the DynamicMethod objects.

4 years agoRemove dead code in build.ps1 after -help option was added (#1430)
Santiago Fernandez Madero [Thu, 9 Jan 2020 01:32:03 +0000 (17:32 -0800)]
Remove dead code in build.ps1 after -help option was added (#1430)

4 years agoForgot remove a ? from ref assembly (#1467)
buyaa-n [Thu, 9 Jan 2020 01:09:53 +0000 (17:09 -0800)]
Forgot remove a ? from ref assembly (#1467)

4 years agoUpdate superpmi.py helper script (#1474)
Bruce Forstall [Thu, 9 Jan 2020 01:03:01 +0000 (17:03 -0800)]
Update superpmi.py helper script (#1474)

Mostly, updated documentation. Added some additional logging
output for improved clarity. Tried to simplify the code so
it is easier to understand, in places.

4 years ago[master] Update dependencies from dotnet/arcade Microsoft/vstest (#1371)
dotnet-maestro[bot] [Thu, 9 Jan 2020 00:08:17 +0000 (16:08 -0800)]
[master] Update dependencies from dotnet/arcade Microsoft/vstest (#1371)

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

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20057.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20057.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20057.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20057.1
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20057.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20057.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20057.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20057.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20057.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20057.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20057.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20057.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20057.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20057.1

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

- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20057.5
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20057.5
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20057.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20057.5
- Microsoft.DotNet.Build.Tasks.Configuration - 5.0.0-beta.20057.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20057.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20057.5
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20057.5
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20057.5
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20057.5
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20057.5
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20057.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20057.5
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20057.5

* Update dependencies from https://github.com/microsoft/vstest build 20200103-01

- Microsoft.NET.Test.Sdk - 16.5.0-preview-20200103-01

* Fix space in resource key to react to arcade resource generation fix

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
4 years agoMerge pull request #1073 from DrewScoggins/dev/anscoggi/activateLiveBuilds
Drew Scoggins [Wed, 8 Jan 2020 20:01:14 +0000 (12:01 -0800)]
Merge pull request #1073 from DrewScoggins/dev/anscoggi/activateLiveBuilds

Fix passing of liveBuilds name string in perf job.

4 years agoExpose MemoryMarshal.GetArrayDataReference (#1036)
Levi Broderick [Wed, 8 Jan 2020 18:57:59 +0000 (10:57 -0800)]
Expose MemoryMarshal.GetArrayDataReference (#1036)

Given an SzArray, returns a reference to where the element at index 0 would be located, even if the array is empty. No variance checks or bounds checks are performed.

4 years agoImprove RawArrayData comments (#1450)
Next Turn [Wed, 8 Jan 2020 17:58:22 +0000 (01:58 +0800)]
Improve RawArrayData comments (#1450)

4 years agoUpdate URLs in BOTR (#1441)
Adeel Mujahid [Wed, 8 Jan 2020 16:20:19 +0000 (18:20 +0200)]
Update URLs in BOTR (#1441)

- update links to sources from dotnet/coreclr -> dotnet/runtime/src/coreclr
- fix dead urls (github and non-github) under docs/design/coreclr.
- use https://software.intel.com/sites/default/files/article/402129/mpx-linux64-abi.pdf as a new home for x64 System V ABI, as http://x86-64.org is now abandoned. Update source files as well.
- normalize “, ” and ’ to ascii " and ' and remove trailing whitespaces in modified files.

4 years agoDisable failing BasicTest_AccessInstanceProperties_NoExceptions_Bsd test (#1447)
Stephen Toub [Wed, 8 Jan 2020 15:40:03 +0000 (10:40 -0500)]
Disable failing BasicTest_AccessInstanceProperties_NoExceptions_Bsd test (#1447)

4 years agoFix ReflectionTypeLoadException nullable annotations (#545)
Stephen Toub [Wed, 8 Jan 2020 14:09:54 +0000 (09:09 -0500)]
Fix ReflectionTypeLoadException nullable annotations (#545)

We were previously using `Type[]?`, but the array can actually contain null, so it needs to be `Type?[]?`.  Further, upon reviewing a bunch of call sites, it's clear that a) code expects to be able to pass null for the arrays into the ctor but also b) expects to be able to read Types/LoaderExceptions without doing null checks.  As such, I modified the annotations accordingly, and fix the implementation to match.

4 years agoFix nullable annotations on CollectionExtensions.GetValueOrDefault (#1364)
Stephen Toub [Wed, 8 Jan 2020 14:09:28 +0000 (09:09 -0500)]
Fix nullable annotations on CollectionExtensions.GetValueOrDefault (#1364)

4 years agoSuppress ExecutionContext flow in SocketHttpHandler's ConnectHelper (#1381)
Stephen Toub [Wed, 8 Jan 2020 14:09:09 +0000 (09:09 -0500)]
Suppress ExecutionContext flow in SocketHttpHandler's ConnectHelper (#1381)

4 years agoEnsure LocalEndPoint being updated in SendToAsync(SocketAsyncEventArgs) (#808)
Anton Firszov [Wed, 8 Jan 2020 13:46:57 +0000 (14:46 +0100)]
Ensure LocalEndPoint being updated in SendToAsync(SocketAsyncEventArgs) (#808)

Fixes #915 by assigning _rightEndPoint like in other overloads, introducing a breaking change in the behavior of SendToAsync(SocketAsyncEventArgs).

4 years agoAugment several "bool IsXx" APIs with [NotNullWhen(true)] (#1372)
Stephen Toub [Wed, 8 Jan 2020 10:49:14 +0000 (05:49 -0500)]
Augment several "bool IsXx" APIs with [NotNullWhen(true)] (#1372)

If these methods return true, we know the argument passed in wasn't null.  Annotating it as such can help reduce warnings in callers.

4 years agoFix GC heap corruption on ARM. (#1389)
Anton Lapounov [Wed, 8 Jan 2020 10:12:25 +0000 (02:12 -0800)]
Fix GC heap corruption on ARM. (#1389)

The allocate_in_free code path in allocate_in_expanded_heap incorrectly calculated the large (double) alignment padding size when limiting the plug size (SHORT_PLUGS) if set_padding_on_saved_p was true:

    set_padding_in_expand (old_loc, set_padding_on_saved_p, pinned_plug_entry); // Sets the padding flag on the saved plug
    ...
    pad += switch_alignment_size (is_plug_padded (old_loc)); // Reads the padding flag from the old (different!) plug

That caused access violation during a later heap walk since the g_gc_pFreeObjectMethodTable pointer marking the gap was not placed at the right address.

4 years agoMerge pull request #1346 from vargaz/string-ctor-preserve-dep
Zoltan Varga [Wed, 8 Jan 2020 06:17:31 +0000 (07:17 +0100)]
Merge pull request #1346 from vargaz/string-ctor-preserve-dep

Add PreserveDependency attributes to String ctors to mark their dependency on the corresponding String:Ctor methods.

4 years agoFix PreserveDependencyAttribute.cs location.
Zoltan Varga [Wed, 8 Jan 2020 02:22:31 +0000 (03:22 +0100)]
Fix PreserveDependencyAttribute.cs location.

4 years agoFix reported result in binder tracing for mismatched MVID when loading assembly by...
Elinor Fung [Wed, 8 Jan 2020 02:55:09 +0000 (18:55 -0800)]
Fix reported result in binder tracing for mismatched MVID when loading assembly by path / stream (#1339)

4 years agoAdd PreserveDependency attributes to String ctors to mark their dependency on the...
Zoltan Varga [Tue, 7 Jan 2020 03:23:54 +0000 (04:23 +0100)]
Add PreserveDependency attributes to String ctors to mark their dependency on the corresponding String:Ctor methods.

4 years agoFix stack overflow in PhysicalAddress.TryParse taking out CI (#1385)
Stephen Toub [Wed, 8 Jan 2020 02:22:46 +0000 (21:22 -0500)]
Fix stack overflow in PhysicalAddress.TryParse taking out CI (#1385)

4 years agoMerge pull request #1102 from swaroop-sridhar/release-testing
Swaroop Sridhar [Wed, 8 Jan 2020 01:42:09 +0000 (17:42 -0800)]
Merge pull request #1102 from swaroop-sridhar/release-testing

Add Job for Release testing

4 years agoChange location of some source files (#1376)
Adeel Mujahid [Wed, 8 Jan 2020 00:27:29 +0000 (02:27 +0200)]
Change location of some source files (#1376)

* Move coreclr/src/coreclr/hosts to one level up

* Move native commons to :/eng/native

4 years agoFix Reading Time Formats with quotes from ICU (#1370)
Tarek Mahmoud Sayed [Wed, 8 Jan 2020 00:10:26 +0000 (16:10 -0800)]
Fix Reading Time Formats with  quotes  from ICU (#1370)

4 years agoMerge pull request #1373 from dotnet/alpine-3-11
Matt Galbraith [Tue, 7 Jan 2020 23:09:23 +0000 (15:09 -0800)]
Merge pull request #1373 from dotnet/alpine-3-11

Add Alpine 3.11 testing

4 years agoFix musl condition for chroot case (#1369)
Adeel Mujahid [Tue, 7 Jan 2020 22:12:46 +0000 (00:12 +0200)]
Fix musl condition for chroot case (#1369)

4 years agoPR feedback
Matt Galbraith [Tue, 7 Jan 2020 20:50:17 +0000 (12:50 -0800)]
PR feedback

Toggle meaning of isFullMatrix (PR request)

4 years agoAdd Job Description for Release testing
Swaroop Sridhar [Fri, 20 Dec 2019 22:43:38 +0000 (14:43 -0800)]
Add Job Description for Release testing

This change adds a job description for testing release bits.
It runs outer loop tests on all platforms (with and without R2R) every night at 10pm.

4 years agoDelete Tests.props (#1236)
Jan Kotas [Tue, 7 Jan 2020 20:15:13 +0000 (12:15 -0800)]
Delete Tests.props (#1236)

It creates a conficting defintiion of CommonPath that is not really needed for anything

4 years agoAdd Alpine 3.11 testing
Matt Galbraith [Tue, 7 Jan 2020 19:46:21 +0000 (11:46 -0800)]
Add Alpine 3.11 testing

4 years agoAdd createdump to the sharedFramework folder to be added to runtime packages (#1345)
Juan Hoyos [Tue, 7 Jan 2020 18:53:20 +0000 (10:53 -0800)]
Add createdump to the sharedFramework folder to be added to runtime packages (#1345)

4 years agoAdd vbproj to .editorconfig (#1354)
Youssef Victor [Tue, 7 Jan 2020 16:39:01 +0000 (18:39 +0200)]
Add vbproj to .editorconfig (#1354)

4 years agoReduce confusion in vector layout algorithm (#1356)
Michal Strehovský [Tue, 7 Jan 2020 16:37:10 +0000 (17:37 +0100)]
Reduce confusion in vector layout algorithm (#1356)

We special case layouts of two kinds of vectors: `Vector<T>` and `Vector64/128/256<T>`. Each gets laid out a bit differently. When porting crossgen2 changes to CoreRT (I'm still on leave of absence), it felt odd that code handling vanilla Vector was added to a class responsible for the 64/128/256 variant.

Turns out this was forced by vector handling being really messy. This commit untangles it:

* Rename the class that handles `Vector<T>` so that the name doesn't conflict with the class that handles `Vector64/128/256` and require renaming to use. Use the same name as on the CoreRT side.
* Unnest the class and move the new method `IsVectorOfTType` there.

4 years agoUpdate LSRA document (#1181)
Carol Eidt [Tue, 7 Jan 2020 16:30:13 +0000 (08:30 -0800)]
Update LSRA document (#1181)

* Update LSRA document

4 years agoKill local asserts for partial write in copyBlock (#1279)
Carol Eidt [Tue, 7 Jan 2020 16:24:19 +0000 (08:24 -0800)]
Kill local asserts for partial write in copyBlock (#1279)

* Kill local asserts for partial write in copyBlock

Fix #1241

4 years agoAnother PAL cleanup (#1359)
Jan Vorlicek [Tue, 7 Jan 2020 16:21:34 +0000 (17:21 +0100)]
Another PAL cleanup (#1359)

* Make _fullpath private

* Make _open_osfhandle private

* Remove GetWriteWatch and ResetWriteWatch

* Remove atexit

* Remove div and div_t

* Remove PAL__getcwd

*  Remove STACK_ALIGN_BITS and STACK_ALIGN_REQ

* Remove couple of LANG_* constants

4 years agoUpdate shared parts of crossgen2 (#1358)
Michal Strehovský [Tue, 7 Jan 2020 16:21:17 +0000 (17:21 +0100)]
Update shared parts of crossgen2 (#1358)

* Port changes from CoreRT.
* Stop sharing embedded object nodes. These are becoming increasingly difficult to share and there's little value.

4 years agoFix TypeIntrinsics_il tests (#1271)
Egor Bogatov [Tue, 7 Jan 2020 16:12:19 +0000 (19:12 +0300)]
Fix TypeIntrinsics_il tests (#1271)

* Fix TypeIntrinsics_il.il

* Remove CLRTestPriority

4 years agoFix LSRA dump of GC Kills (#1288)
Carol Eidt [Tue, 7 Jan 2020 15:43:01 +0000 (07:43 -0800)]
Fix LSRA dump of GC Kills (#1288)

4 years agoNew PhysicalAddress.TryParse methods taking span and string (#1057)
Alexander Nikolaev [Tue, 7 Jan 2020 13:39:46 +0000 (14:39 +0100)]
New PhysicalAddress.TryParse methods taking span and string (#1057)

This PR introduces two new PhysicalAddress.TryParse methods taking span and string as well as adds a PhysicalAddress.Parse overload taking span.
Fixes dotnet/corefx#29780

4 years agoRequire test framework assemblies crossgen to succeed (#1305)
Jan Vorlicek [Tue, 7 Jan 2020 11:14:25 +0000 (12:14 +0100)]
Require test framework assemblies crossgen to succeed (#1305)

* Require test framework assemblies crossgen to succeed

The test framework crossgen in build-test.cmd failures were ignored
before. Change that to require the crossgen of all the framework
assemblies to succeed.
I've also added a progress and status details to the output.
Equivalent changes were made to the Unix build-test.sh.

4 years agoMake sure default ALC is initialized before resolving satellite assembly (#1032)
Elinor Fung [Tue, 7 Jan 2020 01:26:10 +0000 (17:26 -0800)]
Make sure default ALC is initialized before resolving satellite assembly (#1032)

4 years agoFix broken docs links (#1005)
Jeff Handley [Tue, 7 Jan 2020 01:17:21 +0000 (17:17 -0800)]
Fix broken docs links (#1005)

* Fix broken docs links in txt/md files under src

* Fix broken docs links found in source code

* Fix broken docs links in workflow docs

* Fix broken docs links in build commands

* Fix broken docs links in HTML resource files

* Update HTTP/SSL stress test docs for local builds

Co-Authored-By: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
* Fix a few remaining broken links

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
4 years agoPAL unused functions cleanup (#1313)
Jan Vorlicek [Tue, 7 Jan 2020 00:48:58 +0000 (01:48 +0100)]
PAL unused functions cleanup (#1313)

* Remove some unused PAL functions

* Remove SearchPathA

* Remove most of the clr::fs stuff

* Remove GetFileInformationByHandle

* Remove CompareFileTime from public PAL surface

* Remove GetLongPathName

* Remove GetShortPathName

* Remove some directory and file related functions

Make some of the functions private, but keep them in PAL as
too many PAL tests were using them and transforming those tests would
be waste of time.

* Remove non-existent PAL tests from the paltestlist.txt

4 years agoForce Windows SDK to be 10.0 (#1331)
Jan Kotas [Tue, 7 Jan 2020 00:48:03 +0000 (16:48 -0800)]
Force Windows SDK to be 10.0 (#1331)

This fixes the build failures on Windows Server 2012

4 years agoFix build on Void Linux musl (#1337)
Adeel Mujahid [Tue, 7 Jan 2020 00:47:34 +0000 (02:47 +0200)]
Fix build on Void Linux musl (#1337)

* xstate_bv was renamed to xfeatures in torvalds/linux@400e4b2, also
  see https://lore.kernel.org/patchwork/patch/939801/. Added a cmake
  check to detect if old header is available on the build machine.
* Make musl-libc based distro RID detection more permissive by adapting
  condition used by public-facing dotnet-install script:
  https://github.com/dotnet/toolset/blob/a229608/scripts/obtain/dotnet-install.sh#L163

4 years agoFix compMatchedVM by using osType to detect cross target compilation in case of AOT...
Alexandre Mutel [Tue, 7 Jan 2020 00:03:14 +0000 (01:03 +0100)]
Fix compMatchedVM by using osType to detect cross target compilation in case of AOT scenario (#1243)

4 years agoUpdate cmd and batch scripts to be crlf (#1336)
Tanner Gooding [Tue, 7 Jan 2020 00:02:52 +0000 (16:02 -0800)]
Update cmd and batch scripts to be crlf (#1336)

4 years agoUpdating `JitEEVersionIdentifier` GIUD. A follow up for removing ArrayTypeDesc. ...
Vladimir Sadov [Mon, 6 Jan 2020 22:42:52 +0000 (14:42 -0800)]
Updating `JitEEVersionIdentifier` GIUD. A follow up for removing ArrayTypeDesc. (#1330)

4 years agoOptimize AdjustMaxWorkersActive (#1103)
Bill Wert [Mon, 6 Jan 2020 22:31:11 +0000 (14:31 -0800)]
Optimize AdjustMaxWorkersActive (#1103)

@ninedan reported this function as expensive in one of the server scenarios
he monitors. The actual time is spent in `ThreadStore::GetAllThreadList`.
Moving the call to `GetTotalWorkerThreadPoolCompletionCount` should reduce this
cost.

Fixes #1079

4 years agoCopy change to XsdDateTime (#1319)
ts2do [Mon, 6 Jan 2020 21:57:32 +0000 (15:57 -0600)]
Copy change to XsdDateTime (#1319)

I copied the change from dotnet/coreclr#7769 to XsdDateTime which eliminates extraneous iterations of the days array.

4 years agoAdd documentation guidelines when adding new APIs (#1335)
Carlos Sanchez Lopez [Mon, 6 Jan 2020 21:57:05 +0000 (13:57 -0800)]
Add documentation guidelines when adding new APIs (#1335)

* Add documentation guidelines when adding new APIs

* Update docs/coding-guidelines/adding-api-guidelines.md

Co-Authored-By: Dan Moseley <danmose@microsoft.com>
* Update docs/coding-guidelines/adding-api-guidelines.md

Co-Authored-By: Dan Moseley <danmose@microsoft.com>
* Update docs/coding-guidelines/adding-api-guidelines.md

Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
* Update docs/coding-guidelines/adding-api-guidelines.md

Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
* Update docs/coding-guidelines/adding-api-guidelines.md

Co-Authored-By: Maira Wenzel <mairaw@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Maira Wenzel <mairaw@microsoft.com>
4 years agoRemove STREAM_MEMORY_OVERLOADS_AVAILABLE (#1328)
Eric StJohn [Mon, 6 Jan 2020 20:49:43 +0000 (12:49 -0800)]
Remove STREAM_MEMORY_OVERLOADS_AVAILABLE (#1328)

4 years agoRemoved duplicates/unused code from src\jit\jitstd. (#1272)
Dmitriy Maksimov [Mon, 6 Jan 2020 19:25:42 +0000 (05:25 +1000)]
Removed duplicates/unused code from src\jit\jitstd. (#1272)

make_signed/make_unsigned moved to clr_std/type_traits.
Removed pair.h and type_traits.h

Fix #27557

4 years agoFix reported result for incompatible version for default ALC (#1083)
Elinor Fung [Mon, 6 Jan 2020 19:24:32 +0000 (11:24 -0800)]
Fix reported result for incompatible version for default ALC (#1083)

FindInLoadContext and ApplicationAssemblies stages were reporting name
mismatch instead of incompatible version

4 years agoCoreFX Renames in System.IO PathInternal.Tests (#1017)
Erhan Atesoglu [Mon, 6 Jan 2020 18:34:08 +0000 (10:34 -0800)]
CoreFX Renames in System.IO PathInternal.Tests (#1017)

4 years agoFix typo: availabe -> available (#1324)
Andrew Arnott [Mon, 6 Jan 2020 18:29:28 +0000 (11:29 -0700)]
Fix typo: availabe -> available (#1324)

4 years agoAdd CMAKE add_jit function and remove duplicated code for all JIT (#1292)
Alexandre Mutel [Mon, 6 Jan 2020 18:26:51 +0000 (19:26 +0100)]
Add CMAKE add_jit function and remove duplicated code for all JIT (#1292)