Aleksey Kliger (λgeek) [Thu, 22 Jun 2023 19:04:23 +0000 (15:04 -0400)]
[hot_reload] Give more info about why the runtime can't apply updates (#87880)
* [hot_reload] Give more info about why the runtime can't apply updates
* rework hot_reload_update_enabled
Add a version that always checks the environment variable and returns unexpected values back to the caller.
Change the assembly_update_supported function to take a MonoError and set it to a detailed error message directly.
Koundinya Veluri [Thu, 22 Jun 2023 18:52:14 +0000 (11:52 -0700)]
Fix a minor race condition in Monitor's AwareLock regarding tracking of waiter starvation (#87703)
* Fix a minor race condition in Monitor's AwareLock regarding tracking of waiter starvation
- When the first waiter is starting to wait, the waiter starvation start time is reset before registering the waiter. In the CAS loop it may be determined initially that this thread wasn't the first later, and after a successful CAS, it may end up being the first waiter. It's remotely possible that the waiter starvation start time is reset before the CAS loop and that after a successful CAS, this thread was not the first waiter, in which case the waiter starvation start time would not be updated, which can lead to waiter starvation.
- Fixed to always update the waiter starvation start time after the CAS if it was reset before the CAS
Jan Dupej [Thu, 22 Jun 2023 18:39:23 +0000 (20:39 +0200)]
[mono] ILStrip sorts custom attribute table (#87923)
This prevents custom attribute table corruption by sorting it as the last step when stripping an assembly. Addresses #85414.
The PR will have to be backported to net7.0.
Meri Khamoyan [Thu, 22 Jun 2023 18:25:25 +0000 (22:25 +0400)]
Fix runtime-extra-platforms failures related to HybridGlobalization (#87913)
Add ErrorCodes and return -2 only when options are not found
dotnet-maestro[bot] [Thu, 22 Jun 2023 16:05:20 +0000 (12:05 -0400)]
[main] Update dependencies from 10 repositories (#87522)
* Update dependencies from https://github.com/dotnet/arcade build
20230612.4
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23312.4
Dependency coherency updates
Microsoft.SourceLink.GitHub
From Version 8.0.0-beta.23252.2 -> To Version 8.0.0-beta.23309.3 (parent: Microsoft.DotNet.Arcade.Sdk
* Update dependencies from https://github.com/dotnet/arcade build
20230613.6
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23313.6
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23252.2 -> To Version 8.0.0-beta.23309.3 (parent: Microsoft.DotNet.Arcade.Sdk
* Update dependencies from https://github.com/dotnet/sdk build
20230614.2
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23314.2
* [wasm] Set SelfContained=true for local, and in-tree targets
Fixes sample builds:
```
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/browser-bench/Wasm.Browser.Bench.Sample.csproj]
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/browser-profile/Wasm.BrowserProfile.Sample.csproj]
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/browser-advanced/Wasm.Advanced.Sample.csproj]
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/console-v8/Wasm.Console.V8.Sample.csproj]
/__w/1/s/.packages/microsoft.net.illink.tasks/8.0.0-preview.6.23309.7/build/Microsoft.NET.ILLink.targets(193,5): error NETSDK1102: Optimizing assemblies for size is not supported for the selected publish configuration. Please ensure that you are publishing a self-contained app. [/__w/1/s/src/mono/sample/wasm/browser-bench/Console/Wasm.Console.Bench.Sample.csproj]
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/browser/Wasm.Browser.Sample.csproj]
/__w/1/s/src/mono/wasm/build/WasmApp.targets(272,5): error : WasmAssembliesToBundle item is empty. No assemblies to process [/__w/1/s/src/mono/sample/wasm/console-node/Wasm.Console.Node.Sample.csproj]
```
* [wasm] debugger-tests Set RID, and LibrariesConfiguration early
* Update dependencies from https://github.com/dotnet/llvm-project build
20230615.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 14.0.0-alpha.1.23307.1 -> To Version 14.0.0-alpha.1.23315.1
* Update dependencies from https://github.com/dotnet/arcade build
20230614.1
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23314.1
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23252.2 -> To Version 8.0.0-beta.23309.3 (parent: Microsoft.DotNet.Arcade.Sdk
* Update dependencies from https://github.com/dotnet/sdk build
20230615.13
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23315.13
* Update dependencies from https://github.com/dotnet/sdk build
20230616.3
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23316.3
* Update dependencies from https://github.com/dotnet/llvm-project build
20230616.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 14.0.0-alpha.1.23307.1 -> To Version 14.0.0-alpha.1.23316.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20230616.4
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 14.0.0-alpha.1.23307.1 -> To Version 14.0.0-alpha.1.23316.4
* Update dependencies from https://github.com/dotnet/arcade build
20230616.6
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23316.6
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23252.2 -> To Version 8.0.0-beta.23314.2 (parent: Microsoft.DotNet.Arcade.Sdk
* Update dependencies from https://github.com/dotnet/runtime-assets build
20230616.1
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.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 8.0.0-beta.23307.1 -> To Version 8.0.0-beta.23316.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20230616.4
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 8.0.0-alpha.0.23305.2 -> To Version 8.0.0-alpha.0.23316.4
* Update dependencies from https://github.com/dotnet/sdk build
20230616.53
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23316.53
* Update dependencies from https://github.com/dotnet/runtime build
20230619.2
Microsoft.NET.ILLink.Tasks , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
From Version 8.0.0-preview.6.23309.7 -> To Version 8.0.0-preview.6.23319.2
* Update dependencies from https://github.com/dotnet/sdk build
20230619.8
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23319.8
* Fix all host tests to correctly specify SelfContained when necessary
Recent SDK change modified the default for when RuntimeIdentifier is specified. Before this also implied SelfContained, now it doesn't. The host tests were not yet updated for this and thus several failed with various types of failures.
This change modifes all the test projects which specify RuntimeIdentifier to also specify SelfContained=true. And then updates the test infra to:
* Fail if RuntimeIdentifier is specified and SelfContained is not specified
* Update all callsites which specify RuntimeIdentifier to also specify SelfContained.
* Update dependencies from https://github.com/dotnet/llvm-project build
20230619.3
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 14.0.0-alpha.1.23307.1 -> To Version 14.0.0-alpha.1.23319.3
* Implement a workaround for issue with EnableUnsafeBinaryFormatterSerialization
See https://github.com/dotnet/runtime/issues/87811 for more details.
This change uses a custom target to hook right before the runtimeconfig is generated and removes the runtime property from the item group to avoid writing it into runtimeconfig.
* Update dependencies from https://github.com/dotnet/arcade build
20230619.3
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23319.3
* Update dependencies from https://github.com/dotnet/icu build
20230619.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-preview.6.23312.1 -> To Version 8.0.0-preview.6.23319.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20230619.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 8.0.0-alpha.0.23305.2 -> To Version 8.0.0-alpha.0.23319.2
* Update dependencies from https://github.com/dotnet/cecil build
20230619.2
Microsoft.DotNet.Cecil
From Version 0.11.4-alpha.23312.1 -> To Version 0.11.4-alpha.23319.2
* Update dependencies from https://github.com/dotnet/sdk build
20230620.3
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.6.23320.3
* Update dependencies from https://github.com/dotnet/llvm-project build
20230621.1
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter
From Version 14.0.0-alpha.1.23307.1 -> To Version 14.0.0-alpha.1.23321.1
* Update dependencies from https://github.com/dotnet/arcade build
20230620.3
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23320.3
* Update dependencies from https://github.com/dotnet/runtime-assets build
20230621.1
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.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 8.0.0-beta.23307.1 -> To Version 8.0.0-beta.23321.1
* Update dependencies from https://github.com/dotnet/emsdk build
20230621.1
Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
From Version 8.0.0-preview.6.23312.1 -> To Version 8.0.0-preview.6.23321.1
* Disable failing runtime test
```
/Users/runner/work/1/s/src/tests/JIT/jit64/opt/rngchk/RngchkStress2.cs(527,796): error CS8078: An expression is too long or complex to compile [/Users/runner/work/1/s/src/tests/JIT/jit64/opt/rngchk/RngchkStress2_o.csproj] [/Users/runner/work/1/s/src/tests/build.proj]
```
Issue: https://github.com/dotnet/runtime/issues/87879
* disable JIT/jit64/opt/cse/hugeSimpleExpr1.csproj
* Use full name for the test being disabled
* Update dependencies from https://github.com/dotnet/emsdk build
20230621.3
Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
From Version 8.0.0-preview.6.23312.1 -> To Version 8.0.0-preview.7.23321.3
* another try
* Update dependencies from https://github.com/dotnet/arcade build
20230620.3
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 8.0.0-beta.23309.8 -> To Version 8.0.0-beta.23320.3
Dependency coherency updates
Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks
From Version 8.0.0-beta.23252.2 -> To Version 8.0.0-beta.23314.2 (parent: Microsoft.DotNet.Arcade.Sdk
* Update dependencies from https://github.com/dotnet/icu build
20230621.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-preview.6.23312.1 -> To Version 8.0.0-preview.7.23321.2
* Update dependencies from https://github.com/dotnet/xharness build
20230621.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 8.0.0-prerelease.23312.1 -> To Version 8.0.0-prerelease.23321.2
* Update dependencies from https://github.com/dotnet/runtime-assets build
20230621.1
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.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 8.0.0-beta.23307.1 -> To Version 8.0.0-beta.23321.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20230619.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 8.0.0-alpha.0.23305.2 -> To Version 8.0.0-alpha.0.23319.2
* Update dependencies from https://github.com/dotnet/cecil build
20230619.2
Microsoft.DotNet.Cecil
From Version 0.11.4-alpha.23312.1 -> To Version 0.11.4-alpha.23319.2
* Update dependencies from https://github.com/dotnet/sdk build
20230621.38
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23313.1 -> To Version 8.0.100-preview.7.23321.38
---------
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: vitek-karas <10670590+vitek-karas@users.noreply.github.com>
Tarek Mahmoud Sayed [Thu, 22 Jun 2023 15:14:51 +0000 (08:14 -0700)]
Fix metrics test (#87898)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Adam Sitnik [Thu, 22 Jun 2023 14:52:50 +0000 (16:52 +0200)]
Faster optimized frozen dictionary creation (3/n) (#87688)
* avoid the need of having `Action<int, int> storeDestIndexFromSrcIndex` by writing the destination indexes to the provided buffer with hashcodes and moving the responsibility to the caller (1-4% gain)
* For cases where the key is an integer and we know the input us already unique (because it comes from a dictionary or a hash set) there is no need to create another hash set
Also, in cases where simply all hash codes are unique, we can iterate over a span rather than a hash set
+9% gain for scenarios where the key was an integer (time), 10-20% allocations drop
up to +5% gain where string keys turned out to have unique hash codes
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Ivan Povazan [Thu, 22 Jun 2023 13:44:15 +0000 (15:44 +0200)]
[mono] Do not ignore non-public custom attributes in dynamic assemblies (#87406)
Fixes https://github.com/dotnet/runtime/issues/60650
Adeel Mujahid [Thu, 22 Jun 2023 13:30:16 +0000 (16:30 +0300)]
Share UTF8 converters between coreclr and mono (#85558)
* Share UTF8 converters between coreclr and mono - v1
* Revert "Share UTF8 converters between coreclr and mono - v1"
This reverts commit
f9845ac6f53dc95fb747eb21351dfa9412397217.
* Share UTF8 converters between coreclr and mono - v2
* Remove C++ runtime dependency
* Initial C++ to C conversion
* Delete unused macros
* Fix custom alloc in mono
* Error on invalid sequences when caller requested
* Remove count from convert APIs
Tomas Weinfurt [Thu, 22 Jun 2023 12:22:34 +0000 (14:22 +0200)]
add support for https proxy (#87638)
* add support for https proxy
* winhttp
* https
* diag
dotnet-maestro[bot] [Thu, 22 Jun 2023 11:56:44 +0000 (07:56 -0400)]
[main] Update dependencies from dnceng/internal/dotnet-optimization (#87727)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230616.4
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.23315.5 -> To Version 1.0.0-prerelease.23316.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230617.4
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.23315.5 -> To Version 1.0.0-prerelease.23317.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230619.3
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.23315.5 -> To Version 1.0.0-prerelease.23319.3
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230619.7
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.23315.5 -> To Version 1.0.0-prerelease.23319.7
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230620.5
optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.23315.5 -> To Version 1.0.0-prerelease.23320.5
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Eric Mutta [Thu, 22 Jun 2023 11:52:48 +0000 (14:52 +0300)]
Implement Stopwatch.ToString() (#87812)
* Implement Stopwatch.ToString()
For the tests, I added a few one-liners to the existing tests
where the Stopwatch.Elapsed property was easy to check.
I also added the OverridesToString() test to check for cases
where the ToString() method is called implicitly. This confirms
that people can write "Console.WriteLine(sw)" where "sw" is
an instance of the Stopwatch class, and get the elapsed time
printed.
Fix #87449
* Fix typo in Stopwatch.cs
Fix typo in the comment within the OverridesToString() test.
* Add XML docs for the ToString() method.
The <returns> tag is somewhat redundant since the <summary> tag
adequately describes what's going on here, but since the convention
is to have both tags, I have used the <returns> tag to clarify that
the returned string renders the elapsed time using the same format as
TimeSpan.ToString().
* Add ToString() override for Stopwatch class.
See https://github.com/dotnet/runtime/pull/87812#discussion_r1235940302
---------
Co-authored-by: Eric Mutta <ericm@creditregistry.com>
xtqqczze [Thu, 22 Jun 2023 11:45:04 +0000 (12:45 +0100)]
Use internal `BitOperations.ResetLowestSetBit` (#87798)
Stephen Toub [Thu, 22 Jun 2023 10:47:04 +0000 (06:47 -0400)]
Remove object[] allocation from CustomAttribute.AddCustomAttributes (#87902)
Stephen Toub [Thu, 22 Jun 2023 09:09:43 +0000 (05:09 -0400)]
Fix contention in LoggerFactory.CreateLogger (#87904)
Some ASP.NET code paths end up calling this _a lot_, and it takes a lock on every call, even though the vast majority are satisifed by the cache and require no mutation. We can use a ConcurrentDictionary instead of a Dictionary, with double-checked locking. Nothing is ever removed from or overwritten in the dictionary, so there's no problem doing the hot-path read outside of the lock; we still do the mutation inside of the lock so that all of the mutation work is performed atomically and synchronized with the actions from AddProvider and RefreshFilter.
Jan Dupej [Thu, 22 Jun 2023 08:59:32 +0000 (10:59 +0200)]
[mono][jit] Fix float to int/uint casting behavior (#86941)
* Reenabled JIT/SIMD/VectorConvert tests.
* Float to int conversion on arm64, mini.
* Reverted previous behavior on r4/8 -> u1/2, i1/2
* Fixed double->u/i32 conversion.
dotnet bot [Thu, 22 Jun 2023 07:55:14 +0000 (09:55 +0200)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2206976 (#87891)
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2206720
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2206720
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2206720
Filip Navara [Thu, 22 Jun 2023 07:26:45 +0000 (09:26 +0200)]
Move NTAuthentication/NegotiateStreamPal back to the mothership (#87887)
Michal Strehovský [Thu, 22 Jun 2023 06:57:57 +0000 (15:57 +0900)]
Fix passing rpath on Bionic (#87900)
#87669 had a bunch of trial and error to get it right. Turns out the clang that ships in the Android NDK really doesn't like this form (`clang : error : no such file or directory: ''-Wl,-rpath,$ORIGIN'').
Ahmet Ibrahim Aksoy [Thu, 22 Jun 2023 06:23:00 +0000 (09:23 +0300)]
QUIC ALPN list narrowing down scenario test (#86659)
* Added necessary test for ALPN Narrowing down on QUIC
Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
Carlos Sánchez López [Thu, 22 Jun 2023 05:51:37 +0000 (22:51 -0700)]
Bump main to Preview 7 (#87893)
* Bump main to Preview 7
* Bump emsdk to 8.0.0-preview.7.23321.3
---------
Co-authored-by: Ankit Jain <radical@gmail.com>
Milos Kotlar [Thu, 22 Jun 2023 05:24:23 +0000 (07:24 +0200)]
Remove unused _LinkerFlagsToDrop property from the sample app (#87889)
Tanner Gooding [Thu, 22 Jun 2023 00:06:43 +0000 (17:06 -0700)]
Ensure Min/Max APIs are handled for float in VN (#87872)
* Ensure Min/Max APIs are handled for float in VN
* Apply formatting patch
Viktor Hofer [Wed, 21 Jun 2023 23:31:57 +0000 (01:31 +0200)]
Update WCF package versions (#87787)
* Update WCF package versions
* Update Versions.props
Thays Grazia [Wed, 21 Jun 2023 22:36:47 +0000 (19:36 -0300)]
[mono][debugger] Concurrency on execution context dictionary (#87870)
* fix concurrency
* fix typo and get last executioncontext
* use getoradd as suggested by @radical
* using @radical refactor
Carlos Sánchez López [Wed, 21 Jun 2023 21:51:55 +0000 (14:51 -0700)]
System.IO.Packaging: Avoid setting the general purpose bitflag due to enforced UTF8 (#87883)
Tarek Mahmoud Sayed [Wed, 21 Jun 2023 21:34:25 +0000 (14:34 -0700)]
Remove InstrumentRecorder class (#87873)
Ankit Jain [Wed, 21 Jun 2023 21:25:18 +0000 (17:25 -0400)]
[wasm] Misc build+test fixes (#87830)
* [wasm] Use -s EXPORT_ES6=1 only for link time
Fixes `emcc: warning: linker setting ignored during compilation: 'EXPORT_ES6' [-Wunused-command-line-argument]`
* [wasm] Fix loading `dotnet.native.js.symbols`
* [wasm] WBT: Re-enable skiasharp test
.. as a new build of skiasharp native lib is now available.
Fixes issue: https://github.com/dotnet/runtime/issues/82725
* [wasm] WBT: Enable more previously disabled tests
`Blazor.BuildPublishTests.WithDllImportInMainAssembly`
`Blazor.BuildPublishTests.BlazorPublishRun`
Issue: https://github.com/dotnet/runtime/issues/82725
Issue: https://github.com/dotnet/runtime/issues/82481
* [wasm] Browser.targets - fix up paths for webcil
* [wasm] Add make target build-packages to build the nugets
* address review feedback from @maraf, and add text implementations for node, and error cases
* address review feedback from @maraf
* WBT: remove unnecessary code
WithDllImportInMainAssembly: remove `CheckNativeFileLinked` because we
can run the blazor project now.
* address review feedback from @pavelsavara
* Disable failing blazor test on windows
Jeremy Koritzinsky [Wed, 21 Jun 2023 21:19:49 +0000 (14:19 -0700)]
Implement unidirectional GeneratedComInterface options (#87831)
Nikita Balabaev [Wed, 21 Jun 2023 21:16:45 +0000 (23:16 +0200)]
Fix typos in Process.cs (#87683)
Michal Strehovský [Wed, 21 Jun 2023 21:03:14 +0000 (06:03 +0900)]
Don't create type loader for apps that don't need it (#87678)
In the TypeLoaderEnvironment constructor we initialize a bunch of collections/lookup tables to be able to support runtime-created data structures. But if no runtime loading happens, these are useless.
Make some of the instance methods static (if they don't need the dynamic data structures) so that we don't need to create type loader for nothing, and make some services conditioned on whether we did any type building.
Saves 10 kB on a hello world.
Adeel Mujahid [Wed, 21 Jun 2023 20:47:09 +0000 (23:47 +0300)]
Update HP libunwind to v1.7.0 (#87426)
Michal Strehovský [Wed, 21 Jun 2023 20:41:36 +0000 (05:41 +0900)]
Include liblog in linker command line for Bionic (#87862)
Fixes issue reported in https://github.com/dotnet/runtime/issues/87340#issuecomment-
1600401747.
Filip Navara [Wed, 21 Jun 2023 19:52:37 +0000 (21:52 +0200)]
Convert HttpListener to use public NegotiateAuthentication API (#86956)
* Convert HttpListener to public NegotiateAuthentication API
* Add back identity disposal.
* Allow HTTP/localhost SPN.
Eirik Tsarpalis [Wed, 21 Jun 2023 18:39:23 +0000 (19:39 +0100)]
Fix support for JsonSerializerContext contained in arbitrary types. (#87829)
* Fix support for JsonSerializerContext contained in struct types.
* Extend support to other kinds.
* Simplify testing
* Improve namespace detection logic.
Jakob Botsch Nielsen [Wed, 21 Jun 2023 17:18:32 +0000 (19:18 +0200)]
JIT: Stop allocating address exposed locals if they are unreferenced (#87790)
Bruce Forstall [Wed, 21 Jun 2023 16:50:05 +0000 (09:50 -0700)]
Fix how jitrollingbuild disable Component Governance (#87853)
Adeel Mujahid [Wed, 21 Jun 2023 16:15:05 +0000 (19:15 +0300)]
Fix ID regression in Alpine Linux builds (#86804)
Co-authored-by: Jan Vorlicek <jan.vorlicek@volny.cz>
Alexander Köplinger [Wed, 21 Jun 2023 16:08:46 +0000 (18:08 +0200)]
Add support for net8.0-browser TFM to WASM sdk (#87866)
Vlad-Alexandru Ionescu [Wed, 21 Jun 2023 15:14:03 +0000 (17:14 +0200)]
[mono][jit] Enabling some Vector4 methods as Intrinsics on arm64. (#87684)
* Enabled fmul fdiv fadd fsub fmin fmax fabs fsqrt
---------
Signed-off-by: Vlad - Alexandru Ionescu <vlad-alexandruionescu@Vlads-MacBook-Pro-5.local>
Co-authored-by: Vlad - Alexandru Ionescu <vlad-alexandruionescu@Vlads-MacBook-Pro-5.local>
Radek Doulik [Wed, 21 Jun 2023 14:13:15 +0000 (16:13 +0200)]
[wasm] PackedSimd, implement store methods (#87828)
* [wasm] PackedSimd, implement store methods
* Feedback
Zoltan Varga [Wed, 21 Jun 2023 13:55:10 +0000 (09:55 -0400)]
[mono][jit] Avoid doing copy propagation on ldaddr for gsharedvt variables. (#87713)
Ldaddr requires the emission of dummy uses for
gsharedvt_info_var/gsharedvt_locals_var and the copy wouldn't have these,
leading to register allocation problems.
Fixes https://github.com/dotnet/runtime/issues/87551.
Jan Dupej [Wed, 21 Jun 2023 11:56:58 +0000 (13:56 +0200)]
[mono][jit] Added Vector128 intrinsics that depend on Vector64 for arm64 (#87765)
* Added Vector128.GetLower,GetUpper as intrinsics on arm64. Enabled OP_XCONCAT.
* Adding WithLower, WithUpper.
* Fixed missing variable.
* Restored check on x64 code.
* xlower and xupper now sanitize the upper half of the dest register.
* Fixed definitions of insert opcodes to reflect that they depend on the original dest state.
* OP_XCONCAT can now also depend on initial dest state.
* Disabling Vector128.WithLower,WithUpper on x64.
Pavel Savara [Wed, 21 Jun 2023 10:50:31 +0000 (12:50 +0200)]
Fix PlatformDetection.IsThreadingSupported (#87863)
Jakob Botsch Nielsen [Wed, 21 Jun 2023 10:30:32 +0000 (12:30 +0200)]
SPMI: HTML escape lines inside diffs (#87861)
The summarize script will convert markdown diff code blocks into
manually colored HTML tags because AzDO does not support proper
highlighting in its preview. However, when we do this we should also
take care to escape the contents as otherwise it can start being
interpreted as HTML tags. For example, in a recent case a field named
`<Option>k__BackingField` caused the preview to be truncated because
`<option>` was interpreted as a HTML tag.
Viktor Hofer [Wed, 21 Jun 2023 09:22:33 +0000 (11:22 +0200)]
Fix expected analyzer layout in nuget packages (#87860)
Regressed with https://github.com/dotnet/runtime/pull/87726
Reported in https://github.com/dotnet/aspnetcore/pull/48917#issuecomment-
1599944176
Roman Makarevich [Wed, 21 Jun 2023 08:22:04 +0000 (11:22 +0300)]
Added IReadOnlyDictionary to HttpRequestOptions (#86983)
* Added IReadOnlyDictionary to HttpRequestOptions
Closes #68149
* Added test for new methods
* Added negative scenario to HttpRequestOptionsTest
Co-authored-by: Stephen Toub <stoub@microsoft.com>
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Meri Khamoyan [Wed, 21 Jun 2023 08:19:06 +0000 (12:19 +0400)]
Implement collation native functions functions (#86895)
Implemented IndexOf, LastIndexOf, IsSuffix, IsPrefix functions
Maoni Stephens [Wed, 21 Jun 2023 07:05:51 +0000 (00:05 -0700)]
fixing an assert in GetGCMemoryInfo when there hasn't been any GC of that kind yet (#87848)
when there hasn't been any GC of that kind yet, we cannot validate the info as it's all 0's.
Huo Yaoyuan [Wed, 21 Jun 2023 04:19:00 +0000 (12:19 +0800)]
Import isinst/castclass Nullable as underlying type (#87241)
* Import isinst Nullable as underlying type
* IL test coverage for castclass
David Cantú [Wed, 21 Jun 2023 03:02:35 +0000 (22:02 -0500)]
Apply iteration work limits to X509 certificate loading (#87514)
* Apply iteration work limits to X509 certificate loading
* Specify InvariantCulture on Convert.ToInt64
* Skip X509 tests on browser
* Remove unneeded packaging changes
* Tests: use AppContext.SetData instead of AppDomain.SetData
* Address feedback
* Fix typo in System.Security.Cryptography.Pkcs.csproj
* Remove GetRemainingLength, no longer used
SingleAccretion [Tue, 20 Jun 2023 22:18:38 +0000 (01:18 +0300)]
Delete IsCppCodegenTemporaryWorkaround (#87820)
C++ codegen has been no more for a long time.
We still set this to 'true' downstream in NAOT-LLVM, but don't actually need to.
Aleksey Kliger (λgeek) [Tue, 20 Jun 2023 22:16:03 +0000 (18:16 -0400)]
fix WBT dotnet.native.worker.js support (#87823)
* fix WBT dotnet.native.worker.js support
We used to create a dotnet.worker.js but then we renamed the
emscripten outputs to dotnet.native.
* fix logic in ComputePublishWebAssets
Zoltan Varga [Tue, 20 Jun 2023 22:09:28 +0000 (18:09 -0400)]
[mono] Fix some warnings. (#87825)
Gérald Barré [Tue, 20 Jun 2023 22:01:07 +0000 (18:01 -0400)]
Add missing argument name when throwing ArgumentException (#87797)
* Add missing argument name when throwing ArgumentException
* Update test
Tarek Mahmoud Sayed [Tue, 20 Jun 2023 21:56:21 +0000 (14:56 -0700)]
Options validation source generator (#87587)
Stephen Toub [Tue, 20 Jun 2023 21:01:36 +0000 (17:01 -0400)]
Fix a couple of issues related to Process.WaitForExit on Unix (#87174)
* Fix WaitForExitAsync could return a cancelled task
* Fix handling of _waitInProgress
* Update ProcessWaitState.Unix.cs
* Update src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessWaitState.Unix.cs
* Address PR feedback
* Initialize wait task with already-completed task
---------
Co-authored-by: skyoxZ <skyoxZ@qq.com>
Carlos Sánchez López [Tue, 20 Jun 2023 20:10:21 +0000 (13:10 -0700)]
Tar: Ensure trailing separator in sanitized path for extraction (#87534)
Mitchell Hwang [Tue, 20 Jun 2023 19:42:42 +0000 (15:42 -0400)]
[mono][tasks] Extract EmitWasmBundle into generic EmitBundle task and enable bundling in mono self-contained library (#84191)
* [tasks] Move EmitWasmBundle out of wasm specific task
* [tasks] Make EmitBundle more generic
* [tasks] Generate EmitBundle task and replace invocations of old task
* Extend preloading assemblies with mono_assembly_open
* [LibraryBuilder] Integrate bundling
* Refactor LibraryBuilder targets to isolate Bundling
* [mono] Add mono_get_bundled_assembly in preparation for bundled runtimeconfig data
* [mono][librarymode] Bundle runtimeconfig.bin
* Address feedback
Redesign bundling apis to handle various types of resources
Move bundle registering into generated function and handle all forms of bundle registering there
Move bundling api into assembly.c and prototypes into assembly-internals.h
Rename assemblies to resources in bundling context
Include EmitBundle task in wasm nuget
Declare macro for case invariant string comparison
Add documentation for bundling apis
* Consolidate runtimeconfig functions
* [LibraryBuilder] Enable bundling by default
* Handle pdb bundling
* Default EmitBundle callback function to mono_add_bundled_resource
* Combine bundled resource types into generic bundled data
* Add api to free memory dynamically allocated for the bundled resources hash table
* Prepend enum and entries with mono
* Move bundling api into separate source and header
* Fix source file name
* Prefix struct with Mono
* Integrate new bundling api into mono debug
* Fix types in autoinit
* [mono] Base bundling apis around preallocation of MonoBundled*Resource structs
* [mono] Clean up bundled assembly and satellite assembly search
* [mono] Incorporate new bundling APIs into bundled resource retrievals
* [EmitBundle][task] Add templates for bundled source files
Templates added:
- header mirroring bundled-resources-internals.h and MonoBundledSatelliteAssembly
- source file template for each resource's byte data and size
- individual templates to build preallocated MonoBundled*Resource structs
- source file template to hold preallocated MonoBundled*Resource structs
* [EmitBundle] Enable consolidation of bundled resource symbols
* [EmitBundle] Generate bundled source file to preallocate MonoBundled*Resources
* [EmitBundle] Output symbol to resource type map for populating function to add bundled resources
* [LibraryBuilder] Generate source file to add preallocated MonoBundled*Resources
* [LibraryBuilder] Incorporate EmitBundle templates into targets flow
* [EmitBundle] Move bundle registration back into EmitBundle
[EmitBundle] Leverage Emit for file generation
* Update invocations of EmitBundle task
* Address feedback
Migrate logic to check hash table for assemblies or satellite assemblies back to bundled-resources.c
Prepend apis with consistent mono_bundled_resources prefix
* [mono] Prefer C99 compliant types for partially exposed APIs
* Address various fixups
Remove unused function
Remove unnecessary string duplication
Add length checks for comparisons
Fix spacing in MonoBundledResource structs
Avoid g_hash_table_lookup_extended precondition macro assertion fail
* Combine preallocation registration and rename to templates
* Prefer symbol data over symfile
* Differentiate resource name and symbol
* Update invocations of EmitBundle
* Add inlined resource getters
* Add unique id field for each MonoBundledResource
* Include culture information for satellite resources
* Generate preallocation and registration source file iff BundleFile provided
* Generate output itemgroup detailing resource data
* Leverage new bundling api from old bundling api and deprecate
* [mono][debug] Migrate symbol data registration to new bundling api
* Remove symbol data from MonoBundleSatelliteAssemblyResource
* Directly determine resource type
* Update bundled header and switch to non internal types
Update bundled header to declare resource symbols and registration function
Switch types from mono internal types to C99 compliant as bundling apis are partially exposed to public
* Update Autoinitialization logic to leverage bundled runtimeconfig symbols
* Integrate header into bundled source
* Add functions to free allocated MonoBundledResources
* Fixup Leverage new bundling api from old bundling api and deprecate
* Fixup Address various fixups
* Remove unnecessary includes
* Fix trailing commas in structs and extra lines in generated files
* Move specific bundled resource getters into source file
* Various cleanups
Instantiating boolean variables
More direct insertion into hash table
Removing unnecessary assertions
Proper type casting
Preferring symbol_data over symfile
Adding void to prototype functions arg
Fix indentation and spacing
Prefer id over name
* Cleanup logic surrounding EmitBundle task invocations
* Rename output metadata to DataLenSymbol and DataLenSymbolValue
* Simplify bundled resource hashtable insertion
* Cleanup variable instantiation
* Fixup mono-debug
* Cleanup header
* fixup wasi
* fixup template format
* Add flexibility to auto initialize runtime without bundled runtimeconfig
* Various fixups
* Use g_free for memory allocated through glib apis
* Move condition end tag into LibraryBuilder to avoid empty line and cluttered line
* Add bundled resource getters to access data values without MonoBundledResource structs
* Emit one object file for single resource data source file mode
* Rename resource size symbol
* Use public friendly API in file linking towards runtime
* Cleanup types populated through bundled resource getters
* Move extern block completely to LibraryBuilder side
* Update EmitBundle task invocations to use BundleRegistrationFunctionName
* Refactor EmitBundle to account for timezone duplicate resource contents
* wip
* wip
* WIP
* [mono] Alias assemblies with known extension in bundled resources hashtable
* [tasks] Calculate destination files within EmitBundle task itself
* Update invocations of EmitBundle to grab DestinationFiles from output
* Guard webcil specific logic
* Include OutputDirectory path into output destinationFiles
* Fix debugger tests and memory leak
* Various fixups and Documentation
* Try adding resources with known assembly extensions as dll
* Revert to custom hash and equal without WEBCIL guard
This reverts commit
0e3344214e306709c68ef0aa453863b9f79563ed.
* Consolidate file and bundledResource variables
* Add culture metadata to SatelliteAssembly resources
* Truncate Encoding for readability
* Enable custom hash for bundling resources on wasm
* Leverage new bundling api for wasm wasi drivers
* Add helper to dynamically add bundled assembly and satellite_assembly resources
* Limit when bundled resources can be added and freed
* Restrict MonoBundledResource getters
* Restrict exposure of underlying MonoBundledAssemblyResource modification
* WIP
* Free function chaining.
* Fix crash when output parameters are NULL.
* Fix WASM/WASI build errors.
* Align bundled resources registration struct
* [task] Check PE metadata to determine resource type
* Cleanup Satellite Assembly bundling
* Address Feedback
* Split MonoBundledAssemblyResource getter
* Addressing more feedback
* Validate OutputDirectory
---------
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: lateralusX <lateralusx.github@gmail.com>
Jakob Botsch Nielsen [Tue, 20 Jun 2023 19:40:33 +0000 (21:40 +0200)]
SPMI: Handle -jitoption for tpdiff (#87818)
Thays Grazia [Tue, 20 Jun 2023 19:24:00 +0000 (16:24 -0300)]
[wasm][debugger] Remove usage of GeneratedRegex (#86911)
* avoid breaking change
* Addressin @radical comments
* Addressing @radical comments
Layomi Akinrinade [Tue, 20 Jun 2023 18:56:24 +0000 (11:56 -0700)]
Support config binding ext methods in options assembly (#87733)
Jakob Botsch Nielsen [Tue, 20 Jun 2023 17:43:57 +0000 (19:43 +0200)]
JIT: Insert readbacks eagerly in physical promotion (#87809)
Physical promotion currently inserts readbacks (reading the struct local
back into the field local) as COMMAs right before a local that needs it.
This is not right for QMARKs where it may mean we only end up reading
back the local in one of the branches.
This change makes physical promotion insert readbacks as new statements
before any statement that is going to need it. While we could do this
for QMARKs only, it is done for any statement indiscriminately since it
has two benefits:
1. It allows forward-sub to kick in for the readbacks, which can lead to
a contained LCL_FLD
2. It stops us from disabling local copy prop by avoiding the creation
of embedded stores.
The existing logic is still necessary to keep in case the readback was
marked within the same tree.
Fix #87508
Eirik Tsarpalis [Tue, 20 Jun 2023 17:43:29 +0000 (18:43 +0100)]
Fix a number of source generator bugs. (#87796)
* Fix a number of source generator bugs.
* Extract type attribute processing to a standalone method.
Eirik Tsarpalis [Tue, 20 Jun 2023 17:36:56 +0000 (18:36 +0100)]
Ensure that parsed JsonElement values are never marked as disposable. (#87766)
dotnet-maestro[bot] [Tue, 20 Jun 2023 16:32:00 +0000 (11:32 -0500)]
Update dependencies from https://github.com/dotnet/roslyn build
20230619.4 (#87816)
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.7.0-2.23301.9 -> To Version 4.7.0-2.23319.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Aleksey Kliger (λgeek) [Tue, 20 Jun 2023 16:10:54 +0000 (12:10 -0400)]
minor WBT fixups for local testing (#87817)
Now that there's no perftrace variant, the _BuildVariants item group
could be empty. Also replace "three" by "two" and 3 by 2 in a few places
Stephen Toub [Tue, 20 Jun 2023 15:53:12 +0000 (11:53 -0400)]
Change Parallel to use Environment.TickCount64 (#87800)
* Change Parallel to use Environment.TickCount64
Avoid wraparound issues from using Environment.TickCount.
* Update src/libraries/System.Threading.Tasks.Parallel/src/System/Threading/Tasks/TaskReplicator.cs
Co-authored-by: Dan Moseley <danmose@microsoft.com>
---------
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Alexander Köplinger [Tue, 20 Jun 2023 15:48:48 +0000 (17:48 +0200)]
Support relative path for ICU_DAT_FILE_PATH on iOS/tvOS/Catalyst (#87813)
We consider it relative to the app bundle root.
Required for https://github.com/xamarin/xamarin-macios/issues/17877 and NativeAOT scenarios.
Michal Strehovský [Tue, 20 Jun 2023 15:16:39 +0000 (00:16 +0900)]
Fix using ICU with Bionic and NativeAOT (#87806)
I blindly copied a piece of configuration from Mono but System.Globalization.Native is built elsewhere for NativeAOT.
Michal Strehovský [Tue, 20 Jun 2023 15:14:10 +0000 (00:14 +0900)]
Fix symbol stripping on Windows (#87802)
`&&` and newlines don't play well on Windows. Separate this into multiple Exec tasks.
Pavel Savara [Tue, 20 Jun 2023 11:41:50 +0000 (13:41 +0200)]
[browser][MT] fix library tests, remove MonoWasmBuildVariant=perftrace (#87549)
Juan Hoyos [Tue, 20 Jun 2023 09:17:03 +0000 (02:17 -0700)]
Update version of MSDia and default to using shipped versions (#87782)
Michal Strehovský [Tue, 20 Jun 2023 08:28:25 +0000 (17:28 +0900)]
Invoke `where` with `/Q` when looking for tools (#87803)
Avoids printing `INFO: Could not find files for the given pattern(s).` to build output.
dotnet bot [Tue, 20 Jun 2023 07:02:45 +0000 (09:02 +0200)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2205134 (#87788)
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2204780
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2204780
Vlad Brezae [Tue, 20 Jun 2023 06:08:35 +0000 (09:08 +0300)]
[mono][mini] Fix conversion from r4/r8 to native u (#85964)
* [mono][mini] Fix conversion from r4/r8 to native u
When converting from float point to unsigned integer, we always do a conversion to u8, then do a simple integer conversion with range checks. The problem is that the first conversion to u8 pushes a STACK_I8 and doing a further conversion to u8 is not actually a nop since it will throw if the result of the previous conversion is negative.
* Enable tests
* [mono][jit] Reuse conv ovf methods used by interpreter
These follow CoreCLR implementation and don't rely on undefined behavior from out of range conversions.
David Wrighton [Tue, 20 Jun 2023 03:32:08 +0000 (20:32 -0700)]
Fix outerloop CI error (#87789)
* Fix issue where type validation checker failed to instantiate signature before performing signature comparison
Jeremy Koritzinsky [Tue, 20 Jun 2023 03:18:18 +0000 (20:18 -0700)]
Add missing Free methods for our Com interface marshallers. (#87777)
James Newton-King [Tue, 20 Jun 2023 03:16:01 +0000 (11:16 +0800)]
Add DebuggerDisplay to Logger and Logger<T> (#87754)
Tanner Gooding [Tue, 20 Jun 2023 00:55:56 +0000 (17:55 -0700)]
Ensure that the various Min and Max APIs are accelerated where possible (#87641)
* Updating Math.Max and Math.Min to utilize AVX512 when available
* Ensure that Single/Double APIs can be directly handled as intrinsic
* Ensure that the various Min and Max APIs are accelerated where possible
* Don't include ILogB for the time being
* Ensure FixupScalar is passed all 4 parameters
* Apply suggestions from code review
Zoltan Varga [Tue, 20 Jun 2023 00:41:17 +0000 (20:41 -0400)]
[mono][aot] Fix an assertion. (#87692)
Fixes https://github.com/dotnet/runtime/issues/87682.
Tanner Gooding [Tue, 20 Jun 2023 00:19:59 +0000 (17:19 -0700)]
Make idSmallCns signed to allow including -1 (#87373)
* Make idSmallCns signed on xarch
* Ensure EMITTER_STATS are correctly tracked
* Use signed _idSmallCns on other platforms as well
* Have EMITTER_STATS track additional information about constants
* Also track whether the constant fits into 8, 16, or 32-bits
* Fix the formatting/ordering of the EMITTER_STATS header
* Ensure the EMITTER_STATS header covers all the instrDesc types
* Ensure that instrDesc counts are all being tracked by EMITTER_STATS
* Apply suggestions from code review
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
---------
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
Aleksey Kliger (λgeek) [Mon, 19 Jun 2023 23:51:49 +0000 (19:51 -0400)]
fix mono HelloWorld sample (#87778)
* fix mono HelloWorld sample
Set SelfContained=true. Otherwise we get this when trying to run the
app:
```
./artifacts/bin/H
elloWorld/arm64/Release/osx-arm64/publish/HelloWorld
You must install or update .NET to run this application.
App: /Users/alklig/work/dotnet-runtime/runtime-review/artifacts/bin/HelloWorld/arm64/Release/osx-arm64/publish/HelloWorld
```
* fix samples
Viktor Hofer [Mon, 19 Jun 2023 21:56:20 +0000 (23:56 +0200)]
Update generators.targets (#87784)
Tanner Gooding [Mon, 19 Jun 2023 21:55:20 +0000 (14:55 -0700)]
Expose AVX512 Compare and BlendVariable APIs (#87404)
* Expose AVX512 Compare APIs
* Expose AVX512 Compare Tests
* Ensure AVX512 Compare are supported by the JIT
* Expose AVX512 BlendVariable APIs
* Expose AVX512 BlendVariable Tests
* Ensure AVX512 BlendVariable is supported by the JIT
* Apply formatting patch
* Ensure the register is sign-extended for vblendvps
xtqqczze [Mon, 19 Jun 2023 21:43:38 +0000 (22:43 +0100)]
Use pairwise load in `WidenAsciiToUtf16` (#87737)
Justin Anderson [Mon, 19 Jun 2023 21:36:58 +0000 (14:36 -0700)]
Unconditionally suppress IL2026 for StartupHookProvider.CallStartupHook (#87779)
Viktor Hofer [Mon, 19 Jun 2023 21:27:38 +0000 (23:27 +0200)]
Use analyzers from targeting pack for NetCoreAppCurrent (#87726)
* Use analyzers from targeting pack for NetCoreAppCurrent
Fixes that analyzer failures didn't show-up in #74897
Add analyzers to the frameworklist that OOB projects in src/libraries
use, and only auto ProjectReference the analyzers in generators.targets
when not using the analyzers from the targeting pack.
Also move the generator projects related code into a separate file.
Continuation of https://github.com/dotnet/runtime/pull/75093
* Fix project build
* Add missing reference to Regex tests
* Add missing generators for netfx build
* Fix paht in test project
* Fix typo
* Disable runtime marshalling for SharedTypes.csproj
* Disable runtime marshalling for NativeExports.csproj
Parker Bibus [Mon, 19 Jun 2023 21:09:15 +0000 (14:09 -0700)]
[PERF] Fix crossgen zip missing error (#87662)
Only run ArchiveFiles for runKinds that use it.
Alexander Radchenko [Mon, 19 Jun 2023 21:05:54 +0000 (03:05 +0600)]
Fixed System.Tests.DateTimeTests.TryFormat_MatchesToString test (#87693)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Jakob Botsch Nielsen [Mon, 19 Jun 2023 20:30:19 +0000 (22:30 +0200)]
JIT: Cache significant segments computations for layouts in physical promotion (#87745)
Before:
JitEnablePhysicalPromotion=1
benchmarks.run_pgo:
Total num SignificantSegments calls: 2543
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 312 count ( 37% of total)
2 .. 2 ===> 58 count ( 44% of total)
3 .. 3 ===> 181 count ( 66% of total)
4 .. 5 ===> 191 count ( 90% of total)
6 .. 10 ===> 66 count ( 98% of total)
11 .. 20 ===> 12 count ( 99% of total)
21 .. 35 ===> 4 count (100% of total)
36 .. 50 ===> 0 count (100% of total)
51 .. 75 ===> 0 count (100% of total)
76 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
libraries.pmi:
Total num SignificantSegments calls: 28525
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 1154 count ( 19% of total)
2 .. 2 ===> 1878 count ( 50% of total)
3 .. 3 ===> 809 count ( 64% of total)
4 .. 5 ===> 782 count ( 77% of total)
6 .. 10 ===> 831 count ( 91% of total)
11 .. 20 ===> 357 count ( 97% of total)
21 .. 35 ===> 101 count ( 98% of total)
36 .. 50 ===> 29 count ( 99% of total)
51 .. 75 ===> 29 count ( 99% of total)
76 .. 100 ===> 8 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
JitEnablePhysicalPromotion=1;JitStressModeNames=STRESS_NO_OLD_PROMOTION
benchmarks.run_pgo:
Total num SignificantSegments calls: 90839
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 681 count ( 7% of total)
2 .. 2 ===> 1035 count ( 17% of total)
3 .. 3 ===> 1635 count ( 34% of total)
4 .. 5 ===> 1053 count ( 45% of total)
6 .. 10 ===> 3162 count ( 78% of total)
11 .. 20 ===> 814 count ( 87% of total)
21 .. 35 ===> 931 count ( 96% of total)
36 .. 50 ===> 215 count ( 99% of total)
51 .. 75 ===> 69 count ( 99% of total)
76 .. 100 ===> 4 count ( 99% of total)
101 .. 150 ===> 4 count ( 99% of total)
151 .. 250 ===> 0 count ( 99% of total)
251 .. 500 ===> 11 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
libraries.pmi:
Total num SignificantSegments calls: 277708
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 6993 count ( 17% of total)
2 .. 2 ===> 8197 count ( 38% of total)
3 .. 3 ===> 5225 count ( 51% of total)
4 .. 5 ===> 5380 count ( 65% of total)
6 .. 10 ===> 7141 count ( 83% of total)
11 .. 20 ===> 4094 count ( 93% of total)
21 .. 35 ===> 1627 count ( 97% of total)
36 .. 50 ===> 519 count ( 98% of total)
51 .. 75 ===> 292 count ( 99% of total)
76 .. 100 ===> 98 count ( 99% of total)
101 .. 150 ===> 59 count ( 99% of total)
151 .. 250 ===> 11 count ( 99% of total)
251 .. 500 ===> 4 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
After:
benchmarks.run_pgo:
Total num SignificantSegments calls: 915
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 741 count ( 89% of total)
2 .. 2 ===> 75 count ( 99% of total)
3 .. 3 ===> 8 count (100% of total)
4 .. 5 ===> 0 count (100% of total)
6 .. 10 ===> 0 count (100% of total)
11 .. 20 ===> 0 count (100% of total)
21 .. 35 ===> 0 count (100% of total)
36 .. 50 ===> 0 count (100% of total)
51 .. 75 ===> 0 count (100% of total)
76 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
libraries.pmi:
Total num SignificantSegments calls: 9061
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 4172 count ( 69% of total)
2 .. 2 ===> 1105 count ( 88% of total)
3 .. 3 ===> 416 count ( 95% of total)
4 .. 5 ===> 214 count ( 98% of total)
6 .. 10 ===> 67 count ( 99% of total)
11 .. 20 ===> 3 count ( 99% of total)
21 .. 35 ===> 1 count (100% of total)
36 .. 50 ===> 0 count (100% of total)
51 .. 75 ===> 0 count (100% of total)
76 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
JitEnablePhysicalPromotion=1;JitStressModeNames=STRESS_NO_OLD_PROMOTION
benchmarks.run_pgo:
Total num SignificantSegments calls: 15082
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 6709 count ( 69% of total)
2 .. 2 ===> 1735 count ( 87% of total)
3 .. 3 ===> 462 count ( 92% of total)
4 .. 5 ===> 471 count ( 97% of total)
6 .. 10 ===> 237 count (100% of total)
11 .. 20 ===> 0 count (100% of total)
21 .. 35 ===> 0 count (100% of total)
36 .. 50 ===> 0 count (100% of total)
51 .. 75 ===> 0 count (100% of total)
76 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
libraries.pmi:
Total uncached SignificantSegments calls: 68938
(Per context) SignificantSegments calls
<= 0 ===> 0 count ( 0% of total)
1 .. 1 ===> 24323 count ( 61% of total)
2 .. 2 ===> 8687 count ( 83% of total)
3 .. 3 ===> 3357 count ( 91% of total)
4 .. 5 ===> 2378 count ( 97% of total)
6 .. 10 ===> 789 count ( 99% of total)
11 .. 20 ===> 105 count ( 99% of total)
21 .. 35 ===> 1 count (100% of total)
36 .. 50 ===> 0 count (100% of total)
51 .. 75 ===> 0 count (100% of total)
76 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 250 ===> 0 count (100% of total)
251 .. 500 ===> 0 count (100% of total)
501 .. 1000 ===> 0 count (100% of total)
Jakob Botsch Nielsen [Mon, 19 Jun 2023 20:29:54 +0000 (22:29 +0200)]
JIT: Fix LocalUses::FindAccess (#87732)
The function is looking for access information with a specified type at
a specified offset, but was using the wrong list here. That would in
some cases with overlapping accesses cause us to fail to find the
Access. The net result is that we rarely end up not promoting some
induced accesses that we would otherwise promote.
Egor Bogatov [Mon, 19 Jun 2023 20:17:24 +0000 (22:17 +0200)]
Enable GDV with multiple guesses for NativeAOT (#87380)
Milos Kotlar [Mon, 19 Jun 2023 20:09:39 +0000 (22:09 +0200)]
Revert "Upgrade ios perf queue to osx 13 (#86574)" (#87780)
This reverts commit
da712842c32eeb34a97d7d2db927a22b4981ecfb.
Tomas Weinfurt [Mon, 19 Jun 2023 18:37:24 +0000 (20:37 +0200)]
add zero byte read to SslStream (#87563)
* add zero byte read to SslStream
* fix test
* Apply suggestions from code review
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* feedback
* add back missing line
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Viktor Hofer [Mon, 19 Jun 2023 17:31:33 +0000 (19:31 +0200)]
Make sure that intellisense files are copied (#87603)
Fixes https://github.com/dotnet/runtime/issues/87585
When looking at the 8.0 Preview 5 SDK, xml files are missing for certain
assemblies. This is likely because of the TargetFramework condition in
intellisense.targets. Instead of conditioning on the rid-less net8.0
TFM, use the sfx.proj which already assemblies the shared framework and
targeting pack layout to copy the documentation files.
Additionally, remove the XmlDocDir and copy the files into the targeting
pack folder which was a difference between the "real" targeting pack and
the "fake" one that libraries generates.
Kunal Pathak [Mon, 19 Jun 2023 16:40:16 +0000 (09:40 -0700)]
LSRA-throughput: Iterate over the regMaskTP instead all registers (#87424)
* replace for-loop with regMaspTP iterator
* jit format
* REVERT
* fix a bug
* address review feedback
* Add genFirstRegNumFromMaskAndToggle and genFirstRegNumFromMask
* Use actualRegistersMask
* jit format
* review feedback
* Inline BitScanForward
* fix build error
* remove commented code
Jakob Botsch Nielsen [Mon, 19 Jun 2023 16:20:58 +0000 (18:20 +0200)]
JIT: Add some limits in physical promotion (#87729)
Add limits on how many fields we promote in each struct and how many
total fields we promote. These limits are put in place to avoid
pathological cases; we do not hit any of them over all of our SPMI
collections (at least on win-x64).
The limits were selected based on histograms of physical promotion stats
over our collections. Here they are for some of the important
collections:
JitEnablePhysicalPromotion=1:
benchmarks.run_pgo:
```
(Per context) How many fields are promoted:
<= 0 ===> 1654 count ( 66% of total)
1 .. 1 ===> 206 count ( 75% of total)
2 .. 2 ===> 259 count ( 85% of total)
3 .. 3 ===> 127 count ( 90% of total)
4 .. 4 ===> 46 count ( 92% of total)
5 .. 5 ===> 30 count ( 93% of total)
6 .. 10 ===> 99 count ( 97% of total)
11 .. 15 ===> 17 count ( 98% of total)
16 .. 20 ===> 21 count ( 99% of total)
21 .. 30 ===> 16 count ( 99% of total)
31 .. 40 ===> 3 count (100% of total)
41 .. 50 ===> 0 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 200 ===> 0 count (100% of total)
201 .. 300 ===> 0 count (100% of total)
301 .. 400 ===> 0 count (100% of total)
401 .. 500 ===> 0 count (100% of total)
501 .. 700 ===> 0 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 980 count ( 39% of total)
1 .. 1 ===> 760 count ( 69% of total)
2 .. 2 ===> 423 count ( 86% of total)
3 .. 3 ===> 73 count ( 89% of total)
4 .. 4 ===> 30 count ( 90% of total)
5 .. 5 ===> 46 count ( 92% of total)
6 .. 6 ===> 181 count ( 99% of total)
7 .. 8 ===> 2 count (100% of total)
9 .. 10 ===> 0 count (100% of total)
11 .. 15 ===> 0 count (100% of total)
16 .. 20 ===> 0 count (100% of total)
21 .. 30 ===> 0 count (100% of total)
31 .. 50 ===> 0 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
libraries.pmi:
```
(Per context) How many fields are promoted:
<= 0 ===> 19677 count ( 76% of total)
1 .. 1 ===> 1717 count ( 83% of total)
2 .. 2 ===> 899 count ( 86% of total)
3 .. 3 ===> 616 count ( 89% of total)
4 .. 4 ===> 660 count ( 91% of total)
5 .. 5 ===> 285 count ( 92% of total)
6 .. 10 ===> 932 count ( 96% of total)
11 .. 15 ===> 377 count ( 98% of total)
16 .. 20 ===> 164 count ( 98% of total)
21 .. 30 ===> 165 count ( 99% of total)
31 .. 40 ===> 68 count ( 99% of total)
41 .. 50 ===> 28 count ( 99% of total)
51 .. 100 ===> 51 count ( 99% of total)
101 .. 150 ===> 14 count ( 99% of total)
151 .. 200 ===> 2 count ( 99% of total)
201 .. 300 ===> 0 count ( 99% of total)
301 .. 400 ===> 1 count (100% of total)
401 .. 500 ===> 0 count (100% of total)
501 .. 700 ===> 0 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 6218 count ( 31% of total)
1 .. 1 ===> 5075 count ( 57% of total)
2 .. 2 ===> 1440 count ( 65% of total)
3 .. 3 ===> 1859 count ( 74% of total)
4 .. 4 ===> 2682 count ( 88% of total)
5 .. 5 ===> 974 count ( 93% of total)
6 .. 6 ===> 624 count ( 96% of total)
7 .. 8 ===> 533 count ( 99% of total)
9 .. 10 ===> 37 count ( 99% of total)
11 .. 15 ===> 65 count ( 99% of total)
16 .. 20 ===> 2 count ( 99% of total)
21 .. 30 ===> 0 count ( 99% of total)
31 .. 50 ===> 1 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
realworld:
```
(Per context) How many fields are promoted:
<= 0 ===> 1807 count ( 54% of total)
1 .. 1 ===> 407 count ( 66% of total)
2 .. 2 ===> 230 count ( 73% of total)
3 .. 3 ===> 146 count ( 77% of total)
4 .. 4 ===> 122 count ( 81% of total)
5 .. 5 ===> 86 count ( 83% of total)
6 .. 10 ===> 218 count ( 90% of total)
11 .. 15 ===> 147 count ( 94% of total)
16 .. 20 ===> 59 count ( 96% of total)
21 .. 30 ===> 66 count ( 98% of total)
31 .. 40 ===> 19 count ( 98% of total)
41 .. 50 ===> 12 count ( 99% of total)
51 .. 100 ===> 14 count ( 99% of total)
101 .. 150 ===> 3 count ( 99% of total)
151 .. 200 ===> 2 count ( 99% of total)
201 .. 300 ===> 4 count ( 99% of total)
301 .. 400 ===> 0 count ( 99% of total)
401 .. 500 ===> 0 count ( 99% of total)
501 .. 700 ===> 2 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 2012 count ( 32% of total)
1 .. 1 ===> 1421 count ( 55% of total)
2 .. 2 ===> 499 count ( 63% of total)
3 .. 3 ===> 521 count ( 71% of total)
4 .. 4 ===> 565 count ( 80% of total)
5 .. 5 ===> 446 count ( 87% of total)
6 .. 6 ===> 503 count ( 96% of total)
7 .. 8 ===> 139 count ( 98% of total)
9 .. 10 ===> 71 count ( 99% of total)
11 .. 15 ===> 34 count ( 99% of total)
16 .. 20 ===> 3 count (100% of total)
21 .. 30 ===> 0 count (100% of total)
31 .. 50 ===> 0 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
JitEnablePhysicalPromotion=1;JitStressModeNames=STRESS_NO_OLD_PROMOTION:
benchmarks.run_pgo:
```
(Per context) How many fields are promoted:
<= 0 ===> 1654 count ( 66% of total)
1 .. 1 ===> 206 count ( 75% of total)
2 .. 2 ===> 259 count ( 85% of total)
3 .. 3 ===> 127 count ( 90% of total)
4 .. 4 ===> 46 count ( 92% of total)
5 .. 5 ===> 30 count ( 93% of total)
6 .. 10 ===> 99 count ( 97% of total)
11 .. 15 ===> 17 count ( 98% of total)
16 .. 20 ===> 21 count ( 99% of total)
21 .. 30 ===> 16 count ( 99% of total)
31 .. 40 ===> 3 count (100% of total)
41 .. 50 ===> 0 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 150 ===> 0 count (100% of total)
151 .. 200 ===> 0 count (100% of total)
201 .. 300 ===> 0 count (100% of total)
301 .. 400 ===> 0 count (100% of total)
401 .. 500 ===> 0 count (100% of total)
501 .. 700 ===> 0 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 980 count ( 39% of total)
1 .. 1 ===> 760 count ( 69% of total)
2 .. 2 ===> 423 count ( 86% of total)
3 .. 3 ===> 73 count ( 89% of total)
4 .. 4 ===> 30 count ( 90% of total)
5 .. 5 ===> 46 count ( 92% of total)
6 .. 6 ===> 181 count ( 99% of total)
7 .. 8 ===> 2 count (100% of total)
9 .. 10 ===> 0 count (100% of total)
11 .. 15 ===> 0 count (100% of total)
16 .. 20 ===> 0 count (100% of total)
21 .. 30 ===> 0 count (100% of total)
31 .. 50 ===> 0 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
libraries.pmi:
```
(Per context) How many fields are promoted:
<= 0 ===> 37477 count ( 48% of total)
1 .. 1 ===> 7987 count ( 58% of total)
2 .. 2 ===> 7292 count ( 68% of total)
3 .. 3 ===> 2988 count ( 72% of total)
4 .. 4 ===> 4927 count ( 78% of total)
5 .. 5 ===> 1835 count ( 81% of total)
6 .. 10 ===> 7147 count ( 90% of total)
11 .. 15 ===> 2694 count ( 93% of total)
16 .. 20 ===> 1667 count ( 95% of total)
21 .. 30 ===> 1346 count ( 97% of total)
31 .. 40 ===> 758 count ( 98% of total)
41 .. 50 ===> 335 count ( 99% of total)
51 .. 100 ===> 510 count ( 99% of total)
101 .. 150 ===> 107 count ( 99% of total)
151 .. 200 ===> 34 count ( 99% of total)
201 .. 300 ===> 12 count ( 99% of total)
301 .. 400 ===> 2 count ( 99% of total)
401 .. 500 ===> 2 count (100% of total)
501 .. 700 ===> 0 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 102669 count ( 39% of total)
1 .. 1 ===> 57467 count ( 61% of total)
2 .. 2 ===> 69010 count ( 88% of total)
3 .. 3 ===> 11494 count ( 92% of total)
4 .. 4 ===> 16887 count ( 99% of total)
5 .. 5 ===> 1043 count ( 99% of total)
6 .. 6 ===> 618 count ( 99% of total)
7 .. 8 ===> 579 count ( 99% of total)
9 .. 10 ===> 57 count ( 99% of total)
11 .. 15 ===> 71 count ( 99% of total)
16 .. 20 ===> 5 count ( 99% of total)
21 .. 30 ===> 0 count ( 99% of total)
31 .. 50 ===> 1 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
realworld:
```
(Per context) How many fields are promoted:
<= 0 ===> 5617 count ( 41% of total)
1 .. 1 ===> 1657 count ( 53% of total)
2 .. 2 ===> 1164 count ( 62% of total)
3 .. 3 ===> 522 count ( 66% of total)
4 .. 4 ===> 878 count ( 72% of total)
5 .. 5 ===> 472 count ( 76% of total)
6 .. 10 ===> 1383 count ( 86% of total)
11 .. 15 ===> 619 count ( 91% of total)
16 .. 20 ===> 335 count ( 93% of total)
21 .. 30 ===> 361 count ( 96% of total)
31 .. 40 ===> 165 count ( 97% of total)
41 .. 50 ===> 101 count ( 98% of total)
51 .. 100 ===> 177 count ( 99% of total)
101 .. 150 ===> 38 count ( 99% of total)
151 .. 200 ===> 18 count ( 99% of total)
201 .. 300 ===> 12 count ( 99% of total)
301 .. 400 ===> 1 count ( 99% of total)
401 .. 500 ===> 1 count ( 99% of total)
501 .. 700 ===> 2 count (100% of total)
701 .. 1000 ===> 0 count (100% of total)
1001 .. 2000 ===> 0 count (100% of total)
2001 .. 3000 ===> 0 count (100% of total)
3001 .. 4000 ===> 0 count (100% of total)
4001 .. 5000 ===> 0 count (100% of total)
(Per struct) How many fields are promoted:
<= 0 ===> 23630 count ( 37% of total)
1 .. 1 ===> 13267 count ( 59% of total)
2 .. 2 ===> 16731 count ( 86% of total)
3 .. 3 ===> 4677 count ( 93% of total)
4 .. 4 ===> 2727 count ( 97% of total)
5 .. 5 ===> 492 count ( 98% of total)
6 .. 6 ===> 496 count ( 99% of total)
7 .. 8 ===> 150 count ( 99% of total)
9 .. 10 ===> 92 count ( 99% of total)
11 .. 15 ===> 41 count ( 99% of total)
16 .. 20 ===> 3 count ( 99% of total)
21 .. 30 ===> 3 count ( 99% of total)
31 .. 50 ===> 3 count (100% of total)
51 .. 100 ===> 0 count (100% of total)
101 .. 200 ===> 0 count (100% of total)
201 .. 400 ===> 0 count (100% of total)
```
Stephen Toub [Mon, 19 Jun 2023 16:00:01 +0000 (12:00 -0400)]
Fix ParseQuoteString handling of non-ASCII chars (#87756)
Oleksandr Didyk [Mon, 19 Jun 2023 14:42:29 +0000 (16:42 +0200)]
add review comment to sb files (#87003)