1. 28 2月, 2022 2 次提交
    • P
      [PERF][MAUI] Add Maui version info to stored data. Runtime Side (#65800) · c41f452c
      Parker Bibus 提交于
      * Setup pipeline for testing.
      
      * First test with the Maui Version.
      
      * Remove perf-job parameter version typo.
      
      * Try another way of doing the output variable.
      
      * Third times the charm?
      
      * Add a second test for two to be done in one run.
      
      * Fix variable problem with xplat-setup.yml
      
      * Third time was not the charm...
      
      * Try another setup.
      
      * Only include one of the tests as the perf setup is failing potentially due to this.
      
      * Try 2 variable attempts and write out potential get methods.
      
      * Remove failed thing and split them to all be seperate and always run.
      
      * Move variables into the second job stuff.
      
      * Won't run when specified under the job parameters.
      
      * Try hardcoded values to see if it is the output or input that seems to not be connected properly.
      
      * Try new variable format.
      
      * Missed bracket that wasn't found until after most of the way through.
      
      * Maui installs are failing, work around this for variable testing.
      
      * Need to keep mono build enabled.
      
      * Revert "Need to keep mono build enabled."
      
      This reverts commit ff32e46c080efb8a103907de6dd1a13cd0d1be04.
      
      * Revert "Maui installs are failing, work around this for variable testing."
      
      This reverts commit 6dbf6b0ee26d8047d14be86e12e56872c7dab7cc.
      
      * Temp fix for workload install.
      
      * Removed breaking variable test as the new format works along with changing to only having one variable for testing. This should allow us to have access to the maui version in the perf setup for testing.
      
      * Full run test. Still using perf repo fork.
      
      * Add comment explaining RetrievedMauiVersion.
      
      * Add maui version to the iOS runs.
      
      * Undo testing changes to prepare for merge once install is working again.
      c41f452c
    • J
      Update stale comments that reference GitHub issues (#65932) · a58437f7
      Jeff Handley 提交于
      * Update comment in BinaryFormatterWriter to indicate a NRT bug won't be fixed
      
      * Update comment to reflect known issue in .NET Framework
      
      * Update comment to indicate a known issue
      a58437f7
  2. 27 2月, 2022 2 次提交
    • S
      ZeroObj assertions (#65257) · 68fb7fc6
      SingleAccretion 提交于
      It is the case that the IR supports the "zero" node for structs
      in two positions: on the RHS of an assignment (InitBlk form) and
      under a return, in case the ABI return type is scalar.
      
      Meanwhile, assertion propagation "blindly" replaced structs with
      zeroes, and so workarounds had to be applied in order for the IR
      to remain valid, in the form of the NO_CSE flag, applied either
      explicitly (multi-reg returns) or implicitly (ADDR(LCL) created by
      "impNormSturctVal" for call args).
      
      This was:
      
      a) A CQ problem in cases where we forgot to clear the NO_CSE flag
         when the node's parent was updated, say after inlining.
      b) A burden for enabling struct LCL_VAR arguments, as one had to
         remembered to mark them NO_CSE in all situation.
      
      This change fixes the problem by deleting propagation of zeroes for
      local uses, instead propagating them as part of their parents (ASGs
      and RETURNs).
      
      This has the CQ benefits of not being affected by stale NO_CSEs and
      the drawback of not participating in the "chained" propagation, where
      we first copy-propagated something, and then zero-propagated into the
      new local as well. These cases seem rather rare, so I decided not to
      spend TP on fixing them by looking at the copy assertions in the new
      code.
      
      This change also deletes the zero propagation code for SIMDs. It was
      only useful in cases we had a promoted SIMD field that was zero-inited
      via an InitBlk on the parent struct. That promotion code was (and is)
      creating nodes that look like integral constants, except they are of
      TYP_SIMD. We should delete that form and use proper SIMD zero nodes
      instead, and design the propagation story for them separately.
      68fb7fc6
    • S
  3. 26 2月, 2022 16 次提交
    • J
      Adding Regex.IsMatch(Span) and RegexRunner.Scan() methods (#65473) · 26b91db7
      Jose Perez Rodriguez 提交于
      * Adding Regex.IsMatch(Span) and RegexRunner.Scan() methods
      
      * Addressing some PR Feedback
      
      * Fixing case where span-based APIs are called from a precompiled regex and adding a test for it.
      
      * Adding Tests for IsMatch span overload
      
      * Refactor Run<TState> and Run to share centralized logic
      
      * Emit IsBoundary and IsECMABoundary instead of exposing them.
      
      * Address Emitter changes feedback.
      
      * Addressing PR Feedback.
      
      * Addressing most of the PR comments
      
      * Fix issue where runtextbeg and length do not match the size of the input
      
      * Add Precompiled tests for all overloads of methods.
      
      * Fix precompiled test failing in non-Windows due to new lines.
      
      * Apply suggestions from code review
      Co-authored-by: NStephen Toub <stoub@microsoft.com>
      
      * Addressing more PR Feedback
      
      * Fix protected Scan method
      
      * Addressing feedback and adding more tests
      
      * Fix few failing tests in Mono runtime
      Co-authored-by: NStephen Toub <stoub@microsoft.com>
      26b91db7
    • A
      [mono] Delete unicode-data.h and related code, cleanup unused eglib functions (#65751) · c173105b
      Alexander Köplinger 提交于
      This allows us to remove a bunch of huge tables that weren't actually needed.
      Removes support for setting MONO_EXTERNAL_ENCODINGS env var which is discouraged.
      Also removes the code for .mdb debug symbol support which was already disabled everywhere.
      c173105b
    • A
      JIT: OSR jitstress fixes; enable struct promotion (#65903) · c8da2fd5
      Andy Ayers 提交于
      Fix OSR jitstress failures by disabling STRESS_LCL_FLD for two cases:
      * for Tier0 methods with patchpoints (because patchpoint info generation
      does not produce the right offsets when locals are padded)
      * for OSR locals in OSR methods (because they live on the Tier0 frame and
      so can't have their storage altered.
      
      Enable struct promotion for OSR locals. In most cases this ends up being
      dependent promotion. Enabling independent promotion will take more work.
      c8da2fd5
    • A
      `GetTypeFields` should return `ELEMENT_TYPE_BYREF`. (#65880) · a3f7d295
      Aaron Robinson 提交于
      * GetTypeField should return ELEMENT_TYPE_BYREF.
      
      * Remove setting of token2 in all cases. This value is not used in any
      scenario and therefore is more confusing than helpful. Add a comment about
      the expectations of the returned values.
      a3f7d295
    • M
    • P
      [PERF][MAUI] Update Startup scenarios (#65911) · 87e7f06e
      Parker Bibus 提交于
      * Setup pipeline and setup for testing.
      
      * Updated scenario names for new scenario name setup and added no animation tests.
      
      * Revert "Setup pipeline and setup for testing."
      87e7f06e
    • J
      95a68f22
    • S
      Overhaul SymbolicRegexMatcher to avoid DFA perf regressions from NFA changes · 83e5cbcf
      Stephen Toub 提交于
      This does a few things:
      - The previous changes for Antimirov changed the representation from being represented as a DfaMatchingState to instead being a list of states.  Unfortunately, this came at the expense of a significant increase in overhead for the DFA mode.  This commit melds the old and new design, by still using a CurrentState struct that can be either a DFA state or an NFA state, but with a simplified representation that lacks any processing.  The processing is left to two separate structs that implement static abstract interface methods, as was previously done, using that to provide streamlined, generic-specialized processing for the DFA path.
      - Overhauled how we switch from DFA mode to NFA mode.  Previously, the builder would store whether we were in NFA mode, and any matching after it had been switched over immediately started in NFA mode.  We now always start in DFA, and only switch over to NFA if we try to create a new state but doing so would exceed the graph size constraint.
      - Overhauled how we handle the outer/inner loop logic.  Previously we wanted to remain in a tight inner loop and so would use some "leeway" to allow us to go beyond the graph size constraint in order to avoid having to check too frequently whether we'd exceeded that size.  Now, the transition function itself returns whether we need to exit out to the outer loop in order to upgrade from DFA to NFA, and until/unless that happens, we can stay in the inner loop.
      - Avoids inlining huge amounts of NFA code that can result in worse DFA code
      - Renamed Brzozowski and Antimirov to DFA and NFA.
      - Added a lot of comments to SymbolicRegexMatcher
      - Fixes "watchdog" issue with captures
      - A few other renames / cleanups.
      83e5cbcf
    • M
      054dc88c
    • T
      add RID for Ubuntu 22.04 (#65483) · 221257a4
      Tomas Weinfurt 提交于
      221257a4
    • P
      [Perf][Maui] Set only android-arm64 to be built for Maui (#65747) · e27f594e
      Parker Bibus 提交于
      * Set android to only build one RID (android-arm64).
      
      * Update the mv file path for the android apk.
      
      * Add --self-contained to get rid of android build warning.
      
      * Add comment about dotnet restore being done before publish.
      e27f594e
    • P
      [PERF][MAUI]Maui Install Workaround Fix (#65904) · 828f6d70
      Parker Bibus 提交于
      * Test a potential fix for the maui install failures.
      
      * Only run the app build.
      
      * Reenable rest of the pipeline.
      828f6d70
    • J
      Remove usages of native bootstrapping (#65901) · 8727ac77
      Juan Hoyos 提交于
      * Remove usages of native bootstrapping
      * Make sure cmake is in the path for mono wasm builds
      Co-authored-by: NAdeel Mujahid <3840695+am11@users.noreply.github.com>
      8727ac77
    • S
      Centralize regex tree analysis for atomic/capture/backtracking detection (#65734) · 2ce0af0b
      Stephen Toub 提交于
      We currently either guess at some of this state based on the immediate surrounding nodes (e.g. whether the immediate child backtracks) or we do potentially-expensive walks each time we need to check (e.g. walking all ancestors until root to determine whether a given node is to be considered atomic).  This changes the code to do a pass over the graph to compute the relevant information, which can then be used by the code generators any time they need to access that information.  This provides the code with faster and more accurate answers.
      2ce0af0b
    • T
      Reduce TypeGeneratorTests log spew to 1% of its previous size (#65871) · 0c33372d
      Tomáš Rylek 提交于
      As JanV noticed during an independent investigation,
      TypeGeneratorTests historically used to produce an enormous amount
      of stdout spew due to individually reporting the details of all
      passing test cases; for the entire set of 1501 tests the total
      size of the spew was about 150 MB. In combination with the change
      to capture stdout spew in the xml test reports this effectively
      canceled out all previous wins achieved via test merging - in fact,
      the tests became twice as slow compared to before the merging.
      
      This modification only reports mismatches i.e. failures where we
      don't receive the expected answer in one of the test cases. This
      reduces the total spew from 150 MB to just over a megabyte and
      restores the perf improvement achieved via test merging.
      
      Thanks
      
      Tomas
      0c33372d
    • T
      Mark architecture-specific tests with ConditionalFact attributes (#65862) · 572405ac
      Tomáš Rylek 提交于
      This change adds initial provisions for platform detection similar
      to library logic to CoreCLRTestLibrary and marks a few
      architecture-conditional tests with ConditionalFact attributes.
      
      While I must admit I'm not happy about the IL representation of
      the ConditionalFact attributes, it's technically using the same
      representation as the library tests do and it only affects a handful
      of tests. During consolidation of the remaining tests we'll
      continue working on an easier solution even though it may require
      diverging further away from Xunit.
      
      I'm not yet removing the CLRTestTargetUnsupported clauses from
      the corresponding project files, that can only be done after
      switching these tests over to use the merged wrappers (my next
      change) as the legacy XUnit wrapper generator (in particular the
      test execution script generator) relies on those properties.
      
      Thanks
      
      Tomas
      572405ac
  4. 25 2月, 2022 16 次提交
  5. 24 2月, 2022 4 次提交
    • S
      Handle direct addresses for statics in `IsFieldAddr` (#64846) · b3465af1
      SingleAccretion 提交于
      * DEBUG-ONLY: FieldInfo
      
      Allows this change to be tested via SPMI.
      
      * Handle direct addresses in IsFieldAddr
      
      * Always use NotAField in IsFieldAddr
      
      No diffs.
      
      * Revert "DEBUG-ONLY: FieldInfo"
      
      This reverts commit b17817e0354a63319256a0fa0d21b74c2cfbf781.
      b3465af1
    • R
    • D
      [main] Update dependencies from 10 repositories (#65504) · af4527fa
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/icu build 20220216.2
      
      Microsoft.NETCore.Runtime.ICU.Transport
       From Version 7.0.0-preview.3.22115.2 -> To Version 7.0.0-preview.3.22116.2
      
      * Update dependencies from https://github.com/dotnet/runtime-assets build 20220216.1
      
      Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.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 7.0.0-beta.22115.1 -> To Version 7.0.0-beta.22116.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20220216.2
      
      Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
       From Version 7.0.0-alpha.2.22111.1 -> To Version 7.0.0-preview.3.22116.2
      
      * Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20220216.1
      
      Microsoft.CodeAnalysis.NetAnalyzers
       From Version 7.0.0-preview1.22115.3 -> To Version 7.0.0-preview1.22116.1
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220217.2
      
      Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , 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.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
       From Version 2.5.1-beta.22114.7 -> To Version 2.5.1-beta.22117.2
      
      * Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20220219.1
      
      Microsoft.CodeAnalysis.NetAnalyzers
       From Version 7.0.0-preview1.22115.3 -> To Version 7.0.0-preview1.22119.1
      
      * Update dependencies from https://github.com/dotnet/runtime build 20220220.1
      
      runtime.native.System.IO.Ports , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , System.Text.Json , Microsoft.NET.Sdk.IL
       From Version 7.0.0-preview.2.22113.2 -> To Version 7.0.0-preview.3.22120.1
      
      * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20220221.2
      
      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.22078.3 -> To Version 1.0.0-prerelease.22121.2
      
      * Update dependencies from https://github.com/dotnet/icu build 20220221.1
      
      Microsoft.NETCore.Runtime.ICU.Transport
       From Version 7.0.0-preview.2.22081.1 -> To Version 7.0.0-preview.3.22121.1
      
      * Update dependencies from https://github.com/dotnet/xharness build 20220221.1
      
      Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
       From Version 1.0.0-prerelease.22114.1 -> To Version 1.0.0-prerelease.22121.1
      
      * Update dependencies from https://github.com/dotnet/runtime-assets build 20220221.1
      
      Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.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 7.0.0-beta.22115.1 -> To Version 7.0.0-beta.22121.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20220221.1
      
      Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
       From Version 7.0.0-alpha.2.22077.1 -> To Version 7.0.0-preview.3.22121.1
      
      * Update dependencies from https://github.com/dotnet/llvm-project build 20220221.2
      
      runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , 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.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
       From Version 11.1.0-alpha.1.22114.2 -> To Version 11.1.0-alpha.1.22121.2
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220222.3
      
      Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework , 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.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
       From Version 2.5.1-beta.22114.7 -> To Version 2.5.1-beta.22122.3
      
      * Update dependencies from https://github.com/dotnet/icu build 20220222.1
      
      Microsoft.NETCore.Runtime.ICU.Transport
       From Version 7.0.0-preview.2.22081.1 -> To Version 7.0.0-preview.3.22122.1
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20220222.1
      
      Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
       From Version 7.0.0-alpha.2.22077.1 -> To Version 7.0.0-preview.3.22122.1
      
      * Update dependencies from https://github.com/dotnet/hotreload-utils build 20220222.2
      
      Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
       From Version 1.0.2-alpha.0.22114.2 -> To Version 1.0.2-alpha.0.22122.2
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      Co-authored-by: NAlexander Köplinger <alex.koeplinger@outlook.com>
      af4527fa
    • M
      Fix nullability mismatch between `ref` and `src` in... · 56c9cd9d
      Maksym Koshovyi 提交于
      Fix nullability mismatch between `ref` and `src` in `Microsoft.Extensions.Caching.Abstractions` (#65804)
      
      * Update PostEvictionDelegate.cs
      
      * Fix GetOrCreateAsync
      56c9cd9d