Carl Verret [Tue, 8 Feb 2022 19:33:46 +0000 (14:33 -0500)]
Including FastFloat in parsing process (#62301)
* Including FastFloat in parsing process
* PR step 1 - adjusting code in regards to received comments.
* DigitsToUInt64 : Parsing batches of 8 digits with SWAR
* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs
Co-authored-by: Günther Foidl <gue@korporal.at>
* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs
Co-authored-by: Günther Foidl <gue@korporal.at>
* MaxMantissaFastPath fix
* merge problem...
* Revert "merge problem..."
This reverts commit
1b5fd5136a5396c6439ffd47ef46d0c8b3134693.
* removing an extra comparison for fast path.
* According to PR review, all requested changes are in this commit.
* According to new serie of comments on this PR.
* Fixing formatting.
* fixing sentence ending in comments
* Update THIRD-PARTY-NOTICES.TXT
Adding license notice for FastFloat algorithm
* Update src/libraries/System.Private.CoreLib/src/System/Number.NumberToFloatingPointBits.cs
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
* Identation of power of 5 table
* some adjustements according to reviewer's requests.
* Unnecessary assignment of a value to 'exponent'
* removing excedent path for total digits < 7
* removing path for totaldigits <7
* getting rid of unused power of 10 table
* Renaming FastFloat specific values
Specifying infinitePower param as hexa
* renaming some variables and adjusting comments.
* Handle endianness swapping for BigEndian systems.
Co-authored-by: Günther Foidl <gue@korporal.at>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Kevin Jones [Tue, 8 Feb 2022 19:11:34 +0000 (14:11 -0500)]
Test and comment one-shot CFB8 with extra padding
The CFB one shot decryption handled up to block-size padding intentionally. This adds a test and a comment to explain why.
Andy Ayers [Tue, 8 Feb 2022 19:05:09 +0000 (11:05 -0800)]
JIT: more stringent interference checks in forward sub (#64933)
Forward sub analysis was missing some cases of call arg interference and so
inviting/allowing morph to do unsafe arg reorderings.
Fix by considering all kinds of local nodes, not just GT_LCL_VAR, as sources
of interference.
Closes #64904.
Jakob Botsch Nielsen [Tue, 8 Feb 2022 17:20:12 +0000 (18:20 +0100)]
Add JIT support for control-flow guard on x64 and arm64 (#63763)
Add support for generating control-flow guard checks. The support is enabled by a JIT flag or by setting COMPlus_JitForceControlFlowGuard=1.
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Andy Ayers [Tue, 8 Feb 2022 15:59:59 +0000 (07:59 -0800)]
JIT: fix containment safety check in LowerHWIntrinsicGetElement (#64960)
Missing call to IsSafeToContainMem was causing us to mistakenly think
an operand was going to be contained when it wasn't.
Fixes #64918
Andy Ayers [Tue, 8 Feb 2022 15:57:30 +0000 (07:57 -0800)]
JIT: fix morph's tree rethreading/recosting logic (#64954)
Morph might sometimes not rethread/recost changed trees, leading to asserts
downstream as ordered traversals ran across deleted operands.
Fixes #64892
SingleAccretion [Tue, 8 Feb 2022 15:30:28 +0000 (18:30 +0300)]
Take into account zero-offset field sequences when propagating locals (#64701)
* Add a test
* Fix the problem
LCL_VAR use VN != VN of its SSA def.
Using one for replacement can run afoul of substituting
into a LCL_VAR that has a zero-offset field sequence on
top and thus duplicate the sequence (as the replacement
def will already have this sequence incorporated into its
VN).
* Fix the same problem in local propagation
Just one diff, missing null check elimination: we propagated a field
sequence for an array address (PtrToArrElem) that later wasn't recognized
as implying non-nullness of another PtrToArrElem to the same array.
Jan Kotas [Tue, 8 Feb 2022 15:28:17 +0000 (07:28 -0800)]
Delete StructLayoutAttribute.Pack adjustment (#64965)
This adjustment was trying to minic adjustment performed by type loader, but the logic has been out-of-sync with the type loader evolution for years.
It does not make sense for custom attribute reading via reflection to perform this adjustment.
Fixes #12480
Ulrich Weigand [Tue, 8 Feb 2022 15:16:32 +0000 (16:16 +0100)]
[mono] Fix is_byreflike_set on big-endian platforms (#64903)
* Use int / gint32 types to avoid C# vs. native type mismatches
* Fixes s390x regression after https://github.com/dotnet/runtime/pull/63985
Adam Sitnik [Tue, 8 Feb 2022 09:17:51 +0000 (10:17 +0100)]
Reduce the cost of creating a MemoryMappedFile (#63790)
* don't fetch the file size more than once when creating a MemoryMappedFile
* use SafeFileHandle instead FileStream
* ensure the handle is disposed when fetching the file size fails
Adam Sitnik [Tue, 8 Feb 2022 09:10:40 +0000 (10:10 +0100)]
Improve Directory.Move and DirectoryInfo.MoveTo (#63675)
* fix the tests: call the virtual Move method, which is overridden in DirectoryInfo_MoveTo class and allows for testing DirectoryInfo.MoveTo as well
* unify the Directory.Move and DirectoryInfo.MoveTo logic, move the common part to FileSystem.MoveDirectory
* remove duplicated check
* there is no need to perform the extra checks on Windows
* check for source file existence only once
* on WASM rename does not fail with ENOTDIR for files that end with /
so we need to handle it before rename is called
Peter Sollich [Tue, 8 Feb 2022 09:07:51 +0000 (10:07 +0100)]
Fix card marking issue (#64748)
Fix issue where we didn't clear cards at the ends of regions.
The problem is that when we reach the end of a region during card marking, we clear the cards between card and card_of (end). If card_of (end) is equal to card, we end up clearing nothing at all.
A similar problem occurs when cards happen to be set between end and the end of the reserved memory of the region - these cards would never be cleared.
Both issues don't affect correctness, but they do affect performance for regions with very few cross generation pointers.
Note this change affects only regions - for segments, we stay with code that is equivalent to what we had before.
Johan Lorensson [Tue, 8 Feb 2022 08:42:59 +0000 (09:42 +0100)]
[Mono] Fix potential crash when handling image load event. (#64908)
Michal Strehovský [Tue, 8 Feb 2022 07:39:55 +0000 (16:39 +0900)]
Add user-facing docs and samples for NativeAOT (#64894)
As of https://github.com/dotnet/runtimelab/commit/
04b092003db5ba207d4fa3f3becb7f01828bf16c.
Alexander Köplinger [Tue, 8 Feb 2022 05:50:06 +0000 (06:50 +0100)]
Fix runtime tests on Android (#64950)
In https://github.com/dotnet/runtime/pull/64744 I changed the name of the env variable used to store the test results directoy but I didn't notice that the runtime tests don't use the same runner.
Fixes https://github.com/dotnet/runtime/issues/64920
Tomas Weinfurt [Tue, 8 Feb 2022 04:49:55 +0000 (20:49 -0800)]
Improve SSL platform detection (#64923)
* CI matrix change: add Windows Server 2022
* Add registry check for ssl3 - tls1.2 tests
* Disable TLS1.3 on framework code
* Fix typo
* revert queue change
Co-authored-by: Jan Jahoda <jajahoda@microsoft.com>
Egor Chesakov [Tue, 8 Feb 2022 04:37:37 +0000 (20:37 -0800)]
Local heap optimizations on Arm64 (#64481)
# Local heap optimizations on Arm64
1. When not required to zero the allocated space for local heap (for sizes up to 64 bytes) - do not emit zeroing sequence. Instead do stack probing and adjust stack pointer:
```diff
- stp xzr, xzr, [sp,#-16]!
- stp xzr, xzr, [sp,#-16]!
- stp xzr, xzr, [sp,#-16]!
- stp xzr, xzr, [sp,#-16]!
+ ldr wzr, [sp],#-64
```
2. For sizes less than one `PAGE_SIZE` use `ldr wzr, [sp], #-amount` that does probing at `[sp]` and allocates the space at the same time. This saves one instruction for such local heap allocations:
```diff
- ldr wzr, [sp]
- sub sp, sp, #208
+ ldr wzr, [sp],#-208
```
Use `ldp tmpReg, xzr, [sp], #-amount` when the offset not encodable by post-index variant of `ldr`:
```diff
- ldr wzr, [sp]
- sub sp, sp, #512
+ ldp x0, xzr, [sp],#-512
```
3. Allow non-loop zeroing (i.e. unrolled sequence) for sizes up to 128 bytes (i.e. up to `LCLHEAP_UNROLL_LIMIT`). This frees up two internal integer registers for such cases:
```diff
- mov w11, #128
- ;; bbWeight=0.50 PerfScore 0.25
-G_M44913_IG19: ; gcrefRegs=00F9 {x0 x3 x4 x5 x6 x7}, byrefRegs=0000 {}, byref, isz
stp xzr, xzr, [sp,#-16]!
- subs x11, x11, #16
- bne G_M44913_IG19
+ stp xzr, xzr, [sp,#-112]!
+ stp xzr, xzr, [sp,#16]
+ stp xzr, xzr, [sp,#32]
+ stp xzr, xzr, [sp,#48]
+ stp xzr, xzr, [sp,#64]
+ stp xzr, xzr, [sp,#80]
+ stp xzr, xzr, [sp,#96]
```
4. Do zeroing in ascending order of the effective address:
```diff
- mov w7, #96
-G_M49279_IG13:
stp xzr, xzr, [sp,#-16]!
- subs x7, x7, #16
- bne G_M49279_IG13
+ stp xzr, xzr, [sp,#-80]!
+ stp xzr, xzr, [sp,#16]
+ stp xzr, xzr, [sp,#32]
+ stp xzr, xzr, [sp,#48]
+ stp xzr, xzr, [sp,#64]
```
In the example, the zeroing is done at `[initialSp-16], [initialSp-96], [initialSp-80], [initialSp-64], [initialSp-48], [initialSp-32]` addresses. The idea here is to allow a CPU to detect the sequential `memset` to `0` pattern and switch into write streaming mode.
Michal Strehovský [Tue, 8 Feb 2022 04:33:47 +0000 (13:33 +0900)]
NativeAOT ARM64 libraries testing (#64373)
Enable ARM64 libraries testing for NativeAOT.
* Copy the crosstargeting build approach from crossgen2. We'll now build two ILC compilers when targeting ARM64 from x64: an arm64-hosted one that is useless on the build machine, and a x64-hosted one, that will work on the build machine. The `ILCompiler.csproj/props/_crossarch.csproj` projects mirror crossgen's approach.
* Limit the number of libraries tests to one. Hopefully it avoids the build races that we'd see until we can update the repo build to .NET 7 Preview 1.
* Create an ARM64 NativeAOT CI leg that sends the libraries tests to Helix to run.
Stephen Toub [Tue, 8 Feb 2022 04:02:40 +0000 (23:02 -0500)]
Fix SymbolixRegexRunner handling of "beginning" (#64946)
The Runner's Go implementation is loading the `runtext` but ignoring `runtextbeg`. If a non-0 beginning were passed in, the matcher could end up evaluating beginning anchors incorrectly, as it always considers beginning == 0. This fixes that by slicing the input to ensure the matcher is always called with a span representing the full beginning-end length, such that it's beginning==0 assumption is true.
dotnet-maestro[bot] [Tue, 8 Feb 2022 00:37:33 +0000 (01:37 +0100)]
[main] Update dependencies from dotnet/linker (#64848)
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Stephen Toub [Tue, 8 Feb 2022 00:16:20 +0000 (19:16 -0500)]
Remove spin lock from SocketAsyncEventArgs on Windows (#64770)
* Remove spin lock from SocketAsyncEventArgs on Windows
The Windows implementation of SocketAsyncEventArgs has a spin lock to help coordinate between the thread initiating the Winsock operation and the eventual overlapped completion callback. There are some operations we delay (e.g. registering for cancellation) until after the operation has already been initiated and shown to complete asynchronously rather than synchronously, and as these are being set up after the Winsock call to perform the socket operation, it's possible for the overlapped completion to happen before or while we do that additional cleanup. This condition was expected to be rare, and a spin lock is used to ensure that if the race condition does occur, the callback waits for the state set up to be complete before continuing.
However, it turns out for certain operations it's actually not that rare. In particular, it appears that accepts when there's already a pending connection end up frequently completing asynchronously but immediately, which causes this race condition to manifest, and we've seen the spin lock spin so many times that it falls back to an actual sleep that causes unexpected delays.
We can instead just maintain a simple gate that describes whether the launching thread or the callback thread own completion. The launcher sets up all the state and then tries to transition to set the gate. Similarly, the first thing the callback does is set the gate (to a packed result in case the launcher needs it). Whoever gets there second is responsible for handling completion. If the launching thread is the one that gets there second, it essentially turns the asynchronous operation into a synchronous one, from the perspective of the caller, just as if the operation had completed synchronously.
* Avoid an Interlocked.Exchange in the common case
Reuben Bond [Mon, 7 Feb 2022 23:52:20 +0000 (15:52 -0800)]
Increase default HostOptions.ShutdownTimeout to 30 seconds (#63712)
Pavel Ivanov [Mon, 7 Feb 2022 23:50:12 +0000 (04:50 +0500)]
Preserve existing keys in dictionary (#63834)
* Binding to dictionary doesn't preserve existing keys of origin dictionary
* Attempt to bind existing instance if it is not null
* Remove redundant if-else statement
* Add test for binding to dictionary with enum as key type
* Don't use var unless it is obvious from the right hand side
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
* Explicitly ignore result
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Maksym Koshovyi [Mon, 7 Feb 2022 23:47:05 +0000 (01:47 +0200)]
[Group 2] Enable nullable annotations for `Microsoft.Extensions.Caching.Abstractions` (#64018)
* Annotate things
* EvictionCallback is nullable
David Cantú [Mon, 7 Feb 2022 23:21:03 +0000 (15:21 -0800)]
Add S.S.C.Cose with COSE Sign1 support (#64461)
* Add S.S.C.Cose
* Override Equals in CoseHeaderLabel
* Add SystemFormatsCborVersion to eng/Versions.props
* Address PR feedback
* Remove commented Debugger.Launch from test
* Src:
* Support signing with empty header maps
* Add HashAlgorithmName argument to the granular APIs
Tests:
* Make crypto keys ThreadStatic to avoid race conditions
* Exclude CoseMessage and CoseSign1Message from browser
* Define DefaultKey and DefaultHash to simplify tests
* Overall clean-up
* Use explicit type instead of var
* Tests: Add logic to verify expected headers
* Do not mutate the protectected map when alg header was not specified
* src: Address suggestions
* tests:
* Fix ThreadStatic properties
* Switch from SkipOnPlatformAttribute to IgnoreForCI in csproj
* src: Address style suggestions
* Use ProjectRef instead of PackageRef
* RequiresPreviewFeaturesAttribute must be internal in non-netcoreapp
* Address feedback on CoseHeaderLabel
* src: use RequiresPreviewFeatures as assembly level attribute
tests: add test project to exclusion list of local browser runs
Stephen Toub [Mon, 7 Feb 2022 22:37:51 +0000 (17:37 -0500)]
Streamline bool.TryParse/Format (#64782)
* Streamline bool.TryParse/Format
* Factor out the failure path and add length checks
Jan Kotas [Mon, 7 Feb 2022 22:28:19 +0000 (14:28 -0800)]
Delete unnecessary entries from ApiCompatBaseline.netcoreapp.netstandard.txt (#64928)
dotnet-maestro[bot] [Mon, 7 Feb 2022 22:03:05 +0000 (23:03 +0100)]
[main] Update dependencies from 8 repositories (#64806)
* Update dependencies from https://github.com/dotnet/arcade build
20220203.1
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.22080.1 -> To Version 2.5.1-beta.22103.1
* Update dependencies from https://github.com/dotnet/xharness build
20220204.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.22101.2 -> To Version 1.0.0-prerelease.22104.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20220203.2
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
From Version 7.0.0-beta.22075.1 -> To Version 7.0.0-beta.22103.2
* Update dependencies from https://github.com/dotnet/emsdk build
20220203.4
Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
From Version 7.0.0-alpha.2.22102.3 -> To Version 7.0.0-alpha.2.22103.4
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20220203.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.22081.2 -> To Version 1.0.2-alpha.0.22103.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20220203.3
runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 11.1.0-alpha.1.22081.2 -> To Version 11.1.0-alpha.1.22103.3
* Update dependencies from https://github.com/dotnet/icu build
20220203.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 7.0.0-preview.2.22101.1 -> To Version 7.0.0-preview.2.22103.1
* Update dependencies from https://github.com/dotnet/emsdk build
20220204.1
Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
From Version 7.0.0-alpha.2.22102.3 -> To Version 7.0.0-alpha.2.22104.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20220204.2
runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter
From Version 1.0.0-alpha.1.22073.1 -> To Version 1.0.0-alpha.1.22104.2
* Update dependencies from https://github.com/dotnet/runtime build
20220203.2
Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.App.Runtime.win-x64 , System.Runtime.CompilerServices.Unsafe , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Text.Json
From Version 7.0.0-preview.2.22080.2 -> To Version 7.0.0-preview.2.22103.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Přemek Vysoký <premek.vysoky@microsoft.com>
Tom Deseyn [Mon, 7 Feb 2022 21:31:23 +0000 (22:31 +0100)]
Console.Unix: fix missing terminal configuration on SIGINT/SIGQUIT/SIGCONT. (#64200)
The introduction of the managed API for signal handling (PosixSignal)
inadvertently caused terminal configuration to no longer be performed
when no managed handlers are registered.
This adds back the unconditional registration for SIGINT/SIGQUIT/SIGCONT.
The missing registrations can cause the terminal to stop echoing when an
application terminates on Ctrl-C.
Bill Holmes [Mon, 7 Feb 2022 21:29:49 +0000 (16:29 -0500)]
vtable setup fix for generic default interface methods in mono runtime (#64102)
* vtable setup fix for generic default interface methods in mono runtime
When processing the overrides from interface default methods we should
check if the interface class is a generic type definition first and
inflate with the interface class context.
Test case included.
* Update test to ensure that the correct context is used
Liviu Mandras-Iura [Mon, 7 Feb 2022 21:16:42 +0000 (23:16 +0200)]
62606 Return fully qualified path from FileSystemEventArgs (#63051)
* FullPath property now returns fully qualified path
Gets the fully qualified path after combining the directory and name part
as per the thread discussion. Also added and updated tests for the new change.
Fix #62606
* OldFullPath returns fully qualified path
To be consistent with new behavior of FullPath from FileSystemEventArgs
same change was applied for RenamedEventArgs including updated tests.
Fix #62606
* Marked some test cases as Windows OS specific
In the context of using an actual full path
which can vary on Unix vs Windows
Fix #62606
* Using Path.Join instead of the custom Combine
Adjusted unit tests to match the new logic.
Fix #62606
* Account for corner case when fullPath matches root
The previous buggy implementation of RenamedEventArgs
produced a convenient side-effect for PhysicalFilesWatcher.
Without the trailing slash adde by RenamedEventArgs the root
was longer than the fullPath by a trailing slash.
Fix #62606
* Handle relative paths from CWD in given drive
Fix #62606
* Clearly separated unix and windows test cases
Implemented most of the code review suggestions.
Fix #62606
* Use EnsureTrailingSeparator instead of custom code
Also made unit tests more focused by
removing needless asserts from the tests
Fix #62606
* Keeping the old behavior with trailing separator
Reverted the changes to PhysicalFilesWatcher
and added back the trailing separator behavior
as per code review suggestion
Fix #62606
* Used Path.Combien vs PathInternalEnsureSeparator
As per code review suggestions.
Fix #62606
* Added blank line for readability
Pipeline retrigger. Some pipelines timed out, most probably transient issues.
Fix #62606
Sven Boemer [Mon, 7 Feb 2022 21:13:26 +0000 (13:13 -0800)]
Move one more 20H2 queue to server 2022 (#64919)
* Move one more 20H2 queue to server 2022
Fix one more instance not covered by https://github.com/dotnet/runtime/pull/64827.
This should fix the same failure in runtime-extra-platforms.
* Update IsIcuCompatiblePlatform
Maxim Lipnin [Mon, 7 Feb 2022 19:01:56 +0000 (22:01 +0300)]
Skip System.Net.NetworkInformation.Tests.PingTest.SendPingWithIPAddressAndBigSize test on Android (#64897)
Addresses #64798
Adeel Mujahid [Mon, 7 Feb 2022 17:30:00 +0000 (19:30 +0200)]
Turn off flaky RapidJSON optimization on x64 (#64851)
Adeel Mujahid [Mon, 7 Feb 2022 17:28:54 +0000 (19:28 +0200)]
Turn off -ffp-contract on Unix (#64847)
Alexander Köplinger [Mon, 7 Feb 2022 17:24:52 +0000 (18:24 +0100)]
Improve backport.yml to only check start of line and instructions for team visibility (#64915)
Before the bot reacted to the /backport command anywhere in the comment, now it needs to be at the start of the line.
Additionally, if the check for repo collaborator fails print a link to the Microsoft team on GitHub to change visibility (most common failure case).
Thays Grazia [Mon, 7 Feb 2022 17:24:29 +0000 (14:24 -0300)]
[wasm][debugger] Fixing race condition (#64394)
* Fixing race condition.
* Completely avoid race condition as @lewing suggested.
* keeping old name
* Addressing @radical comments
* Addressing @lewing comments.
* fix unrelated change
* Addressing @lewing comment offline.
lord-executor [Mon, 7 Feb 2022 16:35:33 +0000 (17:35 +0100)]
Explicit test for injecting scoped IServiceProvider (#63225) (#64558)
Ulrich Weigand [Mon, 7 Feb 2022 16:06:20 +0000 (17:06 +0100)]
[mono] Remove OP_FCONV_TO_U opcode (#64618)
* Emit OP_FCONV_TO_U8/U4 instead of OP_FCONV_TO_U.
* Remove OP_FCONV_TO_U implementations across all back ends.
* Remove duplicated mono_fconv_u8/u4 icall wrappers.
* Fixes https://github.com/dotnet/runtime/issues/64570
Marco Rossignoli [Mon, 7 Feb 2022 14:49:00 +0000 (15:49 +0100)]
Bump coverlet version to 3.1.2 (#64875)
Steve Pfister [Mon, 7 Feb 2022 12:08:48 +0000 (04:08 -0800)]
[mobile] Add extra HttpClientHandler linker substitution (#64818)
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Jakob Botsch Nielsen [Mon, 7 Feb 2022 12:04:49 +0000 (13:04 +0100)]
Normalize returns after optimizing returned indirs (#64881)
This ensures we normalize returned indirs of locals, even when we fold
it into an access of a promoted local's field. This may change a signed
indir into access of an unsigned field, which may need a sign-extending
cast to be inserted.
It is not ideal that fgMorphRetInd can 'lose' this information, but
given that it is a specialized optimization it seems the simplest
solution is to just rely on the follow-up normalization.
Fix #61359
Egor Bogatov [Mon, 7 Feb 2022 11:35:12 +0000 (14:35 +0300)]
Improvements for SpanHelpers.IndexOf (#64872)
SingleAccretion [Mon, 7 Feb 2022 09:45:37 +0000 (12:45 +0300)]
Propagate exception sets for assignments (#64882)
* Propagate exception sets for block assignments
* Propagate exception sets for simple assignments
* Fix fgValueNumberCastHelper
To not rely on VNs of setup/placeholder args.
* Enable the checker
Jan Kotas [Mon, 7 Feb 2022 06:53:40 +0000 (22:53 -0800)]
Delete ReflectionModule::m_pCreatingAssembly and PEAssembly::m_creator (#64865)
Andy Ayers [Mon, 7 Feb 2022 04:59:24 +0000 (20:59 -0800)]
JIT: clear lvMustInit from dependent locals (#64877)
Their initialization is handled by the parent local.
Closes #64808.
Alexander Köplinger [Sun, 6 Feb 2022 22:04:17 +0000 (23:04 +0100)]
Fix operator precedence consistency in ASCIIUtility.GetIndexOfFirstNonAsciiByte (#64814)
The `&&` operator takes precedence over `||`, make it explicit by wrapping in parenthesis which also makes it consistent with other usages like https://github.com/dotnet/runtime/blob/
57bfe474518ab5b7cfe6bf7424a79ce3af9d6657/src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.Transcoding.cs#L887
Sse2 implies little endian so the check only needs to apply to AdvSimd.
SingleAccretion [Sun, 6 Feb 2022 18:59:35 +0000 (21:59 +0300)]
Mark promoted SIMD locals used by HWIs as DNER (#64855)
As the added comment states, we must do this to get dependent
promotion, as otherwise the compiler does not support independent
promotion of structs not fully eliminated from the IR, save some
special cases (such as multi-reg structs).
We will only need to do this very rarely, as otherwise we mark
SIMD locals used by SIMDs/HWIs specially when creating those
nodes so as not to promote them.
This issue was revealed by forward substituion, where we had:
SIMD a = OBJ(ADDR(b)) // b is SIMD too
HWI(a)
And forward-substituted the promoted "b" into "HWI". Notably,
by the time we are forward-substituting, "we cannot really do
anything about it", as struct promotion has already run, and
by the time we get to morph, we too cannot do much save some
gymnastics with conjuring up a tree of inserts from individual
fields.
Austin Wise [Sun, 6 Feb 2022 18:39:55 +0000 (10:39 -0800)]
Fix link in readytorun-format.md (#64878)
The link was not rendering correctly, as the link text and target were on separate lines.
SingleAccretion [Sun, 6 Feb 2022 14:48:36 +0000 (17:48 +0300)]
Add support for `TYP_BYREF` `LCL_FLD`s to VN (#64501)
* Do not add a zero-offset FldSeq to LCL_FLD directly
"fgAddFieldSeqForZeroOffset"'s contract is that it is passed
an *address*. If that address is a LCL_FLD, we must use the
"zero-offset sequence map", not the sequence of LCL_FLD itself,
as that represents LCL_FLD's own value, not the value it produces
(LCL_FLD == IND(LCL_FLD_ADDR), and LCL_FLD's sequence is the one
attached to LCL_FLD_ADDR, not IND).
* Fix the same issue in "ChangeOper"
* Read zero-offset FldSeqs on LclFld in VN
Zoltan Varga [Sun, 6 Feb 2022 11:59:44 +0000 (06:59 -0500)]
[mono] Add an 'allow-errors' AOT option. (#64640)
This can be used to avoid aborting the AOT process if a loader
error occurs. The methods which fail to load will not be AOTed and
the failures will happen at runtime.
Related:
https://github.com/dotnet/runtime/issues/63654
Andy Ayers [Sun, 6 Feb 2022 06:42:03 +0000 (22:42 -0800)]
JIT: contained memory safety analysis fixes and improvements (#64843)
Fixes a couple of issues exposed by forward sub, where containment analysis
was allowing unsafe reordering of operands.
Closes #64828.
Generalize the safety check so that a store to a local not live into a handler
can be reordered with respect to node causing exceptions. Happily this leads
to almost uniformly better code despite the more stringent checking added above.
Add a workaround for the late callbacks into the containment checker made on
unlinked nodes. Assume these are always safe.
Also add extra checks; fast path early out; assertion in MakeSrcContained.
Zoltan Varga [Sun, 6 Feb 2022 06:23:48 +0000 (01:23 -0500)]
[mono] Allow missing assemblies in llvmonly+interp mode. (#64294)
Part of the fix for https://github.com/dotnet/runtime/issues/51961.
Co-authored-by: Ankit Jain <radical@gmail.com>
Andy Ayers [Sat, 5 Feb 2022 23:25:50 +0000 (15:25 -0800)]
fix broken outerloop test (#64858)
Marie Píchová [Sat, 5 Feb 2022 20:17:17 +0000 (21:17 +0100)]
Add ActivitySource support to DiagnosticsHandler (#64753)
* Brought back changes from https://github.com/dotnet/runtime/pull/54437
* Fixed tests
* feedback
Jeremy Koritzinsky [Sat, 5 Feb 2022 17:58:42 +0000 (09:58 -0800)]
Set up an analyzer exception filter to make intermittent failures more actionable. (#64836)
Update the Roslyn Testing SDK version and update the DllImportGenerator unit tests to crash in a way that produces a dump for some of our intermittent issues (https://github.com/dotnet/runtime/issues/60909, https://github.com/dotnet/runtime/issues/62223). This mechanism will crash the process during the "exception filter" phase, so it will still have the throwing frame on the stack (no unwinding). Hopefully this will enable us to get more actionable dumps to investigate these issues and determine if they're Roslyn bugs or GC holes.
Marek Fišera [Sat, 5 Feb 2022 09:44:06 +0000 (10:44 +0100)]
[wasm] Fix scenario specific tests (#64800)
- Fix including additional scenario test folders as HelixWorkItems.
- Disable `System.Net.WebSockets.Client.Tests` on NodeJS, before we fix NodeJS.
- Fix paths to echo and remote loop servers.
Co-authored-by: Ankit Jain <radical@gmail.com>
Santiago Fernandez Madero [Fri, 4 Feb 2022 23:38:38 +0000 (15:38 -0800)]
Move 20H2 queues to server 2022 (#64827)
Sergey Andreenko [Fri, 4 Feb 2022 20:14:56 +0000 (15:14 -0500)]
Delete Statement::m_compilerAdded . (#64506)
Ankit Jain [Fri, 4 Feb 2022 19:18:01 +0000 (14:18 -0500)]
[wasm] Some cleanup of wasm jobs in runtime-extra-platforms (#64766)
* [wasm] Remove WBT from extra-platforms, as it runs in runtime, and runtime-staging
* [wasm] Run library tests on NodeJS for windows too
.. in `runtime-extra-platforms`.
* [wasm] runtime-extra-platforms: always run the helix step
Tomas Weinfurt [Fri, 4 Feb 2022 18:52:04 +0000 (10:52 -0800)]
make sure failed SSL does not impact other sessions (#64256)
* make sure failed SSL does not imapct other sessions
* move innerError
* feedback from review
* remove try
* feedback from review
Stephen Toub [Fri, 4 Feb 2022 18:49:34 +0000 (13:49 -0500)]
Improve perf of Enumerable.Sum/Average/Max/Min for arrays and lists (#64624)
* Improve perf of Enumerable.Sum/Average/Max/Min for arrays and lists
It's very common to use these terminal functions for quick stats on arrays and lists of values. Just the overhead of enumerating as an enumerable (involving multiple interface dispatch) per iteration is significant, and it's much faster to directly enumerate the contents of the array or the list. In some cases, we can further use vectorization to speed up the processing.
This change:
- Adds a helper that does a fast check to see if it can extract a span from an enumerable that's actually an array or a list. It could be augmented to detect other interesting types, but `T[]` and `List<T>` are the most relevant from the data I've seen, and we can fairly quickly do type checks to get the most benefit for a small amount of cost.
- Uses that helper in the int/long/float/double/decimal overloads of Sum/Average/Min/Max to add a span-based path.
- Vectorizes Sum for float and double
- Vectorizes Average for int, float, and double (the latter two via use of Sum)
* Address PR feedback
Stephen Toub [Fri, 4 Feb 2022 18:48:28 +0000 (13:48 -0500)]
Handle ((IAsyncResult)task).AsyncWaitHandle.Dispose better in task completion (#64627)
Task's IAsyncResult.AsyncWaitHandle implementation lazily creates a ManualResetEventSlim, which is then set as part of the Task completing. That AsyncWaitHandle is exposed publicly out of the surface area. If code (arguably erroneously) Dispose's of that WaitHandle before the Task has completed, the task's completion routine will incur an ObjectDisposedException, which will propagate out and potentially disrupt caller logic or even crash the process if allowed to propagate on a thread without user code to catch it.
This just adds a catch (ObjectDisposedException) block to eat such an exception in order to make the system more reliable in the face of such spooky action at a distance.
Jakob Botsch Nielsen [Fri, 4 Feb 2022 18:00:25 +0000 (19:00 +0100)]
Track local var ranges for "interfering writes" LIR check (#64804)
For LIR we verify that we can really consider locals to be used at their
user by having a checker that looks for interfering stores to the same
locals. However, in some cases we may have "interfering"
GT_LCL_FLD/GT_STORE_LCL_FLD, in the sense that they work on the same
local but on a disjoint range of bytes. Add support to validate this.
This fixes #57919 which made the fuzzer jobs very noisy and made it easy
to miss actual new examples (e.g. #63720 was just merged even though
there were real examples found there).
Fix #57919
Pavel Savara [Fri, 4 Feb 2022 17:42:30 +0000 (18:42 +0100)]
[wasm] pass ExitStatus when calling quit_ (#64734)
* pass ExitStatus when calling quit_
* set noExitRuntime
* fix double throw
* enable 64727 tests
Stephen Toub [Fri, 4 Feb 2022 16:18:14 +0000 (11:18 -0500)]
Fix outerloop AcceptAsync_WithTooSmallReceiveBuffer_Failure test (#64758)
* Fix outerloop AcceptAsync_WithTooSmallReceiveBuffer_Failure test
* Remove [Outerloop] per PR feedback
Bill Holmes [Fri, 4 Feb 2022 15:19:13 +0000 (10:19 -0500)]
mono_get_generic_info_from_stack_frame fix for default interface methods (#64566)
The context is a MonoMethodRuntimeGenericContext when the method is a
default interface method.
Also re-enable broken DIM tests.
Fixes dotnet/runtime #62334
Michal Strehovský [Fri, 4 Feb 2022 08:03:09 +0000 (17:03 +0900)]
Split out clr.tools unit tests (#64788)
Don't even build them as part of the clr subset, only on demand.
Ankit Jain [Fri, 4 Feb 2022 06:26:40 +0000 (01:26 -0500)]
[wasm] Disable failing tests (#64759)
* [wasm][aot] Disable failing tests
`Microsoft.Extensions.HostFactoryResolver.Tests`: https://github.com/dotnet/runtime/issues/64724
`Microsoft.Extensions.Logging.Tests`: https://github.com/dotnet/runtime/issues/64725
* [wasm][aot] Disable `System.Text.Json.SourceGeneration.Roslyn3.11.Unit.Tests`
.. on linux.
Fixes https://github.com/dotnet/runtime/issues/64762 .
Real issue being tracked in https://github.com/dotnet/runtime/issues/61339
* disable failing nodejs samples
* [wasm] Disable more failing tests
System.Linq.Tests: https://github.com/dotnet/runtime/issues/64774
System.Text.Json.Tests: https://github.com/dotnet/runtime/issues/64775
* Disable System.Text.RegularExpressions.Tests due to issue#64769
Carlos Sanchez [Fri, 4 Feb 2022 03:35:38 +0000 (19:35 -0800)]
Expose Comment in ZipArchive and ZipArchiveEntry (#59442)
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Tomas Weinfurt [Fri, 4 Feb 2022 01:40:45 +0000 (17:40 -0800)]
fix some test for FreeBSD (#64426)
* fix some test for FreeBSD
* remove changes in IPGlobalPropertiesTest
* disable AddLongHeader_DoesNotThrow
* update description for skip
David Wrighton [Fri, 4 Feb 2022 00:56:51 +0000 (16:56 -0800)]
Fix issue in r2rdump where conflicting generic instantiations can cause the r2rdump process to fail (#64772)
- This fix ignores the problem, and will produce somewhat wrong results when looking at the PGO data of an R2R binary, but it will at least permit the R2R file to be looked at
Fixes #64291
Andy Ayers [Fri, 4 Feb 2022 00:45:07 +0000 (16:45 -0800)]
JIT: simple forward substitution pass (#63720)
Extend ref counting done by local morph so that we can determine
single-def single-use locals.
Add a phase that runs just after local morph that will attempt to
forward single-def single-use local defs to uses when they are in
adjacent statements.
Fix or work around issues uncovered elsewhere:
* `gtFoldExprCompare` might fold "identical" volatile subtrees
* `fgGetStubAddrArg` cannot handle complex trees
* some simd/hw operations can lose struct handles
* some calls cannot handle struct local args
* morph expects args not to interfere
* fix arm; don't forward sub no return calls
* update debuginfo test (we may want to revisit this)
* handle subbing past normalize on store assignment
* clean up nullcheck of new helper
Addresses #6973 and related issues. Still sorting through exactly
which ones are fixed, so list below may need revising.
Fixes #48605.
Fixes #51599.
Fixes #55472.
Improves some but not all cases in #12280 and #62064.
Does not fix #33002, #47082, or #63116; these require handling multiple
uses or bypassing statements.
Egor Chesakov [Thu, 3 Feb 2022 22:14:29 +0000 (14:14 -0800)]
Mitigate #60154 (#63357)
Disable intrinsics tests that throw NotSupportedPlatformException on the corresponding platforms:
* Add JIT/HardwareIntrinsics/** to ExcludeList on Arm32 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/General/Vector256/** to ExcludeList on Arm64 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/X86/** to ExcludeList on Arm64 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/General/Vector64/** to ExcludeList on X64 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/Arm/** to ExcludeList on X64 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/General/Vector64/** to ExcludeList on X86 in src/tests/issues.targets
* Add JIT/HardwareIntrinsics/Arm/** to ExcludeList on X86 in src/tests/issues.targets
Ankit Jain [Thu, 3 Feb 2022 21:39:47 +0000 (16:39 -0500)]
[wasm][debugger] Fix some racy tests (#64712)
* re-enable some tests
* [wasm][debugger] Fix racy test - ExceptionTestAllWithReload
This test is set up to pause on all exceptions. So, it has some code to
hit `Debugger.resume` 100 times, hoping to skip all the non-user code
exceptions. But this can sometimes not be enough, and you might have
more exceptions which breaks rest of the test.
Instead, we try to resume till we won't get paused for a period of
10secs. And after that, we can call the user code, and execute rest of
the test.
Fixes https://github.com/dotnet/runtime/issues/62666 .
* [wasm][debugger] Fix racy tests that use late loaded assemblies
`DebuggerTests.MiscTests.DebugLazyLoadedAssemblyWithEmbeddedPdb`
`DebuggerTests.BreakpointTests.BreakpointInAssemblyUsingTypeFromAnotherAssembly_BothDynamicallyLoaded`
These tests load assemblies dynamically, and depend on breakpoints in
those assemblies being resolved. But the tests don't wait for that to
happen. So, they can some times fail when the managed method is invoked
before the breakpoint being resolved.
Fixes https://github.com/dotnet/runtime/issues/62823
Fixes https://github.com/dotnet/runtime/issues/62667
Tomáš Rylek [Thu, 3 Feb 2022 21:35:34 +0000 (22:35 +0100)]
Deduplicate class names under JIT/Methodical/cctor (#64710)
In this particular class of tests deduplicating tests via
namespace names is not useful as they use common modules
expecting the namespaces to match.
Thanks
Tomas
Miha Zupan [Thu, 3 Feb 2022 21:33:02 +0000 (13:33 -0800)]
Use ordinal comparison for known header values (#64702)
* Use ordinal comparison for known header values
* Match 'text/html; charset=UTF-8' again
Tomáš Rylek [Thu, 3 Feb 2022 21:32:36 +0000 (22:32 +0100)]
Deduplicate single-assembly vs. multi-assembly stringintern tests (#64709)
This is an interesting special example of deduplication where each of the tests (Test1, Test2, Test4)
runs alternatively in a single-assembly or multiple-assembly mode (compiled together with the
dependent source files teststr.cs / testgenstr.cs vs. using them via dependent projects
teststr.csproj / testgenstr.csproj).
As the actual content of the test source code is the same in both cases and just Roslyn-compiles
slightly differently based on the project structure, I have come to the conclusion that in this particular
case the least amount of churn can be achieved via a preprocessor define that is used to variate the
class name in the main test source files.
The tests were originally building in three flavors - "in-assembly", "cross-assembly" and "cross-module".
I have deleted the "cross-module" variants as I believe that they are identical to "cross-assembly".
Thanks
Tomas
Tomáš Rylek [Thu, 3 Feb 2022 21:31:34 +0000 (22:31 +0100)]
Move explicit coverage entry points into separate public classes (#64708)
Previously I refactored these tests by moving the entrypoints from
the shared body_xxx source files into the test-specific expl_*
and seq_* source files but I didn't realize I'd also need to put
them into new uniquely named classes as we clearly cannot distinguish
30 methods named AA.TestEntrypoint().
Thanks
Tomas
Tomáš Rylek [Thu, 3 Feb 2022 21:28:38 +0000 (22:28 +0100)]
Clean up remaining tests under JIT/Methodical using Environment.Exit (#64706)
Andy Gocke [Thu, 3 Feb 2022 20:57:20 +0000 (12:57 -0800)]
Update mac Helix queues (#64565)
* Update mac Helix queues
* Adjust test to account for Mac RID changes
* Disable DllImport probing test on Mac
* Disable profiler.multiple on Mac
SingleAccretion [Thu, 3 Feb 2022 20:56:38 +0000 (23:56 +0300)]
Refactor fgValueNumberBlockAssignment (#64110)
"fgValueNumberBlockAssignment" had a very interesting oddity:
it re-VNs the source tree of the assignment. This is unnecessary,
and is in fact a pessimization, as it means we will fail to VN
assignments from sources it does not understand. This change
fixes that, bringing along some positive diffs from numbering
stores from field indirections.
"fgValueNumberBlockAssignment" also needs to maintaint the
invariant that a location's VN will always match its type.
It was failing to do that in cases where the assignment's
source was not local. This change fixes that.
Finally, this change unifies the code common to numbering
"CopyBlk" and "InitBlk" cases. There is no need for them to
be different.
Tomáš Rylek [Thu, 3 Feb 2022 19:51:14 +0000 (20:51 +0100)]
Bump up visibility for several helper types under JIT/Methodical (#64716)
This change converts a small number of special tests to use the
[Fact] style. These tests are atypical in using various internal
types declared in their source code as fields in the test class;
bumping up test class visibility to public requires transitive
modifications to visibility of the helper types.
Thanks
Tomas
Kevin Jones [Thu, 3 Feb 2022 19:13:55 +0000 (14:13 -0500)]
Pass IV through cipher resets for OpenSSL and Android
John Salem [Thu, 3 Feb 2022 18:12:18 +0000 (10:12 -0800)]
Validate behavior of ProcessInfo command before and after suspension point (#63382)
This only applies to CoreCLR Unix processes.
Maryam Ariyan [Thu, 3 Feb 2022 17:58:47 +0000 (09:58 -0800)]
Logging Source Generator - Adds support to `@` signed prefixed parameters (#64663)
* Adds support to `@` signed prefixed parameters
Fixes #60968
* Move repetitive logic to a new property
* Remove NeedsAtSign
dotnet-maestro[bot] [Thu, 3 Feb 2022 17:52:28 +0000 (18:52 +0100)]
Update dependencies from https://github.com/dotnet/linker build
20220131.3 (#64615)
Microsoft.NET.ILLink.Tasks
From Version 7.0.100-1.22078.1 -> To Version 7.0.100-1.22081.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Thu, 3 Feb 2022 17:48:21 +0000 (18:48 +0100)]
[main] Update dependencies from dotnet/icu dotnet/arcade dotnet/emsdk dotnet/roslyn-analyzers (#64678)
* Update dependencies from https://github.com/dotnet/icu build
20220201.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 7.0.0-preview.2.22081.1 -> To Version 7.0.0-preview.2.22101.1
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20220201.5
Microsoft.CodeAnalysis.NetAnalyzers
From Version 7.0.0-preview1.22081.3 -> To Version 7.0.0-preview1.22101.5
* Update dependencies from https://github.com/dotnet/arcade build
20220130.1
Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
From Version 2.5.1-beta.22075.6 -> To Version 2.5.1-beta.22080.1
* Update dependencies from https://github.com/dotnet/emsdk build
20220202.3
Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
From Version 7.0.0-alpha.2.22078.1 -> To Version 7.0.0-alpha.2.22102.3
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20220202.1
Microsoft.CodeAnalysis.NetAnalyzers
From Version 7.0.0-preview1.22081.3 -> To Version 7.0.0-preview1.22102.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Maxim Lipnin [Thu, 3 Feb 2022 17:13:52 +0000 (20:13 +0300)]
Disable some library tests on ARMv6 architecture due to failures (#64733)
Related issues:
[mono][arm6][linux] System.Net.Ping.Functional.Tests failed #64673
[mono][arm6][linux] System.Net.Tests.ServicePointManagerTest.FindServicePoint_Collectible failed. #64674
[mono][arm6][linux] System.Reflection.Tests.ModuleTests.GetField failed #64675
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Radek Zikmund [Thu, 3 Feb 2022 16:53:52 +0000 (17:53 +0100)]
Throw PNSE if insufficient privileges when custom Ping payload was specified (#64625)
Parker Bibus [Thu, 3 Feb 2022 16:34:33 +0000 (10:34 -0600)]
Update Maui Workload Install Process for Perf (#64692)
* Add dotnet install and run to test if new dotnet version can be installed similar to how it is done in the Maui repo.
* Download and use local dotnet version.
* Use updated dotnet for more of the pipeline.
* Test with made runtime packs and and add ios arm pack substitution.
* Try building instead of publishing.
* Reenable everything for full test run.
* Package name now seems to default to lower case, at least for maui.
Alexander Köplinger [Thu, 3 Feb 2022 15:52:54 +0000 (16:52 +0100)]
Workaround permission issue on Android API30 emulators when pulling test results (#64744)
See https://github.com/dotnet/xharness/issues/385, we use the cache dir instead on API 30.
Also add `a:exported="true"` which is required when targetting a newer minSdkVersion.
Egor Bogatov [Thu, 3 Feb 2022 15:41:01 +0000 (18:41 +0300)]
Prefer "mov reg, wzr" over "mov reg, #0" (#64740)
Viktor Hofer [Thu, 3 Feb 2022 14:32:50 +0000 (15:32 +0100)]
Consume renamed TargetFramework package (#64670)
* Consume renamed TargetFramework package
* Rename CoreLibs generator parent dir
Projects under src/libraries/ which are located under a "gen" directory
are automatically treated as source generator projects. Because the
CoreLib generator was placed under a different directory "generators",
it was treated as a RuntimeAssembly which gets binplaced into the
runtime path. The runtime tests then take the assemblies from there and
copy them into their CORE_ROOT directory.
Renaming the CoreLib source generators parent directory fixes that so
that it is treated as source generator and it brings consistency into
src/libraries.
Meri Khamoyan [Thu, 3 Feb 2022 13:33:37 +0000 (17:33 +0400)]
#55822 Disable CanRecurseFrom root for andoid (#64682)
Egor Bogatov [Thu, 3 Feb 2022 12:07:51 +0000 (15:07 +0300)]
JIT: Import string.Empty as "" (#64530)
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Michał Zegan [Thu, 3 Feb 2022 11:35:43 +0000 (12:35 +0100)]
Fix test build command in docs/workflow/building/coreclr/nativeaot.md (#64690)
The command `src/tests/build[.cmd|.sh] nativeaot [Debug|Release] tree nativeaot` seems not to work as expected.
Namely it seems to build not only the nativeaot smoke tests.
Fixed to be `src\tests\build[.cmd|.sh] -nativeaot [Debug|Release] -tree:nativeaot`
Michal Strehovský [Thu, 3 Feb 2022 10:52:34 +0000 (19:52 +0900)]
Check for multicast delegate before comparing invocation lists (#64729)
Fixes issue discovered in https://github.com/dotnet/runtime/pull/64404#discussion_r797220167.
The existing code worked but there is an off chance that a different kind of delegate (not multicast) could be storing a number in `m_extraFunctionPointerOrData` that matches the length of this delegate (length is stored in `m_extraFunctionPointerOrData`), making us fail with `InvalidCast`. We should only compare invocation lists once we know both delegates are multicast.
Michal Strehovský [Thu, 3 Feb 2022 10:50:38 +0000 (19:50 +0900)]
Add `--jitpath` parameter to ILC (#64731)
Matches crossgen2.
Larry Ewing [Thu, 3 Feb 2022 07:42:52 +0000 (01:42 -0600)]
fixup more helix pools (#64718)