Jan Dupej [Tue, 6 Jun 2023 10:58:48 +0000 (12:58 +0200)]
Reenabled k-nucleotide-9 test. (#87058)
Jeff Handley [Tue, 6 Jun 2023 08:14:04 +0000 (01:14 -0700)]
Update area-owners.json to reflect change in area-owners.md (#87144)
Dong-Heon Jung [Tue, 6 Jun 2023 08:10:04 +0000 (17:10 +0900)]
[RISC-V][JIT] Fix arithmetics (#86996)
* [RISC-V][JIT] Fix multiplication instruction
* [RISC-V][JIT] Fix a test failure
- value_numbering_checked_arithmetic_with_constants_ro
Ilona Tomkowicz [Tue, 6 Jun 2023 03:59:43 +0000 (05:59 +0200)]
[wasm][debugger] Disable failing multithreading debugger tests (#86501)
* Block for multithreading.
* Another failing test.
* category - case matters.
* Cleanup.
* "Result reported for unknown test case" fix. Cannot be lazy.
* Debugger has its own treading feature discovery.
* Prevent trait filter from being overwritten.
* Applied @radical's review, reverted `TEST_FILTER` removal with changes fixing the issue.
* Makefiles - full revert, fix should be in msbuild.
* Failing frequently.
* Fleaky tests.
* Now this one failed - block.
* 10 min still timeouts, set to 15.
* Revert "10 min still timeouts, set to 15."
This reverts commit
2e008d40b3006e464f3c70030e0de637d17dc426.
Jeff Handley [Tue, 6 Jun 2023 03:38:59 +0000 (20:38 -0700)]
[fabricbot] Area pods: Exclude arch- and os- issues/prs with owners (#87040)
* [fabricbot] Area pods: Exclude arch- and os- issues/prs with owners
* Do not exclude arch-wasm from the michael/tanner pod
Ankit Jain [Tue, 6 Jun 2023 02:35:39 +0000 (22:35 -0400)]
[wasm] Perf blazor scenarios: Use the correct wasm sdk pack (#87075)
- Make the built nuget for wasm sdk pack available when running the
blazor scenarios.
```
/home/helixbot/work/
B975098B/p/performance/src/scenarios/blazorpizza/app/BlazingPizza.Client/BlazingPizza.Client.csproj
: warning NU1603: BlazingPizza.Client depends on Microsoft.NET.Sdk.WebAssembly.Pack (>= 8.0.0-ci) but Microsoft.NET.Sdk.WebAssembly.Pack 8.0.0-ci was not found. An approximate best match of Microsoft.NET.Sdk.WebAssembly.Pack 8.0.0-preview.4.23213.11 was resolved.
```
.. otherwise it resolves to an older package from the published sources.
Kunal Pathak [Tue, 6 Jun 2023 02:01:19 +0000 (19:01 -0700)]
Superpmi collection for real-world benchmarks (#87104)
* add support to collect spmi for real-world
* rename some script names
* Do not pass partition_index for non-microbenchmarks
* fix the project names
* fix physics engine benchmarks:
* adjust physics benchmarks:
Stephen Toub [Mon, 5 Jun 2023 22:09:45 +0000 (18:09 -0400)]
Fix IDE0001 / IDE0002 (simplify names) in corelib (#87106)
Tanner Gooding [Mon, 5 Jun 2023 21:58:28 +0000 (14:58 -0700)]
Allow the user to control the MaxVectorTBitWidth (#85551)
* Expose DOTNET_MaxVectorTBitWidth and an undocumented DOTNET_PreferredVectorBitWidth
* Ensure SPMI keeps a getMaxVectorTBitWidth implementation
* Fix the non-xarch vm build
* Remove getMaxVectorTBitWidth from the JIT/EE interface, it's no longer needed
* Move SetCpuInfo down into the EEJitManager constructor
* Remove getXarchCpuInfo in favor of passing `JIT_FLAG_VECTOR512_THROTTLING`
* Make sure CORINFO_XARCH_CPU is fully removed
* Have ENCODE_VERIFY_TYPE_LAYOUT not fail-fast for Vector<T> size differences
* Only encode types containing Vector<T> as check, not verify
* Remove changes that were extracted to separate PRs
* Ensure that the optimistic flags are a strict superset of the supported flags
* Make VectorT128/256/512 proper instruction sets and only allow one to be active at a time
* Don't allow avxvnni to be "optimistic" since that brings in avx2
* Ensure we handle HWIntrinsics being disabled
* Ensure that the Vector<T> size ISAs are covered by FromInstructionSet
* Ensure that `getMaxVectorByteLength` being 0 is handled
* Ensure NAOT startup can correctly check for the VectorT size bits
* Have BlkOpKindUnroll account for SIMD being disabled
* Ensure InstructionSet_VectorT128 is set in the fallback path for PAL_GetJitCpuCapabilityFlags
Eirik Tsarpalis [Mon, 5 Jun 2023 21:41:49 +0000 (22:41 +0100)]
Fix a number of accessibility resolution issues in the source generator. (#87136)
Andrew Au [Mon, 5 Jun 2023 20:45:51 +0000 (13:45 -0700)]
Documentation for the HotColdMap section (#87023)
Milos Kotlar [Mon, 5 Jun 2023 20:43:21 +0000 (22:43 +0200)]
[nativeaot][tests] Update bundle zip path for NativeAOT sample app (#87049)
* Update bundle zip path for NativeAOT sample app
* Add shared path for Mono and Native AOT
Andrew Au [Mon, 5 Jun 2023 18:46:17 +0000 (11:46 -0700)]
Disable mark list optimization if we hit a per region mark list overflow (#86508)
t-mustafin [Mon, 5 Jun 2023 18:44:49 +0000 (21:44 +0300)]
Test passing struct on a border of 12bit offset (#86914)
Viktor Hofer [Mon, 5 Jun 2023 16:58:50 +0000 (18:58 +0200)]
Remove unnecessary suppressions in APICompat files (#87094)
* Remove unnecessary suppressions in APICompat files
- Remove unnecessary suppressions in APICompat files. This is in
preparation for https://github.com/dotnet/sdk/pull/32964 which will
validate the existing suppressions going forward.
- Set the required APICompat properties for the future tooling support.
* Add suppressions back for two CoreLib flavors
* Fix CoreLib suppression because of API attribute difference
Lumi Bytyçi [Mon, 5 Jun 2023 16:27:01 +0000 (18:27 +0200)]
Set .env variables in corerun prior to CLR init (#85220)
Egor Bogatov [Mon, 5 Jun 2023 15:58:21 +0000 (17:58 +0200)]
Fold obj.GetType to a constant (#87101)
Trung Nguyen [Mon, 5 Jun 2023 14:39:48 +0000 (00:39 +1000)]
[VM] Fix potential double free (#86207)
Use a raw char `NewArrayHolder` instead of a `NewHolder` to store
the `StackingAllocator` to prevent its destructor from being
called twice since `StackingAllocatorHolder` has already taken
care of the destruction.
Miha Zupan [Mon, 5 Jun 2023 14:07:12 +0000 (16:07 +0200)]
Avoid bloom filter checks for IndexOfAnyExcept in ProbabilisticMap (#85203)
Ilona Tomkowicz [Mon, 5 Jun 2023 14:02:32 +0000 (16:02 +0200)]
[browser][non-icu] `HybridGlobalization` set flag in SDK (#85245)
* Initial change.
* Filename update.
* WBT for WASM.
* Updated docs.
* Run Hybrid wbt on CI.
* Feedback + hierarchy compatible with #86255.
* Feedback. Test program code to assets.
Eirik Tsarpalis [Mon, 5 Jun 2023 13:21:45 +0000 (14:21 +0100)]
Ensure JsonSerializerOptions always returns a JsonTypeInfo for `object`. (#87093)
* Ensure JsonSerializerOptions always returns a JsonTypeInfo for `object`.
* Address feedback.
Maksim Golev [Mon, 5 Jun 2023 12:12:39 +0000 (15:12 +0300)]
fix(76268): Fix invalid behavior for ignored properties with "new" modifier of derived class. (#84756)
Co-authored-by: Maksim Golev <mgolev@htc-cs.ru>
dotnet-maestro[bot] [Mon, 5 Jun 2023 11:49:54 +0000 (07:49 -0400)]
[main] Update dependencies from dotnet/arcade dotnet/sdk (#87091)
* Update dependencies from https://github.com/dotnet/arcade build
20230602.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.23281.3 -> To Version 8.0.0-beta.23302.3
* Update dependencies from https://github.com/dotnet/sdk build
20230602.9
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23302.2 -> To Version 8.0.100-preview.6.23302.9
* Update dependencies from https://github.com/dotnet/sdk build
20230603.2
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23302.2 -> To Version 8.0.100-preview.6.23303.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Mon, 5 Jun 2023 11:48:52 +0000 (07:48 -0400)]
[main] Update dependencies from dnceng/internal/dotnet-optimization (#87090)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230602.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.23301.6 -> To Version 1.0.0-prerelease.23302.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230603.6
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.23301.6 -> To Version 1.0.0-prerelease.23303.6
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Stephen Toub [Mon, 5 Jun 2023 11:48:10 +0000 (07:48 -0400)]
Fix a few Parse uses to be TryParse (#87105)
Ilona Tomkowicz [Mon, 5 Jun 2023 11:47:54 +0000 (13:47 +0200)]
[browser][non-icu] Revert `HybridGlobalization` normalization. (#87007)
* revert
* Keep perf tests but with smaller buffers
Marek Safar [Mon, 5 Jun 2023 11:47:28 +0000 (13:47 +0200)]
Update area-owners.md (#87121)
Michal Strehovský [Mon, 5 Jun 2023 11:46:31 +0000 (20:46 +0900)]
Do not use ValueTuple in SynchronizationContext (#87120)
This is the same issue as e.g. #84206. The compiler needs to consider delegate Invoke methods always reflectable because of trimming warning suppressions around this in the framework. But that means the compiler is going to create type loader templates for all types in the `Invoke` signature. If one of those is a `ValueTuple`, it will root the ability to runtime-create arbitrary comparers at runtime (`ValueTuple` annoying implements `Equals` using `EqualityComparer.Default`) and with it the entire type loader.
For a sample app in #82607 this causes about 200 kB of bloat to be generated (more than 10% of the app size).
Mark Plesko [Mon, 5 Jun 2023 10:43:22 +0000 (03:43 -0700)]
Save 260k in InitValueNumStoreStatics (#85945)
It appears that the big #define for the intrinsics is causing InitValueNumStoreStatics to get big enough that C++ optimization ends up being disabled, which means a lot of constant operations aren't folded. This rewrites it as a const table. It adds some redundant information to the tables that we #include/#define in several places but currently includes many assertions that the old and new values match.
Local size change of release clrjit_win_x64_x64.dll: 2,001,920 -> 1,735,680. InitValueNumStoreStatics (261k) is replaced by 1.2k of static data.
Resolves #85953
Vladimir Sadov [Sun, 4 Jun 2023 21:29:52 +0000 (14:29 -0700)]
[NativeAOT] A few cleanups in stack walking on Windows (#86917)
Eirik Tsarpalis [Sun, 4 Jun 2023 16:37:42 +0000 (17:37 +0100)]
Ensure the correct `typeToConvert` parameter is being passed to constructor parameter converters. (#87111)
Stephen Toub [Sun, 4 Jun 2023 00:53:30 +0000 (20:53 -0400)]
Add and use ConfigureAwaitOptions (#87067)
* Add and use ConfigureAwaitOptions
Adds the ability to further control how awaits are performed, with the ConfigureAwaitOptions enum. For .NET 8 this is just for `Task` / `Task<TResult>`, and for the latter, the `SuppressThrowing` option isn't supported (as it can make the TResult erroneous).
Also uses it throughout the repo to replace various custom awaiters, use of Task.Run, and places we were catching all exceptions to suppress them with awaits. Some of these just help to clean up the code; others have / enable meaningful perf improvements.
* Address PR feedback
* Update src/libraries/System.Net.HttpListener/src/System/Net/Managed/HttpResponseStream.Managed.cs
Vitek Karas [Sat, 3 Jun 2023 20:53:59 +0000 (13:53 -0700)]
Unify trim warnings for accessing compiler generated code (#86816)
This modifies the behavior of both the illink and ilc to match and to implement some changes we've discussed recently - https://github.com/dotnet/runtime/issues/86008.
The semantic changes (mostly as compared to previous illink behavior):
* Reflection access to a RUC virtual method will produce warning on all methods which have RUC, regardless of their relationships. Specifically if both the override and base methods are accessed, and they both have RUC, they will both generate a warning. (This effectively removes an optimization which illink had to avoid "duplicate" warnings where it tried to warn only on the base methods in this case. But this has holes - see https://github.com/dotnet/runtime/issues/86008).
* Reflection access to compiler generated code will not produce warnings even if the target has RUC on it. It proved to be really difficult to design a good experience for reporting warnings in these cases. The problem is that developer has little control over the generated code and fully reporting all warnings leads to lot of noise. The above optimization in the illink tried to solve some of this, but it's not very successful. So we're removing all of these warnings. The reasoning is that reflection access to compiler generated members is an undefined behavior (even on non-trimmed, normal CLR) - and is likely to break for example between compiler versions - and there's no diagnostics about it ignoring trimming. Trimming/AOT just makes it a little bit worse.
* AOT compiler will not implement warnings caused by reflection access to compiler generated code which has annotations either (so `IL2118`, `IL2119` and `IL2120`). The plan is to eventually remove these from illink as well.
Note that there are exceptions to the above rules, which can be described as: Accessing a token of a member in IL is considered a reflection access (because the token can be turned into a reflection object), but it is also considered a direct reference. So in that case marking is implemented as "reflection access", but diagnostics is implemented as "direct reference". What this means is that accessing a compiler generated member through its token will still produce all warnings (RUC or DAM) as for non-compiler-generated member. This is important for things like creation of `Action` from a lambda, where the lambda is a compiler generated method, but we need to produce warnings if it uses annotations for example.
Refactorings:
* Refactored code in MarkStep to move most of the diagnostics logic into `ReportWarningsForReflectionAccess` - this is to mirror the design in ilc and also to make it more in sync with the already existing `ReportWarningsForTypeHierarchyReflectionAccess`.
Test changes:
* Adapting existing tests to the new behavior
* Adding some new tests, specifically around reflection access to compiler generated code and token access to compiler generated code.
* Enables `CompilerGeneratedCodeAccessedViaReflection` for ilc
Aleksey Kliger (λgeek) [Sat, 3 Jun 2023 14:57:39 +0000 (10:57 -0400)]
[mono] Use underlying type in RuntimeHelpers.GetSpanDataFrom (#87019)
* [mono] Use underlying type in RuntimeHelpers.GetSpanDataFrom
Make it work correctly for spans of enums
Fixes https://github.com/dotnet/runtime/issues/86865
Note that in net8 RuntimeHelpers.CreateSpan<T> is an intrinsic, so
GetSpanDataFrom is never called directly.
But in net7 CreateSpan is not intrinsified on Mono, so the underlying
method really does get called.
* test: Print all hidden field names if we can't find the right one
dotnet-maestro[bot] [Sat, 3 Jun 2023 11:04:56 +0000 (13:04 +0200)]
[main] Update dependencies from dotnet/emsdk dotnet/cecil dotnet/sdk (#87054)
* Update dependencies from https://github.com/dotnet/emsdk build
20230601.1
Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
From Version 8.0.0-preview.6.23281.1 -> To Version 8.0.0-preview.6.23301.1
* Update dependencies from https://github.com/dotnet/cecil build
20230601.1
Microsoft.DotNet.Cecil
From Version 0.11.4-alpha.23265.2 -> To Version 0.11.4-alpha.23301.1
* Update dependencies from https://github.com/dotnet/sdk build
20230602.2
Microsoft.DotNet.ApiCompat.Task
From Version 8.0.100-preview.6.23301.17 -> To Version 8.0.100-preview.6.23302.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
ws77.cho [Sat, 3 Jun 2023 04:12:47 +0000 (13:12 +0900)]
[RISC-V] Sync comment and implementation (#87033)
Manish Godse [Sat, 3 Jun 2023 01:27:16 +0000 (18:27 -0700)]
enable DATAS config via runtimeconfig.json (#87034)
* enable DTAS config via runtimeconfig.json
* updating config name and switching it to INT_CONFIG
Stephen Toub [Sat, 3 Jun 2023 00:54:16 +0000 (20:54 -0400)]
Dispose of linked CTS in QuicListener (#87057)
Katelyn Gadd [Sat, 3 Jun 2023 00:39:03 +0000 (17:39 -0700)]
[wasm] Remove dependency on definition of MonoClass (#87077)
The jiterpreter recently gained a dependency on the definition of MonoClass which broke debug builds. This PR changes it to use accessors that are available in both configurations.
Ankit Jain [Sat, 3 Jun 2023 00:03:49 +0000 (20:03 -0400)]
[wasm] Disable System.Text.Json AOT tests due to crashes (#87079)
V8, and chrome crash currently when running the tests.
Issue: https://github.com/dotnet/runtime/issues/86164
Aaron Robinson [Fri, 2 Jun 2023 23:53:11 +0000 (16:53 -0700)]
Remove legacy stacksampler logic (#87076)
* Remove legacy stacksampler logic
* Remove ALLOW_SXS_JIT_NGEN
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Sven Boemer [Fri, 2 Jun 2023 22:51:28 +0000 (15:51 -0700)]
Remove win-arm RIDs (#87074)
Jackson Schuster [Fri, 2 Jun 2023 21:21:05 +0000 (16:21 -0500)]
Create DiagnosticInfo as an incremental Diagnostic replacement type. (#86908)
Creates DiagnosticInfo record to replace Diagnostic in the incremental pipeline to work around dotnet/roslyn#68291
Milos Kotlar [Fri, 2 Jun 2023 21:15:32 +0000 (23:15 +0200)]
Revert "[mono][aot] Deduplicate runtime invoke wrappers on iOS (#85908)" (#87066)
We have encountered more frequent failures following the merge as outlined in #85908 (comment), so we will revert the change and try to reproduce the issue locally using the same version of macOS and iPhone as on the CI environment.
Reverts #85908
dotnet-maestro[bot] [Fri, 2 Jun 2023 20:49:57 +0000 (15:49 -0500)]
[main] Update dependencies from dnceng/internal/dotnet-optimization (#86698)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230523.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.23272.4 -> To Version 1.0.0-prerelease.23273.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230524.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.23272.4 -> To Version 1.0.0-prerelease.23274.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230525.8
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.23272.4 -> To Version 1.0.0-prerelease.23275.8
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230526.6
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.23272.4 -> To Version 1.0.0-prerelease.23276.6
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230527.6
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.23272.4 -> To Version 1.0.0-prerelease.23277.6
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230528.2
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.23272.4 -> To Version 1.0.0-prerelease.23278.2
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230529.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.23272.4 -> To Version 1.0.0-prerelease.23279.4
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230530.6
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.23272.4 -> To Version 1.0.0-prerelease.23280.6
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230531.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.23272.4 -> To Version 1.0.0-prerelease.23281.5
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20230601.6
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.23272.4 -> To Version 1.0.0-prerelease.23301.6
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
OwnageIsMagic [Fri, 2 Jun 2023 18:53:36 +0000 (21:53 +0300)]
Account for PredefinedCulturesOnly in CultureInfo LCID .ctor (#87002)
Elinor Fung [Fri, 2 Jun 2023 18:19:47 +0000 (11:19 -0700)]
Fix missing link libraries in host components (#87042)
- All host components link against dl - effectively, this handles hostfxr, hostpolicy, and nethost which were missing it
- hostpolicy links against pthread
Thays Grazia [Fri, 2 Jun 2023 16:55:02 +0000 (13:55 -0300)]
[wasm][debugger] Fix calling multiple times mono_wasm_asm_loaded when webcil is enabled (#87026)
* Fix calling multiple times mono_wasm_asm_loaded when webcil is enabled.
* Address @lewing comment
Ruihan-Yin [Fri, 2 Jun 2023 15:21:33 +0000 (08:21 -0700)]
Enable EVEX feature: embedded broadcast for Vector128/256/512.Add() in limited cases (#84821)
* Enable EVEX feature: embedded broadcast
Embedded Broadcast is enabled in Vector256<float>.Add() with limited cases:
1. Vector256.Add(Vec, Vector256.Create(DCon));
2. Vector256<float> VecCns = Vector256.Create(DCon);
Vector256.Add(Vec, VecCns);
3. Vector256.Add(Vec, Vector256.Create(LCL_VAR));
4. Vector256<float> VecCns = Vector256.Create(LCL_VAR);
Vector256.Add(Vec, VecCns);
Note: Case 2 4 can only be optimized when DOTNET_TieredCompilation = 0.
* remove some irrelevent change from previous main.
* Enable containment at Broadcast intrinsic
to improve the embedded broadcast enabling works.
* Convert the check logics on broadcast into a flag
* bug fixes:
1. fixed the contain logic at lowering, to accomadate the situation when
both operands for a EB compatible node are EB candidates.
2. fixed some unexpected EVEX.b set at some non-EVEX instructions on x86
* apply format patch.
* Add "insOpts" data structure to xarch:
insOpts may contain information on the EVEX.b bit,
currently only embedded broaddcast
* Add "OperIsBroadcastScalar" check:
This check is to ensure the intrinsic is actually a broadcast
scalar intrinsic, the reason to add this check is that gentree
flags are using overlapping definition, GTF_BROADCAST_EMBEDDED has
some conflicting definition, so we need to ensure the flag we checked
does not come from other overlapping flags.
* rebase the branch and resolve conflicts
* changes based on the reivews:
1. removed the gentree flag GTF_EMBEDDED_BROADCAST.
2. mark the embedded broadcast node by making it contained.
3. improved logics in GetMemOpSize() to return the correct pointer size
when embedded broadcast is enabled.
4. improved logics in genOperandDesc() to emit scalar when constant
vector operand is found to be created from scalar.
* apply format patch
* bug fixes
* bug fixes
* aaply format patch
* Enable embedded broadcast for Vector128<float>.Add
* Enable embedded broadcast for Vector512<float>.Add
* make double as embedded broadcast supported
* Add EB support to AVX_BroadcastScalarToVector*
* apply format patch
* Enable embedded broadcast for double const vector
* Enable embedded broadcast for integer Add.
* Changes based on the review:
1. Change GenTreeHWIntrinsic::OperIsEmbBroadcastHWIntrinsic
to OperIsEmbBroadcastCompatible
2. removed OperIsBroadcastScalar
3. formatting
4. correct errors in the comments.
* removed the gentree flag: GTF_VECCON_FROMSCALAR
* Bug fixes on embedded broadcast with AVX_Broadcast
* enable embedded broadcast in R_R_A path
* apply format patch
* bug fixes:
re-introduce "OperIsBroadcastScalar",
there are some cases when non-broadcast node (e.g. Load, Read)
contained by embedded broadcast and embedded broadcast
is enabled unexpectedly, using this method can filter out those cases.
* Changes based on reviews:
1. code style improvement
2. fixes typos and errors in the comments.
3. extract the operand swap logic when lowering Create node into
a function: TryCanonizeEmbBroadcastCandicate()
* unfold VecCon node when lowering if this node is
eligible for embedded broadcast.
* apply format patch
* bug fixes:
1. added missing default branch
2. filter out some possible embedded broadcast cases
for some better optimization
* resolve the mishandling for the previous conflict.
* move the unfolding logic to ContainChecks
* Code changes based on the review
* apply format patch
* support embedded broadcast for GT_IND
as the operand of a broadcast node.
* bug fixes:
Long type should only be on 64-bit system.
* apply format patch
* Introduce MakeHWIntrinsicSrcContained():
This function will handle the case that constant vector
is the operand of embedded broadcast ops.
If the constant vector is eligible for embedded broadcast,
will unfold the constatn vector to the corresponding broadcast
intrinsic form.
* Code changes based on reviews:
1. a helper function to detect embedded broadcast compatible flag
2. contain logic improvement.
3. typo fixes.
* Code changes based on review
* apply format patch
* Code changes based on review:
1. deleted irrelevant comments.
Move the contain check up to cover more cases.
* Code changes based on review:
1. Update comment to keep up with the changes in InstrDesc.
2. Removed un-needed argumnet in the irrelevant method.
dotnet-maestro[bot] [Fri, 2 Jun 2023 14:43:49 +0000 (16:43 +0200)]
Update dependencies from https://github.com/dotnet/roslyn build
20230601.9 (#87056)
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.7.0-2.23280.4 -> To Version 4.7.0-2.23301.9
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Viktor Hofer [Fri, 2 Jun 2023 14:43:19 +0000 (16:43 +0200)]
Update APICompat.Task to latest version (#87046)
* Update APICompat.Task to latest version
... and suppress the new errors that are flagged because of breaking changes introduced in .NET 8. See https://github.com/dotnet/sdk/pull/32930 for more details on the added validation in APICompat.
* Suppress new errors that were intentionally made
* Update Version.Details.xml
* Update CompatibilitySuppressions.xml
* Update CompatibilitySuppressions.xml
Kevin Jones [Fri, 2 Jun 2023 14:18:12 +0000 (10:18 -0400)]
Implement AsnReader.Clone (#86913)
* Implement AsnReader.Clone
* Test that the clone is created from the correct slice
Jan Kotas [Fri, 2 Jun 2023 13:56:45 +0000 (06:56 -0700)]
Delete unused seed file support from PEWriter (#87015)
* Delete unused seed file support from PEWriter
* Delete more
Pavel Savara [Fri, 2 Jun 2023 13:14:24 +0000 (15:14 +0200)]
[browser] fix legacy interop tests (#87001)
* fix legacy tests
Dong-Heon Jung [Fri, 2 Jun 2023 10:30:02 +0000 (19:30 +0900)]
[RISC-V][JIT] Implement genCodeForIncSaturate (#86891)
- Fixed a failure in ./JIT/opt/AssertionPropagation/ArrBoundBinaryOp/ArrBoundBinaryOp.sh (CHECKED build)
dotnet-maestro[bot] [Fri, 2 Jun 2023 10:21:54 +0000 (12:21 +0200)]
[main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/emsdk dotnet/hotreload-utils dotnet/icu dotnet/llvm-project (#86892)
* Update dependencies from https://github.com/dotnet/xharness build
20230529.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 8.0.0-prerelease.23272.1 -> To Version 8.0.0-prerelease.23279.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20230529.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 8.0.0-alpha.0.23272.2 -> To Version 8.0.0-alpha.0.23279.1
* Update dependencies from https://github.com/dotnet/runtime-assets build
20230530.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.23273.1 -> To Version 8.0.0-beta.23280.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20230530.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 8.0.0-alpha.0.23272.2 -> To Version 8.0.0-alpha.0.23280.2
* Update dependencies from https://github.com/dotnet/llvm-project build
20230531.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.23273.3 -> To Version 14.0.0-alpha.1.23281.1
* Update dependencies from https://github.com/dotnet/emsdk build
20230531.1
Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
From Version 8.0.0-preview.6.23277.2 -> To Version 8.0.0-preview.6.23281.1
* Update dependencies from https://github.com/dotnet/icu build
20230530.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 8.0.0-preview.4.23177.3 -> To Version 8.0.0-preview.6.23280.1
* Add `icudt_hybrid.dat` to `@(PlatformManifestFileEntry)`
Prompted by the build error:
```
[error].packages/microsoft.dotnet.sharedframework.sdk/8.0.0-beta.23280.3/targets/sharedfx.targets(288,5): error : (NETCORE_ENGINEERING_TELEMETRY=Build) The following files are missing entries in the templated manifest:
icudt_hybrid.dat. Add these file names with extensions to the 'PlatformManifestFileEntry' item group for the runtime pack and corresponding ref pack to include them in the platform manifest.
```
* Update dependencies from https://github.com/dotnet/llvm-project build
20230601.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.23273.3 -> To Version 14.0.0-alpha.1.23301.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20230601.2
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.23273.3 -> To Version 14.0.0-alpha.1.23301.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Eirik Tsarpalis [Fri, 2 Jun 2023 09:59:06 +0000 (10:59 +0100)]
Enable Native AOT testing in System.Text.Json. (#86975)
* Enable Native AOT testing in System.Text.Json. Fix #73431.
* Enabled AOT testing for generic theories/MakeGenericMethod tests. Address misc feedback.
* Remove hardcoded JsonSerializer calls from test suite.
dotnet-maestro[bot] [Fri, 2 Jun 2023 07:03:52 +0000 (09:03 +0200)]
Update dependencies from https://github.com/dotnet/roslyn build
20230530.4 (#86954)
Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.7.0-1.23269.2 -> To Version 4.7.0-2.23280.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-maestro[bot] [Fri, 2 Jun 2023 07:03:09 +0000 (09:03 +0200)]
Update dependencies from https://github.com/dotnet/arcade build
20230531.3 (#87000)
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.23280.3 -> To Version 8.0.0-beta.23281.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Tanner Gooding [Fri, 2 Jun 2023 03:25:13 +0000 (20:25 -0700)]
Fixing the InstructionSetDesc implications (#86486)
* Fixing the InstructionSetDesc implications
* Adding more NAOT smoke tests covering the missed instruction sets
* Simplify the HasInstructionSet(Avx512F) check in compSetProcessor
* Fixing the NAOT smoke tests
* Fixing some stale comments
* Fixing build failure
* Ensure the X86Serialize test lambda returns a bool
* Fixing build failure
* Ensure AVX2 isn't opportunistically supported and that dynamic checks work correctly for Vector128/256/512.IsHardwareAccelerated
* Ensure Avx512Vbmi has [Intrinsic] on the right members
* Fix the secondary isIsaSupported check to be properly opportunistic for NAOT
* Ensure vpermb is covered
* Allow opportunistic AvxVnni when Avx2 is opted into
* Don't expect opportunistic Avx2 or AvxVnni in the smoke tests
* Ensure Avx2.X64 checks ExpectedAvx2, not ExpectedAvx
* Change the filter the AVX512 NAOT smoke test on OSX
* Updating the CPUID test to cover new ISAs and correctly validate the hierarchy
* Add two more NAOT smoke tests which cover explicit ISA exclusion
* Add additional CpuId validation covering R2R scenarios using various ISA opt-in
* Ensure new R2R tests actually use R2R
* Don't try to expose an invalid --instruction-set combination
* Ensure xarch r2r tests only run on xarch
* Don't compare manufacturer name of CPUID 0x00000000 to 0x80000000
* Filter out the CPUID test on Mono and account for AVX-512 being unsupported on MacOS
Elinor Fung [Fri, 2 Jun 2023 02:21:19 +0000 (19:21 -0700)]
Mark some loader tests as NativeAotIncompatible (#87035)
These tests are fundamentally not compatible with nativeaot - mark them as incompatible instead of disabling against an issue so that we stop building them.
Michal Strehovský [Fri, 2 Jun 2023 02:02:02 +0000 (11:02 +0900)]
More test baselining (#86988)
I _think_ with this we can finally run a complete Pri-0 test pass and have it succeed.
Michal Strehovský [Fri, 2 Jun 2023 02:01:39 +0000 (11:01 +0900)]
Delete various end symbols (#86992)
For various headers we need to be able to refer to ends of various sections within the compiler. We were generating named symbols for these, but they can also be references as "beginning symbol + delta". The end symbol often confuses debuggers and disassemblers and instead of saying "this symbol is FooSection+0x123", it will say "BarSectionEnd+0x123" and that's a useless information.
Delete the named end symbols in favor of generating relocs with deltas.
Dong-Heon Jung [Fri, 2 Jun 2023 02:01:10 +0000 (11:01 +0900)]
[RISC-V] Copy SPC.dll when BuildDll is disabled (#86991)
Sven Boemer [Fri, 2 Jun 2023 01:59:14 +0000 (18:59 -0700)]
Add comment about NativeAot RIDs (#87011)
* Add comment about NativeAot RIDs
To make this easier to keep in sync (see https://github.com/dotnet/installer/pull/16545).
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Marek Fišera [Fri, 2 Jun 2023 01:11:39 +0000 (03:11 +0200)]
[browser] Fix fingerprinting of relinked dotnet.js during build (#86048)
* Fix reading version of relinked dotnet.js during build
* Support .NET 7 file name
* Add WBT test
* Fix publish fingerprinting
* ConvertDllsToWebCil: fix path concatenation
---------
Co-authored-by: Ankit Jain <radical@gmail.com>
Jackson Schuster [Fri, 2 Jun 2023 00:04:09 +0000 (19:04 -0500)]
StringMarshalling behavior override tests (#86963)
Adds tests to make sure MarshalAs and MarshalUsing override the default string marshalling behavior set by the interface-wide StringMarshalling. No changes were necessary in the generator.
Ankit Jain [Thu, 1 Jun 2023 22:58:30 +0000 (18:58 -0400)]
[wasm] CI: Add more wasm specific paths (#87029)
`src/mono/nuget/Microsoft.NET.Runtime.WebAssembly.Wasi.Sdk/`
`src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/`
`src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/`
- Adding these ensures that changes in these will trigger only wasm
jobs.
Egor Bogatov [Thu, 1 Jun 2023 22:36:11 +0000 (00:36 +0200)]
Devirtualization with multiple guesses: JIT (#86809)
Layomi Akinrinade [Thu, 1 Jun 2023 21:45:27 +0000 (14:45 -0700)]
Add individual compilation tests for each config binding overload (#86910)
* Add individual compilation tests for each config binding overload
* Update ConfigurationBindingGeneratorTests.cs
Restore exclusion of browser/wasm for test runs.
Jeremy Koritzinsky [Thu, 1 Jun 2023 21:11:52 +0000 (14:11 -0700)]
Revert "Revert "Change our Android build and test legs to use the new CBL-Mariner-based images."" (#86967)
Katelyn Gadd [Thu, 1 Jun 2023 20:33:36 +0000 (13:33 -0700)]
[wasm] Optimize jiterpreter type cast opcodes & add zero page optimizations (#86928)
* Add inline fast-path for exact type matches when doing mint_castclass/mint_isinst in traces
* Invoke has_parent_fast directly when missing the fast-path
* Fully inline mint_unbox into traces
* Optimize the slow path for castclass/isinst by removing the opcode switch
* Fuse null checks into castclass, isinst and unbox
* Specialize code for special array interfaces at JIT time
* Disable zero page optimizations in builds with threading enabled
* Remove unused helpers
Katelyn Gadd [Thu, 1 Jun 2023 20:29:45 +0000 (13:29 -0700)]
Optimize constant i2/i4 shuffles in jiterpreter
* Detect constant shuffle vectors for i2/i4 shuffles and expand them to byte shuffle vectors at JIT time
* Detect constant i1 shuffle vectors and emit them as constants to trigger v8 optimization
* v8 doesn't optimize splats so use the enormous encoding for v128 zero
Milos Kotlar [Thu, 1 Jun 2023 20:02:26 +0000 (22:02 +0200)]
[mono][aot] Deferred failures code cleanup (#86998)
* Mono AOT deferred failures cleanup
* Move deferred type load failure callback to the runtime callbacks struct
Kevin Jones [Thu, 1 Jun 2023 16:59:33 +0000 (12:59 -0400)]
Add support for SHA-3
This adds API to interact with the SHA-3 algorithm to the framework.
Like all other cryptographic algorithms in .NET, this only functions on OSes where the underlying system exposes the algorithm.
Layomi Akinrinade [Thu, 1 Jun 2023 16:33:36 +0000 (09:33 -0700)]
Update binder gen parser to issue diagnostics for invalid input types (#86856)
* Update binder gen parser to issue diagnostics for invalid input types
* Address feedback; tests for more invalid types; fix failing CI test
t-mustafin [Thu, 1 Jun 2023 14:31:03 +0000 (17:31 +0300)]
[RISC-V] Fix typo in UMEntryThunkCode::Decode (#86997)
Marek Fišera [Thu, 1 Jun 2023 13:53:23 +0000 (15:53 +0200)]
[wasm][build] Fix webcil publish temp path (#86994)
Fix typo from #86972
Ruslan Murtazin [Thu, 1 Jun 2023 13:33:18 +0000 (16:33 +0300)]
Read StartDiskNumber as uint32 (#83923)
Fix #31825
Co-authored-by: Ruslan Murtazin <ruslan.murtazin@yahoo.com>
Milos Kotlar [Thu, 1 Jun 2023 10:15:14 +0000 (12:15 +0200)]
[nativeaot][tests] Add Native AOT iOS perf scenarios (#85317)
This PR updates the CI jobs to include the Native AOT iOS performance scenarios. The changes include building the NativeAOT iOS scenarios and running them, as well as updating the underlying scripts and project files to support it. Additionally, it separates the scenarios from the current Mono AOT sample measurements.
Egor Bogatov [Thu, 1 Jun 2023 09:57:48 +0000 (11:57 +0200)]
Fix rounding error in getLikelyClassesOrMethods (#86965)
dotnet bot [Thu, 1 Jun 2023 09:52:09 +0000 (02:52 -0700)]
Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2191992 (#86981)
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2191755
* Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2191755
Alexander Soldatov [Thu, 1 Jun 2023 09:35:43 +0000 (12:35 +0300)]
[RISC-V] Optimize Load Immediate (#86790)
Reduce amount of instructions required for loading 64-bit immediate to
register. In the worst case for full 64 bit constant it's still require
8 instructions (LUI + ADDIW + SLLI + ADDI + SLLI + ADDI + SLLI + ADDI).
But addresses and constants which don't use full 64 bits might be loaded
using only 2, 4 or 6 instructions.
Mark Plesko [Thu, 1 Jun 2023 05:52:46 +0000 (22:52 -0700)]
Update runtime-codeql.yml to run 3x/week (#86979)
Carlos Sánchez López [Thu, 1 Jun 2023 03:35:53 +0000 (20:35 -0700)]
Tar: Improve unseekable stream handling (#84279)
* Add tests that verify we handle unseekable streams correctly.
Adjust existing unseekable stream tests to verify correct for all formats and with multiple tar entries.
* Add expected data field locations for all supported formats.
* Add exception message for when attempting to write an unseekable data stream into an unseekable archive stream.
* Add seekability validation in public TarWriter entry writing methods.
* Add TarFile stream roundtrip tests for unseekable streams.
* Add missing async TarFile roundtrip tests.
* Support unseekable streams in TarHeader.Write.
* Reuse and simplify the code.
* More reuse, remove unused and not needed.
* Remove TarFile.CreateFromDirectoryAsync.File.Roundtrip.cs. Submit it in a separate PR.
* Remove unnecessary resx comments.
* Dedicated method for writing fields to buffer depending on the format.
* Specify `Data` in name of method that expects unseekable data stream. Add extra debug asserts.
* Delete unnecessary method.
* Rename WritePadding to WriteEmptyPadding
* Rename test variables
* Merge identical test arrays into one
* Invert if else to be more clear about conditions
* remove size assign comment
* Remove redundant debug assert
* Async padding byte array creation simplification
* Apply suggestions from code review
---------
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Stephen Toub [Thu, 1 Jun 2023 01:04:59 +0000 (21:04 -0400)]
Use IUtf8SpanFormattable.TryFormat in a few more places (#86931)
* Use IUtf8SpanFormattable.TryFormat in a few more places
* Update src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs
* Update src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
---------
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Aleksey Kliger (λgeek) [Thu, 1 Jun 2023 00:33:49 +0000 (20:33 -0400)]
[wasm][build] Don't use GetTempFileName; emit webcil to subdir of obj (#86972)
See https://github.com/dotnet/runtime/issues/73793
Instead of using GetTempFileName (which can run out of temp file names
on Windows after 64K files), emit the temporary webcil files to a
directory in IntermediateOutputPath before copying them to the final
location, if they changed (which is elsewhere in
IntermediateOutputPath).
Ankit Jain [Wed, 31 May 2023 22:16:51 +0000 (18:16 -0400)]
[wasm] Use an older version of chrome for testing `113.0.5672.63` (#86968)
.. because of crashes being hit on linux.
Issue: https://github.com/dotnet/runtime/issues/86919
Aaron Robinson [Wed, 31 May 2023 22:11:00 +0000 (15:11 -0700)]
Clean-up error in `IDispatch::Invoke()` scenario (#86964)
* Clean-up error in IDispatch::Invoke scenario
Buyaa Namnan [Wed, 31 May 2023 21:01:01 +0000 (14:01 -0700)]
Fix warnings found with CA1861 Avoid constant arrays as arguments (#86229)
* Fix warnings found with CA1861
* Update src/coreclr/tools/aot/ILCompiler/Program.cs
Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Remove supression from static field
* Revert using string.Split(char)
* Update src/libraries/System.Private.Xml/src/System/Xml/Serialization/XmlSerializationILGen.cs
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Tom Deseyn [Wed, 31 May 2023 20:26:24 +0000 (22:26 +0200)]
System.Data: override System.Data.Sql tfm only when ArcadeBuildFromSource. (#86962)
Michal Strehovský [Wed, 31 May 2023 20:08:03 +0000 (05:08 +0900)]
Remove some working tests from issues.targets (#86939)
Fixes #86561
Fixes dotnet/runtimelab#1136
t-mustafin [Wed, 31 May 2023 18:47:30 +0000 (21:47 +0300)]
[RISC-V] Fix typo in ReversePInvoke (#86958)
Badre BSAILA [Wed, 31 May 2023 17:53:25 +0000 (19:53 +0200)]
The ConstructorBuilder and MethodBuilder generated parameter should not have default value by default (#84550)
* The ConstructorBuilder and MethodBuilder generated parameter should not has default value by default
* return parameter has no default value
* use dbnull.value
* exclude test from native aot because it returns always a true
* add test for nativeaot
* refactor nativeaot test
* simplify ReturnParameter DefaultValueImpl
Marc Brooks [Wed, 31 May 2023 17:52:05 +0000 (12:52 -0500)]
Add message for AmbiguousMatchException (#84512)
Add information to what is ambiguously matched when an AmbiguousMatchException is thrown as we know what we found multiple matching items for.
Renames of SR/RESX strings. Removal of `.ToString()` calls. Remove unused strings from RESX RESX string rewording.
Change the exception format string to "found for" style.
Cleanup of DefaultBinder.cs FindMostDerived* to use the local variable.
Remove copy-pasta ThrowHelper.cs instance.
Don't emit the CustomAtrributeData's type
All MemberInfo cases pass a (possibly null) `DeclaringType`.
Co-authored-by: Buyaa Namnan <buyankhishig.namnan@microsoft.com>
dotnet-maestro[bot] [Wed, 31 May 2023 17:18:36 +0000 (10:18 -0700)]
Update dependencies from https://github.com/dotnet/arcade build
20230530.3 (#86951)
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.23280.1 -> To Version 8.0.0-beta.23280.3
Dependency coherency updates
Microsoft.DotNet.XliffTasks
From Version 1.0.0-beta.23272.1 -> To Version 1.0.0-beta.23279.1 (parent: Microsoft.DotNet.Arcade.Sdk
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Piotr [Wed, 31 May 2023 15:46:51 +0000 (17:46 +0200)]
Removed unnecessary string interpolation (#86945)
Qiao Pengcheng [Wed, 31 May 2023 15:40:25 +0000 (23:40 +0800)]
[LoongArch64] redesign the Prolog/Epilog for enabling OSR. (#86866)
Also fix the comparing errors when debugging libraries.
Varorbc [Wed, 31 May 2023 15:38:16 +0000 (23:38 +0800)]
Remove implicitly dependent reference (#86938)
Marc Brooks [Wed, 31 May 2023 15:35:39 +0000 (10:35 -0500)]
Cleanup BitMapper sizeof type (#86881)