platform/upstream/dotnet/runtime.git
4 years agoPrevent DivideByZeroException in EventCounter.ToString() (dotnet/coreclr#27581)
JesperTreetop [Tue, 5 Nov 2019 18:33:18 +0000 (19:33 +0100)]
Prevent DivideByZeroException in EventCounter.ToString() (dotnet/coreclr#27581)

* Prevent DivideByZeroException in EventCounter.ToString()

Maybe it should print something other than 0. Maybe "Mean" should be excluded. But at least with this it doesn't divide by zero. Ternary operator in interpolated string is not super readable; didn't know if making the code more descriptive would have performance implications.

* Update src/System.Private.CoreLib/shared/System/Diagnostics/Tracing/EventCounter.cs

Co-Authored-By: Stephen Toub <stoub@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/a187c727956c8ed30635f75450e7dfc38f2ccf38

4 years agoSome follow up changes after the cast caching change (dotnet/coreclr#27571)
Vladimir Sadov [Tue, 5 Nov 2019 17:51:21 +0000 (09:51 -0800)]
Some follow up changes after the cast caching change (dotnet/coreclr#27571)

* Make array MT and element type always match.

* Remove TypeDesc duplication of ArrayIsInstanceOf and ArraySupportsBizarreInterface

* Removed `CanCastToNonVariantInterface`. It was used only in three places, one of which was an assert.

* Use `CanCastTo` in `MergeTypeHandlesToCommonParent` - it does a cache lookup and can be called in preemptive mode.

* Updated the comment on TypeHandle::GetMethodTable(). We can still get non-exact method tables for TypeDescs.

* Removed "Approx" in `GetApproxArrayElementTypeHandle`, `SetApproxArrayElementTypeHandle` and `GetApproxArrayElementTypeHandlePtr`

Commit migrated from https://github.com/dotnet/coreclr/commit/5aaa25b61aec244c39c2c9b5ce0800a9183df24e

4 years agoFixing the return type of the ArmBase.ReverseElementBits methods in the PlatformNotSu...
Tanner Gooding [Tue, 5 Nov 2019 17:30:07 +0000 (09:30 -0800)]
Fixing the return type of the ArmBase.ReverseElementBits methods in the PlatformNotSupported file (dotnet/coreclr#27672)

Commit migrated from https://github.com/dotnet/coreclr/commit/b2f98b9a29ce10178ab61fc14e11f17200e2d111

4 years agoHandling generic attribute in AttributePresenceFilterNode (dotnet/coreclr#27667)
Andrew Au [Tue, 5 Nov 2019 16:25:32 +0000 (08:25 -0800)]
Handling generic attribute in AttributePresenceFilterNode (dotnet/coreclr#27667)

Commit migrated from https://github.com/dotnet/coreclr/commit/a11f07461ec65dd7d4bc133196d26ad786cb2ce1

4 years agoFix Array.Copy regressions for large multidimensional arrays (dotnet/coreclr#27668)
Jan Kotas [Tue, 5 Nov 2019 16:13:22 +0000 (08:13 -0800)]
Fix Array.Copy regressions for large multidimensional arrays (dotnet/coreclr#27668)

Commit migrated from https://github.com/dotnet/coreclr/commit/5b3ac725320c1328d8843abb477940a00af54bd8

4 years agoChange BulkMoveWithWriteBarrier to be GC suspension friendly (dotnet/coreclr#27642)
Jan Kotas [Tue, 5 Nov 2019 16:10:37 +0000 (08:10 -0800)]
Change BulkMoveWithWriteBarrier to be GC suspension friendly (dotnet/coreclr#27642)

* Change BulkMoveWithWriteBarrier to be GC suspension friendly

* Rename RuntimeHelpers.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/5e1ef698774c433f70795e194e2554ad6f5b7d6f

4 years agoJIT: cleanup redundant exact type tests (dotnet/coreclr#27397)
Andy Ayers [Tue, 5 Nov 2019 16:02:52 +0000 (08:02 -0800)]
JIT: cleanup redundant exact type tests (dotnet/coreclr#27397)

Generate exact type assertions from exact type tests in the IR. Look for these
assertions and set the value number for RELOPs with known outcomes. Process
JTRUE nodes in the main assertion prop optimization loop.

This combination of changes removes residual exact type tests from cast
expansions when they are anticipated by user inserted exact type tests, as in:

```C#
    if (b.GetType() == typeof(D))
    {
        return (D)b;
    }
```

Closes dotnet/coreclr#14471.

Commit migrated from https://github.com/dotnet/coreclr/commit/5216c8c843d2f34efccb070a840dfd42d6e7e230

4 years agoMove helper pipeline scripts under eng/pipeline/scripts (dotnet/coreclr#27660)
Tomáš Rylek [Tue, 5 Nov 2019 15:18:42 +0000 (07:18 -0800)]
Move helper pipeline scripts under eng/pipeline/scripts (dotnet/coreclr#27660)

To clean up contents of the eng folder, I'm moving all YAML scripts
used by Azure pipelines under eng/pipeline/scripts. Most of the rest
of the eng folder will get merged into a common eng folder in the
composite repo.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/3474c72042b0e3a55e3bc59bb3a29cecfaa0a67c

4 years agoFix for two subtle bugs I made yesterday in init-dotnet (dotnet/coreclr#27679)
Tomáš Rylek [Tue, 5 Nov 2019 12:59:30 +0000 (04:59 -0800)]
Fix for two subtle bugs I made yesterday in init-dotnet (dotnet/coreclr#27679)

1) In the "old repo conditional block", I used __ProjectDir even
though it was not defined in the script. This is normally benign
when the script is run from build.cmd which defines the variable
but it means that the script cannot be run directly from shell.

2) In a similar vein, I used !__ProjectDir! in the script even though
it doesn't have the delayed variable expansion flag enabled. Again,
the flag is set in the main build.cmd script but the init-dotnet
script couldn't be run directly. Thankfully in this particular case
we don't need the delayed expansion so I just changed ! to %.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/37ce1747f692c0ff8c69cd095485c6a0a6837061

4 years agoUpdate tryrun.cmake in order to be able to build corefx in consolidated repo (dotnet...
Santiago Fernandez Madero [Tue, 5 Nov 2019 07:44:42 +0000 (01:44 -0600)]
Update tryrun.cmake in order to be able to build corefx in consolidated repo (dotnet/coreclr#27674)

Commit migrated from https://github.com/dotnet/coreclr/commit/10bcb6f8e705a5f6e53476a7fcf36f80261ee13d

4 years agoReword comments for policheck (dotnet/coreclr#27669)
Jeremy Koritzinsky [Tue, 5 Nov 2019 00:07:33 +0000 (16:07 -0800)]
Reword comments for policheck (dotnet/coreclr#27669)

* Comment rewordings required by policheck.

* Use AppContainer instead of Windows Store.

* Additional wording cleanup.

Commit migrated from https://github.com/dotnet/coreclr/commit/340d69c20d57a2b161aa74c516886bf45df8ee22

4 years agoAvoid instantiating abstract class (dotnet/coreclr#27589)
Andrew Au [Mon, 4 Nov 2019 23:43:56 +0000 (15:43 -0800)]
Avoid instantiating abstract class (dotnet/coreclr#27589)

Commit migrated from https://github.com/dotnet/coreclr/commit/0b441193b7b701c4b68d758c4798f28241cfb9e3

4 years agoTweaks to existing BulkType event (dotnet/coreclr#27516)
David Wrighton [Mon, 4 Nov 2019 23:26:00 +0000 (15:26 -0800)]
Tweaks to existing BulkType event (dotnet/coreclr#27516)

- Enable specification of exact multi-dimensional array rank
- Tolerate scenarios where the name of the type is so large that it prevents generation of the BulkType event

Commit migrated from https://github.com/dotnet/coreclr/commit/fd418f6c39dde248a157ba30ae9b9685e306b0a3

4 years agoMethodDetails event (dotnet/coreclr#27515)
David Wrighton [Mon, 4 Nov 2019 20:12:16 +0000 (12:12 -0800)]
MethodDetails event (dotnet/coreclr#27515)

* MethodDetails event
- Captures enough information to allow a method to be identified to its exact token/instantiation
- Leans on BulkType events to send type information
- Send the event around all interesting events in ETW

Commit migrated from https://github.com/dotnet/coreclr/commit/5a381e7c8507777f71746ec564a6b75e38ebe089

4 years ago[master] Update dependencies from dotnet/corefx (dotnet/coreclr#27661)
dotnet-maestro[bot] [Mon, 4 Nov 2019 19:30:09 +0000 (19:30 +0000)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#27661)

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

- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19553.8
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19553.8

* Disable Quic tests

Commit migrated from https://github.com/dotnet/coreclr/commit/2ad78933ed828e4ada57f57bd60c0aa2985641a2

4 years agoChange m_fPreemptiveGCDisabled to bool (dotnet/coreclr#27648)
pi1024e [Mon, 4 Nov 2019 17:01:03 +0000 (12:01 -0500)]
Change m_fPreemptiveGCDisabled to bool (dotnet/coreclr#27648)

Commit migrated from https://github.com/dotnet/coreclr/commit/96e08af2e7f246ad2efe9ebe68c4d4ca51f1b638

4 years agoUpdate only S.P.CoreLib for ReverseElementBits (dotnet/coreclr#27582)
Tamar Christina [Mon, 4 Nov 2019 16:40:52 +0000 (16:40 +0000)]
Update only S.P.CoreLib for ReverseElementBits (dotnet/coreclr#27582)

Commit migrated from https://github.com/dotnet/coreclr/commit/c2ae7de1e1eaaff1a0a21c6e7e0014fad8a78bfa

4 years agoSeveral GCC fixes (dotnet/coreclr#27654)
Sinan Kaya [Mon, 4 Nov 2019 16:37:08 +0000 (11:37 -0500)]
Several GCC fixes (dotnet/coreclr#27654)

* Fix compilation warning

coreclr/src/vm/arm64/virtualcallstubcpu.hpp:350:111: error: the value of ‘n’ is not usable in a constant expression
 #define PC_REL_OFFSET(_field) (DWORD)((offsetof(ResolveStub, _field) - (offsetof(ResolveStub, _failEntryPoint[n]))) & 0xffffffff)
                                                                                                               ^
coreclr/src/pal/inc/rt/palrt.h:173:56: note: in definition of macro ‘offsetof’
 #define offsetof(type, field) __builtin_offsetof(type, field)
                                                        ^~~~~
coreclr/src/vm/arm64/virtualcallstubcpu.hpp:380:19: note: in expansion of macro ‘PC_REL_OFFSET’
          offset = PC_REL_OFFSET(_resolveEntryPoint);
                   ^
I

Undefined behavior

* Remove duplicate definition

* Undefined behavior

coreclr/src/vm/arm64/virtualcallstubcpu.hpp:327:33: warning: operation on ‘n’ may be undefined [-Wsequence-point]
          _stub._slowEntryPoint[n++] = 0x1000000A | ARM64EncodeHelpers::ADR_PATCH(PC_REL_OFFSET(Dataregionbase, n));
                                ~^~
coreclr/src/vm/arm64/virtualcallstubcpu.hpp:356:33: warning: operation on ‘n’ may be undefined [-Wsequence-point]
          _stub._failEntryPoint[n++] = 0x1000000A | ARM64EncodeHelpers::ADR_PATCH(PC_REL_OFFSET(Dataregionbase, n));

* Unneeded qualifiers

* Cast fix

* Unsigned compare

Commit migrated from https://github.com/dotnet/coreclr/commit/4989fbd5a992a2682ce579d392d60e3f9e7537a7

4 years agoConsolidation resiliency fixes in CoreCLR build scripts (dotnet/coreclr#27635)
Tomáš Rylek [Mon, 4 Nov 2019 14:35:26 +0000 (06:35 -0800)]
Consolidation resiliency fixes in CoreCLR build scripts (dotnet/coreclr#27635)

Backport of my consolidation changes aimed at making principal
CoreCLR build scripts orthogonal to repo consolidation.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/3eea5cd23597276c70030338652a85ead44b763a

4 years agoYAML consolidation changes part 2 (dotnet/coreclr#27649)
Tomáš Rylek [Mon, 4 Nov 2019 10:57:31 +0000 (02:57 -0800)]
YAML consolidation changes part 2 (dotnet/coreclr#27649)

After finally getting a more or less green run in the runtime repo
I have prepared another batch of changes aimed at simplifying
the oncoming repo integration:

1) Use relative paths for script references;

2) Add new variable coreClrRepoRootDir with the appended path
separator so that we don't need to fork that everywhere;

3) Actually unify the first pair of build-test executions that
has become identical after the change;

4) Fixed several previously unseen repo root-relative paths;

5) Fixed missing propagation of testGroup in build-job;

6) Fixed run logs to include R2R in the name (Matt Mitchell pointed
out the other day this prevents us from analyzing both sets of logs);

7) Move job.yml to eng to enable using relative template paths;

8) Delete unused jobs.yml.

9) Move performance.yml to eng as run-performance-test.yml to
derive it from xplat-pipeline-job and avoid duplicating variables.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/818b35978a1681690988b2c9c3f0b6a034d91e82

4 years agoFix invalid-noreturn warning for __CorHlprThrowOOM in corhlpr.h (dotnet/coreclr#23524)
Ilia [Mon, 4 Nov 2019 10:42:54 +0000 (13:42 +0300)]
Fix invalid-noreturn warning for __CorHlprThrowOOM in corhlpr.h (dotnet/coreclr#23524)

* Fix invalid-noreturn warning for __CorHlprThrowOOM in corhlpr.h

Commit migrated from https://github.com/dotnet/coreclr/commit/c30381fbe8779e13bbc08591b86cb3d158953212

4 years agoSuspension fixes (dotnet/coreclr#27578)
Peter Sollich [Mon, 4 Nov 2019 09:07:00 +0000 (10:07 +0100)]
Suspension fixes (dotnet/coreclr#27578)

* Two simple fixes to suspension issues seen in GCPerfSim:

- Insert allow_fgc() call in background_mark_simple - this fixes the cases where there are a ton of GC handles referencing simple objects not containing pointers.

- Change PING_JIT_TIMEOUT constant from 10 milliseconds to 1 millisecond. This fixes the case where return address hijacking doesn't work quickly, because the hijacked thread doesn't return (e.g. because it's in a loop doing further calls). In this case we have to retry the hijack, and changing the timeout constant makes this happen more quickly.

Commit migrated from https://github.com/dotnet/coreclr/commit/fab7aa20dc4c5856bb4759bbbde0bb88ffd439a2

4 years agoImplement LeadingSignCount,LeadingZeroCount,PopCount (dotnet/coreclr#27568)
Egor Chesakov [Sun, 3 Nov 2019 20:42:55 +0000 (12:42 -0800)]
Implement LeadingSignCount,LeadingZeroCount,PopCount (dotnet/coreclr#27568)

Commit migrated from https://github.com/dotnet/coreclr/commit/a76dda01562ec04be3ef1847f786e0a6a969c2b6

4 years agoFix Buggy code in TimeZoneInfo (dotnet/coreclr#27591)
Tarek Mahmoud Sayed [Sun, 3 Nov 2019 18:42:33 +0000 (10:42 -0800)]
Fix Buggy code in TimeZoneInfo (dotnet/coreclr#27591)

Although couldn’t reach the corner case cause executing the buggy code, the fix here is done according to the similar code in TimeZoneInfo which show the intention of the change

https://github.com/dotnet/coreclr/blob/dotnet/coreclr@97c582975eed3260ef21e0bcc55c8c86d1e3bec8/src/System.Private.CoreLib/shared/System/TimeZoneInfo.cs#L1638
https://github.com/dotnet/coreclr/blob/dotnet/coreclr@97c582975eed3260ef21e0bcc55c8c86d1e3bec8/src/System.Private.CoreLib/shared/System/TimeZoneInfo.cs#L1568

Commit migrated from https://github.com/dotnet/coreclr/commit/cdb2f6a4a356db55861c35e5dcb2cde8c76a2ea9

4 years agoDelete two more FCalls (dotnet/coreclr#27640)
Jan Kotas [Sun, 3 Nov 2019 14:25:28 +0000 (06:25 -0800)]
Delete two more FCalls (dotnet/coreclr#27640)

Commit migrated from https://github.com/dotnet/coreclr/commit/7a3f0d8da0112e7b3f9b11695494fd0bba1b4a52

4 years agoRefactor away jithelpers.cs (dotnet/coreclr#27643)
Jan Kotas [Sun, 3 Nov 2019 14:24:45 +0000 (06:24 -0800)]
Refactor away jithelpers.cs (dotnet/coreclr#27643)

Unnecessary wrapper that lost its purpose as its original methods got refactored to other places.

Commit migrated from https://github.com/dotnet/coreclr/commit/c43cdbbf5f119b76f2b7121abee3340c46043289

4 years agoUse simple Array.Copy overload where possible (dotnet/coreclr#27641)
Jan Kotas [Sun, 3 Nov 2019 12:07:39 +0000 (04:07 -0800)]
Use simple Array.Copy overload where possible (dotnet/coreclr#27641)

The simple Array.Copy overload does not come with a performance penalty anymore.

Commit migrated from https://github.com/dotnet/coreclr/commit/27b334b57e5e146742005ca72851a083d9371b98

4 years agoConsolidate *.Fast.cs (dotnet/coreclr#27644)
Jan Kotas [Sun, 3 Nov 2019 11:55:42 +0000 (03:55 -0800)]
Consolidate *.Fast.cs (dotnet/coreclr#27644)

System.Memory OOB package that this split was originally done for does not exist anymore.

Commit migrated from https://github.com/dotnet/coreclr/commit/8352294d22832a59136201d7eec455724891f593

4 years agoRewrite of Array.Copy fast path in C# (dotnet/coreclr#27634)
Jan Kotas [Sun, 3 Nov 2019 05:12:46 +0000 (22:12 -0700)]
Rewrite of Array.Copy fast path in C# (dotnet/coreclr#27634)

Contributes to dotnet/coreclr#27106

Commit migrated from https://github.com/dotnet/coreclr/commit/1b9ee9974bb68d3eab329154203ab1b6c55b198a

4 years agoFix typo in Tuple.cs (dotnet/coreclr#27637)
Levi Broderick [Sun, 3 Nov 2019 00:24:28 +0000 (17:24 -0700)]
Fix typo in Tuple.cs (dotnet/coreclr#27637)

Reported by https://github.com/dotnet/corefx/issues/42321

Commit migrated from https://github.com/dotnet/coreclr/commit/1bf3a15ae81c90c2f08f123faa996ac7eb34a432

4 years agoCompile with gcc 4.8 (dotnet/coreclr#27625)
Sinan Kaya [Sat, 2 Nov 2019 19:29:22 +0000 (15:29 -0400)]
Compile with gcc 4.8 (dotnet/coreclr#27625)

* Remove VOID on parameters

* Detect compiler support

* Clarify version

In file included from coreclr/src/vm/dumpdiagnosticprotocolhelper.h:11:0,
                 from coreclr/src/vm/dumpdiagnosticprotocolhelper.cpp:7:
coreclr/src/vm/diagnosticsprotocol.h: In member function ‘bool DiagnosticsIpc::IpcMessage::Initialize(HRESULT)’:
coreclr/src/vm/diagnosticsprotocol.h:239:56: error: call of overloaded ‘Initialize(const DiagnosticsIpc::IpcHeader&, HRESULT&)’ is ambiguous
             return Initialize(GenericErrorHeader, error);
                                                        ^
coreclr/src/vm/diagnosticsprotocol.h:239:56: note: candidates are:
coreclr/src/vm/diagnosticsprotocol.h:196:14: note: bool DiagnosticsIpc::IpcMessage::Initialize(DiagnosticsIpc::IpcHeader, T&) [with T = int]
         bool Initialize(IpcHeader header, T& payload)
              ^
coreclr/src/vm/diagnosticsprotocol.h:213:14: note: bool DiagnosticsIpc::IpcMessage::Initialize(DiagnosticsIpc::IpcHeader, T&&) [with T = int&]
         bool Initialize(IpcHeader header, T&& payload)
              ^

Commit migrated from https://github.com/dotnet/coreclr/commit/1b53ff1e38f774bb50666ffc5a2595996f90e8dd

4 years agoEnvironGetenv: use strncmp instead of strlen and memcmp (dotnet/coreclr#27632)
Bond-009 [Sat, 2 Nov 2019 17:13:47 +0000 (18:13 +0100)]
EnvironGetenv: use strncmp instead of strlen and memcmp (dotnet/coreclr#27632)

Instead of iterating twice over the string, first for searching the
null-terminator and then to compare it to `name`, we only iterate
over it once.

Commit migrated from https://github.com/dotnet/coreclr/commit/d606bff508cf57477b21ebbe8c8a2f6494feed7e

4 years agoClean up package restoration in CoreCLR test build (dotnet/coreclr#27633)
Tomáš Rylek [Sat, 2 Nov 2019 16:59:25 +0000 (09:59 -0700)]
Clean up package restoration in CoreCLR test build (dotnet/coreclr#27633)

During investigation of package version issues in consolidation
scouting I noticed that package restoration logic in the test build
script is quite silly: we first restore all packages but ignore the
exit code, subsequently we restore all packages again before
building each test chunk and fail if we're unable to.

I have simplified this so that we properly exit when we fail to
restore packages upfront; after that, we no longer need to restore
packages before building each test chunk.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/933e8f07e4346baef486d3aebc2339a29dd8a8ec

4 years agoRemove staled clrdbg.sln file. (dotnet/coreclr#27631)
Huo Yaoyuan [Sat, 2 Nov 2019 15:10:11 +0000 (23:10 +0800)]
Remove staled clrdbg.sln file. (dotnet/coreclr#27631)

Commit migrated from https://github.com/dotnet/coreclr/commit/3d7e3d21dbe057f409a78c07542bc8cb3876e18b

4 years agoNormalize trailing whitespaces (dotnet/coreclr#27626)
Jan Kotas [Sat, 2 Nov 2019 13:29:45 +0000 (06:29 -0700)]
Normalize trailing whitespaces (dotnet/coreclr#27626)

Normalize trailing whitespaces in frequently changing files (docs and sources)

Commit migrated from https://github.com/dotnet/coreclr/commit/ed5dc831b09a0bfed76ddad684008bebc86ab2f0

4 years agoIntroduce variables for CoreCLR repo root and script extension (dotnet/coreclr#27624)
Tomáš Rylek [Sat, 2 Nov 2019 11:19:46 +0000 (04:19 -0700)]
Introduce variables for CoreCLR repo root and script extension (dotnet/coreclr#27624)

This change introduces two new variables usable in CoreCLR CI pipelines
(xplat-pipeline-job): coreClrRepoRoot points at the root of the CoreCLR
repo and scriptExt is the OS-specific script extension (.cmd on Windows,
.sh on POSIX).

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/290483ac4cff4dc2929298d0bb674792afd7ce33

4 years agoMake IncrementingEventCounter test less timing-sensitive (dotnet/coreclr#27621)
Sung Yoon Whang [Sat, 2 Nov 2019 05:56:58 +0000 (22:56 -0700)]
Make IncrementingEventCounter test less timing-sensitive (dotnet/coreclr#27621)

* Make IncrementingEventCounter test less timing-sensitive

* Fix build

Commit migrated from https://github.com/dotnet/coreclr/commit/9b809c9b840bbd68b1ff0625ad4dea3024d7696f

4 years agoRewrite a few more array FCalls in C# (dotnet/coreclr#27603)
Jan Kotas [Sat, 2 Nov 2019 04:39:41 +0000 (21:39 -0700)]
Rewrite a few more array FCalls in C# (dotnet/coreclr#27603)

Commit migrated from https://github.com/dotnet/coreclr/commit/cbe5ac16fedcccba1d4d90fd7329d92835265b97

4 years agoClean up jitstd folder. (dotnet/coreclr#27542)
Sergey Andreenko [Sat, 2 Nov 2019 00:44:52 +0000 (00:44 +0000)]
Clean up  jitstd folder. (dotnet/coreclr#27542)

* Delete solution files.

They were referencing unexisting files.

* Delete unused files with templates from jitstd.

Many of them have build errors when you instantiate them.

* fix ubuntu build breaks.

The header files did not include the necessary dependencies.

In the past it was ok because the compilation unit included jitstd.h that had #include "utility.h", #include "pair.h", and #include "type_traits.h" before #include "list.h".

Commit migrated from https://github.com/dotnet/coreclr/commit/14b650f35ebeed83e666039a1d3cb2eb7801c666

4 years agoRemove FEATURE_VERSIONING_LOG define (dotnet/coreclr#27618)
Elinor Fung [Sat, 2 Nov 2019 00:29:19 +0000 (17:29 -0700)]
Remove FEATURE_VERSIONING_LOG define (dotnet/coreclr#27618)

Commit migrated from https://github.com/dotnet/coreclr/commit/989e7c7050d848f0aace9d1a79a777e033a4d3dd

4 years agoRemove UCRTVersion workaround and re-enable Windows formatting jobs. (dotnet/coreclr...
Eugene Rozenfeld [Sat, 2 Nov 2019 00:06:56 +0000 (17:06 -0700)]
Remove UCRTVersion workaround and re-enable Windows formatting jobs. (dotnet/coreclr#27514)

VS2017 VsDevCmd had a bug in setting of UCRTVersion environment variable.
That was affecting Interop tests and Windows formatting jobs.
We added a workaround for the former (dotnet/coreclr#25444) and disabled Windows
formatting jobs (dotnet/coreclr#25507, dotnet/coreclr#25902).

The bug has been fixed in VS2019. Since we switched to VS2019 pool we
can remove the workaround and re-enable Windows formatting jobs.

Fixes dotnet/coreclr#25447, dotnet/coreclr#25499.

Commit migrated from https://github.com/dotnet/coreclr/commit/f5ca317f26426bc05688c65fcc31a51d90f82fbe

4 years ago[master] Update dependencies from dotnet/core-setup (dotnet/coreclr#27527)
dotnet-maestro[bot] [Fri, 1 Nov 2019 23:58:23 +0000 (23:58 +0000)]
[master] Update dependencies from dotnet/core-setup (dotnet/coreclr#27527)

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

- Microsoft.NETCore.App - 5.0.0-alpha.1.19528.5

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

- Microsoft.NETCore.App - 5.0.0-alpha.1.19530.10

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

- Microsoft.NETCore.App - 5.0.0-alpha.1.19531.19

* Remove Microsoft.WindowsDesktop.App from KnownFrameworkReference items
when building test host for corefx tests

Commit migrated from https://github.com/dotnet/coreclr/commit/e4863f47ec226fb1dd0b20cf953944237c87883c

4 years agotest/runtest.py: fix path construction in copy_tree (dotnet/coreclr#21991)
Konstantin Baladurin [Fri, 1 Nov 2019 23:57:22 +0000 (02:57 +0300)]
test/runtest.py: fix path construction in copy_tree (dotnet/coreclr#21991)

Commit migrated from https://github.com/dotnet/coreclr/commit/d46c65a8f59b240d536a43cb1288c344d39adbe7

4 years agoDisable JIT/Directed/pinvoke/pinvoke-examples test. (dotnet/coreclr#27614)
Aaron Robinson [Fri, 1 Nov 2019 23:18:08 +0000 (16:18 -0700)]
Disable JIT/Directed/pinvoke/pinvoke-examples test. (dotnet/coreclr#27614)

* Test and fix pinvoke-examples test

Commit migrated from https://github.com/dotnet/coreclr/commit/cceb5c80f795f889eaa1ae4ac6e17cdff6acf305

4 years ago[master] Update dependencies from dotnet/arcade (dotnet/coreclr#26784)
dotnet-maestro[bot] [Fri, 1 Nov 2019 21:02:20 +0000 (21:02 +0000)]
[master] Update dependencies from dotnet/arcade (dotnet/coreclr#26784)

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19468.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19468.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19468.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19468.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19468.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19469.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19469.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19469.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19469.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19469.4

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19469.8
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19469.8
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19469.8
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19469.8
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19469.8

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19470.9
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19470.9
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19470.9
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19470.9
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19470.9

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19473.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19473.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19473.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19473.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19473.5

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19476.6
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19476.6
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19476.6
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19476.6
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19476.6

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19477.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19477.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19477.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19477.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19477.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19480.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19480.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19480.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19480.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19480.3

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19501.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19501.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19501.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19501.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19501.4

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19502.11
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19502.11
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19502.11
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19502.11
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19502.11

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19504.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19504.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19504.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19504.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19504.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19505.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19505.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19505.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19505.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19505.1

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19506.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19506.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19506.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19506.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19506.1

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19509.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19509.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19509.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19509.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19509.5

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19510.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19510.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19510.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19510.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19510.4

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19511.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19511.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19511.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19511.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19511.1

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19515.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19515.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19515.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19515.1

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19515.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19515.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19515.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19515.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19515.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19517.8
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19517.8
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19517.8
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19517.8
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19517.8

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19518.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19518.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19518.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19518.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19518.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19521.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19521.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19521.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19521.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19521.4

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19522.8
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19522.8
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19522.8
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19522.8
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19522.8

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19523.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19523.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19523.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19523.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19523.3

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19524.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19524.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19524.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19524.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19524.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19525.2
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19525.2
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19525.2
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19525.2

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19526.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19526.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19526.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19526.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19526.1

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19527.3
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19527.3
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19527.3
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19527.3
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19527.3

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19528.5
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19528.5
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19528.5
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19528.5
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19528.5

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19529.9
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19529.9
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19529.9
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19529.9
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19529.9

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19530.15
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19530.15
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19530.15
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19530.15
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19530.15

* Disable Regressions/coreclr/GitHub_22888/test22888

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

- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.19531.14
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.19531.14
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.19531.14
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.19531.14
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.19531.14

* Manual darc update from build '20191101.2'

Commit migrated from https://github.com/dotnet/coreclr/commit/54a36c2183977abfbb4dbc9171a5834d5b988b4c

4 years agoImplement GC.KeepAlive JIT intrinsic (dotnet/coreclr#27554)
Jan Kotas [Fri, 1 Nov 2019 20:45:06 +0000 (13:45 -0700)]
Implement GC.KeepAlive JIT intrinsic (dotnet/coreclr#27554)

Fixes dotnet/coreclr#27541

Commit migrated from https://github.com/dotnet/coreclr/commit/c3dc5434fe2e41357222b4ae3dd9749d38b3cd8f

4 years agoFix GC holes in array marshallers in the field scenario (dotnet/coreclr#27562)
Jeremy Koritzinsky [Fri, 1 Nov 2019 20:21:36 +0000 (13:21 -0700)]
Fix GC holes in array marshallers in the field scenario (dotnet/coreclr#27562)

* Correctly protect references to objects in manually-managed code called by IL marshalers in the field scenarios. Use RuntimeHelpers.GetRawData to simplify layout class marshalling.

* Add additional protects for SAFEARRAY marshalling when used in the field scenario.

* Remove dead code.

* Fix possible GC hole from order of argument evaluation.

* Don't clean up fields on a managed object when there's no managed object.

Commit migrated from https://github.com/dotnet/coreclr/commit/e658b97990f77dca2dba446386e9d8d4d71556e1

4 years agoUpdate path to crossgen in performance tracing documentation. (dotnet/coreclr#27615)
Brian Robbins [Fri, 1 Nov 2019 20:16:41 +0000 (13:16 -0700)]
Update path to crossgen in performance tracing documentation. (dotnet/coreclr#27615)

Commit migrated from https://github.com/dotnet/coreclr/commit/a8affe49e6ace9c8ff2bd3b5898b0c0be0e1175a

4 years agoUpdate ILLink.Tasks (dotnet/coreclr#25596)
Sven Boemer [Fri, 1 Nov 2019 18:21:51 +0000 (11:21 -0700)]
Update ILLink.Tasks (dotnet/coreclr#25596)

* Update ILLink.Tasks

This adds a few roots that are needed by reflection APIs, experimental
(internal) APIs, and by the runtime.

* Remove MemoryLoadChangeNotification root

The Register/Unregister methods were already being removed by the
linker, so we do not need to introduce them.

* Keep ThreadPoolBoundHandle implementation of IDisposable

* Update to linker version with unusedinterfaces opt

* GeneratePackagePath -> GeneratePathProperty

This wasn't causing any problems since these packages happened to have
tools folders, which always get the path property generated. We could
get rid of them, but perhaps it's better to be explicit.

* Prevent problems when running on desktop

I'm not sure we ever build corelib using desktop MSBuild, but this
should prevent problems like
https://github.com/dotnet/corefx/pull/42266 if we do.

Commit migrated from https://github.com/dotnet/coreclr/commit/34fe045a27e150bde7ee54e0d5f0df635922519d

4 years agoDelete clr-configuration-knobs.md (dotnet/coreclr#27612)
Jan Kotas [Fri, 1 Nov 2019 16:19:12 +0000 (09:19 -0700)]
Delete clr-configuration-knobs.md (dotnet/coreclr#27612)

This is permanently out of date and the document creates a false sense of all these settings being officially supported. The officially supported settings are documented in https://github.com/dotnet/docs

Fixes dotnet/coreclr#27611

Commit migrated from https://github.com/dotnet/coreclr/commit/dcd7304cbc93a2ef5ca18f560736dacb4026542f

4 years agoUse Version suffix for version properties (dotnet/coreclr#27606)
Viktor Hofer [Fri, 1 Nov 2019 13:32:59 +0000 (14:32 +0100)]
Use Version suffix for version properties (dotnet/coreclr#27606)

Commit migrated from https://github.com/dotnet/coreclr/commit/833493193a849311b56026303bec2eaf11eb7d67

4 years agoRemove unused PropertyMap class from binder (dotnet/coreclr#27601)
Elinor Fung [Fri, 1 Nov 2019 13:25:17 +0000 (06:25 -0700)]
Remove unused PropertyMap class from binder (dotnet/coreclr#27601)

Commit migrated from https://github.com/dotnet/coreclr/commit/e64ae21d4e141bdfc8a29881157126b373e654c4

4 years agoDisable another static analysis rule (dotnet/corefxdotnet/coreclr#42265)
Stephen Toub [Thu, 31 Oct 2019 17:36:52 +0000 (13:36 -0400)]
Disable another static analysis rule (dotnet/corefxdotnet/coreclr#42265)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/25520b174be2a8584e9d016a1eaa06b6120c8d6a

4 years agoRemove unused functions on IAssemblyName (dotnet/coreclr#27592)
Elinor Fung [Fri, 1 Nov 2019 02:34:48 +0000 (19:34 -0700)]
Remove unused functions on IAssemblyName (dotnet/coreclr#27592)

Commit migrated from https://github.com/dotnet/coreclr/commit/24b4e11161cf217672fcd3c62158b12c93822e18

4 years agoPublish zipped product build bits like we do for test artifacts (dotnet/coreclr#27540)
Tomáš Rylek [Fri, 1 Nov 2019 01:24:19 +0000 (18:24 -0700)]
Publish zipped product build bits like we do for test artifacts (dotnet/coreclr#27540)

I have renamed xplat-test-job to xplat-pipeline-job. In perf-job
I duplicated a few variables from xplat-pipeline-job as the job
is currently based on a completely different YAML file hierarchy.
It would be probably useful to unify these two at some point but
I believe it to be beyond the scope of my simple cleanup w.r.t.
product build manipulation.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/9970bccb5ea8dee5e449845bff93e3677810a2dd

4 years agoDocumentation for Native Hash Table (dotnet/coreclr#27572)
Andrew Au [Thu, 31 Oct 2019 23:14:12 +0000 (16:14 -0700)]
Documentation for Native Hash Table (dotnet/coreclr#27572)

Commit migrated from https://github.com/dotnet/coreclr/commit/01d2c1316843648d496d0530be3236efd2114e53

4 years agoAdd explicit layout checks to Crossgen2 (dotnet/coreclr#27054)
Tomáš Rylek [Thu, 31 Oct 2019 20:59:18 +0000 (13:59 -0700)]
Add explicit layout checks to Crossgen2 (dotnet/coreclr#27054)

This change adds explicit layout checks using a loose port of the
CoreCLR algorithm i.e. creating an array representing the individual
bytes of the type layout and gradually filling it in with GC reference /
non-GC reference markers for the individual fields.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/97c582975eed3260ef21e0bcc55c8c86d1e3bec8

4 years agoFixing the casing of GT_HWIntrinsic to GT_HWINTRINSIC (dotnet/coreclr#27583)
Tanner Gooding [Thu, 31 Oct 2019 20:48:06 +0000 (13:48 -0700)]
Fixing the casing of GT_HWIntrinsic to GT_HWINTRINSIC (dotnet/coreclr#27583)

Commit migrated from https://github.com/dotnet/coreclr/commit/2c60f4b0dc0b853c98dc3a10491f0a84ee2f3870

4 years agoFix dotnet/coreclr#27326 - Don't decrement curOffsReg when it is 0, as it is an unsig...
Brian Sullivan [Thu, 31 Oct 2019 20:37:56 +0000 (13:37 -0700)]
Fix dotnet/coreclr#27326 - Don't decrement curOffsReg when it is 0, as it is an unsigned and will wrap to MAX_UINT (dotnet/coreclr#27561)

Fixes dotnet/coreclr#27326

Commit migrated from https://github.com/dotnet/coreclr/commit/21c0fefd52cf8035d4ce6e3d410223cc1e2533ea

4 years agoTiered rejit work items (dotnet/coreclr#27147)
Brian Sullivan [Thu, 31 Oct 2019 18:05:47 +0000 (11:05 -0700)]
Tiered rejit work items (dotnet/coreclr#27147)

* Use info.compFullName as the input to create the JIT's MethodHash
Update JitOrder to print out MethodHash and PerfScore
Change eeGetMethodFullName to expand class and struct names for the argument types and the return type
Fixed issue where bad edge weight were set in fgFoldConditional

Made flEdgeWeightMin and flEdgeWeightMax private fields
Added new method setEdgeWeights
Added support method eeGetArgClass

Added source for Tool to parse JitOrder output and associate PerfScores

* Remove jitOrderParser.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/c6697a00ef7ecba6012b1a52f13401ce06b8295b

4 years agoUpdate analyzer versions (dotnet/corefxdotnet/coreclr#42249)
Stephen Toub [Thu, 31 Oct 2019 04:27:10 +0000 (00:27 -0400)]
Update analyzer versions (dotnet/corefxdotnet/coreclr#42249)

* Update analyzer packages to latest NuGet versions

* Fix new warnings

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/fbf9e07f573f2db70de7aeae6aff963ca4c1eae6

4 years agoRemove obsolete git mirror files (dotnet/coreclr#27584)
Viktor Hofer [Thu, 31 Oct 2019 16:27:39 +0000 (17:27 +0100)]
Remove obsolete git mirror files (dotnet/coreclr#27584)

Commit migrated from https://github.com/dotnet/coreclr/commit/db5f07cc6a51a8cb3d0b59a53f4313f086da2765

4 years agoRemove BINDER_DEBUG_LOG (dotnet/coreclr#27574)
Elinor Fung [Thu, 31 Oct 2019 12:58:40 +0000 (05:58 -0700)]
Remove BINDER_DEBUG_LOG (dotnet/coreclr#27574)

Commit migrated from https://github.com/dotnet/coreclr/commit/77b2c2b0fb5148228ae917ae92c35220189108a9

4 years agoClean up Uri.UnescapeDataString (dotnet/corefxdotnet/coreclr#42225)
Stephen Toub [Thu, 31 Oct 2019 00:00:25 +0000 (20:00 -0400)]
Clean up Uri.UnescapeDataString (dotnet/corefxdotnet/coreclr#42225)

- Use string.IndexOf rather than an open-coded, unsafe loop.
- Avoid an unnecessary SequenceEquals at the end: we're only at this point if a `%` was found highlighting that something escaped was found.
- Use stack memory for smaller inputs if possible, to avoid unnecessary ArrayPool interaction
- Remove an unnecessary argument to a helper function.
- Fix ValueStringBuilder.Grow to only copy the contained data.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/32e2ae94dc818e5eaa364f06bf36478c6138a13c

4 years agoDon't needlessly refresh proc count (dotnet/coreclr#27543)
Ben Adams [Thu, 31 Oct 2019 09:47:57 +0000 (09:47 +0000)]
Don't needlessly refresh proc count (dotnet/coreclr#27543)

Commit migrated from https://github.com/dotnet/coreclr/commit/946e57b61a4db9ccb574fc3a754f783208080947

4 years agoFix GC stress runs (dotnet/coreclr#27565)
Tomáš Rylek [Thu, 31 Oct 2019 06:40:41 +0000 (23:40 -0700)]
Fix GC stress runs (dotnet/coreclr#27565)

As Jeremy discovered, my recent CoreCLR pipeline optimization change
broke GC stress tests. This change should fix the problem; I have
also deleted the platform-matrix-managed-test-build script that is
no longer used.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/d931f7772e9d7ee9299682fcb43b8d9a0a9429ca

4 years agoFix slow tailcalls to VSD (dotnet/coreclr#27363)
Jakob Botsch Nielsen [Thu, 31 Oct 2019 00:04:21 +0000 (01:04 +0100)]
Fix slow tailcalls to VSD (dotnet/coreclr#27363)

* Fix slow tailcalls to VSDs

This was broken when fgCanFastTailCall was changed to call
fgInitArgInfo. fgInitArgInfo has side effects and will in some cases add
arguments to the arg list. Specifically for calls to VSD, the VSD arg is
added, however this case is treated specially for slow tailcalls and it
does not expect the arg to be here.

This targeted fix just removes this arg from the arg list.

* Reenable more_tailcalls on x64 Windows

* Disable more_tailcalls on Unix, arm32 and arm64

* Address feedback

* Disable STRESS_UNSAFE_BUFFER_CHECKS for more_tailcalls

Commit migrated from https://github.com/dotnet/coreclr/commit/f4a886369b270d648552d4ae973e1c92d4202b8c

4 years agoEnable block init unroll on ARM32 (dotnet/coreclr#27450)
mikedn [Wed, 30 Oct 2019 18:04:06 +0000 (20:04 +0200)]
Enable block init unroll on ARM32 (dotnet/coreclr#27450)

* Enable block init unroll on ARM32

* Small LowerBlockStore cleanup

Commit migrated from https://github.com/dotnet/coreclr/commit/41546b05e31c0ba72537ec6445176086964717bb

4 years agoJIT: add pass to merge common throw helper calls (dotnet/coreclr#27113)
Andy Ayers [Wed, 30 Oct 2019 16:58:06 +0000 (09:58 -0700)]
JIT: add pass to merge common throw helper calls (dotnet/coreclr#27113)

Look for blocks with single statement noreturn calls, and try to reroute
flow so there's just one block call that all predecessors target.

Resolves dotnet/coreclr#14770.

Note this impairs debuggability of optimized code a bit, as it can change which
line of code apparently invokes a throw helper in a backtrace. But since we're
already commoning jit-inserted throw helpers (like array index OOB) this is not
breaking any new ground.

We could also handle commoning BBJ_THROW blocks, with some extra effort,
but prototyping indicates duplicate throws are pretty rare.

This phase runs just before `optOptimizeFlow`, so that we can leverage
the ref counts and predecessor lists to ensure we make correct flow updates.

It doesn't bother trying to clean out IR, that happens naturally as blocks
become unreferenced.

In some cases nothrow helpers end up being tail call candidates. We now suppress
tail calling noreturn methods if there is more than one such call site in the method,
hoping that instead we can merge the calls.

Commit migrated from https://github.com/dotnet/coreclr/commit/b962c97257400bee07805ccee66cd85d97195b40

4 years agoAdd BitwiseSelect (dotnet/coreclr#27430)
Egor Chesakov [Wed, 30 Oct 2019 16:29:25 +0000 (09:29 -0700)]
Add BitwiseSelect (dotnet/coreclr#27430)

Commit migrated from https://github.com/dotnet/coreclr/commit/a6e54c083708f2711f573b10fcb7217fc008ecb9

4 years agoAdd ComputeCrc32, ComputeCrc32C (dotnet/coreclr#27421)
Egor Chesakov [Wed, 30 Oct 2019 05:37:04 +0000 (22:37 -0700)]
Add ComputeCrc32, ComputeCrc32C (dotnet/coreclr#27421)

Commit migrated from https://github.com/dotnet/coreclr/commit/74ec37af01d33b11f788ef20a80403badf13ae99

4 years agoRemove unsigned overloads of LeadingSignCount (dotnet/coreclr#27533)
Egor Chesakov [Wed, 30 Oct 2019 05:36:13 +0000 (22:36 -0700)]
Remove unsigned overloads of LeadingSignCount (dotnet/coreclr#27533)

Commit migrated from https://github.com/dotnet/coreclr/commit/a9ab3ca5849c601e6843d59febf6f163d5179843

4 years agoFix copying of framework assemblies excluded from compilation (dotnet/coreclr#27534)
Tomáš Rylek [Wed, 30 Oct 2019 03:57:02 +0000 (20:57 -0700)]
Fix copying of framework assemblies excluded from compilation (dotnet/coreclr#27534)

Commit migrated from https://github.com/dotnet/coreclr/commit/73a6c7bf96a5671807006ab11e699ee5eb99693f

4 years agoMove activity tracking helpers for assembly loads out of ActivityTracker
Elinor Fung [Tue, 29 Oct 2019 22:11:50 +0000 (15:11 -0700)]
Move activity tracking helpers for assembly loads out of ActivityTracker

Commit migrated from https://github.com/dotnet/coreclr/commit/139e79c08485866fdf5f6245e49a4f65acc7968f

4 years agoMove runtime specific methods out of the runtime partition
Jan Kotas [Tue, 29 Oct 2019 20:52:38 +0000 (13:52 -0700)]
Move runtime specific methods out of the runtime partition

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/f1ff212f4c2775d48b1a30cc0842ec9b42178ea8

4 years agoAdd file creation method that takes an ACL (dotnet/corefxdotnet/coreclr#42099)
Carlos Sanchez Lopez [Tue, 29 Oct 2019 22:48:49 +0000 (15:48 -0700)]
Add file creation method that takes an ACL (dotnet/corefxdotnet/coreclr#42099)

Approved API Proposal: dotnet/coreclr#41614
Related change for directory creation method that takes an ACL: dotnet/coreclr#41834 -merged and ported to 3.1 Prev2

Description
We have extension methods in System.IO.FileSystem.AclExtensions that let the user get and set ACLs for existing files, but we do not have methods that create files with predefined ACLs.
.NET ACL (Access Control List) support is Windows specific. This change will reside inside the System.IO.FileSystem.AccessControl assembly.

Customer impact
Before this change, customers had to create a file or filestream, then set its ACLs. This presents a few problems:

Potential security hole as files can be accessed between creation and modification.
Porting difficulties as there isn't a 1-1 API replacement
Stability issues with background processes (file filters) can prevent modifying ACLs right after creation (typically surfaces as a security exception).
This change addresses those problems by adding a new extension method that allows creating a file and ensuring the provided ACLs are set during creation.
This change is expected to be backported to 3.1.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/be9323fa75dba520599815b1faa68e19a87a39a9

4 years agoMove PreserveDependencyAttribute to shared (dotnet/corefxdotnet/coreclr#42174)
Stephen Toub [Mon, 28 Oct 2019 17:47:23 +0000 (13:47 -0400)]
Move PreserveDependencyAttribute to shared (dotnet/corefxdotnet/coreclr#42174)

We need to use it in corelib, too.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/549ba51466e56dec67056499706213524bfa6c63

4 years agoFix building portable thread pool on Windows (dotnet/corertdotnet/coreclr#7849)
Filip Navara [Mon, 28 Oct 2019 17:14:44 +0000 (18:14 +0100)]
Fix building portable thread pool on Windows (dotnet/corertdotnet/coreclr#7849)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c058fad9b54ce3061b862c50f2a85304baf3b5ba

4 years agoEnable reuse reg val on ARM32 (dotnet/coreclr#27506)
mikedn [Tue, 29 Oct 2019 22:53:59 +0000 (00:53 +0200)]
Enable reuse reg val on ARM32 (dotnet/coreclr#27506)

Commit migrated from https://github.com/dotnet/coreclr/commit/00e89cf4f9c39ff093fbe9e060bab84cb586fa02

4 years agoRevert removal of SuppressGCTransition from SystemNative_GetTimestamp() (dotnet/corec...
Aaron Robinson [Tue, 29 Oct 2019 22:13:46 +0000 (15:13 -0700)]
Revert removal of SuppressGCTransition from SystemNative_GetTimestamp() (dotnet/coreclr#27473)

* Revert removal of SuppressGCTransition from SystemNative_GetTimestamp()

* Insert GC_POLL before statement with unmanaged call.

* JIT test for insertion of GCPoll

Commit migrated from https://github.com/dotnet/coreclr/commit/77f64aa03e74496c34ca484d6351263fe978757d

4 years agoFix simple general warnings found by PVS. (dotnet/coreclr#27283)
Sergey Andreenko [Tue, 29 Oct 2019 19:01:02 +0000 (19:01 +0000)]
Fix simple general warnings found by PVS. (dotnet/coreclr#27283)

* Delete unused `scAvailable`.

* Delete unused `PhysRegIntervalIterator`.

* Expression is always true.

* Possible overflow.

* Delete unreachable/unused code.

* Two or more case-branches perform the same actions.

* Check self-copying.

* The 'isOnStack' variable is assigned values twice successively.

* The 'then' statement is equivalent to the 'else' statement.

`MAX_COST` is `UCHAR_MAX` so if `unsigned char cost >= MAX_COST` then it is equal to ``MAX_COST`.
So the code was correct, but confusing.

* Expression 'newPage == nullptr' is always true.

* Expression 'inconsistentProfileData' is always false.

* A part of conditional expression is always false: typ == TYP_BOOL.

* A part of conditional expression is always true: emitFullGCinfo.

We have an early return from this function if `emitFullGCinfo == false`.

* A part of conditional expression is always true: asgNode.

We have an early return if it is nullptr.

* delete an unused function with errors.

There were 3 incorrent printf arguments.

* Delete another unused function without return.

* An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression,

* The expression is of enum type. It is odd that it is used as an expression of a Boolean-type.

* the usage of '#pragma warning(default: X)' is incorrect in this context. The '#pragma warning(push/pop)' should be used instead.

That function and almost the whole file is unused, do we want to delete it?

* The expression 'eeGetHelperNum(method)' is of enum type. It is odd that it is used as an expression of a Boolean-type.

* `nodeThis` and `nodeOther` are always true.

* 'this == nullptr' expression should be avoided - this expression is always false on newer compilers, because 'this' pointer can never be NULL.

Don't compare `this` with null.

* Variables 'm_Cost', 'm_Size' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'Expr()->GetCostSz()' expression.

* Parameter 'toRefPosition' is not used inside function body.

* Expression 'parentOfArgObj == parentArgx' is always true.

We assigned `parentOfArgObj ` to `parentArgx` and did not change any of them before that check.

* The 'srcCount' variable is assigned values twice successively. Perhaps this is a mistake.

* Response review.

Commit migrated from https://github.com/dotnet/coreclr/commit/80867d1b5753ea5625b63aecccab1084c84e62af

4 years agoAdd osGroup parameter to perf call (dotnet/coreclr#27444)
Drew Scoggins [Tue, 29 Oct 2019 18:34:39 +0000 (11:34 -0700)]
Add osGroup parameter to perf call (dotnet/coreclr#27444)

* Add osGroup parameter to perf call

* Change parameters to match queue schema

* Remove space

Commit migrated from https://github.com/dotnet/coreclr/commit/9cae8fab0b75539e497c4931bbd2758306abcf85

4 years agoDelete null comparisons of non-null arguments (dotnet/coreclr#27523)
Adeel Mujahid [Tue, 29 Oct 2019 16:58:17 +0000 (18:58 +0200)]
Delete null comparisons of non-null arguments (dotnet/coreclr#27523)

Remove gcc nonnull-compare suppression and impossible conditions.

> error: nonnull argument 'this' compared to NULL
> [-Werror=nonnull-compare]

Commit migrated from https://github.com/dotnet/coreclr/commit/4afbe3a43814803bcdc1cefb1e2f2792257cf02f

4 years agoReduce frequency of GC long running tests to twice a week. Make Gc simulator tests...
Vladimir Sadov [Tue, 29 Oct 2019 16:55:27 +0000 (09:55 -0700)]
Reduce frequency of GC long running tests to twice a week. Make Gc simulator tests run nightly, for now. (dotnet/coreclr#27521)

Commit migrated from https://github.com/dotnet/coreclr/commit/564dcc0525e623578c91e6d0fbe28c9af9e426b4

4 years agoFix resolving IBCMerge's path in build.cmd (dotnet/coreclr#27513)
Jeremy Koritzinsky [Tue, 29 Oct 2019 16:20:33 +0000 (09:20 -0700)]
Fix resolving IBCMerge's path in build.cmd (dotnet/coreclr#27513)

* Resolve IBCMerge's path via NuGetPackageRoot since we never actually restore ibcmerge.csproj directly.

* Additional fixes to get IBCMerge working again.

* Update src/.nuget/optdata/ibcmerge.csproj

Co-Authored-By: Elinor Fung <47805090+elinor-fung@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/ff7c12cc6c208176b76e62c793c3754fe8cac9ed

4 years agoImplement stack probing using helpers on win-arm and linux-arm (dotnet/coreclr#27184)
Egor Chesakov [Tue, 29 Oct 2019 02:02:12 +0000 (19:02 -0700)]
Implement stack probing using helpers on win-arm and linux-arm (dotnet/coreclr#27184)

Commit migrated from https://github.com/dotnet/coreclr/commit/eae780cfa390ba1ea26f575a7082b961ea473864

4 years agoSupport large EventSource filter args (dotnet/coreclr#27500)
Noah Falk [Tue, 29 Oct 2019 00:59:52 +0000 (17:59 -0700)]
Support large EventSource filter args (dotnet/coreclr#27500)

1. Fix NullReferenceException. When the filter args exceeded the
hard-coded size limit GetDataFromController would return data = null.
The code previously asserted that data was not null and triggered NRE
when it was. The fix correctly null checks the value instead of
asserting and uses an empty args dictionary in this case, the same as if
filter args had been empty to begin with.

2. ETW has always limited filter args to 1024 bytes but EventPipe has no
such restriction. When using DiagnosticSourceEventSource it can be
useful to specify a larger filter arg blob. I can't do anything about
ETW's restriction but there is no need for the runtime to force
EventPipe to be equally limited. The larger size also reduces the chance
that we need to hit the fallback path above causing filter args to be
ignored.

Commit migrated from https://github.com/dotnet/coreclr/commit/857797d9ba9be6f82b83ae6c29b51d490d41cf87

4 years agoAdd a destructor for MethodCallSummarizer (dotnet/coreclr#24088)
Omair Majid [Tue, 29 Oct 2019 00:13:11 +0000 (20:13 -0400)]
Add a destructor for MethodCallSummarizer (dotnet/coreclr#24088)

The destructor cleans up resources allocated by MethodCallSummarizer
during its normal lifetime.

Commit migrated from https://github.com/dotnet/coreclr/commit/caaed1b78c3c20dc17e39e2986712264149ae923

4 years agoMove required _Unwind_* definitions to src/vm/exceptionhandling.cpp; Remove src/pal...
Ilia [Mon, 28 Oct 2019 23:20:47 +0000 (02:20 +0300)]
Move required _Unwind_* definitions to src/vm/exceptionhandling.cpp; Remove src/pal/inc/pal_unwind.h (dotnet/coreclr#27509)

Fixes dotnet/coreclr#27503

Commit migrated from https://github.com/dotnet/coreclr/commit/2773be53ea7e8e1b9297b167c697ccd22f4cfb42

4 years agoFix GCStress C issue with the fix to VS2019 optimization (dotnet/coreclr#27507)
Jan Vorlicek [Mon, 28 Oct 2019 23:13:18 +0000 (16:13 -0700)]
Fix GCStress C issue with the fix to VS2019 optimization (dotnet/coreclr#27507)

* Fix GCStress C issue with the fix to VS2019 optimization

There is a place in the runtime that we hit during GCStress C and that
was creating uninitialized GCFrame and initializing it only
conditionally. In the GCFrame destructor, we always try to pop the
GCFrame out of the per-thread linked list and this was breaking it.

The fix is to always initialize the GCFrame. In the problematic place,
it was not being initialized / pushed on the linked list when number of
GC slots it was to protect was 0. But the logic in GCFrame works just
fine even in that case, so I've made the initialization over there
unconditional.

I've also made a couple of methods in the GCFrame private as they are
never supposed to be called from the outside, removed the default
GCFrame constructor so that noone can create uninitialized GCFrame
anymore and also removed placement new from GCFrame that doesn't seem to
have any purpose.

* Reflect more feedback

* Folded the Pop and Push functions into their callers
* Folded the Initialize to the constructor

Commit migrated from https://github.com/dotnet/coreclr/commit/eb5d634dc11f7cc4b07bf0d089246feedb28af84

4 years agoCoreCLR pipeline optimizations (dotnet/coreclr#27059)
Tomáš Rylek [Mon, 28 Oct 2019 22:07:42 +0000 (15:07 -0700)]
CoreCLR pipeline optimizations (dotnet/coreclr#27059)

Today, R2R compilation of test MSIL using Crossgen happens during
test execution in Helix. This means that the managed artifacts for a
given OS / architecture / config combo are identical for a R2R /
non-R2R job. Additionally, we need very few artifacts for running
the CoreFX tests. In practice it turns out we only need to build the
test host. We can exploit these facts to further reduce the number
of test build jobs in CoreCLR pipelines.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/446c6fe0bfae263bee0c3ace46a5b9a74015e4d1

4 years agoCleanup (dotnet/coreclr#27502)
Jan Kotas [Mon, 28 Oct 2019 18:00:04 +0000 (11:00 -0700)]
Cleanup (dotnet/coreclr#27502)

* Delete empty FireCustomerDebugProbe FCall

* Delete duplicate C++ compiler command line options

Commit migrated from https://github.com/dotnet/coreclr/commit/8460516ceb23458f7a279bb73aa6176e17e8a90d

4 years agoPreparatory changes for EH WriteThru (dotnet/coreclr#26863)
Carol Eidt [Mon, 28 Oct 2019 16:00:07 +0000 (09:00 -0700)]
Preparatory changes for EH WriteThru (dotnet/coreclr#26863)

* Preparatory changes for EH WriteThru

- Add a method on BasicBlock to determine EH flow in or out

Commit migrated from https://github.com/dotnet/coreclr/commit/50750540fa45e44ccc3847fbf5ec9afa4bc6d552

4 years agoSwitch Crossgen2 over to the new command-line parser (dotnet/coreclr#27489)
Tomáš Rylek [Mon, 28 Oct 2019 15:11:49 +0000 (08:11 -0700)]
Switch Crossgen2 over to the new command-line parser (dotnet/coreclr#27489)

With this change, Crossgen2 passes basic validation. If possible,
I would love to be able to merge this in ASAP as it's of paramount
importance for our repo consolidation efforts. I'll be happy to
follow up cleaning this change as necessary.

1) Update to a newer version of the System.CommandLine.Experimental
package enabling more general binding syntax needed for unambiguous
binding of multi-value arguments vs. options.

2) Explicitly specify arity for multi-value options as for whatever
reason the default maximum is 255 (lower than the number of reference
assemblies in Core_Root, for instance).

3) Reference paths cannot be bound to FileInfo[] as their syntax
supports wildcards.

Thanks

Tomas

Commit migrated from https://github.com/dotnet/coreclr/commit/627fb420a81ba83b711ca1b6c9db2eb8c4660e42

4 years agoCast SIMD size value to unsigned explicitly (dotnet/coreclr#27487)
Adeel Mujahid [Mon, 28 Oct 2019 13:40:24 +0000 (15:40 +0200)]
Cast SIMD size value to unsigned explicitly (dotnet/coreclr#27487)

Commit migrated from https://github.com/dotnet/coreclr/commit/65d1d6cca2595cd05b80ab20e36b64dee869fd86

4 years agoStreamline default ctor path in reflection on custom attributes (dotnet/coreclr#27451)
Jan Kotas [Mon, 28 Oct 2019 12:08:15 +0000 (05:08 -0700)]
Streamline default ctor path in reflection on custom attributes (dotnet/coreclr#27451)

Saves some allocations and removes a few FCalls/QCalls

Commit migrated from https://github.com/dotnet/coreclr/commit/0a62070eb35da65eef13cac66a66e302bf44e563

4 years agoPut `GCSimulatorTest` tests into a separate pipeline. (dotnet/coreclr#27192)
Vladimir Sadov [Mon, 28 Oct 2019 06:07:48 +0000 (23:07 -0700)]
Put `GCSimulatorTest` tests into a separate pipeline. (dotnet/coreclr#27192)

* GcSimulator pipeline and tests

* Disable GC-sim tests on Linux x64 for now until OOMs are resolved.

Commit migrated from https://github.com/dotnet/coreclr/commit/a4da38a23e25ad93c9cfa1c676cc5c3f720755c0

4 years agoLog path in a particular BIFE (dotnet/coreclr#27469)
Dan Moseley [Mon, 28 Oct 2019 03:26:10 +0000 (20:26 -0700)]
Log path in a particular BIFE (dotnet/coreclr#27469)

Commit migrated from https://github.com/dotnet/coreclr/commit/68e07f1fd68aa1aa568c6de571c44a388d3710bd

4 years agoBasic infrastructure for binder tracing (dotnet/coreclr#27383)
Elinor Fung [Mon, 28 Oct 2019 02:22:53 +0000 (19:22 -0700)]
Basic infrastructure for binder tracing (dotnet/coreclr#27383)

Commit migrated from https://github.com/dotnet/coreclr/commit/f55bc3a97fc0dc0d17e1c05495c0f6e2d494af73

4 years agoUse named nested anonymous types (dotnet/coreclr#27485)
Adeel Mujahid [Sun, 27 Oct 2019 22:50:03 +0000 (00:50 +0200)]
Use named nested anonymous types (dotnet/coreclr#27485)

Commit migrated from https://github.com/dotnet/coreclr/commit/b46c8577cca18f42ff43783f1cdb27f4866cb73a