platform/upstream/dotnet/runtime.git
3 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade...
dotnet-maestro[bot] [Fri, 29 Oct 2021 17:10:02 +0000 (19:10 +0200)]
[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/roslyn-analyzers (#61004)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20211028.1

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21527.1 -> To Version 1.0.0-prerelease.21528.1

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 7.0.0-beta.21527.5 -> To Version 7.0.0-beta.21528.3

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

Microsoft.CodeAnalysis.NetAnalyzers
 From Version 7.0.0-preview1.21527.1 -> To Version 7.0.0-preview1.21528.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoUse Ubuntu 18.04 1ES pools and dotnet-buildtools-prereq docker images for enterprise...
Alexander Köplinger [Fri, 29 Oct 2021 17:09:32 +0000 (19:09 +0200)]
Use Ubuntu 18.04 1ES pools and dotnet-buildtools-prereq docker images for enterprise linux pipeline (#61001)

Ubuntu 16.04 is no longer available on Azure Pipelines, move to 18.04 on 1ES pool and the Docker images from dotnet-buildtools-prereq.

Also add a workaround for https://github.com/dotnet/runtime/issues/34649 which we hit during the build.

3 years agoUpdate dependencies from https://github.com/dotnet/linker build 20211028.2 (#61005)
dotnet-maestro[bot] [Fri, 29 Oct 2021 14:48:22 +0000 (16:48 +0200)]
Update dependencies from https://github.com/dotnet/linker build 20211028.2 (#61005)

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.21525.2 -> To Version 7.0.100-1.21528.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[wasm] preparation for module encapsulation (#60928)
Pavel Savara [Fri, 29 Oct 2021 13:10:53 +0000 (15:10 +0200)]
[wasm] preparation for module encapsulation (#60928)

- simplified fetch and script loading logic/polyfil
- clarified runtime-test.js based on Daniel's draft.
- extracted mono_wasm_invoke_js and mono_wasm_compile_function out of C macro into proper .ts function
- wrapped access to API via globalThis with warning on first use
- added cwraps.mono_wasm_add_assembly and cwraps.mono_wasm_load_runtime which Blazor uses
- fixed closures for generated functions, so that they don't use global Module reference
- mono_wasm_invoke_js now uses new Function instead of eval()
- removed deprecated Blazor functions
- fixed lint issues
Co-authored-by: Daniel Genkin <genkind@gmail.com>
3 years agoJIT: "Scaled" addressing mode on ARM (#60808)
Egor Bogatov [Fri, 29 Oct 2021 11:47:52 +0000 (14:47 +0300)]
JIT: "Scaled" addressing mode on ARM (#60808)

3 years agoDisable DllImportGenerator tests on s390x (#60833)
Ulrich Weigand [Fri, 29 Oct 2021 10:41:48 +0000 (12:41 +0200)]
Disable DllImportGenerator tests on s390x (#60833)

* Runtime tests fail since App.Host package is not available

* Unit tests fail since NuGet.Packaging 5.6.0 signature verification
  does not work on big-endian systems (needs >= 5.11.0)

3 years ago[main] Update dependencies from dotnet/linker (#60619)
dotnet-maestro[bot] [Fri, 29 Oct 2021 09:23:44 +0000 (11:23 +0200)]
[main] Update dependencies from dotnet/linker (#60619)

* Update dependencies from https://github.com/dotnet/linker build 20211018.3

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.21513.1 -> To Version 7.0.100-1.21518.3

* Update dependencies from https://github.com/dotnet/linker build 20211019.3

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.21513.1 -> To Version 7.0.100-1.21519.3

* Update dependencies from https://github.com/dotnet/linker build 20211020.2

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.21513.1 -> To Version 7.0.100-1.21520.2

* Update dependencies from https://github.com/dotnet/linker build 20211025.2

Microsoft.NET.ILLink.Tasks
 From Version 7.0.100-1.21513.1 -> To Version 7.0.100-1.21525.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoSupport ARM64/ARM environment variables for #53122. (#60916)
Mikhail Pilin [Fri, 29 Oct 2021 03:18:14 +0000 (05:18 +0200)]
Support ARM64/ARM environment variables for #53122. (#60916)

3 years agoJIT: Improve VN for (EQ/NE (RELOP ...), 0/1) (#60943)
Andy Ayers [Fri, 29 Oct 2021 02:25:27 +0000 (19:25 -0700)]
JIT: Improve VN for (EQ/NE (RELOP ...), 0/1) (#60943)

Try and re-express these VNs in terms of the RELOP or its complement.

3 years agoMark containing type for generated stub functions as unsafe (#60979)
Elinor Fung [Fri, 29 Oct 2021 01:22:32 +0000 (18:22 -0700)]
Mark containing type for generated stub functions as unsafe (#60979)

3 years ago[mono][workload] Work around a msbuild bug in MatchOnMetadata (#60989)
Larry Ewing [Fri, 29 Oct 2021 00:30:29 +0000 (19:30 -0500)]
[mono][workload] Work around a msbuild bug in MatchOnMetadata (#60989)

* Work around a msbuild bug in MatchOnMetadata

* Reenable workload build tests and bump to a 7.0.100 sdk version

3 years agoBuild the native prereqs in the build-jit-job.yml (#60981)
Jeremy Koritzinsky [Thu, 28 Oct 2021 23:13:39 +0000 (16:13 -0700)]
Build the native prereqs in the build-jit-job.yml (#60981)

3 years agoFix Equals overload logic for some methods of an array created using MLC (#60894)
Buyaa Namnan [Thu, 28 Oct 2021 22:36:06 +0000 (15:36 -0700)]
Fix Equals overload logic for some methods of an array created using MLC (#60894)

3 years agoAccount for versioned VS in up-to-date check (#60970)
Adeel Mujahid [Thu, 28 Oct 2021 22:23:58 +0000 (01:23 +0300)]
Account for versioned VS in up-to-date check (#60970)

Co-authored-by: Juan Hoyos <juan.s.hoyos@outlook.com>
3 years agoAdd historical note on optimizing aspects of Value Numbering (#60985)
Andy Ayers [Thu, 28 Oct 2021 21:59:37 +0000 (14:59 -0700)]
Add historical note on optimizing aspects of Value Numbering (#60985)

3 years agoFix more alloc-dealloc mismatches (#60691)
Jeremy Koritzinsky [Thu, 28 Oct 2021 20:55:06 +0000 (13:55 -0700)]
Fix more alloc-dealloc mismatches (#60691)

3 years agoScript to collect asp.net benchmark method contexts for SPMI (#60953)
Andy Ayers [Thu, 28 Oct 2021 20:02:36 +0000 (13:02 -0700)]
Script to collect asp.net benchmark method contexts for SPMI (#60953)

3 years agoMake noise if trying to use the cache after it's been disposed. (#57557)
Steve Molloy [Thu, 28 Oct 2021 19:41:26 +0000 (12:41 -0700)]
Make noise if trying to use the cache after it's been disposed. (#57557)

3 years agoFix a thread local test (#60892)
Koundinya Veluri [Thu, 28 Oct 2021 18:35:58 +0000 (11:35 -0700)]
Fix a thread local test (#60892)

- Updated conditional fact to require precise GC for the test
- Fixes https://github.com/dotnet/runtime/issues/57102

3 years agoRemove some redundant threading tests, move some cases to libraries tests (#59073)
Koundinya Veluri [Thu, 28 Oct 2021 18:33:56 +0000 (11:33 -0700)]
Remove some redundant threading tests, move some cases to libraries tests (#59073)

* Remove some redundant threading tests, move some cases to libraries tests

- Went through some of the tests. Most of them appeared to be redundant. Added a few missing tests and ported a few tests from CoreRT.
- Closes https://github.com/dotnet/runtime/issues/6372, the test is being removed

3 years agoMitigate NU1103 Error showing up during Maui Builds (#60946)
Parker Bibus [Thu, 28 Oct 2021 18:09:15 +0000 (13:09 -0500)]
Mitigate NU1103 Error showing up during Maui Builds (#60946)

* Test allowing 'unstable' packages since maui is not finding stable packages for some of the extension packages.

3 years agoExplicitly emit a diagnostic for ref returns in GeneratedDllImport stubs. (#60720)
Jeremy Koritzinsky [Thu, 28 Oct 2021 17:51:55 +0000 (10:51 -0700)]
Explicitly emit a diagnostic for ref returns in GeneratedDllImport stubs. (#60720)

3 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/xharness...
dotnet-maestro[bot] [Thu, 28 Oct 2021 17:34:55 +0000 (12:34 -0500)]
[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/xharness dotnet/arcade dotnet/emsdk dotnet/roslyn-analyzers dotnet/msquic (#60954)

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

Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
 From Version 7.0.0-alpha.1.21520.2 -> To Version 7.0.0-alpha.1.21527.1

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20211027.1

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21525.1 -> To Version 1.0.0-prerelease.21527.1

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

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21527.1 -> To Version 1.0.0-prerelease.21527.2

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

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 7.0.0-beta.21527.1 -> To Version 7.0.0-beta.21527.5

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

Microsoft.CodeAnalysis.NetAnalyzers
 From Version 7.0.0-preview1.21526.1 -> To Version 7.0.0-preview1.21527.1

* Update dependencies from https://github.com/dotnet/msquic build 20211027.1

System.Net.MsQuic.Transport
 From Version 6.0.0-preview.7.21526.1 -> To Version 6.0.0-preview.7.21527.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoFix MD array helper intrinsics for complex `this` pointers (#60958)
Bruce Forstall [Thu, 28 Oct 2021 17:14:51 +0000 (10:14 -0700)]
Fix MD array helper intrinsics for complex `this` pointers (#60958)

The implementation of the MD array helpers didn't consider the possibility
of the array object being something complex, like a function call return value.

Also, add a test case covering many cases of invoking the MD array helpers.

Fixes #60957

3 years agoMake CryptQueryObject call compliant to interop guidelines
Badre BSAILA [Thu, 28 Oct 2021 16:25:04 +0000 (18:25 +0200)]
Make CryptQueryObject call compliant to interop guidelines

3 years agoUpdate JsonNode doc (#60925)
Steve Harter [Thu, 28 Oct 2021 16:23:59 +0000 (11:23 -0500)]
Update JsonNode doc (#60925)

3 years agoExtract various changes from the invoke and custom marshaler PRs (#60877)
Katelyn Gadd [Thu, 28 Oct 2021 10:32:31 +0000 (03:32 -0700)]
Extract various changes from the invoke and custom marshaler PRs (#60877)

Various code cleanup and refactorings for the wasm bindings

3 years agoMake memory mapped stress log work for child processes. (#60828)
Peter Sollich [Thu, 28 Oct 2021 08:04:49 +0000 (10:04 +0200)]
Make memory mapped stress log work for child processes. (#60828)

Make memory mapped stress log work for child processes.

There are two kinds of changes:
- in case the stresslog file cannot be created, fall back to the in-memory implementation
- support "{pid}" embedded in the file name - this will be replaced by the PID of the current process.

This enables two modes of operation regarding child processes:

- if the stresslog filename given does not contain "{pid}", the parent process will create the file, but the child process will use the in-memory stresslog. useful when we are not interested in the child process.
- if the stresslog filename given does contain "{pid}", both parent and child will get their own stresslog file. useful when we are in fact interested in both.

3 years agoFix build-native.cmd for direct use (#60926)
SingleAccretion [Thu, 28 Oct 2021 03:46:21 +0000 (06:46 +0300)]
Fix build-native.cmd for direct use (#60926)

The parsing loop shifts away the parameters, making use of %~dp0 after
it incorrect. Fix that by caching the relevant information.

3 years agoFix some typos in corhdr.h (#60895)
Anthony Shaw [Thu, 28 Oct 2021 02:29:43 +0000 (13:29 +1100)]
Fix some typos in corhdr.h (#60895)

* Fix some typos in corhdr.h

* Remove "well known" namespace/attributes that aren't used in the CoreCLR libraries

3 years ago[mono][workloads] Workload 7.0.100 (#60893)
Larry Ewing [Thu, 28 Oct 2021 01:38:44 +0000 (20:38 -0500)]
[mono][workloads] Workload 7.0.100 (#60893)

* Update some version bits

* Substitute NetCoreAppCurrent value don't expand it

* Update the emsdk version to 7.0.x

* Disable Wasm.Build.Tests temporarily

3 years agoIFormatProvider getter refactor (#60815)
Sergei Papikian [Thu, 28 Oct 2021 01:03:50 +0000 (04:03 +0300)]
IFormatProvider getter refactor (#60815)

* refactor: IFormatProvider getter

* refactor: inline

3 years agoalways populate TargetHostName on SslStream (#60589)
Tomas Weinfurt [Thu, 28 Oct 2021 00:55:49 +0000 (17:55 -0700)]
always populate TargetHostName on SslStream (#60589)

* always populte TargetHostName on SslStream

* update check for server

3 years ago[DllImportGenerator] Don't flag methods that already have GeneratedDllImport (#60929)
Elinor Fung [Thu, 28 Oct 2021 00:42:04 +0000 (17:42 -0700)]
[DllImportGenerator] Don't flag methods that already have GeneratedDllImport (#60929)

3 years agoJIT: refactor jump threading to prepare for allowing side effects (#60884)
Andy Ayers [Thu, 28 Oct 2021 00:41:45 +0000 (17:41 -0700)]
JIT: refactor jump threading to prepare for allowing side effects (#60884)

Update jump threading so that whenever possible it re-uses the original
block, rather than bypassing it. This lays the groundwork for a subsequent
change that will allow jump threading when the block with the threadable
jump has side effects.

Also handle the case where we have both a fall through pred and an ambiguous
pred, by treating the fall through pred as ambiguous.

3 years agoMake PreferredAttributeOrder test ConditionalTheory (#60940)
Elinor Fung [Thu, 28 Oct 2021 00:39:23 +0000 (17:39 -0700)]
Make PreferredAttributeOrder test ConditionalTheory (#60940)

3 years agoClean-up crossgen's NuGet dependencies et. al. (#59914)
Theodore Tsirpanis [Wed, 27 Oct 2021 23:36:55 +0000 (02:36 +0300)]
Clean-up crossgen's NuGet dependencies et. al. (#59914)

* Remove two redundant package dependencies and update another one.
They were dragging along lots of packages, cluttering the dependency graph.

* Optimize crossgen's Program.IsValidPublicKey to use spans.

* Bring BinaryReader back in IsValidPublicKey.

And expedite a condition check that does not involve BinaryReader.

3 years agoFix issue where sometimes we would find the same module twice and cause the dotnet...
David Wrighton [Wed, 27 Oct 2021 23:25:20 +0000 (16:25 -0700)]
Fix issue where sometimes we would find the same module twice and cause the dotnet-pgo tool to fail (#60874)

3 years agoAdd 2009 Jit Architecture Plan (excerpts) (#60939)
Andy Ayers [Wed, 27 Oct 2021 22:20:22 +0000 (15:20 -0700)]
Add 2009 Jit Architecture Plan (excerpts) (#60939)

We plan to gradually open up portions of historical documents that seem
relevant to our current work on the JIT.

This PR includes a writeup that is the inspiration for the current SSA
and Value Numbering designs.

3 years agoDateTimeMaskTest depends on the region configuration of the machine (#60840)
Badre BSAILA [Wed, 27 Oct 2021 21:50:53 +0000 (23:50 +0200)]
DateTimeMaskTest depends on the region configuration of the machine (#60840)

3 years agoUpdate Codespaces configuration (#60900)
Eric Erhardt [Wed, 27 Oct 2021 19:45:08 +0000 (14:45 -0500)]
Update Codespaces configuration (#60900)

- mark onCreateCommand.sh as executable
- add more regions so users outside of West US can take advantage of prebuilt codespaces
- use v1-stable version, as recommended by docs
- use faster machines for dev productivity

3 years agoAdd analyzer assemblies to code coverage (#60859)
Viktor Hofer [Wed, 27 Oct 2021 18:03:14 +0000 (20:03 +0200)]
Add analyzer assemblies to code coverage (#60859)

* Add analyzer assemblies to code coverage

Instrument analyzer assemblies as well when measuring code coverage.
Filter out the ones which aren't referenced via the P2P protocol.

* Update coverage.targets

3 years agoDetect more XHarness exit codes, lower installation timeout (#60908)
Přemek Vysoký [Wed, 27 Oct 2021 17:46:25 +0000 (19:46 +0200)]
Detect more XHarness exit codes, lower installation timeout (#60908)

3 years agoMove optdata and version file generation up to MSBuild from build-runtime (#58674)
Jeremy Koritzinsky [Wed, 27 Oct 2021 17:03:34 +0000 (10:03 -0700)]
Move optdata and version file generation up to MSBuild from build-runtime (#58674)

* Move optdata and version file generation from the native build scripts up into the managed scripts. The native build scripts will now by default copy a fallback version file in place if the version files do not exist and will disable PGO if no pgo file path is passed in to the build-runtime scripts.

This removes all cases of build-runtime calling into MSBuild.

* Update CI to use the new prereqs model.

* Remove some old MSBuild arg pass-through that's no longer needed as build-runtime no longer calls into any MSBuild processes.

* Apply suggestions from code review

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Move some targets around based on feedback.

* Output version files in the artifacts/obj dir so they can be easily shared.

* Move native pgo into a targets file instead of being a separate project to be more static-graph friendly.

* Fix subsets.

* Share version file path by default

* Fix VER_FILEDESCRIPTION_STR

* Fix version fallback copies.

* Fix include path for the version headers.

* Update src/coreclr/dlls/mscordac/CMakeLists.txt

Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
* Enable easily sharing the fallback version files between all components of the repo.

* Remove some now-unused command-line options from our build scripts.

* Bump importance output to pass the pgo path between steps.

* Add eval statement to run copy_version_files script

* Rename some files and and standardize on a _version.c file name for Linux.

* Remove temp proj ref.

* Fix permissions

* Reference targets to produce version file in libraries native build.

* Fix CoreCLR build breaks

* Generate the version files for Mono

* include configurepaths.cmake on the Windows CoreFX build.

* Restore mono.proj when building it through monoaotcross.proj.

* Update copy script to work on macos.

* Make sure mono pulls in the shared version files.

* Add artifcats/obj dir as include dir for CoreCLR diagonstic components included in Mono

* Add artifacts/obj include for the whole mono build.

* Update CMakeLists.txt

* Fix NativeVersion.rc path on Windows.

* Fix linux version parsing to point at the right file.

* Fix mono version parsing (apparently the quotes make a difference here)

* Update src/coreclr/build-runtime.sh

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update eng/native/version/copy_version_files.sh

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update copy_version_files.sh to insert the current commit hash into _version.c.

* Apply suggestions from code review

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update the _version.c writing script to only update the placeholder version file if it actually is a placeholder (not a real generated file).

* Generate the version files for wasm/browser as well.

* Fix Mono WASM cross build.

* Update eng/nativepgo.targets

Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
* Fix comparison for NativeOptimizationDataSupported.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
3 years ago[mono][jit] Add a micro optimization to fill_runtime_generic_context (). (#60839)
Zoltan Varga [Wed, 27 Oct 2021 16:54:00 +0000 (18:54 +0200)]
[mono][jit] Add a micro optimization to fill_runtime_generic_context (). (#60839)

Also increase the initial size of the class rgctx to 32 from 16, the first
level table frequently overflows, and the entries in the second level table
are slower to access, esp. from llvmonly code which contains an inline
fetch for the first level table.

3 years agoUse IndexOf(..., span) in Regex FindFirstChar (#60888)
Stephen Toub [Wed, 27 Oct 2021 16:44:08 +0000 (12:44 -0400)]
Use IndexOf(..., span) in Regex FindFirstChar (#60888)

* Use IndexOf(..., span) in Regex FindFirstChar

We currently use Boyer-Moore to find a multi-character prefix in FindFirstChar.  That's good, and when it was originally added it was very likely better than IndexOf(..., string), but since then the latter has been vectorized and its throughput has improved significantly (we also plan to improve it further).  While there are situations where Boyer-Moore does better, for general text searching and typical cases, IndexOf wins.  So, this commit adds the ability for FindFirstChar to use IndexOf to search for a span, and prefers that over Boyer-Moore when it's applicable, namely when we're case-sensitive and left-to-right processing.

* Centralize check for whether IndexOf is supported

3 years agoStress: Do not create new IG for align instruction (#60901)
Kunal Pathak [Wed, 27 Oct 2021 16:43:29 +0000 (09:43 -0700)]
Stress: Do not create new IG for align instruction (#60901)

3 years agoChange the queue to Windows.10.Amd64.X86.Rt (#60921)
Kunal Pathak [Wed, 27 Oct 2021 16:12:44 +0000 (09:12 -0700)]
Change the queue to Windows.10.Amd64.X86.Rt (#60921)

3 years ago[main] Update dependencies from 7 repositories (#60855)
dotnet-maestro[bot] [Wed, 27 Oct 2021 15:26:43 +0000 (17:26 +0200)]
[main] Update dependencies from 7 repositories (#60855)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Premek Vysoky <premek.vysoky@microsoft.com>
3 years agodisable DllImportGenerator.UnitTests.ConvertToGeneratedDllImportAnalyzerTests.TypeReq...
Krzysztof Wicher [Wed, 27 Oct 2021 14:33:25 +0000 (16:33 +0200)]
disable DllImportGenerator.UnitTests.ConvertToGeneratedDllImportAnalyzerTests.TypeRequiresMarshalling_ReportsDiagnostic (#60911)

3 years agoCorrected link to .NET Foundation discussions, normalized links to use https. (#60867)
Mark Lopez [Wed, 27 Oct 2021 10:48:46 +0000 (05:48 -0500)]
Corrected link to .NET Foundation discussions, normalized links to use https. (#60867)

3 years agoProperly type primary selectors in `fgMemoryVNForLoopSideEffects` (#60505)
SingleAccretion [Wed, 27 Oct 2021 10:20:45 +0000 (13:20 +0300)]
Properly type primary selectors in `fgMemoryVNForLoopSideEffects` (#60505)

* Proper types in fgMemoryVNForLoopSideEffects

To simplify our model for what types the memory maps should
have and, in the future, enable asserts acting on that.

* Switch to only typing statics

As these are the only maps that represent values
representable and useful in the Jit's type system.

3 years agoAdd configureonly option to host native build (#60889)
Elinor Fung [Wed, 27 Oct 2021 03:28:48 +0000 (20:28 -0700)]
Add configureonly option to host native build (#60889)

3 years agoXARCH: Eliminate redundant mov to/from mem. (#59780)
DeepakRajendrakumaran [Wed, 27 Oct 2021 03:09:36 +0000 (20:09 -0700)]
XARCH: Eliminate redundant mov to/from mem. (#59780)

* XARCH: Eliminate redundant mov to/from mem.

* Review changes:
1. Changing name to IsRedundantStackMov.
2. Add assert for format.
3. Move common code to helper.

* Adding check to skip optimization when dealing with movs creating GC Live objs.

3 years agoProperly use result value for dump IPC cmd (#60726)
John Salem [Wed, 27 Oct 2021 00:10:18 +0000 (17:10 -0700)]
Properly use result value for dump IPC cmd (#60726)

3 years agoFix libs.tests build with gcc (#60757)
Adeel Mujahid [Tue, 26 Oct 2021 23:37:10 +0000 (02:37 +0300)]
Fix libs.tests build with gcc (#60757)

3 years agoPreserve last error in call-counting stubs (#60886)
Jan Kotas [Tue, 26 Oct 2021 22:04:24 +0000 (15:04 -0700)]
Preserve last error in call-counting stubs (#60886)

Fixes #60819

3 years agoSizeConst of MarshalAs(ByValTStr) loaded by MetadataLoadContext always returns zero...
Badre BSAILA [Tue, 26 Oct 2021 21:03:13 +0000 (23:03 +0200)]
SizeConst of MarshalAs(ByValTStr) loaded by MetadataLoadContext always returns zero (#60714)

* SizeConst of MarshalAs(ByValTStr) loaded by MetadataLoadContext always returns zero

* add separate case for UnmanagedType.ByValTStr and reuse existing test

3 years agoDisable SOD Pizza AOT Blazor test. Tracked by dotnet/performance/#2092 (#60876)
Parker Bibus [Tue, 26 Oct 2021 20:10:47 +0000 (15:10 -0500)]
Disable SOD Pizza AOT Blazor test. Tracked by dotnet/performance/#2092 (#60876)

3 years agoUpdate slngen and solution files (#60871)
Viktor Hofer [Tue, 26 Oct 2021 19:23:54 +0000 (21:23 +0200)]
Update slngen and solution files (#60871)

Update slngen tooling to latest stable version and solution files since
a lot changed since the last time they were updated:
- NET7 (removal of older TFMs)
- Source Generators

3 years agoFix wrong property use in resolveContract.targets (#60868)
Viktor Hofer [Tue, 26 Oct 2021 17:18:49 +0000 (19:18 +0200)]
Fix wrong property use in resolveContract.targets (#60868)

Helps with https://github.com/dotnet/runtime/issues/59390

3 years agoAdd inline target (callsite/callee) to inline output messages (#60661)
Bruce Forstall [Tue, 26 Oct 2021 16:38:10 +0000 (09:38 -0700)]
Add inline target (callsite/callee) to inline output messages (#60661)

e.g.,
```
Inlines into 06000005 [via ExtendedDefaultPolicy] MainApp:Main():int
  [1 IL=0005 TR=000008 06000004] [callee: below ALWAYS_INLINE size] MainApp:TestNewInline_A_Inline(int):int
    [2 IL=0003 TR=000032 06000003] [call site: profitable inline] MainApp:TestNewInline_B_Inline(int):int
      [3 IL=0003 TR=000045 06000002] [call site: profitable inline] MainApp:TestNewInline_C_Inline(int):int
        [4 IL=0003 TR=000058 06000001] [callee: below ALWAYS_INLINE size] MainApp:TestNewInline_D_Inline(int):int
          [0 IL=0004 TR=000075 06000095] [FAILED: callee: noinline per IL/cached result] System.Console:WriteLine(int)
        [0 IL=0011 TR=000066 06000095] [FAILED: callee: noinline per IL/cached result] System.Console:WriteLine(int)
      [0 IL=0011 TR=000053 06000095] [FAILED: callee: noinline per IL/cached result] System.Console:WriteLine(int)
    [0 IL=0009 TR=000038 06000095] [FAILED: callee: noinline per IL/cached result] System.Console:WriteLine(int)
  [0 IL=0032 TR=000025 0600009A] [FAILED: call site: within catch region] System.Console:WriteLine(System.String)
  [0 IL=0027 TR=000024 06000454] [FAILED: call site: target not direct] System.Exception:get_Message():System.String:this
```

3 years agoDon't cache commandline in coreclr diagnostics server (#60275)
John Salem [Tue, 26 Oct 2021 16:37:55 +0000 (09:37 -0700)]
Don't cache commandline in coreclr diagnostics server (#60275)

3 years ago[DllImportGenerator] Stop flagging methods with well-known unsupported types for...
Elinor Fung [Tue, 26 Oct 2021 15:16:32 +0000 (08:16 -0700)]
[DllImportGenerator] Stop flagging methods with well-known unsupported types for conversion (#60841)

* Make analyzer stop flagging methods with well-known unsupported types for conversion
* Make fixer put attribute arguments in preferred order

3 years agoUpdate compatibility package and unpin compiler version (#60847)
Santiago Fernandez Madero [Tue, 26 Oct 2021 14:01:29 +0000 (07:01 -0700)]
Update compatibility package and unpin compiler version (#60847)

* Update compatibility package and unpin compiler version

3 years agoProcess: throw ArgumentNullException when ArgumentList contains a null. (#59562)
Tom Deseyn [Tue, 26 Oct 2021 12:42:57 +0000 (14:42 +0200)]
Process: throw ArgumentNullException when ArgumentList contains a null. (#59562)

* Process.Start: validate ArgumentList doesn't contain null.

* Add a custom message.

* PR feedback

3 years agoFix DGML debug tests for Regex NonBacktracking (#60853)
Stephen Toub [Tue, 26 Oct 2021 11:11:44 +0000 (07:11 -0400)]
Fix DGML debug tests for Regex NonBacktracking (#60853)

3 years agoUse preferred region from PAL for JIT reloc hints (#60747)
Jakob Botsch Nielsen [Tue, 26 Oct 2021 09:02:55 +0000 (11:02 +0200)]
Use preferred region from PAL for JIT reloc hints (#60747)

We currently have two schemes that try to ensure jitted code and statics
end up close to each other and close to coreclr. In Windows, we have
USE_UPPER_ADDRESS that lazily will reserve memory for loader heaps that
is close to coreclr. For PAL, we eagerly reserve a large chunk of memory
nearby during start up. However for PAL we were not using this region to
report back to the JIT that addresses in this range can use rip-relative
addressing. Add this support.

I have also cleaned up some of the code around USE_UPPER_ADDRESS: I have
renamed it to USE_LAZY_PREFERRED_RANGE and removed some dead code.

3 years ago[main] Update dependencies from dotnet/runtime dnceng/internal/dotnet-optimization...
dotnet-maestro[bot] [Tue, 26 Oct 2021 08:52:01 +0000 (10:52 +0200)]
[main] Update dependencies from dotnet/runtime dnceng/internal/dotnet-optimization dotnet/arcade dotnet/roslyn-analyzers dotnet/msquic dotnet/xharness (#60767)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoUse SDK-selected runtime in IL SDK (#60400)
Adeel Mujahid [Tue, 26 Oct 2021 07:05:43 +0000 (10:05 +0300)]
Use SDK-selected runtime in IL SDK (#60400)

* Use SDK-selected runtime in IL SDK

* Disable ProduceReferenceAssembly in IL SDK

* Reorder to Import before the override

3 years agoUp retry for ETXTBSY (#60741)
Andy Gocke [Tue, 26 Oct 2021 05:00:31 +0000 (22:00 -0700)]
Up retry for ETXTBSY (#60741)

* Up retry for ETXTBSY

Still seeing occasional failure in Alpine
(https://dev.azure.com/dnceng/public/_build/results?buildId=1434759) so
raising the retry time.

* Linearly scale wait time

3 years ago[DllImportGenerator] Skip unit tests that hit exceptions due to roslyn-sdk#590 (...
Elinor Fung [Tue, 26 Oct 2021 03:15:01 +0000 (20:15 -0700)]
[DllImportGenerator] Skip unit tests that hit exceptions due to roslyn-sdk#590 (#60848)

3 years ago[metadata] Break up mono_metadata_parse_type_internal (#60725)
Aleksey Kliger (λgeek) [Tue, 26 Oct 2021 02:39:13 +0000 (22:39 -0400)]
[metadata] Break up mono_metadata_parse_type_internal (#60725)

* [metadata] Break up mono_metadata_parse_type_internal

Separate the type allocation and cleanup logic from the main decoding logic and
from the cached instance lookup.

Also free the allocated memory, if any, in case of decoding errors.

3 years agoImplement System.Array functions used by MD arrays as intrinsics (#60816)
Bruce Forstall [Tue, 26 Oct 2021 01:42:03 +0000 (18:42 -0700)]
Implement System.Array functions used by MD arrays as intrinsics (#60816)

Specifically, implement:
- GetLength
- GetLowerBound
- GetUpperBound

These are implemented as intrinsics for MD arrays only, when given
a constant dimension argument that is less than the array rank (that is,
in range).

Thus, exceptional cases fall back to the IL code which throws an exception
as appropriate.

Example x64 codegen for 2-D `int[,]` array (instead of call or inlined call):

GetLength(1):
```
mov      r9d, dword ptr [rcx+20]
```

GetLowerBound(1):
```
mov      r9d, dword ptr [rcx+28]
```

GetUpperBound(1):
```
mov      r9d, dword ptr [rcx+28]
mov      r10d, dword ptr [rcx+20]
lea      r10d, [r9+r10-1]
```

3 years agoRefactor Regex FindFirstChar (#60822)
Stephen Toub [Tue, 26 Oct 2021 00:49:58 +0000 (20:49 -0400)]
Refactor Regex FindFirstChar (#60822)

* Refactor Regexcompiler/Emitter.FindFirstChar

These have become unwieldy, with multiple large code blocks for finding the first character at which to perform a full match, and we'll be adding more soon.  This simply splits each of those out into their own method.  No functional changes.

* Use switch in RegexInterpreter.FindFirstChar

We don't need to re-evaluate which mechanism to use on every FindFirstChar call... we can do so once in the ctor and then just switch on that in the actual FindFirstChar call.

3 years agoUse SDK's .NETFramework refpack version (#60555)
Viktor Hofer [Mon, 25 Oct 2021 20:49:36 +0000 (22:49 +0200)]
Use SDK's .NETFramework refpack version (#60555)

Use the MicrosoftNETFrameworkReferenceAssembliesLatestPackageVersion property which is exposed by the SDK instead of the one exposed by Arcade to make sure that we are always targeting the latest version.

3 years agoSkip more failing DllImport tests (#60836)
Andy Gocke [Mon, 25 Oct 2021 20:06:50 +0000 (13:06 -0700)]
Skip more failing DllImport tests (#60836)

Follow-up on https://github.com/dotnet/runtime/pull/60773

3 years agoInitial support for partially jitted methods (#60791)
Andy Ayers [Mon, 25 Oct 2021 18:51:36 +0000 (11:51 -0700)]
Initial support for partially jitted methods (#60791)

Introduce a new form of patchpoint for rarely-executed blocks in a method
(typically, blocks with throws). Instead of jitting the code in those blocks,
add code to call a new patchpoint helper (similar to the existing one) which
finds or creates the jitted code for the method beyond this point, and then
transitions control to that code.

Suppressing codegen for exception throws in this way gives similar benefits
to the throw helper transformation, without needing to modify source. This
currently works only in Tier0, but in principle could be extended to handle
optimized code.

3 years agofix the summarize bug (#60834)
Kunal Pathak [Mon, 25 Oct 2021 17:20:19 +0000 (10:20 -0700)]
fix the summarize bug (#60834)

3 years agoDon't trim PNSE assemblies and enable trimming for inbox assets on all .NETCoreApp...
Viktor Hofer [Mon, 25 Oct 2021 17:00:31 +0000 (19:00 +0200)]
Don't trim PNSE assemblies and enable trimming for inbox assets on all .NETCoreApp versions (#58345)

* Don't trim PNSE assemblies

Don't trim platform not supported assemblies, since even in "library" trimming mode, the trimmer might remove some non-public members if they are not called within the assembly. In the case of PNSE assemblies this is most likely always the case.

3 years agoPrint "callsites by likely classes" chart in 'dotnet-pgo dump' command (#59306)
Egor Bogatov [Mon, 25 Oct 2021 15:12:03 +0000 (18:12 +0300)]
Print "callsites by likely classes" chart in 'dotnet-pgo dump' command (#59306)

3 years agoSwap using the provided indexes (#55331)
Paul Biggar [Mon, 25 Oct 2021 15:00:45 +0000 (11:00 -0400)]
Swap using the provided indexes (#55331)

SwapElements is passed two indexes, however, it ignored the second index
and instead used `index + 1`. It just so happened that the caller used
`index + 1` as the second index, but that might not have been the case.

3 years agoAdd HttpClient.PatchAsJsonAsync() apis (#60672)
沈星繁 [Mon, 25 Oct 2021 11:21:25 +0000 (19:21 +0800)]
Add HttpClient.PatchAsJsonAsync() apis (#60672)

* feat: add PatchAsJsonAsync methods

* fix: add new api to ref file

* feat: support net46 and netstandard2.0

* refactor: use preprocesser directives to switch between different PatchAsync implementations

* test: validate http method also when validating request

* refactor: implmente extension methods for netstandard that match netcoreapp implmentations

* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Patch.cs

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
* refactor: split net standard PatchAsync implementation to another file

* docs: add xml docs for public PatchAsJsonAsync APIs

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
3 years ago[mono][interp] Allow interp->jit transitions for generic methods. (#60461)
Zoltan Varga [Mon, 25 Oct 2021 08:56:41 +0000 (10:56 +0200)]
[mono][interp] Allow interp->jit transitions for generic methods. (#60461)

3 years ago[mono][jit] Reorganize the creation of the initlocals bblock. (#60804)
Zoltan Varga [Mon, 25 Oct 2021 08:56:20 +0000 (10:56 +0200)]
[mono][jit] Reorganize the creation of the initlocals bblock. (#60804)

This is needed because the gsharedvt init code was emitted into it,
and that code might contain branches in llvmonly mode, so
emit_rgctx_fetch_inline () could not be enabled for it. This
caused gsharedvt methods to always emit a slow jit icall in
the gsharedvt init code.

3 years agoAdd ObjectDisposedException.Throw for object instance and type (#58684)
Bibletoon [Mon, 25 Oct 2021 06:15:40 +0000 (09:15 +0300)]
Add ObjectDisposedException.Throw for object instance and type (#58684)

3 years agoIntegrate changes in shared files from feature/NativeAOT (#60811)
Jan Kotas [Sun, 24 Oct 2021 22:23:42 +0000 (15:23 -0700)]
Integrate changes in shared files from feature/NativeAOT (#60811)

3 years agoOptimize PersianCalendar.AddMonths calculations (#60778)
ebraminio [Sun, 24 Oct 2021 18:50:57 +0000 (22:20 +0330)]
Optimize PersianCalendar.AddMonths calculations (#60778)

3 years agoMore stack overflow avoidance in regex NonBacktracking (#60786)
Olli Saarikivi [Sun, 24 Oct 2021 16:04:01 +0000 (09:04 -0700)]
More stack overflow avoidance in regex NonBacktracking (#60786)

* Add stackoverflow avoidance to SymbolicRegexNode

Remove unused Restrict methods instead of adding avoidance.

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Add more stack overflow avoidance in regex

This follows a full audit of the NonBacktracking code.

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoAdd a COMPlus variable to throw runtime exception on JIT asserts (#60631)
Jakob Botsch Nielsen [Sun, 24 Oct 2021 00:19:42 +0000 (02:19 +0200)]
Add a COMPlus variable to throw runtime exception on JIT asserts (#60631)

Add COMPlus_JitThrowOnAssertionFailure: if nonzero, the runtime will
throw an InvalidProgramException with the assertion message if a JIT
assert is hit during compilation. Previously this would bring down the
process. Use this from the Fuzzlyn pipeline scripts to reduce examples
that hit JIT asserts automatically, since this can now be done much more
efficiently.

3 years agoJIT: some enhancements to redundant branch opts (#60732)
Andy Ayers [Sat, 23 Oct 2021 16:09:24 +0000 (09:09 -0700)]
JIT: some enhancements to redundant branch opts (#60732)

Handle cases where the dominating compare is the reverse of the compare
we're trying to optimize. For example, if `(x > y)` dominates `(y <= x)`
we may be able to optimize the dominated compare.

Addresses aspects of #48115.

3 years agoFix typo (#60797)
Jalitha [Sat, 23 Oct 2021 14:18:59 +0000 (01:18 +1100)]
Fix typo (#60797)

3 years agoUse XHarnessAppBundleToTest to create helix work items when runtime tests run on...
Fan Yang [Sat, 23 Oct 2021 11:18:06 +0000 (07:18 -0400)]
Use XHarnessAppBundleToTest to create helix work items when runtime tests run on iOSSimulator (#58870)

2709 runtime tests were enabled to run with iOSSimulator x64.

Co-authored-by: Přemek Vysoký <premek.vysoky@microsoft.com>
3 years agoFix typo in comment: NoPropogateInherit -> NoPropagateInherit (#60717)
Clément Notin [Sat, 23 Oct 2021 10:44:43 +0000 (12:44 +0200)]
Fix typo in comment: NoPropogateInherit -> NoPropagateInherit (#60717)

3 years agoMaui File location and target runtime updates (#60784)
Parker Bibus [Fri, 22 Oct 2021 22:55:43 +0000 (17:55 -0500)]
Maui File location and target runtime updates (#60784)

* Update the file location and android runtimes. The Maui android architecture targets are being updated to include all android targets.

* Updated the targets and props copy location.

* Add in the correct depends on for the maui build.

* The initial file move did not actually delete the folder being moved, delete it.

3 years agoUse Math.CopySign in CalendricalCalculationsHelper (#60776)
ebraminio [Fri, 22 Oct 2021 22:50:09 +0000 (02:20 +0330)]
Use Math.CopySign in CalendricalCalculationsHelper (#60776)

3 years agoAPI Implementation: Add Indexer to Vectors (#60517)
Robin Lindner [Fri, 22 Oct 2021 21:23:54 +0000 (23:23 +0200)]
API Implementation: Add Indexer to Vectors (#60517)

* Add indexer for Vector2

* Add indexer for Vector3

* Add indexer for Vector4

* Add indexer for Quaternion

* Add indexer for Matrix3x2

* Add indexer for Matrix4x4

* Add indexer for Vector64<T>, Vector128<T> and Vector256<T>

* Implement better codegen

* Replace switch-tree by if-else-construct and add add Debug.Assert call to indexer of Matrix3x2

* More performant indexer implementation for Vector64<T>

* Improve performance of Indexers for Vector64<T>, Vector128<T> and Vector256<T>

* Improve code readability

* Easier index implementation for Vector64<T>, Vector128<T> and Vector256<T>

* Implement slimmer index implementation for Matrix3x2<T> and Matrix4x4<T>

* Implement GetElement/SetElement on various types

* Usage of Vector2 instead of Vector4

* Implement GetElement/SetElement for Vector2 and Vector3

* Remove setters

* Made Count const in Vector2, Vector3 and Vector4

* Implement GetElement/WithElement Extensions for Quaternion, Vector2, Vector3 and Vector4

* Setter implementation for Matrix3x2 and Matrix4x4

* Fix Quaternion

* Clone vectors in WithElement of QuaternionExtensions, Vector2Extensions, Vector3Extensions, Vector4Extensions

* Make QuaternionExtensions, Vector2Extensions, Vector3Extensions and Vector4Extensions internal

* Replace Extension Methods with normal static methods in Quaternion, Vector2, Vector3 and Vector4

* Make WithElement public and SetElementUnsafe internal in Quaternion, Vector2, Vector3 and Vector4

* Add methods and indexers to references

* Fix Matrix3x2 and Matrix4x4

* Update that the setter of Quaternion, Vector2, Vector3 and Vector4 sets `this` to the result of WithElement

* Simplify SetElementUnsafe in Vector2, Vector3 and Vector4

* Simplify SetElementUnsafe in Quaternion

* Add test cases for Matrix3x2, Matrix4x4, Quaternion, Vector2, Vector3 and Vector4

* Add indexer to reference for Vector64<T>, Vector128<T> and Vector256<T>

* Fix solution file

* Make WithElement in Quaternion, Vector2, Vector3 and Vector4 internal

* Fix project file of System.Private.CoreLib.Shared

* Fix indentation in System.Numerics.Vectors reference

* Code improvements

* Fix solution file

* Remove unsafe from reference

* Add Tests for Vector64<T>, Vector128<T> and Vector256<T>

* Create Test project for System.Runtime.Intrinsics and move vector tests from System.Runtime to System.Runtime.Intrinsics

* Fix test cases

* recreate System.Runtime.sln

* Fix System.Runtime.sln and remove old Vector Tests

* Implement usage of ThrowHelper for Matrix3x2 and Matrix4x4

* Replace Assert.All over array by Assert.Equal in Vector128Tests

* Replace Assert.All over array by Assert.Equal in Vector256Tests

* Replace Assert.All over array by Assert.Equal in Vector64Tests

* Fix indexer tests for Vector64<T>

* Fix indexer tests for Vector128<T>

* Fix indexer tests for Vector256<T>

* Fix indexer of Matrix3x2

* Fix indexer of Matrix4x4

3 years agoImprove IndexOfAny(byte,byte,byte) (#40894)
Ben Adams [Fri, 22 Oct 2021 21:17:10 +0000 (22:17 +0100)]
Improve IndexOfAny(byte,byte,byte) (#40894)

Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
3 years agoDisable tests that are failing with JIT asserts on ARM64 (#60773)
Jeremy Koritzinsky [Fri, 22 Oct 2021 20:33:46 +0000 (13:33 -0700)]
Disable tests that are failing with JIT asserts on ARM64 (#60773)

3 years agoRemove xunit-performance dependency in tests (#60711)
Bruce Forstall [Fri, 22 Oct 2021 18:47:49 +0000 (11:47 -0700)]
Remove xunit-performance dependency in tests (#60711)

* Remove dependence on obsolete xunit-performance

We use BenchmarkDotNet in the dotnet/performance repo for
benchmarking now. These copies of the benchmarks are for
correctness testing, and for ease of debugging.

* Make benchmarks look more like the dotnet/performance versions