platform/upstream/dotnet/runtime.git
14 months ago[RISC-V] Fix Shuffling Thunks part 1 (#90266)
Tomasz Sowiński [Fri, 11 Aug 2023 06:52:04 +0000 (08:52 +0200)]
[RISC-V] Fix Shuffling Thunks part 1 (#90266)

* [RISC-V] Fix failing cases with delegates passing a struct with 2 longs as argument (test16833.cs -> TestMRB1, TestMRB5)

Fix emits a stack shuffle entry when we run out of general purpose registers, analogous to loongarch64.

* [RISC-V] Fix comment, inter-register mov doesn't take an immediate.

* [RISC-V] Remove unused EmitLoadStoreRegPairImm methods

* [RISC-V] Fix offset encoding in sd instruction

Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
---------

Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
14 months ago[main] Update dependencies from 8 repositories (#90014)
dotnet-maestro[bot] [Fri, 11 Aug 2023 05:52:58 +0000 (22:52 -0700)]
[main] Update dependencies from 8 repositories (#90014)

* Update dependencies from https://github.com/dotnet/arcade build 20230803.7

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.23402.2 -> To Version 8.0.0-beta.23403.7

* Update dependencies from https://github.com/dotnet/xharness build 20230803.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23377.1 -> To Version 8.0.0-prerelease.23403.1

* Update dependencies from https://github.com/dotnet/arcade build 20230804.2

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.23402.2 -> To Version 8.0.0-beta.23404.2

* Update dependencies from https://github.com/dotnet/runtime build 20230806.6

Microsoft.DotNet.ILCompiler , 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-rc.1.23401.3 -> To Version 8.0.0-rc.1.23406.6

* Update dependencies from https://github.com/dotnet/arcade build 20230807.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.23402.2 -> To Version 8.0.0-beta.23407.1

* Update dependencies from https://github.com/dotnet/icu build 20230807.2

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-rc.1.23381.1 -> To Version 8.0.0-rc.1.23407.2

* Update dependencies from https://github.com/dotnet/xharness build 20230807.2

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23377.1 -> To Version 8.0.0-prerelease.23407.2

* Update dependencies from https://github.com/dotnet/emsdk build 20230807.1

Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
 From Version 8.0.0-rc.1.23402.3 -> To Version 8.0.0-rc.1.23407.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20230807.2

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 8.0.0-alpha.0.23377.1 -> To Version 8.0.0-alpha.0.23407.2

* Update dependencies from https://github.com/dotnet/cecil build 20230807.2

Microsoft.DotNet.Cecil
 From Version 0.11.4-alpha.23374.2 -> To Version 0.11.4-alpha.23407.2

* Fix.

* Update dependencies from https://github.com/dotnet/arcade build 20230808.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.23402.2 -> To Version 8.0.0-beta.23408.6

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23381.1 -> To Version 1.0.0-beta.23407.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/icu build 20230807.2

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-rc.1.23381.1 -> To Version 8.0.0-rc.1.23407.2

* Update dependencies from https://github.com/dotnet/runtime-assets build 20230808.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.23401.1 -> To Version 8.0.0-beta.23408.1

* Update dependencies from https://github.com/dotnet/arcade build 20230809.5

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.23402.2 -> To Version 8.0.0-beta.23409.5

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23381.1 -> To Version 1.0.0-beta.23408.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/emsdk build 20230809.6

Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
 From Version 8.0.0-rc.1.23402.3 -> To Version 8.0.0-rc.1.23409.6

* Use PackageDownload not PackageReference for JitTools in SuperFileCheck.csproj

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com>
Co-authored-by: Jo Shields <directhex@apebox.org>
14 months agoFix for #89645, stack overflow in Crossgen2 (#90229)
Tomáš Rylek [Fri, 11 Aug 2023 05:37:52 +0000 (07:37 +0200)]
Fix for #89645, stack overflow in Crossgen2 (#90229)

After David Wrighton's refactoring of type loadability check
in #89415 we started seeing stack overflow in Crossgen2 compilation
of the outerloop test

Loader/classloader/generics/regressions/DD117522/Test.csproj

This is because the test is a negative test that exercises runtime
behavior in the presence of a non-loadable type with recursive
definition. David's stricter descent into the type ends up in an
infinite recursion when presented with this invalid type.

I haven't found any easy way to incorporate the additional check
for recursive types into the loadability algorithm - in fact I'm
not even sure whether that's generally doable.

As a very simple way to protect against the infinite recursion
I propose adding a heuristic limit for the type analysis stack
size. I assume the proposed value 1024 to be more than enough for
both Crossgen2 and NativeAOT, if it's realistic that NativeAOT can
encounter deeper types than this, I can make the check specific
for Crossgen2.

Fixes: #89645

14 months agoEnable R2R for NarrowUtf16ToAscii / WidentAsciiToUtf16 (#90361)
Stephen Toub [Fri, 11 Aug 2023 04:27:27 +0000 (00:27 -0400)]
Enable R2R for NarrowUtf16ToAscii / WidentAsciiToUtf16 (#90361)

* Enable R2R for Narrow/WidentAscii

* Delete dead Vector<T> code paths

14 months agoAdd metrics configuration APIs (#90201)
Chris Ross [Fri, 11 Aug 2023 04:08:52 +0000 (21:08 -0700)]
Add metrics configuration APIs (#90201)

14 months ago[wasm] Fix up conditions to trigger relink, and require `wasm-tools` workload (#89754)
Ankit Jain [Fri, 11 Aug 2023 03:39:10 +0000 (23:39 -0400)]
[wasm] Fix up conditions to trigger relink, and require `wasm-tools` workload (#89754)

- Trigger relinking (`WasmBuildNative=true`) if:
   - `WasmNativeStrip=false`
   - `WasmEnableSIMD=false`
   - `WasmEnableExceptionHandling=false`
   - The above are in addition to the existing conditions

- Also, trigger "workload required" when:
   - `WasmNativeStrip=false`
   - `WasmEnableExceptionHandling=true`
   - `InvariantGlobalization=true`
   - `InvariantTimeZone=true`
   - The above are in addition to the existing conditions

- Rationalize `WasmNativeDebugSymbols`, and `WasmNativeStrip`
- `WasmNativeDebugSymbols` will cause symbols to be included
  (essentially `-g`)
- `WasmNativeStrip` will cause these to be stripped with `wasm-opt
  --strip-dwarf ...`

Fixes https://github.com/dotnet/runtime/issues/85778 .

14 months agoExpose the RequiresLocationAttribute (#89870)
Tanner Gooding [Fri, 11 Aug 2023 02:10:11 +0000 (19:10 -0700)]
Expose the RequiresLocationAttribute (#89870)

* Expose the RequiresLocationAttribute

* Add a basic test for RequiresLocationAttribute

14 months agoMark AddBinaryFormattedResource obsolete (#90346)
Eric StJohn [Fri, 11 Aug 2023 01:46:21 +0000 (18:46 -0700)]
Mark AddBinaryFormattedResource obsolete (#90346)

14 months agoonly slice SocketAddress on success operation (#90284)
Tomas Weinfurt [Fri, 11 Aug 2023 01:28:36 +0000 (18:28 -0700)]
only slice SocketAddress on success operation (#90284)

* only slice SocketAddress on success operation

* null

* completed

* feedback

* feedback

14 months agoAdd support fo MONO_DEBUG_VAR_ADDRESS_MODE_VTADDR in set_var for debugger-agent ...
JC [Fri, 11 Aug 2023 01:07:36 +0000 (21:07 -0400)]
Add support fo MONO_DEBUG_VAR_ADDRESS_MODE_VTADDR in set_var for debugger-agent (#90330)

14 months ago[iOS] Fix iOS nativeaot runtime test build (#90327)
Steve Pfister [Fri, 11 Aug 2023 00:13:42 +0000 (17:13 -0700)]
[iOS] Fix iOS nativeaot runtime test build (#90327)

In https://github.com/dotnet/runtime/pull/89869, the call to the AppleAppBuilderTask passed an item for `NativeDependencies` as opposed to a property. The change wasn't reflected in the runtime test build.proj, so the built test app wasn't being sent in.

Fixes https://github.com/dotnet/runtime/issues/90312

Fixes https://github.com/dotnet/runtime/issues/90218

14 months ago[mono][tasks] Generate uncompressed mibc files (#90336)
Mitchell Hwang [Thu, 10 Aug 2023 23:40:39 +0000 (19:40 -0400)]
[mono][tasks] Generate uncompressed mibc files (#90336)

14 months agoList unsupported architectures in area-owners (#90128)
Eric StJohn [Thu, 10 Aug 2023 21:42:42 +0000 (14:42 -0700)]
List unsupported architectures in area-owners (#90128)

14 months agoSupport new Options attributes in the Runtime (#90275)
Tarek Mahmoud Sayed [Thu, 10 Aug 2023 19:49:30 +0000 (12:49 -0700)]
Support new Options attributes in the Runtime (#90275)

14 months ago[WASM] Add ILStrip task to wasm app build process (#88926)
Fan Yang [Thu, 10 Aug 2023 19:45:07 +0000 (15:45 -0400)]
[WASM] Add ILStrip task to wasm app build process (#88926)

* Add ILStrip task to wasm app build process

* Make it work for wasm app building workflow

* Interp: stop inlining stripped methods. ILStrip: set code size to zero for tiny methods

* [mono][aot] Avoid adding some methods to the compiled method file.

* Methods which have 'deopt' set can enter the interpreter during EH.
* Methods which have 'interp_entry_only' set are AOTed, but the AOT
  code is only used to enter the interpreter.

* Only trim the methods that interpreter is able to call the aot'ed verion of it

* Add default value and documentation for WASMStripIL

* Move jit_call_can_be_supported to interp.c

* Minor format fix

* Add a test

* For testing

* Fix typo

* Skip TestUtilities Reference

* Address review feedback

* Change it to true

* Change name to trimming eligible

* Remove testing

* Address review feedback

* Address review feedback from Kate

* Add a var for llvm_only

---------

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
14 months agoExplicitly set SizeConst = 1 and remove the warning suppression (#90174)
Jeremy Koritzinsky [Thu, 10 Aug 2023 18:31:40 +0000 (11:31 -0700)]
Explicitly set SizeConst = 1 and remove the warning suppression (#90174)

14 months agoFix NoLinkedOuput having the wrong base attribute type. (#90256)
Mike Voorhees [Thu, 10 Aug 2023 18:25:46 +0000 (14:25 -0400)]
Fix NoLinkedOuput having the wrong base attribute type. (#90256)

This led to `[NoLinkedOutput]` being left in the `input` assembly

14 months agoReport a diagnostic for return types with HResult-like named structures and provide...
Jeremy Koritzinsky [Thu, 10 Aug 2023 18:14:13 +0000 (11:14 -0700)]
Report a diagnostic for return types with HResult-like named structures and provide a code-fix to do the correct marshalling (#90282)

14 months agoImprove codegen in impStringEqualsOrStartsWith (#90288)
Egor Bogatov [Thu, 10 Aug 2023 18:08:58 +0000 (20:08 +0200)]
Improve codegen in impStringEqualsOrStartsWith (#90288)

14 months agoFix perf jobs param (#90215)
Milos Kotlar [Thu, 10 Aug 2023 18:05:58 +0000 (20:05 +0200)]
Fix perf jobs param (#90215)

14 months agoDisable CodeQL on runtime-official.yml (#90329)
Alexander Köplinger [Thu, 10 Aug 2023 18:02:52 +0000 (20:02 +0200)]
Disable CodeQL on runtime-official.yml (#90329)

We have a separate pipeline for it and it is breaking official builds at the moment.

14 months ago[mono][llvm] Fix an assertion when a method doesn't set its return value vreg. (...
Zoltan Varga [Thu, 10 Aug 2023 17:29:46 +0000 (13:29 -0400)]
[mono][llvm] Fix an assertion when a method doesn't set its return value vreg. (#90294)

Fixes https://github.com/dotnet/runtime/issues/90032.

14 months ago[mono][llvm] Use the OP_MEMMOVE opcode instead of calling the managed memcpy method...
Zoltan Varga [Thu, 10 Aug 2023 17:29:32 +0000 (13:29 -0400)]
[mono][llvm] Use the OP_MEMMOVE opcode instead of calling the managed memcpy method when compiling with LLVM. (#90097)

LLVM can emit optimized code when the length ends up being a constant.

14 months agoRemove unsafe code and make scheme parsing faster in Uri (#90087)
Miha Zupan [Thu, 10 Aug 2023 17:10:21 +0000 (19:10 +0200)]
Remove unsafe code and make scheme parsing faster in Uri (#90087)

* Remove unsafe code and make scheme parsing faster in Uri

* Reduce the number of range checks

* Switch loop to IndexOf

14 months agoFlow the IMeterFactory to SocketsHttpHandler on Mobile (#90298)
Miha Zupan [Thu, 10 Aug 2023 17:08:35 +0000 (19:08 +0200)]
Flow the IMeterFactory to SocketsHttpHandler on Mobile (#90298)

14 months agoRestored Crossgen2's optimizations in CoreCLR builds and reenabled the poisoning...
Ivan Diaz Sanchez [Thu, 10 Aug 2023 16:14:51 +0000 (09:14 -0700)]
Restored Crossgen2's optimizations in CoreCLR builds and reenabled the poisoning tests since the problem has been addressed. (#90278)

14 months ago[ComInterfaceGenerator] Add implementation and test for CallerAllocateBufferType...
Jackson Schuster [Thu, 10 Aug 2023 16:13:51 +0000 (11:13 -0500)]
[ComInterfaceGenerator] Add implementation and test for CallerAllocateBufferType parameters (#90263)

14 months agoEnable isolates storage tests on maccatalyst (#90150)
Meri Khamoyan [Thu, 10 Aug 2023 15:45:21 +0000 (19:45 +0400)]
Enable isolates storage tests on maccatalyst (#90150)

14 months agoEliminate cancellation deadlock in RateLimiter implementations (#90285)
Brennan [Thu, 10 Aug 2023 15:28:45 +0000 (08:28 -0700)]
Eliminate cancellation deadlock in RateLimiter implementations (#90285)

14 months agoMark Microsoft.NetCore.Platforms as non-shipping (#90297)
Viktor Hofer [Thu, 10 Aug 2023 15:15:41 +0000 (17:15 +0200)]
Mark Microsoft.NetCore.Platforms as non-shipping (#90297)

The full RID graph is frozen and won't change anymore. Mark the Microsoft.NETCore.Platforms nuget package as non-shipping as only the sdk repository still requires it.

Contributes to https://github.com/dotnet/runtime/issues/90000

14 months ago[LoongArch64] Fix the `la.local` between the JIT_PatchedCodeStart (#90143)
Qiao Pengcheng [Thu, 10 Aug 2023 15:03:22 +0000 (23:03 +0800)]
[LoongArch64] Fix the `la.local` between the JIT_PatchedCodeStart (#90143)

* [LoongArch64] Fix the `la.local` between the JIT_PatchedCodeStart
and the JIT_PatchedCodeLast for the upstream's LA-compiler-bugs.

* Also update the `g_GCShadowEnd`.

* amend the code for CRs.

14 months ago[browser] make cachedResourcesPurgeDelay configurable (#90264)
Pavel Savara [Thu, 10 Aug 2023 14:40:17 +0000 (16:40 +0200)]
[browser] make cachedResourcesPurgeDelay configurable (#90264)

14 months agoFor perf, use the new ConstructorInvoker APIs for ActivatorUtilities.CreateFactory...
Steve Harter [Thu, 10 Aug 2023 14:01:48 +0000 (09:01 -0500)]
For perf, use the new ConstructorInvoker APIs for ActivatorUtilities.CreateFactory (#90119)

14 months agoUpdate dependencies from https://github.com/dotnet/roslyn-analyzers build 20230807...
dotnet-maestro[bot] [Thu, 10 Aug 2023 13:58:47 +0000 (09:58 -0400)]
Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230807.1 (#90146)

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.11.0-beta1.23405.1 -> To Version 3.11.0-beta1.23407.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
14 months agomake Https_MultipleRequests_TlsResumed Linux specific (#90286)
Tomas Weinfurt [Thu, 10 Aug 2023 13:47:29 +0000 (06:47 -0700)]
make Https_MultipleRequests_TlsResumed Linux specific (#90286)

14 months agoJIT: Remove an overeager assert (#90302)
Jakob Botsch Nielsen [Thu, 10 Aug 2023 13:01:51 +0000 (15:01 +0200)]
JIT: Remove an overeager assert (#90302)

Physical promotion invokes `fgForwardSubStatement`, providing its own
liveness information, meaning that early liveness is no longer the only
source of liveness information in this function. This made it possible
to hit an assert when early liveness was disabled via
`DOTNET_JitEnableEarlyLivenessRange`.

Remove the overeager assert and leave it up to the caller to ensure that
there is valid liveness information (`GTF_VAR_DEATH`) when forward sub
is invoked.

Fix #90295

14 months agoRemove EnableNativeEventPipe property (#90274)
Lakshan Fernando [Thu, 10 Aug 2023 12:16:51 +0000 (05:16 -0700)]
Remove EnableNativeEventPipe property (#90274)

14 months agoFix intrinsics test failure log messages (#90267)
Jakob Botsch Nielsen [Thu, 10 Aug 2023 12:12:45 +0000 (14:12 +0200)]
Fix intrinsics test failure log messages (#90267)

14 months agoAdd additional filter capabilities to dotnet-pgo tool. (#89853)
Johan Lorensson [Thu, 10 Aug 2023 11:06:11 +0000 (13:06 +0200)]
Add additional filter capabilities to dotnet-pgo tool. (#89853)

Mono adopted PGO in .net7 as a replacement for a
solution called profiled AOT in mono/mono used by Android
SDK. In the replaced solution there was a concept of
a stop trigger, meaning that the user could collect methods
up to a stop trigger (a method name) meaning that the
profiled AOT image would only include methods up to that point.

When using EventPipe and nettrace there is limited ability to
get the same fine grained control over what methods that ends
up in the nettrace file. dotnet-monitor includes ways to stop
tracing if it hits for example a specific method, but due to the
nature of EventPipe, there could still be additional methods added
to the trace when closing session. dotnet-trace currently don't offer
any ability to do something similar, but if implemented, it
would probably come with the same limitations as dotnet-monitor.

Adding better filter capabilities to dotnet-pgo would add additional
capabilities, giving users more control on what methods that gets
included into the generated mibc file. That would give Mono's
profiled AOT better control to include methods up to a stop trigger.

dotnet-pgo alread had capabilities to include events based on timestamp
interval. This commit extends that to select the lower/upper timestamp
based on a regular expression matching methods. This commit also
adds capabilities to add a method include/exclude filters using regular
expression, giving users fine grained control on what methods to
include/exclude in the generated mibc file.

The additional filter capabilities could be used by Android SDK to
for example create a mibc file including all methods up to Main,
replacing the stop trigger features used in old profiled AOT solution.

---------

Co-authored-by: mdh1418 <mitchhwang1418@gmail.com>
14 months agoLsra JitStressRegs mode SpillAlways fixes (#89720)
Kunal Pathak [Thu, 10 Aug 2023 11:05:46 +0000 (04:05 -0700)]
Lsra JitStressRegs mode SpillAlways fixes (#89720)

* fix few scenarios for spillAlways()

* Include JitStressRegs=0x800

* Revert "Include JitStressRegs=0x800"

This reverts commit 170233235b3e24530386f48569a3e6f9d1de2b70.

14 months ago[mono] Adding support for Vector128::ExtractMostSignificantBits intrinsics on amd64...
Matous Kozak [Thu, 10 Aug 2023 08:47:51 +0000 (10:47 +0200)]
[mono] Adding support for Vector128::ExtractMostSignificantBits intrinsics on amd64 (#89997)

* Extract MSB amd64

* add SSSE3 check

14 months agoReport exception type name in Http metrics (#90221)
Miha Zupan [Thu, 10 Aug 2023 06:53:34 +0000 (08:53 +0200)]
Report exception type name in Http metrics (#90221)

* Report exception type name in Http metrics

* Mention 'Unknown' in a comment instead

14 months agoFix "Passed test" output
Mark Plesko [Thu, 10 Aug 2023 06:45:43 +0000 (23:45 -0700)]
Fix "Passed test" output

14 months agoRemove --flat from default dsymutil options (#89358)
Andy Gocke [Thu, 10 Aug 2023 05:46:00 +0000 (22:46 -0700)]
Remove --flat from default dsymutil options (#89358)

--flat is a diagnostic-only option and not fully supported. It
can still be specified if necessary through the DsymUtilOptions
property and NativeSymbolExt property, but it will no longer be
the default.

14 months agoAddress some code nits (#90289)
Aaron Robinson [Thu, 10 Aug 2023 04:22:23 +0000 (21:22 -0700)]
Address some code nits (#90289)

14 months ago[iOS] Disable failing CI tests (#90181)
Steve Pfister [Thu, 10 Aug 2023 03:59:20 +0000 (20:59 -0700)]
[iOS] Disable failing CI tests (#90181)

A few System.Formats.Tar tests are failing due to the length of the path exceeding the limit. Additionally, other customer scenario tests that we don't need to run on mobile configurations weren't being skipped, but now are.

14 months agoDebugger IPC creation failure should not abort coreclr startup (#90161)
Tom McDonald [Thu, 10 Aug 2023 01:39:00 +0000 (21:39 -0400)]
Debugger IPC creation failure should not abort coreclr startup (#90161)

* Debugger IPC creation failure should not abort coreclr startup

* Add log message for debugger pipe init failure

* Use Stress log instead of COMPLUS logging

14 months ago[libs][Android] Reenable Trace_ClearTraceListeners_StopsWritingToDebugger test (...
Mitchell Hwang [Thu, 10 Aug 2023 00:33:34 +0000 (20:33 -0400)]
[libs][Android] Reenable Trace_ClearTraceListeners_StopsWritingToDebugger test (#90242)

Removes unnecessary ActiveIssue discovered in https://github.com/dotnet/runtime/issues/50570#issuecomment-1671049438

14 months agoUse current runtime version in ILLink.Tasks package (#90197)
Sven Boemer [Thu, 10 Aug 2023 00:32:37 +0000 (17:32 -0700)]
Use current runtime version in ILLink.Tasks package (#90197)

The ILLink.Tasks package should have a runtimeconfig.json that
matches the runtime version bundled with the SDK that references
it. This used to be done by stomping the runtime version in the
dotnet/sdk build, but ILLink.Tasks is no longer bundled with the
SDK so we need to do this ourselves.

Tests that use live ILLink bits need to continue working with the
SDK specified in global.json, so this preserves the existing
illink.runtimeconfig.json in the build output, but defines an
additional illink.runtimeconfig.pack.json file that uses the
current runtime version. The pack.json file is included in the
package (with the name illink.runtimeconfig.json) instead of the
original.

This includes a fix for 429a5c3a2ea096758c2b9b8907a8231d4e686a46:
we weren't actually using live illink for tests due to an
ordering issue introduced in response to feedback on that change.
The Directory.Build.props is imported too early (before the nuget
props that this is trying to override), so we need to import
Microsoft.NET.ILLink.props directly from the project file.

---------

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
14 months ago[iOS] Add Macatalyst support for library mode (#90237)
Steve Pfister [Thu, 10 Aug 2023 00:27:57 +0000 (17:27 -0700)]
[iOS] Add Macatalyst support for library mode (#90237)

This change allows you to target maccatalyst for building full, self-contained libraries.

14 months agoFix up `InlineArray` tests (#90192)
Aaron Robinson [Wed, 9 Aug 2023 23:15:05 +0000 (16:15 -0700)]
Fix up `InlineArray` tests (#90192)

* Convert invalid C# to IL project

14 months agoAdd `emitDispEmbBroadcastCount` to display the embedded broadcasted element count...
Ruihan-Yin [Wed, 9 Aug 2023 22:55:58 +0000 (15:55 -0700)]
Add `emitDispEmbBroadcastCount` to display the embedded broadcasted element count. (#90123)

* Add `emitDispEmbBroadcastCount` to display
the embedded broadcasted element count.

* Resolve comments:
rename the previous `emitGetMemOpSize` to `emitGetBaseMemOpSize`,
the new `emitGetMemOpSize` will check if EVEX.b is set and return the
memory size accordingly.

* bug fixes:
added 2 missing break

* resolve comments:
1. remove un-needed helper function.
2. move the Evexb check into the display function.

14 months agoJIT: Fix emitSplit to properly handle the remainder (#90246)
Jakob Botsch Nielsen [Wed, 9 Aug 2023 22:39:17 +0000 (00:39 +0200)]
JIT: Fix emitSplit to properly handle the remainder (#90246)

emitSplit did not handle the edge case where the last instruction group
of the function/funclet resulted in the size to overflow the max. Use a
lambda so we can call the necessary code both as part of the loop and
after the loop.

Fix #85063

14 months agoAdd debug output to BasicEventSourceTests.TestsManifestGeneration.Test_EventSource_Et...
David Mason [Wed, 9 Aug 2023 22:31:53 +0000 (15:31 -0700)]
Add debug output to BasicEventSourceTests.TestsManifestGeneration.Test_EventSource_EtwManifestGenerationRollover (#90198)

14 months ago[NativeAOT][8.0] Make casting logic closer to CoreCLR (#90234)
Vladimir Sadov [Wed, 9 Aug 2023 21:28:50 +0000 (14:28 -0700)]
[NativeAOT][8.0] Make casting logic closer to CoreCLR (#90234)

* Refactored AssignmentVariation

* refactored similar to coreclr

* fix build

* simpler selection of runtime helpers for casts

* add a codegen test

14 months agoReword diagnostic about which types can use [out], remove unused diagnostics (#90188)
Jackson Schuster [Wed, 9 Aug 2023 20:16:30 +0000 (15:16 -0500)]
Reword diagnostic about which types can use [out], remove unused diagnostics (#90188)

14 months agoAdd CollectionBuilder attribute to some immutable collection interfaces (#89459)
Stephen Toub [Wed, 9 Aug 2023 19:01:53 +0000 (15:01 -0400)]
Add CollectionBuilder attribute to some immutable collection interfaces (#89459)

14 months agoRemove spurious assertion check causing .NET Core crashes (#89986)
Tomáš Rylek [Wed, 9 Aug 2023 18:59:35 +0000 (20:59 +0200)]
Remove spurious assertion check causing .NET Core crashes (#89986)

* Remove spurious assertion check causing .NET Core crashes

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
14 months ago[browser] doc node SIMD+EH, dev tools (#90147)
Pavel Savara [Wed, 9 Aug 2023 18:53:49 +0000 (20:53 +0200)]
[browser] doc node SIMD+EH, dev tools (#90147)

14 months ago[JIT] ARM64 vector right-shift must dead-code eliminate if the constant is zero....
Will Smith [Wed, 9 Aug 2023 18:50:13 +0000 (11:50 -0700)]
[JIT] ARM64 vector right-shift must dead-code eliminate if the constant is zero. (#90051)

* ARM64 vector right-shift must dead-code eliminate if the constant is zero

* Update emitarm64.cpp

* Use proper size

* Formatting

* Formatting

* Fixing test

* Add comment

* Add comment

14 months agoAdd IgnoreForCI property to certain no-op test suites (#90238)
Alexander Köplinger [Wed, 9 Aug 2023 18:46:45 +0000 (20:46 +0200)]
Add IgnoreForCI property to certain no-op test suites (#90238)

A couple projects have all tests disabled, it makes no sense to send them to Helix to run 0 tests.

14 months ago[main] Update dependencies from dotnet/roslyn (#89977)
dotnet-maestro[bot] [Wed, 9 Aug 2023 16:03:28 +0000 (12:03 -0400)]
[main] Update dependencies from dotnet/roslyn (#89977)

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.3

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.3

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.4

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.4

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.5

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.5

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.6

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.6

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.7

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.7

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.8

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.8

* Update dependencies from https://github.com/dotnet/roslyn build 20230803.9

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23403.9

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.1

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.1

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.2

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.2

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.3

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.3

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.4

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.4

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.5

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.5

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.6

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.6

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.7

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.7

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.8

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.8

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.9

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.9

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.10

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.10

* Update dependencies from https://github.com/dotnet/roslyn build 20230804.11

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23404.11

* Update dependencies from https://github.com/dotnet/roslyn build 20230805.1

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23405.1

* Update dependencies from https://github.com/dotnet/roslyn build 20230806.1

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23406.1

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.2

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.2

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.3

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.3

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.4

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.4

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.5

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.5

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.6

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.6

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.7

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.7

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.8

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.8

* Update dependencies from https://github.com/dotnet/roslyn build 20230807.9

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23407.9

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.1

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.1

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.2

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.2

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.3

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.3

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.4

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.4

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.5

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.5

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.6

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.6

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.7

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.7

* Update dependencies from https://github.com/dotnet/roslyn build 20230808.8

Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
 From Version 4.8.0-1.23403.1 -> To Version 4.8.0-1.23408.8

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
14 months ago[Blazor] Add basic ICU tests (#89771)
Ilona Tomkowicz [Wed, 9 Aug 2023 15:40:37 +0000 (17:40 +0200)]
[Blazor] Add basic ICU tests (#89771)

* Fix the logic + add simple tests.

* Fix non-icu-sharding tests.

* Split ICU WBT file - it was running long on CI.

* Add new wbt files to CI jobs.

* Split sharding wbt into classes ~equal no. of test cases.

* And update job list.

* Fix `File sizes don't match for dotnet.native.wasm`.

* Move file to fix class not found.

* Cleanup.

* Propagate warning update.

* @radical's suggestions.

* Build fix.

* Null test cases.

* Add running the apps.

* @radical's feedback

* Changing type of template required update in options.

* Fix "file sizes don't match for dotnet.native.wasm".

14 months ago[iOS][Android] Fix up library mode build (#90133)
Steve Pfister [Wed, 9 Aug 2023 15:40:05 +0000 (08:40 -0700)]
[iOS][Android] Fix up library mode build (#90133)

This change makes sure the mobile build task assembly is properly imported, corrections on the LLVM path, and other small minor tweaks.

14 months agoJIT: Fix intrinsic recognition for System.Math.Tanh (#90227)
Jakob Botsch Nielsen [Wed, 9 Aug 2023 15:35:49 +0000 (17:35 +0200)]
JIT: Fix intrinsic recognition for System.Math.Tanh (#90227)

Fix #88451

14 months agoAdd extension methods for creating OptionsBuilder with ValidateOnStart support (...
Steve Harter [Wed, 9 Aug 2023 14:58:54 +0000 (09:58 -0500)]
Add extension methods for creating OptionsBuilder with ValidateOnStart support (#89973)

14 months agoAbort startup if Starting, Start or Started fails (#90183)
Steve Harter [Wed, 9 Aug 2023 14:00:33 +0000 (09:00 -0500)]
Abort startup if Starting, Start or Started fails (#90183)

14 months agoMake ComHost.Create throw InvalidTypeLibraryException if type library is empty file...
anatawa12 [Wed, 9 Aug 2023 13:53:36 +0000 (22:53 +0900)]
Make ComHost.Create throw InvalidTypeLibraryException if type library is empty file (#90220)

14 months agoAdd LLVM-AOT support to the sample app (#90152)
Milos Kotlar [Wed, 9 Aug 2023 13:27:45 +0000 (15:27 +0200)]
Add LLVM-AOT support to the sample app (#90152)

14 months agoFix tests for NodeJS. (#90223)
Ilona Tomkowicz [Wed, 9 Aug 2023 13:06:10 +0000 (15:06 +0200)]
Fix tests for NodeJS. (#90223)

14 months ago[mono][debugger] Support debug inline array (#90026)
Thays Grazia [Wed, 9 Aug 2023 12:56:55 +0000 (09:56 -0300)]
[mono][debugger] Support debug inline array (#90026)

* Support debug inline array for wasm

* Removing extra tab

* Changing behavior to use the same protocol version on wasm and on debugger-libs.

* Revert last changes

* Adding changes for debugger-libs support

* Change where we send the information about inline array.

* fix wasm compilation

* Addressing @radical comments
Fixing other tests.

* Fix wrong change.

* Adding more tests as suggested by @radical

14 months agoApply objc_msgsend fix to src/mono too and fix build on earlier Xcode (#90217)
Alexander Köplinger [Wed, 9 Aug 2023 12:41:26 +0000 (14:41 +0200)]
Apply objc_msgsend fix to src/mono too and fix build on earlier Xcode (#90217)

We were missing the objc_msgsend fix from https://github.com/dotnet/runtime/pull/89932 in the mono build.

Also fix an issue where CMake would complain about wrong number of arguments when CLR_CMAKE_COMMON_OBJC_FLAGS is empty, we need put the variable in quotes.

14 months agoUnified to throw NotSupportedException when SendFile() for connectionless sockets...
rhirano0715 [Wed, 9 Aug 2023 12:19:38 +0000 (21:19 +0900)]
Unified to throw NotSupportedException when SendFile() for connectionless sockets (#87108)

* Unified to throw NotSupportedException when SendFile() for connectionless sockets

The issue was that the Socket.SendFile() threw inconsistent exceptions when the platform was Windows and the protocol was UDP.
The first call would throw a SocketException, while the second call would throw a NotSupportedException.

With this commit, SendFile() will consistently throw NotSupportException on all platforms when the protocol is UDP.

Fix #47472

* Change to throws `NotSupportedException` if `!IsConnectionOriented` or `!Connected`.

Before:.

    Throws `NotSupportedException` on UDP.

After:

    Throws `NotSupportedException` if `!IsConnectionOriented` or `!Connected`.

* Changed test case `UdpConnection_ThrowsException` to run regardless of platform.

* Update src/libraries/System.Net.Sockets/src/System/Net/Sockets/Socket.Tasks.cs

Co-authored-by: Karel Zikmund <karelz@microsoft.com>
---------

Co-authored-by: Karel Zikmund <karelz@microsoft.com>
14 months ago[HttpClientFactory] Remove dependency on ILoggerFactory (#89531)
Natalia Kondratyeva [Wed, 9 Aug 2023 09:46:11 +0000 (10:46 +0100)]
[HttpClientFactory] Remove dependency on ILoggerFactory (#89531)

* Remove dependency on ILoggerFactory

* Add test

* PR feedback & add more tests

* PR feedback

14 months agoBump timeouts on Android/iOS devices jobs (#90178)
Alexander Köplinger [Wed, 9 Aug 2023 09:45:15 +0000 (11:45 +0200)]
Bump timeouts on Android/iOS devices jobs (#90178)

The Helix queues on these jobs are often backed up which causes failed builds that we can avoid by bumping the timeout.

14 months ago[hot_reload] ignore modified MONO_TABLE_TYPEDEF rows in update (#90166)
Aleksey Kliger (λgeek) [Wed, 9 Aug 2023 05:47:42 +0000 (01:47 -0400)]
[hot_reload] ignore modified MONO_TABLE_TYPEDEF rows in update (#90166)

* Add test that deletes a custom attribute from a class

* just ignore modified MONO_TABLE_TYPEDEF rows in updates

   We may want to validate that Parent, Interfaces and Attributes columns haven't changed, but it's tricky and might be overly restrictive

14 months agoFix Dragon4 tutorial URL (#90186)
Per Lundberg [Wed, 9 Aug 2023 05:04:18 +0000 (08:04 +0300)]
Fix Dragon4 tutorial URL (#90186)

14 months agoRemove some unnecessary indirection to DiagnosticServerAdapter/EventPipeAdapter in...
Elinor Fung [Wed, 9 Aug 2023 01:42:37 +0000 (18:42 -0700)]
Remove some unnecessary indirection to DiagnosticServerAdapter/EventPipeAdapter in nativeaot (#90132)

14 months agoIgnore some tests on macOS only due to small stack size (#90116)
Egor Bogatov [Wed, 9 Aug 2023 01:30:21 +0000 (03:30 +0200)]
Ignore some tests on macOS only due to small stack size (#90116)

14 months ago[browser] fix order of libraryInitializers execution (#90189)
Pavel Savara [Wed, 9 Aug 2023 01:07:41 +0000 (03:07 +0200)]
[browser] fix order of libraryInitializers execution (#90189)

14 months agoEnable IOPack, IOEnqueue, and IODequeue on Windows (#88894)
Eduardo Velarde [Wed, 9 Aug 2023 01:01:00 +0000 (18:01 -0700)]
Enable IOPack, IOEnqueue, and IODequeue on Windows (#88894)

Enable IOPack, IOEnqueue and IODequeue for the Windows Threadpool (the one NativeAOT uses by default).

14 months agoEnable support for generic methods with IDIC (#90180)
Aaron Robinson [Wed, 9 Aug 2023 00:45:51 +0000 (17:45 -0700)]
Enable support for generic methods with IDIC (#90180)

14 months agoAdd Fact (#90202)
Jackson Schuster [Tue, 8 Aug 2023 23:42:56 +0000 (18:42 -0500)]
Add Fact (#90202)

14 months agoadd ReceiveFromAsync and SendToAsync with SocketAddress overload (#90086)
Tomas Weinfurt [Tue, 8 Aug 2023 23:23:44 +0000 (16:23 -0700)]
add ReceiveFromAsync and SendToAsync with SocketAddress overload (#90086)

* cleanup

* update

* cleanup

* feedback

* udpdate

* pal

* windows

* equals

14 months agoPinnedMarshal after marshalling in unmanaged to managed (#90117)
Jackson Schuster [Tue, 8 Aug 2023 22:37:37 +0000 (17:37 -0500)]
PinnedMarshal after marshalling in unmanaged to managed (#90117)

PinnedMarshal has the "FromManaged" call in stateful marshallers, so that needs to happen before marshal in unmanaged to managed stubs.

14 months ago[RISC-V] Add g_GCShadowEnd to JIT_WriteBarrier_Table (#90036)
Alexander Soldatov [Tue, 8 Aug 2023 22:20:16 +0000 (01:20 +0300)]
[RISC-V] Add g_GCShadowEnd to JIT_WriteBarrier_Table (#90036)

lla pseudo instruction which used for access to g_GCShadowEnd
in JIT_WriteBarrier implemented via PC-relative addressing. But when
W^X enabled, copy of JIT_WriteBarrier is being created and this PC-related
addressing is not valid, which cause crash.

This change moves address of g_GCShadowEnd to JIT_WriteBarrier_Table like
others variables used in Write Barrier.

14 months agoAdd EnableDiagnostics sub-configs for IPC, debugger, and profiler (#90159)
Tom McDonald [Tue, 8 Aug 2023 21:48:58 +0000 (17:48 -0400)]
Add EnableDiagnostics sub-configs for IPC, debugger, and profiler (#90159)

14 months agoCleanup caller allocated and callee allocated resources separately (#89982)
Jackson Schuster [Tue, 8 Aug 2023 21:47:45 +0000 (16:47 -0500)]
Cleanup caller allocated and callee allocated resources separately (#89982)

This PR separates cleaning up caller allocated resources and callee allocated resources into separate stages in the managed to unmanaged direction. Caller allocated parameters (anything except 'out') will clean up the same way. Callee allocated parameters ('out' parameters) will be cleaned up only if the invocation succeeded.

14 months agoFix Activity Baggage logging scope (#90127)
Tarek Mahmoud Sayed [Tue, 8 Aug 2023 19:20:25 +0000 (12:20 -0700)]
Fix Activity Baggage logging scope (#90127)

14 months ago[browser] Read `AssetTraitValue` to get culture for resource during webcil transforma...
Marek Fišera [Tue, 8 Aug 2023 19:03:23 +0000 (21:03 +0200)]
[browser] Read `AssetTraitValue` to get culture for resource during webcil transformation (#89600)

* Read AssetTraitValue when determining culture for resource during webcil transformation
* Add WBT with Blazor with resources in two cultures and build+publish
* Check for emcc-link.rsp instead of that for-build directory exists
* track api changes in main
* Avoid using unicode character in an unrelated test name. it breaks emcc build on windows

---------
Co-authored-by: Ankit Jain <radical@gmail.com>
14 months agoCrossgen2 support for static virtual method resolution (take 2) (#87438)
Tomáš Rylek [Tue, 8 Aug 2023 18:43:50 +0000 (20:43 +0200)]
Crossgen2 support for static virtual method resolution (take 2) (#87438)

This change adds SVM resolution support to Crossgen2. We still resort to
runtime JIT in case we cannot resolve the SVM call at compile time (typically for
canonical generic methods); some of these cases are just due to current limitations
of the JIT interface and can be fixed in the future.

Thanks

Tomas

14 months agouse correct marshaller for elements (#90176)
Jackson Schuster [Tue, 8 Aug 2023 17:56:48 +0000 (12:56 -0500)]
use correct marshaller for elements (#90176)

14 months agoSimplify Http2Connection shutdown/dispose logic (#90094)
Miha Zupan [Tue, 8 Aug 2023 17:44:03 +0000 (19:44 +0200)]
Simplify Http2Connection shutdown/dispose logic (#90094)

* Simplify Http2Connection shutdown/dispose logic

* Add a test for SocketsHttpHandler disposal mid request

14 months agoTry to fix missing libc++.so.1 errors in arm64 llvmaot perf run (#88705)
Jo Shields [Tue, 8 Aug 2023 17:31:27 +0000 (13:31 -0400)]
Try to fix missing libc++.so.1 errors in arm64 llvmaot perf run (#88705)

* Try to fix missing libc++.so.1 errors in arm64 llvmaot perf run
* Pass required flags for AOT build of Mono

14 months ago[iOS] Generate unique class name for MonoDeadLetter (#89956)
Steve Pfister [Tue, 8 Aug 2023 16:29:57 +0000 (09:29 -0700)]
[iOS] Generate unique class name for MonoDeadLetter (#89956)

In library mode, it is possible to have multiple shared libraries (runtimes) loaded in the same process. On iOS, we have a small bit of objc to make sure we know when threads die so we can properly detach the runtime. Unfortunately, the class name we use is not unique and results in a crash when calling into a 2nd library.

This change makes the class name partially unique to avoid such a circumstance.

14 months agoUse bidirectional marshallers for elements. (#90056)
Jeremy Koritzinsky [Tue, 8 Aug 2023 16:28:09 +0000 (09:28 -0700)]
Use bidirectional marshallers for elements. (#90056)

14 months agoCrossplatform ResourceUpdater (#89303)
anatawa12 [Tue, 8 Aug 2023 16:18:54 +0000 (01:18 +0900)]
Crossplatform ResourceUpdater (#89303)

This enables cross-builds of windows applications on non-windows to have updated win32 resources. It also removes the need to open/write the app host multiple times during build.

14 months ago[iOS][non-icu] HybridGlobalization implement calendar data (#90004)
Meri Khamoyan [Tue, 8 Aug 2023 15:53:11 +0000 (19:53 +0400)]
[iOS][non-icu] HybridGlobalization implement calendar data (#90004)

Implement calendar info for hybrid mode on iOS

14 months ago[browser] don't propagate JS errors in WS abort (#90148)
Pavel Savara [Tue, 8 Aug 2023 15:36:49 +0000 (17:36 +0200)]
[browser] don't propagate JS errors in WS abort (#90148)

14 months agoSupport `DllImportSearchPath.AssemblyDirectory` for NativeAOT applications (#90120)
Aaron Robinson [Tue, 8 Aug 2023 14:38:54 +0000 (07:38 -0700)]
Support `DllImportSearchPath.AssemblyDirectory` for NativeAOT applications (#90120)

* NativeAOT - Suppress OS dialog for LoadLibrary failures
on Windows.

* Update NativeAOT to load from application
directory when DllImportSearchPath.AssemblyDirectory
is defined.