Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JitDiff ARM64] [MihaZupan] JIT: Use faster mod for uint16 values #948

Open
MihuBot opened this issue Jan 25, 2025 · 3 comments
Open

[JitDiff ARM64] [MihaZupan] JIT: Use faster mod for uint16 values #948

MihuBot opened this issue Jan 25, 2025 · 3 comments

Comments

@MihuBot
Copy link
Owner

MihuBot commented Jan 25, 2025

Job completed in 14 minutes 31 seconds (remote runner delay: 1 minute 19 seconds).
dotnet/runtime#111535
Using arguments: -arm

Diffs

Diffs
Found 155 files with textual diffs.

Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 50948140
Total bytes of diff: 50946588
Total bytes of delta: -1552 (-0.00 % of base)
Total relative delta: -5.99
    diff is an improvement.
    relative diff is an improvement.


Top file regressions (bytes):
          68 : Markdig.dasm (0.01 % of base)
          48 : System.Threading.Channels.dasm (0.02 % of base)
          48 : Microsoft.VisualBasic.Core.dasm (0.01 % of base)
           4 : ILCompiler.Reflection.ReadyToRun.dasm (0.00 % of base)

Top file improvements (bytes):
        -728 : System.Reflection.Metadata.dasm (-0.10 % of base)
        -456 : System.Diagnostics.Process.dasm (-0.37 % of base)
        -360 : System.Composition.Hosting.dasm (-0.27 % of base)
        -108 : System.Reflection.DispatchProxy.dasm (-0.45 % of base)
         -24 : System.Net.NameResolution.dasm (-0.04 % of base)
         -16 : Microsoft.Extensions.Http.dasm (-0.02 % of base)
          -8 : System.DirectoryServices.dasm (-0.01 % of base)
          -8 : Microsoft.Win32.Registry.AccessControl.dasm (-0.53 % of base)
          -8 : System.Composition.Runtime.dasm (-0.03 % of base)
          -4 : System.Private.CoreLib.dasm (-0.00 % of base)

14 total files with Code Size differences (10 improved, 4 regressed), 247 unchanged.

Top method regressions (bytes):
          36 (3.90 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this (FullOpts)
          32 (2.12 % of base) : Markdig.dasm - Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String (FullOpts)
          24 (2.87 % of base) : Markdig.dasm - Markdig.Parsers.BlockProcessor:CloseAll(ubyte):this (FullOpts)
          20 (1.53 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          16 (2.22 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts)
          12 (4.41 % of base) : Markdig.dasm - Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this (FullOpts)
          12 (1.43 % of base) : Markdig.dasm - Markdig.Parsers.IndentedCodeBlockParser:Close(Markdig.Parsers.BlockProcessor,Markdig.Syntax.Block):ubyte:this (FullOpts)
          12 (0.95 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateNamespaceTable():this (FullOpts)
          12 (0.73 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateTableWithExportedTypes(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder]):this (FullOpts)
          12 (0.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateTableWithTypeDefinitions(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder]):this (FullOpts)
           8 (3.92 % of base) : Markdig.dasm - Markdig.MarkdownExtensions:DisableHtml(Markdig.MarkdownPipelineBuilder):Markdig.MarkdownPipelineBuilder (FullOpts)
           8 (1.11 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:.cctor() (FullOpts)
           8 (2.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
           8 (0.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
           8 (1.00 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
           8 (1.94 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
           8 (4.35 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[int]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
           8 (0.59 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[long](System.Func`3[System.Object,System.Net.NameResolutionActivity,long],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts)
           8 (0.59 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[ubyte](System.Func`3[System.Object,System.Net.NameResolutionActivity,ubyte],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts)
           8 (1.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder:GetDebuggerDisplay():System.String:this (FullOpts)
           8 (0.72 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.70 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.87 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (1.10 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
           8 (1.47 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
           8 (1.19 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedPrioritizedChannel`1[long]:.ctor(ubyte,System.Collections.Generic.IComparer`1[long]):this (FullOpts)
           4 (1.01 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.NativeArray:TryGetAt(ubyte[],uint,byref):ubyte:this (FullOpts)
           4 (0.87 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:.cctor() (FullOpts)
           4 (3.12 % of base) : Markdig.dasm - Markdig.Helpers.CompactPrefixTree`1[double]:.cctor() (FullOpts)
           4 (0.16 % of base) : Markdig.dasm - Markdig.MarkdownExtensions:UseAdvancedExtensions(Markdig.MarkdownPipelineBuilder):Markdig.MarkdownPipelineBuilder (FullOpts)
           4 (0.37 % of base) : Markdig.dasm - Markdig.Parsers.Inlines.EmphasisInlineParser:Initialize():this (FullOpts)
           4 (0.57 % of base) : Markdig.dasm - Markdig.Parsers.MarkdownParser:ProcessBlocksTrivia(Markdig.Parsers.BlockProcessor,Markdig.Syntax.MarkdownDocument) (FullOpts)
           4 (0.30 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LogHelper:.cctor() (FullOpts)
           4 (2.27 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[long]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
           4 (0.98 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[System.Numerics.Vector`1[float]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
           4 (0.86 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder:.ctor(System.Reflection.DispatchProxyGenerator+ProxyAssembly,System.Reflection.Emit.TypeBuilder,System.Type):this (FullOpts)
           4 (0.31 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetDocumentName(System.Reflection.Metadata.DocumentNameBlobHandle):System.String:this (FullOpts)
           4 (0.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:InitializeProjectedTypes() (FullOpts)
           4 (2.38 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.DebugDirectoryBuilder:.ctor():this (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts)
           4 (0.58 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[short]:.ctor(int,int,ubyte,System.Action`1[short]):this (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[ubyte]:.ctor(int,int,ubyte,System.Action`1[ubyte]):this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[double]:.ctor(ubyte):this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[ubyte]:.ctor(ubyte):this (FullOpts)
           4 (0.73 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)

Top method improvements (bytes):
         -32 (-3.19 % of base) : System.Diagnostics.Process.dasm - Interop+ErrorInfo:ToString():System.String:this (FullOpts)
         -24 (-1.53 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:ReadLink(System.ReadOnlySpan`1[ushort]):System.String (FullOpts)
         -24 (-1.07 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:GetUntruncatedProcessName(int,byref):System.String (FullOpts)
         -24 (-1.53 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process+<>c__DisplayClass186_0+<<WaitForExitAsync>g__WaitUntilOutputEOF|1>d:MoveNext():this (FullOpts)
         -20 (-0.63 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process+<WaitForExitAsync>d__186:MoveNext():this (FullOpts)
         -20 (-1.44 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[System.Numerics.Vector`1[float]](System.Func`3[System.Object,System.Net.NameResolutionActivity,System.Numerics.Vector`1[float]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Numerics.Vector`1[float]] (FullOpts)
         -20 (-2.78 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionMetrics:.cctor() (FullOpts)
         -16 (-2.56 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
         -16 (-1.40 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyAssembly:.ctor(System.Runtime.Loader.AssemblyLoadContext):this (FullOpts)
         -16 (-1.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:LinkChildToParentNamespace(System.Collections.Generic.Dictionary`2[System.String,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder],System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder,byref):this (FullOpts)
         -12 (-0.85 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:TryReadFile(System.String,byref):ubyte (FullOpts)
         -12 (-4.23 % of base) : Markdig.dasm - Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this (FullOpts)
         -12 (-4.29 % of base) : Markdig.dasm - Markdig.Helpers.StringLineGroup:.cctor() (FullOpts)
         -12 (-0.61 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[int](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[long](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[System.Numerics.Vector`1[float]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-1.55 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
         -12 (-2.86 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
         -12 (-2.10 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader:FlushMessageQueue(ubyte):ubyte:this (FullOpts)
         -12 (-0.56 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader+<ReadBufferAsync>d__16:MoveNext():this (FullOpts)
         -12 (-8.82 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:.cctor() (FullOpts)
         -12 (-0.57 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:StartCore(System.Diagnostics.ProcessStartInfo):ubyte:this (FullOpts)
         -12 (-7.50 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:.cctor() (FullOpts)
         -12 (-0.80 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState+<WaitForExitAsync>d__26:MoveNext():this (FullOpts)
         -12 (-1.68 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyAssembly:CreateProxy(System.String,System.Type):System.Reflection.DispatchProxyGenerator+ProxyBuilder:this (FullOpts)
         -12 (-0.37 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder:AddInterfaceImpl(System.Type):this (FullOpts)
         -12 (-0.34 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder:AddMethodImpl(System.Reflection.MethodInfo,int):System.Reflection.Emit.MethodBuilder:this (FullOpts)
         -12 (-2.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetBytes(System.Reflection.Metadata.BlobHandle):ubyte[]:this (FullOpts)
         -12 (-1.04 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomDebugInformationTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
         -12 (-2.21 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobBytes(System.Reflection.Metadata.BlobHandle):ubyte[]:this (FullOpts)
         -12 (-2.21 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobContent(System.Reflection.Metadata.BlobHandle):System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts)
         -12 (-2.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectionIndexForTypeReference(System.Reflection.Metadata.TypeReferenceHandle,byref):int:this (FullOpts)
         -12 (-2.38 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueUtf8Converter:ConvertAndTerminateString(System.ReadOnlySpan`1[ushort]):System.Span`1[ubyte]:this (FullOpts)
          -8 (-0.90 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:TryGetMemoryStatField(System.String,byref):ubyte (FullOpts)
          -8 (-0.87 % of base) : System.Diagnostics.Process.dasm - Interop+procfs:ParseMapsModulesCore(System.Collections.Generic.IEnumerable`1[System.String]):System.Diagnostics.ProcessModuleCollection (FullOpts)
          -8 (-1.08 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory:.ctor(System.IServiceProvider,Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Http.HttpClientFactoryOptions],System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Http.IHttpMessageHandlerBuilderFilter]):this (FullOpts)
          -8 (-1.16 % of base) : System.Composition.Runtime.dasm - System.Composition.Hosting.Core.CompositionContract:ConstraintEqual(System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IDictionary`2[System.String,System.Object]):ubyte (FullOpts)
          -8 (-0.93 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[System.__Canon](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[double,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[int,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[long,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[short,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.90 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[System.__Canon,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[System.Nullable`1[int],System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.99 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:GetExportFactoryDescriptors[ubyte,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[short]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[ubyte]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-4.17 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          -8 (-1.87 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:GetLazyDefinitions[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.87 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:GetLazyDefinitions[long](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.60 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:GetLazyDefinitions[System.__Canon](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.87 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:GetLazyDefinitions[System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.87 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:GetLazyDefinitions[System.Numerics.Vector`1[float]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[double,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[int,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[long,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[short,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[System.__Canon,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[System.Nullable`1[int],System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[System.Numerics.Vector`1[float],System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-1.74 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:GetLazyDefinitions[ubyte,System.Nullable`1[int]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
          -8 (-0.21 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[double]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],double] (FullOpts)
          -8 (-0.21 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[long]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],long] (FullOpts)
          -8 (-0.21 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[short]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],short] (FullOpts)
          -8 (-2.35 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:DelayedSigChildConsoleConfiguration() (FullOpts)
          -8 (-0.58 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:ForkAndExecProcess(System.Diagnostics.ProcessStartInfo,System.String,System.String[],System.String[],System.String,ubyte,uint,uint,uint[],byref,byref,byref,ubyte,ubyte):ubyte:this (FullOpts)
          -8 (-0.60 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:KillTree(byref):this (FullOpts)
          -8 (-2.44 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:OnExited():this (FullOpts)
          -8 (-2.38 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:OnSigChild(int,int):int (FullOpts)
          -8 (-2.70 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:WaitForExit():this (FullOpts)
          -8 (-2.86 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:WaitForExitCore(int):ubyte:this (FullOpts)
          -8 (-2.30 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:ReleaseRef():this (FullOpts)
          -8 (-0.52 % of base) : System.Reflection.Metadata.dasm - System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this (FullOpts)
          -8 (-1.55 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.EncodingHelper:DecodeUtf8Prefixed(ulong,int,ubyte[],System.Reflection.Metadata.MetadataStringDecoder):System.String (FullOpts)
          -8 (-2.44 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:.ctor(System.Reflection.Internal.MemoryBlock,int):this (FullOpts)
          -8 (-0.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[double]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[double]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[double]:this (FullOpts)
          -8 (-0.64 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[double]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[double]]:this (FullOpts)
          -8 (-0.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[int]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[int]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[int]:this (FullOpts)
          -8 (-0.65 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[int]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[int]]:this (FullOpts)
          -8 (-0.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[long]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[long]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[long]:this (FullOpts)
          -8 (-0.65 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[long]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[long]]:this (FullOpts)
          -8 (-0.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[short]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[short]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[short]:this (FullOpts)
          -8 (-0.64 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[short]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[short]]:this (FullOpts)
          -8 (-0.45 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[System.__Canon]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[System.__Canon]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[System.__Canon]:this (FullOpts)
          -8 (-0.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[System.Nullable`1[int]]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[System.Nullable`1[int]]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[System.Nullable`1[int]]:this (FullOpts)
          -8 (-0.64 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[System.Nullable`1[int]]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[System.Nullable`1[int]]]:this (FullOpts)
          -8 (-0.49 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[System.Numerics.Vector`1[float]]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[System.Numerics.Vector`1[float]]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[System.Numerics.Vector`1[float]]:this (FullOpts)
          -8 (-0.63 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[System.Numerics.Vector`1[float]]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[System.Numerics.Vector`1[float]]]:this (FullOpts)
          -8 (-0.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[ubyte]:DecodeArgument(byref,System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1+ArgumentTypeInfo[ubyte]):System.Reflection.Metadata.CustomAttributeTypedArgument`1[ubyte]:this (FullOpts)
          -8 (-0.65 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.CustomAttributeDecoder`1[ubyte]:DecodeNamedArguments(byref):System.Collections.Immutable.ImmutableArray`1[System.Reflection.Metadata.CustomAttributeNamedArgument`1[ubyte]]:this (FullOpts)

Top method regressions (percentages):
          12 (4.41 % of base) : Markdig.dasm - Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this (FullOpts)
           8 (4.35 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[int]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
           8 (3.92 % of base) : Markdig.dasm - Markdig.MarkdownExtensions:DisableHtml(Markdig.MarkdownPipelineBuilder):Markdig.MarkdownPipelineBuilder (FullOpts)
          36 (3.90 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this (FullOpts)
           4 (3.12 % of base) : Markdig.dasm - Markdig.Helpers.CompactPrefixTree`1[double]:.cctor() (FullOpts)
          24 (2.87 % of base) : Markdig.dasm - Markdig.Parsers.BlockProcessor:CloseAll(ubyte):this (FullOpts)
           8 (2.78 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
           4 (2.38 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.DebugDirectoryBuilder:.ctor():this (FullOpts)
           4 (2.27 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[long]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          16 (2.22 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[System.Nullable`1[int]]:.ctor(int,int,ubyte,System.Action`1[System.Nullable`1[int]]):this (FullOpts)
          32 (2.12 % of base) : Markdig.dasm - Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String (FullOpts)
           8 (1.94 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
           8 (1.82 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder:GetDebuggerDisplay():System.String:this (FullOpts)
          20 (1.53 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
           8 (1.47 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
          12 (1.43 % of base) : Markdig.dasm - Markdig.Parsers.IndentedCodeBlockParser:Close(Markdig.Parsers.BlockProcessor,Markdig.Syntax.Block):ubyte:this (FullOpts)
           8 (1.19 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedPrioritizedChannel`1[long]:.ctor(ubyte,System.Collections.Generic.IComparer`1[long]):this (FullOpts)
           8 (1.11 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultHttpClientFactory+Log:.cctor() (FullOpts)
           8 (1.10 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
           4 (1.01 % of base) : ILCompiler.Reflection.ReadyToRun.dasm - ILCompiler.Reflection.ReadyToRun.NativeArray:TryGetAt(ubyte[],uint,byref):ubyte:this (FullOpts)
           8 (1.00 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
           4 (0.98 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[System.Numerics.Vector`1[float]](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
          12 (0.95 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateNamespaceTable():this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[double]:.ctor(ubyte):this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)
           4 (0.91 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.SingleConsumerUnboundedChannel`1[ubyte]:.ctor(ubyte):this (FullOpts)
           4 (0.87 % of base) : System.Diagnostics.Process.dasm - Interop+cgroups:.cctor() (FullOpts)
           8 (0.87 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           4 (0.86 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder:.ctor(System.Reflection.DispatchProxyGenerator+ProxyAssembly,System.Reflection.Emit.TypeBuilder,System.Type):this (FullOpts)
           8 (0.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
          12 (0.74 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateTableWithTypeDefinitions(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder]):this (FullOpts)
          12 (0.73 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.NamespaceCache:PopulateTableWithExportedTypes(System.Collections.Generic.Dictionary`2[System.Reflection.Metadata.NamespaceDefinitionHandle,System.Reflection.Metadata.Ecma335.NamespaceCache+NamespaceDataBuilder]):this (FullOpts)
           4 (0.73 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.UnboundedChannel`1[System.Nullable`1[int]]:.ctor(ubyte):this (FullOpts)
           8 (0.72 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.70 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           8 (0.60 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
           8 (0.59 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[long](System.Func`3[System.Object,System.Net.NameResolutionActivity,long],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[long] (FullOpts)
           8 (0.59 % of base) : System.Net.NameResolution.dasm - System.Net.Dns:RunAsync[ubyte](System.Func`3[System.Object,System.Net.NameResolutionActivity,ubyte],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[ubyte] (FullOpts)
           4 (0.58 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
           4 (0.57 % of base) : Markdig.dasm - Markdig.Parsers.MarkdownParser:ProcessBlocksTrivia(Markdig.Parsers.BlockProcessor,Markdig.Syntax.MarkdownDocument) (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[double]:.ctor(int,int,ubyte,System.Action`1[double]):this (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[short]:.ctor(int,int,ubyte,System.Action`1[short]):this (FullOpts)
           4 (0.54 % of base) : System.Threading.Channels.dasm - System.Threading.Channels.BoundedChannel`1[ubyte]:.ctor(int,int,ubyte,System.Action`1[ubyte]):this (FullOpts)
           4 (0.37 % of base) : Markdig.dasm - Markdig.Parsers.Inlines.EmphasisInlineParser:Initialize():this (FullOpts)
           4 (0.31 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetDocumentName(System.Reflection.Metadata.DocumentNameBlobHandle):System.String:this (FullOpts)
           4 (0.30 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.Logging.LogHelper:.cctor() (FullOpts)
           4 (0.16 % of base) : Markdig.dasm - Markdig.MarkdownExtensions:UseAdvancedExtensions(Markdig.MarkdownPipelineBuilder):Markdig.MarkdownPipelineBuilder (FullOpts)
           4 (0.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:InitializeProjectedTypes() (FullOpts)

Top method improvements (percentages):
          -4 (-12.50 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessStartInfo:get_Verbs():System.String[]:this (FullOpts)
          -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:GetVirtualVersion():System.Version (FullOpts)
          -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.HandleComparer:get_Default():System.Reflection.Metadata.HandleComparer (FullOpts)
          -4 (-12.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataStringDecoder:get_DefaultUTF8():System.Reflection.Metadata.MetadataStringDecoder (FullOpts)
         -12 (-8.82 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:.cctor() (FullOpts)
          -4 (-8.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.PooledStringBuilder:GetInstance():System.Reflection.Internal.PooledStringBuilder (FullOpts)
          -4 (-8.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.HandleComparer:.cctor() (FullOpts)
          -4 (-8.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:GetInstance():System.Reflection.Metadata.PooledBlobBuilder (FullOpts)
          -4 (-7.69 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.AsyncStreamReader+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.HexConverter+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.DispatchProxyGenerator+ProxyBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.DispatchProxy.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder+SuffixSort:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedTypeNames():System.String[] (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:FreeChunk():this (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder+<>c:.cctor() (FullOpts)
          -4 (-7.69 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEReader+<>c:.cctor() (FullOpts)
         -12 (-7.50 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:.cctor() (FullOpts)
          -4 (-7.14 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.PooledStringBuilder:.cctor() (FullOpts)
          -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:.cctor() (FullOpts)
          -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualString(int):System.String (FullOpts)
          -4 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParser:.cctor() (FullOpts)
          -8 (-6.67 % of base) : System.Reflection.DispatchProxy.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : System.Diagnostics.Process.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : System.Reflection.Metadata.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : System.DirectoryServices.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -8 (-6.67 % of base) : Microsoft.Win32.Registry.AccessControl.dasm - System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          -4 (-5.88 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataStringDecoder:.cctor() (FullOpts)
          -4 (-5.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedSignatureTreatment(int):ubyte (FullOpts)
          -4 (-5.56 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeNameParserHelpers:.cctor() (FullOpts)
          -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedAssemblyRef(int):System.Reflection.Metadata.AssemblyReferenceHandle (FullOpts)
          -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedName(int):System.Reflection.Metadata.StringHandle (FullOpts)
          -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectedNamespace(int):System.Reflection.Metadata.StringHandle (FullOpts)
          -4 (-5.26 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:Dispose():this (FullOpts)
          -4 (-5.26 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:Dispose():this (FullOpts)
          -8 (-5.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PathUtilities:get_PlatformSpecificDirectorySeparator():System.String (FullOpts)
          -4 (-4.55 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:.cctor() (FullOpts)
          -4 (-4.35 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:Free():this (FullOpts)
         -12 (-4.29 % of base) : Markdig.dasm - Markdig.Helpers.StringLineGroup:.cctor() (FullOpts)
         -12 (-4.23 % of base) : Markdig.dasm - Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this (FullOpts)
          -8 (-4.17 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          -4 (-4.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyReference:get_Version():System.Version:this (FullOpts)
          -4 (-4.00 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Internal.MemoryBlock:PeekUtf8(int,int):System.String:this (FullOpts)
          -4 (-3.70 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeReference:GetProjectedSignatureTreatment():ubyte:this (FullOpts)
          -4 (-3.70 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:.ctor(int):this (FullOpts)
          -4 (-3.33 % of base) : Markdig.dasm - Markdig.MarkdownExtensions:DisableHeadings(Markdig.MarkdownPipelineBuilder):Markdig.MarkdownPipelineBuilder (FullOpts)
          -4 (-3.33 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeReference:get_SignatureTreatment():ubyte:this (FullOpts)
         -32 (-3.19 % of base) : System.Diagnostics.Process.dasm - Interop+ErrorInfo:ToString():System.String:this (FullOpts)
          -4 (-3.12 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:.ctor(int,ubyte,ubyte,System.DateTime):this (FullOpts)
          -4 (-3.12 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.PooledBlobBuilder:AllocateChunk(int):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -4 (-3.03 % of base) : Markdig.dasm - Markdig.Helpers.CompactPrefixTree`1[System.Nullable`1[int]]:.cctor() (FullOpts)
          -8 (-2.94 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:TryCopyTo(System.Span`1[ushort],byref):ubyte:this (FullOpts)
         -12 (-2.86 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:GetImportManyDescriptor[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise (FullOpts)
          -8 (-2.86 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:WaitForExitCore(int):ubyte:this (FullOpts)
          -4 (-2.86 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeReference:GetProjectedNamespace():System.Reflection.Metadata.StringHandle:this (FullOpts)
         -20 (-2.78 % of base) : System.Net.NameResolution.dasm - System.Net.NameResolutionMetrics:.cctor() (FullOpts)
          -4 (-2.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReaderProvider:CanReuseReader(System.Reflection.Metadata.MetadataReader,int,System.Reflection.Metadata.MetadataStringDecoder):ubyte (FullOpts)
          -4 (-2.78 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this (FullOpts)
          -8 (-2.70 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:WaitForExit():this (FullOpts)
          -4 (-2.70 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.BlobReader:ReadUTF8(int):System.String:this (FullOpts)
          -4 (-2.70 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueUtf8Converter:Dispose():this (FullOpts)
          -4 (-2.63 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.DependencyInjection.HttpClientMappingRegistry:.ctor():this (FullOpts)
          -4 (-2.63 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.MetadataRootBuilder:.cctor() (FullOpts)
         -16 (-2.56 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessManager:GetModules(int):System.Diagnostics.ProcessModuleCollection (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[short]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -8 (-2.50 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[ubyte]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          -4 (-2.50 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessInfo:.ctor():this (FullOpts)
          -4 (-2.50 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEBinaryReader:.ctor(System.IO.Stream,int):this (FullOpts)
          -8 (-2.44 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:OnExited():this (FullOpts)
          -8 (-2.44 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:.ctor(System.Reflection.Internal.MemoryBlock,int):this (FullOpts)
          -8 (-2.38 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:OnSigChild(int,int):int (FullOpts)
          -4 (-2.38 % of base) : System.Reflection.Metadata.dasm - System.Reflection.PortableExecutable.PEMemoryBlock:GetContent():System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts)
         -12 (-2.38 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueUtf8Converter:ConvertAndTerminateString(System.ReadOnlySpan`1[ushort]):System.Span`1[ubyte]:this (FullOpts)
          -8 (-2.35 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:DelayedSigChildConsoleConfiguration() (FullOpts)
          -8 (-2.30 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.ProcessWaitState:ReleaseRef():this (FullOpts)
          -4 (-2.27 % of base) : System.Diagnostics.Process.dasm - System.Text.ValueStringBuilder:ToString():System.String:this (FullOpts)
          -4 (-2.27 % of base) : System.Reflection.Metadata.dasm - System.Text.ValueStringBuilder:ToString():System.String:this (FullOpts)
          -4 (-2.22 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache[double]:.cctor() (FullOpts)
          -4 (-2.22 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache[int]:.cctor() (FullOpts)
          -4 (-2.22 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache[short]:.cctor() (FullOpts)
          -4 (-2.22 % of base) : Microsoft.Extensions.Http.dasm - Microsoft.Extensions.Http.DefaultTypedHttpClientFactory`1+Cache[ubyte]:.cctor() (FullOpts)
          -4 (-2.22 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[int]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          -4 (-2.22 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[System.Nullable`1[int]]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          -4 (-2.22 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[System.Numerics.Vector`1[float]]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
          -4 (-2.22 % of base) : System.Composition.Hosting.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_2`1[ubyte]:<GetExportFactoryDescriptors>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this (FullOpts)
         -12 (-2.21 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobBytes(System.Reflection.Metadata.BlobHandle):ubyte[]:this (FullOpts)
         -12 (-2.21 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetBlobContent(System.Reflection.Metadata.BlobHandle):System.Collections.Immutable.ImmutableArray`1[ubyte]:this (FullOpts)
          -4 (-2.17 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.AssemblyNameInfo:.ctor(System.Reflection.AssemblyNameParser+AssemblyNameParts):this (FullOpts)
         -12 (-2.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.BlobHeap:GetBytes(System.Reflection.Metadata.BlobHandle):ubyte[]:this (FullOpts)
          -4 (-2.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.Ecma335.ControlFlowBuilder:.ctor():this (FullOpts)
         -12 (-2.13 % of base) : System.Reflection.Metadata.dasm - System.Reflection.Metadata.MetadataReader:GetProjectionIndexForTypeReference(System.Reflection.Metadata.TypeReferenceHandle,byref):int:this (FullOpts)

365 total methods with Code Size differences (316 improved, 49 regressed), 240778 unchanged.

--------------------------------------------------------------------------------

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 25, 2025

Top method regressions

36 (3.90 % of base) - Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 30, 24   )     ref  ->  [fp+0x18]  this class-hnd EH-live single-def <Microsoft.VisualBasic.CompilerServices.VB6RandomFile>
-;  V01 loc0         [V01,T08] (  6,  4   )     int  ->  [fp+0x24]  do-not-enreg[M] EH-live
+;  V00 this         [V00,T00] ( 30, 24   )     ref  ->  [fp+0x10]  this class-hnd EH-live single-def <Microsoft.VisualBasic.CompilerServices.VB6RandomFile>
+;  V01 loc0         [V01,T08] (  6,  4   )     int  ->  [fp+0x1C]  do-not-enreg[M] EH-live
 ;  V02 loc1         [V02,T06] (  5,  5   )     ref  ->  x19         class-hnd single-def <System.IO.FileStream>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.StackOverflowException>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.OutOfMemoryException>
 ;* V05 loc4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.StackOverflowException>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.OutOfMemoryException>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T01] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
 ;  V09 tmp2         [V09,T02] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-;  V10 tmp3         [V10,T03] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryReader>
+;  V10 tmp3         [V10,T03] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryReader>
 ;  V11 tmp4         [V11,T04] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Exception>
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Exception>
-;  V14 tmp7         [V14,T11] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
-;  V15 tmp8         [V15,T12] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
-;  V16 tmp9         [V16,T13] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
-;  V17 tmp10        [V17,T14] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
+;  V14 tmp7         [V14,T12] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
+;  V15 tmp8         [V15,T13] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
+;  V16 tmp9         [V16,T14] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
+;  V17 tmp10        [V17,T15] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Text.Encoding>
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Text.Encoding>
 ;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Text.Encoding>
 ;* V21 tmp14        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Text.Encoding>
 ;  V22 tmp15        [V22,T05] (  3,  6   )     ref  ->   x2         single-def "argument with side effect"
 ;  V23 cse0         [V23,T09] (  3,  3   )     int  ->   x1         "CSE #02: aggressive"
 ;  V24 cse1         [V24,T10] (  3,  3   )     int  ->   x1         "CSE #04: aggressive"
 ;  V25 cse2         [V25,T07] (  5,  5   )     int  ->   x2         multi-def "CSE #01: aggressive"
-;  V26 rat0         [V26    ] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V26 cse3         [V26,T11] (  3,  3   )    long  ->  x20         "CSE #05: aggressive"
+;  V27 rat0         [V27    ] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M12809_IG01:
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x30]
+            stp     x19, x20, [sp, #0x28]
+            str     x21, [sp, #0x38]
             mov     fp, sp
             add     x1, sp, #64
-            str     x1, [fp, #0x28]	// [V26 rat0]
-            str     x0, [fp, #0x18]	// [V00 this]
-						;; size=24 bbWeight=1 PerfScore 5.00
+            str     x1, [fp, #0x20]	// [V27 rat0]
+            str     x0, [fp, #0x10]	// [V00 this]
+						;; size=28 bbWeight=1 PerfScore 6.00
 G_M12809_IG02:
             ldr     x0, [x0, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.IO.File:Exists(System.String):ubyte
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M12809_IG03
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     w2, [x0, #0x60]
             mov     w1, #2
             mov     w3, #4
             cmp     w2, #1
             csel    w2, w1, w3, ne
-            str     w2, [fp, #0x24]	// [V01 loc0]
+            str     w2, [fp, #0x1C]	// [V01 loc0]
             b       G_M12809_IG04
 						;; size=60 bbWeight=1 PerfScore 18.50
 G_M12809_IG03:
             mov     w2, #3
-            str     w2, [fp, #0x24]	// [V01 loc0]
+            str     w2, [fp, #0x1C]	// [V01 loc0]
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M12809_IG04:
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     w2, [x0, #0x60]
             cmn     w2, #1
             beq     G_M12809_IG05
-            ldr     w1, [fp, #0x24]	// [V01 loc0]
+            ldr     w1, [fp, #0x1C]	// [V01 loc0]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFileHelper(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M12809_IG07
 						;; size=44 bbWeight=1 PerfScore 15.00
 G_M12809_IG05:
             mov     w2, #3
             str     w2, [x0, #0x60]
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M12809_IG06:
             ldr     w2, [x0, #0x60]
-            ldr     w1, [fp, #0x24]	// [V01 loc0]
+            ldr     w1, [fp, #0x1C]	// [V01 loc0]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFileHelper(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
 						;; size=28 bbWeight=1 PerfScore 10.50
 G_M12809_IG07:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M12809_IG13
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M12809_IG08:
             movz    x14, #0xD1FFAB1E      // data for System.Text.Encoding:s_defaultEncoding
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             add     x14, x0, #56
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x19, [x0, #0x10]
             ldr     w1, [x0, #0x60]
             cmp     w1, #2
             beq     G_M12809_IG09
             cmp     w1, #3
             bne     G_M12809_IG10
 						;; size=52 bbWeight=1 PerfScore 17.00
 G_M12809_IG09:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     x2, [x0, #0x38]
             mov     x0, x20
             mov     x1, x19
             mov     w3, #0xD1FFAB1E
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             add     x14, x0, #24
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x2, [x0, #0x18]
             mov     x0, x2
             mov     w1, #1
             ldr     x2, [x2]
             ldr     x2, [x2, #0x80]
             ldr     x2, [x2, #0x28]
             blr     x2
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     x2, [x0, #0x38]
             mov     x0, x20
             mov     x1, x19
             mov     w3, wzr
             movz    x4, #0xD1FFAB1E      // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             add     x14, x0, #40
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=184 bbWeight=1 PerfScore 52.50
 G_M12809_IG10:
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     w1, [x0, #0x60]
             cmp     w1, #1
             beq     G_M12809_IG11
             cmp     w1, #3
             bne     G_M12809_IG12
 						;; size=24 bbWeight=1 PerfScore 8.00
 G_M12809_IG11:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            movz    x20, #0xD1FFAB1E
+            movk    x20, #0xD1FFAB1E LSL #16
+            movk    x20, #0xD1FFAB1E LSL #32
+            add     x0, x20, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            mov     x21, x0
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     x2, [x0, #0x38]
-            mov     x0, x20
+            mov     x0, x21
             mov     x1, x19
             mov     w3, wzr
             movz    x4, #0xD1FFAB1E      // code for System.IO.BinaryReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             add     x14, x0, #48
-            mov     x15, x20
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x1, [x0]
             ldr     x1, [x1, #0x50]
             ldr     x1, [x1, #0x28]
             blr     x1
             cmp     w0, #32
             bne     G_M12809_IG12
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             ldr     x2, [x0, #0x38]
             mov     x0, x20
             mov     x1, x19
             mov     w3, wzr
             mov     w4, #128
             mov     w5, wzr
             movz    x6, #0xD1FFAB1E      // code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             add     x14, x0, #32
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=184 bbWeight=1 PerfScore 50.50
+						;; size=180 bbWeight=1 PerfScore 50.00
 G_M12809_IG12:
-            ldp     x19, x20, [sp, #0x30]
+            ldr     x21, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x40
             ret     lr
-						;; size=12 bbWeight=1 PerfScore 3.00
+						;; size=16 bbWeight=1 PerfScore 5.00
 G_M12809_IG13:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M12809_IG08
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M12809_IG14:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG15:
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M12809_IG16:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG17:
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M12809_IG18:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG19:
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M12809_IG20:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG21:
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M12809_IG22:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG23:
             mov     w2, #1
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             str     w2, [x0, #0x60]
             ldr     w2, [x0, #0x60]
-            ldr     w1, [fp, #0x24]	// [V01 loc0]
+            ldr     w1, [fp, #0x1C]	// [V01 loc0]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFileHelper(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             adr     x0, [G_M12809_IG28]
 						;; size=44 bbWeight=0 PerfScore 0.00
 G_M12809_IG24:
-            ldp     x19, x20, [sp, #0x20]
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=12 bbWeight=0 PerfScore 0.00
+						;; size=16 bbWeight=0 PerfScore 0.00
 G_M12809_IG25:
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
+            stp     x19, x20, [sp, #0x18]
+            str     x21, [sp, #0x28]
             add     x3, fp, #64
-            str     x3, [sp, #0x18]
-						;; size=16 bbWeight=0 PerfScore 0.00
+            str     x3, [sp, #0x10]
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M12809_IG26:
             mov     w2, #2
-            ldr     x0, [fp, #0x18]	// [V00 this]
+            ldr     x0, [fp, #0x10]	// [V00 this]
             str     w2, [x0, #0x60]
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M12809_IG27:
             ldr     w2, [x0, #0x60]
-            ldr     w1, [fp, #0x24]	// [V01 loc0]
+            ldr     w1, [fp, #0x1C]	// [V01 loc0]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFileHelper(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M12809_IG28:
             adr     x0, [G_M12809_IG07]
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M12809_IG29:
-            ldp     x19, x20, [sp, #0x20]
+            ldr     x21, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=12 bbWeight=0 PerfScore 0.00
+						;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 924, prolog size 24, PerfScore 188.50, instruction count 231, allocated bytes for code 924 (MethodHash=6330cdf6) for method Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this (FullOpts)
+; Total bytes of code 960, prolog size 28, PerfScore 191.00, instruction count 240, allocated bytes for code 960 (MethodHash=6330cdf6) for method Microsoft.VisualBasic.CompilerServices.VB6RandomFile:OpenFile():this (FullOpts)
 ; ============================================================
32 (2.12 % of base) - Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String
 ; Assembly listing for method Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 11 single block inlinees; 17 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  5,  5   )     ref  ->  x19         class-hnd single-def <System.Uri>
+;  V00 arg0         [V00,T02] (  5,  5   )     ref  ->  x19         class-hnd single-def <System.Uri>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;  V05 loc4         [V05    ] ( 22, 11   )  struct (40) [fp+0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T00] (  5, 10   )     ref  ->  x19         class-hnd exact single-def "dup spill" <System.String[]>
 ;  V08 tmp2         [V08,T33] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;  V09 tmp3         [V09,T08] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V09 tmp3         [V09,T07] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V10 tmp4         [V10    ] (  2,  4   )  ushort  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V12 tmp6         [V12,T04] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
+;  V12 tmp6         [V12,T03] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
 ;  V13 tmp7         [V13    ] (  2,  1   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V14 tmp8         [V14,T16] (  6,  2.50)     ref  ->  x22         class-hnd "Inline return value spill temp" <System.String>
 ;  V15 tmp9         [V15,T12] (  4,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.String]>
-;  V16 tmp10        [V16,T05] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
+;  V16 tmp10        [V16,T04] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
 ;  V17 tmp11        [V17    ] (  2,  1   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V18 tmp12        [V18,T18] (  4,  2   )     ref  ->  x23         class-hnd "Inline return value spill temp" <System.String>
 ;  V19 tmp13        [V19,T13] (  4,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.String]>
-;  V20 tmp14        [V20,T06] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
+;  V20 tmp14        [V20,T05] (  4,  7   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
 ;  V21 tmp15        [V21    ] (  2,  1   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V22 tmp16        [V22,T17] (  6,  2   )     ref  ->  x24         class-hnd "Inline return value spill temp" <System.String>
 ;  V23 tmp17        [V23,T14] (  4,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.String]>
-;  V24 tmp18        [V24,T07] (  4,  7   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
+;  V24 tmp18        [V24,T06] (  4,  7   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <System.Collections.Generic.IEnumerable`1[System.__Canon]>
 ;  V25 tmp19        [V25    ] (  2,  1   )   ubyte  ->  [fp+0x10]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V26 tmp20        [V26,T19] (  4,  2   )     ref  ->  x21         class-hnd "Inline return value spill temp" <System.String>
+;  V26 tmp20        [V26,T19] (  4,  2   )     ref  ->  x20         class-hnd "Inline return value spill temp" <System.String>
 ;  V27 tmp21        [V27,T15] (  4,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <System.Linq.Enumerable+Iterator`1[System.String]>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V29 tmp23        [V29    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
 ;* V31 tmp25        [V31    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V32 tmp26        [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V33 tmp27        [V33,T09] (  4,  4   )     int  ->   x0         "Inlining Arg"
 ;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V35 tmp29        [V35,T02] (  7,  7   )   byref  ->  x19         single-def "Inlining Arg"
+;  V35 tmp29        [V35,T01] (  7,  7   )   byref  ->  x19         single-def "Inlining Arg"
 ;  V36 tmp30        [V36,T22] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V37 tmp31        [V37,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V38 tmp32        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V39 tmp33        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V40 tmp34        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V41 tmp35        [V41    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V42 tmp36        [V42,T10] (  4,  4   )     int  ->   x0         "Inlining Arg"
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V44 tmp38        [V44,T20] (  2,  2   )   byref  ->  x19         single-def "Inlining Arg"
 ;  V45 tmp39        [V45,T23] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V46 tmp40        [V46,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V47 tmp41        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V48 tmp42        [V48    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp43        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V50 tmp44        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V51 tmp45        [V51,T11] (  4,  4   )     int  ->   x0         "Inlining Arg"
 ;* V52 tmp46        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V53 tmp47        [V53,T21] (  2,  2   )   byref  ->  x19         single-def "Inlining Arg"
 ;  V54 tmp48        [V54,T24] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V55 tmp49        [V55,T32] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V56 tmp50        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V57 tmp51        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp52        [V58    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp53        [V59,T28] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V60 tmp54        [V60,T29] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V61 tmp55        [V61    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp56        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V63 tmp57        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp58        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V65 tmp59        [V65    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V66 tmp60        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp61        [V67    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp62        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V69 tmp63        [V69    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp64        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V71 tmp65        [V71    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp66        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V73 tmp67        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V50._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp68        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
 ;* V75 tmp69        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V52._reference (fldOffset=0x0)" P-INDEP
 ;* V76 tmp70        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V52._length (fldOffset=0x8)" P-INDEP
 ;* V77 tmp71        [V77    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V78 tmp72        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;  V79 tmp73        [V79,T34] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
-;  V80 cse0         [V80,T01] (  9,  7   )    long  ->  x20         "CSE #01: aggressive"
-;  V81 cse1         [V81,T25] (  3,  1.50)     int  ->   x1         "CSE #02: moderate"
-;  V82 cse2         [V82,T26] (  3,  1.50)     int  ->   x1         "CSE #04: moderate"
-;  V83 cse3         [V83,T27] (  3,  1.50)     int  ->   x1         "CSE #06: moderate"
+;  V80 cse0         [V80,T08] (  5,  5   )    long  ->  x20         "CSE #01: aggressive"
+;  V81 cse1         [V81,T25] (  3,  1.50)     int  ->   x1         "CSE #03: moderate"
+;  V82 cse2         [V82,T26] (  3,  1.50)     int  ->   x1         "CSE #05: moderate"
+;  V83 cse3         [V83,T27] (  3,  1.50)     int  ->   x1         "CSE #07: moderate"
 ;
 ; Lcl frame size = 80
 
 G_M45571_IG01:
             stp     fp, lr, [sp, #-0x90]!
             stp     x19, x20, [sp, #0x60]
             stp     x21, x22, [sp, #0x70]
             stp     x23, x24, [sp, #0x80]
             mov     fp, sp
             add     x9, fp, #56
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             str     xzr, [x9, #0x20]
             mov     x19, x0
 						;; size=40 bbWeight=1 PerfScore 8.00
 G_M45571_IG02:
             ldrsb   wzr, [x19]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.Uri:get_DisablePathAndQueryCanonicalization():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M45571_IG32
             mov     x0, x19
             mov     w1, #16
             mov     w2, #2
             movz    x3, #0xD1FFAB1E      // code for System.Uri:InternalGetComponents(int,int):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     w1, #47
             strh    w1, [fp, #0x34]	// [V10 tmp4]
             ldrsb   wzr, [x0]
             add     x1, fp, #52	// [V10 tmp4]
             mov     w2, #1
             movn    w3, #0xD1FFAB1E LSL #16
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for System.String:SplitInternal(System.ReadOnlySpan`1[ushort],int,int):System.String[]:this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             mov     x19, x0
             mov     x1, x19
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
-            add     x0, x20, #0xD1FFAB1E
+            mov     x0, x20
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x21, x0
             cbz     x21, G_M45571_IG31
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M45571_IG04
 						;; size=208 bbWeight=1 PerfScore 48.00
 G_M45571_IG03:
             add     x1, fp, #40	// [V13 tmp7]
             ldr     x2, [x0]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x10]
             blr     x2
             mov     x22, x0
             b       G_M45571_IG05
 						;; size=28 bbWeight=0.50 PerfScore 6.00
 G_M45571_IG04:
             add     x2, fp, #40	// [V13 tmp7]
             mov     x1, x21
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:TryGetFirstNonIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x22, x0
-						;; size=36 bbWeight=0.50 PerfScore 3.75
+						;; size=44 bbWeight=0.50 PerfScore 4.25
 G_M45571_IG05:
             mov     x1, x19
-            add     x0, x20, #0xD1FFAB1E
+            mov     x0, x20
             mov     w2, #1
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x21, x0
             cbz     x21, G_M45571_IG31
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M45571_IG07
 						;; size=80 bbWeight=1 PerfScore 17.00
 G_M45571_IG06:
             add     x1, fp, #32	// [V17 tmp11]
             ldr     x2, [x0]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x10]
             blr     x2
             mov     x23, x0
             b       G_M45571_IG08
 						;; size=28 bbWeight=0.50 PerfScore 6.00
 G_M45571_IG07:
             add     x2, fp, #32	// [V17 tmp11]
             mov     x1, x21
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:TryGetFirstNonIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x23, x0
-						;; size=36 bbWeight=0.50 PerfScore 3.75
+						;; size=44 bbWeight=0.50 PerfScore 4.25
 G_M45571_IG08:
             mov     x1, x19
-            add     x0, x20, #0xD1FFAB1E
+            mov     x0, x20
             mov     w2, #2
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x21, x0
             cbz     x21, G_M45571_IG31
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M45571_IG10
 						;; size=80 bbWeight=1 PerfScore 17.00
 G_M45571_IG09:
             add     x1, fp, #24	// [V21 tmp15]
             ldr     x2, [x0]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x10]
             blr     x2
             mov     x24, x0
             b       G_M45571_IG11
 						;; size=28 bbWeight=0.50 PerfScore 6.00
 G_M45571_IG10:
             add     x2, fp, #24	// [V21 tmp15]
             mov     x1, x21
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:TryGetFirstNonIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x24, x0
-						;; size=36 bbWeight=0.50 PerfScore 3.75
+						;; size=44 bbWeight=0.50 PerfScore 4.25
 G_M45571_IG11:
             mov     x1, x19
-            add     x0, x20, #0xD1FFAB1E
+            mov     x0, x20
             mov     w2, #3
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:Skip[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],int):System.Collections.Generic.IEnumerable`1[System.__Canon]
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x19, x0
             cbz     x19, G_M45571_IG31
             mov     x1, x19
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M45571_IG13
 						;; size=80 bbWeight=1 PerfScore 17.00
 G_M45571_IG12:
             add     x1, fp, #16	// [V25 tmp19]
             ldr     x2, [x0]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x10]
             blr     x2
-            mov     x21, x0
+            mov     x20, x0
             b       G_M45571_IG14
 						;; size=28 bbWeight=0.50 PerfScore 6.00
 G_M45571_IG13:
             add     x2, fp, #16	// [V25 tmp19]
             mov     x1, x19
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Linq.Enumerable:TryGetFirstNonIterator[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):System.__Canon
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            mov     x21, x0
-						;; size=36 bbWeight=0.50 PerfScore 3.75
+            mov     x20, x0
+						;; size=44 bbWeight=0.50 PerfScore 4.25
 G_M45571_IG14:
             cbz     x22, G_M45571_IG29
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M45571_IG15:
             ldr     w0, [x22, #0x08]
             cmp     w0, #5
             bne     G_M45571_IG29
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M45571_IG16:
             ldr     x0, [x22, #0x0C]
             movz    x1, #97
             movk    x1, #108 LSL #16
             movk    x1, #98 LSL #32
             movk    x1, #117 LSL #48
             eor     x0, x0, x1
             ldrh    w1, [x22, #0x14]
             mov     w2, #109
             eor     w1, w1, w2
             mov     w1, w1
             orr     x0, x0, x1
             cbnz    x0, G_M45571_IG29
 						;; size=48 bbWeight=0.12 PerfScore 1.44
 G_M45571_IG17:
             cbz     x23, G_M45571_IG29
             cbz     x24, G_M45571_IG29
 						;; size=8 bbWeight=0.50 PerfScore 1.00
 G_M45571_IG18:
             ldr     w0, [x24, #0x08]
             cmp     w0, #5
             bne     G_M45571_IG29
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M45571_IG19:
             ldr     x0, [x24, #0x0C]
             movz    x1, #116
             movk    x1, #114 LSL #16
             movk    x1, #97 LSL #32
             movk    x1, #99 LSL #48
             eor     x0, x0, x1
             ldrh    w1, [x24, #0x14]
             mov     w2, #107
             eor     w1, w1, w2
             mov     w1, w1
             orr     x0, x0, x1
             cbnz    x0, G_M45571_IG29
 						;; size=48 bbWeight=0.12 PerfScore 1.44
 G_M45571_IG20:
-            cbz     x21, G_M45571_IG29
+            cbz     x20, G_M45571_IG29
             add     x0, fp, #56	// [V05 loc4]
             mov     w1, #40
             mov     w2, #2
             movz    x3, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             ldr     w1, [fp, #0x58]	// [V05 loc4+0x20]
             cmp     w0, w1
             bhi     G_M45571_IG28
             ldr     x2, [fp, #0x50]	// [V05 loc4+0x18]
             ubfiz   x3, x0, #1, #32
             add     x19, x2, x3
             sub     w0, w1, w0
             cmp     w0, #38
             bhs     G_M45571_IG21
             add     x0, fp, #56	// [V05 loc4]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M45571_IG22
 						;; size=116 bbWeight=0.50 PerfScore 13.75
 G_M45571_IG21:
             ldr     q16, [@RWD00]
             ldr     q17, [@RWD16]
             stp     q16, q17, [x19]
             ldr     q16, [@RWD32]
             ldr     q17, [@RWD48]
             stp     q16, q17, [x19, #0x20]
             movz    x0, #116
             movk    x0, #114 LSL #16
             movk    x0, #97 LSL #32
             movk    x0, #99 LSL #48
             str     x0, [x19, #0x40]
             movz    w0, #107
             movk    w0, #47 LSL #16
             str     w0, [x19, #0x48]
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             add     w0, w0, #38
             str     w0, [fp, #0x48]	// [V05 loc4+0x10]
 						;; size=68 bbWeight=0.50 PerfScore 9.25
 G_M45571_IG22:
             add     x0, fp, #56	// [V05 loc4]
-            mov     x1, x21
+            mov     x1, x20
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             ldr     w1, [fp, #0x58]	// [V05 loc4+0x20]
             cmp     w0, w1
             bhi     G_M45571_IG28
             ldr     x2, [fp, #0x50]	// [V05 loc4+0x18]
             ubfiz   x3, x0, #1, #32
             add     x19, x2, x3
             sub     w0, w1, w0
             cbnz    w0, G_M45571_IG23
             add     x0, fp, #56	// [V05 loc4]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M45571_IG24
 						;; size=104 bbWeight=0.50 PerfScore 12.75
 G_M45571_IG23:
             mov     w0, #47
             strh    w0, [x19]
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             add     w0, w0, #1
             str     w0, [fp, #0x48]	// [V05 loc4+0x10]
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M45571_IG24:
             add     x0, fp, #56	// [V05 loc4]
             mov     x1, x23
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             ldr     w1, [fp, #0x58]	// [V05 loc4+0x20]
             cmp     w0, w1
             bhi     G_M45571_IG28
             ldr     x2, [fp, #0x50]	// [V05 loc4+0x18]
             ubfiz   x3, x0, #1, #32
             add     x19, x2, x3
             sub     w0, w1, w0
             cbnz    w0, G_M45571_IG25
             add     x0, fp, #56	// [V05 loc4]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M45571_IG26
 						;; size=104 bbWeight=0.50 PerfScore 12.75
 G_M45571_IG25:
             mov     w0, #47
             strh    w0, [x19]
             ldr     w0, [fp, #0x48]	// [V05 loc4+0x10]
             add     w0, w0, #1
             str     w0, [fp, #0x48]	// [V05 loc4+0x10]
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M45571_IG26:
             add     x0, fp, #56	// [V05 loc4]
             movz    x1, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M45571_IG27:
             ldp     x23, x24, [sp, #0x80]
             ldp     x21, x22, [sp, #0x70]
             ldp     x19, x20, [sp, #0x60]
             ldp     fp, lr, [sp], #0x90
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M45571_IG28:
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk     #0
 						;; size=24 bbWeight=0.50 PerfScore 3.25
 G_M45571_IG29:
             mov     x0, xzr
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M45571_IG30:
             ldp     x23, x24, [sp, #0x80]
             ldp     x21, x22, [sp, #0x70]
             ldp     x19, x20, [sp, #0x60]
             ldp     fp, lr, [sp], #0x90
             ret     lr
 						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M45571_IG31:
             mov     w0, #17
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk     #0
 						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M45571_IG32:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_net_uri_GetComponentsCalledWhenCanonicalizationDisabled():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.InvalidOperationException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk     #0
 						;; size=80 bbWeight=0 PerfScore 0.00
 RWD00  	dq	0070007400740068h, 002F002F003A0073h
 RWD16  	dq	006900730075006Dh, 00610079002E0063h
 RWD32  	dq	007800650064006Eh, 002F00750072002Eh
 RWD48  	dq	0061007200660069h, 0023002F0065006Dh
 
 
-; Total bytes of code 1508, prolog size 36, PerfScore 221.62, instruction count 377, allocated bytes for code 1508 (MethodHash=75554dfc) for method Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String (FullOpts)
+; Total bytes of code 1540, prolog size 36, PerfScore 223.62, instruction count 385, allocated bytes for code 1540 (MethodHash=75554dfc) for method Markdig.Extensions.MediaLinks.HostProviderBuilder:Yandex(System.Uri):System.String (FullOpts)
 ; ============================================================
12 (4.41 % of base) - Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this
 ; Assembly listing for method Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T01] (  6,  6   )     ref  ->  x19         this class-hnd single-def <Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]>
-;  V01 arg1         [V01,T06] (  3,  3   )     int  ->  x20         single-def
-;  V02 arg2         [V02,T07] (  3,  3   )     int  ->  x21         single-def
-;  V03 arg3         [V03,T08] (  3,  3   )     int  ->  x22         single-def
-;  V04 arg4         [V04,T09] (  3,  3   )     int  ->  x23         single-def
+;  V00 this         [V00,T00] (  6,  6   )     ref  ->  x19         this class-hnd single-def <Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]>
+;  V01 arg1         [V01,T07] (  3,  3   )     int  ->  x20         single-def
+;  V02 arg2         [V02,T08] (  3,  3   )     int  ->  x21         single-def
+;  V03 arg3         [V03,T09] (  3,  3   )     int  ->  x22         single-def
+;  V04 arg4         [V04,T10] (  3,  3   )     int  ->  x23         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T02] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
-;  V07 tmp2         [V07,T03] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
-;  V08 tmp3         [V08,T04] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
-;  V09 tmp4         [V09,T05] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
-;  V10 tmp5         [V10,T10] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
-;  V11 tmp6         [V11,T11] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
-;  V12 tmp7         [V12,T12] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
-;  V13 tmp8         [V13,T13] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
-;  V14 cse0         [V14,T00] (  9,  9   )    long  ->  x24         "CSE #01: aggressive"
+;  V06 tmp1         [V06,T01] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
+;  V07 tmp2         [V07,T02] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
+;  V08 tmp3         [V08,T03] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
+;  V09 tmp4         [V09,T04] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[System.Numerics.Vector`1[float]]>
+;  V10 tmp5         [V10,T11] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
+;  V11 tmp6         [V11,T12] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
+;  V12 tmp7         [V12,T13] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
+;  V13 tmp8         [V13,T14] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <System.Numerics.Vector`1[float][][]>
+;  V14 cse0         [V14,T05] (  5,  5   )    long  ->  x24         "CSE #01: aggressive"
+;  V15 cse1         [V15,T06] (  5,  5   )    long  ->  x20         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M2333_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             mov     fp, sp
             mov     x19, x0
             mov     w20, w1
             mov     w21, w2
             mov     w22, w3
             mov     w23, w4
 						;; size=44 bbWeight=1 PerfScore 8.00
 G_M2333_IG02:
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             sxtw    x1, w20
-            add     x0, x24, #0xD1FFAB1E
+            movz    x20, #0xD1FFAB1E
+            movk    x20, #0xD1FFAB1E LSL #16
+            movk    x20, #0xD1FFAB1E LSL #32
+            mov     x0, x20
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
             add     x14, x25, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #8
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
+            mov     x25, x0
             sxtw    x1, w21
-            add     x0, x24, #0xD1FFAB1E
+            mov     x0, x20
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x20, #8
+            add     x14, x25, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
-            mov     x15, x20
+            mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
+            mov     x21, x0
             sxtw    x1, w22
-            add     x0, x24, #0xD1FFAB1E
+            mov     x0, x20
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x20, #8
+            add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #24
-            mov     x15, x20
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
+            mov     x21, x0
             sxtw    x1, w23
-            add     x0, x24, #0xD1FFAB1E
+            mov     x0, x20
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x20, #8
+            add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #32
-            mov     x15, x20
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=204 bbWeight=1 PerfScore 33.50
+						;; size=216 bbWeight=1 PerfScore 35.00
 G_M2333_IG03:
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 
-; Total bytes of code 272, prolog size 24, PerfScore 48.50, instruction count 68, allocated bytes for code 272 (MethodHash=0acef6e2) for method Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this (FullOpts)
+; Total bytes of code 284, prolog size 24, PerfScore 50.00, instruction count 71, allocated bytes for code 284 (MethodHash=0acef6e2) for method Markdig.Helpers.CustomArrayPool`1[System.Numerics.Vector`1[float]]:.ctor(int,int,int,int):this (FullOpts)
 ; ============================================================

Larger list of diffs: https://gist.github.com/MihuBot/493541bed3a4ca3ef743235dc413ed11

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 25, 2025

Top method improvements

-32 (-3.19 % of base) - Interop+ErrorInfo:ToString():System.String:this
 ; Assembly listing for method Interop+ErrorInfo:ToString():System.String:this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 16 single block inlinees; 22 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 11,  8   )   byref  ->  [fp+0x18]  this single-def
-;  V01 loc0         [V01    ] ( 38, 30   )  struct (40) [fp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V00 this         [V00,T00] ( 11,  8   )   byref  ->  [fp+0x10]  this single-def
+;  V01 loc0         [V01    ] ( 37, 29.50)  struct (40) [fp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
 ;  V04 tmp2         [V04,T01] (  5,  8   )     ref  ->   x0         class-hnd single-def "dup spill" <ushort[]>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <ushort[]>
 ;* V06 tmp4         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V08 tmp6         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V09 tmp7         [V09,T02] (  4,  8   )     int  ->   x0         "Inlining Arg"
 ;* V10 tmp8         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V11 tmp9         [V11,T09] (  3,  4   )   byref  ->  x21         single-def "Inlining Arg"
+;  V11 tmp9         [V11,T09] (  3,  4   )   byref  ->  x20         single-def "Inlining Arg"
 ;  V12 tmp10        [V12,T11] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;* V13 tmp11        [V13,T32] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V14 tmp12        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V15 tmp13        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp14        [V16    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V17 tmp15        [V17,T24] (  3,  2   )     int  ->  registers   "Inline return value spill temp"
+;  V17 tmp15        [V17,T23] (  3,  2   )     int  ->  registers   "Inline return value spill temp"
 ;  V18 tmp16        [V18,T14] (  3,  3   )     int  ->  x19         "dup spill"
 ;* V19 tmp17        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V20 tmp18        [V20    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V21 tmp19        [V21,T03] (  4,  8   )     int  ->   x0         "Inlining Arg"
 ;* V22 tmp20        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V23 tmp21        [V23,T19] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
+;  V23 tmp21        [V23,T19] (  2,  3   )   byref  ->  x20         single-def "Inlining Arg"
 ;  V24 tmp22        [V24,T12] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;* V25 tmp23        [V25,T33] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V26 tmp24        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V27 tmp25        [V27    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp26        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp27        [V29    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V30 tmp28        [V30,T04] (  4,  8   )     int  ->   x0         "Inlining Arg"
 ;* V31 tmp29        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V32 tmp30        [V32,T07] (  4,  5   )   byref  ->  x21         single-def "Inlining Arg"
+;  V32 tmp30        [V32,T07] (  4,  5   )   byref  ->  x20         single-def "Inlining Arg"
 ;  V33 tmp31        [V33,T13] (  2,  4   )     int  ->   x0         "Inlining Arg"
 ;* V34 tmp32        [V34,T34] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V35 tmp33        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V36 tmp34        [V36    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp35        [V37    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V38 tmp36        [V38,T25] (  3,  2   )     int  ->  x19         "Inline return value spill temp"
+;  V38 tmp36        [V38,T24] (  3,  2   )     int  ->  x19         "Inline return value spill temp"
 ;  V39 tmp37        [V39,T15] (  3,  3   )     int  ->  x19         "dup spill"
 ;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V41 tmp39        [V41,T05] (  5,  6   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V42 tmp40        [V42    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V43 tmp41        [V43,T08] (  4,  4   )     int  ->   x0         "Inlining Arg"
 ;* V44 tmp42        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V45 tmp43        [V45,T27] (  2,  2   )   byref  ->  registers   single-def "Inlining Arg"
-;  V46 tmp44        [V46,T30] (  2,  2   )     int  ->   x0         "Inlining Arg"
+;  V45 tmp43        [V45,T26] (  2,  2   )   byref  ->   x3         single-def "Inlining Arg"
+;  V46 tmp44        [V46,T29] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V47 tmp45        [V47,T35] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V48 tmp46        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V49 tmp47        [V49    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V50 tmp48        [V50    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp49        [V51    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V52 tmp50        [V52    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V53 tmp51        [V53,T10] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V54 tmp52        [V54    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V55 tmp53        [V55,T06] (  3,  6   )     int  ->   x1         "Inlining Arg"
 ;* V56 tmp54        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V57 tmp55        [V57    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V58 tmp56        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V59 tmp57        [V59    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp58        [V60    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V61 tmp59        [V61    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V62 tmp60        [V62,T20] (  3,  2.50)     ref  ->   x1         class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;  V63 tmp61        [V63,T23] (  3,  2   )   byref  ->   x1         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V64 tmp62        [V64,T26] (  3,  2   )     int  ->   x0         "field V07._length (fldOffset=0x8)" P-INDEP
+;  V63 tmp61        [V63,T22] (  3,  2   )   byref  ->   x1         "field V07._reference (fldOffset=0x0)" P-INDEP
+;  V64 tmp62        [V64,T25] (  3,  2   )     int  ->   x0         "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V65 tmp63        [V65    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V66 tmp64        [V66    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp65        [V67    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp66        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V69 tmp67        [V69    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp68        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V71 tmp69        [V71    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp70        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V73 tmp71        [V73    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp72        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V75 tmp73        [V75    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V76 tmp74        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V77 tmp75        [V77    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V78 tmp76        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V79 tmp77        [V79    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V80 tmp78        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;* V81 tmp79        [V81    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V82 tmp80        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V83 tmp81        [V83    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V84 tmp82        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V85 tmp83        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V86 tmp84        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
 ;* V87 tmp85        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V88 tmp86        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V89 tmp87        [V89    ] (  0,  0   )   byref  ->  zero-ref    "field V52._reference (fldOffset=0x0)" P-INDEP
 ;* V90 tmp88        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V52._length (fldOffset=0x8)" P-INDEP
 ;* V91 tmp89        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V92 tmp90        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
-;  V93 tmp91        [V93,T28] (  2,  2   )   byref  ->   x0         single-def "field V56._reference (fldOffset=0x0)" P-INDEP
+;  V93 tmp91        [V93,T27] (  2,  2   )   byref  ->   x0         single-def "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp92        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp93        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V58._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp94        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V58._length (fldOffset=0x8)" P-INDEP
-;  V97 tmp95        [V97,T29] (  2,  2   )   byref  ->   x0         single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-;  V98 tmp96        [V98,T31] (  2,  2   )     int  ->   x1         "field V59._length (fldOffset=0x8)" P-INDEP
-;  V99 cse0         [V99,T21] (  3,  2.50)     ref  ->  [fp+0x10]  spill-single-def "CSE #12: moderate"
-;  V100 cse1        [V100,T22] (  4,  2   )     int  ->  x19         "CSE #10: moderate"
-;  V101 cse2        [V101,T16] (  3,  3   )     int  ->   x1         "CSE #01: moderate"
-;  V102 cse3        [V102,T17] (  3,  3   )     int  ->   x1         "CSE #04: moderate"
-;  V103 cse4        [V103,T18] (  3,  3   )     int  ->   x1         "CSE #06: moderate"
+;  V97 tmp95        [V97,T28] (  2,  2   )   byref  ->   x0         single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;  V98 tmp96        [V98,T30] (  2,  2   )     int  ->   x1         "field V59._length (fldOffset=0x8)" P-INDEP
+;  V99 cse0         [V99,T21] (  4,  2   )     int  ->  x19         "CSE #10: moderate"
+;  V100 cse1        [V100,T16] (  3,  3   )     int  ->   x1         "CSE #01: moderate"
+;  V101 cse2        [V101,T17] (  3,  3   )     int  ->   x1         "CSE #04: moderate"
+;  V102 cse3        [V102,T18] (  3,  3   )     int  ->   x1         "CSE #06: moderate"
+;  V103 cse4        [V103,T31] (  3,  1.50)     int  ->   x2         "CSE #09: moderate"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 48
 
 G_M34609_IG01:
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x48]
-            str     x21, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x40]
             mov     fp, sp
-            add     x9, fp, #32
+            add     x9, fp, #24
             movi    v16.16b, #0
             stp     q16, q16, [x9]
             str     xzr, [x9, #0x20]
             mov     x19, x0
-						;; size=36 bbWeight=1 PerfScore 7.00
+						;; size=32 bbWeight=1 PerfScore 6.00
 G_M34609_IG02:
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x20, [x0]
-            str     x20, [fp, #0x10]	// [V99 cse0]
-            mov     x0, x20
+            ldr     x0, [x0]
             mov     w1, #0xD1FFAB1E
             movz    x2, #0xD1FFAB1E      // code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            str     x0, [fp, #0x28]	// [V01 loc0+0x08]
+            str     x0, [fp, #0x20]	// [V01 loc0+0x08]
             cbz     x0, G_M34609_IG04
-						;; size=56 bbWeight=1 PerfScore 14.00
+						;; size=44 bbWeight=1 PerfScore 12.00
 G_M34609_IG03:
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
             add     x1, x0, #16
             ldr     w0, [x0, #0x08]
             b       G_M34609_IG05
-						;; size=16 bbWeight=0.50 PerfScore 3.25
+						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M34609_IG04:
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
             mov     x1, xzr
             mov     w0, wzr
-						;; size=12 bbWeight=0.50 PerfScore 1.50
+						;; size=8 bbWeight=0.50 PerfScore 0.50
 G_M34609_IG05:
-            str     x1, [fp, #0x38]	// [V01 loc0+0x18]
-            str     w0, [fp, #0x40]	// [V01 loc0+0x20]
-            str     wzr, [fp, #0x30]	// [V01 loc0+0x10]
-            strb    wzr, [fp, #0x34]	// [V01 loc0+0x14]
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
-            ldr     w1, [fp, #0x40]	// [V01 loc0+0x20]
+            str     x1, [fp, #0x30]	// [V01 loc0+0x18]
+            str     w0, [fp, #0x38]	// [V01 loc0+0x20]
+            str     wzr, [fp, #0x28]	// [V01 loc0+0x10]
+            strb    wzr, [fp, #0x2C]	// [V01 loc0+0x14]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
+            ldr     w1, [fp, #0x38]	// [V01 loc0+0x20]
             cmp     w0, w1
             bhi     G_M34609_IG30
-            ldr     x2, [fp, #0x38]	// [V01 loc0+0x18]
+            ldr     x2, [fp, #0x30]	// [V01 loc0+0x18]
             ubfiz   x3, x0, #1, #32
-            add     x21, x2, x3
+            add     x20, x2, x3
             sub     w0, w1, w0
             cmp     w0, #10
             bhs     G_M34609_IG07
 						;; size=56 bbWeight=1 PerfScore 15.00
 G_M34609_IG06:
-            add     x0, fp, #32	// [V01 loc0]
+            add     x0, fp, #24	// [V01 loc0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M34609_IG08
 						;; size=40 bbWeight=0.50 PerfScore 4.25
 G_M34609_IG07:
             ldr     q16, [@RWD00]
-            str     q16, [x21]
+            str     q16, [x20]
             movz    w0, #58
             movk    w0, #32 LSL #16
-            str     w0, [x21, #0x10]
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w0, [x20, #0x10]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
             add     w0, w0, #10
-            str     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w0, [fp, #0x28]	// [V01 loc0+0x10]
 						;; size=32 bbWeight=0.50 PerfScore 4.25
 G_M34609_IG08:
             ldr     w0, [x19, #0x04]
             cmn     w0, #1
             bne     G_M34609_IG11
 						;; size=12 bbWeight=1 PerfScore 4.50
 G_M34609_IG09:
-            str     x19, [fp, #0x18]	// [V00 this]
+            str     x19, [fp, #0x10]	// [V00 this]
             ldr     w0, [x19]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M34609_IG10:
             blr     x1
             sxtw    w19, w0
-            ldr     x20, [fp, #0x18]	// [V00 this]
+            ldr     x20, [fp, #0x10]	// [V00 this]
             str     w19, [x20, #0x04]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             cbnz    w0, G_M34609_IG31
-            mov     w21, w19
+            mov     w1, w19
             mov     x19, x20
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
+            mov     w20, w1
             b       G_M34609_IG12
-						;; size=52 bbWeight=0.50 PerfScore 7.00
+						;; size=52 bbWeight=0.50 PerfScore 6.25
 G_M34609_IG11:
             ldr     w0, [x19, #0x04]
-            sxtw    w21, w0
+            sxtw    w20, w0
 						;; size=8 bbWeight=0.50 PerfScore 1.75
 G_M34609_IG12:
-            add     x0, fp, #32	// [V01 loc0]
-            mov     w1, w21
+            add     x0, fp, #24	// [V01 loc0]
+            mov     w1, w20
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
-            ldr     w1, [fp, #0x40]	// [V01 loc0+0x20]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
+            ldr     w1, [fp, #0x38]	// [V01 loc0+0x20]
             cmp     w0, w1
             bhi     G_M34609_IG30
-            ldr     x2, [fp, #0x38]	// [V01 loc0+0x18]
+            ldr     x2, [fp, #0x30]	// [V01 loc0+0x18]
             ubfiz   x3, x0, #1, #32
-            add     x21, x2, x3
+            add     x20, x2, x3
             sub     w0, w1, w0
             cmp     w0, #8
             bhs     G_M34609_IG14
 						;; size=68 bbWeight=1 PerfScore 17.50
 G_M34609_IG13:
-            add     x0, fp, #32	// [V01 loc0]
+            add     x0, fp, #24	// [V01 loc0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M34609_IG15
 						;; size=40 bbWeight=0.50 PerfScore 4.25
 G_M34609_IG14:
             ldr     q16, [@RWD16]
-            str     q16, [x21]
-            ldr     w1, [fp, #0x30]	// [V01 loc0+0x10]
+            str     q16, [x20]
+            ldr     w1, [fp, #0x28]	// [V01 loc0+0x10]
             add     w1, w1, #8
-            str     w1, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w1, [fp, #0x28]	// [V01 loc0+0x10]
 						;; size=20 bbWeight=0.50 PerfScore 3.25
 G_M34609_IG15:
             ldr     w1, [x19]
-            add     x0, fp, #32	// [V01 loc0]
+            add     x0, fp, #24	// [V01 loc0]
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
-            ldr     w1, [fp, #0x40]	// [V01 loc0+0x20]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
+            ldr     w1, [fp, #0x38]	// [V01 loc0+0x20]
             cmp     w0, w1
             bhi     G_M34609_IG30
-            ldr     x2, [fp, #0x38]	// [V01 loc0+0x18]
+            ldr     x2, [fp, #0x30]	// [V01 loc0+0x18]
             ubfiz   x3, x0, #1, #32
-            add     x21, x2, x3
+            add     x20, x2, x3
             sub     w0, w1, w0
             cmp     w0, #18
             bhs     G_M34609_IG17
 						;; size=68 bbWeight=1 PerfScore 20.00
 G_M34609_IG16:
-            add     x0, fp, #32	// [V01 loc0]
+            add     x0, fp, #24	// [V01 loc0]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M34609_IG18
 						;; size=40 bbWeight=0.50 PerfScore 4.25
 G_M34609_IG17:
             ldr     q16, [@RWD32]
             ldr     q17, [@RWD48]
-            stp     q16, q17, [x21]
+            stp     q16, q17, [x20]
             movz    w0, #58
             movk    w0, #32 LSL #16
-            str     w0, [x21, #0x20]
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w0, [x20, #0x20]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
             add     w0, w0, #18
-            str     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w0, [fp, #0x28]	// [V01 loc0+0x10]
 						;; size=36 bbWeight=0.50 PerfScore 5.25
 G_M34609_IG18:
             ldr     w0, [x19, #0x04]
             cmn     w0, #1
             bne     G_M34609_IG21
 						;; size=12 bbWeight=1 PerfScore 4.50
 G_M34609_IG19:
-            str     x19, [fp, #0x18]	// [V00 this]
+            str     x19, [fp, #0x10]	// [V00 this]
             ldr     w0, [x19]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M34609_IG20:
             blr     x1
             sxtw    w19, w0
-            ldr     x20, [fp, #0x18]	// [V00 this]
+            ldr     x20, [fp, #0x10]	// [V00 this]
             str     w19, [x20, #0x04]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
-            cbnz    w0, G_M34609_IG32
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
-            b       G_M34609_IG22
-						;; size=44 bbWeight=0.50 PerfScore 6.50
+            cbz     w0, G_M34609_IG22
+            b       G_M34609_IG32
+						;; size=40 bbWeight=0.50 PerfScore 5.50
 G_M34609_IG21:
             ldr     w19, [x19, #0x04]
 						;; size=4 bbWeight=0.50 PerfScore 1.50
 G_M34609_IG22:
             mov     w0, w19
             movz    x1, #0xD1FFAB1E      // code for Interop+Sys:StrError(int):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
-            ldrb    w0, [fp, #0x34]	// [V01 loc0+0x14]
+            ldrb    w0, [fp, #0x2C]	// [V01 loc0+0x14]
             cbnz    w0, G_M34609_IG24
 						;; size=36 bbWeight=1 PerfScore 9.50
 G_M34609_IG23:
             cbz     x1, G_M34609_IG24
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
-            ldr     w2, [fp, #0x40]	// [V01 loc0+0x20]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
+            ldr     w2, [fp, #0x38]	// [V01 loc0+0x20]
             cmp     w0, w2
             bhi     G_M34609_IG30
-            ldr     x2, [fp, #0x38]	// [V01 loc0+0x18]
-            ubfiz   x3, x0, #1, #32
-            add     x2, x2, x3
-            ldr     w3, [fp, #0x40]	// [V01 loc0+0x20]
-            sub     w0, w3, w0
+            ldr     x3, [fp, #0x30]	// [V01 loc0+0x18]
+            ubfiz   x4, x0, #1, #32
+            add     x3, x3, x4
+            sub     w0, w2, w0
             ldr     w19, [x1, #0x08]
             cmp     w19, w0
             bls     G_M34609_IG25
-						;; size=52 bbWeight=0.50 PerfScore 8.50
+						;; size=48 bbWeight=0.50 PerfScore 7.50
 G_M34609_IG24:
-            add     x0, fp, #32	// [V01 loc0]
+            add     x0, fp, #24	// [V01 loc0]
             movz    x2, #0xD1FFAB1E      // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M34609_IG26
 						;; size=28 bbWeight=0.50 PerfScore 3.50
 G_M34609_IG25:
-            mov     x0, x2
             ubfiz   x2, x19, #1, #32
             add     x1, x1, #12
+            mov     x0, x3
             movz    x3, #0xD1FFAB1E      // code for System.SpanHelpers:Memmove(byref,byref,ulong)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ldr     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            ldr     w0, [fp, #0x28]	// [V01 loc0+0x10]
             add     w0, w0, w19
-            str     w0, [fp, #0x30]	// [V01 loc0+0x10]
+            str     w0, [fp, #0x28]	// [V01 loc0+0x10]
 						;; size=44 bbWeight=0.50 PerfScore 5.50
 G_M34609_IG26:
-            ldr     w1, [fp, #0x30]	// [V01 loc0+0x10]
-            ldr     w0, [fp, #0x40]	// [V01 loc0+0x20]
+            ldr     w1, [fp, #0x28]	// [V01 loc0+0x10]
+            ldr     w0, [fp, #0x38]	// [V01 loc0+0x20]
             cmp     w1, w0
             bhi     G_M34609_IG30
-            ldr     x0, [fp, #0x38]	// [V01 loc0+0x18]
+            ldr     x0, [fp, #0x30]	// [V01 loc0+0x18]
             bl      System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
             mov     x19, x0
-            ldr     x1, [fp, #0x28]	// [V01 loc0+0x08]
-            stp     xzr, xzr, [fp, #0x20]
-            stp     xzr, xzr, [fp, #0x30]
-            str     xzr, [fp, #0x40]
+            ldr     x1, [fp, #0x20]	// [V01 loc0+0x08]
+            stp     xzr, xzr, [fp, #0x18]
+            stp     xzr, xzr, [fp, #0x28]
+            str     xzr, [fp, #0x38]
             cbz     x1, G_M34609_IG28
 						;; size=48 bbWeight=1 PerfScore 15.00
 G_M34609_IG27:
-            mov     x0, x20
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-						;; size=28 bbWeight=0.50 PerfScore 3.25
+						;; size=36 bbWeight=0.50 PerfScore 5.00
 G_M34609_IG28:
             mov     x0, x19
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M34609_IG29:
-            ldr     x21, [sp, #0x58]
-            ldp     x19, x20, [sp, #0x48]
-            ldp     fp, lr, [sp], #0x60
+            ldp     x19, x20, [sp, #0x40]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=12 bbWeight=1 PerfScore 3.00
 G_M34609_IG30:
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             brk     #0
 						;; size=24 bbWeight=0.50 PerfScore 3.25
 G_M34609_IG31:
             bl      CORINFO_HELP_POLL_GC
-            mov     w21, w19
+            mov     w0, w19
             mov     x19, x20
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
+            mov     w20, w0
             b       G_M34609_IG12
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M34609_IG32:
             bl      CORINFO_HELP_POLL_GC
-            ldr     x20, [fp, #0x10]	// [V99 cse0]
             b       G_M34609_IG22
-						;; size=12 bbWeight=0 PerfScore 0.00
+						;; size=8 bbWeight=0 PerfScore 0.00
 RWD00  	dq	0045007700610052h, 006F006E00720072h
 RWD16  	dq	0072007200450020h, 0020003A0072006Fh
 RWD32  	dq	0074006500470020h, 006F007200720045h
 RWD48  	dq	00730065004D0072h, 0065006700610073h
 
 
-; Total bytes of code 1004, prolog size 32, PerfScore 189.00, instruction count 251, allocated bytes for code 1004 (MethodHash=b7c078ce) for method Interop+ErrorInfo:ToString():System.String:this (FullOpts)
+; Total bytes of code 972, prolog size 28, PerfScore 181.00, instruction count 243, allocated bytes for code 972 (MethodHash=b7c078ce) for method Interop+ErrorInfo:ToString():System.String:this (FullOpts)
 ; ============================================================
-20 (-2.78 % of base) - System.Net.NameResolutionMetrics:.cctor()
 ; Assembly listing for method System.Net.NameResolutionMetrics:.cctor() (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 13 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 loc0         [V00    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Diagnostics.Metrics.InstrumentAdvice`1[double]>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V02 tmp1         [V02,T00] (  5, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.Meter>
+;  V02 tmp1         [V02,T01] (  5, 10   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.Meter>
 ;  V03 tmp2         [V03,T05] (  3,  6   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Metrics.InstrumentAdvice`1[double]>
 ;  V04 tmp3         [V04,T02] (  4,  8   )     ref  ->  x20         class-hnd single-def "impAppendStmt" <System.Diagnostics.Metrics.Meter>
-;  V05 tmp4         [V05,T06] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewArr temp" <double[]>
+;  V05 tmp4         [V05,T06] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewArr temp" <double[]>
 ;  V06 tmp5         [V06,T07] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <<>z__ReadOnlyArray`1[double]>
-;  V07 tmp6         [V07,T08] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]>
-;  V08 tmp7         [V08,T09] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]]>
+;  V07 tmp6         [V07,T08] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]>
+;  V08 tmp7         [V08,T09] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]]>
 ;* V09 tmp8         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Diagnostics.Metrics.Histogram`1[double]>
 ;* V10 tmp9         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
-;  V11 tmp10        [V11,T01] (  9,  9   )     ref  ->  x23         class-hnd exact single-def "Inline stloc first use temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
+;  V11 tmp10        [V11,T00] ( 12, 12   )     ref  ->  x21         class-hnd exact single-def "Inline stloc first use temp" <System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]>
 ;  V12 tmp11        [V12,T03] (  4,  8   )     ref  ->   x6         class-hnd exact single-def "NewObj constructor temp" <System.Func`1[System.Diagnostics.Metrics.Instrument]>
 ;* V13 tmp12        [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
 ;  V14 tmp13        [V14,T12] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V15 tmp14        [V15,T13] (  2,  4   )     ref  ->   x3         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V16 tmp15        [V16,T14] (  2,  4   )     ref  ->   x4         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V17 tmp16        [V17,T15] (  2,  4   )     ref  ->   x5         class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
 ;  V18 tmp17        [V18,T11] (  3,  4   )     ref  ->   x0         single-def "argument with side effect"
-;  V19 cse0         [V19,T10] (  5,  5   )    long  ->  x21         "CSE #02: aggressive"
-;  V20 cse1         [V20,T22] (  3,  2   )    long  ->  x21         "CSE #01: aggressive"
-;  V21 cse2         [V21,T19] (  3,  3   )    long  ->  x19         "CSE #03: aggressive"
-;  V22 cse3         [V22,T20] (  3,  3   )    long  ->  x22         "CSE #04: aggressive"
-;  V23 cse4         [V23,T21] (  3,  3   )    long  ->  x22         "CSE #05: aggressive"
-;  V24 cse5         [V24,T16] (  3,  3   )     ref  ->  x24         "CSE #06: aggressive"
-;  V25 cse6         [V25,T17] (  3,  3   )     ref  ->  x25         "CSE #07: aggressive"
-;  V26 cse7         [V26,T18] (  3,  3   )     ref  ->  x26         "CSE #08: aggressive"
-;  V27 rat0         [V27,T04] (  4,  7   )     ref  ->  x15         "replacement local"
-;  V28 rat1         [V28,T23] (  3,  2   )    long  ->   x2         "CSE for expectedClsNode"
+;  V19 cse0         [V19,T10] (  5,  5   )    long  ->  x22         "CSE #02: aggressive"
+;  V20 cse1         [V20,T16] (  4,  3   )    long  ->  x20         "CSE #01: aggressive"
+;  V21 rat0         [V21,T04] (  4,  7   )     ref  ->  x15         "replacement local"
+;  V22 rat1         [V22,T17] (  3,  2   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 0
 
 G_M58946_IG01:
-            stp     fp, lr, [sp, #-0x50]!
+            stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
             stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
-            stp     x25, x26, [sp, #0x40]
             mov     fp, sp
-						;; size=24 bbWeight=1 PerfScore 5.50
+						;; size=16 bbWeight=1 PerfScore 3.50
 G_M58946_IG02:
-            movz    x19, #0xD1FFAB1E
-            movk    x19, #0xD1FFAB1E LSL #16
-            movk    x19, #0xD1FFAB1E LSL #32
-            add     x0, x19, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x20, x0
-            movz    x21, #0xD1FFAB1E
-            movk    x21, #0xD1FFAB1E LSL #16
-            movk    x21, #0xD1FFAB1E LSL #32
-            mov     x0, x21
+            mov     x19, x0
+            movz    x20, #0xD1FFAB1E
+            movk    x20, #0xD1FFAB1E LSL #16
+            movk    x20, #0xD1FFAB1E LSL #32
+            mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
-            mov     x22, x0
+            mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldapr   w0, [x0]
             tbz     w0, #0, G_M58946_IG07
-						;; size=68 bbWeight=1 PerfScore 12.50
+						;; size=64 bbWeight=1 PerfScore 12.00
 G_M58946_IG03:
-            movz    x21, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]:s_emptyArray
-            movk    x21, #0xD1FFAB1E LSL #16
-            movk    x21, #0xD1FFAB1E LSL #32
-            ldr     x15, [x21]
-            add     x14, x22, #8
+            movz    x22, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument]:s_emptyArray
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            ldr     x15, [x22]
+            add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x14, x20, #8
-            mov     x15, x22
+            add     x14, x19, #8
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            add     x0, x20, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x22, x0
+            mov     x20, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            add     x14, x20, #16
-            mov     x15, x22
+            add     x14, x19, #16
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x20
+            mov     x0, x19
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             mov     x2, xzr
             mov     x3, xzr
             mov     x4, xzr
             movz    x5, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter:Initialize(System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Object):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            sub     x14, x21, #16
-            mov     x15, x20
+            sub     x14, x22, #16
+            mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x19
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
-            ldr     x20, [x21, #-0x10]
+            ldr     x20, [x22, #-0x10]
             movz    x0, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Instrument:ValidateTypeParameter[double]()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            mov     x0, x22
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             mov     x1, #14
             bl      CORINFO_HELP_NEWARR_1_VC
-            mov     x23, x0
+            mov     x21, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldp     q16, q17, [x0]
-            stp     q16, q17, [x23, #0x10]
+            stp     q16, q17, [x21, #0x10]
             ldp     q16, q17, [x0, #0x20]
-            stp     q16, q17, [x23, #0x30]
+            stp     q16, q17, [x21, #0x30]
             ldp     q16, q17, [x0, #0x40]
-            stp     q16, q17, [x23, #0x50]
+            stp     q16, q17, [x21, #0x50]
             ldr     q16, [x0, #0x60]
-            str     q16, [x23, #0x70]
-            add     x0, x22, #0xD1FFAB1E
+            str     q16, [x21, #0x70]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             add     x14, x1, #8
-            mov     x15, x23
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.InstrumentAdvice`1[double]:set_HistogramBucketBoundaries(System.Collections.Generic.IReadOnlyList`1[double]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldrsb   wzr, [x20]
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            mov     x0, x22
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            add     x14, x23, #8
+            mov     x21, x0
+            add     x14, x21, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x24, #0xD1FFAB1E
-            movk    x24, #0xD1FFAB1E LSL #16
-            movk    x24, #0xD1FFAB1E LSL #32
-            str     x24, [x23, #0x10]
-            movz    x25, #0xD1FFAB1E
-            movk    x25, #0xD1FFAB1E LSL #16
-            movk    x25, #0xD1FFAB1E LSL #32
-            str     x25, [x23, #0x18]
-            movz    x26, #0xD1FFAB1E
-            movk    x26, #0xD1FFAB1E LSL #16
-            movk    x26, #0xD1FFAB1E LSL #32
-            stp     x26, xzr, [x23, #0x20]
-            add     x14, x23, #48
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            str     x14, [x21, #0x10]
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            str     x14, [x21, #0x18]
+            movz    x14, #0xD1FFAB1E
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            stp     x14, xzr, [x21, #0x20]
+            add     x14, x21, #48
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x0, x22, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x6, x0
-            mov     x2, x24
-            mov     x3, x25
-            mov     x4, x26
-            ldr     x5, [x23, #0x28]
+            ldp     x2, x3, [x21, #0x10]
+            ldp     x4, x5, [x21, #0x20]
             add     x14, x6, #8
-            mov     x15, x23
+            mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter+<>c__DisplayClass39_0`1[double]:<CreateHistogram>b__0():System.Diagnostics.Metrics.Instrument:this
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             str     x0, [x6, #0x18]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x7, #0xD1FFAB1E      // code for System.Diagnostics.Metrics.Meter:GetOrCreateInstrument[double](System.Type,System.String,System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]],System.Func`1[System.Diagnostics.Metrics.Instrument]):System.Diagnostics.Metrics.Instrument:this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             mov     x15, x0
             cbz     x15, G_M58946_IG05
-						;; size=512 bbWeight=1 PerfScore 110.50
+						;; size=512 bbWeight=1 PerfScore 115.00
 G_M58946_IG04:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x14, [x15]
             cmp     x14, x2
             bne     G_M58946_IG08
 						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M58946_IG05:
-            sub     x14, x21, #8
+            sub     x14, x22, #8
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M58946_IG06:
-            ldp     x25, x26, [sp, #0x40]
-            ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
-            ldp     fp, lr, [sp], #0x50
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-						;; size=24 bbWeight=1 PerfScore 6.00
+						;; size=16 bbWeight=1 PerfScore 4.00
 G_M58946_IG07:
-            mov     x0, x21
+            mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for CORINFO_HELP_GET_GCSTATIC_BASE
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M58946_IG03
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M58946_IG08:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk     #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 720, prolog size 24, PerfScore 139.00, instruction count 180, allocated bytes for code 720 (MethodHash=f77619bd) for method System.Net.NameResolutionMetrics:.cctor() (FullOpts)
+; Total bytes of code 700, prolog size 16, PerfScore 139.00, instruction count 175, allocated bytes for code 700 (MethodHash=f77619bd) for method System.Net.NameResolutionMetrics:.cctor() (FullOpts)
 ; ============================================================
-12 (-4.23 % of base) - Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this
 ; Assembly listing for method Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] (  6,  6   )     ref  ->  x19         this class-hnd single-def <Markdig.Helpers.CustomArrayPool`1[short]>
-;  V01 arg1         [V01,T07] (  3,  3   )     int  ->  x20         single-def
-;  V02 arg2         [V02,T08] (  3,  3   )     int  ->  x21         single-def
-;  V03 arg3         [V03,T09] (  3,  3   )     int  ->  x22         single-def
-;  V04 arg4         [V04,T10] (  3,  3   )     int  ->  x23         single-def
+;  V00 this         [V00,T01] (  6,  6   )     ref  ->  x19         this class-hnd single-def <Markdig.Helpers.CustomArrayPool`1[short]>
+;  V01 arg1         [V01,T06] (  3,  3   )     int  ->  x20         single-def
+;  V02 arg2         [V02,T07] (  3,  3   )     int  ->  x21         single-def
+;  V03 arg3         [V03,T08] (  3,  3   )     int  ->  x22         single-def
+;  V04 arg4         [V04,T09] (  3,  3   )     int  ->  x23         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T01] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
-;  V07 tmp2         [V07,T02] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
-;  V08 tmp3         [V08,T03] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
-;  V09 tmp4         [V09,T04] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
-;  V10 tmp5         [V10,T11] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
-;  V11 tmp6         [V11,T12] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
-;  V12 tmp7         [V12,T13] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
-;  V13 tmp8         [V13,T14] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
-;  V14 cse0         [V14,T05] (  5,  5   )    long  ->  x24         "CSE #01: aggressive"
-;  V15 cse1         [V15,T06] (  5,  5   )    long  ->  x20         "CSE #02: aggressive"
+;  V06 tmp1         [V06,T02] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
+;  V07 tmp2         [V07,T03] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
+;  V08 tmp3         [V08,T04] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
+;  V09 tmp4         [V09,T05] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Markdig.Helpers.CustomArrayPool`1+Bucket[short]>
+;  V10 tmp5         [V10,T10] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
+;  V11 tmp6         [V11,T11] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
+;  V12 tmp7         [V12,T12] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
+;  V13 tmp8         [V13,T13] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewArr temp" <short[][]>
+;  V14 cse0         [V14,T00] (  9,  9   )    long  ->  x24         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M29292_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             mov     fp, sp
             mov     x19, x0
             mov     w20, w1
             mov     w21, w2
             mov     w22, w3
             mov     w23, w4
 						;; size=44 bbWeight=1 PerfScore 8.00
 G_M29292_IG02:
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             sxtw    x1, w20
-            movz    x20, #0xD1FFAB1E
-            movk    x20, #0xD1FFAB1E LSL #16
-            movk    x20, #0xD1FFAB1E LSL #32
-            mov     x0, x20
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
             add     x14, x25, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #8
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x25, x0
+            mov     x20, x0
             sxtw    x1, w21
-            mov     x0, x20
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x25, #8
+            add     x14, x20, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
-            mov     x15, x25
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x20, x0
             sxtw    x1, w22
-            mov     x0, x20
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x21, #8
+            add     x14, x20, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #24
-            mov     x15, x21
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
-            mov     x21, x0
+            mov     x20, x0
             sxtw    x1, w23
-            mov     x0, x20
+            add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x15, x0
-            add     x14, x21, #8
+            add     x14, x20, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #32
-            mov     x15, x21
+            mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=216 bbWeight=1 PerfScore 35.00
+						;; size=204 bbWeight=1 PerfScore 33.50
 G_M29292_IG03:
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 
-; Total bytes of code 284, prolog size 24, PerfScore 50.00, instruction count 71, allocated bytes for code 284 (MethodHash=20718d93) for method Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this (FullOpts)
+; Total bytes of code 272, prolog size 24, PerfScore 48.50, instruction count 68, allocated bytes for code 272 (MethodHash=20718d93) for method Markdig.Helpers.CustomArrayPool`1[short]:.ctor(int,int,int,int):this (FullOpts)
 ; ============================================================

Larger list of diffs: https://gist.github.com/MihuBot/c062625fc1d2982dc1b8baea12343a6e

@MihuBot
Copy link
Owner Author

MihuBot commented Jan 25, 2025

@MihaZupan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant