Jeremy Koritzinsky [Tue, 27 Jun 2023 02:35:40 +0000 (19:35 -0700)]
Allow unnecessary [In, Out] attributes on blittable arrays and report them as unnecessary (#87774)
* Change our '[In, Out]' attribute handling to have a concept of 'unnecessary but not invalid' to enable us in the future to report a non-fatal diagnostic.
* WIP enable unnecessary diagnostic in LibraryImportGenerator'
* Hook up diagnostics and add tests for LibraryImportGenerator
* Hook up diagnostics for ComInterfaceGenerator as well
* Update XLF
* Don't reference the live LibraryImportGenerator when building .NET 7 assets. Use the inbox instead.
* PR feedback
* Fix merge
Egor Bogatov [Mon, 26 Jun 2023 22:42:28 +0000 (00:42 +0200)]
Add newguid.bat/sh to update jiteeversionguid.h (#88022)
Jakob Botsch Nielsen [Mon, 26 Jun 2023 21:58:33 +0000 (23:58 +0200)]
JIT: Stop setting class handles for promoted parameter SIMD fields (#87967)
Having these class handles floating around in the JIT is problematic
during prejit where the JIT-EE calls allowed on "random" type handles
(in this case the type of a field of a struct) is limited.
Precursor to #87917
Katelyn Gadd [Mon, 26 Jun 2023 20:36:09 +0000 (13:36 -0700)]
[wasm] Shorter jiterp encoding for zero v128 constants; exploit natural stack alignment (#88058)
* Add support for v128 trace locals
* Use a default-initialized local for zero v128 constants
* Attempt to exploit natural alignment for local loads and stores more often
Jeremy Koritzinsky [Mon, 26 Jun 2023 20:17:01 +0000 (13:17 -0700)]
Fall back to the forwarder generator for invalid [In, Out] attributes instead of using the already-selected generator with additional diagnostics (#88055)
Milos Kotlar [Mon, 26 Jun 2023 18:52:13 +0000 (20:52 +0200)]
Add support for building host bits when targeting iOS platforms with Native AOT (#87985)
Milos Kotlar [Mon, 26 Jun 2023 18:30:56 +0000 (20:30 +0200)]
[mono][infra] Remove iossimulator runtime-staging pipeline (#88036)
* Remove iossimulator runtime-staging pipeline
Jeremy Koritzinsky [Mon, 26 Jun 2023 16:48:17 +0000 (09:48 -0700)]
Enable scoped parameters in signatures of source-generated interop methods (#87987)
Milos Kotlar [Mon, 26 Jun 2023 16:27:46 +0000 (18:27 +0200)]
Add SelfContained property to run ILLink targets (#88042)
Eirik Tsarpalis [Mon, 26 Jun 2023 15:38:12 +0000 (16:38 +0100)]
Document new STJ diagnostics and fix diagnostic id conflicts. (#87980)
Aaron Robinson [Mon, 26 Jun 2023 14:45:21 +0000 (10:45 -0400)]
Add example to doc for UnsafeAccessor (#88040)
Stephen Toub [Mon, 26 Jun 2023 13:50:16 +0000 (09:50 -0400)]
Remove optimizeForReading overloads from FrozenDictionary/Set (#87988)
We initially added these as a mitigation primarily for construction potentially being super slow. Now that enough optimization has been done to mitigate those performance concerns, we can get rid of the original mitgation and just have the surface area we initially wanted.
t-mustafin [Mon, 26 Jun 2023 12:56:37 +0000 (15:56 +0300)]
[RISC-V] Fix GenericPInvokeCalliHelper arg (#87928)
Marie Píchová [Mon, 26 Jun 2023 11:47:16 +0000 (13:47 +0200)]
[HTTP/3] Fix handling cancelation during QUIC connection establishment (#87971)
* Fix handling cancelation during QUIC connection establishment
* Feedback
* Recreate client for each reconnect attempt
dotnet bot [Mon, 26 Jun 2023 11:11:48 +0000 (13:11 +0200)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2208985 (#87991)
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2208423
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2208423
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2208423
Stephen Toub [Mon, 26 Jun 2023 10:22:40 +0000 (06:22 -0400)]
Port FrozenDictionary's length bucket optimizations to FrozenSet (#87989)
Improvements were recently made for construction perf to the length bucket strategy in FrozenDictionary, but the same for FrozenSet were missed. Port them over.
Egor Bogatov [Mon, 26 Jun 2023 09:59:38 +0000 (11:59 +0200)]
Introduce DOTNET_JITAllowOptionalRelocs (#88008)
Michal Strehovský [Mon, 26 Jun 2023 02:16:43 +0000 (11:16 +0900)]
Fix `--make-repro-path` handling of "ILLinker compatible" parameters (#87909)
* Fix `--make-repro-path` handling of "ILLinker compatible" parameters
We have a couple command line options that for compat with ILLinker accept either file names, or assembly names.
The zip packages created with `--make-repro-path` don't work well when such parameters are specified because `--make-repro-path` doesn't know whether to de-illinkerify them (the logic is general-purpose and shared with other tools). If this was a file name, the generated response file would be read as an assembly name (because the file no longer exists when we run repro).
The fix is to stop accepting illinkerified command line arguments and instead shim this in MSBuild. That way no transformation is needed - these should always be treated as assembly names in ILC.
Fixes #79032.
Fixes #78752.
Stephen Toub [Sun, 25 Jun 2023 18:54:18 +0000 (14:54 -0400)]
Add Uri : ISpanFormattable (#88012)
* Add Uri : ISpanFormattable
Implemented TryFormat by copying in the ToString implementation, manually expanding out each call, deleting all the cruft, and switching return strings to be span copies / writes.
* Update src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs
Dong-Heon Jung [Sun, 25 Jun 2023 13:37:48 +0000 (22:37 +0900)]
[RISC-V][JIT] Disable promotion for splitted args (#87855)
* [RISC-V][JIT] Reset lvIsRegArg in splitted arg
* Remove LA
* Updated based on the review
* Moved codes
Tarek Mahmoud Sayed [Sat, 24 Jun 2023 18:56:43 +0000 (11:56 -0700)]
Auto generate Event Ids in the logging source gen (#87892)
Maksim Golev [Sat, 24 Jun 2023 18:47:59 +0000 (22:47 +0400)]
Fix invalid datetimeoffset parsing (#87801)
Co-authored-by: Maksim Golev <mgolev@htc-cs.ru>
Michal Strehovský [Sat, 24 Jun 2023 03:48:56 +0000 (12:48 +0900)]
Add ConfigurationExtensions tests to NativeAOT exclusions (#87955)
Aaron Robinson [Sat, 24 Jun 2023 03:10:27 +0000 (23:10 -0400)]
Fix UnsafeAccessors with Relocs (#87986)
Andy Ayers [Sat, 24 Jun 2023 02:14:11 +0000 (19:14 -0700)]
JIT: don't set edge weights to zero for inconsistent profiles (#87947)
With the advent of scalable profile counters (or even with the old racing
counters) counts might be approximate or inconsistent. When we run across a
negative count during reconstruction, set the afflicted count to a small
positive value instead of to zero, since zero has special meaning to the JIT.
The aim is to reduce some of the benchmark instability we are seeing in #87324.
Depending on exact counter values, we can see different sets of edge weights
(and hence block weights) from run to run.
Layomi Akinrinade [Sat, 24 Jun 2023 00:19:56 +0000 (17:19 -0700)]
Use config binding generator in Microsoft.Extensions.Logging.Configuration assembly (#87935)
* Use config binding generator in Microsoft.Extensions.Logging.Configuration assembly
* Suppress package dependency to Microsoft.Extensions.Configuration.Binder
---------
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Jakob Botsch Nielsen [Fri, 23 Jun 2023 22:41:44 +0000 (00:41 +0200)]
JIT: Insert writebacks more eagerly (#87869)
Before starting replacements within a statement we now look for
physically promoted struct locals passed as call args and write those
back if necessary. This has two benefits:
1. It avoids creating a lot of comma nodes that we would otherwise
create
2. More importantly, it allows morph's last-use copy omission to kick in
because we no longer have complex trees as the argument.
Fix #87471
Jakob Botsch Nielsen [Fri, 23 Jun 2023 22:41:23 +0000 (00:41 +0200)]
JIT: Add a size component to the physical promotion heuristic (#87969)
The physical promotion heuristic was basing all decisions on an estimate
of execution cost. One problematic thing is that that estimate is scaled
by block weights. This does not allow us to take into account that
blocks that are never executed still has some cost associated with
increased code size.
This changes the accounting pass to track unweighted counts and uses the
unweighted counts as part of the heuristic. The new heuristic check is
then that we improve the execution cost, but also that we only allow up
to some amount of size regression depending on how many cycles we
estimate to gain.
Michał Petryka [Fri, 23 Jun 2023 20:59:04 +0000 (22:59 +0200)]
Handle GT_FTN_ADDR in gtClone (#87942)
Fixes #87888
David Wrighton [Fri, 23 Jun 2023 19:42:27 +0000 (12:42 -0700)]
TargetOS::IsMacOS was not properly handled on X64 (#87940)
* TargetOS::IsMacOS was not properly handled on X64
- Add a new concept of only determining the OS dynamically on Unix, and not all the various flags
- Funnel that through our build system
- Remove some legacy msbuild logic that is no longer used
* Fix formatting
Pavel Savara [Fri, 23 Jun 2023 18:45:04 +0000 (20:45 +0200)]
[browser][MT] Make HTTP and WS clients work (#87567)
Eirik Tsarpalis [Fri, 23 Jun 2023 18:04:00 +0000 (19:04 +0100)]
Add unsupported language detection to the STJ source generator (#87950)
* Make the STJ source generator detect unsupported C# language versions and emit error diagnostics.
* Fix whitespace
* Do not hardcode minimal lang version on diagnostic string.
Alexander Radchenko [Fri, 23 Jun 2023 17:35:53 +0000 (23:35 +0600)]
Matrix4x4.CreateViewport (#87748)
* Matrix4x4.CreateViewport
* Revert solution file
* 4x SIMD fields to get a lot better codegen
* result.W optimization
* lint
* lint
Vladimir Sadov [Fri, 23 Jun 2023 16:59:16 +0000 (09:59 -0700)]
[NativeAOT] ThreadStatics part 2 (#87148)
* introduced TlsRootNode
* remove RhGetInlinedThreadStaticStorage
* get rid of c++ tls_InlinedThreadStatics
* remove GetSingleTypeManager
* use .tdata on unix
* do not switch OSX just yet
* bring back tls_InlinedThreadStatics on Windows temporarily
* emit inline access on windows
* unify tls sections
* inline TLS access on linux-x64
* no need for RhpGetInlinedThreadStaticBase when inlining the access
* some comments and TODOs
* enable ILC generation of tls_InlinedThreadStatics on win-x64
* allow storage inlining in multimodule case when TLS access is inlined
* disable "Initial Exec" optimizations
* some comments and formatting
* follow up change that was suggested in the previous PR
* Remove use of RhpGetInlinedThreadstaticBase on x64
* Remove use of RhpGetInlinedThreadStaticBase on arm64
* removed tls_InlinedThreadStatics
* a few cleanups/typos
* fix after rebase
* inlined TLS support for linux-arm64
* PR feedback
Adam Sitnik [Fri, 23 Jun 2023 14:52:54 +0000 (16:52 +0200)]
Faster optimized frozen dictionary creation (4/n) (#87876)
* Instead of creating a dictionary of lists and a multi-dimensional array
we rent a single dimension array, where every bucket has five slots.
The bucket starts at (key.Length - minLength) * 5.
Each value is an index of the key from _keys array
or just -1, which represents "null".
Creation time is from 2 to 10 times faster
Indexing is 4-10% slower, but still and order of magnitude faster than Dictionary
* address code review feedback
Stephen Toub [Fri, 23 Jun 2023 14:43:42 +0000 (10:43 -0400)]
Add span-based static Create overloads for immutable collections (#87945)
Adam Sitnik [Fri, 23 Jun 2023 13:47:46 +0000 (15:47 +0200)]
Faster optimized frozen dictionary creation (5/n) (#87960)
* address code review feedback from previous PR: move the duplicated logic into a dedicated local method
* Based on our observations, in more than 99.5% of cases the number of buckets that meets our criteria is
at least twice as big as the number of unique hash codes.
+33% gain on average
dotnet-maestro[bot] [Fri, 23 Jun 2023 11:04:45 +0000 (07:04 -0400)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230621.5 (#87922)
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.23320.5 -> To Version 1.0.0-prerelease.23321.5
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Anton Firszov [Fri, 23 Jun 2023 10:59:03 +0000 (12:59 +0200)]
add timeouts to SendRecv_Stream_TCP_MultipleConcurrentReceives (#87943)
dotnet bot [Fri, 23 Jun 2023 09:57:48 +0000 (11:57 +0200)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2207912 (#87948)
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2207695
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2207695
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2207695
Michal Strehovský [Fri, 23 Jun 2023 07:23:16 +0000 (16:23 +0900)]
Delete CLSID cruft from reflection (#87907)
Fixes #72914.
t-mustafin [Fri, 23 Jun 2023 06:04:39 +0000 (09:04 +0300)]
[RISC-V] Fix constant preparing for shuffle stub (#87708)
Michal Strehovský [Fri, 23 Jun 2023 02:51:08 +0000 (11:51 +0900)]
Remove uses of SR.GetResourceString throughout the libs (#87912)
Fixes #81338.
David Wrighton [Thu, 22 Jun 2023 23:35:25 +0000 (16:35 -0700)]
Adjust determinism tests to store away the 2 different binaries that are generated (#87852)
- This should allow comparison without needing full rebuilds
- as well as comparison in cases where locally running the tooling doesn't result in equivalent results
- In addition, generate a map file to better understand what portion of the two files does not match
Finally, fix comparison failure identified by using the above tech:
- Fix culture sensive compare in instruction set handling
- This should be culture insensitive, as otherwise different machines can reliably generate different output due to different culture settings
Jeremy Koritzinsky [Thu, 22 Jun 2023 23:02:03 +0000 (16:02 -0700)]
Refactor how diagnostics work in the interop generators (#87700)
Aaron Robinson [Thu, 22 Jun 2023 22:38:33 +0000 (18:38 -0400)]
Block non-static application of UnsafeAccessor (#87936)
* Add negative test for generic scenarios
Austin Wise [Thu, 22 Jun 2023 21:13:05 +0000 (14:13 -0700)]
[NativeAOT] allow creating CCW for resurrected objects (#86882)
Jeremy Koritzinsky [Thu, 22 Jun 2023 20:33:57 +0000 (13:33 -0700)]
Update to the 22.04 debpkg image so we're on a newer ubuntu version. (#86803)
Jeremy Koritzinsky [Thu, 22 Jun 2023 20:32:24 +0000 (13:32 -0700)]
Block "Convert To LibraryImport" in more unsupported cases (#87503)
Jakob Botsch Nielsen [Thu, 22 Jun 2023 19:49:15 +0000 (21:49 +0200)]
JIT: Induce more physical promotions (#87810)
Two improvements:
1. Even if we haven't made any physical promotions it is still
beneficial to go through and try to induce promotions from
assignments between regular promotions and physical promotion
candidates (e.g. STORE_LCL_FLD(V00, LCL_VAR(V01)) where V00 is a
candidate and V01 is regularly promoted).
2. The logic to save candidate stores was missing the case where the
regularly promoted struct is the destination and the source is the
physical promotion candidate. Fix this by handling stores separately
from candidates.
This shows up as a TP regression, but the regression mainly comes from
the work around the new promotions (new IR, more work as part of
replacement), not from actually picking the promotions themselves.
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