platform/upstream/dotnet/runtime.git
15 months ago[mono][infra] Remove iossimulator runtime-staging pipeline (#88036)
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

15 months agoEnable scoped parameters in signatures of source-generated interop methods (#87987)
Jeremy Koritzinsky [Mon, 26 Jun 2023 16:48:17 +0000 (09:48 -0700)]
Enable scoped parameters in signatures of source-generated interop methods (#87987)

15 months agoAdd SelfContained property to run ILLink targets (#88042)
Milos Kotlar [Mon, 26 Jun 2023 16:27:46 +0000 (18:27 +0200)]
Add SelfContained property to run ILLink targets (#88042)

15 months agoDocument new STJ diagnostics and fix diagnostic id conflicts. (#87980)
Eirik Tsarpalis [Mon, 26 Jun 2023 15:38:12 +0000 (16:38 +0100)]
Document new STJ diagnostics and fix diagnostic id conflicts. (#87980)

15 months agoAdd example to doc for UnsafeAccessor (#88040)
Aaron Robinson [Mon, 26 Jun 2023 14:45:21 +0000 (10:45 -0400)]
Add example to doc for UnsafeAccessor (#88040)

15 months agoRemove optimizeForReading overloads from FrozenDictionary/Set (#87988)
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.

15 months ago[RISC-V] Fix GenericPInvokeCalliHelper arg (#87928)
t-mustafin [Mon, 26 Jun 2023 12:56:37 +0000 (15:56 +0300)]
[RISC-V] Fix GenericPInvokeCalliHelper arg (#87928)

15 months ago[HTTP/3] Fix handling cancelation during QUIC connection establishment (#87971)
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

15 months agoLocalized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 220898...
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

15 months agoPort FrozenDictionary's length bucket optimizations to FrozenSet (#87989)
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.

15 months agoIntroduce DOTNET_JITAllowOptionalRelocs (#88008)
Egor Bogatov [Mon, 26 Jun 2023 09:59:38 +0000 (11:59 +0200)]
Introduce DOTNET_JITAllowOptionalRelocs (#88008)

15 months agoFix `--make-repro-path` handling of "ILLinker compatible" parameters (#87909)
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.

15 months agoAdd Uri : ISpanFormattable (#88012)
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

15 months ago[RISC-V][JIT] Disable promotion for splitted args (#87855)
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

15 months agoAuto generate Event Ids in the logging source gen (#87892)
Tarek Mahmoud Sayed [Sat, 24 Jun 2023 18:56:43 +0000 (11:56 -0700)]
Auto generate Event Ids in the logging source gen (#87892)

15 months agoFix invalid datetimeoffset parsing (#87801)
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>
15 months agoAdd ConfigurationExtensions tests to NativeAOT exclusions (#87955)
Michal Strehovský [Sat, 24 Jun 2023 03:48:56 +0000 (12:48 +0900)]
Add ConfigurationExtensions tests to NativeAOT exclusions (#87955)

15 months agoFix UnsafeAccessors with Relocs (#87986)
Aaron Robinson [Sat, 24 Jun 2023 03:10:27 +0000 (23:10 -0400)]
Fix UnsafeAccessors with Relocs (#87986)

15 months agoJIT: don't set edge weights to zero for inconsistent profiles (#87947)
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.

15 months agoUse config binding generator in Microsoft.Extensions.Logging.Configuration assembly...
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>
15 months agoJIT: Insert writebacks more eagerly (#87869)
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

15 months agoJIT: Add a size component to the physical promotion heuristic (#87969)
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.

15 months agoHandle GT_FTN_ADDR in gtClone (#87942)
Michał Petryka [Fri, 23 Jun 2023 20:59:04 +0000 (22:59 +0200)]
Handle GT_FTN_ADDR in gtClone (#87942)

Fixes #87888

15 months agoTargetOS::IsMacOS was not properly handled on X64 (#87940)
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

15 months ago[browser][MT] Make HTTP and WS clients work (#87567)
Pavel Savara [Fri, 23 Jun 2023 18:45:04 +0000 (20:45 +0200)]
[browser][MT] Make HTTP and WS clients work (#87567)

15 months agoAdd unsupported language detection to the STJ source generator (#87950)
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.

15 months agoMatrix4x4.CreateViewport (#87748)
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

15 months ago[NativeAOT] ThreadStatics part 2 (#87148)
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

15 months agoFaster optimized frozen dictionary creation (4/n) (#87876)
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

15 months agoAdd span-based static Create overloads for immutable collections (#87945)
Stephen Toub [Fri, 23 Jun 2023 14:43:42 +0000 (10:43 -0400)]
Add span-based static Create overloads for immutable collections (#87945)

15 months agoFaster optimized frozen dictionary creation (5/n) (#87960)
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

15 months agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
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>
15 months agoadd timeouts to SendRecv_Stream_TCP_MultipleConcurrentReceives (#87943)
Anton Firszov [Fri, 23 Jun 2023 10:59:03 +0000 (12:59 +0200)]
add timeouts to SendRecv_Stream_TCP_MultipleConcurrentReceives (#87943)

15 months agoLocalized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 220791...
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

15 months agoDelete CLSID cruft from reflection (#87907)
Michal Strehovský [Fri, 23 Jun 2023 07:23:16 +0000 (16:23 +0900)]
Delete CLSID cruft from reflection (#87907)

Fixes #72914.

15 months ago[RISC-V] Fix constant preparing for shuffle stub (#87708)
t-mustafin [Fri, 23 Jun 2023 06:04:39 +0000 (09:04 +0300)]
[RISC-V] Fix constant preparing for shuffle stub (#87708)

15 months agoRemove uses of SR.GetResourceString throughout the libs (#87912)
Michal Strehovský [Fri, 23 Jun 2023 02:51:08 +0000 (11:51 +0900)]
Remove uses of SR.GetResourceString throughout the libs (#87912)

Fixes #81338.

15 months agoAdjust determinism tests to store away the 2 different binaries that are generated...
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

15 months agoRefactor how diagnostics work in the interop generators (#87700)
Jeremy Koritzinsky [Thu, 22 Jun 2023 23:02:03 +0000 (16:02 -0700)]
Refactor how diagnostics work in the interop generators (#87700)

15 months agoBlock non-static application of UnsafeAccessor (#87936)
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

15 months ago[NativeAOT] allow creating CCW for resurrected objects (#86882)
Austin Wise [Thu, 22 Jun 2023 21:13:05 +0000 (14:13 -0700)]
[NativeAOT] allow creating CCW for resurrected objects (#86882)

15 months agoUpdate to the 22.04 debpkg image so we're on a newer ubuntu version. (#86803)
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)

15 months agoBlock "Convert To LibraryImport" in more unsupported cases (#87503)
Jeremy Koritzinsky [Thu, 22 Jun 2023 20:32:24 +0000 (13:32 -0700)]
Block "Convert To LibraryImport" in more unsupported cases (#87503)

15 months agoJIT: Induce more physical promotions (#87810)
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.

15 months ago[hot_reload] Give more info about why the runtime can't apply updates (#87880)
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.

15 months agoFix a minor race condition in Monitor's AwareLock regarding tracking of waiter starva...
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

15 months ago[mono] ILStrip sorts custom attribute table (#87923)
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.

15 months agoFix runtime-extra-platforms failures related to HybridGlobalization (#87913)
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

15 months ago[main] Update dependencies from 10 repositories (#87522)
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>
15 months agoFix metrics test (#87898)
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>
15 months agoFaster optimized frozen dictionary creation (3/n) (#87688)
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>
15 months ago[mono] Do not ignore non-public custom attributes in dynamic assemblies (#87406)
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

15 months agoShare UTF8 converters between coreclr and mono (#85558)
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

15 months agoadd support for https proxy (#87638)
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

15 months ago[main] Update dependencies from dnceng/internal/dotnet-optimization (#87727)
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>
15 months agoImplement Stopwatch.ToString() (#87812)
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>
15 months agoUse internal `BitOperations.ResetLowestSetBit` (#87798)
xtqqczze [Thu, 22 Jun 2023 11:45:04 +0000 (12:45 +0100)]
Use internal `BitOperations.ResetLowestSetBit` (#87798)

15 months agoRemove object[] allocation from CustomAttribute.AddCustomAttributes (#87902)
Stephen Toub [Thu, 22 Jun 2023 10:47:04 +0000 (06:47 -0400)]
Remove object[] allocation from CustomAttribute.AddCustomAttributes (#87902)

15 months agoFix contention in LoggerFactory.CreateLogger (#87904)
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.

15 months ago[mono][jit] Fix float to int/uint casting behavior (#86941)
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.

15 months agoLocalized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 220697...
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

15 months agoMove NTAuthentication/NegotiateStreamPal back to the mothership (#87887)
Filip Navara [Thu, 22 Jun 2023 07:26:45 +0000 (09:26 +0200)]
Move NTAuthentication/NegotiateStreamPal back to the mothership (#87887)

15 months agoFix passing rpath on Bionic (#87900)
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'').

15 months agoQUIC ALPN list narrowing down scenario test (#86659)
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>
15 months agoBump main to Preview 7 (#87893)
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>
15 months agoRemove unused _LinkerFlagsToDrop property from the sample app (#87889)
Milos Kotlar [Thu, 22 Jun 2023 05:24:23 +0000 (07:24 +0200)]
Remove unused _LinkerFlagsToDrop property from the sample app (#87889)

15 months agoEnsure Min/Max APIs are handled for float in VN (#87872)
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

15 months agoUpdate WCF package versions (#87787)
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

15 months ago[mono][debugger] Concurrency on execution context dictionary (#87870)
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

15 months agoSystem.IO.Packaging: Avoid setting the general purpose bitflag due to enforced UTF8...
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)

15 months agoRemove InstrumentRecorder class (#87873)
Tarek Mahmoud Sayed [Wed, 21 Jun 2023 21:34:25 +0000 (14:34 -0700)]
Remove InstrumentRecorder class (#87873)

15 months ago[wasm] Misc build+test fixes (#87830)
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

15 months agoImplement unidirectional GeneratedComInterface options (#87831)
Jeremy Koritzinsky [Wed, 21 Jun 2023 21:19:49 +0000 (14:19 -0700)]
Implement unidirectional GeneratedComInterface options (#87831)

15 months agoFix typos in Process.cs (#87683)
Nikita Balabaev [Wed, 21 Jun 2023 21:16:45 +0000 (23:16 +0200)]
Fix typos in Process.cs (#87683)

15 months agoDon't create type loader for apps that don't need it (#87678)
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.

15 months agoUpdate HP libunwind to v1.7.0 (#87426)
Adeel Mujahid [Wed, 21 Jun 2023 20:47:09 +0000 (23:47 +0300)]
Update HP libunwind to v1.7.0 (#87426)

15 months agoInclude liblog in linker command line for Bionic (#87862)
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.

15 months agoConvert HttpListener to use public NegotiateAuthentication API (#86956)
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.

15 months agoFix support for JsonSerializerContext contained in arbitrary types. (#87829)
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.

15 months agoJIT: Stop allocating address exposed locals if they are unreferenced (#87790)
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)

15 months agoFix how jitrollingbuild disable Component Governance (#87853)
Bruce Forstall [Wed, 21 Jun 2023 16:50:05 +0000 (09:50 -0700)]
Fix how jitrollingbuild disable Component Governance (#87853)

15 months agoFix ID regression in Alpine Linux builds (#86804)
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>
15 months agoAdd support for net8.0-browser TFM to WASM sdk (#87866)
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)

15 months ago[mono][jit] Enabling some Vector4 methods as Intrinsics on arm64. (#87684)
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>
15 months ago[wasm] PackedSimd, implement store methods (#87828)
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

15 months ago[mono][jit] Avoid doing copy propagation on ldaddr for gsharedvt variables. (#87713)
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.

15 months ago[mono][jit] Added Vector128 intrinsics that depend on Vector64 for arm64 (#87765)
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.

15 months agoFix PlatformDetection.IsThreadingSupported (#87863)
Pavel Savara [Wed, 21 Jun 2023 10:50:31 +0000 (12:50 +0200)]
Fix PlatformDetection.IsThreadingSupported (#87863)

15 months agoSPMI: HTML escape lines inside diffs (#87861)
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.

15 months agoFix expected analyzer layout in nuget packages (#87860)
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

15 months agoAdded IReadOnlyDictionary to HttpRequestOptions (#86983)
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>
15 months agoImplement collation native functions functions (#86895)
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

15 months agofixing an assert in GetGCMemoryInfo when there hasn't been any GC of that kind yet...
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.

15 months agoImport isinst/castclass Nullable as underlying type (#87241)
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

15 months agoApply iteration work limits to X509 certificate loading (#87514)
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

15 months agoDelete IsCppCodegenTemporaryWorkaround (#87820)
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.

15 months agofix WBT dotnet.native.worker.js support (#87823)
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

15 months ago[mono] Fix some warnings. (#87825)
Zoltan Varga [Tue, 20 Jun 2023 22:09:28 +0000 (18:09 -0400)]
[mono] Fix some warnings. (#87825)

15 months agoAdd missing argument name when throwing ArgumentException (#87797)
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

15 months agoOptions validation source generator (#87587)
Tarek Mahmoud Sayed [Tue, 20 Jun 2023 21:56:21 +0000 (14:56 -0700)]
Options validation source generator (#87587)