platform/upstream/dotnet/runtime.git
17 months agoSPMI: Fix SpmiRecordsHelper::RestoreCORINFO_RUNTIME_LOOKUP (#81657)
Jakob Botsch Nielsen [Sun, 5 Feb 2023 16:54:05 +0000 (17:54 +0100)]
SPMI: Fix SpmiRecordsHelper::RestoreCORINFO_RUNTIME_LOOKUP (#81657)

Fix #81637

17 months ago[wasm] wasi: Enable library tests on CI (#81052)
Ankit Jain [Sat, 4 Feb 2023 22:21:07 +0000 (17:21 -0500)]
[wasm] wasi: Enable library tests on CI (#81052)

17 months agoUse MemoryExtensions.Count in a few places (#81325)
Stephen Toub [Sat, 4 Feb 2023 22:12:39 +0000 (17:12 -0500)]
Use MemoryExtensions.Count in a few places (#81325)

* Use MemoryExtensions.Count in a few places

* Update src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.cs

17 months agoUpstream a few changes from the NativeAOT-LLVM branch (#81616)
SingleAccretion [Sat, 4 Feb 2023 20:14:26 +0000 (23:14 +0300)]
Upstream a few changes from the NativeAOT-LLVM branch (#81616)

* Use pointer type for generic context

...in the shadow method signature for the special unboxing thunks.

The shadow method acts as an alias to the instance method
it represents and so must have the exact same signature.

* Support direct pointers in VSD cells

* Add INTERFACE_DISPATCH_CACHE_HAS_CELL_BACKPOINTER

17 months agoSuppress clang-16 warnings (#81573)
Adeel Mujahid [Sat, 4 Feb 2023 20:08:12 +0000 (22:08 +0200)]
Suppress clang-16 warnings (#81573)

* Suppress clang-16 warnings

* Remove a strange (one-of-a-kind) workaround

* Add thunk for PAL_{Unr,R}egisterModule

17 months ago[wasm] Jiterpreter field op refactorings; fixes #81558 (#81620)
Katelyn Gadd [Sat, 4 Feb 2023 11:37:33 +0000 (03:37 -0800)]
[wasm] Jiterpreter field op refactorings; fixes #81558 (#81620)

* Refactor jiterpreter field op implementation into separate static and nonstatic field implementations
* Add more diagnostic infrastructure
* fixes issue #81558 (dictionary.findvalue bug)

17 months agoPromote Tier0 methods with loops to InstrumentedTier0 (#81051)
Egor Bogatov [Sat, 4 Feb 2023 08:57:42 +0000 (09:57 +0100)]
Promote Tier0 methods with loops to InstrumentedTier0 (#81051)

17 months agoPrep for new diagnostic work and tests (#81571)
Aaron Robinson [Sat, 4 Feb 2023 06:42:31 +0000 (22:42 -0800)]
Prep for new diagnostic work and tests (#81571)

* Fix asserts fired during diag testing

* EnC flag is now applied to MethodDesc instead of
Instantiated MethodDesc.

* Renamed ambiguous method and updated some logging.

17 months agoFix -Wformat violations (#81618)
Adeel Mujahid [Sat, 4 Feb 2023 06:09:39 +0000 (08:09 +0200)]
Fix -Wformat violations (#81618)

17 months agoGenerate StandardOptimizationData uncompressed (#81623)
Juan Hoyos [Sat, 4 Feb 2023 04:58:40 +0000 (20:58 -0800)]
Generate StandardOptimizationData uncompressed (#81623)

17 months agoMake FrozenHashTable non-generic (#81603)
Stephen Toub [Sat, 4 Feb 2023 03:18:53 +0000 (22:18 -0500)]
Make FrozenHashTable non-generic (#81603)

With some tweaks to how it's defined, we can avoid making it generic at all, which helps to reduce native aot compilation size when ToFrozenDictionary/Set is used with multiple generic instantiations.

17 months agoSystem.DirectoryServices.Protocols.LdapConnection has wrong argument check (#78459...
Geert van Horrik [Fri, 3 Feb 2023 23:23:05 +0000 (00:23 +0100)]
System.DirectoryServices.Protocols.LdapConnection has wrong argument check (#78459) (#80636)

* #78459 System.DirectoryServices.Protocols.LdapConnection has wrong argument check for anonymous authentication

* Add unit tests for ldap-anonymous-auth-fix

17 months agoRespect HostApplicationBuilderSettings.Args when DisableDefaults=true (#81568)
Eric Erhardt [Fri, 3 Feb 2023 22:29:12 +0000 (16:29 -0600)]
Respect HostApplicationBuilderSettings.Args when DisableDefaults=true (#81568)

If the Args was specified, always add it to the Configuration.

Fix #81445

17 months agoUpdate the assert to correctly check if a tree with value has non-zero destination...
Kunal Pathak [Fri, 3 Feb 2023 19:50:38 +0000 (11:50 -0800)]
Update the assert to correctly check if a tree with value has non-zero destination registers (#81412)

* Fix the assert

* add test cases

* Remove the unused node

* Revert "Remove the unused node"

This reverts commit 32a8c9c598925133592cb2093cda95c989cc278b.

* fix the test case

* fix the arm64 and arm cases too

17 months agoFix OOM edge case in interleaved LoaderHeap (#81602)
Jan Vorlicek [Fri, 3 Feb 2023 19:20:55 +0000 (20:20 +0100)]
Fix OOM edge case in interleaved LoaderHeap (#81602)

When the `CommitPages` in `GetMoreCommittedPages` fails, which can
happen due to OOM, the `m_pPtrToEndOfCommittedRegion` was already
updated from the end of the code page to the end of the data page.
So if another allocation request comes to the heap, we think there is
one extra page of space left and end up allocating region that crosses
the code / data page boundary. And later we crash when initializing
precodes that were allocated by this request.

This issue was discovered by a Roslyn CI test that loaded assemblies
into non-collectible AssemblyLoadContext instances and ended up jitting
so many methods that the maximum number of mappings on Linux (65535 by
default) got exceeded and mmap failed.

This change fixes it by moving the `m_pPtrToEndOfCommittedRegion` only
in the success case.

17 months agopal_ssl: include missing code for non-portable OpenSSL 3.0 build. (#81596)
Tom Deseyn [Fri, 3 Feb 2023 19:11:22 +0000 (20:11 +0100)]
pal_ssl: include missing code for non-portable OpenSSL 3.0 build. (#81596)

17 months agoJIT: revise checking for computed preds (#81582)
Andy Ayers [Fri, 3 Feb 2023 16:47:55 +0000 (08:47 -0800)]
JIT: revise checking for computed preds (#81582)

Since pred lists now exist pervasively, change most methods that had
conditional pred list updates to assert preds exist and always update.

To make sure I got all uses, I renamed `fgComputePredsDone` to
`fgPredsComputed`.

Remove the ability to drop EH, as it doesn't update pred lists properly
and so has been broken for quite a while now.

Remove some of the logic for fixing up finally targets, since we now
always have pred lists around and so don't need the blanket invaliation.

Closes #80193.

17 months agoRemove AggressiveInlining from XxHash3 and XxHash128 HashLength0To16 (#81565)
Egor Bogatov [Fri, 3 Feb 2023 16:02:34 +0000 (17:02 +0100)]
Remove AggressiveInlining from XxHash3 and XxHash128 HashLength0To16 (#81565)

17 months agoUse eager evaluation when configuring the JsonTypeInfo type graph. (#81576)
Eirik Tsarpalis [Fri, 3 Feb 2023 15:45:30 +0000 (15:45 +0000)]
Use eager evaluation when configuring the JsonTypeInfo type graph. (#81576)

* Use eager evaluation when configuring the JsonTypeInfo type graph.

* Use enums to model JsonTypeInfo configuration state.

17 months agoRemove JsonMetadataServices dependency from DeserializeAsyncEnumerable (#81579)
Eirik Tsarpalis [Fri, 3 Feb 2023 15:42:32 +0000 (15:42 +0000)]
Remove JsonMetadataServices dependency from DeserializeAsyncEnumerable (#81579)

17 months agoUpdate dependencies from https://github.com/dotnet/arcade build 20230202.4 (#81591)
dotnet-maestro[bot] [Fri, 3 Feb 2023 15:35:07 +0000 (16:35 +0100)]
Update dependencies from https://github.com/dotnet/arcade build 20230202.4 (#81591)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
17 months agoSupport targeting iOS platforms with ILCompiler (#81476)
Ivan Povazan [Fri, 3 Feb 2023 08:13:11 +0000 (09:13 +0100)]
Support targeting iOS platforms with ILCompiler (#81476)

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

17 months agoDo not print stack trace if error reading crashReportJsonFile (#81467)
Kunal Pathak [Fri, 3 Feb 2023 05:30:07 +0000 (21:30 -0800)]
Do not print stack trace if error reading crashReportJsonFile (#81467)

17 months agoDo not expect quic to work on single file deployments (#81581)
Michal Strehovský [Fri, 3 Feb 2023 04:23:17 +0000 (13:23 +0900)]
Do not expect quic to work on single file deployments (#81581)

This new test is breaking runtime-extra-platforms CI legs.

17 months ago[wasm] Implement more opcodes in the jiterpreter (#81575)
Katelyn Gadd [Fri, 3 Feb 2023 02:46:32 +0000 (18:46 -0800)]
[wasm] Implement more opcodes in the jiterpreter (#81575)

* Implement the new add_mul_imm interpreter opcodes
* Implement MINT_LDFTN and MINT_INTRINS_ENUM_HASFLAG
* Implement MINT_ARRAY_RANK

17 months agoJIT: remove cheap preds (#81562)
Andy Ayers [Fri, 3 Feb 2023 02:28:20 +0000 (18:28 -0800)]
JIT: remove cheap preds (#81562)

We no longer need cheap preds. We always have full preds available.

Also, remove the ability to drop and recompute full preds, as we now compute
full preds incrementally while building the flow graph, and never drop or need
to rebuild them.

Contributes to #80193.

17 months agoCI: Update darc dependency to track emsdk manifest name change (#81556)
Ankit Jain [Fri, 3 Feb 2023 01:33:16 +0000 (20:33 -0500)]
CI: Update darc dependency to track emsdk manifest name change (#81556)

17 months agoAllow inlining for ldsfld + value-type (#78736)
Egor Bogatov [Thu, 2 Feb 2023 22:11:15 +0000 (23:11 +0100)]
Allow inlining for ldsfld + value-type (#78736)

17 months agoJIT: build pred lists when we first build the flow graph (#81524)
Andy Ayers [Thu, 2 Feb 2023 20:11:01 +0000 (12:11 -0800)]
JIT: build pred lists when we first build the flow graph (#81524)

This is the last in a (long) series. We now build the pred lists at the same
time we are initially connecting up the flow graph. Pred lists are now always
valid and need to be maintained by all phases.

There are some changes needed in EH normalization, and one special case we
need to handle in debug codegen where we create the scratch BB very early on.
This was the last client for the cheap pred lists.

Note some of the pred list info can't be added right away, in particular
the "return" edges from finallies do not appear until we've made it through
the importer.

I have deferred cleaning up dead code; will do it in follow-up changes.

Contributes to #80193.

17 months ago[wasm] Allow users to control behavior of undefined symbols (#80495)
Marek Fišera [Thu, 2 Feb 2023 19:55:31 +0000 (20:55 +0100)]
[wasm] Allow users to control behavior of undefined symbols (#80495)

17 months ago[mono][ios] Introduce non-global symbol stripping in MonoAOTCompiler msbuild task...
Milos Kotlar [Thu, 2 Feb 2023 19:03:17 +0000 (20:03 +0100)]
[mono][ios] Introduce non-global symbol stripping in MonoAOTCompiler msbuild task (#81361)

* Add non-global symbol stripping in AppleAppBuilder task.

* Strip symbols when measuring SOD via build-appbundle make target

17 months agoDelete JIT disasm output in test wrappers before running FileCheck (#81538)
Jakob Botsch Nielsen [Thu, 2 Feb 2023 18:31:46 +0000 (19:31 +0100)]
Delete JIT disasm output in test wrappers before running FileCheck (#81538)

JitStdOutFile has append behavior, so if you rerun the scripts you would
get multiple repeated sets of jitdisasm. This would give FileCheck a
much range of disassembly to match that was much wider than expected.

17 months agoUpdate some CertificateRequest tests to behave correctly on systems lacking SHA-1
Tom Deseyn [Thu, 2 Feb 2023 18:10:56 +0000 (19:10 +0100)]
Update some CertificateRequest tests to behave correctly on systems lacking SHA-1

17 months agoInstall workload manifests in sdk band version derived from the (#81461)
Ankit Jain [Thu, 2 Feb 2023 18:08:36 +0000 (13:08 -0500)]
Install workload manifests in sdk band version derived from the (#81461)

.. installer version.

- This is only for running Wasm.Build.Tests

Two new properties are added:

- `SdkBandVersionForWorkload_ComputedFromInstaller`: this is based on the
version derived from `dotnet --version`. `8.0.0-alpha.1.1234.1` becomes
`8.0.0-alpha.1`, and is used as the path where the manifests get installed for testing:
`sdk-manifests/$(SdkBandVersionForWorkload_ComputedFromInstaller)`

- `SdkBandVersionForWorkload_FromRuntimeVersions`: this is the version
band used for the packages generated. And simply rename of the earlier
`$(SdkBandVersionForWorkload)`.

17 months agoUpdate dependencies from https://github.com/dotnet/arcade build 20230201.1 (#81535)
dotnet-maestro[bot] [Thu, 2 Feb 2023 17:54:13 +0000 (11:54 -0600)]
Update dependencies from https://github.com/dotnet/arcade build 20230201.1 (#81535)

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.23080.3 -> To Version 8.0.0-beta.23101.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
17 months ago[wasm] CI: fix the new runtime-wasm-dbgtests pipeline (#81513)
Ankit Jain [Thu, 2 Feb 2023 16:59:18 +0000 (11:59 -0500)]
[wasm] CI: fix the new runtime-wasm-dbgtests pipeline (#81513)

* [wasm] CI: fix the new runtime-wasm-dbgtests pipeline

* update README

* fix

* runtime-wasm-dbgtests: disable automatic run for PRs also

17 months agoPass -pie and -no-pie to the linker (#81533)
Adeel Mujahid [Thu, 2 Feb 2023 16:02:34 +0000 (18:02 +0200)]
Pass -pie and -no-pie to the linker (#81533)

* Pass -pie and -no-pie to the linker

When `PositionIndependentExecutable` is `false`, we need to pass
`-no-pie` to the linker. Otherwise, we need to pass `-pie` to the
linker with `-Wl` because we are not compiling the code at this stage
(only linking the objects).

* Add -pie for non-pie .o (in CentOS 7)

17 months agoFix build for FreeBSD arm64 w/NativeAOT (#81510)
Szczepan Ćwikliński [Thu, 2 Feb 2023 15:58:22 +0000 (16:58 +0100)]
Fix build for FreeBSD arm64 w/NativeAOT (#81510)

17 months agoJIT: change profile slop assert to a jitdump note (#81377)
Andy Ayers [Thu, 2 Feb 2023 15:46:50 +0000 (07:46 -0800)]
JIT: change profile slop assert to a jitdump note (#81377)

Stop asserting if we see unusually large discrepancies in the outgoing profile
flow from a block. Instead just make a note in the jit dump.

Fixes #77450.

17 months agoRemove types deriving from JsonTypeInfo<T> and mark as sealed. (#81306)
Eirik Tsarpalis [Thu, 2 Feb 2023 14:14:14 +0000 (14:14 +0000)]
Remove types deriving from JsonTypeInfo<T> and mark as sealed. (#81306)

* Remove types deriving from JsonTypeInfo<T> and mark as sealed.

* Rename the metadata resolution files.

* Address feedback

* Only sort properties if necessary.

17 months ago[mono] Introduce designated direct pinvokes to mono aot compiler (#79721)
Mitchell Hwang [Thu, 2 Feb 2023 08:18:56 +0000 (03:18 -0500)]
[mono] Introduce designated direct pinvokes to mono aot compiler (#79721)

Introduce designated direct pinvokes to mono aot compiler.

17 months ago[browser] javascript build cleanup (#81212)
Pavel Savara [Thu, 2 Feb 2023 08:11:03 +0000 (09:11 +0100)]
[browser] javascript build cleanup (#81212)

* type definitions
* linked files
* fix fetch imports

17 months agoImprove the codegen of the vector accelerated `System.Numerics.*` types (#81335)
Tanner Gooding [Thu, 2 Feb 2023 06:21:11 +0000 (22:21 -0800)]
Improve the codegen of the vector accelerated `System.Numerics.*` types (#81335)

* Allow Quaternion and Plane to be imported as TYP_SIMD16

* Add some minimal intrinsification of Quaternion and Plane

* Ensure Vector indexers are marked readonly

* Ensure the vector constant properties are intrinsic

* Ensure that the vector GetElement and WithElement APIs are intrinsic

* Ensure vector division by scalar is intrinsic

* Minor cleanup to vector files

* Ensure vector arithmetic functions are consistently intrinsic

* Ensure creating a plane from a vector4 is intrinsic

* Ensure accessing the Normal field of a Plane is efficient

* Ensure Quaternion and Plane return the correct SimdAsHWIntrinsicClassId

* Specially optimize Create(Dot(..., ...)) and Create(Sqrt(Dot(..., ...)))

* Ensure vector clamp is intrinsic

* Ensure vector lerp is intrinsic

* Ensure vector length is intrinsic

* Ensure vector normalize is intrinsic

* Ensure vector distance is intrinsic

* Optimize the vector transform by matrix methods

* Ensure quaternion conjugate and inverse are intrinsic

* Fixing assert, formatting, and build failure

* Ensure Quaternion.Inverse uses LengthSquared not Length

* Ensure Create APIs are correctly imported as intrinsic

* Ensure we don't assert for AltJit

* Ensure lowering DotProd doesn't break CSE for scalar vs vector results

* Minimally fixup Mono for the new intrinsics

* Ensure SN_GetElement doesn't raise an assert

* Ensure get_UnitW is ordered correctly for Mono

* Try to fix SN_GetElement

* Fix SN_WithElement for Mono

* Resolving mono formatting feedback

17 months agoEnsure that we don't try to constant fold BSF(0) or BSR(0) (#81516)
Tanner Gooding [Thu, 2 Feb 2023 05:46:53 +0000 (21:46 -0800)]
Ensure that we don't try to constant fold BSF(0) or BSR(0) (#81516)

* Ensure that we don't try to constant fold BSF(0) or BSR(0)

* Ensure the test returns 100 and has correct usings

* Apply formatting patch

17 months agoConsider method accessibility in interface resolution (#81409)
Michal Strehovský [Thu, 2 Feb 2023 05:27:41 +0000 (14:27 +0900)]
Consider method accessibility in interface resolution (#81409)

Fixes dotnet/corert#1986 (yep, all the way to CoreRT repo).

We finally found an instance where this matters - in MAUI. Non-public methods never implement an interface by name+sig combo. We got the `ProtectedDerived` case in the newly added test wrong.

17 months agoDelete !CODEGEN_CPP ifdefs from NAOT smoke tests (#81474)
SingleAccretion [Thu, 2 Feb 2023 03:41:15 +0000 (06:41 +0300)]
Delete !CODEGEN_CPP ifdefs from NAOT smoke tests (#81474)

17 months ago[main] Update dependencies from 8 repositories (#81354)
dotnet-maestro[bot] [Thu, 2 Feb 2023 02:17:49 +0000 (18:17 -0800)]
[main] Update dependencies from 8 repositories (#81354)

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

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-alpha.1.23072.5 -> To Version 8.0.0-alpha.1.23079.4

* Update dependencies from https://github.com/dotnet/llvm-project build 20230130.1

runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.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.ObjWriter , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.11.0-arm64.Microsoft.NETCore.Runtime.ObjWriter , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.JIT.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.ObjWriter , 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.ObjWriter
 From Version 1.0.0-alpha.1.23073.1 -> To Version 1.0.0-alpha.1.23080.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20230130.3

runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , 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-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 14.0.0-alpha.1.23074.1 -> To Version 14.0.0-alpha.1.23080.3

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

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-alpha.1.23077.1 -> To Version 8.0.0-preview.2.23080.3

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

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.23073.2 -> To Version 1.0.0-prerelease.23080.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20230130.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.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.23073.1 -> To Version 8.0.0-beta.23080.1

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230131.1

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.3.5-beta1.23076.2 -> To Version 3.3.5-beta1.23081.1

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

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.1.0-alpha.0.23073.1 -> To Version 1.1.0-alpha.0.23080.1

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

Microsoft.DotNet.Cecil , Microsoft.DotNet.Cecil.Pdb
 From Version 0.11.4-alpha.23073.1 -> To Version 0.11.4-alpha.23080.1

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20230131.3

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.3.5-beta1.23076.2 -> To Version 3.3.5-beta1.23081.3

* Dont warn for CA1860 inside illink

* Update rootfs

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Tlakollo <tlcejava@microsoft.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
17 months agoJIT: build pred lists first (#81448)
Andy Ayers [Thu, 2 Feb 2023 00:33:29 +0000 (16:33 -0800)]
JIT: build pred lists first (#81448)

Move pred list building before importation. It now runs as the first phase in
the phase list.

* Split up some unions in block.h as some things can't share storage anymore
(may revisit this later).
* Modify importer not to rely on cheap preds. Most of the work here is in
`impImportLeave`.
* Adjust OSR protection strategy for the method entry. In particular, watch
for the degenerate case where the OSR entry is the method entry.
* Ensure we don't double-decrement some ref counts when blocks with degenerate
or folded flow are re-imported.
* Update spill clique discovery to use the actual pred lists.
* Add new method `impFixPredLists` for the importer to use at the end of
importation. This adds pred list entries finally returns, which can't be
done until all `BBJ_LEAVE` blocks are processed.
* trigger badcode inside `fgComputePreds`
* fix issue with `STRESS_CATCH_ARG`

Contributes to #80193.

17 months ago[wasm] [debugger] First version of multithreaded debugging (#74820)
Thays Grazia [Wed, 1 Feb 2023 23:20:33 +0000 (20:20 -0300)]
[wasm] [debugger] First version of multithreaded debugging (#74820)

* First version of multithreaded debugging.

* Revert package-lock.json

* New line at package-lock.json

* Fix not used variable.

* Fix debugger on firefox.

* Rewrite code to avoid duplicated code.

* Fix where mono_init_debugger_agent_common is called.

* Remove whitespace.

* Update src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/mono/wasm/debugger/BrowserDebugProxy/DevToolsHelper.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* [wasm] Debugger tests: support running with multithreaded runtime

* Add runtime-wasm-dbgtests pipeline with debugger tests running on a multi-threaded runtime

* Add multi-threaded debugger tests to runtime-wasm

* fix yml

* Always run the new tests when the pipeline is invoked manually

* Pass through extra build args for wasm debugger tests

* Addressing @radical comments.

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>
* addressing radical comments

* Fixing tests failures and adding a schema to run a test that will only run in a multithreaded environment.

* Adding support for run debugger-tests in a multithreaded runtime.

* Fix running debugger tests for multithreaded runtime, passing sessionId where it's necessary.

* Fix CI.

* Addressing @radical comments
Adding a test case.

* Update src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/mono/wasm/debugger/DebuggerTestSuite/InspectorClient.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Dictionary with the scriptId also uses sessionId.

* Addressing @radical review.

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>
* Avoiding getting this error: Cannot transition thread 0x2a15360 from STATE_BLOCKING with DO_BLOCKING.
In the transport_send we don't save the thread context, we save it before the send function.

* Addressing @radical comments.

* Using more threads in unit test.

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments, and trying to fix ci.

* Removing unnecessary changes.

* Export function used on mini-wasm-debugger.

* Fixing line number.

* Fix run tests on release.

* fix compilation for multithread runtime

* trying to fix multithread debugger tests on ci

* trying to fix debugger tests on ci

* disabling tests on multithreaded runtime

* Update eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml

Co-authored-by: Ankit Jain <radical@gmail.com>
* Throwing an exception if the "what" is not the one that is being get from the nextNotificationQueue.

---------

Co-authored-by: Ankit Jain <radical@gmail.com>
17 months ago[wasm][debugger] Enabling firefox debugger tests on CI rolling builds (#81511)
Thays Grazia [Wed, 1 Feb 2023 23:07:54 +0000 (20:07 -0300)]
[wasm][debugger] Enabling firefox debugger tests on CI rolling builds (#81511)

17 months agoWarningsAsErrors -> TreatWarningsAsErrors (#81508)
Michal Strehovský [Wed, 1 Feb 2023 22:54:52 +0000 (07:54 +0900)]
WarningsAsErrors -> TreatWarningsAsErrors (#81508)

17 months agoUse IndexOfAnyValues in MailBnfHelper (#81486)
Stephen Toub [Wed, 1 Feb 2023 22:54:07 +0000 (17:54 -0500)]
Use IndexOfAnyValues in MailBnfHelper (#81486)

17 months agoCopy local intellisense xmls for assemblies with source of truth. (#79134)
Carlos Sanchez [Wed, 1 Feb 2023 22:29:00 +0000 (14:29 -0800)]
Copy local intellisense xmls for assemblies with source of truth. (#79134)

* Copy local intellisense xmls for assemblies with source of truth.

* use UseIntellisenseDocumentationFile instead

* Create intellisense.targets, which contains the Target that defines the set of files to copy, and the Target that copies each of those files into the artifacts/bin/docs folder.
The paths of the files to copy are dynamically defined depending if the assembly IsPackable property is set or not, and if the UseIntellisenseDocumentationFile boolean is set or not.

* Set UseIntellisenseDocumentationFile to true for the 3 assemblies that already have their source of truth in triple slash.

* Delete docs.targets, move package download to Build.proj

* Consume $(XmlDocDir) in Microsoft.NetCore.App.Ref.sfxproj

* Change condition to import intellisense.targets: Use $(IsSourceProject) == true

* Move XmlDocFileRoot to intellisense.targets, address suggestions for collecting xml file.

* Expand condition of CopyDocumentationFileToXmlDocDir to also check if IsNetCoreAppSrc == true.

* Change AfterTargets of CopyDocumentationFileToXmlDocDir from CoreCompile to CopyFilesToOutputDirectory

* Move PackageDownload to intellisense.targets

* Remove Choose+When. Readjust properties for Private.Intellisense files/folders. Fix conditions for doc file swap.

* Rename csproj property to something more clear.

* Default csproj property to true.

* Missed adding the "not previously set" condition for UseIntellisensePackageDocXmlFile in intellisense.targets.

* Remove incorrect condition in CopyDocumentationFileToXmlDocDir.

* Missed property reuse in Condition in sfxproj

* Only evaluate second IntellisensePackageXmlFile if the first one did not acquire any value.

* Move intellisense.targets import from root to libraries, right after the IsNetCoreAppSrc property is declared so we can use it.

* Enable CS1591, skip arcade warning

* Move SkipArcadeNoWarnCS1591 to src/libraries/Directory.Build.props to avoid coreclr failures

* Remove unnecessary slashes in sfxproj

* Move SkipArcadeNoWarn up to the top of src/libraries/Directory.Build.props to ensure it gets loaded before importing arcade.

* Revert Brotli and Vectors csproj changes. Those assemblies are either a partial facade or use PNSE.

* Add target to intellisense.targets that runs as InitialTarget of the current project, and throws errors if the UseIntellisensePackageDocXmlFile is set to false and the assembly is either a partial facade or uses PNSE.

* Improve error message: Mention the problematic property and the offending assembly.

* Added extra condition to verification target to only run when UseIntellisense... is not set to true.
Also moved the initial definition to its own solitary property group right before the verification target runs.

Rename the properties that acquire the value of a file path to "FilePath" instead of just "File", for clarity.

---------

Co-authored-by: smasher164 <akhilindurti@microsoft.com>
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
17 months agoJIT: Update GTF_GLOB_REF after last-use copy omission (#81430)
Jakob Botsch Nielsen [Wed, 1 Feb 2023 21:34:28 +0000 (22:34 +0100)]
JIT: Update GTF_GLOB_REF after last-use copy omission (#81430)

Morph is responsible for marking accesses of address-exposed locals with
GTF_GLOB_REF, however the last-use copy elision can newly address expose
a preexisting local. This means previous uses that morph already saw
have not had GTF_GLOB_REF added. This updates the JIT to at least add
GTF_GLOB_REF on locals within the same statement as the call. This is
not a complete fix as nothing prevents downstream phases from reordering
the call with uses from earlier statements, but this at least fixes the
one issue we know of right now (which is itself stress-only).

A more complete fix will likely entail moving the identifying of
last-use candidates earlier and address exposing them at that point.
However, that first requires ABI determination to be moved earlier, so
this depends on #76926, which I expect to get to within the near future.

Fix #81049

17 months agoDo not strip resource messages if EventSource would use it (#81466)
Michal Strehovský [Wed, 1 Feb 2023 21:28:43 +0000 (06:28 +0900)]
Do not strip resource messages if EventSource would use it (#81466)

Works around #81459.

17 months agoDo not remove resource messages in Xml tests (#81463)
Michal Strehovský [Wed, 1 Feb 2023 21:28:09 +0000 (06:28 +0900)]
Do not remove resource messages in Xml tests (#81463)

Addresses first bullet of #81455.

Addresses 211 test failures to the tune of:

```
[FAIL] System.Xml.XmlSchemaValidatorApiTests.TCValidateWhitespace_String.WhitespaceInsideElement
System.Xml.Tests.VerifyException : GetManifestResourceStream() failed
   at System.Xml.Tests.ExceptionVerifier..ctor(String assemblyName, ExceptionVerificationFlags flags, ITestOutputHelper output) + 0x4c9
   at System.Xml.XmlSchemaValidatorApiTests.TCValidateWhitespace_String..ctor(ITestOutputHelper output) + 0x48
```

17 months agoMake newly introduced Immutable tests work with AOT. (#81464)
Michal Strehovský [Wed, 1 Feb 2023 21:27:18 +0000 (06:27 +0900)]
Make newly introduced Immutable tests work with AOT. (#81464)

Adds xunit garbage to fix 144 test failures that look like this:

```
[FAIL] System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests_SimpleStruct_int.LookupItems_AllItemsFoundAsExpected(size: 1024, comparer: NonDefaultEqualityComparer`1 { }, specifySameComparer: True, optimizeForReading: True)
System.NotSupportedException : 'Xunit.Sdk.AssertEqualityComparer`1[System.Collections.Generic.HashSet`1[System.Collections.Generic.KeyValuePair`2[System.Collections.Frozen.Tests.SimpleStruct, System.Int32]]].CompareTypedSets[System.Collections.Generic.KeyValuePair`2[System.Collections.Frozen.Tests.SimpleStruct, System.Int32]](System.Collections.IEnumerable,System.Collections.IEnumerable)' is missing native code. MethodInfo.MakeGenericMethod() is not compatible with AOT compilation. Inspect and fix AOT related warnings that were generated when the app was published. For more information see https://aka.ms/nativeaot-compatibility
   at System.Reflection.Runtime.MethodInfos.RuntimeNamedMethodInfo`1.GetUncachedMethodInvoker(RuntimeTypeInfo[], MemberInfo) + 0x2a
   at System.Reflection.Runtime.MethodInfos.RuntimeNamedMethodInfo`1.MakeGenericMethod(Type[]) + 0x1c0
   at System.Collections.Frozen.Tests.FrozenDictionary_Generic_Tests`2.LookupItems_AllItemsFoundAsExpected(Int32 size, IEqualityComparer`1 comparer, Boolean specifySameComparer, Boolean optimizeForReading) + 0x46d
```

17 months agoChange Source link version number refs to new properties (#81190)
Matt Mitchell [Wed, 1 Feb 2023 20:34:30 +0000 (12:34 -0800)]
Change Source link version number refs to new properties (#81190)

17 months agoFix conditions to bin place msquic.dll for Windows builds. (#81490)
Marie Píchová [Wed, 1 Feb 2023 20:21:00 +0000 (21:21 +0100)]
Fix conditions to bin place msquic.dll for Windows builds. (#81490)

17 months agoEnable in-build signing based on branch (#81496)
Matt Mitchell [Wed, 1 Feb 2023 20:18:26 +0000 (12:18 -0800)]
Enable in-build signing based on branch (#81496)

17 months agoTest merging IL_Conformance (#80597)
Brian Bohe [Wed, 1 Feb 2023 18:25:50 +0000 (15:25 -0300)]
Test merging IL_Conformance (#80597)

* Running ILTransform -n

A few ilproj were moved when deduplicating ilproj names but none of
those include refernces to il files using proj filename (as with
MSBuildProjectName).

* Running ILTransform -ilfile on JIT\IL_Conformance

Some il filenames were renamed to match their respective ilproj and
those ilproj file content were updated to use MSBuildProject
reference as il filenames.

* Running ILTransform -a on JIT/IL_Conformance

Update some assembly names to match il filenames.

* Running ILTransform -prociso on JIT/IL_Conformance

Isolate conv_ovf_i8_i.ilproj.

* Running ILTransform -public

* Running ILTransform -d

* Running ILTransform -ilfact

* Adding JIT/IL_Conformance merge tests wrapper

17 months agoFix ReaderWriterLock when using it in recursive scenarios and multiple instances...
Eduardo Velarde [Wed, 1 Feb 2023 18:03:25 +0000 (10:03 -0800)]
Fix ReaderWriterLock when using it in recursive scenarios and multiple instances on the same thread (#81257)

---------

Co-authored-by: Eduardo Manuel Velarde Polar <evelardepola@microsoft.com>
17 months ago[PERF] Remove Android Maui Scenarios from Runtime Repo (#81453)
Parker Bibus [Wed, 1 Feb 2023 17:48:39 +0000 (09:48 -0800)]
[PERF] Remove Android Maui Scenarios from Runtime Repo (#81453)

Remove references to Maui Android testing as the testing for it has moved to the performance repo.

17 months ago[browser] benchmark - generated JSON serializer (#81475)
Pavel Savara [Wed, 1 Feb 2023 17:31:24 +0000 (18:31 +0100)]
[browser] benchmark - generated JSON serializer (#81475)

* generated JSON serializer
* With that we can trim again
* fix console bench
Co-authored-by: Radek Doulik <radek.doulik@gmail.com>
17 months agoRemove ArgumentState "caching" that leaked memory deserialization. (#81473)
madelson [Wed, 1 Feb 2023 16:53:17 +0000 (11:53 -0500)]
Remove ArgumentState "caching" that leaked memory deserialization. (#81473)

* Remove ArgumentState "caching" that leaked memory deserialization.

fix #80933

* Remove now-unused field

17 months agoAvoid unobserved ReadAheadTask exceptions in HttpConnection (#80214)
Miha Zupan [Wed, 1 Feb 2023 16:12:58 +0000 (08:12 -0800)]
Avoid unobserved ReadAheadTask exceptions in HttpConnection (#80214)

* Rework ReadAheadTask impl in HttpConnection

* Handle sync exceptions in PrepareForReuse

* Split proactive EOF reactions out of the PR

* Add a few comments

* Remove the now-unnecessary ExecutionContext.IsFlowSuppressed dance

* PR feedback

17 months agoJIT: Avoid xchg for resolution (#81216)
Jakob Botsch Nielsen [Wed, 1 Feb 2023 10:12:25 +0000 (11:12 +0100)]
JIT: Avoid xchg for resolution (#81216)

LSRA today uses xchg for reg-reg resolution when there are cycles in the
resolution graph. Benchmarks show that xchg is handled much less
efficiently by Intel CPUs than using a few movs with a temporary
register. This PR enables using temporary registers for this kind of
resolution on xarch (it was already enabled for non-xarch
architectures). xchg is still used on xarch if no temporary register is
available.

Additionally this PR adds support for getting a temporary register even
for shared critical edges. Before this change we would spill on
non-xarch for this case.

Finally, we now try to prefer a non callee saved temporary register so
that we don't need to save/restore it in prolog/epilog.

This mostly fixes the string hashcode regressions from #80743.

17 months agoMerge pull request #81450 from tlakollo/SyncILLink
Marek Safar [Wed, 1 Feb 2023 09:47:37 +0000 (10:47 +0100)]
Merge pull request #81450 from tlakollo/SyncILLink

17 months agoEnable packaging of Microsoft.NET.ILLink.Tasks from runtime (#81446)
Tlakaelel Axayakatl Ceja [Wed, 1 Feb 2023 09:41:04 +0000 (01:41 -0800)]
Enable packaging of Microsoft.NET.ILLink.Tasks from runtime (#81446)

Co-authored-by: Tlakollo <tlcejava@microsoft.com>
17 months agoDrop _SampleProject and _SampleAssembly properties (#81421)
Marek Fišera [Wed, 1 Feb 2023 08:39:12 +0000 (09:39 +0100)]
Drop _SampleProject and _SampleAssembly properties (#81421)

17 months agoAdd note on WarningsAsErrors (#81451)
Michal Strehovský [Wed, 1 Feb 2023 08:22:59 +0000 (17:22 +0900)]
Add note on WarningsAsErrors (#81451)

17 months ago[wasm] Enable jiterpreter traces; fix floating point compares (#81417)
Katelyn Gadd [Wed, 1 Feb 2023 06:08:01 +0000 (22:08 -0800)]
[wasm] Enable jiterpreter traces; fix floating point compares (#81417)

This PR enables jiterpreter traces and fixes a bug in the implementation of floating point compares / floating point branches.

17 months agoMerge branch 'main' of ../linker into main
Tlakaelel Axayakatl Ceja [Wed, 1 Feb 2023 01:38:12 +0000 (01:38 +0000)]
Merge branch 'main' of ../linker into main

17 months agoAddress ConfigurationBinder feedback (#81384)
Tarek Mahmoud Sayed [Wed, 1 Feb 2023 00:50:52 +0000 (16:50 -0800)]
Address ConfigurationBinder feedback (#81384)

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
17 months agoBump main branding to .NET 8.0 Preview2 (#81399)
Carlos Sanchez [Wed, 1 Feb 2023 00:29:04 +0000 (16:29 -0800)]
Bump main branding to .NET 8.0 Preview2 (#81399)

* Bump main branding to .NET 8.0 Preview2

* Update the flow now that the version changed

* Manually bump emsdk to preview 2

* Update Versions.props

---------

Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
17 months agoRemove manual DLL copy from ILCompiler build task (#79783)
Andy Gocke [Tue, 31 Jan 2023 23:04:17 +0000 (15:04 -0800)]
Remove manual DLL copy from ILCompiler build task (#79783)

Rather than manually copying DLLs from the NuGet package directory
we can just set an MSBuild property to copy package dependencies
to the build output. This is also safer since it includes all the
transitive dependencies.

17 months agoDisallow setting Parent on the started Activity (#81394)
Tarek Mahmoud Sayed [Tue, 31 Jan 2023 23:02:39 +0000 (15:02 -0800)]
Disallow setting Parent on the started Activity (#81394)

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

17 months agoNativeAOT: Loop alignment support for xarch (#81206)
Kunal Pathak [Tue, 31 Jan 2023 22:26:42 +0000 (14:26 -0800)]
NativeAOT: Loop alignment support for xarch (#81206)

17 months agoEncode calling convention in mangled function pointer representation (#81122)
Tomáš Rylek [Tue, 31 Jan 2023 20:52:14 +0000 (21:52 +0100)]
Encode calling convention in mangled function pointer representation (#81122)

This fixes the recently introduced issue #81106 tracking Crossgen2
crash due to not being able to distinguish two function pointers
differing only by calling convention (one of the pointers is Static
and the other is Static | UnmanagedCallingConvention).

This change also removes the issues.targets exclusion for the
new function pointer test that Fan Yang had to add to unblock
merging in the test in the first place.

Thanks

Tomas

* Delete superfluous comment per Michal's PR feedback

17 months agoRewrite SpanHelpers.IndexOfNullByte/IndexOfNullCharacter to unmanaged pointers (...
Egor Bogatov [Tue, 31 Jan 2023 19:06:58 +0000 (20:06 +0100)]
Rewrite SpanHelpers.IndexOfNullByte/IndexOfNullCharacter to unmanaged pointers (#81347)

17 months ago[browser][MT] Calling JS functions from workers + config loading (#81273)
Pavel Savara [Tue, 31 Jan 2023 18:07:33 +0000 (19:07 +0100)]
[browser][MT] Calling JS functions from workers + config loading (#81273)

* calling JS functions from workers
* remove workaround
* config loading earlier

17 months agoFix nullability on `IDesignerSerializationProvider.GetSerializer` (#81203)
Lachlan Ennis [Tue, 31 Jan 2023 17:52:29 +0000 (03:52 +1000)]
Fix nullability on `IDesignerSerializationProvider.GetSerializer` (#81203)

* Fix nullability on IDesignerSerializationProvider.GetSerializer

* Add nullability to ref IDesignerSerializationProvider interface

17 months agoMore frozen collection perf, test, and cleanup improvements (#81389)
Stephen Toub [Tue, 31 Jan 2023 17:49:27 +0000 (12:49 -0500)]
More frozen collection perf, test, and cleanup improvements (#81389)

* More frozen collection perf, test, and cleanup improvements

- Changed SmallIntegerFrozenDictionary/Set implementations to be based on `IComparable<>` rather than `IBinaryInteger<>`.  This enables them to be used with comparable types other than integers and also be used in pre-.NET 7 builds, as well as to simplify consuming code. Codegen isn't quite as good for the types it did work with, but it's good enough (and will hopefully improve in the future.
- Removed SmallInt32FrozenDictionary/Set implementations, which as a result of the above changes are no longer needed.
- Rewrote FrozenHashtable.Create to avoid creating so many temporary allocations as part of setting up the hashtable.  It was creating a list per bucket, which on average would be a list per element.  This was not only a lot of allocation but also a significant time sink, with benchmarks showing this can up to halve construction time.
- Sorted some .csproj includes
- A few more tests to improve code coverage. Line coverage for the Frozen namespace is up to 99.1%.

* Address PR feedback

* Apply suggestions from code review

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
---------

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
17 months ago[JIT] X64/ARM64 - `CAST` removals for small types on `ADD`, `SUB`, `MUL`, `AND`,...
Will Smith [Tue, 31 Jan 2023 17:19:06 +0000 (09:19 -0800)]
[JIT] X64/ARM64 - `CAST` removals for small types on `ADD`, `SUB`, `MUL`, `AND`, `OR`, `XOR`, `NOT`, `NEG` (#77874)

17 months agoJIT: Skip LSRA inserted nodes in gcIsWriteBarrierCandidate (#81423)
Jakob Botsch Nielsen [Tue, 31 Jan 2023 16:54:22 +0000 (17:54 +0100)]
JIT: Skip LSRA inserted nodes in gcIsWriteBarrierCandidate (#81423)

gcIsWriteBarrierCandidate is expected to return the same results during
LSRA and during codegen, so it needs to skip GT_COPY and GT_RELOAD
inserted on top of the data node.

Fix #77141
Fix #77143

17 months agoAllow overriding WarningsAsErrors policy with an env variable (#81402)
Michal Strehovský [Tue, 31 Jan 2023 16:25:08 +0000 (01:25 +0900)]
Allow overriding WarningsAsErrors policy with an env variable (#81402)

* Allow overriding WarningsAsErrors policy with an env variable

Placing `WarningsAsErrors=false` in an environment variable will disable the repo policy to waste people's time with frivolous warnings in their inner dev loop.

* Update build.sh

17 months ago[mono][jit] arm64 neon opcodes (#81026)
Jan Dupej [Tue, 31 Jan 2023 16:23:50 +0000 (17:23 +0100)]
[mono][jit] arm64 neon opcodes (#81026)

* [mono] ARM64 NEON opcode encodings, part 1.

* [mono] ARM64 NEON binary encodings, part 2.

* [mono] ARM64 NEON binary encodings, part 3.

* [mono] ARM64 NEON binary encodings, part 5.

* [mono] ARM64 NEON binary encodings, part 6.

* [mono] ARM64 NEON binary encodings, part 7.

* [mono] ARM64 NEON binary encodings, part 8.

* [mono] ARM64 NEON binary encodings, part 9.

* [mono] ARM64 NEON binary encodings, part 10.

* [mono] ARM64 NEON binary encodings, part 11.

* [mono] ARM64 NEON binary encodings, part 12.

* [mono] ARM64 NEON binary encodings, part 13.

* [mono] ARM64 NEON binary encodings, part 14.

* [mono] ARM64 NEON binary encodings, part 16.

* [mono] ARM64 NEON binary encodings, part 17.

* [mono][jit] ARM64/NEON opcode binary encodings, fixes.

17 months agoFix formatting in list-of-diagnostics.md (#81396)
Jeff Handley [Tue, 31 Jan 2023 16:23:29 +0000 (08:23 -0800)]
Fix formatting in list-of-diagnostics.md (#81396)

* Fix formatting in list-of-diagnostics.md

I noticed the page currently renders with dangling `_` characters. This change cleans up the markdown formatting, changing the redundant `*_` to `_` and ensuring each is paried correctly.

I also improved alignment of the suppression table columns.

* Update docs/project/list-of-diagnostics.md

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
17 months ago[main] Update dependencies from dotnet/arcade (#81353)
dotnet-maestro[bot] [Tue, 31 Jan 2023 16:22:16 +0000 (11:22 -0500)]
[main] Update dependencies from dotnet/arcade (#81353)

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

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

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
17 months agoAdd MCREGs to fix the build for FreeBSD/arm64 (#81397)
Szczepan Ćwikliński [Tue, 31 Jan 2023 15:24:58 +0000 (16:24 +0100)]
Add MCREGs to fix the build for FreeBSD/arm64 (#81397)

* Add MCREGs to fix the build for FreeBSD/arm64

* Use &&

17 months agoJIT: Fix import of TrailingZeroCount on ARM64 (#81419)
Jakob Botsch Nielsen [Tue, 31 Jan 2023 14:52:37 +0000 (15:52 +0100)]
JIT: Fix import of TrailingZeroCount on ARM64 (#81419)

Fix #81366

17 months ago[wasm][debugger][libs] Documentation: How to debug library tests (#77368)
Ilona Tomkowicz [Tue, 31 Jan 2023 13:54:46 +0000 (14:54 +0100)]
[wasm][debugger][libs] Documentation: How to debug library tests (#77368)

* Draft.

* DevTools as IDE instructions.

* VS Code as IDE instructions.

* Correction: `WebRoot` is not required.

* Added: expect long wait & new pic without webRoot

* Renamed as suggested by @pavelsavara.

* The first bp is not automatic, user has to set it on their own.

17 months ago[wasm][libs] Fix `WasmAppHost`, and `AppBundle` for library tests (#77719)
Ilona Tomkowicz [Tue, 31 Jan 2023 13:53:15 +0000 (14:53 +0100)]
[wasm][libs] Fix `WasmAppHost`, and `AppBundle` for library tests (#77719)

* Removed fixed path separator + duplicated `browser-wasm`.

* Working fix.

* Fix for different `OutputPath` conventions.

* Fixing the url printed on the console.

* `ProcessQueryArguments` in test-main.js forces debug to be the 1st arg.

* Removing special case for WBT.

* We cannot skip checking for missing browser-wasm.

* Both runArgs and queryArgs are important when running tests.

* Revert changes in the shipped targets and move them to tests targets.

* Update src/mono/wasm/host/BrowserArguments.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Fetch does not work for node<18 => get rid of json.

* Separated runtime args from app args for both hosts.

* Revert 7.0 file.

* Focusing on enabling libs debugging for browser.

* Should have been reverted with dae5d7460c3a23b108e1d141e72c3b0bcdc9d730.

* Fix CI lib tests: avoid referencing undefined properties.

* In all the cases runArgs should be first populated by defaults that can be later overwritten.

* Update src/mono/wasm/test-main.js

Co-authored-by: Ankit Jain <radical@gmail.com>
---------

Co-authored-by: Ankit Jain <radical@gmail.com>
17 months agoEnable CA1859 - Use concrete types when possible for improved performance (#80848)
Marek Safar [Tue, 31 Jan 2023 13:46:51 +0000 (14:46 +0100)]
Enable CA1859 - Use concrete types when possible for improved performance (#80848)

17 months agoImprove Http2Connection buffer management (#79484)
Miha Zupan [Tue, 31 Jan 2023 12:52:05 +0000 (04:52 -0800)]
Improve Http2Connection buffer management (#79484)

* Improve Http2Connection buffer management

* Add a test

* Add a few comments around buffer disposal

17 months agoImprove and dedup GetNonZeroBytes (#81340)
Stephen Toub [Tue, 31 Jan 2023 12:50:56 +0000 (07:50 -0500)]
Improve and dedup GetNonZeroBytes (#81340)

- RsaPaddingProcessor has its own complete copy; that now appears to be an unnecessary duplication.
- If a zero byte is found, the implementation currently looks at the rest of the bytes byte by byte.  We expect 0s to be rare, so copy in bulk instead.

17 months ago[Android] Fix System.IO.MemoryMappedFiles tests (#81368)
Šimon Rozsíval [Tue, 31 Jan 2023 09:41:56 +0000 (10:41 +0100)]
[Android] Fix System.IO.MemoryMappedFiles tests (#81368)

17 months agofix the space in build-job.yml (#81414)
Kunal Pathak [Tue, 31 Jan 2023 08:24:06 +0000 (00:24 -0800)]
fix the space in build-job.yml (#81414)

17 months agoCalculate PackageVersionNet6 off PackageVersionNet7 (#81401)
Larry Ewing [Tue, 31 Jan 2023 03:02:55 +0000 (21:02 -0600)]
Calculate PackageVersionNet6 off PackageVersionNet7 (#81401)

17 months agoUpdate fgGetTopLevelQmark to handle GT_LCL_FLD (#81375)
Tanner Gooding [Tue, 31 Jan 2023 02:55:45 +0000 (18:55 -0800)]
Update fgGetTopLevelQmark to handle GT_LCL_FLD (#81375)