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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jan Vorlicek [Sun, 27 Oct 2019 21:50:56 +0000 (14:50 -0700)]
Fix GCRefMap generation in crossgen2 (dotnet/coreclr#27484)
There was a bug in the index table - it was pointing to the last
GCRefMap in the previous stride instead of the first one in the new
stride.
I've modified R2RDump too to use the index table when loading GCRefMaps.
While it was not incorrect, the fact that it was not using the index
table has hidden this issue. Now it uses the same algorithm as the
runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f7f0e54713a6a7fcf3d2bdc7a15caa58eaec5f6
Jan Kotas [Sun, 27 Oct 2019 20:57:01 +0000 (13:57 -0700)]
Avoid __declspec(uuid(x)) for better portability (dotnet/coreclr#27482)
Commit migrated from https://github.com/dotnet/coreclr/commit/
822cdffb88b6acbeae7d3ee1fb3fe28d90b2ba92
Stephen Toub [Sun, 27 Oct 2019 20:48:18 +0000 (16:48 -0400)]
Fix StreamReader to pass cancellation token into ReadBufferAsync (dotnet/coreclr#27464)
ReadAsyncInternal is correctly passing its token into the two call sites where it delegates directly to the underlying stream, but in one place it calls through ReadBufferAsync, which is currently not defined to take a token. Fix that, and pass the token through.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d0be1504e1dd5e2b8064b6a87cdf1023c7d4afa
Dan Moseley [Sun, 27 Oct 2019 19:11:21 +0000 (12:11 -0700)]
Remove empty lines caused by empty fusion log string (dotnet/coreclr#27471)
* Remove empty lines caused by empty fusion log string
* Remove fusion log more
Commit migrated from https://github.com/dotnet/coreclr/commit/
7cdde63900a258a26a758f13107766e60e84596a
Jan Kotas [Sun, 27 Oct 2019 12:31:10 +0000 (05:31 -0700)]
Delete unnecessary abstraction from stubbed out SecurityElement (dotnet/coreclr#27474)
The stubbed out SecurityElement implementation does not support extensibility that ISecurityElementFactory was designed for.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b64c20169d2f91130351ba30971be75fb623f58a
Jan Kotas [Sun, 27 Oct 2019 12:30:55 +0000 (05:30 -0700)]
Cleanup unused internal COM interfaces (dotnet/coreclr#27477)
Regenerated prebuilt *.idl/*_i.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
34c5c62de536617f05107634711e5dacd68413be
Vitek Karas [Sun, 27 Oct 2019 06:53:49 +0000 (23:53 -0700)]
Remove internal binder flags (dotnet/coreclr#27476)
Removed flags:
* Dynamic bind flags were only used for one assert - which is obviously always true (otherwise it would fail)
* Ignore dynamic bind flag was never used.
* Bind cache failures flags was on the other hand always used - so hardcode it directly
* Change the other flags to simple booleans as it makes the code easier to read (and there are now only 2 such flags). Also renamed:
* cache rerun -> skip failure caching
* ignore ref/def match -> skip version compatibility check
Minor additional cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c5a46c27f2120528b13e7db78521134531e5edc
Tanner Gooding [Sun, 27 Oct 2019 06:48:05 +0000 (23:48 -0700)]
Removing IsSIMDVectorAssembly and obsoleting isInSIMDModule (dotnet/coreclr#27467)
* Removing IsSIMDVectorAssembly from the VM layer
* Removing SimdHelper from crossgen2
* Obsoleting isInSIMDModule in the VM layer
* Renaming isInSIMDModule to isIntrinsicType
* Implementing isIntrinsicType for the JIT/EE interface
* Update JITEEVersionIdentifier
* Update crossgen2 JITEEVersionIdentifier
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca6c03eed7d38819b8b093b7ee6098a4c69cd6c8
Vitek Karas [Sun, 27 Oct 2019 06:46:40 +0000 (23:46 -0700)]
Binder utils cleanup (dotnet/coreclr#27475)
* Binder utils cleanup
* Binder startup cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
e4c043dff38e38f15b1f8e4aa32f8919a18166bd
Dan Moseley [Sun, 27 Oct 2019 05:47:15 +0000 (22:47 -0700)]
Add path to not-absolute-path exception (dotnet/coreclr#27470)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a24657e1f44a21782feec10b048d193f29052fa
Jan Vorlicek [Sat, 26 Oct 2019 22:47:06 +0000 (15:47 -0700)]
Fix vs2019 optimization issue take 2 (dotnet/coreclr#27452)
* Revert "Fix the problem with the VS2019 fix on x86 (dotnet/coreclr#26957)"
This reverts commit dotnet/coreclr@
4081d86f221e6694f0dfd13b99e0d5b1045d2e89.
* Revert "Fix issue with locals overlapping out of scope GCFrame (dotnet/coreclr#26763)"
This reverts commit dotnet/coreclr@
6059e75e13593b0820e178f8baaace32c09aca6e.
* Fix VS2019 optimization issue take 2
* Stop using FrameWithCookie for GCFrame
* Removed call to SetHasPromotedBytes, the function, the field on
thread and its getter / setter as it is not used for anything.
* Updated ifdefs on GetGCFrame and GetFrame
Commit migrated from https://github.com/dotnet/coreclr/commit/
d815d217f1930c4443834db41f172474953ede9b
dotnet-maestro[bot] [Sat, 26 Oct 2019 20:48:50 +0000 (13:48 -0700)]
[master] Update dependencies from dotnet/corefx (dotnet/coreclr#27431)
* Update dependencies from https://github.com/dotnet/corefx build
20191024.13
- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19524.13
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19524.13
* Update dependencies from https://github.com/dotnet/corefx build
20191024.14
- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19524.14
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19524.14
* Update dependencies from https://github.com/dotnet/corefx build
20191025.6
- Microsoft.NETCore.Platforms - 5.0.0-alpha.1.19525.6
- Microsoft.Private.CoreFx.NETCoreApp - 5.0.0-alpha.1.19525.6
* Workaround https://github.com/dotnet/coreclr/issues/27465
Commit migrated from https://github.com/dotnet/coreclr/commit/
cfdec444348ab26e151c33cd3aa79a8a3cff36b0
Sinan Kaya [Sat, 26 Oct 2019 16:34:16 +0000 (12:34 -0400)]
Can't declare variable and also have extern c (dotnet/coreclr#27457)
* Can't declare variable and also have extern c
* Remove extern c from variable declartion
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b832e6eee9c1e93e2bfa4422d9c91a0f6da9452
Jan Vorlicek [Sat, 26 Oct 2019 15:18:52 +0000 (08:18 -0700)]
Enable building with clang 9 (dotnet/coreclr#27415)
* Enable building with clang 9
Update the docker images that we use for building.
* Add missing clang9 option to build.sh / build-test.sh
* Fix clang version matching and MUSL build
* Prevent Clang 9 from optimizing out s_gsCookie write
Commit migrated from https://github.com/dotnet/coreclr/commit/
33905fb9a95f955d3554120d19632d81e8c885f6
Yoh Deadfall [Sat, 26 Oct 2019 14:56:52 +0000 (17:56 +0300)]
Removed unused strings from resources (dotnet/coreclr#27304)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f2791fd0555e5d13ead6484736216e952efc20e
pi1024e [Sat, 26 Oct 2019 14:56:03 +0000 (10:56 -0400)]
Removing unneeded function calls and empty bodies (dotnet/coreclr#27420)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a60a6e7e8622adfb1848a7af7d42207f29ec3c4
Ben Adams [Sat, 26 Oct 2019 13:57:12 +0000 (14:57 +0100)]
Avoid mod operator when fast alternative available (dotnet/coreclr#27299)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e532bf642a3a381d53ff52c234f29deb7d11e7a0
Sinan Kaya [Sat, 26 Oct 2019 11:49:45 +0000 (07:49 -0400)]
Remove extra qualifier (dotnet/coreclr#27455)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2f10df4c15f1d78e7bced554b6797bfaa42fda9
Sinan Kaya [Sat, 26 Oct 2019 11:43:43 +0000 (07:43 -0400)]
Cleanup SELECTANY (dotnet/coreclr#27459)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e113634633a077eef77e85af9557d77f1b08750
Stephen Toub [Sat, 26 Oct 2019 00:57:13 +0000 (20:57 -0400)]
Avoid unnecessary allocations in Exception.ToString
Commit migrated from https://github.com/dotnet/coreclr/commit/
373a7b2ea2b6067a6a12775dd54a9e20dd0190d1
Stephen Toub [Sat, 26 Oct 2019 00:44:13 +0000 (20:44 -0400)]
Use ValueStringBuilder instead of StringBuidler{Cache} in multiple places
Commit migrated from https://github.com/dotnet/coreclr/commit/
29694529dcae65e75e7917126c56e88fc4596332