MihuBot / runtime-utils

0 stars 0 forks source link

[X64] [jakobbotsch] Simplify "secret stub arg" handling between JIT and EE #355

Open MihuBot opened 6 months ago

MihuBot commented 6 months ago

Build completed in 32 minutes. https://github.com/dotnet/runtime/pull/100823

Diffs

Diffs ``` Found 309 files with textual diffs. Summary of Code Size diffs: (Lower is better) Total bytes of base: 38854080 Total bytes of diff: 38848320 Total bytes of delta: -5760 (-0.01 % of base) Total relative delta: Infinity diff is an improvement. relative diff is a regression. Top file regressions (bytes): 352 : System.Linq.Parallel.dasm (0.02 % of base) 132 : System.Configuration.ConfigurationManager.dasm (0.03 % of base) 97 : System.Private.Xml.dasm (0.00 % of base) 94 : Microsoft.VisualBasic.Core.dasm (0.02 % of base) 67 : System.ComponentModel.TypeConverter.dasm (0.02 % of base) 31 : Microsoft.CSharp.dasm (0.01 % of base) 21 : Microsoft.Extensions.DependencyModel.dasm (0.03 % of base) 16 : System.Security.Cryptography.ProtectedData.dasm (0.31 % of base) 11 : System.Transactions.Local.dasm (0.01 % of base) 10 : System.Net.WebSockets.Client.dasm (0.04 % of base) 6 : Microsoft.Extensions.Logging.Console.dasm (0.01 % of base) 4 : System.IO.IsolatedStorage.dasm (0.02 % of base) 1 : Microsoft.Extensions.Hosting.dasm (0.00 % of base) Top file improvements (bytes): -2568 : System.Private.CoreLib.dasm (-0.04 % of base) -580 : System.Net.Security.dasm (-0.25 % of base) -567 : System.Security.Cryptography.dasm (-0.05 % of base) -365 : System.Net.Sockets.dasm (-0.14 % of base) -310 : System.Data.Odbc.dasm (-0.13 % of base) -198 : System.Text.Json.dasm (-0.02 % of base) -194 : System.DirectoryServices.Protocols.dasm (-0.13 % of base) -193 : System.IO.Ports.dasm (-0.39 % of base) -188 : System.Diagnostics.Process.dasm (-0.19 % of base) -145 : System.IO.Pipes.dasm (-0.37 % of base) -109 : System.IO.MemoryMappedFiles.dasm (-0.52 % of base) -103 : System.Console.dasm (-0.12 % of base) -93 : System.Formats.Tar.dasm (-0.07 % of base) -90 : System.Net.NetworkInformation.dasm (-0.17 % of base) -83 : System.Net.Primitives.dasm (-0.09 % of base) -80 : System.IO.FileSystem.Watcher.dasm (-0.29 % of base) -73 : System.IO.Compression.Brotli.dasm (-0.33 % of base) -68 : System.IO.Compression.dasm (-0.07 % of base) -66 : System.Net.Quic.dasm (-0.05 % of base) -65 : System.Composition.Convention.dasm (-0.05 % of base) -65 : System.ComponentModel.Composition.Registration.dasm (-0.06 % of base) -64 : System.ComponentModel.Composition.dasm (-0.01 % of base) -56 : System.Net.WebSockets.dasm (-0.05 % of base) -53 : System.Net.NameResolution.dasm (-0.13 % of base) -52 : System.IO.FileSystem.DriveInfo.dasm (-0.20 % of base) -42 : System.IO.Compression.ZipFile.dasm (-0.30 % of base) -40 : System.Runtime.InteropServices.dasm (-0.16 % of base) -24 : System.Net.Ping.dasm (-0.05 % of base) -16 : System.Threading.Tasks.Dataflow.dasm (-0.00 % of base) -11 : System.Diagnostics.FileVersionInfo.dasm (-0.11 % of base) -7 : runincontext.dasm (-0.05 % of base) -7 : Microsoft.Extensions.Hosting.Systemd.dasm (-0.14 % of base) -5 : System.Diagnostics.TraceSource.dasm (-0.01 % of base) -5 : System.Net.Requests.dasm (-0.00 % of base) -5 : System.Private.DataContractSerialization.dasm (-0.00 % of base) -4 : Microsoft.Extensions.Hosting.WindowsServices.dasm (-0.05 % of base) -2 : System.Text.Encoding.CodePages.dasm (-0.00 % of base) -2 : System.Reflection.Metadata.dasm (-0.00 % of base) -2 : System.Diagnostics.DiagnosticSource.dasm (-0.00 % of base) -2 : Microsoft.Extensions.DependencyInjection.dasm (-0.00 % of base) 53 total files with Code Size differences (40 improved, 13 regressed), 203 unchanged. Top method regressions (bytes): 168 (5.60 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts) 138 (10.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:b__63_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.PolicyData:this (FullOpts) 121 (5.53 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (FullOpts) 106 (6.26 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_Obj4Args(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_Obj4Args (FullOpts) 101 (6.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_RefArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_RefArgs (FullOpts) 97 (5.56 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateInvoker(int):System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object] (FullOpts) 82 (5.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs (FullOpts) 77 (4.38 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.RuntimeLicenseContext:GetSavedLicenseKey(System.Type,System.Reflection.Assembly):System.String:this (FullOpts) 77 (6.74 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:ValidateGenericArguments(System.Reflection.MemberInfo,System.RuntimeType[],System.Exception) (FullOpts) 73 (8.32 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:SelectViaPoll(System.Collections.IList,int,System.Collections.IList,int,System.Collections.IList,int,ulong,int,int):int (FullOpts) 73 (4.80 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodMetadataToken(System.Reflection.ConstructorInfo):int:this (FullOpts) 73 (6.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslAsnFormatter:FormatNative(System.Security.Cryptography.Oid,ubyte[],ubyte):System.String:this (FullOpts) 60 (7.73 % of base) : System.Net.Security.dasm - Interop+OpenSsl:AlpnServerSelectCallback(long,ulong,ulong,ulong,uint,long):int (FullOpts) 58 (3.83 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.BerConverter:EncodingMultiByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[][],ushort,ulong):int (FullOpts) 58 (8.38 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.__Canon](System.ReadOnlySpan`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 58 (2.54 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlILGenerator:Generate(System.Xml.Xsl.Qil.QilExpression,System.Reflection.Emit.TypeBuilder):System.Xml.Xsl.XmlILCommand:this (FullOpts) 55 (3.40 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts) 55 (3.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslDirectoryBasedStoreProvider:AddCertToStore(System.Security.Cryptography.X509Certificates.ICertificatePal):this (FullOpts) 52 (4.08 % 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) 49 (6.58 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipeInternal:Enable(System.String,int,uint,System.Diagnostics.Tracing.EventPipeProviderConfiguration[]):ulong (FullOpts) 49 (2.45 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[] (FullOpts) 49 (3.09 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetMethodBase(System.RuntimeType,long):System.Reflection.MethodBase (FullOpts) 49 (3.96 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslCachedSystemStoreProvider:g__ProcessFile|26_1(System.String,byref,byref):ubyte (FullOpts) 46 (3.67 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationSystem:EnsureInit(System.String):this (FullOpts) 46 (4.45 % of base) : System.Private.CoreLib.dasm - System.Globalization.Normalization:IcuNormalize(System.String,int):System.String (FullOpts) 46 (3.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMemberRefToken(System.Reflection.MethodBase,System.Type[]):int:this (FullOpts) 43 (1.93 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:.ctor(System.String,ubyte):this (FullOpts) 43 (5.11 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:GetTypeAndHashSuffix(System.String,ubyte):System.String (FullOpts) 43 (2.58 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:.ctor(System.String,int,System.Type,System.Type[],System.Reflection.Emit.RuntimeModuleBuilder,int,int,System.Reflection.Emit.RuntimeTypeBuilder):this (FullOpts) 41 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:UnregisterSocket(long):this (FullOpts) 40 (4.18 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProcessor:Enqueue(Microsoft.Extensions.Logging.Console.LogMessageEntry):ubyte:this (FullOpts) 40 (4.19 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.__Canon,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 40 (6.35 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[int](System.ReadOnlySpan`1[int],System.Span`1[int]) (FullOpts) 40 (6.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[long](System.ReadOnlySpan`1[long],System.Span`1[long]) (FullOpts) 40 (6.31 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[short](System.ReadOnlySpan`1[short],System.Span`1[short]) (FullOpts) 40 (6.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.Nullable`1[int]](System.ReadOnlySpan`1[System.Nullable`1[int]],System.Span`1[System.Nullable`1[int]]) (FullOpts) 40 (6.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[ubyte](System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 37 (5.77 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[double](System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts) 37 (5.56 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Span`1[System.Numerics.Vector`1[float]]) (FullOpts) 34 (3.56 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (FullOpts) 34 (4.90 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:InternalGetSatelliteAssembly(System.Reflection.Assembly,System.Globalization.CultureInfo,System.Version,ubyte):System.Reflection.Assembly (FullOpts) 34 (2.97 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetInterfaceMap(System.Type):System.Reflection.InterfaceMapping:this (FullOpts) 33 (3.13 % of base) : System.Security.Cryptography.ProtectedData.dasm - Interop+Kernel32:GetMessage(int,long):System.String (FullOpts) 32 (3.21 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:LoadFromResolveHandler(System.Object,System.ResolveEventArgs):System.Reflection.Assembly (FullOpts) 32 (3.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) 32 (3.88 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslCertificateAssetDownloader:DownloadCrl(System.String,System.TimeSpan):Microsoft.Win32.SafeHandles.SafeX509CrlHandle (FullOpts) 31 (1.63 % of base) : Microsoft.CSharp.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder+ImplicitConversion:BindNubConversion(Microsoft.CSharp.RuntimeBinder.Semantics.NullableType):ubyte:this (FullOpts) 31 (2.19 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - Microsoft.Extensions.Hosting.WindowsServices.WindowsServiceLifetime:WaitForStartAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts) 31 (5.22 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcHandle:.ctor(short,System.Data.Odbc.OdbcHandle):this (FullOpts) 31 (2.46 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this (FullOpts) 31 (3.10 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicBuffers:Initialize[System.Numerics.Vector`1[float]](System.Collections.Generic.IList`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.ReadOnlyMemory`1[ubyte]]):this (FullOpts) 31 (3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 31 (2.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACCommon:ChangeKeyImpl(System.ReadOnlySpan`1[ubyte]):ubyte[]:this (FullOpts) 31 (3.89 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetHexStringCore(System.Span`1[ushort],ubyte) (FullOpts) 30 (2.95 % of base) : System.Private.CoreLib.dasm - Interop+Kernel32:GetMessage(int,long):System.String (FullOpts) 30 (3.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int (FullOpts) 28 (3.85 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextLoader:Load(System.Reflection.Assembly):Microsoft.Extensions.DependencyModel.DependencyContext:this (FullOpts) 28 (3.24 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[double,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[int,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[long,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[short,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Nullable`1[int],System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[ubyte,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 25 (2.11 % of base) : System.Private.Xml.dasm - System.Xml.Serialization.XmlSchemaImporter:GetEquivalentElements(System.Xml.Schema.XmlSchemaElement):System.Xml.Schema.XmlSchemaElement[]:this (FullOpts) 23 (3.10 % of base) : System.Private.CoreLib.dasm - Interop+Sys:GetCwd():System.String (FullOpts) 22 (1.62 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[System.__Canon,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 22 (2.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeFieldBuilder:.ctor(System.Reflection.Emit.RuntimeTypeBuilder,System.String,System.Type,System.Type[],System.Type[],int):this (FullOpts) 22 (2.00 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefinePInvokeMethodCore(System.String,System.String,System.String,int,int,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],int,int):System.Reflection.Emit.MethodBuilder:this (FullOpts) 22 (2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 20 (1.63 % of base) : System.Private.CoreLib.dasm - Interop+Sys:ReadLink(System.ReadOnlySpan`1[ushort]):System.String (FullOpts) 20 (1.63 % of base) : System.Diagnostics.Process.dasm - Interop+Sys:ReadLink(System.ReadOnlySpan`1[ushort]):System.String (FullOpts) 19 (2.24 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:DsaKeyCreateByExplicitParameters(byref,ubyte[],int,ubyte[],int,ubyte[],int,ubyte[],int,ubyte[],int):ubyte (FullOpts) 19 (2.42 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:EcKeyCreateByKeyParameters(byref,System.String,ubyte[],int,ubyte[],int,ubyte[],int):int (FullOpts) 19 (3.36 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:ImportPrincipalName(byref,System.String,int,byref):uint (FullOpts) 19 (3.36 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:ImportUserName(byref,System.String,int,byref):uint (FullOpts) 19 (2.75 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:InitiateCredWithPassword(byref,uint,Microsoft.Win32.SafeHandles.SafeGssNameHandle,System.String,int,byref):uint (FullOpts) 19 (2.04 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:DefinePropertyCore(System.String,int,int,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]):System.Reflection.Emit.PropertyBuilder:this (FullOpts) 19 (2.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DesImplementation:TryEncryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 19 (2.86 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.TripleDesImplementation:TryEncryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 17 (1.83 % of base) : System.Console.dasm - Interop+Sys:Dup(Microsoft.Win32.SafeHandles.SafeFileHandle):Microsoft.Win32.SafeHandles.SafeFileHandle (FullOpts) (2 methods) 16 (2.95 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:BioNewFile(System.String,System.String):Microsoft.Win32.SafeHandles.SafeBioHandle (FullOpts) 16 (2.94 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:InitiateCredSpNego(byref,Microsoft.Win32.SafeHandles.SafeGssNameHandle,byref):uint (FullOpts) 16 (3.82 % of base) : System.Console.dasm - System.ConsolePal:g__AppendToStdInReaderUntil|84_2(ubyte,System.IO.StdInReader,System.Span`1[ubyte],byref,byref):ubyte (FullOpts) 16 (0.66 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapSessionOptions:StartTransportLayerSecurity(System.DirectoryServices.Protocols.DirectoryControlCollection):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[double]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[int]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[long]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[short]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[System.Nullable`1[int]]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[System.Numerics.Vector`1[float]]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[ubyte]:FindNextEntry(ulong,int):this (FullOpts) 16 (0.82 % of base) : System.IO.Ports.dasm - System.IO.Ports.SerialStream:FinishPendingIORequests(System.Nullable`1[Interop+ErrorInfo]):this (FullOpts) 16 (1.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[double,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[int,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.27 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[long,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[short,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.26 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[System.Nullable`1[int],System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningSpoolingTask`2[ubyte,System.Nullable`1[int]]:SpoolingWork():this (FullOpts) 16 (1.51 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicBuffers:Initialize[System.__Canon](System.Collections.Generic.IList`1[System.__Canon],System.Func`2[System.__Canon,System.ReadOnlyMemory`1[ubyte]]):this (FullOpts) Top method improvements (bytes): -108 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) (12 methods) -48 (-1.99 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this (FullOpts) -45 (-5.45 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (5 methods) -45 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (5 methods) -45 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) (5 methods) -36 (-5.45 % of base) : System.IO.Ports.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):int (FullOpts) (4 methods) -36 (-5.45 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (4 methods) -35 (-2.92 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(long,int,ulong):int (FullOpts) (7 methods) -32 (-6.05 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) (4 methods) -27 (-5.49 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(int,ulong):int (FullOpts) (3 methods) -27 (-5.45 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):int (FullOpts) (3 methods) -27 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (3 methods) -27 (-5.45 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (3 methods) -27 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) (3 methods) -27 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallAssembly):int (FullOpts) (3 methods) -27 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong) (FullOpts) (3 methods) -27 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):ulong (FullOpts) (3 methods) -26 (-5.15 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke():ulong (FullOpts) (4 methods) -24 (-6.74 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (4 methods) -24 (-4.37 % of base) : System.Data.Odbc.dasm - (dynamicClass):IL_STUB_PInvoke(long,int,long,int):short (FullOpts) (3 methods) -23 (-6.22 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) (3 methods) -23 (-5.71 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallTypeHandle):int (FullOpts) (3 methods) -20 (-4.66 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ulong):int (FullOpts) (4 methods) -20 (-2.92 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong,int):int (FullOpts) (4 methods) -19 (-5.37 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke():int (FullOpts) (3 methods) -19 (-5.37 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke():long (FullOpts) (3 methods) -19 (-6.55 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (3 methods) -18 (-5.49 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(int,int):int (FullOpts) (2 methods) -18 (-5.49 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int,System.Runtime.CompilerServices.StringHandleOnStack) (FullOpts) (2 methods) -18 (-5.70 % of base) : System.IO.Ports.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -18 (-5.70 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long,int) (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long,int):long (FullOpts) (2 methods) -18 (-5.36 % of base) : System.Data.Odbc.dasm - (dynamicClass):IL_STUB_PInvoke(long,short):short (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long,System.Runtime.CompilerServices.ObjectHandleOnStack) (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong) (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.IO.MemoryMappedFiles.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) (2 methods) -18 (-5.39 % of base) : System.Data.Odbc.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong):short (FullOpts) (2 methods) -18 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -18 (-5.66 % of base) : System.IO.Ports.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -18 (-5.66 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -18 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long):ulong (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Net.WebSockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.IO.Compression.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int):long (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,long):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Formats.Tar.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.IO.FileSystem.DriveInfo.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):long (FullOpts) (2 methods) -18 (-5.45 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):ulong (FullOpts) (2 methods) -18 (-5.66 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) (2 methods) -18 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):long (FullOpts) (2 methods) -16 (-4.44 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallModule,int,int) (FullOpts) (2 methods) -16 (-4.42 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallModule,ulong,int):int (FullOpts) (2 methods) -16 (-4.42 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong,ulong,ulong):int (FullOpts) (2 methods) -16 (-4.42 % of base) : System.Net.NetworkInformation.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong,ulong,ulong):int (FullOpts) -15 (-7.58 % of base) : System.Net.NetworkInformation.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (3 methods) -15 (-2.92 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long,ulong,ulong):int (FullOpts) (3 methods) -15 (-5.81 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ulong):int (FullOpts) (3 methods) -15 (-5.81 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ulong):int (FullOpts) (3 methods) -15 (-2.92 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong,ulong) (FullOpts) (3 methods) -15 (-1.86 % of base) : System.Net.Security.dasm - Microsoft.Win32.SafeHandles.SafeSslContextHandle:ReleaseHandle():ubyte:this (FullOpts) -14 (-4.64 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke():long (FullOpts) (2 methods) -14 (-6.57 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int) (FullOpts) (2 methods) -14 (-6.64 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) (2 methods) -14 (-3.54 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_X509StoreSetVerifyTime(Microsoft.Win32.SafeHandles.SafeX509StoreHandle,int,int,int,int,int,int,ubyte):int (FullOpts) -14 (-1.78 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:IndexOfOrdinalHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong,ubyte):int:this (FullOpts) -14 (-1.81 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:IndexOfOrdinalIgnoreCaseHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong,ubyte):int:this (FullOpts) -14 (-0.88 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:SetConstantValue(System.Reflection.Emit.RuntimeModuleBuilder,int,System.Type,System.Object) (FullOpts) -12 (-5.91 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke() (FullOpts) (2 methods) -12 (-5.91 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke():int (FullOpts) (2 methods) -12 (-5.91 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke():uint (FullOpts) (2 methods) -12 (-2.15 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallModule,int,int,int) (FullOpts) (3 methods) -12 (-1.75 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.LiteHashProvider:HmacStreamAsync(System.String,System.ReadOnlySpan`1[ubyte],System.IO.Stream,System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int] (FullOpts) -11 (-2.41 % of base) : System.Net.Security.dasm - Interop+Crypto:CryptoNative_X509DecodeOcspToExpiration(ulong,int,System.Security.Cryptography.X509Certificates.SafeOcspRequestHandle,long,ulong,int,byref):int (FullOpts) -11 (-1.97 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:DsaSign(Microsoft.Win32.SafeHandles.SafeDsaHandle,byref,int,byref,byref):ubyte (FullOpts) -11 (-1.97 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:EcDsaSign(byref,int,byref,byref,Microsoft.Win32.SafeHandles.SafeEcKeyHandle):ubyte (FullOpts) -11 (-1.97 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:EvpCipherUpdate(Microsoft.Win32.SafeHandles.SafeEvpCipherCtxHandle,byref,byref,byref,int):ubyte (FullOpts) -11 (-4.04 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:Pbkdf2(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int,long,System.Span`1[ubyte]):int (FullOpts) -11 (-2.02 % of base) : System.Net.Security.dasm - Interop+Ssl:SslSetBio(Microsoft.Win32.SafeHandles.SafeSslHandle,Microsoft.Win32.SafeHandles.SafeBioHandle,Microsoft.Win32.SafeHandles.SafeBioHandle) (FullOpts) -11 (-1.93 % of base) : System.Net.Sockets.dasm - Interop+Sys:SendFile(System.Runtime.InteropServices.SafeHandle,System.Runtime.InteropServices.SafeHandle,long,long,byref):int (FullOpts) -11 (-2.14 % of base) : System.Private.CoreLib.dasm - System.Array:CreateInstance(System.Type,int,int):System.Array (FullOpts) -11 (-2.82 % of base) : System.Private.CoreLib.dasm - System.IO.FileLoadException:FormatFileLoadExceptionMessage(System.String,int):System.String (FullOpts) -11 (-2.26 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder+CustAttr:Bake(System.Reflection.Emit.RuntimeModuleBuilder,int):this (FullOpts) -11 (-2.32 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HashProviderDispenser+OneShotHashProvider:HashData(System.String,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int (FullOpts) -11 (-1.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.MD5:HashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int (FullOpts) -11 (-3.55 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Pbkdf2Implementation:Fill(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName,System.Span`1[ubyte]) (FullOpts) -11 (-2.91 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) -11 (-3.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.Rfc2898DeriveBytes:Pbkdf2Core(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,System.Security.Cryptography.HashAlgorithmName) (FullOpts) -11 (-1.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA1:HashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int (FullOpts) -11 (-1.92 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.SHA256:HashData(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]):int (FullOpts) Top method regressions (percentages): 41 (Infinity of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketAsyncEngine:UnregisterSocket(long):this (FullOpts) 138 (10.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509CertificateReader+<>c:b__63_0(Microsoft.Win32.SafeHandles.SafeX509Handle):System.Security.Cryptography.X509Certificates.PolicyData:this (FullOpts) 58 (8.38 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.__Canon](System.ReadOnlySpan`1[System.__Canon],System.Span`1[System.__Canon]) (FullOpts) 73 (8.32 % of base) : System.Net.Sockets.dasm - System.Net.Sockets.SocketPal:SelectViaPoll(System.Collections.IList,int,System.Collections.IList,int,System.Collections.IList,int,ulong,int,int):int (FullOpts) 60 (7.73 % of base) : System.Net.Security.dasm - Interop+OpenSsl:AlpnServerSelectCallback(long,ulong,ulong,ulong,uint,long):int (FullOpts) 77 (6.74 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:ValidateGenericArguments(System.Reflection.MemberInfo,System.RuntimeType[],System.Exception) (FullOpts) 49 (6.58 % of base) : System.Private.CoreLib.dasm - System.Diagnostics.Tracing.EventPipeInternal:Enable(System.String,int,uint,System.Diagnostics.Tracing.EventPipeProviderConfiguration[]):ulong (FullOpts) 101 (6.43 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_RefArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_RefArgs (FullOpts) 40 (6.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[ubyte](System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte]) (FullOpts) 40 (6.35 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[int](System.ReadOnlySpan`1[int],System.Span`1[int]) (FullOpts) 40 (6.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[long](System.ReadOnlySpan`1[long],System.Span`1[long]) (FullOpts) 40 (6.34 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.Nullable`1[int]](System.ReadOnlySpan`1[System.Nullable`1[int]],System.Span`1[System.Nullable`1[int]]) (FullOpts) 40 (6.31 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[short](System.ReadOnlySpan`1[short],System.Span`1[short]) (FullOpts) 106 (6.26 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_Obj4Args(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_Obj4Args (FullOpts) 73 (6.03 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.OpenSslAsnFormatter:FormatNative(System.Security.Cryptography.Oid,ubyte[],ubyte):System.String:this (FullOpts) 37 (5.77 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[double](System.ReadOnlySpan`1[double],System.Span`1[double]) (FullOpts) 168 (5.60 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts) 37 (5.56 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetItemsCore[System.Numerics.Vector`1[float]](System.ReadOnlySpan`1[System.Numerics.Vector`1[float]],System.Span`1[System.Numerics.Vector`1[float]]) (FullOpts) 97 (5.56 % of base) : Microsoft.VisualBasic.Core.dasm - Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateInvoker(int):System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object] (FullOpts) 121 (5.53 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenNoLock(System.Reflection.MethodInfo,ubyte):int:this (FullOpts) 82 (5.51 % of base) : System.Private.CoreLib.dasm - System.Reflection.InvokerEmitUtil:CreateInvokeDelegate_ObjSpanArgs(System.Reflection.MethodBase,ubyte):System.Reflection.InvokerEmitUtil+InvokeFunc_ObjSpanArgs (FullOpts) 31 (5.22 % of base) : System.Data.Odbc.dasm - System.Data.Odbc.OdbcHandle:.ctor(short,System.Data.Odbc.OdbcHandle):this (FullOpts) 43 (5.11 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigPaths:GetTypeAndHashSuffix(System.String,ubyte):System.String (FullOpts) 34 (4.90 % of base) : System.Private.CoreLib.dasm - System.Reflection.RuntimeAssembly:InternalGetSatelliteAssembly(System.Reflection.Assembly,System.Globalization.CultureInfo,System.Version,ubyte):System.Reflection.Assembly (FullOpts) 73 (4.80 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMethodMetadataToken(System.Reflection.ConstructorInfo):int:this (FullOpts) 46 (4.45 % of base) : System.Private.CoreLib.dasm - System.Globalization.Normalization:IcuNormalize(System.String,int):System.String (FullOpts) 77 (4.38 % of base) : System.ComponentModel.TypeConverter.dasm - System.ComponentModel.Design.RuntimeLicenseContext:GetSavedLicenseKey(System.Type,System.Reflection.Assembly):System.String:this (FullOpts) 12 (4.36 % of base) : System.Diagnostics.Process.dasm - System.Diagnostics.Process:DelayedSigChildConsoleConfiguration() (FullOpts) 40 (4.19 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.__Canon,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 40 (4.18 % of base) : Microsoft.Extensions.Logging.Console.dasm - Microsoft.Extensions.Logging.Console.ConsoleLoggerProcessor:Enqueue(Microsoft.Extensions.Logging.Console.LogMessageEntry):ubyte:this (FullOpts) 52 (4.08 % 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) 49 (3.96 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslCachedSystemStoreProvider:g__ProcessFile|26_1(System.String,byref,byref):ubyte (FullOpts) 31 (3.89 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.RandomNumberGenerator:GetHexStringCore(System.Span`1[ushort],ubyte) (FullOpts) 32 (3.88 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslCertificateAssetDownloader:DownloadCrl(System.String,System.TimeSpan):Microsoft.Win32.SafeHandles.SafeX509CrlHandle (FullOpts) 28 (3.85 % of base) : Microsoft.Extensions.DependencyModel.dasm - Microsoft.Extensions.DependencyModel.DependencyContextLoader:Load(System.Reflection.Assembly):Microsoft.Extensions.DependencyModel.DependencyContext:this (FullOpts) 58 (3.83 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.BerConverter:EncodingMultiByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[][],ushort,ulong):int (FullOpts) 16 (3.82 % of base) : System.Console.dasm - System.ConsolePal:g__AppendToStdInReaderUntil|84_2(ubyte,System.IO.StdInReader,System.Span`1[ubyte],byref,byref):ubyte (FullOpts) 46 (3.73 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeModuleBuilder:GetMemberRefToken(System.Reflection.MethodBase,System.Type[]):int:this (FullOpts) 46 (3.67 % of base) : System.Configuration.ConfigurationManager.dasm - System.Configuration.ClientConfigurationSystem:EnsureInit(System.String):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[double]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[int]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[long]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[short]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[System.Nullable`1[int]]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[System.Numerics.Vector`1[float]]:FindNextEntry(ulong,int):this (FullOpts) 16 (3.66 % of base) : System.Private.CoreLib.dasm - System.IO.Enumeration.FileSystemEnumerator`1[ubyte]:FindNextEntry(ulong,int):this (FullOpts) 32 (3.60 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:InvokeResolveEvent(System.ResolveEventHandler,System.Reflection.RuntimeAssembly,System.String):System.Reflection.RuntimeAssembly (FullOpts) 13 (3.58 % of base) : System.Private.CoreLib.dasm - System.StubHelpers.AsAnyMarshaler:ConvertLayoutToNative(System.Object,int):long:this (FullOpts) 34 (3.56 % of base) : System.Private.CoreLib.dasm - System.Globalization.CompareInfo:IcuGetHashCodeOfString(System.ReadOnlySpan`1[ushort],int):int:this (FullOpts) 10 (3.41 % of base) : System.Private.CoreLib.dasm - System.RuntimeTypeHandle:GetActivationInfo(System.RuntimeType,byref,byref,byref,byref) (FullOpts) 30 (3.41 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int (FullOpts) 55 (3.40 % of base) : System.Console.dasm - System.IO.StdInReader:ReadLineCore(ubyte):ubyte:this (FullOpts) 19 (3.36 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:ImportPrincipalName(byref,System.String,int,byref):uint (FullOpts) 19 (3.36 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:ImportUserName(byref,System.String,int,byref):uint (FullOpts) 55 (3.36 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslDirectoryBasedStoreProvider:AddCertToStore(System.Security.Cryptography.X509Certificates.ICertificatePal):this (FullOpts) 31 (3.30 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 28 (3.28 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[int,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[short,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[ubyte,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[long,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.25 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[System.Nullable`1[int],System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 28 (3.24 % of base) : System.Linq.Parallel.dasm - System.Linq.Parallel.OrderPreservingPipeliningMergeHelper`2+OrderedPipeliningMergeEnumerator[double,System.Nullable`1[int]]:TryWaitForElement(int,byref):ubyte:this (FullOpts) 32 (3.21 % of base) : System.Private.CoreLib.dasm - System.Reflection.Assembly:LoadFromResolveHandler(System.Object,System.ResolveEventArgs):System.Reflection.Assembly (FullOpts) 13 (3.19 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicApi:ConnectionStart(System.Net.Quic.MsQuicSafeHandle,System.Net.Quic.MsQuicSafeHandle,ushort,ulong,ushort):int:this (FullOpts) 33 (3.13 % of base) : System.Security.Cryptography.ProtectedData.dasm - Interop+Kernel32:GetMessage(int,long):System.String (FullOpts) 23 (3.10 % of base) : System.Private.CoreLib.dasm - Interop+Sys:GetCwd():System.String (FullOpts) 31 (3.10 % of base) : System.Net.Quic.dasm - System.Net.Quic.MsQuicBuffers:Initialize[System.Numerics.Vector`1[float]](System.Collections.Generic.IList`1[System.Numerics.Vector`1[float]],System.Func`2[System.Numerics.Vector`1[float],System.ReadOnlyMemory`1[ubyte]]):this (FullOpts) 49 (3.09 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetMethodBase(System.RuntimeType,long):System.Reflection.MethodBase (FullOpts) 34 (2.97 % of base) : System.Private.CoreLib.dasm - System.RuntimeType:GetInterfaceMap(System.Type):System.Reflection.InterfaceMapping:this (FullOpts) 30 (2.95 % of base) : System.Private.CoreLib.dasm - Interop+Kernel32:GetMessage(int,long):System.String (FullOpts) 16 (2.95 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:BioNewFile(System.String,System.String):Microsoft.Win32.SafeHandles.SafeBioHandle (FullOpts) 16 (2.94 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:InitiateCredSpNego(byref,Microsoft.Win32.SafeHandles.SafeGssNameHandle,byref):uint (FullOpts) 22 (2.91 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeFieldBuilder:.ctor(System.Reflection.Emit.RuntimeTypeBuilder,System.String,System.Type,System.Type[],System.Type[],int):this (FullOpts) 19 (2.86 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.TripleDesImplementation:TryEncryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 19 (2.81 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DesImplementation:TryEncryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 19 (2.75 % of base) : System.Net.Security.dasm - Interop+NetSecurityNative:InitiateCredWithPassword(byref,uint,Microsoft.Win32.SafeHandles.SafeGssNameHandle,System.String,int,byref):uint (FullOpts) 13 (2.62 % of base) : System.Console.dasm - System.ConsolePal:g__BufferUntil|84_1(ubyte,byref,byref,byref):ubyte (FullOpts) 43 (2.58 % of base) : System.Private.CoreLib.dasm - System.Reflection.Emit.RuntimeTypeBuilder:.ctor(System.String,int,System.Type,System.Type[],System.Reflection.Emit.RuntimeModuleBuilder,int,int,System.Reflection.Emit.RuntimeTypeBuilder):this (FullOpts) 58 (2.54 % of base) : System.Private.Xml.dasm - System.Xml.Xsl.XmlILGenerator:Generate(System.Xml.Xsl.Qil.QilExpression,System.Reflection.Emit.TypeBuilder):System.Xml.Xsl.XmlILCommand:this (FullOpts) 10 (2.54 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.X509Certificates.OpenSslPkcsFormatReader:TryReadPkcs7Pem(System.ReadOnlySpan`1[ubyte],ubyte,byref,byref):ubyte (FullOpts) 31 (2.51 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.HMACCommon:ChangeKeyImpl(System.ReadOnlySpan`1[ubyte]):ubyte[]:this (FullOpts) 22 (2.50 % of base) : System.Private.CoreLib.dasm - System.Runtime.Loader.AssemblyLoadContext:GetFirstResolvedAssemblyFromResolvingEvent(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts) 13 (2.47 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_LoadPrivateKeyFromEngine(System.String,System.String):System.Security.Cryptography.SafeEvpPKeyHandle (FullOpts) 13 (2.47 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_LoadPublicKeyFromEngine(System.String,System.String):System.Security.Cryptography.SafeEvpPKeyHandle (FullOpts) 31 (2.46 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this (FullOpts) 49 (2.45 % of base) : System.DirectoryServices.Protocols.dasm - System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[] (FullOpts) 19 (2.42 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:EcKeyCreateByKeyParameters(byref,System.String,ubyte[],int,ubyte[],int,ubyte[],int):int (FullOpts) 10 (2.33 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_EvpMacCtxNew(Microsoft.Win32.SafeHandles.SafeEvpMacHandle):Microsoft.Win32.SafeHandles.SafeEvpMacCtxHandle (FullOpts) 10 (2.33 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:ReadX509AsDerFromBio(Microsoft.Win32.SafeHandles.SafeBioHandle):Microsoft.Win32.SafeHandles.SafeX509Handle (FullOpts) 10 (2.33 % of base) : System.Net.Security.dasm - Interop+Ssl:SslCreate(Microsoft.Win32.SafeHandles.SafeSslContextHandle):Microsoft.Win32.SafeHandles.SafeSslHandle (FullOpts) 10 (2.33 % of base) : System.Net.Security.dasm - Interop+Ssl:SslGetClientCAList_private(Microsoft.Win32.SafeHandles.SafeSslHandle):Microsoft.Win32.SafeHandles.SafeSharedX509NameStackHandle (FullOpts) 10 (2.33 % of base) : System.Net.Security.dasm - Interop+Ssl:SslGetPeerCertChain(Microsoft.Win32.SafeHandles.SafeSslHandle):Microsoft.Win32.SafeHandles.SafeSharedX509StackHandle (FullOpts) 13 (2.32 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.TripleDesImplementation:TryDecryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 10 (2.29 % of base) : System.Net.Security.dasm - Interop+Crypto:GetX509NameStackField_private(Microsoft.Win32.SafeHandles.SafeSharedX509NameStackHandle,int):Microsoft.Win32.SafeHandles.SafeSharedX509NameHandle (FullOpts) 13 (2.27 % of base) : System.Security.Cryptography.dasm - System.Security.Cryptography.DesImplementation:TryDecryptEcbCore(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],int,byref):ubyte:this (FullOpts) 19 (2.24 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:DsaKeyCreateByExplicitParameters(byref,ubyte[],int,ubyte[],int,ubyte[],int,ubyte[],int,ubyte[],int):ubyte (FullOpts) 10 (2.23 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_X509StoreCtxResetForSignatureError(Microsoft.Win32.SafeHandles.SafeX509StoreCtxHandle,byref):int (FullOpts) 10 (2.23 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:GetPkcs7Certificates(Microsoft.Win32.SafeHandles.SafePkcs7Handle,byref):int (FullOpts) 10 (2.22 % of base) : System.Security.Cryptography.dasm - Interop+Crypto:CryptoNative_EcKeyCreateByOid(System.String):Microsoft.Win32.SafeHandles.SafeEcKeyHandle (FullOpts) Top method improvements (percentages): -5 (-9.62 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke():int (FullOpts) -5 (-9.62 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke():int (FullOpts) -5 (-9.62 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke():long (FullOpts) -5 (-9.62 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,ulong,ulong) (FullOpts) -10 (-7.58 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.Formats.Tar.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.IO.FileSystem.Watcher.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -15 (-7.58 % of base) : System.Net.NetworkInformation.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (3 methods) -10 (-7.58 % of base) : System.IO.Compression.ZipFile.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.IO.MemoryMappedFiles.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.IO.FileSystem.DriveInfo.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -10 (-7.58 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[double]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[int]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[long]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[short]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.Nullable`1[int]]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[System.Numerics.Vector`1[float]]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-7.35 % of base) : System.Runtime.InteropServices.dasm - System.Runtime.InteropServices.Marshalling.ComInterfaceMarshaller`1[ubyte]:CastIUnknownToInterfaceType(long):ulong (FullOpts) -5 (-6.85 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(int,int):int (FullOpts) -24 (-6.74 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (4 methods) -14 (-6.64 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) (2 methods) -14 (-6.57 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int) (FullOpts) (2 methods) -19 (-6.55 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (3 methods) -23 (-6.22 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) (3 methods) -32 (-6.05 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) (4 methods) -12 (-5.91 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke() (FullOpts) (2 methods) -12 (-5.91 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke():int (FullOpts) (2 methods) -12 (-5.91 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke():uint (FullOpts) (2 methods) -5 (-5.81 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,int):int (FullOpts) -5 (-5.81 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,int):int (FullOpts) -5 (-5.81 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,int):int (FullOpts) -5 (-5.81 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,uint):int (FullOpts) -5 (-5.81 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,uint):int (FullOpts) -5 (-5.81 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,uint):int (FullOpts) -15 (-5.81 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ulong):int (FullOpts) (3 methods) -15 (-5.81 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ulong):int (FullOpts) (3 methods) -5 (-5.81 % of base) : System.Private.CoreLib.dasm - System.Runtime.InteropServices.DispatchWrapper:.ctor(System.Object):this (FullOpts) -5 (-5.75 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ushort):int (FullOpts) -5 (-5.75 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ushort):int (FullOpts) -5 (-5.75 % of base) : System.Net.Primitives.dasm - (dynamicClass):IL_STUB_PInvoke(ulong,int,ushort):int (FullOpts) -9 (-5.73 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(uint):int (FullOpts) -9 (-5.73 % of base) : System.Formats.Tar.dasm - (dynamicClass):IL_STUB_PInvoke(uint):ulong (FullOpts) -23 (-5.71 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.QCallTypeHandle):int (FullOpts) (3 methods) -9 (-5.70 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(int) (FullOpts) -18 (-5.70 % of base) : System.IO.Ports.dasm - (dynamicClass):IL_STUB_PInvoke(int):int (FullOpts) (2 methods) -18 (-5.70 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) (2 methods) -9 (-5.70 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) -9 (-5.70 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) -9 (-5.70 % of base) : System.Diagnostics.Process.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) -9 (-5.70 % of base) : Microsoft.Extensions.Logging.Console.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) -9 (-5.70 % of base) : System.IO.MemoryMappedFiles.dasm - (dynamicClass):IL_STUB_PInvoke(int):long (FullOpts) -9 (-5.70 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ushort) (FullOpts) -9 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) -9 (-5.66 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) -9 (-5.66 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) -9 (-5.66 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) -9 (-5.66 % of base) : System.IO.Compression.Brotli.dasm - (dynamicClass):IL_STUB_PInvoke(long) (FullOpts) -9 (-5.66 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -18 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -9 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.Net.NameResolution.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -18 (-5.66 % of base) : System.IO.Ports.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -9 (-5.66 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.Net.Ping.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.IO.Compression.Brotli.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -18 (-5.66 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) (2 methods) -9 (-5.66 % of base) : Microsoft.Extensions.Hosting.WindowsServices.dasm - (dynamicClass):IL_STUB_PInvoke(long):int (FullOpts) -9 (-5.66 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) -27 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) (3 methods) -9 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) -9 (-5.66 % of base) : System.Net.Quic.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) -9 (-5.66 % of base) : System.DirectoryServices.Protocols.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) -9 (-5.66 % of base) : System.Net.Security.dasm - (dynamicClass):IL_STUB_PInvoke(long):long (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(long):uint (FullOpts) -18 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(long):ulong (FullOpts) (2 methods) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.ObjectHandleOnStack) (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.ObjectHandleOnStack):long (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.StackCrawlMarkHandle):long (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Runtime.CompilerServices.StringHandleOnStack) (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(System.Threading.ThreadHandle) (FullOpts) -9 (-5.66 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) -9 (-5.66 % of base) : System.Net.NameResolution.dasm - (dynamicClass):IL_STUB_PInvoke(ulong) (FullOpts) -9 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):double (FullOpts) -9 (-5.66 % of base) : System.Net.WebSockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -9 (-5.66 % of base) : System.Console.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -45 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) (5 methods) -9 (-5.66 % of base) : System.Security.Cryptography.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -9 (-5.66 % of base) : System.IO.Pipes.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -9 (-5.66 % of base) : System.Net.NetworkInformation.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -9 (-5.66 % of base) : System.IO.MemoryMappedFiles.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -18 (-5.66 % of base) : System.Net.Sockets.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) (2 methods) -9 (-5.66 % of base) : System.IO.Compression.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) -18 (-5.66 % of base) : System.Private.CoreLib.dasm - (dynamicClass):IL_STUB_PInvoke(ulong):long (FullOpts) (2 methods) 2606 total methods with Code Size differences (2271 improved, 335 regressed), 237231 unchanged. -------------------------------------------------------------------------------- ```

Artifacts:

MihuBot commented 6 months ago

Top method regressions

168 (5.60 % of base) - System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] ```diff ; Assembly listing for method System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 25 single block inlinees; 10 inlinees without PGO data ; Final local variable assignments ; -; V00 arg0 [V00,T52] ( 11, 10.12) ref -> [rbp-0x50] class-hnd single-def -; V01 arg1 [V01,T13] ( 10, 66 ) ref -> [rbp-0x58] class-hnd single-def -; V02 loc0 [V02,T45] ( 9, 22.50) ref -> [rbp-0x60] class-hnd -; V03 loc1 [V03,T49] ( 5, 16.50) ref -> [rbp-0x68] class-hnd exact spill-single-def -; V04 loc2 [V04,T60] ( 3, 3 ) ref -> [rbp-0x70] class-hnd -; V05 loc3 [V05,T56] ( 4, 7 ) ref -> [rbp-0x78] class-hnd +; V00 arg0 [V00,T52] ( 11, 10.12) ref -> [rbp-0x90] class-hnd single-def +; V01 arg1 [V01,T13] ( 10, 66 ) ref -> [rbp-0x98] class-hnd single-def +; V02 loc0 [V02,T45] ( 9, 22.50) ref -> [rbp-0xA0] class-hnd +; V03 loc1 [V03,T49] ( 5, 16.50) ref -> [rbp-0xA8] class-hnd exact spill-single-def +; V04 loc2 [V04,T60] ( 3, 3 ) ref -> [rbp-0xB0] class-hnd +; V05 loc3 [V05,T56] ( 4, 7 ) ref -> [rbp-0xB8] class-hnd ;* V06 loc4 [V06,T68] ( 0, 0 ) int -> zero-ref -; V07 loc5 [V07,T12] ( 17, 68 ) ref -> [rbp-0x80] class-hnd +; V07 loc5 [V07,T12] ( 17, 68 ) ref -> [rbp-0xC0] class-hnd ; V08 loc6 [V08,T22] ( 12, 52 ) int -> [rbp-0x2C] -; V09 loc7 [V09,T11] ( 15, 73.32) ref -> [rbp-0x88] class-hnd +; V09 loc7 [V09,T11] ( 15, 73.32) ref -> [rbp-0xC8] class-hnd ; V10 loc8 [V10,T42] ( 4, 24 ) long -> r15 ; V11 loc9 [V11,T46] ( 3, 20 ) int -> [rbp-0x30] spill-single-def ; V12 loc10 [V12,T14] ( 8, 64 ) long -> r13 ; V13 loc11 [V13,T07] ( 13, 88.16) int -> [rbp-0x34] ; V14 loc12 [V14,T01] ( 24,146.16) int -> [rbp-0x38] -; V15 loc13 [V15,T20] ( 12, 56.32) ref -> [rbp-0x90] class-hnd +; V15 loc13 [V15,T20] ( 12, 56.32) ref -> [rbp-0xD0] class-hnd ;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V17 tmp1 [V17,T57] ( 5, 5 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" ; V18 tmp2 [V18,T34] ( 4, 32 ) ref -> rax class-hnd exact "NewObj constructor temp" ; V19 tmp3 [V19,T43] ( 3, 24 ) ref -> rdi class-hnd exact "dup spill" ;* V20 tmp4 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ;* V21 tmp5 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" ; V22 tmp6 [V22,T03] ( 6, 96 ) ref -> rax class-hnd exact "Single-def Box Helper" ; V23 tmp7 [V23,T08] ( 6, 72 ) ref -> rax "ISINST eval op1" ;* V24 tmp8 [V24,T40] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" -; V25 tmp9 [V25,T00] ( 10,160 ) ref -> [rbp-0x98] class-hnd exact "NewObj constructor temp" +; V25 tmp9 [V25,T00] ( 10,160 ) ref -> [rbp-0xD8] class-hnd exact "NewObj constructor temp" ; V26 tmp10 [V26,T04] ( 6, 96 ) ref -> rax class-hnd exact "Single-def Box Helper" ; V27 tmp11 [V27,T54] ( 2, 8 ) ref -> rdi class-hnd exact "impAppendStmt" ; V28 tmp12 [V28,T55] ( 2, 8 ) ref -> r8 class-hnd "Inlining Arg" ;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ;* V30 tmp14 [V30 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V31 tmp15 [V31 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V32 tmp16 [V32,T09] ( 6, 80 ) long -> rdi "Inlining Arg" ; V33 tmp17 [V33,T32] ( 6, 32 ) long -> rdi ; V34 tmp18 [V34,T24] ( 6, 48 ) long -> rax "Inline stloc first use temp" ; V35 tmp19 [V35,T05] ( 6, 96 ) long -> rbx "Inlining Arg" ; V36 tmp20 [V36,T06] ( 6, 96 ) int -> r12 "Inlining Arg" ;* V37 tmp21 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V38 tmp22 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ;* V39 tmp23 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ;* V40 tmp24 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" ;* V41 tmp25 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V42 tmp26 [V42,T15] ( 4, 64 ) byref -> rsi "Inlining Arg" ; V43 tmp27 [V43,T16] ( 4, 64 ) long -> rdx "Inlining Arg" ;* V44 tmp28 [V44 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V45 tmp29 [V45,T10] ( 6, 80 ) long -> rdi "Inlining Arg" ; V46 tmp30 [V46,T33] ( 6, 32 ) long -> rdi ; V47 tmp31 [V47,T25] ( 6, 48 ) long -> r13 "Inline stloc first use temp" ;* V48 tmp32 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" ; V49 tmp33 [V49,T58] ( 2, 4 ) ref -> rax single-def "Single return block return value" ; V50 FramesRoot [V50,T02] ( 18,130 ) long -> r14 "Pinvoke FrameListRoot" -; V51 PInvokeFrame [V51 ] ( 20,132 ) struct (72) [rbp-0xE8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V51 PInvokeFrame [V51 ] ( 20,132 ) struct (64) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; V52 tmp36 [V52,T35] ( 4, 32 ) byref -> rsi "field V37._reference (fldOffset=0x0)" P-INDEP ; V53 tmp37 [V53,T26] ( 6, 48 ) int -> r12 "field V37._length (fldOffset=0x8)" P-INDEP ;* V54 tmp38 [V54 ] ( 0, 0 ) byref -> zero-ref "field V38._reference (fldOffset=0x0)" P-INDEP ;* V55 tmp39 [V55 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP ; V56 tmp40 [V56,T36] ( 4, 32 ) byref -> rdi "field V39._reference (fldOffset=0x0)" P-INDEP ;* V57 tmp41 [V57 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ;* V58 tmp42 [V58 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP ;* V59 tmp43 [V59 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP ; V60 tmp44 [V60,T61] ( 3, 3 ) ref -> rdi single-def "argument with side effect" ; V61 tmp45 [V61,T62] ( 3, 3 ) ref -> rdi single-def "argument with side effect" ; V62 tmp46 [V62,T64] ( 2, 2 ) long -> rsi "argument with side effect" ; V63 tmp47 [V63,T41] ( 6, 27 ) ref -> rdi "argument with side effect" ; V64 tmp48 [V64,T44] ( 3, 24 ) ref -> rdi "argument with side effect" ; V65 tmp49 [V65,T53] ( 3, 12 ) ref -> rdi "argument with side effect" ; V66 tmp50 [V66,T37] ( 4, 32 ) ref -> rax "argument with side effect" ; V67 tmp51 [V67,T29] ( 6, 36 ) ref -> rax "argument with side effect" ; V68 tmp52 [V68,T30] ( 6, 36 ) ref -> rax "argument with side effect" ; V69 tmp53 [V69,T23] ( 6, 48 ) ref -> rdi "argument with side effect" ; V70 tmp54 [V70,T38] ( 4, 32 ) ref -> rax "argument with side effect" ; V71 tmp55 [V71,T31] ( 6, 32 ) ref -> rax "argument with side effect" ; V72 tmp56 [V72,T39] ( 4, 32 ) ref -> rsi "argument with side effect" -; V73 cse0 [V73,T50] ( 6, 16 ) ref -> [rbp-0xA0] multi-def "CSE #05: conservative" +; V73 cse0 [V73,T50] ( 6, 16 ) ref -> [rbp-0xE0] multi-def "CSE #05: conservative" ; V74 cse1 [V74,T69] ( 3, 0.48) ref -> rdi "CSE #18: conservative" ; V75 cse2 [V75,T27] ( 3, 47.52) ref -> rdi "CSE #08: moderate" -; V76 cse3 [V76,T17] ( 4, 63.36) int -> [rbp-0x3C] spill-single-def "CSE #06: moderate" -; V77 rat0 [V77,T28] ( 12, 36.50) long -> [rbp-0x48] "Widened IV V06" +; V76 cse3 [V76,T17] ( 4, 63.36) int -> [rbp-0x7C] spill-single-def "CSE #06: moderate" +; V77 rat0 [V77,T28] ( 12, 36.50) long -> [rbp-0x88] "Widened IV V06" ; V78 rat1 [V78,T59] ( 4, 3.25) ref -> rax "replacement local" ; V79 rat2 [V79,T63] ( 3, 2.25) long -> rdi "CSE for expectedClsNode" ; V80 rat3 [V80,T21] ( 4, 55.44) ref -> rsi "replacement local" ; V81 rat4 [V81,T51] ( 3, 15.84) long -> rdi "CSE for expectedClsNode" ; V82 rat5 [V82,T18] ( 5, 59.40) ref -> rdi "replacement local" ; V83 rat6 [V83,T47] ( 3, 19.80) long -> rcx "CSE for expectedClsNode" ; V84 rat7 [V84,T19] ( 5, 59.40) ref -> rsi "replacement local" ; V85 rat8 [V85,T48] ( 3, 19.80) long -> rdi "CSE for expectedClsNode" ; V86 rat9 [V86,T67] ( 4, 0.56) ref -> rsi "replacement local" ; V87 rat10 [V87,T72] ( 3, 0.16) long -> rdi "CSE for expectedClsNode" ; V88 rat11 [V88,T65] ( 5, 0.60) ref -> rdi "replacement local" ; V89 rat12 [V89,T70] ( 3, 0.20) long -> rcx "CSE for expectedClsNode" ; V90 rat13 [V90,T66] ( 5, 0.60) ref -> registers "replacement local" ; V91 rat14 [V91,T71] ( 3, 0.20) long -> rdi "CSE for expectedClsNode" ; -; Lcl frame size = 200 +; Lcl frame size = 184 G_M10688_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 200 + sub rsp, 184 vzeroupper - lea rbp, [rsp+0xF0] - mov gword ptr [rbp-0x58], rsi + lea rbp, [rsp+0xE0] + mov gword ptr [rbp-0x98], rsi mov r15, rdi - ;; size=35 bbWeight=1 PerfScore 9.00 + ;; size=38 bbWeight=1 PerfScore 9.00 G_M10688_IG02: - lea rdi, [rbp-0xE0] - xor esi, esi + lea rdi, [rbp-0x70] call CORINFO_HELP_INIT_PINVOKE_FRAME mov r14, rax mov rdi, rsp - mov qword ptr [rbp-0xC0], rdi + mov qword ptr [rbp-0x58], rdi mov rdi, rbp - mov qword ptr [rbp-0xB0], rdi + mov qword ptr [rbp-0x48], rdi xor r13, r13 test r15, r15 - je SHORT G_M10688_IG04 - ;; size=45 bbWeight=1 PerfScore 6.00 + je G_M10688_IG04 + ;; size=38 bbWeight=1 PerfScore 5.75 G_M10688_IG03: mov rdi, gword ptr [r15+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x30]System.Collections.ArrayList:get_Count():int:this test eax, eax - mov gword ptr [rbp-0x60], r13 + mov gword ptr [rbp-0xA0], r13 je G_M10688_IG85 mov rdi, 0xD1FFAB1E ; System.Text.UTF8Encoding call CORINFO_HELP_NEWSFAST mov r12, rax mov byte ptr [r12+0x24], 1 mov dword ptr [r12+0x20], 0xFDE9 mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this call [rax]System.Text.UTF8Encoding:SetDefaultFallbacks():this - mov gword ptr [rbp-0x68], r12 + mov gword ptr [rbp-0xA8], r12 xor r13, r13 xor rax, rax - mov gword ptr [rbp-0x78], rax + mov gword ptr [rbp-0xB8], rax mov rsi, r15 mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.DirectoryAttributeModificationCollection mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rcx]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M10688_IG05 mov r13, r15 jmp SHORT G_M10688_IG08 - ;; size=122 bbWeight=0.50 PerfScore 14.00 + ;; size=131 bbWeight=0.50 PerfScore 14.00 G_M10688_IG04: - mov gword ptr [rbp-0x60], r13 + mov gword ptr [rbp-0xA0], r13 jmp G_M10688_IG85 - ;; size=9 bbWeight=0.50 PerfScore 1.50 + ;; size=12 bbWeight=0.50 PerfScore 1.50 G_M10688_IG05: mov rax, r15 mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.DirectoryAttributeCollection cmp qword ptr [rax], rdi je SHORT G_M10688_IG07 ;; size=18 bbWeight=0.50 PerfScore 2.25 G_M10688_IG06: mov rsi, r15 mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL ;; size=15 bbWeight=0.12 PerfScore 0.44 G_M10688_IG07: - mov gword ptr [rbp-0x78], rax - ;; size=4 bbWeight=0.50 PerfScore 0.50 + mov gword ptr [rbp-0xB8], rax + ;; size=7 bbWeight=0.50 PerfScore 0.50 G_M10688_IG08: mov rdi, gword ptr [r15+0x08] mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x40] call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this movsxd rsi, eax mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapMod[] call CORINFO_HELP_NEWARR_1_OBJ - mov gword ptr [rbp-0x60], rax + mov gword ptr [rbp-0xA0], rax xor ecx, ecx - mov qword ptr [rbp-0x48], rcx - mov gword ptr [rbp-0x50], r15 + mov qword ptr [rbp-0x88], rcx + mov gword ptr [rbp-0x90], r15 mov rdi, gword ptr [r15+0x08] mov rdx, qword ptr [rdi] mov rdx, qword ptr [rdx+0x40] call [rdx+0x30]System.Collections.ArrayList:get_Count():int:this test eax, eax jle G_M10688_IG85 - ;; size=68 bbWeight=0.50 PerfScore 12.00 + ;; size=77 bbWeight=0.50 PerfScore 12.00 G_M10688_IG09: - mov rax, gword ptr [rbp-0x78] + mov rax, gword ptr [rbp-0xB8] test rax, rax je SHORT G_M10688_IG11 - ;; size=9 bbWeight=4 PerfScore 9.00 + ;; size=12 bbWeight=4 PerfScore 9.00 G_M10688_IG10: - mov gword ptr [rbp-0x78], rax + mov gword ptr [rbp-0xB8], rax mov rdi, rax - mov rsi, qword ptr [rbp-0x48] + mov rsi, qword ptr [rbp-0x88] mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttributeCollection:get_Item(int):System.DirectoryServices.Protocols.DirectoryAttribute:this call [rcx]System.DirectoryServices.Protocols.DirectoryAttributeCollection:get_Item(int):System.DirectoryServices.Protocols.DirectoryAttribute:this - mov gword ptr [rbp-0x80], rax + mov gword ptr [rbp-0xC0], rax jmp SHORT G_M10688_IG12 - ;; size=29 bbWeight=2 PerfScore 17.00 + ;; size=38 bbWeight=2 PerfScore 17.00 G_M10688_IG11: - mov gword ptr [rbp-0x78], rax - mov gword ptr [rbp-0x70], r13 + mov gword ptr [rbp-0xB8], rax + mov gword ptr [rbp-0xB0], r13 mov rdi, r13 - mov rsi, qword ptr [rbp-0x48] + mov rsi, qword ptr [rbp-0x88] mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttributeModificationCollection:get_Item(int):System.DirectoryServices.Protocols.DirectoryAttributeModification:this cmp dword ptr [rdi], edi call [rcx]System.DirectoryServices.Protocols.DirectoryAttributeModificationCollection:get_Item(int):System.DirectoryServices.Protocols.DirectoryAttributeModification:this - mov gword ptr [rbp-0x80], rax - mov r13, gword ptr [rbp-0x70] - ;; size=37 bbWeight=2 PerfScore 23.00 + mov gword ptr [rbp-0xC0], rax + mov r13, gword ptr [rbp-0xB0] + ;; size=52 bbWeight=2 PerfScore 23.00 G_M10688_IG12: mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapMod call CORINFO_HELP_NEWFAST xor edi, edi mov qword ptr [rax+0x10], rdi ;; size=21 bbWeight=4 PerfScore 10.00 G_M10688_IG13: mov qword ptr [rax+0x18], rdi - mov rcx, qword ptr [rbp-0x48] - mov rdx, gword ptr [rbp-0x60] + mov rcx, qword ptr [rbp-0x88] + mov rdx, gword ptr [rbp-0xA0] cmp ecx, dword ptr [rdx+0x08] jae G_M10688_IG87 - mov gword ptr [rbp-0x60], rdx - mov qword ptr [rbp-0x48], rcx + mov gword ptr [rbp-0xA0], rdx + mov qword ptr [rbp-0x88], rcx lea rdi, bword ptr [rdx+8*rcx+0x10] mov rsi, rax call CORINFO_HELP_ASSIGN_REF - mov rsi, gword ptr [rbp-0x80] + mov rsi, gword ptr [rbp-0xC0] mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.DirectoryAttributeModification mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M10688_IG15 - ;; size=73 bbWeight=4 PerfScore 68.00 + ;; size=88 bbWeight=4 PerfScore 68.00 G_M10688_IG14: - mov rax, gword ptr [rbp-0x60] - mov rcx, qword ptr [rbp-0x48] + mov rax, gword ptr [rbp-0xA0] + mov rcx, qword ptr [rbp-0x88] mov rdx, gword ptr [rax+8*rcx+0x10] mov rdi, rdx - mov rsi, gword ptr [rbp-0x80] + mov rsi, gword ptr [rbp-0xC0] mov r8, rsi mov r8d, dword ptr [r8+0x1C] mov dword ptr [rdi+0x08], r8d - mov qword ptr [rbp-0x48], rcx - mov gword ptr [rbp-0x60], rax + mov qword ptr [rbp-0x88], rcx + mov gword ptr [rbp-0xA0], rax jmp SHORT G_M10688_IG16 - ;; size=41 bbWeight=2 PerfScore 25.00 + ;; size=56 bbWeight=2 PerfScore 25.00 G_M10688_IG15: - mov rax, gword ptr [rbp-0x60] - mov rcx, qword ptr [rbp-0x48] + mov rax, gword ptr [rbp-0xA0] + mov rcx, qword ptr [rbp-0x88] mov rdx, gword ptr [rax+8*rcx+0x10] xor edi, edi mov dword ptr [rdx+0x08], edi - mov rsi, gword ptr [rbp-0x80] - ;; size=22 bbWeight=2 PerfScore 12.50 + mov rsi, gword ptr [rbp-0xC0] + ;; size=31 bbWeight=2 PerfScore 12.50 G_M10688_IG16: - mov gword ptr [rbp-0xA0], rdx + mov gword ptr [rbp-0xE0], rdx mov rdi, rdx or dword ptr [rdi+0x08], 128 - mov gword ptr [rbp-0x80], rsi + mov gword ptr [rbp-0xC0], rsi mov rdi, gword ptr [rsi+0x10] mov r8, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StringToHGlobalAnsi(System.String):long call [r8]System.Runtime.InteropServices.Marshal:StringToHGlobalAnsi(System.String):long - mov rdi, gword ptr [rbp-0xA0] + mov rdi, gword ptr [rbp-0xE0] mov qword ptr [rdi+0x10], rax xor eax, eax mov dword ptr [rbp-0x2C], eax xor rcx, rcx - mov gword ptr [rbp-0x88], rcx - mov rdx, gword ptr [rbp-0x80] + mov gword ptr [rbp-0xC8], rcx + mov rdx, gword ptr [rbp-0xC0] mov rdi, gword ptr [rdx+0x08] mov rsi, qword ptr [rdi] mov rsi, qword ptr [rsi+0x40] call [rsi+0x30]System.Collections.ArrayList:get_Count():int:this test eax, eax jle G_M10688_IG25 - ;; size=89 bbWeight=4 PerfScore 105.00 + ;; size=95 bbWeight=4 PerfScore 105.00 G_M10688_IG17: - mov rax, gword ptr [rbp-0x80] + mov rax, gword ptr [rbp-0xC0] mov rdi, gword ptr [rax+0x08] mov rcx, qword ptr [rdi] mov rcx, qword ptr [rcx+0x40] call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this mov dword ptr [rbp-0x2C], eax movsxd rsi, eax mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.BerVal[] call CORINFO_HELP_NEWARR_1_OBJ xor ecx, ecx mov edx, dword ptr [rbp-0x2C] test edx, edx jle G_M10688_IG24 - ;; size=52 bbWeight=2 PerfScore 30.00 + ;; size=55 bbWeight=2 PerfScore 30.00 G_M10688_IG18: - mov gword ptr [rbp-0x88], rax + mov gword ptr [rbp-0xC8], rax mov dword ptr [rbp-0x2C], edx cmp dword ptr [rax+0x08], edx jl G_M10688_IG43 ;; size=19 bbWeight=1 PerfScore 6.00 G_M10688_IG19: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov dword ptr [rbp-0x38], ecx mov esi, ecx mov r8, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [r8]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this test rax, rax - je SHORT G_M10688_IG26 - ;; size=27 bbWeight=15.84 PerfScore 106.92 + je G_M10688_IG26 + ;; size=34 bbWeight=15.84 PerfScore 106.92 G_M10688_IG20: mov rdi, 0xD1FFAB1E ; System.String cmp qword ptr [rax], rdi jne SHORT G_M10688_IG26 ;; size=15 bbWeight=3.96 PerfScore 16.83 G_M10688_IG21: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rsi, rax test rsi, rsi je SHORT G_M10688_IG23 - ;; size=27 bbWeight=7.92 PerfScore 53.46 + ;; size=30 bbWeight=7.92 PerfScore 53.46 G_M10688_IG22: mov rdi, 0xD1FFAB1E ; System.String cmp qword ptr [rsi], rdi jne G_M10688_IG88 ;; size=19 bbWeight=3.96 PerfScore 16.83 G_M10688_IG23: mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this mov rsi, rax - mov gword ptr [rbp-0x90], rsi + mov gword ptr [rbp-0xD0], rsi jmp G_M10688_IG34 ;; size=30 bbWeight=7.92 PerfScore 53.46 G_M10688_IG24: - mov gword ptr [rbp-0x88], rax + mov gword ptr [rbp-0xC8], rax mov dword ptr [rbp-0x2C], edx - mov gword ptr [rbp-0x70], r13 + mov gword ptr [rbp-0xB0], r13 jmp G_M10688_IG65 - ;; size=19 bbWeight=1 PerfScore 5.00 + ;; size=22 bbWeight=1 PerfScore 5.00 G_M10688_IG25: - mov gword ptr [rbp-0x70], r13 + mov gword ptr [rbp-0xB0], r13 jmp G_M10688_IG65 - ;; size=9 bbWeight=2 PerfScore 6.00 + ;; size=12 bbWeight=2 PerfScore 6.00 G_M10688_IG26: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rsi, rax mov rdi, 0xD1FFAB1E ; System.Uri mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M10688_IG30 - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rdi, rax test rdi, rdi je SHORT G_M10688_IG29 - ;; size=76 bbWeight=7.92 PerfScore 134.64 + ;; size=82 bbWeight=7.92 PerfScore 134.64 G_M10688_IG27: mov rcx, 0xD1FFAB1E ; System.Uri cmp qword ptr [rdi], rcx je SHORT G_M10688_IG29 ;; size=15 bbWeight=3.96 PerfScore 16.83 G_M10688_IG28: mov rsi, rax mov rdi, rcx mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL mov rdi, rax ;; size=21 bbWeight=1.98 PerfScore 7.92 G_M10688_IG29: mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x08]System.Object:ToString():System.String:this mov rsi, rax mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this mov rsi, rax - mov gword ptr [rbp-0x90], rsi - mov r12, gword ptr [rbp-0x68] + mov gword ptr [rbp-0xD0], rsi + mov r12, gword ptr [rbp-0xA8] jmp SHORT G_M10688_IG34 - ;; size=44 bbWeight=7.92 PerfScore 118.80 + ;; size=47 bbWeight=7.92 PerfScore 118.80 G_M10688_IG30: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rsi, rax test rsi, rsi je SHORT G_M10688_IG33 - ;; size=27 bbWeight=7.92 PerfScore 53.46 + ;; size=30 bbWeight=7.92 PerfScore 53.46 G_M10688_IG31: mov rdi, 0xD1FFAB1E ; ubyte[] cmp qword ptr [rsi], rdi je SHORT G_M10688_IG33 ;; size=15 bbWeight=3.96 PerfScore 16.83 G_M10688_IG32: mov rsi, rax mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTARRAY call [rax]CORINFO_HELP_CHKCASTARRAY mov rsi, rax ;; size=18 bbWeight=1.98 PerfScore 7.42 G_M10688_IG33: - mov gword ptr [rbp-0x90], rsi + mov gword ptr [rbp-0xD0], rsi ;; size=7 bbWeight=7.92 PerfScore 7.92 G_M10688_IG34: mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.BerVal call CORINFO_HELP_NEWSFAST xor edi, edi mov qword ptr [rax+0x10], rdi - mov rsi, gword ptr [rbp-0x90] + mov rsi, gword ptr [rbp-0xD0] mov ecx, dword ptr [rsi+0x08] - mov dword ptr [rbp-0x3C], ecx - mov gword ptr [rbp-0x98], rax + mov dword ptr [rbp-0x7C], ecx + mov gword ptr [rbp-0xD8], rax mov dword ptr [rax+0x08], ecx mov edi, ecx test rdi, rdi jne SHORT G_M10688_IG36 ;; size=51 bbWeight=15.84 PerfScore 158.40 G_M10688_IG35: mov edi, 1 - mov gword ptr [rbp-0x70], r13 + mov gword ptr [rbp-0xB0], r13 jmp SHORT G_M10688_IG37 - ;; size=11 bbWeight=7.92 PerfScore 25.74 + ;; size=14 bbWeight=7.92 PerfScore 25.74 G_M10688_IG36: - mov gword ptr [rbp-0x70], r13 - ;; size=4 bbWeight=7.92 PerfScore 7.92 + mov gword ptr [rbp-0xB0], r13 + ;; size=7 bbWeight=7.92 PerfScore 7.92 G_M10688_IG37: mov rdx, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0xD0], rdx + mov qword ptr [rbp-0x60], rdx lea rdx, G_M10688_IG40 - mov qword ptr [rbp-0xB8], rdx - lea rdx, bword ptr [rbp-0xE0] + mov qword ptr [rbp-0x50], rdx + lea rdx, [rbp-0x70] mov qword ptr [r14+0x08], rdx mov byte ptr [r14+0x04], 0 - ;; size=47 bbWeight=15.84 PerfScore 91.08 + ;; size=38 bbWeight=15.84 PerfScore 91.08 G_M10688_IG38: mov rax, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong ;; size=10 bbWeight=15.84 PerfScore 3.96 G_M10688_IG39: call [rax]Interop+Sys:Malloc(ulong):ulong ;; size=2 bbWeight=15.84 PerfScore 47.52 G_M10688_IG40: mov byte ptr [r14+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M10688_IG41 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=15.84 PerfScore 134.64 G_M10688_IG41: - mov rdi, bword ptr [rbp-0xD8] + mov rdi, qword ptr [rbp-0x68] mov qword ptr [r14+0x08], rdi test rax, rax je G_M10688_IG92 - mov rbx, gword ptr [rbp-0x98] + mov rbx, gword ptr [rbp-0xD8] mov qword ptr [rbx+0x10], rax mov r15d, dword ptr [rbp-0x38] mov edi, r15d - mov r13, gword ptr [rbp-0x88] + mov r13, gword ptr [rbp-0xC8] lea rdi, bword ptr [r13+8*rdi+0x10] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.IntPtr call CORINFO_HELP_NEWSFAST mov esi, r15d mov rsi, gword ptr [r13+8*rsi+0x10] mov rsi, qword ptr [rsi+0x10] mov qword ptr [rax+0x08], rsi mov rsi, rax - mov rdi, gword ptr [rbp-0x58] - mov gword ptr [rbp-0x58], rdi + mov rdi, gword ptr [rbp-0x98] + mov gword ptr [rbp-0x98], rdi mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x28]System.Collections.ArrayList:Add(System.Object):int:this mov edi, r15d - mov gword ptr [rbp-0x88], r13 + mov gword ptr [rbp-0xC8], r13 mov rdi, gword ptr [r13+8*rdi+0x10] mov rbx, qword ptr [rdi+0x10] mov r12d, dword ptr [rdi+0x08] test rbx, rbx je G_M10688_IG90 - cmp dword ptr [rbp-0x3C], r12d + cmp dword ptr [rbp-0x7C], r12d jb G_M10688_IG91 - mov rsi, gword ptr [rbp-0x90] + mov rsi, gword ptr [rbp-0xD0] add rsi, 16 test r12d, r12d jl G_M10688_IG91 mov rdi, rbx mov edx, r12d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) inc r15d cmp r15d, dword ptr [rbp-0x2C] mov ecx, r15d jge G_M10688_IG65 - ;; size=206 bbWeight=15.84 PerfScore 756.36 + ;; size=209 bbWeight=15.84 PerfScore 756.36 G_M10688_IG42: - mov r12, gword ptr [rbp-0x68] - mov r13, gword ptr [rbp-0x70] + mov r12, gword ptr [rbp-0xA8] + mov r13, gword ptr [rbp-0xB0] jmp G_M10688_IG19 - ;; size=13 bbWeight=7.92 PerfScore 31.68 + ;; size=19 bbWeight=7.92 PerfScore 31.68 G_M10688_IG43: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov dword ptr [rbp-0x38], ecx mov esi, ecx mov r8, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [r8]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this test rax, rax je SHORT G_M10688_IG48 - ;; size=27 bbWeight=0.16 PerfScore 1.08 + ;; size=30 bbWeight=0.16 PerfScore 1.08 G_M10688_IG44: mov rdi, 0xD1FFAB1E ; System.String cmp qword ptr [rax], rdi jne SHORT G_M10688_IG48 ;; size=15 bbWeight=0.04 PerfScore 0.17 G_M10688_IG45: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rsi, rax test rsi, rsi je SHORT G_M10688_IG47 - ;; size=27 bbWeight=0.08 PerfScore 0.54 + ;; size=30 bbWeight=0.08 PerfScore 0.54 G_M10688_IG46: mov rdi, 0xD1FFAB1E ; System.String cmp qword ptr [rsi], rdi jne G_M10688_IG89 ;; size=19 bbWeight=0.04 PerfScore 0.17 G_M10688_IG47: mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this - mov gword ptr [rbp-0x90], rax + mov gword ptr [rbp-0xD0], rax jmp G_M10688_IG56 ;; size=27 bbWeight=0.08 PerfScore 0.52 G_M10688_IG48: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rsi, rax mov rdi, 0xD1FFAB1E ; System.Uri mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M10688_IG52 - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rdi, rax test rdi, rdi je SHORT G_M10688_IG51 - ;; size=76 bbWeight=0.08 PerfScore 1.36 + ;; size=82 bbWeight=0.08 PerfScore 1.36 G_M10688_IG49: mov rcx, 0xD1FFAB1E ; System.Uri cmp qword ptr [rdi], rcx je SHORT G_M10688_IG51 ;; size=15 bbWeight=0.04 PerfScore 0.17 G_M10688_IG50: mov rsi, rax mov rdi, rcx mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL mov rdi, rax ;; size=21 bbWeight=0.02 PerfScore 0.08 G_M10688_IG51: mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x08]System.Object:ToString():System.String:this mov rsi, rax mov rdi, r12 mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this - mov gword ptr [rbp-0x90], rax - mov r12, gword ptr [rbp-0x68] + mov gword ptr [rbp-0xD0], rax + mov r12, gword ptr [rbp-0xA8] jmp SHORT G_M10688_IG56 - ;; size=41 bbWeight=0.08 PerfScore 1.18 + ;; size=44 bbWeight=0.08 PerfScore 1.18 G_M10688_IG52: - mov rdi, gword ptr [rbp-0x80] + mov rdi, gword ptr [rbp-0xC0] mov esi, dword ptr [rbp-0x38] mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this mov rcx, rax test rcx, rcx je SHORT G_M10688_IG55 - ;; size=27 bbWeight=0.08 PerfScore 0.54 + ;; size=30 bbWeight=0.08 PerfScore 0.54 G_M10688_IG53: mov rdi, 0xD1FFAB1E ; ubyte[] cmp qword ptr [rcx], rdi je SHORT G_M10688_IG55 ;; size=15 bbWeight=0.04 PerfScore 0.17 G_M10688_IG54: mov rsi, rax mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTARRAY call [rax]CORINFO_HELP_CHKCASTARRAY mov rcx, rax ;; size=18 bbWeight=0.02 PerfScore 0.08 G_M10688_IG55: - mov gword ptr [rbp-0x90], rcx + mov gword ptr [rbp-0xD0], rcx ;; size=7 bbWeight=0.08 PerfScore 0.08 G_M10688_IG56: mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.BerVal call CORINFO_HELP_NEWSFAST xor edi, edi mov qword ptr [rax+0x10], rdi - mov rcx, gword ptr [rbp-0x90] + mov rcx, gword ptr [rbp-0xD0] mov edi, dword ptr [rcx+0x08] - mov gword ptr [rbp-0x98], rax + mov gword ptr [rbp-0xD8], rax mov dword ptr [rax+0x08], edi - mov gword ptr [rbp-0x90], rcx + mov gword ptr [rbp-0xD0], rcx mov edi, dword ptr [rcx+0x08] test rdi, rdi jne SHORT G_M10688_IG58 ;; size=56 bbWeight=0.16 PerfScore 1.88 G_M10688_IG57: mov edi, 1 - mov gword ptr [rbp-0x70], r13 + mov gword ptr [rbp-0xB0], r13 jmp SHORT G_M10688_IG59 - ;; size=11 bbWeight=0.08 PerfScore 0.26 + ;; size=14 bbWeight=0.08 PerfScore 0.26 G_M10688_IG58: - mov gword ptr [rbp-0x70], r13 - ;; size=4 bbWeight=0.08 PerfScore 0.08 + mov gword ptr [rbp-0xB0], r13 + ;; size=7 bbWeight=0.08 PerfScore 0.08 G_M10688_IG59: mov rdx, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0xD0], rdx + mov qword ptr [rbp-0x60], rdx lea rdx, G_M10688_IG62 - mov qword ptr [rbp-0xB8], rdx - lea rdx, bword ptr [rbp-0xE0] + mov qword ptr [rbp-0x50], rdx + lea rdx, [rbp-0x70] mov qword ptr [r14+0x08], rdx mov byte ptr [r14+0x04], 0 - ;; size=47 bbWeight=0.16 PerfScore 0.92 + ;; size=38 bbWeight=0.16 PerfScore 0.92 G_M10688_IG60: mov rax, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong ;; size=10 bbWeight=0.16 PerfScore 0.04 G_M10688_IG61: call [rax]Interop+Sys:Malloc(ulong):ulong ;; size=2 bbWeight=0.16 PerfScore 0.48 G_M10688_IG62: mov byte ptr [r14+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M10688_IG63 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.16 PerfScore 1.36 G_M10688_IG63: - mov rdi, bword ptr [rbp-0xD8] + mov rdi, qword ptr [rbp-0x68] mov qword ptr [r14+0x08], rdi test rax, rax je G_M10688_IG92 - mov rbx, gword ptr [rbp-0x98] + mov rbx, gword ptr [rbp-0xD8] mov qword ptr [rbx+0x10], rax mov r15d, dword ptr [rbp-0x38] - mov r13, gword ptr [rbp-0x88] + mov r13, gword ptr [rbp-0xC8] cmp r15d, dword ptr [r13+0x08] jae G_M10688_IG87 mov edi, r15d lea rdi, bword ptr [r13+8*rdi+0x10] mov rsi, rbx call CORINFO_HELP_ASSIGN_REF mov rdi, 0xD1FFAB1E ; System.IntPtr call CORINFO_HELP_NEWSFAST mov esi, r15d mov rsi, gword ptr [r13+8*rsi+0x10] mov rsi, qword ptr [rsi+0x10] mov qword ptr [rax+0x08], rsi mov rsi, rax - mov rdi, gword ptr [rbp-0x58] - mov gword ptr [rbp-0x58], rdi + mov rdi, gword ptr [rbp-0x98] + mov gword ptr [rbp-0x98], rdi mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x28]System.Collections.ArrayList:Add(System.Object):int:this mov edi, r15d mov rdi, gword ptr [r13+8*rdi+0x10] mov rbx, qword ptr [rdi+0x10] mov r12d, dword ptr [rdi+0x08] test rbx, rbx je G_M10688_IG90 - mov rdi, gword ptr [rbp-0x90] + mov rdi, gword ptr [rbp-0xD0] cmp dword ptr [rdi+0x08], r12d jb G_M10688_IG91 lea rsi, bword ptr [rdi+0x10] test r12d, r12d jl G_M10688_IG91 mov rdi, rbx mov edx, r12d mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong) call [rax]System.SpanHelpers:Memmove(byref,byref,ulong) inc r15d mov r12d, dword ptr [rbp-0x2C] cmp r15d, r12d - mov gword ptr [rbp-0x88], r13 + mov gword ptr [rbp-0xC8], r13 mov dword ptr [rbp-0x2C], r12d mov ecx, r15d - ;; size=217 bbWeight=0.16 PerfScore 8.36 + ;; size=220 bbWeight=0.16 PerfScore 8.36 G_M10688_IG64: jl G_M10688_IG70 ;; size=6 bbWeight=0.16 PerfScore 0.16 G_M10688_IG65: - mov rax, gword ptr [rbp-0x60] - mov rbx, qword ptr [rbp-0x48] + mov rax, gword ptr [rbp-0xA0] + mov rbx, qword ptr [rbp-0x88] mov r15, gword ptr [rax+8*rbx+0x10] mov r12d, dword ptr [rbp-0x2C] lea edi, [r12+0x01] mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long call [rcx]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long mov qword ptr [r15+0x18], rax - mov rax, gword ptr [rbp-0x60] + mov rax, gword ptr [rbp-0xA0] mov rdi, gword ptr [rax+8*rbx+0x10] mov r15, qword ptr [rdi+0x18] mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.Marshal:SizeOf[System.DirectoryServices.Protocols.BerVal]():int mov rcx, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int call [rcx]System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int mov dword ptr [rbp-0x30], eax xor ecx, ecx mov dword ptr [rbp-0x34], ecx test r12d, r12d jle G_M10688_IG84 - ;; size=90 bbWeight=4 PerfScore 87.00 + ;; size=99 bbWeight=4 PerfScore 87.00 G_M10688_IG66: - mov r13, gword ptr [rbp-0x88] + mov r13, gword ptr [rbp-0xC8] test r13, r13 je G_M10688_IG76 - mov gword ptr [rbp-0x88], r13 + mov gword ptr [rbp-0xC8], r13 cmp dword ptr [r13+0x08], r12d jl SHORT G_M10688_IG69 ;; size=29 bbWeight=1 PerfScore 7.25 G_M10688_IG67: movsxd rdi, eax test rdi, rdi jne SHORT G_M10688_IG71 ;; size=8 bbWeight=15.84 PerfScore 23.76 G_M10688_IG68: mov edi, 1 jmp SHORT G_M10688_IG71 ;; size=7 bbWeight=7.92 PerfScore 17.82 G_M10688_IG69: - mov r13, gword ptr [rbp-0x88] + mov r13, gword ptr [rbp-0xC8] jmp G_M10688_IG76 ;; size=12 bbWeight=0.50 PerfScore 1.50 G_M10688_IG70: - mov r12, gword ptr [rbp-0x68] - mov r13, gword ptr [rbp-0x70] + mov r12, gword ptr [rbp-0xA8] + mov r13, gword ptr [rbp-0xB0] jmp G_M10688_IG43 - ;; size=13 bbWeight=0.08 PerfScore 0.32 + ;; size=19 bbWeight=0.08 PerfScore 0.32 G_M10688_IG71: mov rdx, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0xD0], rdx + mov qword ptr [rbp-0x60], rdx lea rdx, G_M10688_IG74 - mov qword ptr [rbp-0xB8], rdx - lea rdx, bword ptr [rbp-0xE0] + mov qword ptr [rbp-0x50], rdx + lea rdx, [rbp-0x70] mov qword ptr [r14+0x08], rdx mov byte ptr [r14+0x04], 0 - ;; size=47 bbWeight=15.84 PerfScore 91.08 + ;; size=38 bbWeight=15.84 PerfScore 91.08 G_M10688_IG72: mov rdx, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong ;; size=10 bbWeight=15.84 PerfScore 3.96 G_M10688_IG73: call [rdx]Interop+Sys:Malloc(ulong):ulong ;; size=2 bbWeight=15.84 PerfScore 47.52 G_M10688_IG74: mov byte ptr [r14+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M10688_IG75 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=15.84 PerfScore 134.64 G_M10688_IG75: - mov rdi, bword ptr [rbp-0xD8] + mov rdi, qword ptr [rbp-0x68] mov qword ptr [r14+0x08], rdi mov r13, rax test r13, r13 je G_M10688_IG92 mov rdi, 0xD1FFAB1E ; System.IntPtr call CORINFO_HELP_NEWSFAST mov qword ptr [rax+0x08], r13 mov rsi, rax - mov rdi, gword ptr [rbp-0x58] - mov gword ptr [rbp-0x58], rdi + mov rdi, gword ptr [rbp-0x98] + mov gword ptr [rbp-0x98], rdi mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x28]System.Collections.ArrayList:Add(System.Object):int:this mov edi, dword ptr [rbp-0x34] - mov rcx, gword ptr [rbp-0x88] + mov rcx, gword ptr [rbp-0xC8] mov rdi, gword ptr [rcx+8*rdi+0x10] mov rsi, r13 xor edx, edx mov r8, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte) call [r8]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte) mov edi, dword ptr [rbp-0x34] movsxd rax, edi mov qword ptr [r15+8*rax], r13 inc edi mov dword ptr [rbp-0x34], edi cmp edi, r12d mov eax, dword ptr [rbp-0x30] jl G_M10688_IG67 jmp G_M10688_IG84 - ;; size=128 bbWeight=15.84 PerfScore 483.12 + ;; size=131 bbWeight=15.84 PerfScore 483.12 G_M10688_IG76: movsxd rdi, eax test rdi, rdi jne SHORT G_M10688_IG78 ;; size=8 bbWeight=0.16 PerfScore 0.24 G_M10688_IG77: mov edi, 1 - mov gword ptr [rbp-0x88], r13 + mov gword ptr [rbp-0xC8], r13 jmp SHORT G_M10688_IG79 ;; size=14 bbWeight=0.08 PerfScore 0.26 G_M10688_IG78: - mov gword ptr [rbp-0x88], r13 + mov gword ptr [rbp-0xC8], r13 ;; size=7 bbWeight=0.08 PerfScore 0.08 G_M10688_IG79: mov rdx, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0xD0], rdx + mov qword ptr [rbp-0x60], rdx lea rdx, G_M10688_IG82 - mov qword ptr [rbp-0xB8], rdx - lea rdx, bword ptr [rbp-0xE0] + mov qword ptr [rbp-0x50], rdx + lea rdx, [rbp-0x70] mov qword ptr [r14+0x08], rdx mov byte ptr [r14+0x04], 0 - ;; size=47 bbWeight=0.16 PerfScore 0.92 + ;; size=38 bbWeight=0.16 PerfScore 0.92 G_M10688_IG80: mov rdx, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong ;; size=10 bbWeight=0.16 PerfScore 0.04 G_M10688_IG81: call [rdx]Interop+Sys:Malloc(ulong):ulong ;; size=2 bbWeight=0.16 PerfScore 0.48 G_M10688_IG82: mov byte ptr [r14+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M10688_IG83 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.16 PerfScore 1.36 G_M10688_IG83: - mov rdi, bword ptr [rbp-0xD8] + mov rdi, qword ptr [rbp-0x68] mov qword ptr [r14+0x08], rdi mov r13, rax test r13, r13 je G_M10688_IG92 mov rdi, 0xD1FFAB1E ; System.IntPtr call CORINFO_HELP_NEWSFAST mov qword ptr [rax+0x08], r13 mov rsi, rax - mov rdi, gword ptr [rbp-0x58] - mov gword ptr [rbp-0x58], rdi + mov rdi, gword ptr [rbp-0x98] + mov gword ptr [rbp-0x98], rdi mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x48] call [rax+0x28]System.Collections.ArrayList:Add(System.Object):int:this mov eax, dword ptr [rbp-0x34] - mov rcx, gword ptr [rbp-0x88] + mov rcx, gword ptr [rbp-0xC8] cmp eax, dword ptr [rcx+0x08] jae G_M10688_IG87 mov dword ptr [rbp-0x34], eax mov edi, eax - mov gword ptr [rbp-0x88], rcx + mov gword ptr [rbp-0xC8], rcx mov rdi, gword ptr [rcx+8*rdi+0x10] mov rsi, r13 xor edx, edx mov r8, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte) call [r8]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte) mov edi, dword ptr [rbp-0x34] movsxd rax, edi mov qword ptr [r15+8*rax], r13 inc edi cmp edi, r12d mov dword ptr [rbp-0x34], edi mov eax, dword ptr [rbp-0x30] - mov r13, gword ptr [rbp-0x88] + mov r13, gword ptr [rbp-0xC8] jl G_M10688_IG76 - ;; size=151 bbWeight=0.16 PerfScore 5.72 + ;; size=154 bbWeight=0.16 PerfScore 5.72 G_M10688_IG84: movsxd rdi, dword ptr [rbp-0x34] xor eax, eax mov qword ptr [r15+8*rdi], rax inc ebx - mov r15, gword ptr [rbp-0x50] + mov r15, gword ptr [rbp-0x90] mov rdi, gword ptr [r15+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x30]System.Collections.ArrayList:get_Count():int:this cmp eax, ebx - mov qword ptr [rbp-0x48], rbx - mov gword ptr [rbp-0x50], r15 - mov r12, gword ptr [rbp-0x68] - mov r13, gword ptr [rbp-0x70] + mov qword ptr [rbp-0x88], rbx + mov gword ptr [rbp-0x90], r15 + mov r12, gword ptr [rbp-0xA8] + mov r13, gword ptr [rbp-0xB0] jg G_M10688_IG09 - ;; size=54 bbWeight=4 PerfScore 79.00 + ;; size=69 bbWeight=4 PerfScore 79.00 G_M10688_IG85: - mov r13, gword ptr [rbp-0x60] + mov r13, gword ptr [rbp-0xA0] mov rax, r13 - ;; size=7 bbWeight=1 PerfScore 1.25 + ;; size=10 bbWeight=1 PerfScore 1.25 G_M10688_IG86: - add rsp, 200 + add rsp, 184 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25 G_M10688_IG87: call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 G_M10688_IG88: mov rsi, rax mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS call [rax]CORINFO_HELP_CHKCASTCLASS int3 ;; size=16 bbWeight=0 PerfScore 0.00 G_M10688_IG89: mov rsi, rax mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS call [rax]CORINFO_HELP_CHKCASTCLASS int3 ;; size=16 bbWeight=0 PerfScore 0.00 G_M10688_IG90: mov edi, 0xD61 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String) call [rax]System.ArgumentNullException:Throw(System.String) int3 ;; size=36 bbWeight=0 PerfScore 0.00 G_M10688_IG91: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 G_M10688_IG92: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowOutOfMemoryException() call [rax]System.ThrowHelper:ThrowOutOfMemoryException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 3001, prolog size 28, PerfScore 3242.06, instruction count 671, allocated bytes for code 3001 (MethodHash=62d9d63f) for method System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts) +; Total bytes of code 3169, prolog size 28, PerfScore 3241.81, instruction count 670, allocated bytes for code 3169 (MethodHash=62d9d63f) for method System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[] (FullOpts) ```

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

MihuBot commented 6 months ago

Top method improvements

-108 (-5.45 % of base) - (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int ```diff ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 3, 3 ) long -> rbx single-def ; V01 arg1 [V01,T02] ( 3, 3 ) long -> r15 single-def ;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref ;* V03 loc1 [V03 ] ( 0, 0 ) long -> zero-ref ;* V04 loc2 [V04 ] ( 0, 0 ) long -> zero-ref ;* V05 loc3 [V05 ] ( 0, 0 ) int -> zero-ref ;* V06 loc4 [V06 ] ( 0, 0 ) int -> zero-ref ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] do-not-enreg[V] "stub argument" +; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] "stub argument" ; V09 tmp2 [V09,T04] ( 2, 4 ) long -> rax "impImportIndirectCall" ; V10 tmp3 [V10,T05] ( 2, 4 ) int -> rax "Single return block return value" -; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r14 "Pinvoke FrameListRoot" -; V12 PInvokeFrame [V12 ] ( 8, 8 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r13 "Pinvoke FrameListRoot" +; V12 PInvokeFrame [V12 ] ( 9, 9 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; ; Lcl frame size = 88 G_M38347_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] - mov qword ptr [rbp-0x30], r10 mov rbx, rdi mov r15, rsi - ;; size=32 bbWeight=1 PerfScore 8.25 + mov r14, r10 + ;; size=31 bbWeight=1 PerfScore 7.50 G_M38347_IG02: lea rdi, [rbp-0x70] - mov rsi, qword ptr [rbp-0x30] call CORINFO_HELP_INIT_PINVOKE_FRAME - mov r14, rax + mov r13, rax + mov qword ptr [rbp-0x38], r14 mov rdi, rsp - mov qword ptr [rbp-0x50], rdi + mov qword ptr [rbp-0x58], rdi mov rdi, rbp - mov qword ptr [rbp-0x40], rdi - lea rdi, bword ptr [rbp-0x70] - mov qword ptr [r14+0x08], rdi - mov rdi, qword ptr [rbp-0x30] - mov rax, qword ptr [rdi+0x18] + mov qword ptr [rbp-0x48], rdi + lea rdi, [rbp-0x70] + mov qword ptr [r13+0x08], rdi + mov rax, qword ptr [r14+0x18] mov rdi, rbx mov rsi, r15 - mov rcx, qword ptr [rbp-0x30] - mov qword ptr [rbp-0x60], rcx + mov qword ptr [rbp-0x60], r14 lea rcx, G_M38347_IG04 - mov qword ptr [rbp-0x48], rcx - mov byte ptr [r14+0x04], 0 - ;; size=76 bbWeight=1 PerfScore 15.25 + mov qword ptr [rbp-0x50], rcx + mov byte ptr [r13+0x04], 0 + ;; size=68 bbWeight=1 PerfScore 13.25 G_M38347_IG03: call rax ;; size=2 bbWeight=1 PerfScore 3.00 G_M38347_IG04: - mov byte ptr [r14+0x04], 1 + mov byte ptr [r13+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M38347_IG05 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=1 PerfScore 8.50 G_M38347_IG05: - mov rcx, bword ptr [rbp-0x68] - mov qword ptr [r14+0x08], rcx + mov rcx, qword ptr [rbp-0x68] + mov qword ptr [r13+0x08], rcx ;; size=8 bbWeight=1 PerfScore 2.00 G_M38347_IG06: add rsp, 88 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 165, prolog size 26, PerfScore 41.25, instruction count 47, allocated bytes for code 165 (MethodHash=7f986a34) for method (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) +; Total bytes of code 156, prolog size 22, PerfScore 38.50, instruction count 45, allocated bytes for code 156 (MethodHash=7f986a34) for method (dynamicClass):IL_STUB_PInvoke(ulong,ulong):int (FullOpts) ```
-48 (-1.99 % of base) - System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this ```diff ; Assembly listing for method System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 46 single block inlinees; 34 inlinees without PGO data ; Final local variable assignments ; -; V00 this [V00,T05] ( 22, 13 ) byref -> [rbp-0x48] this single-def +; V00 this [V00,T05] ( 22, 13 ) byref -> [rbp-0x88] this single-def ; V01 loc0 [V01,T53] ( 2, 1 ) long -> rax ; V02 loc1 [V02,T38] ( 4, 2 ) long -> r14 ; V03 loc2 [V03,T39] ( 4, 2 ) long -> r14 ; V04 loc3 [V04,T19] ( 6, 3 ) int -> r14 ;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V06 loc5 [V06,T67] ( 0, 0 ) int -> zero-ref ; V07 loc6 [V07,T06] ( 3, 10 ) long -> rdi ;* V08 loc7 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V09 loc8 [V09,T68] ( 0, 0 ) int -> zero-ref ; V10 loc9 [V10,T07] ( 3, 10 ) long -> rdi ;* V11 loc10 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V12 loc11 [V12,T69] ( 0, 0 ) int -> zero-ref ;* V13 loc12 [V13 ] ( 0, 0 ) struct (16) zero-ref ;* V14 loc13 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op ;* V15 loc14 [V15,T70] ( 0, 0 ) int -> zero-ref ; V16 loc15 [V16 ] ( 2, 8 ) struct (24) [rbp-0x40] do-not-enreg[XS] addr-exposed ld-addr-op ;# V17 OutArgs [V17 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V18 tmp1 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" ;* V19 tmp2 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" ;* V20 tmp3 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" ;* V21 tmp4 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Single-def Box Helper" ; V22 tmp5 [V22,T76] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" ; V23 tmp6 [V23,T25] ( 3, 3 ) long -> rdi "Inlining Arg" ;* V24 tmp7 [V24 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V25 tmp8 [V25,T26] ( 3, 3 ) long -> rdi "Inlining Arg" ; V26 tmp9 [V26,T54] ( 2, 1 ) long -> rax "Inline stloc first use temp" ; V27 tmp10 [V27,T40] ( 3, 2 ) int -> rax "Inlining Arg" ; V28 tmp11 [V28,T18] ( 4, 4 ) long -> rdi "Inlining Arg" ; V29 tmp12 [V29,T55] ( 2, 1 ) long -> rax "Inline stloc first use temp" ; V30 tmp13 [V30,T27] ( 3, 3 ) long -> rdi "Inlining Arg" ; V31 tmp14 [V31,T28] ( 3, 3 ) long -> rdi "Inlining Arg" ; V32 tmp15 [V32,T29] ( 3, 3 ) long -> rdi "Inlining Arg" ; V33 tmp16 [V33,T56] ( 2, 1 ) long -> rax "Inline stloc first use temp" ; V34 tmp17 [V34,T30] ( 3, 3 ) long -> rdi "Inlining Arg" ; V35 tmp18 [V35,T57] ( 2, 1 ) long -> rax "Inline stloc first use temp" ; V36 tmp19 [V36,T31] ( 3, 3 ) long -> rdi "Inlining Arg" ;* V37 tmp20 [V37,T62] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" ;* V38 tmp21 [V38,T71] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V39 tmp22 [V39,T21] ( 3, 3 ) byref -> rdi single-def "Inlining Arg" ;* V40 tmp23 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V41 tmp24 [V41,T32] ( 3, 3 ) int -> r14 "Inlining Arg" ; V42 tmp25 [V42,T41] ( 2, 2 ) long -> r13 "Inlining Arg" ;* V43 tmp26 [V43 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V44 tmp27 [V44,T63] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" ;* V45 tmp28 [V45,T72] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V46 tmp29 [V46,T22] ( 3, 3 ) byref -> rdi single-def "Inlining Arg" ;* V47 tmp30 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V48 tmp31 [V48,T33] ( 3, 3 ) int -> r13 "Inlining Arg" ; V49 tmp32 [V49,T42] ( 2, 2 ) long -> r14 "Inlining Arg" ;* V50 tmp33 [V50,T64] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" ;* V51 tmp34 [V51,T73] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V52 tmp35 [V52,T23] ( 3, 3 ) byref -> rdi single-def "Inlining Arg" ;* V53 tmp36 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V54 tmp37 [V54,T34] ( 3, 3 ) int -> r13 "Inlining Arg" ; V55 tmp38 [V55,T43] ( 2, 2 ) long -> r14 "Inlining Arg" ;* V56 tmp39 [V56 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V57 tmp40 [V57 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V58 tmp41 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V59 tmp42 [V59,T65] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" ;* V60 tmp43 [V60,T74] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V61 tmp44 [V61,T24] ( 3, 3 ) byref -> rdi single-def "Inlining Arg" ;* V62 tmp45 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V63 tmp46 [V63,T35] ( 3, 3 ) int -> r13 "Inlining Arg" ; V64 tmp47 [V64,T44] ( 2, 2 ) long -> r14 "Inlining Arg" ;* V65 tmp48 [V65,T66] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg" ;* V66 tmp49 [V66,T75] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ; V67 tmp50 [V67,T36] ( 3, 3 ) long -> rdi "Inlining Arg" ; V68 FramesRoot [V68,T00] ( 62, 50 ) long -> r15 "Pinvoke FrameListRoot" -; V69 PInvokeFrame [V69 ] ( 59, 49.50) struct (72) [rbp-0xA8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" -; V70 tmp53 [V70,T14] ( 2, 4.50) byref -> [rbp-0x50] spill-single-def "field V05._reference (fldOffset=0x0)" P-INDEP +; V69 PInvokeFrame [V69 ] ( 59, 49.50) struct (64) [rbp-0x80] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V70 tmp53 [V70,T14] ( 2, 4.50) byref -> [rbp-0x90] spill-single-def "field V05._reference (fldOffset=0x0)" P-INDEP ; V71 tmp54 [V71,T10] ( 3, 5 ) int -> r14 "field V05._length (fldOffset=0x8)" P-INDEP -; V72 tmp55 [V72,T15] ( 2, 4.50) byref -> [rbp-0x58] spill-single-def "field V08._reference (fldOffset=0x0)" P-INDEP +; V72 tmp55 [V72,T15] ( 2, 4.50) byref -> [rbp-0x98] spill-single-def "field V08._reference (fldOffset=0x0)" P-INDEP ; V73 tmp56 [V73,T11] ( 3, 5 ) int -> r13 "field V08._length (fldOffset=0x8)" P-INDEP -; V74 tmp57 [V74,T16] ( 2, 4.50) byref -> [rbp-0x60] spill-single-def "field V11._reference (fldOffset=0x0)" P-INDEP +; V74 tmp57 [V74,T16] ( 2, 4.50) byref -> [rbp-0xA0] spill-single-def "field V11._reference (fldOffset=0x0)" P-INDEP ; V75 tmp58 [V75,T12] ( 3, 5 ) int -> r13 "field V11._length (fldOffset=0x8)" P-INDEP ;* V76 tmp59 [V76 ] ( 0, 0 ) int -> zero-ref "field V13._size (fldOffset=0x0)" P-INDEP ;* V77 tmp60 [V77 ] ( 0, 0 ) int -> zero-ref "field V13._format (fldOffset=0x4)" P-INDEP ; V78 tmp61 [V78,T08] ( 3, 10 ) long -> rdi "field V13._data (fldOffset=0x8)" P-INDEP ; V79 tmp62 [V79,T17] ( 2, 4.50) byref -> r14 single-def "field V14._reference (fldOffset=0x0)" P-INDEP ; V80 tmp63 [V80,T13] ( 3, 5 ) int -> r13 "field V14._length (fldOffset=0x8)" P-INDEP ; V81 tmp64 [V81,T49] ( 2, 1 ) byref -> r13 single-def "field V40._reference (fldOffset=0x0)" P-INDEP ; V82 tmp65 [V82,T58] ( 2, 1 ) int -> r14 "field V40._length (fldOffset=0x8)" P-INDEP ; V83 tmp66 [V83,T50] ( 2, 1 ) byref -> r14 single-def "field V47._reference (fldOffset=0x0)" P-INDEP ; V84 tmp67 [V84,T59] ( 2, 1 ) int -> r13 "field V47._length (fldOffset=0x8)" P-INDEP ; V85 tmp68 [V85,T51] ( 2, 1 ) byref -> r14 single-def "field V53._reference (fldOffset=0x0)" P-INDEP ; V86 tmp69 [V86,T60] ( 2, 1 ) int -> r13 "field V53._length (fldOffset=0x8)" P-INDEP ; V87 tmp70 [V87,T52] ( 2, 1 ) byref -> r14 single-def "field V62._reference (fldOffset=0x0)" P-INDEP ; V88 tmp71 [V88,T61] ( 2, 1 ) int -> r13 "field V62._length (fldOffset=0x8)" P-INDEP ; V89 tmp72 [V89,T45] ( 2, 2 ) int -> rdi "Enum:HasFlag this temp" ; V90 tmp73 [V90,T46] ( 2, 2 ) int -> rdi "Enum:HasFlag this temp" ;* V91 tmp74 [V91 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ;* V92 tmp75 [V92 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ;* V93 tmp76 [V93 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ;* V94 tmp77 [V94 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ;* V95 tmp78 [V95 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ; V96 tmp79 [V96,T77] ( 2, 0 ) ref -> rsi single-def "argument with side effect" ; V97 cse0 [V97,T09] ( 14, 8 ) int -> r14 "CSE #01: moderate" ; V98 cse1 [V98,T20] ( 6, 3 ) long -> rdi multi-def "CSE #03: conservative" ; V99 cse2 [V99,T48] ( 3, 1.50) long -> rdi "CSE #06: conservative" ; V100 rat0 [V100,T01] ( 5, 16.50) long -> r12 "Widened IV V09" ; V101 rat1 [V101,T02] ( 5, 16.50) long -> r12 "Widened IV V12" ; V102 rat2 [V102,T03] ( 5, 16.50) long -> r12 "Widened IV V06" ; V103 rat3 [V103,T04] ( 5, 16.50) long -> r12 "Widened IV V15" ; V104 rat4 [V104,T37] ( 3, 3.00) int -> r13 "ReplaceWithLclVar is creating a new local variable" ; V105 rat5 [V105,T47] ( 2, 2 ) int -> rdi "ReplaceWithLclVar is creating a new local variable" ; -; Lcl frame size = 136 +; Lcl frame size = 120 G_M54580_IG01: push rbp push r15 push r14 push r13 push r12 push rbx - sub rsp, 136 + sub rsp, 120 vzeroupper - lea rbp, [rsp+0xB0] + lea rbp, [rsp+0xA0] mov rbx, rdi - ;; size=31 bbWeight=1 PerfScore 8.00 + ;; size=28 bbWeight=1 PerfScore 8.00 G_M54580_IG02: - lea rdi, [rbp-0xA0] - xor esi, esi + lea rdi, [rbp-0x78] call CORINFO_HELP_INIT_PINVOKE_FRAME mov r15, rax mov rdi, rsp - mov qword ptr [rbp-0x80], rdi + mov qword ptr [rbp-0x60], rdi mov rdi, rbp - mov qword ptr [rbp-0x70], rdi + mov qword ptr [rbp-0x50], rdi movzx r14, word ptr [rbx] cmp r14d, 8 - jne G_M54580_IG08 - ;; size=45 bbWeight=1 PerfScore 7.75 + jne SHORT G_M54580_IG08 + ;; size=36 bbWeight=1 PerfScore 7.50 G_M54580_IG03: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rdi, qword ptr [rbx+0x08] test rdi, rdi je G_M54580_IG96 add rdi, -8 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG06 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=65 bbWeight=0.50 PerfScore 5.12 + ;; size=62 bbWeight=0.50 PerfScore 5.12 G_M54580_IG04: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG05: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG06: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG07 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG07: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG08: mov edi, r14d test edi, 0x2000 jne G_M54580_IG99 cmp r14d, 13 je SHORT G_M54580_IG09 cmp r14d, 9 jne SHORT G_M54580_IG14 ;; size=27 bbWeight=0.50 PerfScore 2.00 G_M54580_IG09: cmp qword ptr [rbx+0x08], 0 je SHORT G_M54580_IG13 - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rdi, qword ptr [rbx+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x10] lea rcx, G_M54580_IG11 - mov qword ptr [rbp-0x78], rcx - lea rcx, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rcx + lea rcx, [rbp-0x78] mov qword ptr [r15+0x08], rcx mov byte ptr [r15+0x04], 0 ;; size=49 bbWeight=0.50 PerfScore 7.75 G_M54580_IG10: call rax ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG11: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG12 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG12: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG13: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG96 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG14: cmp r14d, 36 jne G_M54580_IG23 mov rdi, qword ptr [rbx+0x10] test rdi, rdi je G_M54580_IG22 cmp qword ptr [rbx+0x08], 0 je SHORT G_M54580_IG18 mov rsi, qword ptr [rdi] mov rax, qword ptr [rsi+0x20] - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rsi, qword ptr [rbx+0x08] lea rcx, G_M54580_IG16 - mov qword ptr [rbp-0x78], rcx - lea rcx, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rcx + lea rcx, [rbp-0x78] mov qword ptr [r15+0x08], rcx mov byte ptr [r15+0x04], 0 ;; size=72 bbWeight=0.50 PerfScore 10.00 G_M54580_IG15: call rax ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG16: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG17 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG17: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi test eax, eax - mov rbx, bword ptr [rbp-0x48] + mov rbx, bword ptr [rbp-0x88] jl G_M54580_IG100 ;; size=23 bbWeight=0.50 PerfScore 2.12 G_M54580_IG18: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rdi, qword ptr [rbx+0x10] test rdi, rdi je G_M54580_IG101 mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x10] lea rcx, G_M54580_IG20 - mov qword ptr [rbp-0x78], rcx - lea rcx, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rcx + lea rcx, [rbp-0x78] mov qword ptr [r15+0x08], rcx mov byte ptr [r15+0x04], 0 ;; size=51 bbWeight=0.50 PerfScore 6.38 G_M54580_IG19: call rax ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG20: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG21 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG21: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG22: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG96 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG23: mov r13d, r14d sub r13d, 30 cmp r13d, 42 ja G_M54580_IG30 ;; size=17 bbWeight=0.50 PerfScore 0.88 G_M54580_IG24: mov rdi, 0xD1FFAB1E bt rdi, r13 jae SHORT G_M54580_IG30 ;; size=16 bbWeight=0.50 PerfScore 0.87 G_M54580_IG25: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rdi, qword ptr [rbx+0x08] test rdi, rdi je G_M54580_IG96 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG28 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=61 bbWeight=0.50 PerfScore 5.00 + ;; size=58 bbWeight=0.50 PerfScore 5.00 G_M54580_IG26: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG27: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG28: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG29 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG29: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG30: cmp r14d, 65 je SHORT G_M54580_IG31 cmp r14d, 70 jne SHORT G_M54580_IG36 ;; size=12 bbWeight=0.50 PerfScore 1.25 G_M54580_IG31: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov rdi, qword ptr [rbx+0x10] test rdi, rdi je G_M54580_IG96 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG34 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=61 bbWeight=0.50 PerfScore 5.00 + ;; size=58 bbWeight=0.50 PerfScore 5.00 G_M54580_IG32: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG33: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG34: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG35 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG35: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG36: mov edi, r14d sub edi, 66 cmp edi, 3 ja SHORT G_M54580_IG40 cmp qword ptr [rbx+0x08], 0 - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx je G_M54580_IG96 - mov rbx, bword ptr [rbp-0x48] + mov rbx, bword ptr [rbp-0x88] mov rdi, qword ptr [rbx+0x08] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x10] lea rcx, G_M54580_IG38 - mov qword ptr [rbp-0x78], rcx - lea rcx, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rcx + lea rcx, [rbp-0x78] mov qword ptr [r15+0x08], rcx mov byte ptr [r15+0x04], 0 - ;; size=68 bbWeight=0.50 PerfScore 9.12 + ;; size=71 bbWeight=0.50 PerfScore 9.12 G_M54580_IG37: call rax ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG38: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG39 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG39: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG40: cmp r14d, 73 jne G_M54580_IG49 - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov r14, qword ptr [rbx+0x08] test r14, r14 je G_M54580_IG96 mov rdi, qword ptr [r14+0x10] test rdi, rdi je SHORT G_M54580_IG44 mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x10] lea rcx, G_M54580_IG42 - mov qword ptr [rbp-0x78], rcx - lea rcx, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rcx + lea rcx, [rbp-0x78] mov qword ptr [r15+0x08], rcx mov byte ptr [r15+0x04], 0 ;; size=70 bbWeight=0.50 PerfScore 8.62 G_M54580_IG41: call rax ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG42: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG43 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG43: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=0.50 PerfScore 1.00 + ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M54580_IG44: mov rdi, r14 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG47 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=47 bbWeight=0.50 PerfScore 3.00 + ;; size=41 bbWeight=0.50 PerfScore 3.00 G_M54580_IG45: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG46: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG47: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG48 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG48: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG49: cmp r14d, 71 jne G_M54580_IG59 - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx mov r14, qword ptr [rbx+0x08] test r14, r14 je G_M54580_IG96 mov rdi, qword ptr [r14+0x08] test rdi, rdi je SHORT G_M54580_IG54 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG52 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=80 bbWeight=0.50 PerfScore 7.25 + ;; size=77 bbWeight=0.50 PerfScore 7.25 G_M54580_IG50: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG51: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG52: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG53 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG53: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=0.50 PerfScore 1.00 + ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M54580_IG54: mov rdi, r14 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG57 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=47 bbWeight=0.50 PerfScore 3.00 + ;; size=41 bbWeight=0.50 PerfScore 3.00 G_M54580_IG55: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG56: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG57: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG58 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG58: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi jmp G_M54580_IG96 - ;; size=16 bbWeight=0.50 PerfScore 2.00 + ;; size=13 bbWeight=0.50 PerfScore 2.00 G_M54580_IG59: mov edi, r14d test edi, 0x1000 je SHORT G_M54580_IG61 and r14d, -0x1001 cmp r14d, 12 jg SHORT G_M54580_IG62 cmp r14d, 8 je SHORT G_M54580_IG64 cmp r14d, 12 je G_M54580_IG88 ;; size=40 bbWeight=0.50 PerfScore 2.75 G_M54580_IG60: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG91 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG61: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG96 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG62: lea edi, [r14-0x1E] cmp edi, 1 jbe G_M54580_IG72 cmp r14d, 71 je G_M54580_IG80 ;; size=23 bbWeight=0.50 PerfScore 1.50 G_M54580_IG63: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG91 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG64: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx lea rdi, bword ptr [rbx+0x08] mov r13, qword ptr [rdi+0x08] mov r14d, dword ptr [rdi] test r14d, r14d jl G_M54580_IG102 - mov bword ptr [rbp-0x50], r13 + mov bword ptr [rbp-0x90], r13 xor r12d, r12d test r14d, r14d jle G_M54580_IG91 - ;; size=40 bbWeight=0.50 PerfScore 4.62 + ;; size=46 bbWeight=0.50 PerfScore 4.62 G_M54580_IG65: mov rdi, qword ptr [r13+8*r12] test rdi, rdi je SHORT G_M54580_IG71 ;; size=10 bbWeight=4 PerfScore 13.00 G_M54580_IG66: add rdi, -8 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG69 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=48 bbWeight=2 PerfScore 12.00 + ;; size=42 bbWeight=2 PerfScore 12.00 G_M54580_IG67: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=2 PerfScore 0.50 G_M54580_IG68: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=2 PerfScore 6.00 G_M54580_IG69: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG70 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=2 PerfScore 17.00 G_M54580_IG70: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=2 PerfScore 4.00 + ;; size=8 bbWeight=2 PerfScore 4.00 G_M54580_IG71: inc r12d cmp r12d, r14d - mov r13, bword ptr [rbp-0x50] + mov r13, bword ptr [rbp-0x90] jl SHORT G_M54580_IG65 jmp G_M54580_IG91 - ;; size=17 bbWeight=4 PerfScore 18.00 + ;; size=20 bbWeight=4 PerfScore 18.00 G_M54580_IG72: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx lea rdi, bword ptr [rbx+0x08] mov r14, qword ptr [rdi+0x08] mov r13d, dword ptr [rdi] test r13d, r13d jl G_M54580_IG102 - mov bword ptr [rbp-0x58], r14 + mov bword ptr [rbp-0x98], r14 xor r12d, r12d test r13d, r13d jle G_M54580_IG91 - ;; size=40 bbWeight=0.50 PerfScore 4.62 + ;; size=46 bbWeight=0.50 PerfScore 4.62 G_M54580_IG73: mov rdi, qword ptr [r14+8*r12] test rdi, rdi je SHORT G_M54580_IG79 ;; size=9 bbWeight=4 PerfScore 13.00 G_M54580_IG74: mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG77 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=44 bbWeight=2 PerfScore 11.50 + ;; size=38 bbWeight=2 PerfScore 11.50 G_M54580_IG75: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=2 PerfScore 0.50 G_M54580_IG76: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=2 PerfScore 6.00 G_M54580_IG77: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG78 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=2 PerfScore 17.00 G_M54580_IG78: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=2 PerfScore 4.00 + ;; size=8 bbWeight=2 PerfScore 4.00 G_M54580_IG79: inc r12d cmp r12d, r13d - mov r14, bword ptr [rbp-0x58] + mov r14, bword ptr [rbp-0x98] jl SHORT G_M54580_IG73 jmp G_M54580_IG91 - ;; size=17 bbWeight=4 PerfScore 18.00 + ;; size=20 bbWeight=4 PerfScore 18.00 G_M54580_IG80: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx lea rdi, bword ptr [rbx+0x08] mov r14, qword ptr [rdi+0x08] mov r13d, dword ptr [rdi] test r13d, r13d jl G_M54580_IG102 - mov bword ptr [rbp-0x60], r14 + mov bword ptr [rbp-0xA0], r14 xor r12d, r12d test r13d, r13d jle G_M54580_IG91 - ;; size=40 bbWeight=0.50 PerfScore 4.62 + ;; size=46 bbWeight=0.50 PerfScore 4.62 G_M54580_IG81: mov rdi, r12 shl rdi, 4 mov rdi, qword ptr [r14+rdi+0x08] test rdi, rdi je SHORT G_M54580_IG87 ;; size=17 bbWeight=4 PerfScore 16.00 G_M54580_IG82: mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG85 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=44 bbWeight=2 PerfScore 11.50 + ;; size=38 bbWeight=2 PerfScore 11.50 G_M54580_IG83: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=2 PerfScore 0.50 G_M54580_IG84: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=2 PerfScore 6.00 G_M54580_IG85: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG86 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=2 PerfScore 17.00 G_M54580_IG86: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=2 PerfScore 4.00 + ;; size=8 bbWeight=2 PerfScore 4.00 G_M54580_IG87: inc r12d cmp r12d, r13d - mov r14, bword ptr [rbp-0x60] + mov r14, bword ptr [rbp-0xA0] jl SHORT G_M54580_IG81 jmp SHORT G_M54580_IG91 - ;; size=14 bbWeight=4 PerfScore 18.00 + ;; size=17 bbWeight=4 PerfScore 18.00 G_M54580_IG88: lea rdi, bword ptr [rbx+0x08] mov r14, qword ptr [rdi+0x08] mov r13d, dword ptr [rdi] test r13d, r13d jl G_M54580_IG102 xor r12d, r12d test r13d, r13d jle G_M54580_IG98 ;; size=32 bbWeight=0.50 PerfScore 3.62 G_M54580_IG89: lea rdi, [r12+2*r12] vmovdqu xmm2, xmmword ptr [r14+8*rdi] vmovdqu xmmword ptr [rbp-0x40], xmm2 mov rax, qword ptr [r14+8*rdi+0x10] mov qword ptr [rbp-0x30], rax lea rdi, [rbp-0x40] mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this call [rax]System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this inc r12d cmp r12d, r13d jl SHORT G_M54580_IG89 ;; size=48 bbWeight=4 PerfScore 55.00 G_M54580_IG90: - mov bword ptr [rbp-0x48], rbx - ;; size=4 bbWeight=2 PerfScore 2.00 + mov bword ptr [rbp-0x88], rbx + ;; size=7 bbWeight=2 PerfScore 2.00 G_M54580_IG91: - mov rbx, bword ptr [rbp-0x48] + mov rbx, bword ptr [rbp-0x88] mov rdi, qword ptr [rbx+0x10] test rdi, rdi je SHORT G_M54580_IG96 mov rax, 0xD1FFAB1E ; function address - mov qword ptr [rbp-0x90], rax + mov qword ptr [rbp-0x68], rax lea rax, G_M54580_IG94 - mov qword ptr [rbp-0x78], rax - lea rax, bword ptr [rbp-0xA0] + mov qword ptr [rbp-0x58], rax + lea rax, [rbp-0x78] mov qword ptr [r15+0x08], rax mov byte ptr [r15+0x04], 0 - ;; size=57 bbWeight=0.50 PerfScore 5.00 + ;; size=54 bbWeight=0.50 PerfScore 5.00 G_M54580_IG92: mov rax, 0xD1FFAB1E ; function address ;; size=10 bbWeight=0.50 PerfScore 0.12 G_M54580_IG93: call rax ; Interop+Sys:Free(ulong) ;; size=2 bbWeight=0.50 PerfScore 1.50 G_M54580_IG94: mov byte ptr [r15+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M54580_IG95 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=0.50 PerfScore 4.25 G_M54580_IG95: - mov rdi, bword ptr [rbp-0x98] + mov rdi, qword ptr [rbp-0x70] mov qword ptr [r15+0x08], rdi - ;; size=11 bbWeight=0.50 PerfScore 1.00 + ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M54580_IG96: - mov rbx, bword ptr [rbp-0x48] + mov rbx, bword ptr [rbp-0x88] vxorps xmm2, xmm2, xmm2 vmovdqu xmmword ptr [rbx], xmm2 vmovdqu xmmword ptr [rbx+0x08], xmm2 - ;; size=17 bbWeight=1 PerfScore 5.33 + ;; size=20 bbWeight=1 PerfScore 5.33 G_M54580_IG97: - add rsp, 136 + add rsp, 120 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret - ;; size=18 bbWeight=1 PerfScore 4.25 + ;; size=15 bbWeight=1 PerfScore 4.25 G_M54580_IG98: - mov bword ptr [rbp-0x48], rbx + mov bword ptr [rbp-0x88], rbx jmp G_M54580_IG91 - ;; size=9 bbWeight=0.25 PerfScore 0.75 + ;; size=12 bbWeight=0.25 PerfScore 0.75 G_M54580_IG99: mov rdi, 0xD1FFAB1E ; System.PlatformNotSupportedException call CORINFO_HELP_NEWSFAST mov rbx, rax mov rax, 0xD1FFAB1E ; code for System.SR:get_ComVariant_SafeArray_PlatformNotSupported():System.String call [rax]System.SR:get_ComVariant_SafeArray_PlatformNotSupported():System.String mov rsi, rax mov rdi, rbx mov rax, 0xD1FFAB1E ; code for System.PlatformNotSupportedException:.ctor(System.String):this call [rax]System.PlatformNotSupportedException:.ctor(System.String):this mov rdi, rbx call CORINFO_HELP_THROW int3 ;; size=57 bbWeight=0 PerfScore 0.00 G_M54580_IG100: mov edi, eax mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:GetExceptionForHR(int):System.Exception call [rax]System.Runtime.InteropServices.Marshal:GetExceptionForHR(int):System.Exception mov rdi, rax call CORINFO_HELP_THROW int3 ;; size=23 bbWeight=0 PerfScore 0.00 G_M54580_IG101: mov edi, 0x18B98 mov rsi, 0xD1FFAB1E call CORINFO_HELP_STRCNS mov rdi, rax mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String) call [rax]System.ArgumentNullException:Throw(System.String) int3 ;; size=36 bbWeight=0 PerfScore 0.00 G_M54580_IG102: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0 PerfScore 0.00 -; Total bytes of code 2408, prolog size 31, PerfScore 493.33, instruction count 507, allocated bytes for code 2408 (MethodHash=54b32acb) for method System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this (FullOpts) +; Total bytes of code 2360, prolog size 28, PerfScore 493.08, instruction count 506, allocated bytes for code 2360 (MethodHash=54b32acb) for method System.Runtime.InteropServices.Marshalling.ComVariant:Dispose():this (FullOpts) ```
-45 (-5.45 % of base) - (dynamicClass):IL_STUB_PInvoke(long,ulong):int ```diff ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 3, 3 ) long -> rbx single-def ; V01 arg1 [V01,T02] ( 3, 3 ) long -> r15 single-def ;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref ;* V03 loc1 [V03 ] ( 0, 0 ) long -> zero-ref ;* V04 loc2 [V04 ] ( 0, 0 ) long -> zero-ref ;* V05 loc3 [V05 ] ( 0, 0 ) int -> zero-ref ;* V06 loc4 [V06 ] ( 0, 0 ) int -> zero-ref ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] do-not-enreg[V] "stub argument" +; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] "stub argument" ; V09 tmp2 [V09,T04] ( 2, 4 ) long -> rax "impImportIndirectCall" ; V10 tmp3 [V10,T05] ( 2, 4 ) int -> rax "Single return block return value" -; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r14 "Pinvoke FrameListRoot" -; V12 PInvokeFrame [V12 ] ( 8, 8 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r13 "Pinvoke FrameListRoot" +; V12 PInvokeFrame [V12 ] ( 9, 9 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; ; Lcl frame size = 88 G_M20446_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] - mov qword ptr [rbp-0x30], r10 mov rbx, rdi mov r15, rsi - ;; size=32 bbWeight=1 PerfScore 8.25 + mov r14, r10 + ;; size=31 bbWeight=1 PerfScore 7.50 G_M20446_IG02: lea rdi, [rbp-0x70] - mov rsi, qword ptr [rbp-0x30] call CORINFO_HELP_INIT_PINVOKE_FRAME - mov r14, rax + mov r13, rax + mov qword ptr [rbp-0x38], r14 mov rdi, rsp - mov qword ptr [rbp-0x50], rdi + mov qword ptr [rbp-0x58], rdi mov rdi, rbp - mov qword ptr [rbp-0x40], rdi - lea rdi, bword ptr [rbp-0x70] - mov qword ptr [r14+0x08], rdi - mov rdi, qword ptr [rbp-0x30] - mov rax, qword ptr [rdi+0x18] + mov qword ptr [rbp-0x48], rdi + lea rdi, [rbp-0x70] + mov qword ptr [r13+0x08], rdi + mov rax, qword ptr [r14+0x18] mov rdi, rbx mov rsi, r15 - mov rcx, qword ptr [rbp-0x30] - mov qword ptr [rbp-0x60], rcx + mov qword ptr [rbp-0x60], r14 lea rcx, G_M20446_IG04 - mov qword ptr [rbp-0x48], rcx - mov byte ptr [r14+0x04], 0 - ;; size=76 bbWeight=1 PerfScore 15.25 + mov qword ptr [rbp-0x50], rcx + mov byte ptr [r13+0x04], 0 + ;; size=68 bbWeight=1 PerfScore 13.25 G_M20446_IG03: call rax ;; size=2 bbWeight=1 PerfScore 3.00 G_M20446_IG04: - mov byte ptr [r14+0x04], 1 + mov byte ptr [r13+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M20446_IG05 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=1 PerfScore 8.50 G_M20446_IG05: - mov rcx, bword ptr [rbp-0x68] - mov qword ptr [r14+0x08], rcx + mov rcx, qword ptr [rbp-0x68] + mov qword ptr [r13+0x08], rcx ;; size=8 bbWeight=1 PerfScore 2.00 G_M20446_IG06: add rsp, 88 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 165, prolog size 26, PerfScore 41.25, instruction count 47, allocated bytes for code 165 (MethodHash=da22b021) for method (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) +; Total bytes of code 156, prolog size 22, PerfScore 38.50, instruction count 45, allocated bytes for code 156 (MethodHash=da22b021) for method (dynamicClass):IL_STUB_PInvoke(long,ulong):int (FullOpts) ```
-45 (-5.45 % of base) - (dynamicClass):IL_STUB_PInvoke(ulong,int):int ```diff ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 3, 3 ) long -> rbx single-def ; V01 arg1 [V01,T02] ( 3, 3 ) int -> r15 single-def ;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref ;* V03 loc1 [V03 ] ( 0, 0 ) long -> zero-ref ; V04 loc2 [V04,T06] ( 2, 2 ) long -> rsi ;* V05 loc3 [V05 ] ( 0, 0 ) int -> zero-ref ;* V06 loc4 [V06 ] ( 0, 0 ) int -> zero-ref ;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] do-not-enreg[V] "stub argument" +; V08 tmp1 [V08,T03] ( 4, 4 ) long -> [rbp-0x30] "stub argument" ; V09 tmp2 [V09,T04] ( 2, 4 ) long -> rax "impImportIndirectCall" ; V10 tmp3 [V10,T05] ( 2, 4 ) int -> rax "Single return block return value" -; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r14 "Pinvoke FrameListRoot" -; V12 PInvokeFrame [V12 ] ( 8, 8 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V11 FramesRoot [V11,T00] ( 6, 6 ) long -> r13 "Pinvoke FrameListRoot" +; V12 PInvokeFrame [V12 ] ( 9, 9 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; ; Lcl frame size = 88 G_M51271_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] - mov qword ptr [rbp-0x30], r10 mov rbx, rdi mov r15d, esi - ;; size=32 bbWeight=1 PerfScore 8.25 + mov r14, r10 + ;; size=31 bbWeight=1 PerfScore 7.50 G_M51271_IG02: lea rdi, [rbp-0x70] - mov rsi, qword ptr [rbp-0x30] call CORINFO_HELP_INIT_PINVOKE_FRAME - mov r14, rax + mov r13, rax + mov qword ptr [rbp-0x38], r14 mov rdi, rsp - mov qword ptr [rbp-0x50], rdi + mov qword ptr [rbp-0x58], rdi mov rdi, rbp - mov qword ptr [rbp-0x40], rdi - lea rdi, bword ptr [rbp-0x70] - mov qword ptr [r14+0x08], rdi + mov qword ptr [rbp-0x48], rdi + lea rdi, [rbp-0x70] + mov qword ptr [r13+0x08], rdi movsxd rsi, r15d - mov rdi, qword ptr [rbp-0x30] - mov rax, qword ptr [rdi+0x18] + mov rax, qword ptr [r14+0x18] mov rdi, rbx - mov rcx, qword ptr [rbp-0x30] - mov qword ptr [rbp-0x60], rcx + mov qword ptr [rbp-0x60], r14 lea rcx, G_M51271_IG04 - mov qword ptr [rbp-0x48], rcx - mov byte ptr [r14+0x04], 0 - ;; size=76 bbWeight=1 PerfScore 15.25 + mov qword ptr [rbp-0x50], rcx + mov byte ptr [r13+0x04], 0 + ;; size=68 bbWeight=1 PerfScore 13.25 G_M51271_IG03: call rax ;; size=2 bbWeight=1 PerfScore 3.00 G_M51271_IG04: - mov byte ptr [r14+0x04], 1 + mov byte ptr [r13+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M51271_IG05 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=1 PerfScore 8.50 G_M51271_IG05: - mov rcx, bword ptr [rbp-0x68] - mov qword ptr [r14+0x08], rcx + mov rcx, qword ptr [rbp-0x68] + mov qword ptr [r13+0x08], rcx ;; size=8 bbWeight=1 PerfScore 2.00 G_M51271_IG06: add rsp, 88 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 165, prolog size 26, PerfScore 41.25, instruction count 47, allocated bytes for code 165 (MethodHash=b44c37b8) for method (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) +; Total bytes of code 156, prolog size 22, PerfScore 38.50, instruction count 45, allocated bytes for code 156 (MethodHash=b44c37b8) for method (dynamicClass):IL_STUB_PInvoke(ulong,int):int (FullOpts) ```
-45 (-5.66 % of base) - (dynamicClass):IL_STUB_PInvoke(ulong):int ```diff ; Assembly listing for method (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX - Unix ; FullOpts code ; optimized code ; rbp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 3, 3 ) long -> rbx single-def ;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref ;* V02 loc1 [V02 ] ( 0, 0 ) long -> zero-ref ;* V03 loc2 [V03 ] ( 0, 0 ) int -> zero-ref ;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref ;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" -; V06 tmp1 [V06,T02] ( 4, 4 ) long -> [rbp-0x30] do-not-enreg[V] "stub argument" +; V06 tmp1 [V06,T02] ( 4, 4 ) long -> [rbp-0x30] "stub argument" ; V07 tmp2 [V07,T03] ( 2, 4 ) long -> rax "impImportIndirectCall" ; V08 tmp3 [V08,T04] ( 2, 4 ) int -> rax "Single return block return value" -; V09 FramesRoot [V09,T00] ( 6, 6 ) long -> r15 "Pinvoke FrameListRoot" -; V10 PInvokeFrame [V10 ] ( 8, 8 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" +; V09 FramesRoot [V09,T00] ( 6, 6 ) long -> r14 "Pinvoke FrameListRoot" +; V10 PInvokeFrame [V10 ] ( 9, 9 ) struct (72) [rbp-0x78] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; ; Lcl frame size = 88 G_M30136_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] - mov qword ptr [rbp-0x30], r10 mov rbx, rdi - ;; size=29 bbWeight=1 PerfScore 8.00 + mov r15, r10 + ;; size=28 bbWeight=1 PerfScore 7.25 G_M30136_IG02: lea rdi, [rbp-0x70] - mov rsi, qword ptr [rbp-0x30] call CORINFO_HELP_INIT_PINVOKE_FRAME - mov r15, rax + mov r14, rax + mov qword ptr [rbp-0x38], r15 mov rdi, rsp - mov qword ptr [rbp-0x50], rdi + mov qword ptr [rbp-0x58], rdi mov rdi, rbp - mov qword ptr [rbp-0x40], rdi - lea rdi, bword ptr [rbp-0x70] - mov qword ptr [r15+0x08], rdi - mov rdi, qword ptr [rbp-0x30] - mov rax, qword ptr [rdi+0x18] + mov qword ptr [rbp-0x48], rdi + lea rdi, [rbp-0x70] + mov qword ptr [r14+0x08], rdi + mov rax, qword ptr [r15+0x18] mov rdi, rbx - mov rcx, qword ptr [rbp-0x30] - mov qword ptr [rbp-0x60], rcx + mov qword ptr [rbp-0x60], r15 lea rcx, G_M30136_IG04 - mov qword ptr [rbp-0x48], rcx - mov byte ptr [r15+0x04], 0 - ;; size=73 bbWeight=1 PerfScore 15.00 + mov qword ptr [rbp-0x50], rcx + mov byte ptr [r14+0x04], 0 + ;; size=65 bbWeight=1 PerfScore 13.00 G_M30136_IG03: call rax ;; size=2 bbWeight=1 PerfScore 3.00 G_M30136_IG04: - mov byte ptr [r15+0x04], 1 + mov byte ptr [r14+0x04], 1 mov rcx, 0xD1FFAB1E ; function address cmp dword ptr [rcx], 0 je SHORT G_M30136_IG05 mov rdi, 0xD1FFAB1E call [rdi]CORINFO_HELP_STOP_FOR_GC ;; size=32 bbWeight=1 PerfScore 8.50 G_M30136_IG05: - mov rcx, bword ptr [rbp-0x68] - mov qword ptr [r15+0x08], rcx + mov rcx, qword ptr [rbp-0x68] + mov qword ptr [r14+0x08], rcx ;; size=8 bbWeight=1 PerfScore 2.00 G_M30136_IG06: add rsp, 88 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.25 -; Total bytes of code 159, prolog size 26, PerfScore 40.75, instruction count 45, allocated bytes for code 159 (MethodHash=41088a47) for method (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) +; Total bytes of code 150, prolog size 22, PerfScore 38.00, instruction count 43, allocated bytes for code 150 (MethodHash=41088a47) for method (dynamicClass):IL_STUB_PInvoke(ulong):int (FullOpts) ```

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

MihuBot commented 6 months ago

@jakobbotsch