Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

No const arg to temp#48308

New issue

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

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

Already on GitHub?Sign in to your account

Merged
sandreenko merged 15 commits intodotnet:masterfromamd:no-const-arg-to-temp
Feb 19, 2021
Merged

Conversation

@alexcovington
Copy link
Contributor

PR to address#47786. AddsCompiler::IsInvariant andGenTree::IsInvariant functions to check if op is an invariant, changes a few checks to use this function instead of only usingOperIsConst.

Here are the library diffs:

Found 89 files with textual diffs.Summary of Code Size diffs:(Lower is better)Total bytes of base: 33371454Total bytes of diff: 33369057Total bytes of delta: -2397 (-0.01% of base)    diff is an improvement.Top file regressions (bytes):         210 : Microsoft.CodeAnalysis.dasm (0.03% of base)          37 : Microsoft.CodeAnalysis.CSharp.dasm (0.00% of base)          14 : System.Security.Cryptography.X509Certificates.dasm (0.01% of base)Top file improvements (bytes):       -1102 : Microsoft.CodeAnalysis.VisualBasic.dasm (-0.05% of base)        -256 : System.Private.CoreLib.dasm (-0.01% of base)        -182 : System.Data.Common.dasm (-0.02% of base)        -148 : System.Collections.Immutable.dasm (-0.06% of base)        -121 : System.Net.Security.dasm (-0.06% of base)         -92 : System.Formats.Asn1.dasm (-0.14% of base)         -90 : System.Security.Cryptography.Algorithms.dasm (-0.03% of base)         -79 : System.Private.Xml.dasm (-0.00% of base)         -66 : System.Net.Http.dasm (-0.01% of base)         -52 : System.Net.HttpListener.dasm (-0.03% of base)         -44 : System.Security.Cryptography.Cng.dasm (-0.03% of base)         -41 : System.Runtime.Numerics.dasm (-0.06% of base)         -33 : System.Net.Quic.dasm (-0.06% of base)         -30 : System.IO.Pipes.dasm (-0.09% of base)         -27 : System.Net.WebSockets.dasm (-0.06% of base)         -26 : System.Security.Cryptography.Pkcs.dasm (-0.01% of base)         -24 : System.Memory.dasm (-0.03% of base)         -23 : System.Numerics.Tensors.dasm (-0.07% of base)         -19 : System.Linq.Parallel.dasm (-0.00% of base)         -18 : System.Linq.dasm (-0.01% of base)52 total files with Code Size differences (49 improved, 3 regressed), 217 unchanged.Top method regressions (bytes):         144 ( 6.31% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - AbstractFlowPass`1:VisitBinaryOperator(BoundBinaryOperator):BoundNode:this (2 methods)          98 (30.63% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - BoundFieldAccess:Update(BoundExpression,FieldSymbol,bool,bool,SymbolsInProgress`1,TypeSymbol):BoundFieldAccess:this          97 ( 8.47% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - TypeBinder:LookupTypeOrNamespaceSyntax(LookupResult,TypeSyntax,Binder,DiagnosticBag,byref,bool,bool,bool,bool)          92 ( 4.51% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Parser:ParseNextQueryOperator():QueryClauseSyntax:this          82 ( 3.27% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - OverloadResolution:OperatorInvocationOverloadResolution(ArrayBuilder`1,BoundExpression,BoundExpression,Binder,bool,bool,byref):OverloadResolutionResult          79 ( 5.45% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BindUsingBlock(UsingBlockSyntax,DiagnosticBag):BoundStatement:this          78 ( 1.46% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - SourceMemberMethodSymbol:BindSingleHandlesClause(HandlesClauseItemSyntax,Binder,DiagnosticBag,ArrayBuilder`1,ArrayBuilder`1,ArrayBuilder`1,byref):HandledEvent:this          77 ( 3.02% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:BindAnonymousObjectCreation(AnonymousObjectCreationExpressionSyntax,DiagnosticBag):BoundExpression:this          76 ( 2.89% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BindCollectionRangeVariable(CollectionRangeVariableSyntax,bool,HashSet`1,DiagnosticBag):BoundQueryableSource:this          76 ( 5.18% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:BindEventAssignment(AssignmentExpressionSyntax,BoundEventAccess,BoundExpression,int,DiagnosticBag):BoundExpression:this          72 ( 5.39% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - SourceNamedTypeSymbol:ValidateImplementedInterfaces(SyntaxList`1,HashSet`1,ConsList`1,Binder,DiagnosticBag):this          71 ( 1.72% of base) : Microsoft.CodeAnalysis.CSharp.dasm - MethodBodySynthesizer:ConstructFieldLikeEventAccessorBody_Regular(SourceEventSymbol,bool,CSharpCompilation,DiagnosticBag):BoundBlock          65 ( 2.42% of base) : Microsoft.CodeAnalysis.dasm - SyntaxDiffer:GetSimilarity(SyntaxNodeOrToken,SyntaxNodeOrToken):int:this          63 ( 9.74% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LanguageParser:ParseCompilationUnitCore():CompilationUnitSyntax:this          63 ( 5.87% of base) : Microsoft.CodeAnalysis.CSharp.dasm - SyntaxFactory:ClassDeclaration(SyntaxList`1,SyntaxTokenList,SyntaxToken,SyntaxToken,TypeParameterListSyntax,BaseListSyntax,SyntaxList`1,SyntaxToken,SyntaxList`1,SyntaxToken,SyntaxToken):ClassDeclarationSyntax          62 ( 4.88% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ForEachLoopBinder:PerformForEachPatternOverloadResolution(TypeSymbol,ArrayBuilder`1,bool,DiagnosticBag):MethodSymbol:this          62 ( 6.70% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LocalRewriter:MakeConversion(CSharpSyntaxNode,BoundExpression,Conversion,TypeSymbol,bool,bool,ConstantValue):BoundExpression:this          61 ( 3.05% of base) : Microsoft.CodeAnalysis.CSharp.dasm - SourceNamedTypeSymbol:MakeDeclaredBases(ConsList`1,DiagnosticBag):Tuple`2:this          60 ( 2.11% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LanguageParser:ParseVariableDeclarator(TypeSyntax,int,bool,bool):VariableDeclaratorSyntax:this          58 ( 2.33% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ConstraintsHelper:ResolveBounds(TypeParameterSymbol,AssemblySymbol,ConsList`1,ImmutableArray`1,bool,CSharpCompilation,ArrayBuilder`1,byref):TypeParameterBoundsTop method improvements (bytes):        -231 (-6.21% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:BindQuery(QueryExpressionSyntax,DiagnosticBag):BoundExpression:this        -195 (-6.76% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Parser:ParseGenericParameters():TypeParameterListSyntax:this        -189 (-8.03% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BuildDelegateRelaxationLambda(VisualBasicSyntaxNode,MethodSymbol,BoundMethodGroup,int,bool,bool,DiagnosticBag):BoundLambda:this        -163 (-11.46% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:ResolveDefaultMethodGroup(BoundMethodGroup,AnalyzedArguments,bool,byref,bool,bool):MethodGroupResolution:this        -157 (-3.23% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:ReportOverloadResolutionFailureAndProduceBoundNode(VisualBasicSyntaxNode,int,ArrayBuilder`1,ImmutableArray`1,TypeSymbol,ImmutableArray`1,ImmutableArray`1,DiagnosticBag,VisualBasicSyntaxNode,BoundMethodOrPropertyGroup,Symbol,bool,BoundTypeExpression,Symbol,Location):BoundExpression:this        -130 (-13.66% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Parser:ParseCompilationUnitCore():CompilationUnitSyntax:this        -124 (-7.12% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - AbstractFlowPass`1:Scan():bool:this (3 methods)        -107 (-4.82% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:CreateUserDefinedConversion(CSharpSyntaxNode,BoundExpression,Conversion,bool,TypeSymbol,DiagnosticBag):BoundExpression:this         -99 (-10.82% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:CreateBadCall(CSharpSyntaxNode,String,BoundExpression,ImmutableArray`1,ubyte,ImmutableArray`1,AnalyzedArguments,bool,bool):BoundCall:this         -98 (-13.39% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BuildDelegateRelaxationLambda(VisualBasicSyntaxNode,VisualBasicSyntaxNode,BoundExpression,MethodSymbol,BoundTypeArguments,int,MethodSymbol,int,bool,bool,DiagnosticBag,byref):BoundLambda:this         -85 (-3.86% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - LocalRewriter:RewriteIfStatement(VisualBasicSyntaxNode,VisualBasicSyntaxNode,BoundExpression,BoundStatement,BoundStatement,bool,ImmutableArray`1):BoundStatement:this         -84 (-3.71% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - AnonymousTypeToStringMethodSymbol:GetBoundMethodBody(DiagnosticBag,byref):BoundBlock:this         -79 (-3.07% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BindUnaryOperator(UnaryExpressionSyntax,DiagnosticBag):BoundExpression:this         -78 (-6.14% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LocalRewriter:RewriteForStatement(CSharpSyntaxNode,ImmutableArray`1,BoundStatement,BoundExpression,CSharpSyntaxNode,TextSpan,BoundStatement,BoundStatement,GeneratedLabelSymbol,GeneratedLabelSymbol,bool):BoundStatement:this         -71 (-1.21% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - AbstractFlowPass`1:VisitTryStatement(BoundTryStatement):BoundNode:this (3 methods)         -69 (-6.07% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - LocalRewriter:MakeBinaryExpression(VisualBasicSyntaxNode,int,BoundExpression,BoundExpression,bool,TypeSymbol):BoundExpression:this         -68 (-6.42% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - SourceNamedTypeSymbol:MakeAcyclicInterfaces(DiagnosticBag):ImmutableArray`1:this         -68 (-2.86% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Parser:ParseFromControlVars():SeparatedSyntaxList`1:this         -66 (-5.89% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:ValidateMethodForDelegateInvoke(BoundAddressOfOperator,CandidateAnalysisResult,MethodSymbol,bool,bool,DiagnosticBag):KeyValuePair`2         -62 (-2.60% of base) : Microsoft.CodeAnalysis.CSharp.dasm - <Microsoft-Cci-ITypeDefinition-GetExplicitImplementationOverrides>d__31:MoveNext():bool:thisTop method regressions (percentages):          23 (37.70% of base) : Microsoft.CodeAnalysis.dasm - PeWriter:ComputeSizeOfWin32Resources(int):int:this          98 (30.63% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - BoundFieldAccess:Update(BoundExpression,FieldSymbol,bool,bool,SymbolsInProgress`1,TypeSymbol):BoundFieldAccess:this          11 (18.97% of base) : Microsoft.CodeAnalysis.dasm - DiagnosticWithInfo:get_Descriptor():DiagnosticDescriptor:this          10 (17.54% of base) : Microsoft.CodeAnalysis.dasm - DiagnosticWithInfo:get_Id():String:this          10 (15.62% of base) : Microsoft.CodeAnalysis.dasm - DiagnosticWithInfo:get_Category():String:this          16 (12.60% of base) : Microsoft.CodeAnalysis.CSharp.dasm - DataFlowsInWalker:ResetState(LocalState):LocalState:this          29 (11.15% of base) : Microsoft.CodeAnalysis.dasm - ILBuilder:WriteOpCode(BlobBuilder,ushort)          34 (10.97% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - BoundUnaryOperator:Update(int,BoundExpression,bool,ConstantValue,TypeSymbol):BoundUnaryOperator:this          16 (10.53% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - DataFlowsInWalker:ResetState(LocalState):LocalState:this          19 (10.50% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LanguageParser:IsInitializerMember():bool:this          18 (10.40% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LanguageParser:ParseAliasQualifiedName(int):NameSyntax:this          18 (10.23% of base) : Microsoft.CodeAnalysis.CSharp.dasm - DirectiveParser:ParseLogicalNot():ExpressionSyntax:this          18 ( 9.89% of base) : Microsoft.CodeAnalysis.CSharp.dasm - DirectiveParser:ParseLogicalAnd():ExpressionSyntax:this          63 ( 9.74% of base) : Microsoft.CodeAnalysis.CSharp.dasm - LanguageParser:ParseCompilationUnitCore():CompilationUnitSyntax:this          52 ( 9.54% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundIndexerAccess:Update(BoundExpression,PropertySymbol,ImmutableArray`1,ImmutableArray`1,ImmutableArray`1,bool,ImmutableArray`1,TypeSymbol):BoundIndexerAccess:this           2 ( 9.52% of base) : System.Private.CoreLib.dasm - Variant:.ctor(float):this          38 ( 9.48% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ConversionsBase:HasUnboxingTypeParameterConversion(TypeSymbol,TypeSymbol,byref):bool:this          45 ( 9.41% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - MemberLookup:LookupImmediate(LookupResult,NamespaceSymbol,String,int,int,Binder,byref)          31 ( 9.06% of base) : Microsoft.CodeAnalysis.CSharp.dasm - PreciseAbstractFlowPass`1:VisitQueryClause(BoundQueryClause):BoundNode:this (2 methods)          14 ( 9.03% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:IsCrefAccessible(Symbol):bool:thisTop method improvements (percentages):         -57 (-19.13% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundBinaryOperator:.ctor(CSharpSyntaxNode,int,BoundExpression,BoundExpression,ConstantValue,MethodSymbol,ubyte,ImmutableArray`1,TypeSymbol,bool):this         -44 (-15.88% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundMethodGroup:.ctor(CSharpSyntaxNode,ImmutableArray`1,String,ImmutableArray`1,Symbol,DiagnosticInfo,int,BoundExpression,ubyte,bool):this         -38 (-15.38% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundBinaryOperator:.ctor(CSharpSyntaxNode,int,BoundExpression,BoundExpression,ConstantValue,MethodSymbol,ubyte,TypeSymbol,bool):this         -37 (-14.86% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundConditionalOperator:.ctor(CSharpSyntaxNode,BoundExpression,BoundExpression,BoundExpression,ConstantValue,TypeSymbol,bool):this         -53 (-13.66% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ContextAwareSyntax:ArrayCreationExpression(SyntaxToken,ArrayTypeSyntax,InitializerExpressionSyntax):ArrayCreationExpressionSyntax:this        -130 (-13.66% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Parser:ParseCompilationUnitCore():CompilationUnitSyntax:this         -98 (-13.39% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:BuildDelegateRelaxationLambda(VisualBasicSyntaxNode,VisualBasicSyntaxNode,BoundExpression,MethodSymbol,BoundTypeArguments,int,MethodSymbol,int,bool,bool,DiagnosticBag,byref):BoundLambda:this         -56 (-12.53% of base) : Microsoft.CodeAnalysis.CSharp.dasm - StackOptimizerPass1:IsNestedLocalOfCompoundOperator(LocalSymbol,BoundSequence):bool:this         -23 (-12.23% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - BoundLambda:.ctor(VisualBasicSyntaxNode,LambdaSymbol,BoundBlock,ImmutableArray`1,LambdaBodyBinder,int,int,bool):this         -27 (-12.00% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ContextAwareSyntax:ElseClause(SyntaxToken,StatementSyntax):ElseClauseSyntax:this         -27 (-12.00% of base) : Microsoft.CodeAnalysis.CSharp.dasm - ContextAwareSyntax:FinallyClause(SyntaxToken,BlockSyntax):FinallyClauseSyntax:this         -22 (-11.64% of base) : Microsoft.CodeAnalysis.CSharp.dasm - CSharpCompilation:get_EnableEnumArrayBlockInitialization():bool:this        -163 (-11.46% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:ResolveDefaultMethodGroup(BoundMethodGroup,AnalyzedArguments,bool,byref,bool,bool):MethodGroupResolution:this         -34 (-10.93% of base) : System.Private.CoreLib.dasm - CustomAttribute:GetCustomAttributes(RuntimeModule,int,int,RuntimeType):ref         -99 (-10.82% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:CreateBadCall(CSharpSyntaxNode,String,BoundExpression,ImmutableArray`1,ubyte,ImmutableArray`1,AnalyzedArguments,bool,bool):BoundCall:this         -21 (-10.61% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - LambdaRewriter:InLoopOrLambda(SyntaxNode,SyntaxNode):bool:this         -40 (-10.50% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundForEachStatement:.ctor(CSharpSyntaxNode,ForEachEnumeratorInfo,Conversion,BoundTypeExpression,LocalSymbol,BoundExpression,BoundStatement,bool,GeneratedLabelSymbol,GeneratedLabelSymbol,bool):this         -50 (-10.44% of base) : Microsoft.CodeAnalysis.CSharp.dasm - Binder:MakeQueryClause(CSharpSyntaxNode,BoundExpression,RangeVariableSymbol,BoundExpression,BoundExpression,BoundExpression):BoundQueryClause:this         -37 (-10.42% of base) : Microsoft.CodeAnalysis.dasm - AbstractSyntaxNavigator:TryGetLastTokenForStructuredTrivia(SyntaxTrivia,Func`2,Func`2,byref):bool:this         -26 (-10.36% of base) : Microsoft.CodeAnalysis.CSharp.dasm - BoundCatchBlock:.ctor(CSharpSyntaxNode,LocalSymbol,BoundExpression,TypeSymbol,BoundExpression,BoundBlock,bool,bool):this1354 total methods with Code Size differences (772 improved, 582 regressed), 199348 unchanged.--------------------------------------------------------------------------------

Please let me know if I can add/expand on anything above.

@ghostghost added the area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labelFeb 15, 2021
Copy link
Contributor

@sandreenkosandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Could you please look at few regressions and see what is causing them?
In order to do this I usually build Core_Root_base, Core_Root_diff and thenset COMPlus_NgenDump to the method that I need to get the diffs using differentset CORE_ROOT.

The full command in my case would be:

set Core_Root= D:\Sergey\git\runtime\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root_diffset Complus_NgenDump=methodNameD:\Sergey\git\runtime\artifacts\bin\coreclr\windows.x64.Checked\crossgen.exe /Platform_Assemblies_Paths "D:\Sergey\git\runtime\artifacts\bin\coreclr\windows.x64.Checked\IL" /out "D:\Sergey\git\runtime\artifacts\bin\coreclr\windows.x64.Checked\System.Private.CoreLib.dll" "D:\Sergey\git\runtime\artifacts\bin\coreclr\windows.x64.Checked\IL\System.Private.CoreLib.dll">D:\Sergey\logs\temp\diff.txtthe same for base.

and then compare diff/base in meld/notepad++

}

BOOLCompiler::IsInvariant(GenTree* tree)
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Do we need this function orGenTree::IsInvariant can be left alone and this one deleted?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

TheGenTree::IsInvariant wraps a call to this function. I could consolidate it all into one or the other if you think that would be better, I just couldn't get the call toCompiler::IsInvariant to work from withingentree.h.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I have tried it insandreenko@de99bfd it works well, what issue do you see? Can you cherry-pick this change?

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Sure, I don't see any obvious issues. I'll cherry-pick the commit, double check the diffs locally, and push the updated branch if no issues come up in the diffs.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

No major change in the diff, pushed the updated branch. Thanks for the help!

optMethodFlags |= OMF_HAS_NULLCHECK;
}

BOOLCompiler::IsInvariant(GenTree* tree)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

you can changeimpIsAddressInLocal to(const GenTree* tree, GenTree** lclVarTreeOut) and declaretree const here as well, so you don't need to cast const away inbool GenTree::IsInvariant() const

{
// This can be extended to non-constant nodes, but not to local or indir nodes.
if (OperIsConst()&& ((gtFlags&GTF_REUSE_REG_VAL)!=0))
if (IsInvariant()&& ((gtFlags&GTF_REUSE_REG_VAL)!=0))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

looks like it did not get any diffs, it wasTotal bytes of delta: -2397 (-0.01% of base) before this and after, I wonder if something else is blocking it.

alexcovingtonand others added3 commitsFebruary 15, 2021 16:12
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
@alexcovington
Copy link
ContributorAuthor

Could you please look at few regressions and see what is causing them?

Sure, I'll check it and update with more details.

@sandreenkosandreenko added the enhancementProduct code improvement that does NOT require public API changes/additions labelFeb 16, 2021
@sandreenko
Copy link
Contributor

/azp run runtime-coreclr jitstress

@sandreenko
Copy link
Contributor

PTAL@AndyAyersMS @dotnet/jit-contrib

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@alexcovington
Copy link
ContributorAuthor

@sandreenko Still looking into the regressions. Merged this branch with master and my updated my local master branch this morning just to make sure everything was up-to-date and re-ran the diffs, I think my first set of numbers may have had a stale build. Here's the new set of diffs:

Found 88 files with textual diffs.Summary of Code Size diffs:(Lower is better)Total bytes of base: 33358450Total bytes of diff: 33356675Total bytes of delta: -1775 (-0.01% of base)    diff is an improvement.Top file regressions (bytes):          14 : System.Security.Cryptography.X509Certificates.dasm (0.01% of base)Top file improvements (bytes):        -264 : System.Private.CoreLib.dasm (-0.01% of base)        -184 : Microsoft.CodeAnalysis.VisualBasic.dasm (-0.01% of base)        -182 : System.Data.Common.dasm (-0.02% of base)        -148 : System.Collections.Immutable.dasm (-0.06% of base)        -121 : System.Net.Security.dasm (-0.06% of base)         -92 : System.Formats.Asn1.dasm (-0.14% of base)         -90 : System.Security.Cryptography.Algorithms.dasm (-0.03% of base)         -79 : System.Private.Xml.dasm (-0.00% of base)         -66 : System.Net.Http.dasm (-0.01% of base)         -52 : System.Net.HttpListener.dasm (-0.03% of base)         -44 : System.Security.Cryptography.Cng.dasm (-0.03% of base)         -41 : System.Runtime.Numerics.dasm (-0.06% of base)         -39 : Microsoft.CodeAnalysis.CSharp.dasm (-0.00% of base)         -33 : System.Net.Quic.dasm (-0.06% of base)         -30 : System.IO.Pipes.dasm (-0.09% of base)         -27 : System.Net.WebSockets.dasm (-0.06% of base)         -26 : System.Security.Cryptography.Pkcs.dasm (-0.01% of base)         -24 : System.Memory.dasm (-0.03% of base)         -23 : System.Numerics.Tensors.dasm (-0.07% of base)         -19 : System.Linq.Parallel.dasm (-0.00% of base)52 total files with Code Size differences (51 improved, 1 regressed), 219 unchanged.Top method regressions (bytes):          21 ( 1.50% of base) : System.Net.Http.dasm - <ProcessHeadersFrame>d__51:MoveNext():this          14 ( 0.55% of base) : System.Security.Cryptography.X509Certificates.dasm - CertificateRequest:Create(X500DistinguishedName,X509SignatureGenerator,DateTimeOffset,DateTimeOffset,ReadOnlySpan`1):X509Certificate2:this           9 ( 0.95% of base) : System.Security.Cryptography.Pkcs.dasm - Pkcs12SafeContents:Decrypt(ReadOnlySpan`1,ReadOnlySpan`1):this           8 ( 2.89% of base) : System.Collections.Immutable.dasm - Builder:set_Item(__Canon,__Canon):this (2 methods)           8 ( 3.05% of base) : System.Collections.Immutable.dasm - Builder:Add(__Canon,__Canon):this (2 methods)           6 ( 0.85% of base) : System.Security.Cryptography.Algorithms.dasm - AesCcm:Encrypt(ref,ref,ref,ref,ref):this           6 ( 0.85% of base) : System.Security.Cryptography.Algorithms.dasm - AesGcm:Encrypt(ref,ref,ref,ref,ref):this           6 ( 2.44% of base) : System.Collections.Immutable.dasm - ImmutableDictionary`2:AddRange(IEnumerable`1,bool):ImmutableDictionary`2:this           5 ( 2.26% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Add(__Canon):ImmutableHashSet`1:this           5 ( 2.26% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Remove(__Canon):ImmutableHashSet`1:this           5 ( 2.02% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Intersect(IEnumerable`1):ImmutableHashSet`1:this           5 ( 2.02% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:SymmetricExcept(IEnumerable`1):ImmutableHashSet`1:this           4 ( 0.48% of base) : System.Private.CoreLib.dasm - CustomAttributeData:get_NamedArguments():IList`1:this           4 ( 0.53% of base) : System.Private.CoreLib.dasm - <ReadBlockAsyncInternal>d__20:MoveNext():this           4 ( 0.33% of base) : Newtonsoft.Json.dasm - JsonSchemaModel:Combine(JsonSchemaModel,JsonSchema)           4 ( 1.29% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Union(IEnumerable`1,bool):ImmutableHashSet`1:this           3 ( 0.16% of base) : System.Private.CoreLib.dasm - <CopyToAsyncCore>d__68:MoveNext():this           3 ( 0.20% of base) : Microsoft.CodeAnalysis.CSharp.dasm - MemberSignatureComparer:HaveSameParameterTypes(ImmutableArray`1,TypeMap,ImmutableArray`1,TypeMap,bool,bool,bool):bool           2 ( 0.29% of base) : System.Private.CoreLib.dasm - BufferedStream:ReadAsync(ref,int,int,CancellationToken):Task`1:this           2 ( 0.11% of base) : System.Private.Xml.dasm - XmlILOptimizerVisitor:FoldArithmetic(int,QilLiteral,QilLiteral):QilNode:thisTop method improvements (bytes):         -58 (-2.80% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - ReducedExtensionMethodSymbol:Create(TypeSymbol,MethodSymbol,int):MethodSymbol         -45 (-2.37% of base) : System.Data.Common.dasm - TimeSpanStorage:Aggregate(ref,int):Object:this         -42 (-3.22% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - OverloadResolution:InferTypeArguments(byref,ImmutableArray`1,ImmutableArray`1,TypeSymbol,BoundNode,byref,Binder,byref):bool         -37 (-1.22% of base) : System.Net.Security.dasm - <WriteAsyncInternal>d__183`1:MoveNext():this (3 methods)         -36 (-1.52% of base) : System.Private.Xml.dasm - XmlDocument:.cctor()         -34 (-10.93% of base) : System.Private.CoreLib.dasm - CustomAttribute:GetCustomAttributes(RuntimeModule,int,int,RuntimeType):ref         -30 (-7.96% of base) : System.IO.Pipes.dasm - PipeStream:WriteAsync(ReadOnlyMemory`1,CancellationToken):ValueTask:this         -26 (-3.70% of base) : System.Collections.Immutable.dasm - Builder:Remove(__Canon):bool:this (6 methods)         -26 (-3.81% of base) : System.Net.Security.dasm - SSPIWrapper:QueryBlittableContextAttributes(ISSPIInterface,SafeDeleteContext,int,Type,byref,byref):bool (2 methods)         -26 (-3.77% of base) : System.Net.HttpListener.dasm - SSPIWrapper:QueryBlittableContextAttributes(ISSPIInterface,SafeDeleteContext,int,Type,byref,byref):bool (2 methods)         -24 (-1.09% of base) : System.Formats.Asn1.dasm - AsnDecoder:ProcessConstructedBitString(ReadOnlySpan`1,int,Span`1,BitStringCopyAction,bool,byref,byref):int         -23 (-1.09% of base) : Microsoft.CodeAnalysis.VisualBasic.dasm - Binder:ResolveMethodForDelegateInvokeFullOrRelaxed(BoundAddressOfOperator,MethodSymbol,bool,DiagnosticBag,bool,byref):KeyValuePair`2         -22 (-4.40% of base) : System.Security.Cryptography.Algorithms.dasm - RSA:ImportSubjectPublicKeyInfo(ReadOnlySpan`1,byref):this         -22 (-4.40% of base) : System.Security.Cryptography.Algorithms.dasm - RSA:ImportPkcs8PrivateKey(ReadOnlySpan`1,byref):this         -21 (-1.17% of base) : System.Memory.dasm - BuffersExtensions:CopyToMultiSegment(byref,Span`1) (3 methods)         -21 (-2.23% of base) : System.Security.Cryptography.Algorithms.dasm - RSACng:VerifyHash(ReadOnlySpan`1,ReadOnlySpan`1,HashAlgorithmName,RSASignaturePadding):bool:this         -21 (-2.07% of base) : System.Security.Cryptography.Cng.dasm - RSACng:VerifyHash(ReadOnlySpan`1,ReadOnlySpan`1,HashAlgorithmName,RSASignaturePadding):bool:this         -19 (-0.53% of base) : System.Data.Common.dasm - SqlDecimalStorage:Aggregate(ref,int):Object:this         -18 (-5.88% of base) : System.Private.CoreLib.dasm - MemoryExtensions:TrimStart(Span`1,ReadOnlySpan`1):Span`1         -18 (-5.75% of base) : System.Private.CoreLib.dasm - MemoryExtensions:TrimEnd(Span`1,ReadOnlySpan`1):Span`1Top method regressions (percentages):           8 ( 3.05% of base) : System.Collections.Immutable.dasm - Builder:Add(__Canon,__Canon):this (2 methods)           8 ( 2.89% of base) : System.Collections.Immutable.dasm - Builder:set_Item(__Canon,__Canon):this (2 methods)           6 ( 2.44% of base) : System.Collections.Immutable.dasm - ImmutableDictionary`2:AddRange(IEnumerable`1,bool):ImmutableDictionary`2:this           5 ( 2.26% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Add(__Canon):ImmutableHashSet`1:this           5 ( 2.26% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Remove(__Canon):ImmutableHashSet`1:this           5 ( 2.02% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Intersect(IEnumerable`1):ImmutableHashSet`1:this           5 ( 2.02% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:SymmetricExcept(IEnumerable`1):ImmutableHashSet`1:this           2 ( 1.80% of base) : System.Reflection.MetadataLoadContext.dasm - EcmaToStringHelpers:ToTypeString(TypeSpecificationHandle,MetadataReader,byref):String           2 ( 1.52% of base) : Microsoft.CodeAnalysis.dasm - RealParser:MultiplyByPowerOfTen(byref,int)           2 ( 1.52% of base) : Microsoft.CodeAnalysis.dasm - RealParser:ShiftLeft(byref,int)          21 ( 1.50% of base) : System.Net.Http.dasm - <ProcessHeadersFrame>d__51:MoveNext():this           4 ( 1.29% of base) : System.Collections.Immutable.dasm - ImmutableHashSet`1:Union(IEnumerable`1,bool):ImmutableHashSet`1:this           2 ( 1.24% of base) : System.Collections.Immutable.dasm - ImmutableDictionary`2:SetItems(IEnumerable`1):ImmutableDictionary`2:this           9 ( 0.95% of base) : System.Security.Cryptography.Pkcs.dasm - Pkcs12SafeContents:Decrypt(ReadOnlySpan`1,ReadOnlySpan`1):this           6 ( 0.85% of base) : System.Security.Cryptography.Algorithms.dasm - AesCcm:Encrypt(ref,ref,ref,ref,ref):this           6 ( 0.85% of base) : System.Security.Cryptography.Algorithms.dasm - AesGcm:Encrypt(ref,ref,ref,ref,ref):this           1 ( 0.56% of base) : System.Formats.Asn1.dasm - AsnReader:ReadUtcTime(Nullable`1):DateTimeOffset:this          14 ( 0.55% of base) : System.Security.Cryptography.X509Certificates.dasm - CertificateRequest:Create(X500DistinguishedName,X509SignatureGenerator,DateTimeOffset,DateTimeOffset,ReadOnlySpan`1):X509Certificate2:this           4 ( 0.53% of base) : System.Private.CoreLib.dasm - <ReadBlockAsyncInternal>d__20:MoveNext():this           4 ( 0.48% of base) : System.Private.CoreLib.dasm - CustomAttributeData:get_NamedArguments():IList`1:thisTop method improvements (percentages):         -34 (-10.93% of base) : System.Private.CoreLib.dasm - CustomAttribute:GetCustomAttributes(RuntimeModule,int,int,RuntimeType):ref         -30 (-7.96% of base) : System.IO.Pipes.dasm - PipeStream:WriteAsync(ReadOnlyMemory`1,CancellationToken):ValueTask:this         -14 (-7.65% of base) : System.Collections.Immutable.dasm - ImmutableDictionary`2:SetItem(__Canon,__Canon):ImmutableDictionary`2:this         -14 (-7.57% of base) : System.Collections.Immutable.dasm - ImmutableDictionary`2:Add(__Canon,__Canon):ImmutableDictionary`2:this         -12 (-7.50% of base) : System.IO.Pipelines.dasm - PipeWriterStream:WriteAsync(ReadOnlyMemory`1,CancellationToken):ValueTask:this         -15 (-6.58% of base) : Microsoft.CodeAnalysis.CSharp.dasm - PEModuleSymbol:GetCustomAttributesFilterExtensions(EntityHandle,byref):ImmutableArray`1:this          -4 (-6.35% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:get_EntityBody():TimeSpan:this          -4 (-6.35% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:get_DrainEntityBody():TimeSpan:this          -4 (-6.35% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:get_RequestQueue():TimeSpan:this          -4 (-6.35% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:get_IdleConnection():TimeSpan:this          -4 (-6.35% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:get_HeaderWait():TimeSpan:this          -4 (-6.06% of base) : System.Net.HttpListener.dasm - HttpListenerTimeoutManager:GetTimeout(int):TimeSpan:this         -18 (-5.88% of base) : System.Private.CoreLib.dasm - MemoryExtensions:TrimStart(Span`1,ReadOnlySpan`1):Span`1         -18 (-5.75% of base) : System.Private.CoreLib.dasm - MemoryExtensions:TrimEnd(Span`1,ReadOnlySpan`1):Span`1         -13 (-5.39% of base) : System.Formats.Asn1.dasm - AsnDecoder:TryReadCharacterStringCore(ReadOnlySpan`1,int,Asn1Tag,int,Encoding,Span`1,byref,byref):bool         -17 (-5.06% of base) : System.Formats.Asn1.dasm - AsnDecoder:ReadCharacterStringCore(ReadOnlySpan`1,int,Asn1Tag,int,Encoding,byref):String         -14 (-5.05% of base) : System.Collections.Immutable.dasm - Builder:Add(__Canon):bool:this (2 methods)          -7 (-4.73% of base) : System.Collections.Immutable.dasm - ImmutableArray`1:Contains(KeyValuePair`2):bool:this          -6 (-4.65% of base) : System.Data.Common.dasm - SqlDouble:op_Implicit(SqlMoney):SqlDouble         -22 (-4.40% of base) : System.Security.Cryptography.Algorithms.dasm - RSA:ImportSubjectPublicKeyInfo(ReadOnlySpan`1,byref):this338 total methods with Code Size differences (297 improved, 41 regressed), 200429 unchanged.--------------------------------------------------------------------------------
sandreenko reacted with thumbs up emoji

@alexcovington
Copy link
ContributorAuthor

alexcovington commentedFeb 18, 2021
edited by sandreenko
Loading

@sandreenko Having a little trouble narrowing down where the regression is. I've been using the command:

@echo offset "Complus_NgenDump=CertificateRequest:Create(X500DistinguishedName,X509SignatureGenerator,DateTimeOffset,DateTimeOffset,ReadOnlySpan`1):X509Certificate2:this"set Core_Root=C:\Users\acovingt\source\repos\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_RootC:\Users\acovingt\source\repos\runtime\artifacts\bin\coreclr\windows.x64.Debug\crossgen.exe ^/Platform_Assemblies_Paths "C:\Users\acovingt\source\repos\runtime\artifacts\bin\testhost\net6.0-windows-Debug-x64\shared\Microsoft.NETCore.App\6.0.0" ^/out "C:\Users\acovingt\Documents\System.Security.Cryptography.X509Certificates.contention.dll" ^"C:\Users\acovingt\source\repos\runtime\artifacts\bin\System.Security.Cryptography.X509Certificates\net6.0-windows-Debug\System.Security.Cryptography.X509Certificates.dll" ^> C:\Users\acovingt\Documents\diff.txtC:\Users\acovingt\source\repos\runtime-master\artifacts\bin\coreclr\windows.x64.Debug\crossgen.exe ^/Platform_Assemblies_Paths "C:\Users\acovingt\source\repos\runtime\artifacts\bin\testhost\net6.0-windows-Debug-x64\shared\Microsoft.NETCore.App\6.0.0" ^/out "C:\Users\acovingt\Documents\System.Security.Cryptography.X509Certificates.default.dll" ^"C:\Users\acovingt\source\repos\runtime-master\artifacts\bin\System.Security.Cryptography.X509Certificates\net6.0-windows-Debug\System.Security.Cryptography.X509Certificates.dll" ^> C:\Users\acovingt\Documents\base.txt
Logs

To generate the files to compare. When I do a diff of the two files, I'm only seeing differences in addresses, but no real difference in what is being generated. For example, if I look at the code that is generated for

base.txt

; Total bytes of code 3690, prolog size 74, PerfScore 1221.67, instruction count 667, allocated bytes for code 3690 (MethodHash=f9a6dad2) for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.ReadOnlySpan`1[Byte]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; ============================================================*************** After end code gen, before unwindEmit()G_M9517_IG01:        ; func=00, offs=000000H, size=004AH, bbWeight=1    PerfScore 19.58, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IGIN027a: 000000 push     rbpIN027b: 000001 push     rdiIN027c: 000002 push     rsiIN027d: 000003 sub      rsp, 0xAE0IN027e: 00000A lea      rbp, [rsp+AF0H]IN027f: 000012 xorps    xmm4, xmm4IN0280: 000015 mov      rax, -0xAB0IN0281: 00001F movaps   xmmword ptr [rbp+rax-10H], xmm4IN0282: 000024 movaps   xmmword ptr [rax+rbp], xmm4IN0283: 000028 movaps   xmmword ptr [rbp+rax+10H], xmm4IN0284: 00002D add      rax, 48IN0285: 000031 jne      SHORT  -5 instrIN0286: 000033 mov      qword ptr [V144 rbp-AD0H], rspIN0287: 00003A mov      gword ptr [V00 rbp+10H], rcxIN0288: 00003E mov      gword ptr [V01 rbp+18H], rdxIN0289: 000042 mov      gword ptr [V02 rbp+20H], r8IN028a: 000046 mov      bword ptr [V03 rbp+28H], r9G_M9517_IG02:        ; offs=00004AH, size=001BH, bbWeight=1    PerfScore 5.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0001: 00004A nop      IN0002: 00004B cmp      gword ptr [V01 rbp+18H], 0IN0003: 000050 sete     clIN0004: 000053 movzx    rcx, clIN0005: 000056 mov      dword ptr [V14 rbp-2D4H], ecxIN0006: 00005C cmp      dword ptr [V14 rbp-2D4H], 0IN0007: 000063 je       SHORT G_M9517_IG04G_M9517_IG03:        ; offs=000065H, size=003EH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0008: 000065 call     [CORINFO_HELP_READYTORUN_NEW]IN0009: 00006B mov      gword ptr [V120 rbp-990H], raxIN000a: 000072 mov      ecx, 0x3029IN000b: 000077 call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN000c: 00007C mov      gword ptr [V121 rbp-998H], raxIN000d: 000083 mov      rdx, gword ptr [V121 rbp-998H]IN000e: 00008A mov      rcx, gword ptr [V120 rbp-990H]IN000f: 000091 call     [System.ArgumentNullException:.ctor(System.String):this]IN0010: 000097 mov      rcx, gword ptr [V120 rbp-990H]IN0011: 00009E call     CORINFO_HELP_THROWG_M9517_IG04:        ; offs=0000A3H, size=001AH, bbWeight=1    PerfScore 5.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0012: 0000A3 cmp      gword ptr [V02 rbp+20H], 0IN0013: 0000A8 sete     clIN0014: 0000AB movzx    rcx, clIN0015: 0000AE mov      dword ptr [V15 rbp-2D8H], ecxIN0016: 0000B4 cmp      dword ptr [V15 rbp-2D8H], 0IN0017: 0000BB je       SHORT G_M9517_IG06G_M9517_IG05:        ; offs=0000BDH, size=003EH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0018: 0000BD call     [CORINFO_HELP_READYTORUN_NEW]IN0019: 0000C3 mov      gword ptr [V119 rbp-988H], raxIN001a: 0000CA mov      ecx, 0x303FIN001b: 0000CF call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN001c: 0000D4 mov      gword ptr [V122 rbp-9A0H], raxIN001d: 0000DB mov      rdx, gword ptr [V122 rbp-9A0H]IN001e: 0000E2 mov      rcx, gword ptr [V119 rbp-988H]IN001f: 0000E9 call     [System.ArgumentNullException:.ctor(System.String):this]IN0020: 0000EF mov      rcx, gword ptr [V119 rbp-988H]IN0021: 0000F6 call     CORINFO_HELP_THROWG_M9517_IG06:        ; offs=0000FBH, size=0051H, bbWeight=1    PerfScore 23.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0022: 0000FB mov      rcx, bword ptr [V04 rbp+30H]IN0023: 0000FF movups   xmm0, xmmword ptr [rcx]IN0024: 000102 movups   xmmword ptr [V123 rbp-9B0H], xmm0IN0025: 000109 mov      rcx, bword ptr [V03 rbp+28H]IN0026: 00010D movups   xmm0, xmmword ptr [rcx]IN0027: 000110 movups   xmmword ptr [V124 rbp-9C0H], xmm0IN0028: 000117 lea      rcx, bword ptr [V123 rbp-9B0H]IN0029: 00011E lea      rdx, bword ptr [V124 rbp-9C0H]IN002a: 000125 call     [System.DateTimeOffset:op_LessThan(System.DateTimeOffset,System.DateTimeOffset):bool]IN002b: 00012B movzx    rcx, alIN002c: 00012E mov      dword ptr [V33 rbp-5ECH], ecxIN002d: 000134 mov      ecx, dword ptr [V33 rbp-5ECH]IN002e: 00013A movzx    rcx, clIN002f: 00013D mov      dword ptr [V16 rbp-2DCH], ecxIN0030: 000143 cmp      dword ptr [V16 rbp-2DCH], 0IN0031: 00014A je       SHORT G_M9517_IG08G_M9517_IG07:        ; offs=00014CH, size=003AH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0032: 00014C call     [System.SR:get_Cryptography_CertReq_DatesReversed():System.String]IN0033: 000152 mov      gword ptr [V117 rbp-978H], raxIN0034: 000159 call     [CORINFO_HELP_READYTORUN_NEW]IN0035: 00015F mov      gword ptr [V118 rbp-980H], raxIN0036: 000166 mov      rcx, gword ptr [V118 rbp-980H]IN0037: 00016D mov      rdx, gword ptr [V117 rbp-978H]IN0038: 000174 call     [System.ArgumentException:.ctor(System.String):this]IN0039: 00017A mov      rcx, gword ptr [V118 rbp-980H]IN003a: 000181 call     CORINFO_HELP_THROWG_M9517_IG08:        ; offs=000186H, size=0004H, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN003b: 000186 mov      rcx, bword ptr [V05 rbp+38H]G_M9517_IG09:        ; offs=00018AH, size=000AH, bbWeight=1    PerfScore 6.00, nogc, extendIN003c: 00018A movups   xmm0, xmmword ptr [rcx]IN003d: 00018D movups   xmmword ptr [V34 rbp-600H], xmm0G_M9517_IG10:        ; offs=000194H, size=000FH, bbWeight=1    PerfScore 3.75, extendIN003e: 000194 lea      rcx, [V35 rbp-610H]IN003f: 00019B xor      rdx, rdxIN0040: 00019D call     [System.ReadOnlySpan`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlySpan`1[Byte]]G_M9517_IG11:        ; offs=0001A3H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0041: 0001A3 movups   xmm0, xmmword ptr [V34 rbp-600H]IN0042: 0001AA movups   xmmword ptr [V125 rbp-9D0H], xmm0G_M9517_IG12:        ; offs=0001B1H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0043: 0001B1 movups   xmm0, xmmword ptr [V35 rbp-610H]IN0044: 0001B8 movups   xmmword ptr [V126 rbp-9E0H], xmm0G_M9517_IG13:        ; offs=0001BFH, size=004BH, bbWeight=1    PerfScore 17.50, isz, extendIN0045: 0001BF lea      rcx, bword ptr [V125 rbp-9D0H]IN0046: 0001C6 lea      rdx, bword ptr [V126 rbp-9E0H]IN0047: 0001CD call     [System.ReadOnlySpan`1[Byte][System.Byte]:op_Equality(System.ReadOnlySpan`1[Byte],System.ReadOnlySpan`1[Byte]):bool]IN0048: 0001D3 movzx    rcx, alIN0049: 0001D6 mov      dword ptr [V36 rbp-614H], ecxIN004a: 0001DC cmp      dword ptr [V36 rbp-614H], 0IN004b: 0001E3 jne      SHORT G_M9517_IG14IN004c: 0001E5 mov      rcx, bword ptr [V05 rbp+38H]IN004d: 0001E9 call     [System.ReadOnlySpan`1[Byte][System.Byte]:get_Length():int:this]IN004e: 0001EF mov      dword ptr [V116 rbp-96CH], eaxIN004f: 0001F5 cmp      dword ptr [V116 rbp-96CH], 0IN0050: 0001FC setle    clIN0051: 0001FF movzx    rcx, clIN0052: 000202 mov      dword ptr [V37 rbp-618H], ecxIN0053: 000208 jmp      SHORT G_M9517_IG15G_M9517_IG14:        ; offs=00020AH, size=000AH, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0054: 00020A mov      dword ptr [V37 rbp-618H], 1G_M9517_IG15:        ; offs=000214H, size=0018H, bbWeight=1    PerfScore 4.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0055: 000214 mov      ecx, dword ptr [V37 rbp-618H]IN0056: 00021A movzx    rcx, clIN0057: 00021D mov      dword ptr [V17 rbp-2E0H], ecxIN0058: 000223 cmp      dword ptr [V17 rbp-2E0H], 0IN0059: 00022A je       SHORT G_M9517_IG17G_M9517_IG16:        ; offs=00022CH, size=0052H, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN005a: 00022C call     [System.SR:get_Arg_EmptyOrNullArray():System.String]IN005b: 000232 mov      gword ptr [V114 rbp-960H], raxIN005c: 000239 call     [CORINFO_HELP_READYTORUN_NEW]IN005d: 00023F mov      gword ptr [V115 rbp-968H], raxIN005e: 000246 mov      ecx, 0x2FE9IN005f: 00024B call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN0060: 000250 mov      gword ptr [V127 rbp-9E8H], raxIN0061: 000257 mov      r8, gword ptr [V127 rbp-9E8H]IN0062: 00025E mov      rdx, gword ptr [V114 rbp-960H]IN0063: 000265 mov      rcx, gword ptr [V115 rbp-968H]IN0064: 00026C call     [System.ArgumentException:.ctor(System.String,System.String):this]IN0065: 000272 mov      rcx, gword ptr [V115 rbp-968H]IN0066: 000279 call     CORINFO_HELP_THROWG_M9517_IG17:        ; offs=00027EH, size=006AH, bbWeight=1    PerfScore 23.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0067: 00027E mov      rcx, gword ptr [V02 rbp+20H]IN0068: 000282 mov      gword ptr [V38 rbp-620H], rcxIN0069: 000289 mov      rcx, gword ptr [V00 rbp+10H]IN006a: 00028D call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_HashAlgorithm():System.Security.Cryptography.HashAlgorithmName:this]IN006b: 000293 mov      gword ptr [V39 rbp-628H], raxIN006c: 00029A mov      rcx, gword ptr [V38 rbp-620H]IN006d: 0002A1 mov      rdx, gword ptr [V39 rbp-628H]IN006e: 0002A8 lea      r11, [(reloc 0x1bb561ebaa0)]IN006f: 0002AF cmp      dword ptr [rcx], ecxIN0070: 0002B1 call     [System.Security.Cryptography.X509Certificates.X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this]IN0071: 0002B7 mov      gword ptr [V40 rbp-630H], raxIN0072: 0002BE mov      rcx, gword ptr [V40 rbp-630H]IN0073: 0002C5 mov      gword ptr [V06 rbp-18H], rcxIN0074: 0002C9 lea      rcx, [V41 rbp-640H]IN0075: 0002D0 mov      rdx, gword ptr [V06 rbp-18H]IN0076: 0002D4 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN0077: 0002DA lea      rcx, [V42 rbp-660H]IN0078: 0002E1 mov      qword ptr [V129 rbp-A00H], rcxG_M9517_IG18:        ; offs=0002E8H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0079: 0002E8 movups   xmm0, xmmword ptr [V41 rbp-640H]IN007a: 0002EF movups   xmmword ptr [V128 rbp-9F8H], xmm0G_M9517_IG19:        ; offs=0002F6H, size=001AH, bbWeight=1    PerfScore 4.75, extendIN007b: 0002F6 mov      rcx, qword ptr [V129 rbp-A00H]IN007c: 0002FD lea      rdx, bword ptr [V128 rbp-9F8H]IN007d: 000304 mov      r8d, 2IN007e: 00030A call     [System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn:Decode(System.ReadOnlyMemory`1[Byte],int):System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn]G_M9517_IG20:        ; offs=000310H, size=0016H, bbWeight=1    PerfScore 10.00, nogc, extendIN007f: 000310 movups   xmm0, xmmword ptr [V42 rbp-660H]IN0080: 000317 movups   xmmword ptr [V07 rbp-38H], xmm0IN0081: 00031B movups   xmm0, xmmword ptr [V42+0x10 rbp-650H]IN0082: 000322 movups   xmmword ptr [V07+0x10 rbp-28H], xmm0G_M9517_IG21:        ; offs=000326H, size=003DH, bbWeight=1    PerfScore 13.25, isz, extendIN0083: 000326 lea      rcx, bword ptr [V07+0x8 rbp-30H]IN0084: 00032A call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:get_HasValue():bool:this]IN0085: 000330 movzx    rcx, alIN0086: 000333 mov      dword ptr [V43 rbp-664H], ecxIN0087: 000339 mov      ecx, dword ptr [V43 rbp-664H]IN0088: 00033F movzx    rcx, clIN0089: 000342 mov      dword ptr [V18 rbp-2E4H], ecxIN008a: 000348 cmp      dword ptr [V18 rbp-2E4H], 0IN008b: 00034F je       SHORT G_M9517_IG24IN008c: 000351 nop      IN008d: 000352 lea      rcx, bword ptr [V07+0x8 rbp-30H]IN008e: 000356 lea      rdx, [V113 rbp-958H]IN008f: 00035D call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:get_Value():System.ReadOnlyMemory`1[Byte]:this]G_M9517_IG22:        ; offs=000363H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0090: 000363 movups   xmm0, xmmword ptr [V113 rbp-958H]IN0091: 00036A movups   xmmword ptr [V130 rbp-A10H], xmm0G_M9517_IG23:        ; offs=000371H, size=000FH, bbWeight=1    PerfScore 4.00, extendIN0092: 000371 lea      rcx, bword ptr [V130 rbp-A10H]IN0093: 000378 call     [Internal.Cryptography.Helpers:ValidateDer(System.ReadOnlyMemory`1[Byte])]IN0094: 00037E nop      IN0095: 00037F nop      G_M9517_IG24:        ; offs=000380H, size=001DH, bbWeight=1    PerfScore 4.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0096: 000380 mov      rcx, gword ptr [V00 rbp+10H]IN0097: 000384 mov      gword ptr [V132 rbp-A28H], rcxIN0098: 00038B lea      rcx, [V44 rbp-678H]IN0099: 000392 mov      qword ptr [V133 rbp-A30H], rcxIN009a: 000399 mov      rcx, bword ptr [V05 rbp+38H]G_M9517_IG25:        ; offs=00039DH, size=000AH, bbWeight=1    PerfScore 6.00, nogc, extendIN009b: 00039D movups   xmm0, xmmword ptr [rcx]IN009c: 0003A0 movups   xmmword ptr [V131 rbp-A20H], xmm0G_M9517_IG26:        ; offs=0003A7H, size=001BH, bbWeight=1    PerfScore 5.50, extendIN009d: 0003A7 mov      rcx, gword ptr [V132 rbp-A28H]IN009e: 0003AE mov      rdx, qword ptr [V133 rbp-A30H]IN009f: 0003B5 lea      r8, bword ptr [V131 rbp-A20H]IN00a0: 0003BC call     [System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[Byte]):System.ArraySegment`1[Byte]:this]G_M9517_IG27:        ; offs=0003C2H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN00a1: 0003C2 movups   xmm0, xmmword ptr [V44 rbp-678H]IN00a2: 0003C9 movups   xmmword ptr [V08 rbp-48H], xmm0G_M9517_IG28:        ; offs=0003CDH, size=003BH, bbWeight=1    PerfScore 8.00, extendIN00a3: 0003CD xor      edx, edxIN00a4: 0003CF lea      rcx, bword ptr [V19 rbp-408H]IN00a5: 0003D6 mov      r8d, 288IN00a6: 0003DC call     [CORINFO_HELP_MEMSET]IN00a7: 0003E2 mov      dword ptr [V19+0x8 rbp-400H], 2IN00a8: 0003EC lea      rcx, bword ptr [V19 rbp-408H]IN00a9: 0003F3 mov      bword ptr [V45 rbp-680H], rcxIN00aa: 0003FA lea      rcx, [V46 rbp-690H]IN00ab: 000401 mov      qword ptr [V135 rbp-A48H], rcxG_M9517_IG29:        ; offs=000408H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN00ac: 000408 movups   xmm0, xmmword ptr [V08 rbp-48H]IN00ad: 00040C movups   xmmword ptr [V134 rbp-A40H], xmm0G_M9517_IG30:        ; offs=000413H, size=0133H, bbWeight=1    PerfScore 72.42, extendIN00ae: 000413 mov      rcx, qword ptr [V135 rbp-A48H]IN00af: 00041A lea      rdx, bword ptr [V134 rbp-A40H]IN00b0: 000421 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.ArraySegment`1[Byte]):System.ReadOnlyMemory`1[Byte]]IN00b1: 000427 mov      rdi, bword ptr [V45 rbp-680H]IN00b2: 00042E add      rdi, 16IN00b3: 000432 lea      rsi, bword ptr [V46 rbp-690H]IN00b4: 000439 call     [CORINFO_HELP_ASSIGN_BYREF]IN00b5: 00043F movsq    IN00b6: 000441 lea      rdi, bword ptr [V19 rbp-408H]IN00b7: 000448 add      rdi, 32IN00b8: 00044C lea      rsi, bword ptr [V07 rbp-38H]IN00b9: 000450 call     [CORINFO_HELP_ASSIGN_BYREF]IN00ba: 000456 movsq    IN00bb: 000458 call     [CORINFO_HELP_ASSIGN_BYREF]IN00bc: 00045E movsq    IN00bd: 000460 lea      rcx, bword ptr [V19 rbp-408H]IN00be: 000467 mov      bword ptr [V47 rbp-698H], rcxIN00bf: 00046E mov      rcx, gword ptr [V01 rbp+18H]IN00c0: 000472 lea      r11, [(reloc 0x1bb5616d690)]IN00c1: 000479 cmp      dword ptr [rcx], ecxIN00c2: 00047B call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN00c3: 000481 mov      gword ptr [V48 rbp-6A0H], raxIN00c4: 000488 lea      rcx, [V49 rbp-6B0H]IN00c5: 00048F mov      rdx, gword ptr [V48 rbp-6A0H]IN00c6: 000496 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN00c7: 00049C mov      rdi, bword ptr [V47 rbp-698H]IN00c8: 0004A3 add      rdi, 64IN00c9: 0004A7 lea      rsi, bword ptr [V49 rbp-6B0H]IN00ca: 0004AE call     [CORINFO_HELP_ASSIGN_BYREF]IN00cb: 0004B4 movsq    IN00cc: 0004B6 xorps    xmm0, xmm0IN00cd: 0004B9 movups   xmmword ptr [V20 rbp-438H], xmm0IN00ce: 0004C0 movups   xmmword ptr [V20+0x10 rbp-428H], xmm0IN00cf: 0004C7 movups   xmmword ptr [V20+0x20 rbp-418H], xmm0IN00d0: 0004CE xorps    xmm0, xmm0IN00d1: 0004D1 movups   xmmword ptr [V21 rbp-458H], xmm0IN00d2: 0004D8 movups   xmmword ptr [V21+0x10 rbp-448H], xmm0IN00d3: 0004DF lea      rcx, bword ptr [V19 rbp-408H]IN00d4: 0004E6 mov      bword ptr [V50 rbp-6B8H], rcxIN00d5: 0004ED lea      rcx, bword ptr [V20 rbp-438H]IN00d6: 0004F4 mov      bword ptr [V51 rbp-6C0H], rcxIN00d7: 0004FB lea      rcx, bword ptr [V21 rbp-458H]IN00d8: 000502 mov      bword ptr [V52 rbp-6C8H], rcxIN00d9: 000509 mov      rcx, gword ptr [V00 rbp+10H]IN00da: 00050D call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN00db: 000513 mov      gword ptr [V53 rbp-6D0H], raxIN00dc: 00051A mov      rcx, gword ptr [V53 rbp-6D0H]IN00dd: 000521 cmp      dword ptr [rcx], ecxIN00de: 000523 call     [System.Security.Cryptography.X509Certificates.PublicKey:get_Oid():System.Security.Cryptography.Oid:this]IN00df: 000529 mov      gword ptr [V54 rbp-6D8H], raxIN00e0: 000530 mov      rcx, gword ptr [V54 rbp-6D8H]IN00e1: 000537 lea      r11, [(reloc 0x1bb5616a9d8)]IN00e2: 00053E cmp      dword ptr [rcx], ecxIN00e3: 000540 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]G_M9517_IG31:        ; offs=000546H, size=00ABH, bbWeight=1    PerfScore 37.00, extendIN00e4: 000546 mov      gword ptr [V55 rbp-6E0H], raxIN00e5: 00054D mov      rdx, bword ptr [V50 rbp-6B8H]IN00e6: 000554 mov      bword ptr [V56 rbp-6E8H], rdxIN00e7: 00055B mov      rdx, bword ptr [V51 rbp-6C0H]IN00e8: 000562 mov      bword ptr [V57 rbp-6F0H], rdxIN00e9: 000569 mov      rcx, bword ptr [V52 rbp-6C8H]IN00ea: 000570 mov      rdx, gword ptr [V55 rbp-6E0H]IN00eb: 000577 call     [CORINFO_HELP_CHECKED_ASSIGN_REF]IN00ec: 00057D lea      rcx, bword ptr [V21 rbp-458H]IN00ed: 000584 mov      bword ptr [V58 rbp-6F8H], rcxIN00ee: 00058B mov      rcx, gword ptr [V00 rbp+10H]IN00ef: 00058F call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN00f0: 000595 mov      gword ptr [V59 rbp-700H], raxIN00f1: 00059C mov      rcx, gword ptr [V59 rbp-700H]IN00f2: 0005A3 cmp      dword ptr [rcx], ecxIN00f3: 0005A5 call     [System.Security.Cryptography.X509Certificates.PublicKey:get_EncodedParameters():System.Security.Cryptography.AsnEncodedData:this]IN00f4: 0005AB mov      gword ptr [V60 rbp-708H], raxIN00f5: 0005B2 mov      rcx, gword ptr [V60 rbp-708H]IN00f6: 0005B9 lea      r11, [(reloc 0x1bb5616d690)]IN00f7: 0005C0 cmp      dword ptr [rcx], ecxIN00f8: 0005C2 call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN00f9: 0005C8 mov      gword ptr [V61 rbp-710H], raxIN00fa: 0005CF lea      rcx, [V62 rbp-720H]IN00fb: 0005D6 mov      rdx, gword ptr [V61 rbp-710H]IN00fc: 0005DD call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN00fd: 0005E3 lea      rcx, bword ptr [V63 rbp-738H]IN00fe: 0005EA mov      bword ptr [V137 rbp-A60H], rcxG_M9517_IG32:        ; offs=0005F1H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN00ff: 0005F1 movups   xmm0, xmmword ptr [V62 rbp-720H]IN0100: 0005F8 movups   xmmword ptr [V136 rbp-A58H], xmm0G_M9517_IG33:        ; offs=0005FFH, size=0129H, bbWeight=1    PerfScore 68.75, extendIN0101: 0005FF mov      rcx, bword ptr [V137 rbp-A60H]IN0102: 000606 lea      rdx, bword ptr [V136 rbp-A58H]IN0103: 00060D call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:.ctor(System.ReadOnlyMemory`1[Byte]):this]IN0104: 000613 mov      rax, bword ptr [V56 rbp-6E8H]IN0105: 00061A mov      bword ptr [V64 rbp-740H], raxIN0106: 000621 mov      rax, bword ptr [V57 rbp-6F0H]IN0107: 000628 mov      bword ptr [V65 rbp-748H], raxIN0108: 00062F mov      rdi, bword ptr [V58 rbp-6F8H]IN0109: 000636 add      rdi, 8IN010a: 00063A lea      rsi, bword ptr [V63 rbp-738H]IN010b: 000641 movsq    IN010c: 000643 call     [CORINFO_HELP_ASSIGN_BYREF]IN010d: 000649 movsq    IN010e: 00064B mov      rax, bword ptr [V64 rbp-740H]IN010f: 000652 mov      bword ptr [V66 rbp-750H], raxIN0110: 000659 mov      rdi, bword ptr [V65 rbp-748H]IN0111: 000660 lea      rsi, bword ptr [V21 rbp-458H]IN0112: 000667 call     [CORINFO_HELP_ASSIGN_BYREF]IN0113: 00066D movsq    IN0114: 00066F call     [CORINFO_HELP_ASSIGN_BYREF]IN0115: 000675 movsq    IN0116: 000677 lea      rcx, bword ptr [V20 rbp-438H]IN0117: 00067E mov      bword ptr [V67 rbp-758H], rcxIN0118: 000685 mov      rcx, gword ptr [V00 rbp+10H]IN0119: 000689 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN011a: 00068F mov      gword ptr [V68 rbp-760H], raxIN011b: 000696 mov      rcx, gword ptr [V68 rbp-760H]IN011c: 00069D cmp      dword ptr [rcx], ecxIN011d: 00069F call     [System.Security.Cryptography.X509Certificates.PublicKey:get_EncodedKeyValue():System.Security.Cryptography.AsnEncodedData:this]IN011e: 0006A5 mov      gword ptr [V69 rbp-768H], raxIN011f: 0006AC mov      rcx, gword ptr [V69 rbp-768H]IN0120: 0006B3 lea      r11, [(reloc 0x1bb5616d690)]IN0121: 0006BA cmp      dword ptr [rcx], ecxIN0122: 0006BC call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN0123: 0006C2 mov      gword ptr [V70 rbp-770H], raxIN0124: 0006C9 lea      rcx, [V71 rbp-780H]IN0125: 0006D0 mov      rdx, gword ptr [V70 rbp-770H]IN0126: 0006D7 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN0127: 0006DD mov      rax, bword ptr [V66 rbp-750H]IN0128: 0006E4 mov      bword ptr [V72 rbp-788H], raxIN0129: 0006EB mov      rdi, bword ptr [V67 rbp-758H]IN012a: 0006F2 add      rdi, 32IN012b: 0006F6 lea      rsi, bword ptr [V71 rbp-780H]IN012c: 0006FD call     [CORINFO_HELP_ASSIGN_BYREF]IN012d: 000703 movsq    IN012e: 000705 mov      rdi, bword ptr [V72 rbp-788H]IN012f: 00070C add      rdi, 192IN0130: 000713 lea      rsi, bword ptr [V20 rbp-438H]IN0131: 00071A call     [CORINFO_HELP_ASSIGN_BYREF]IN0132: 000720 movsq    IN0133: 000722 call     [CORINFO_HELP_ASSIGN_BYREF]G_M9517_IG34:        ; offs=000728H, size=014AH, bbWeight=1    PerfScore 105.33, extendIN0134: 000728 movsq    IN0135: 00072A call     [CORINFO_HELP_ASSIGN_BYREF]IN0136: 000730 movsq    IN0137: 000732 xorps    xmm0, xmm0IN0138: 000735 movups   xmmword ptr [V73 rbp-7E8H], xmm0IN0139: 00073C movups   xmmword ptr [V73+0x10 rbp-7D8H], xmm0IN013a: 000743 movups   xmmword ptr [V73+0x20 rbp-7C8H], xmm0IN013b: 00074A movups   xmmword ptr [V73+0x30 rbp-7B8H], xmm0IN013c: 000751 movups   xmmword ptr [V73+0x40 rbp-7A8H], xmm0IN013d: 000758 movups   xmmword ptr [V73+0x50 rbp-798H], xmm0IN013e: 00075F lea      rcx, bword ptr [V73 rbp-7E8H]IN013f: 000766 mov      bword ptr [V140 rbp-A88H], rcxIN0140: 00076D mov      rcx, bword ptr [V03 rbp+28H]IN0141: 000771 movups   xmm0, xmmword ptr [rcx]IN0142: 000774 movups   xmmword ptr [V138 rbp-A70H], xmm0IN0143: 00077B mov      rcx, bword ptr [V04 rbp+30H]IN0144: 00077F movups   xmm0, xmmword ptr [rcx]IN0145: 000782 movups   xmmword ptr [V139 rbp-A80H], xmm0IN0146: 000789 mov      rcx, bword ptr [V140 rbp-A88H]IN0147: 000790 lea      rdx, bword ptr [V138 rbp-A70H]IN0148: 000797 lea      r8, bword ptr [V139 rbp-A80H]IN0149: 00079E call     [System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:.ctor(System.DateTimeOffset,System.DateTimeOffset):this]IN014a: 0007A4 lea      rcx, bword ptr [V19 rbp-408H]IN014b: 0007AB add      rcx, 80IN014c: 0007AF lea      rdx, bword ptr [V73 rbp-7E8H]IN014d: 0007B6 mov      r8d, 96IN014e: 0007BC call     [CORINFO_HELP_MEMCPY]IN014f: 0007C2 lea      rcx, bword ptr [V19 rbp-408H]IN0150: 0007C9 mov      bword ptr [V74 rbp-7F0H], rcxIN0151: 0007D0 mov      rcx, gword ptr [V00 rbp+10H]IN0152: 0007D4 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_SubjectName():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this]IN0153: 0007DA mov      gword ptr [V75 rbp-7F8H], raxIN0154: 0007E1 mov      rcx, gword ptr [V75 rbp-7F8H]IN0155: 0007E8 lea      r11, [(reloc 0x1bb5616d690)]IN0156: 0007EF cmp      dword ptr [rcx], ecxIN0157: 0007F1 call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN0158: 0007F7 mov      gword ptr [V76 rbp-800H], raxIN0159: 0007FE lea      rcx, [V77 rbp-810H]IN015a: 000805 mov      rdx, gword ptr [V76 rbp-800H]IN015b: 00080C call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN015c: 000812 mov      rdi, bword ptr [V74 rbp-7F0H]IN015d: 000819 add      rdi, 176IN015e: 000820 lea      rsi, bword ptr [V77 rbp-810H]IN015f: 000827 call     [CORINFO_HELP_ASSIGN_BYREF]IN0160: 00082D movsq    IN0161: 00082F lea      rdi, bword ptr [V09 rbp-168H]IN0162: 000836 lea      rsi, bword ptr [V19 rbp-408H]IN0163: 00083D mov      ecx, 36IN0164: 000842 rep movsq IN0165: 000845 mov      rcx, gword ptr [V00 rbp+10H]IN0166: 000849 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0167: 00084F mov      gword ptr [V78 rbp-818H], raxIN0168: 000856 mov      rcx, gword ptr [V78 rbp-818H]IN0169: 00085D lea      r11, [(reloc 0x1bb561e5b58)]IN016a: 000864 cmp      dword ptr [rcx], ecxIN016b: 000866 call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN016c: 00086C mov      dword ptr [V79 rbp-81CH], eaxG_M9517_IG35:        ; offs=000872H, size=0114H, bbWeight=1    PerfScore 67.25, extendIN016d: 000872 cmp      dword ptr [V79 rbp-81CH], 0IN016e: 000879 setg     clIN016f: 00087C movzx    rcx, clIN0170: 00087F mov      dword ptr [V22 rbp-45CH], ecxIN0171: 000885 cmp      dword ptr [V22 rbp-45CH], 0IN0172: 00088C je       G_M9517_IG48IN0173: 000892 nop      IN0174: 000893 mov      rcx, gword ptr [V00 rbp+10H]IN0175: 000897 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0176: 00089D mov      gword ptr [V90 rbp-880H], raxIN0177: 0008A4 mov      rcx, gword ptr [V90 rbp-880H]IN0178: 0008AB lea      r11, [(reloc 0x1bb561e5b58)]IN0179: 0008B2 cmp      dword ptr [rcx], ecxIN017a: 0008B4 call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN017b: 0008BA mov      dword ptr [V91 rbp-884H], eaxIN017c: 0008C0 call     [CORINFO_HELP_READYTORUN_NEW]IN017d: 0008C6 mov      gword ptr [V92 rbp-890H], raxIN017e: 0008CD mov      rcx, gword ptr [V92 rbp-890H]IN017f: 0008D4 mov      edx, dword ptr [V91 rbp-884H]IN0180: 0008DA call     [System.Collections.Generic.HashSet`1[__Canon][System.__Canon]:.ctor(int):this]IN0181: 0008E0 mov      rcx, gword ptr [V92 rbp-890H]IN0182: 0008E7 mov      gword ptr [V23 rbp-468H], rcxIN0183: 0008EE mov      rcx, gword ptr [V00 rbp+10H]IN0184: 0008F2 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0185: 0008F8 mov      gword ptr [V93 rbp-898H], raxIN0186: 0008FF mov      rcx, gword ptr [V93 rbp-898H]IN0187: 000906 lea      r11, [(reloc 0x1bb561e5b58)]IN0188: 00090D cmp      dword ptr [rcx], ecxIN0189: 00090F call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN018a: 000915 mov      dword ptr [V94 rbp-89CH], eaxIN018b: 00091B call     [CORINFO_HELP_READYTORUN_NEW]IN018c: 000921 mov      gword ptr [V95 rbp-8A8H], raxIN018d: 000928 mov      rcx, gword ptr [V95 rbp-8A8H]IN018e: 00092F mov      edx, dword ptr [V94 rbp-89CH]IN018f: 000935 call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:.ctor(int):this]IN0190: 00093B mov      rcx, gword ptr [V95 rbp-8A8H]IN0191: 000942 mov      gword ptr [V24 rbp-470H], rcxIN0192: 000949 nop      IN0193: 00094A mov      rcx, gword ptr [V00 rbp+10H]IN0194: 00094E call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0195: 000954 mov      gword ptr [V96 rbp-8B0H], raxIN0196: 00095B mov      rcx, gword ptr [V96 rbp-8B0H]IN0197: 000962 lea      r11, [(reloc 0x1bb561ecff8)]IN0198: 000969 cmp      dword ptr [rcx], ecxIN0199: 00096B call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[__Canon]:this]IN019a: 000971 mov      gword ptr [V97 rbp-8B8H], raxIN019b: 000978 mov      rcx, gword ptr [V97 rbp-8B8H]IN019c: 00097F mov      gword ptr [V25 rbp-478H], rcxG_M9517_IG36:        ; offs=000986H, size=0006H, bbWeight=1    PerfScore 2.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN019d: 000986 nop      IN019e: 000987 jmp      G_M9517_IG43G_M9517_IG37:        ; offs=00098CH, size=004EH, bbWeight=1    PerfScore 15.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN019f: 00098C mov      rcx, gword ptr [V25 rbp-478H]IN01a0: 000993 lea      r11, [(reloc 0x1bb561ed090)]IN01a1: 00099A call     [System.Collections.Generic.IEnumerator`1[__Canon][System.__Canon]:get_Current():System.__Canon:this]IN01a2: 0009A0 mov      gword ptr [V99 rbp-8C8H], raxIN01a3: 0009A7 mov      rcx, gword ptr [V99 rbp-8C8H]IN01a4: 0009AE mov      gword ptr [V26 rbp-480H], rcxIN01a5: 0009B5 nop      IN01a6: 0009B6 cmp      gword ptr [V26 rbp-480H], 0IN01a7: 0009BE sete     clIN01a8: 0009C1 movzx    rcx, clIN01a9: 0009C4 mov      dword ptr [V27 rbp-484H], ecxIN01aa: 0009CA cmp      dword ptr [V27 rbp-484H], 0IN01ab: 0009D1 je       SHORT G_M9517_IG38IN01ac: 0009D3 nop      IN01ad: 0009D4 nop      IN01ae: 0009D5 jmp      G_M9517_IG43G_M9517_IG38:        ; offs=0009DAH, size=008EH, bbWeight=1    PerfScore 31.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01af: 0009DA mov      rcx, gword ptr [V23 rbp-468H]IN01b0: 0009E1 mov      gword ptr [V100 rbp-8D0H], rcxIN01b1: 0009E8 mov      rcx, gword ptr [V26 rbp-480H]IN01b2: 0009EF lea      r11, [(reloc 0x1bb561ed128)]IN01b3: 0009F6 cmp      dword ptr [rcx], ecxIN01b4: 0009F8 call     [System.Security.Cryptography.AsnEncodedData:get_Oid():System.Security.Cryptography.Oid:this]IN01b5: 0009FE mov      gword ptr [V101 rbp-8D8H], raxIN01b6: 000A05 mov      rcx, gword ptr [V101 rbp-8D8H]IN01b7: 000A0C lea      r11, [(reloc 0x1bb5616a9d8)]IN01b8: 000A13 cmp      dword ptr [rcx], ecxIN01b9: 000A15 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]IN01ba: 000A1B mov      gword ptr [V102 rbp-8E0H], raxIN01bb: 000A22 mov      rcx, gword ptr [V100 rbp-8D0H]IN01bc: 000A29 mov      rdx, gword ptr [V102 rbp-8E0H]IN01bd: 000A30 lea      r11, [(reloc 0x1bb561ed1c0)]IN01be: 000A37 cmp      dword ptr [rcx], ecxIN01bf: 000A39 call     [System.Collections.Generic.HashSet`1[__Canon][System.__Canon]:Add(System.__Canon):bool:this]IN01c0: 000A3F movzx    rcx, alIN01c1: 000A42 mov      dword ptr [V103 rbp-8E4H], ecxIN01c2: 000A48 cmp      dword ptr [V103 rbp-8E4H], 0IN01c3: 000A4F sete     clIN01c4: 000A52 movzx    rcx, clIN01c5: 000A55 mov      dword ptr [V28 rbp-488H], ecxIN01c6: 000A5B cmp      dword ptr [V28 rbp-488H], 0IN01c7: 000A62 je       G_M9517_IG40G_M9517_IG39:        ; offs=000A68H, size=0090H, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01c8: 000A68 nop      IN01c9: 000A69 call     [System.SR:get_Cryptography_CertReq_DuplicateExtension():System.String]IN01ca: 000A6F mov      gword ptr [V105 rbp-910H], raxIN01cb: 000A76 mov      rcx, gword ptr [V26 rbp-480H]IN01cc: 000A7D lea      r11, [(reloc 0x1bb561ed128)]IN01cd: 000A84 cmp      dword ptr [rcx], ecxIN01ce: 000A86 call     [System.Security.Cryptography.AsnEncodedData:get_Oid():System.Security.Cryptography.Oid:this]IN01cf: 000A8C mov      gword ptr [V106 rbp-918H], raxIN01d0: 000A93 mov      rcx, gword ptr [V106 rbp-918H]IN01d1: 000A9A lea      r11, [(reloc 0x1bb5616a9d8)]IN01d2: 000AA1 cmp      dword ptr [rcx], ecxIN01d3: 000AA3 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]IN01d4: 000AA9 mov      gword ptr [V107 rbp-920H], raxIN01d5: 000AB0 mov      rcx, gword ptr [V105 rbp-910H]IN01d6: 000AB7 mov      rdx, gword ptr [V107 rbp-920H]IN01d7: 000ABE call     [System.SR:Format(System.String,System.Object):System.String]IN01d8: 000AC4 mov      gword ptr [V108 rbp-928H], raxIN01d9: 000ACB call     [CORINFO_HELP_READYTORUN_NEW]IN01da: 000AD1 mov      gword ptr [V109 rbp-930H], raxIN01db: 000AD8 mov      rcx, gword ptr [V109 rbp-930H]IN01dc: 000ADF mov      rdx, gword ptr [V108 rbp-928H]IN01dd: 000AE6 call     [System.InvalidOperationException:.ctor(System.String):this]IN01de: 000AEC mov      rcx, gword ptr [V109 rbp-930H]IN01df: 000AF3 call     CORINFO_HELP_THROWG_M9517_IG40:        ; offs=000AF8H, size=0033H, bbWeight=1    PerfScore 10.83, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01e0: 000AF8 xorps    xmm0, xmm0IN01e1: 000AFB movups   xmmword ptr [V104 rbp-908H], xmm0IN01e2: 000B02 movups   xmmword ptr [V104+0x10 rbp-8F8H], xmm0IN01e3: 000B09 lea      rcx, bword ptr [V104 rbp-908H]IN01e4: 000B10 mov      rdx, gword ptr [V26 rbp-480H]IN01e5: 000B17 call     [System.Security.Cryptography.Asn1.X509ExtensionAsn:.ctor(System.Security.Cryptography.X509Certificates.X509Extension):this]IN01e6: 000B1D mov      rcx, gword ptr [V24 rbp-470H]IN01e7: 000B24 mov      gword ptr [V142 rbp-AB0H], rcxG_M9517_IG41:        ; offs=000B2BH, size=001CH, bbWeight=1    PerfScore 10.00, nogc, extendIN01e8: 000B2B movups   xmm0, xmmword ptr [V104 rbp-908H]IN01e9: 000B32 movups   xmmword ptr [V141 rbp-AA8H], xmm0IN01ea: 000B39 movups   xmm0, xmmword ptr [V104+0x10 rbp-8F8H]IN01eb: 000B40 movups   xmmword ptr [V141+0x10 rbp-A98H], xmm0G_M9517_IG42:        ; offs=000B47H, size=001FH, bbWeight=1    PerfScore 7.50, extendIN01ec: 000B47 mov      rcx, gword ptr [V142 rbp-AB0H]IN01ed: 000B4E lea      rdx, bword ptr [V141 rbp-AA8H]IN01ee: 000B55 lea      r11, [(reloc 0x1bb561ed380)]IN01ef: 000B5C cmp      dword ptr [rcx], ecxIN01f0: 000B5E call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:Add(System.Security.Cryptography.Asn1.X509ExtensionAsn):this]IN01f1: 000B64 nop      IN01f2: 000B65 nop      G_M9517_IG43:        ; offs=000B66H, size=002DH, bbWeight=1    PerfScore 10.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN01f3: 000B66 mov      rcx, gword ptr [V25 rbp-478H]IN01f4: 000B6D lea      r11, [(reloc 0x1bb56167118)]IN01f5: 000B74 call     [System.Collections.IEnumerator:MoveNext():bool:this]IN01f6: 000B7A movzx    rcx, alIN01f7: 000B7D mov      dword ptr [V98 rbp-8BCH], ecxIN01f8: 000B83 cmp      dword ptr [V98 rbp-8BCH], 0IN01f9: 000B8A jne      G_M9517_IG37IN01fa: 000B90 nop      IN01fb: 000B91 jmp      SHORT G_M9517_IG44G_M9517_IG44:        ; offs=000B93H, size=0008H, bbWeight=1    PerfScore 1.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01fc: 000B93 mov      rcx, rspIN01fd: 000B96 call     G_M9517_IG54G_M9517_IG45:        ; offs=000B9BH, size=0001H, bbWeight=1    PerfScore 0.25, nogc, extendIN01fe: 000B9B nop      G_M9517_IG46:        ; offs=000B9CH, size=0079H, bbWeight=1    PerfScore 27.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN01ff: 000B9C mov      rcx, gword ptr [V24 rbp-470H]IN0200: 000BA3 lea      r11, [(reloc 0x1bb561ed4b0)]IN0201: 000BAA cmp      dword ptr [rcx], ecxIN0202: 000BAC call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:get_Count():int:this]IN0203: 000BB2 mov      dword ptr [V110 rbp-934H], eaxIN0204: 000BB8 cmp      dword ptr [V110 rbp-934H], 0IN0205: 000BBF setg     clIN0206: 000BC2 movzx    rcx, clIN0207: 000BC5 mov      dword ptr [V29 rbp-48CH], ecxIN0208: 000BCB cmp      dword ptr [V29 rbp-48CH], 0IN0209: 000BD2 je       SHORT G_M9517_IG47IN020a: 000BD4 nop      IN020b: 000BD5 lea      rcx, bword ptr [V09 rbp-168H]IN020c: 000BDC mov      bword ptr [V111 rbp-940H], rcxIN020d: 000BE3 mov      rcx, gword ptr [V24 rbp-470H]IN020e: 000BEA lea      r11, [(reloc 0x1bb561ed548)]IN020f: 000BF1 cmp      dword ptr [rcx], ecxIN0210: 000BF3 call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:ToArray():System.Security.Cryptography.Asn1.X509ExtensionAsn[]:this]IN0211: 000BF9 mov      gword ptr [V112 rbp-948H], raxIN0212: 000C00 mov      rcx, bword ptr [V111 rbp-940H]IN0213: 000C07 mov      rdx, gword ptr [V112 rbp-948H]IN0214: 000C0E call     [CORINFO_HELP_CHECKED_ASSIGN_REF]IN0215: 000C14 nop      G_M9517_IG47:        ; offs=000C15H, size=0001H, bbWeight=1    PerfScore 0.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0216: 000C15 nop      G_M9517_IG48:        ; offs=000C16H, size=0148H, bbWeight=1    PerfScore 95.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0217: 000C16 call     [CORINFO_HELP_READYTORUN_NEW]IN0218: 000C1C mov      gword ptr [V80 rbp-828H], raxIN0219: 000C23 mov      rcx, gword ptr [V80 rbp-828H]IN021a: 000C2A mov      edx, 2IN021b: 000C2F call     [System.Formats.Asn1.AsnWriter:.ctor(int):this]IN021c: 000C35 mov      rcx, gword ptr [V80 rbp-828H]IN021d: 000C3C mov      gword ptr [V10 rbp-170H], rcxIN021e: 000C43 lea      rcx, bword ptr [V09 rbp-168H]IN021f: 000C4A mov      rdx, gword ptr [V10 rbp-170H]IN0220: 000C51 call     [System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:Encode(System.Formats.Asn1.AsnWriter):this]IN0221: 000C57 nop      IN0222: 000C58 mov      rcx, gword ptr [V10 rbp-170H]IN0223: 000C5F lea      r11, [(reloc 0x1bb56163dd0)]IN0224: 000C66 cmp      dword ptr [rcx], ecxIN0225: 000C68 call     [System.Formats.Asn1.AsnWriter:Encode():System.Byte[]:this]IN0226: 000C6E mov      gword ptr [V81 rbp-830H], raxIN0227: 000C75 mov      rcx, gword ptr [V81 rbp-830H]IN0228: 000C7C mov      gword ptr [V11 rbp-178H], rcxIN0229: 000C83 mov      rcx, gword ptr [V10 rbp-170H]IN022a: 000C8A lea      r11, [(reloc 0x1bb561ec7a8)]IN022b: 000C91 cmp      dword ptr [rcx], ecxIN022c: 000C93 call     [System.Formats.Asn1.AsnWriter:Reset():this]IN022d: 000C99 nop      IN022e: 000C9A xor      edx, edxIN022f: 000C9C lea      rcx, bword ptr [V30 rbp-5E0H]IN0230: 000CA3 mov      r8d, 336IN0231: 000CA9 call     [CORINFO_HELP_MEMSET]IN0232: 000CAF lea      rdi, bword ptr [V30 rbp-5E0H]IN0233: 000CB6 lea      rsi, bword ptr [V09 rbp-168H]IN0234: 000CBD mov      ecx, 36IN0235: 000CC2 rep movsq IN0236: 000CC5 lea      rdi, bword ptr [V30 rbp-5E0H]IN0237: 000CCC add      rdi, 288IN0238: 000CD3 lea      rsi, bword ptr [V07 rbp-38H]IN0239: 000CD7 call     [CORINFO_HELP_ASSIGN_BYREF]IN023a: 000CDD movsq    IN023b: 000CDF call     [CORINFO_HELP_ASSIGN_BYREF]IN023c: 000CE5 movsq    IN023d: 000CE7 lea      rcx, bword ptr [V30 rbp-5E0H]IN023e: 000CEE mov      bword ptr [V82 rbp-838H], rcxIN023f: 000CF5 mov      rcx, gword ptr [V02 rbp+20H]IN0240: 000CF9 mov      gword ptr [V83 rbp-840H], rcxIN0241: 000D00 mov      rcx, gword ptr [V11 rbp-178H]IN0242: 000D07 mov      gword ptr [V84 rbp-848H], rcxIN0243: 000D0E mov      rcx, gword ptr [V00 rbp+10H]IN0244: 000D12 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_HashAlgorithm():System.Security.Cryptography.HashAlgorithmName:this]IN0245: 000D18 mov      gword ptr [V85 rbp-850H], raxIN0246: 000D1F mov      rcx, gword ptr [V83 rbp-840H]IN0247: 000D26 mov      r8, gword ptr [V85 rbp-850H]IN0248: 000D2D mov      rdx, gword ptr [V84 rbp-848H]IN0249: 000D34 lea      r11, [(reloc 0x1bb561ec970)]IN024a: 000D3B cmp      dword ptr [rcx], ecxIN024b: 000D3D call     [System.Security.Cryptography.X509Certificates.X509SignatureGenerator:SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this]IN024c: 000D43 mov      gword ptr [V86 rbp-858H], raxIN024d: 000D4A lea      rcx, [V87 rbp-868H]IN024e: 000D51 mov      rdx, gword ptr [V86 rbp-858H]IN024f: 000D58 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]G_M9517_IG49:        ; offs=000D5EH, size=0094H, bbWeight=1    PerfScore 55.25, extendIN0250: 000D5E mov      rdi, bword ptr [V82 rbp-838H]IN0251: 000D65 add      rdi, 320IN0252: 000D6C lea      rsi, bword ptr [V87 rbp-868H]IN0253: 000D73 call     [CORINFO_HELP_ASSIGN_BYREF]IN0254: 000D79 movsq    IN0255: 000D7B lea      rdi, bword ptr [V12 rbp-2C8H]IN0256: 000D82 lea      rsi, bword ptr [V30 rbp-5E0H]IN0257: 000D89 mov      ecx, 42IN0258: 000D8E rep movsq IN0259: 000D91 lea      rcx, bword ptr [V12 rbp-2C8H]IN025a: 000D98 mov      rdx, gword ptr [V10 rbp-170H]IN025b: 000D9F call     [System.Security.Cryptography.X509Certificates.Asn1.CertificateAsn:Encode(System.Formats.Asn1.AsnWriter):this]IN025c: 000DA5 nop      IN025d: 000DA6 mov      rcx, gword ptr [V10 rbp-170H]IN025e: 000DAD lea      r11, [(reloc 0x1bb56163dd0)]IN025f: 000DB4 cmp      dword ptr [rcx], ecxIN0260: 000DB6 call     [System.Formats.Asn1.AsnWriter:Encode():System.Byte[]:this]IN0261: 000DBC mov      gword ptr [V88 rbp-870H], raxIN0262: 000DC3 call     [CORINFO_HELP_READYTORUN_NEW]IN0263: 000DC9 mov      gword ptr [V89 rbp-878H], raxIN0264: 000DD0 mov      rcx, gword ptr [V89 rbp-878H]IN0265: 000DD7 mov      rdx, gword ptr [V88 rbp-870H]IN0266: 000DDE call     [System.Security.Cryptography.X509Certificates.X509Certificate2:.ctor(System.Byte[]):this]IN0267: 000DE4 mov      rcx, gword ptr [V89 rbp-878H]IN0268: 000DEB mov      gword ptr [V13 rbp-2D0H], rcxG_M9517_IG50:        ; offs=000DF2H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN0269: 000DF2 movups   xmm0, xmmword ptr [V08 rbp-48H]IN026a: 000DF6 movups   xmmword ptr [V143 rbp-AC0H], xmm0G_M9517_IG51:        ; offs=000DFDH, size=001FH, bbWeight=1    PerfScore 8.00, isz, extendIN026b: 000DFD lea      rcx, bword ptr [V143 rbp-AC0H]IN026c: 000E04 call     [System.Security.Cryptography.CryptoPool:Return(System.ArraySegment`1[Byte])]IN026d: 000E0A nop      IN026e: 000E0B mov      rax, gword ptr [V13 rbp-2D0H]IN026f: 000E12 mov      gword ptr [V31 rbp-5E8H], raxIN0270: 000E19 nop      IN0271: 000E1A jmp      SHORT G_M9517_IG52G_M9517_IG52:        ; offs=000E1CH, size=0007H, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0272: 000E1C mov      rax, gword ptr [V31 rbp-5E8H]G_M9517_IG53:        ; offs=000E23H, size=0008H, bbWeight=1    PerfScore 3.00, epilog, nogc, extendIN028b: 000E23 lea      rsp, [rbp-10H]IN028c: 000E27 pop      rsiIN028d: 000E28 pop      rdiIN028e: 000E29 pop      rbpIN028f: 000E2A ret      G_M9517_IG54:        ; func=01, offs=000E2BH, size=0017H, bbWeight=1    PerfScore 6.75, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, funclet prolog, nogcIN0290: 000E2B push     rbpIN0291: 000E2C push     rdiIN0292: 000E2D push     rsiIN0293: 000E2E sub      rsp, 48IN0294: 000E32 mov      rbp, qword ptr [rcx+32]IN0295: 000E36 mov      qword ptr [rsp+20H], rbpIN0296: 000E3B lea      rbp, [rbp+AF0H]G_M9517_IG55:        ; offs=000E42H, size=001FH, bbWeight=1    PerfScore 6.75, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, iszIN0273: 000E42 cmp      gword ptr [V25 rbp-478H], 0IN0274: 000E4A je       SHORT G_M9517_IG56IN0275: 000E4C mov      rcx, gword ptr [V25 rbp-478H]IN0276: 000E53 lea      r11, [(reloc 0x1bb561672f0)]IN0277: 000E5A call     [System.IDisposable:Dispose():this]IN0278: 000E60 nop      G_M9517_IG56:        ; offs=000E61H, size=0001H, bbWeight=1    PerfScore 0.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0279: 000E61 nop      G_M9517_IG57:        ; offs=000E62H, size=0008H, bbWeight=1    PerfScore 2.75, funclet epilog, nogc, extendIN0297: 000E62 add      rsp, 48IN0298: 000E66 pop      rsiIN0299: 000E67 pop      rdiIN029a: 000E68 pop      rbpIN029b: 000E69 ret

diff.txt

; Total bytes of code 3690, prolog size 74, PerfScore 1221.67, instruction count 667, allocated bytes for code 3690 (MethodHash=f9a6dad2) for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.ReadOnlySpan`1[Byte]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; ============================================================*************** After end code gen, before unwindEmit()G_M9517_IG01:        ; func=00, offs=000000H, size=004AH, bbWeight=1    PerfScore 19.58, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IGIN027a: 000000 push     rbpIN027b: 000001 push     rdiIN027c: 000002 push     rsiIN027d: 000003 sub      rsp, 0xAE0IN027e: 00000A lea      rbp, [rsp+AF0H]IN027f: 000012 xorps    xmm4, xmm4IN0280: 000015 mov      rax, -0xAB0IN0281: 00001F movaps   xmmword ptr [rbp+rax-10H], xmm4IN0282: 000024 movaps   xmmword ptr [rax+rbp], xmm4IN0283: 000028 movaps   xmmword ptr [rbp+rax+10H], xmm4IN0284: 00002D add      rax, 48IN0285: 000031 jne      SHORT  -5 instrIN0286: 000033 mov      qword ptr [V144 rbp-AD0H], rspIN0287: 00003A mov      gword ptr [V00 rbp+10H], rcxIN0288: 00003E mov      gword ptr [V01 rbp+18H], rdxIN0289: 000042 mov      gword ptr [V02 rbp+20H], r8IN028a: 000046 mov      bword ptr [V03 rbp+28H], r9G_M9517_IG02:        ; offs=00004AH, size=001BH, bbWeight=1    PerfScore 5.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0001: 00004A nop      IN0002: 00004B cmp      gword ptr [V01 rbp+18H], 0IN0003: 000050 sete     clIN0004: 000053 movzx    rcx, clIN0005: 000056 mov      dword ptr [V14 rbp-2D4H], ecxIN0006: 00005C cmp      dword ptr [V14 rbp-2D4H], 0IN0007: 000063 je       SHORT G_M9517_IG04G_M9517_IG03:        ; offs=000065H, size=003EH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0008: 000065 call     [CORINFO_HELP_READYTORUN_NEW]IN0009: 00006B mov      gword ptr [V120 rbp-990H], raxIN000a: 000072 mov      ecx, 0x3029IN000b: 000077 call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN000c: 00007C mov      gword ptr [V121 rbp-998H], raxIN000d: 000083 mov      rdx, gword ptr [V121 rbp-998H]IN000e: 00008A mov      rcx, gword ptr [V120 rbp-990H]IN000f: 000091 call     [System.ArgumentNullException:.ctor(System.String):this]IN0010: 000097 mov      rcx, gword ptr [V120 rbp-990H]IN0011: 00009E call     CORINFO_HELP_THROWG_M9517_IG04:        ; offs=0000A3H, size=001AH, bbWeight=1    PerfScore 5.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0012: 0000A3 cmp      gword ptr [V02 rbp+20H], 0IN0013: 0000A8 sete     clIN0014: 0000AB movzx    rcx, clIN0015: 0000AE mov      dword ptr [V15 rbp-2D8H], ecxIN0016: 0000B4 cmp      dword ptr [V15 rbp-2D8H], 0IN0017: 0000BB je       SHORT G_M9517_IG06G_M9517_IG05:        ; offs=0000BDH, size=003EH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0018: 0000BD call     [CORINFO_HELP_READYTORUN_NEW]IN0019: 0000C3 mov      gword ptr [V119 rbp-988H], raxIN001a: 0000CA mov      ecx, 0x303FIN001b: 0000CF call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN001c: 0000D4 mov      gword ptr [V122 rbp-9A0H], raxIN001d: 0000DB mov      rdx, gword ptr [V122 rbp-9A0H]IN001e: 0000E2 mov      rcx, gword ptr [V119 rbp-988H]IN001f: 0000E9 call     [System.ArgumentNullException:.ctor(System.String):this]IN0020: 0000EF mov      rcx, gword ptr [V119 rbp-988H]IN0021: 0000F6 call     CORINFO_HELP_THROWG_M9517_IG06:        ; offs=0000FBH, size=0051H, bbWeight=1    PerfScore 23.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0022: 0000FB mov      rcx, bword ptr [V04 rbp+30H]IN0023: 0000FF movups   xmm0, xmmword ptr [rcx]IN0024: 000102 movups   xmmword ptr [V123 rbp-9B0H], xmm0IN0025: 000109 mov      rcx, bword ptr [V03 rbp+28H]IN0026: 00010D movups   xmm0, xmmword ptr [rcx]IN0027: 000110 movups   xmmword ptr [V124 rbp-9C0H], xmm0IN0028: 000117 lea      rcx, bword ptr [V123 rbp-9B0H]IN0029: 00011E lea      rdx, bword ptr [V124 rbp-9C0H]IN002a: 000125 call     [System.DateTimeOffset:op_LessThan(System.DateTimeOffset,System.DateTimeOffset):bool]IN002b: 00012B movzx    rcx, alIN002c: 00012E mov      dword ptr [V33 rbp-5ECH], ecxIN002d: 000134 mov      ecx, dword ptr [V33 rbp-5ECH]IN002e: 00013A movzx    rcx, clIN002f: 00013D mov      dword ptr [V16 rbp-2DCH], ecxIN0030: 000143 cmp      dword ptr [V16 rbp-2DCH], 0IN0031: 00014A je       SHORT G_M9517_IG08G_M9517_IG07:        ; offs=00014CH, size=003AH, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0032: 00014C call     [System.SR:get_Cryptography_CertReq_DatesReversed():System.String]IN0033: 000152 mov      gword ptr [V117 rbp-978H], raxIN0034: 000159 call     [CORINFO_HELP_READYTORUN_NEW]IN0035: 00015F mov      gword ptr [V118 rbp-980H], raxIN0036: 000166 mov      rcx, gword ptr [V118 rbp-980H]IN0037: 00016D mov      rdx, gword ptr [V117 rbp-978H]IN0038: 000174 call     [System.ArgumentException:.ctor(System.String):this]IN0039: 00017A mov      rcx, gword ptr [V118 rbp-980H]IN003a: 000181 call     CORINFO_HELP_THROWG_M9517_IG08:        ; offs=000186H, size=0004H, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN003b: 000186 mov      rcx, bword ptr [V05 rbp+38H]G_M9517_IG09:        ; offs=00018AH, size=000AH, bbWeight=1    PerfScore 6.00, nogc, extendIN003c: 00018A movups   xmm0, xmmword ptr [rcx]IN003d: 00018D movups   xmmword ptr [V34 rbp-600H], xmm0G_M9517_IG10:        ; offs=000194H, size=000FH, bbWeight=1    PerfScore 3.75, extendIN003e: 000194 lea      rcx, [V35 rbp-610H]IN003f: 00019B xor      rdx, rdxIN0040: 00019D call     [System.ReadOnlySpan`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlySpan`1[Byte]]G_M9517_IG11:        ; offs=0001A3H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0041: 0001A3 movups   xmm0, xmmword ptr [V34 rbp-600H]IN0042: 0001AA movups   xmmword ptr [V125 rbp-9D0H], xmm0G_M9517_IG12:        ; offs=0001B1H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0043: 0001B1 movups   xmm0, xmmword ptr [V35 rbp-610H]IN0044: 0001B8 movups   xmmword ptr [V126 rbp-9E0H], xmm0G_M9517_IG13:        ; offs=0001BFH, size=004BH, bbWeight=1    PerfScore 17.50, isz, extendIN0045: 0001BF lea      rcx, bword ptr [V125 rbp-9D0H]IN0046: 0001C6 lea      rdx, bword ptr [V126 rbp-9E0H]IN0047: 0001CD call     [System.ReadOnlySpan`1[Byte][System.Byte]:op_Equality(System.ReadOnlySpan`1[Byte],System.ReadOnlySpan`1[Byte]):bool]IN0048: 0001D3 movzx    rcx, alIN0049: 0001D6 mov      dword ptr [V36 rbp-614H], ecxIN004a: 0001DC cmp      dword ptr [V36 rbp-614H], 0IN004b: 0001E3 jne      SHORT G_M9517_IG14IN004c: 0001E5 mov      rcx, bword ptr [V05 rbp+38H]IN004d: 0001E9 call     [System.ReadOnlySpan`1[Byte][System.Byte]:get_Length():int:this]IN004e: 0001EF mov      dword ptr [V116 rbp-96CH], eaxIN004f: 0001F5 cmp      dword ptr [V116 rbp-96CH], 0IN0050: 0001FC setle    clIN0051: 0001FF movzx    rcx, clIN0052: 000202 mov      dword ptr [V37 rbp-618H], ecxIN0053: 000208 jmp      SHORT G_M9517_IG15G_M9517_IG14:        ; offs=00020AH, size=000AH, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0054: 00020A mov      dword ptr [V37 rbp-618H], 1G_M9517_IG15:        ; offs=000214H, size=0018H, bbWeight=1    PerfScore 4.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN0055: 000214 mov      ecx, dword ptr [V37 rbp-618H]IN0056: 00021A movzx    rcx, clIN0057: 00021D mov      dword ptr [V17 rbp-2E0H], ecxIN0058: 000223 cmp      dword ptr [V17 rbp-2E0H], 0IN0059: 00022A je       SHORT G_M9517_IG17G_M9517_IG16:        ; offs=00022CH, size=0052H, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN005a: 00022C call     [System.SR:get_Arg_EmptyOrNullArray():System.String]IN005b: 000232 mov      gword ptr [V114 rbp-960H], raxIN005c: 000239 call     [CORINFO_HELP_READYTORUN_NEW]IN005d: 00023F mov      gword ptr [V115 rbp-968H], raxIN005e: 000246 mov      ecx, 0x2FE9IN005f: 00024B call     CORINFO_HELP_STRCNS_CURRENT_MODULEIN0060: 000250 mov      gword ptr [V127 rbp-9E8H], raxIN0061: 000257 mov      r8, gword ptr [V127 rbp-9E8H]IN0062: 00025E mov      rdx, gword ptr [V114 rbp-960H]IN0063: 000265 mov      rcx, gword ptr [V115 rbp-968H]IN0064: 00026C call     [System.ArgumentException:.ctor(System.String,System.String):this]IN0065: 000272 mov      rcx, gword ptr [V115 rbp-968H]IN0066: 000279 call     CORINFO_HELP_THROWG_M9517_IG17:        ; offs=00027EH, size=006AH, bbWeight=1    PerfScore 23.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0067: 00027E mov      rcx, gword ptr [V02 rbp+20H]IN0068: 000282 mov      gword ptr [V38 rbp-620H], rcxIN0069: 000289 mov      rcx, gword ptr [V00 rbp+10H]IN006a: 00028D call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_HashAlgorithm():System.Security.Cryptography.HashAlgorithmName:this]IN006b: 000293 mov      gword ptr [V39 rbp-628H], raxIN006c: 00029A mov      rcx, gword ptr [V38 rbp-620H]IN006d: 0002A1 mov      rdx, gword ptr [V39 rbp-628H]IN006e: 0002A8 lea      r11, [(reloc 0x23a937ebaa0)]IN006f: 0002AF cmp      dword ptr [rcx], ecxIN0070: 0002B1 call     [System.Security.Cryptography.X509Certificates.X509SignatureGenerator:GetSignatureAlgorithmIdentifier(System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this]IN0071: 0002B7 mov      gword ptr [V40 rbp-630H], raxIN0072: 0002BE mov      rcx, gword ptr [V40 rbp-630H]IN0073: 0002C5 mov      gword ptr [V06 rbp-18H], rcxIN0074: 0002C9 lea      rcx, [V41 rbp-640H]IN0075: 0002D0 mov      rdx, gword ptr [V06 rbp-18H]IN0076: 0002D4 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN0077: 0002DA lea      rcx, [V42 rbp-660H]IN0078: 0002E1 mov      qword ptr [V129 rbp-A00H], rcxG_M9517_IG18:        ; offs=0002E8H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0079: 0002E8 movups   xmm0, xmmword ptr [V41 rbp-640H]IN007a: 0002EF movups   xmmword ptr [V128 rbp-9F8H], xmm0G_M9517_IG19:        ; offs=0002F6H, size=001AH, bbWeight=1    PerfScore 4.75, extendIN007b: 0002F6 mov      rcx, qword ptr [V129 rbp-A00H]IN007c: 0002FD lea      rdx, bword ptr [V128 rbp-9F8H]IN007d: 000304 mov      r8d, 2IN007e: 00030A call     [System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn:Decode(System.ReadOnlyMemory`1[Byte],int):System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn]G_M9517_IG20:        ; offs=000310H, size=0016H, bbWeight=1    PerfScore 10.00, nogc, extendIN007f: 000310 movups   xmm0, xmmword ptr [V42 rbp-660H]IN0080: 000317 movups   xmmword ptr [V07 rbp-38H], xmm0IN0081: 00031B movups   xmm0, xmmword ptr [V42+0x10 rbp-650H]IN0082: 000322 movups   xmmword ptr [V07+0x10 rbp-28H], xmm0G_M9517_IG21:        ; offs=000326H, size=003DH, bbWeight=1    PerfScore 13.25, isz, extendIN0083: 000326 lea      rcx, bword ptr [V07+0x8 rbp-30H]IN0084: 00032A call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:get_HasValue():bool:this]IN0085: 000330 movzx    rcx, alIN0086: 000333 mov      dword ptr [V43 rbp-664H], ecxIN0087: 000339 mov      ecx, dword ptr [V43 rbp-664H]IN0088: 00033F movzx    rcx, clIN0089: 000342 mov      dword ptr [V18 rbp-2E4H], ecxIN008a: 000348 cmp      dword ptr [V18 rbp-2E4H], 0IN008b: 00034F je       SHORT G_M9517_IG24IN008c: 000351 nop      IN008d: 000352 lea      rcx, bword ptr [V07+0x8 rbp-30H]IN008e: 000356 lea      rdx, [V113 rbp-958H]IN008f: 00035D call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:get_Value():System.ReadOnlyMemory`1[Byte]:this]G_M9517_IG22:        ; offs=000363H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN0090: 000363 movups   xmm0, xmmword ptr [V113 rbp-958H]IN0091: 00036A movups   xmmword ptr [V130 rbp-A10H], xmm0G_M9517_IG23:        ; offs=000371H, size=000FH, bbWeight=1    PerfScore 4.00, extendIN0092: 000371 lea      rcx, bword ptr [V130 rbp-A10H]IN0093: 000378 call     [Internal.Cryptography.Helpers:ValidateDer(System.ReadOnlyMemory`1[Byte])]IN0094: 00037E nop      IN0095: 00037F nop      G_M9517_IG24:        ; offs=000380H, size=001DH, bbWeight=1    PerfScore 4.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0096: 000380 mov      rcx, gword ptr [V00 rbp+10H]IN0097: 000384 mov      gword ptr [V132 rbp-A28H], rcxIN0098: 00038B lea      rcx, [V44 rbp-678H]IN0099: 000392 mov      qword ptr [V133 rbp-A30H], rcxIN009a: 000399 mov      rcx, bword ptr [V05 rbp+38H]G_M9517_IG25:        ; offs=00039DH, size=000AH, bbWeight=1    PerfScore 6.00, nogc, extendIN009b: 00039D movups   xmm0, xmmword ptr [rcx]IN009c: 0003A0 movups   xmmword ptr [V131 rbp-A20H], xmm0G_M9517_IG26:        ; offs=0003A7H, size=001BH, bbWeight=1    PerfScore 5.50, extendIN009d: 0003A7 mov      rcx, gword ptr [V132 rbp-A28H]IN009e: 0003AE mov      rdx, qword ptr [V133 rbp-A30H]IN009f: 0003B5 lea      r8, bword ptr [V131 rbp-A20H]IN00a0: 0003BC call     [System.Security.Cryptography.X509Certificates.CertificateRequest:NormalizeSerialNumber(System.ReadOnlySpan`1[Byte]):System.ArraySegment`1[Byte]:this]G_M9517_IG27:        ; offs=0003C2H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN00a1: 0003C2 movups   xmm0, xmmword ptr [V44 rbp-678H]IN00a2: 0003C9 movups   xmmword ptr [V08 rbp-48H], xmm0G_M9517_IG28:        ; offs=0003CDH, size=003BH, bbWeight=1    PerfScore 8.00, extendIN00a3: 0003CD xor      edx, edxIN00a4: 0003CF lea      rcx, bword ptr [V19 rbp-408H]IN00a5: 0003D6 mov      r8d, 288IN00a6: 0003DC call     [CORINFO_HELP_MEMSET]IN00a7: 0003E2 mov      dword ptr [V19+0x8 rbp-400H], 2IN00a8: 0003EC lea      rcx, bword ptr [V19 rbp-408H]IN00a9: 0003F3 mov      bword ptr [V45 rbp-680H], rcxIN00aa: 0003FA lea      rcx, [V46 rbp-690H]IN00ab: 000401 mov      qword ptr [V135 rbp-A48H], rcxG_M9517_IG29:        ; offs=000408H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN00ac: 000408 movups   xmm0, xmmword ptr [V08 rbp-48H]IN00ad: 00040C movups   xmmword ptr [V134 rbp-A40H], xmm0G_M9517_IG30:        ; offs=000413H, size=0133H, bbWeight=1    PerfScore 72.42, extendIN00ae: 000413 mov      rcx, qword ptr [V135 rbp-A48H]IN00af: 00041A lea      rdx, bword ptr [V134 rbp-A40H]IN00b0: 000421 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.ArraySegment`1[Byte]):System.ReadOnlyMemory`1[Byte]]IN00b1: 000427 mov      rdi, bword ptr [V45 rbp-680H]IN00b2: 00042E add      rdi, 16IN00b3: 000432 lea      rsi, bword ptr [V46 rbp-690H]IN00b4: 000439 call     [CORINFO_HELP_ASSIGN_BYREF]IN00b5: 00043F movsq    IN00b6: 000441 lea      rdi, bword ptr [V19 rbp-408H]IN00b7: 000448 add      rdi, 32IN00b8: 00044C lea      rsi, bword ptr [V07 rbp-38H]IN00b9: 000450 call     [CORINFO_HELP_ASSIGN_BYREF]IN00ba: 000456 movsq    IN00bb: 000458 call     [CORINFO_HELP_ASSIGN_BYREF]IN00bc: 00045E movsq    IN00bd: 000460 lea      rcx, bword ptr [V19 rbp-408H]IN00be: 000467 mov      bword ptr [V47 rbp-698H], rcxIN00bf: 00046E mov      rcx, gword ptr [V01 rbp+18H]IN00c0: 000472 lea      r11, [(reloc 0x23a9376d690)]IN00c1: 000479 cmp      dword ptr [rcx], ecxIN00c2: 00047B call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN00c3: 000481 mov      gword ptr [V48 rbp-6A0H], raxIN00c4: 000488 lea      rcx, [V49 rbp-6B0H]IN00c5: 00048F mov      rdx, gword ptr [V48 rbp-6A0H]IN00c6: 000496 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN00c7: 00049C mov      rdi, bword ptr [V47 rbp-698H]IN00c8: 0004A3 add      rdi, 64IN00c9: 0004A7 lea      rsi, bword ptr [V49 rbp-6B0H]IN00ca: 0004AE call     [CORINFO_HELP_ASSIGN_BYREF]IN00cb: 0004B4 movsq    IN00cc: 0004B6 xorps    xmm0, xmm0IN00cd: 0004B9 movups   xmmword ptr [V20 rbp-438H], xmm0IN00ce: 0004C0 movups   xmmword ptr [V20+0x10 rbp-428H], xmm0IN00cf: 0004C7 movups   xmmword ptr [V20+0x20 rbp-418H], xmm0IN00d0: 0004CE xorps    xmm0, xmm0IN00d1: 0004D1 movups   xmmword ptr [V21 rbp-458H], xmm0IN00d2: 0004D8 movups   xmmword ptr [V21+0x10 rbp-448H], xmm0IN00d3: 0004DF lea      rcx, bword ptr [V19 rbp-408H]IN00d4: 0004E6 mov      bword ptr [V50 rbp-6B8H], rcxIN00d5: 0004ED lea      rcx, bword ptr [V20 rbp-438H]IN00d6: 0004F4 mov      bword ptr [V51 rbp-6C0H], rcxIN00d7: 0004FB lea      rcx, bword ptr [V21 rbp-458H]IN00d8: 000502 mov      bword ptr [V52 rbp-6C8H], rcxIN00d9: 000509 mov      rcx, gword ptr [V00 rbp+10H]IN00da: 00050D call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN00db: 000513 mov      gword ptr [V53 rbp-6D0H], raxIN00dc: 00051A mov      rcx, gword ptr [V53 rbp-6D0H]IN00dd: 000521 cmp      dword ptr [rcx], ecxIN00de: 000523 call     [System.Security.Cryptography.X509Certificates.PublicKey:get_Oid():System.Security.Cryptography.Oid:this]IN00df: 000529 mov      gword ptr [V54 rbp-6D8H], raxIN00e0: 000530 mov      rcx, gword ptr [V54 rbp-6D8H]IN00e1: 000537 lea      r11, [(reloc 0x23a9376a9d8)]IN00e2: 00053E cmp      dword ptr [rcx], ecxIN00e3: 000540 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]G_M9517_IG31:        ; offs=000546H, size=00ABH, bbWeight=1    PerfScore 37.00, extendIN00e4: 000546 mov      gword ptr [V55 rbp-6E0H], raxIN00e5: 00054D mov      rdx, bword ptr [V50 rbp-6B8H]IN00e6: 000554 mov      bword ptr [V56 rbp-6E8H], rdxIN00e7: 00055B mov      rdx, bword ptr [V51 rbp-6C0H]IN00e8: 000562 mov      bword ptr [V57 rbp-6F0H], rdxIN00e9: 000569 mov      rcx, bword ptr [V52 rbp-6C8H]IN00ea: 000570 mov      rdx, gword ptr [V55 rbp-6E0H]IN00eb: 000577 call     [CORINFO_HELP_CHECKED_ASSIGN_REF]IN00ec: 00057D lea      rcx, bword ptr [V21 rbp-458H]IN00ed: 000584 mov      bword ptr [V58 rbp-6F8H], rcxIN00ee: 00058B mov      rcx, gword ptr [V00 rbp+10H]IN00ef: 00058F call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN00f0: 000595 mov      gword ptr [V59 rbp-700H], raxIN00f1: 00059C mov      rcx, gword ptr [V59 rbp-700H]IN00f2: 0005A3 cmp      dword ptr [rcx], ecxIN00f3: 0005A5 call     [System.Security.Cryptography.X509Certificates.PublicKey:get_EncodedParameters():System.Security.Cryptography.AsnEncodedData:this]IN00f4: 0005AB mov      gword ptr [V60 rbp-708H], raxIN00f5: 0005B2 mov      rcx, gword ptr [V60 rbp-708H]IN00f6: 0005B9 lea      r11, [(reloc 0x23a9376d690)]IN00f7: 0005C0 cmp      dword ptr [rcx], ecxIN00f8: 0005C2 call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN00f9: 0005C8 mov      gword ptr [V61 rbp-710H], raxIN00fa: 0005CF lea      rcx, [V62 rbp-720H]IN00fb: 0005D6 mov      rdx, gword ptr [V61 rbp-710H]IN00fc: 0005DD call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN00fd: 0005E3 lea      rcx, bword ptr [V63 rbp-738H]IN00fe: 0005EA mov      bword ptr [V137 rbp-A60H], rcxG_M9517_IG32:        ; offs=0005F1H, size=000EH, bbWeight=1    PerfScore 5.00, nogc, extendIN00ff: 0005F1 movups   xmm0, xmmword ptr [V62 rbp-720H]IN0100: 0005F8 movups   xmmword ptr [V136 rbp-A58H], xmm0G_M9517_IG33:        ; offs=0005FFH, size=0129H, bbWeight=1    PerfScore 68.75, extendIN0101: 0005FF mov      rcx, bword ptr [V137 rbp-A60H]IN0102: 000606 lea      rdx, bword ptr [V136 rbp-A58H]IN0103: 00060D call     [System.Nullable`1[ReadOnlyMemory`1][System.ReadOnlyMemory`1[System.Byte]]:.ctor(System.ReadOnlyMemory`1[Byte]):this]IN0104: 000613 mov      rax, bword ptr [V56 rbp-6E8H]IN0105: 00061A mov      bword ptr [V64 rbp-740H], raxIN0106: 000621 mov      rax, bword ptr [V57 rbp-6F0H]IN0107: 000628 mov      bword ptr [V65 rbp-748H], raxIN0108: 00062F mov      rdi, bword ptr [V58 rbp-6F8H]IN0109: 000636 add      rdi, 8IN010a: 00063A lea      rsi, bword ptr [V63 rbp-738H]IN010b: 000641 movsq    IN010c: 000643 call     [CORINFO_HELP_ASSIGN_BYREF]IN010d: 000649 movsq    IN010e: 00064B mov      rax, bword ptr [V64 rbp-740H]IN010f: 000652 mov      bword ptr [V66 rbp-750H], raxIN0110: 000659 mov      rdi, bword ptr [V65 rbp-748H]IN0111: 000660 lea      rsi, bword ptr [V21 rbp-458H]IN0112: 000667 call     [CORINFO_HELP_ASSIGN_BYREF]IN0113: 00066D movsq    IN0114: 00066F call     [CORINFO_HELP_ASSIGN_BYREF]IN0115: 000675 movsq    IN0116: 000677 lea      rcx, bword ptr [V20 rbp-438H]IN0117: 00067E mov      bword ptr [V67 rbp-758H], rcxIN0118: 000685 mov      rcx, gword ptr [V00 rbp+10H]IN0119: 000689 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_PublicKey():System.Security.Cryptography.X509Certificates.PublicKey:this]IN011a: 00068F mov      gword ptr [V68 rbp-760H], raxIN011b: 000696 mov      rcx, gword ptr [V68 rbp-760H]IN011c: 00069D cmp      dword ptr [rcx], ecxIN011d: 00069F call     [System.Security.Cryptography.X509Certificates.PublicKey:get_EncodedKeyValue():System.Security.Cryptography.AsnEncodedData:this]IN011e: 0006A5 mov      gword ptr [V69 rbp-768H], raxIN011f: 0006AC mov      rcx, gword ptr [V69 rbp-768H]IN0120: 0006B3 lea      r11, [(reloc 0x23a9376d690)]IN0121: 0006BA cmp      dword ptr [rcx], ecxIN0122: 0006BC call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN0123: 0006C2 mov      gword ptr [V70 rbp-770H], raxIN0124: 0006C9 lea      rcx, [V71 rbp-780H]IN0125: 0006D0 mov      rdx, gword ptr [V70 rbp-770H]IN0126: 0006D7 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN0127: 0006DD mov      rax, bword ptr [V66 rbp-750H]IN0128: 0006E4 mov      bword ptr [V72 rbp-788H], raxIN0129: 0006EB mov      rdi, bword ptr [V67 rbp-758H]IN012a: 0006F2 add      rdi, 32IN012b: 0006F6 lea      rsi, bword ptr [V71 rbp-780H]IN012c: 0006FD call     [CORINFO_HELP_ASSIGN_BYREF]IN012d: 000703 movsq    IN012e: 000705 mov      rdi, bword ptr [V72 rbp-788H]IN012f: 00070C add      rdi, 192IN0130: 000713 lea      rsi, bword ptr [V20 rbp-438H]IN0131: 00071A call     [CORINFO_HELP_ASSIGN_BYREF]IN0132: 000720 movsq    IN0133: 000722 call     [CORINFO_HELP_ASSIGN_BYREF]G_M9517_IG34:        ; offs=000728H, size=014AH, bbWeight=1    PerfScore 105.33, extendIN0134: 000728 movsq    IN0135: 00072A call     [CORINFO_HELP_ASSIGN_BYREF]IN0136: 000730 movsq    IN0137: 000732 xorps    xmm0, xmm0IN0138: 000735 movups   xmmword ptr [V73 rbp-7E8H], xmm0IN0139: 00073C movups   xmmword ptr [V73+0x10 rbp-7D8H], xmm0IN013a: 000743 movups   xmmword ptr [V73+0x20 rbp-7C8H], xmm0IN013b: 00074A movups   xmmword ptr [V73+0x30 rbp-7B8H], xmm0IN013c: 000751 movups   xmmword ptr [V73+0x40 rbp-7A8H], xmm0IN013d: 000758 movups   xmmword ptr [V73+0x50 rbp-798H], xmm0IN013e: 00075F lea      rcx, bword ptr [V73 rbp-7E8H]IN013f: 000766 mov      bword ptr [V140 rbp-A88H], rcxIN0140: 00076D mov      rcx, bword ptr [V03 rbp+28H]IN0141: 000771 movups   xmm0, xmmword ptr [rcx]IN0142: 000774 movups   xmmword ptr [V138 rbp-A70H], xmm0IN0143: 00077B mov      rcx, bword ptr [V04 rbp+30H]IN0144: 00077F movups   xmm0, xmmword ptr [rcx]IN0145: 000782 movups   xmmword ptr [V139 rbp-A80H], xmm0IN0146: 000789 mov      rcx, bword ptr [V140 rbp-A88H]IN0147: 000790 lea      rdx, bword ptr [V138 rbp-A70H]IN0148: 000797 lea      r8, bword ptr [V139 rbp-A80H]IN0149: 00079E call     [System.Security.Cryptography.X509Certificates.Asn1.ValidityAsn:.ctor(System.DateTimeOffset,System.DateTimeOffset):this]IN014a: 0007A4 lea      rcx, bword ptr [V19 rbp-408H]IN014b: 0007AB add      rcx, 80IN014c: 0007AF lea      rdx, bword ptr [V73 rbp-7E8H]IN014d: 0007B6 mov      r8d, 96IN014e: 0007BC call     [CORINFO_HELP_MEMCPY]IN014f: 0007C2 lea      rcx, bword ptr [V19 rbp-408H]IN0150: 0007C9 mov      bword ptr [V74 rbp-7F0H], rcxIN0151: 0007D0 mov      rcx, gword ptr [V00 rbp+10H]IN0152: 0007D4 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_SubjectName():System.Security.Cryptography.X509Certificates.X500DistinguishedName:this]IN0153: 0007DA mov      gword ptr [V75 rbp-7F8H], raxIN0154: 0007E1 mov      rcx, gword ptr [V75 rbp-7F8H]IN0155: 0007E8 lea      r11, [(reloc 0x23a9376d690)]IN0156: 0007EF cmp      dword ptr [rcx], ecxIN0157: 0007F1 call     [System.Security.Cryptography.AsnEncodedData:get_RawData():System.Byte[]:this]IN0158: 0007F7 mov      gword ptr [V76 rbp-800H], raxIN0159: 0007FE lea      rcx, [V77 rbp-810H]IN015a: 000805 mov      rdx, gword ptr [V76 rbp-800H]IN015b: 00080C call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]IN015c: 000812 mov      rdi, bword ptr [V74 rbp-7F0H]IN015d: 000819 add      rdi, 176IN015e: 000820 lea      rsi, bword ptr [V77 rbp-810H]IN015f: 000827 call     [CORINFO_HELP_ASSIGN_BYREF]IN0160: 00082D movsq    IN0161: 00082F lea      rdi, bword ptr [V09 rbp-168H]IN0162: 000836 lea      rsi, bword ptr [V19 rbp-408H]IN0163: 00083D mov      ecx, 36IN0164: 000842 rep movsq IN0165: 000845 mov      rcx, gword ptr [V00 rbp+10H]IN0166: 000849 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0167: 00084F mov      gword ptr [V78 rbp-818H], raxIN0168: 000856 mov      rcx, gword ptr [V78 rbp-818H]IN0169: 00085D lea      r11, [(reloc 0x23a937e5b58)]IN016a: 000864 cmp      dword ptr [rcx], ecxIN016b: 000866 call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN016c: 00086C mov      dword ptr [V79 rbp-81CH], eaxG_M9517_IG35:        ; offs=000872H, size=0114H, bbWeight=1    PerfScore 67.25, extendIN016d: 000872 cmp      dword ptr [V79 rbp-81CH], 0IN016e: 000879 setg     clIN016f: 00087C movzx    rcx, clIN0170: 00087F mov      dword ptr [V22 rbp-45CH], ecxIN0171: 000885 cmp      dword ptr [V22 rbp-45CH], 0IN0172: 00088C je       G_M9517_IG48IN0173: 000892 nop      IN0174: 000893 mov      rcx, gword ptr [V00 rbp+10H]IN0175: 000897 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0176: 00089D mov      gword ptr [V90 rbp-880H], raxIN0177: 0008A4 mov      rcx, gword ptr [V90 rbp-880H]IN0178: 0008AB lea      r11, [(reloc 0x23a937e5b58)]IN0179: 0008B2 cmp      dword ptr [rcx], ecxIN017a: 0008B4 call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN017b: 0008BA mov      dword ptr [V91 rbp-884H], eaxIN017c: 0008C0 call     [CORINFO_HELP_READYTORUN_NEW]IN017d: 0008C6 mov      gword ptr [V92 rbp-890H], raxIN017e: 0008CD mov      rcx, gword ptr [V92 rbp-890H]IN017f: 0008D4 mov      edx, dword ptr [V91 rbp-884H]IN0180: 0008DA call     [System.Collections.Generic.HashSet`1[__Canon][System.__Canon]:.ctor(int):this]IN0181: 0008E0 mov      rcx, gword ptr [V92 rbp-890H]IN0182: 0008E7 mov      gword ptr [V23 rbp-468H], rcxIN0183: 0008EE mov      rcx, gword ptr [V00 rbp+10H]IN0184: 0008F2 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0185: 0008F8 mov      gword ptr [V93 rbp-898H], raxIN0186: 0008FF mov      rcx, gword ptr [V93 rbp-898H]IN0187: 000906 lea      r11, [(reloc 0x23a937e5b58)]IN0188: 00090D cmp      dword ptr [rcx], ecxIN0189: 00090F call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:get_Count():int:this]IN018a: 000915 mov      dword ptr [V94 rbp-89CH], eaxIN018b: 00091B call     [CORINFO_HELP_READYTORUN_NEW]IN018c: 000921 mov      gword ptr [V95 rbp-8A8H], raxIN018d: 000928 mov      rcx, gword ptr [V95 rbp-8A8H]IN018e: 00092F mov      edx, dword ptr [V94 rbp-89CH]IN018f: 000935 call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:.ctor(int):this]IN0190: 00093B mov      rcx, gword ptr [V95 rbp-8A8H]IN0191: 000942 mov      gword ptr [V24 rbp-470H], rcxIN0192: 000949 nop      IN0193: 00094A mov      rcx, gword ptr [V00 rbp+10H]IN0194: 00094E call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_CertificateExtensions():System.Collections.ObjectModel.Collection`1[[System.Security.Cryptography.X509Certificates.X509Extension, System.Security.Cryptography.X509Certificates, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]:this]IN0195: 000954 mov      gword ptr [V96 rbp-8B0H], raxIN0196: 00095B mov      rcx, gword ptr [V96 rbp-8B0H]IN0197: 000962 lea      r11, [(reloc 0x23a937ecff8)]IN0198: 000969 cmp      dword ptr [rcx], ecxIN0199: 00096B call     [System.Collections.ObjectModel.Collection`1[__Canon][System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[__Canon]:this]IN019a: 000971 mov      gword ptr [V97 rbp-8B8H], raxIN019b: 000978 mov      rcx, gword ptr [V97 rbp-8B8H]IN019c: 00097F mov      gword ptr [V25 rbp-478H], rcxG_M9517_IG36:        ; offs=000986H, size=0006H, bbWeight=1    PerfScore 2.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN019d: 000986 nop      IN019e: 000987 jmp      G_M9517_IG43G_M9517_IG37:        ; offs=00098CH, size=004EH, bbWeight=1    PerfScore 15.50, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN019f: 00098C mov      rcx, gword ptr [V25 rbp-478H]IN01a0: 000993 lea      r11, [(reloc 0x23a937ed090)]IN01a1: 00099A call     [System.Collections.Generic.IEnumerator`1[__Canon][System.__Canon]:get_Current():System.__Canon:this]IN01a2: 0009A0 mov      gword ptr [V99 rbp-8C8H], raxIN01a3: 0009A7 mov      rcx, gword ptr [V99 rbp-8C8H]IN01a4: 0009AE mov      gword ptr [V26 rbp-480H], rcxIN01a5: 0009B5 nop      IN01a6: 0009B6 cmp      gword ptr [V26 rbp-480H], 0IN01a7: 0009BE sete     clIN01a8: 0009C1 movzx    rcx, clIN01a9: 0009C4 mov      dword ptr [V27 rbp-484H], ecxIN01aa: 0009CA cmp      dword ptr [V27 rbp-484H], 0IN01ab: 0009D1 je       SHORT G_M9517_IG38IN01ac: 0009D3 nop      IN01ad: 0009D4 nop      IN01ae: 0009D5 jmp      G_M9517_IG43G_M9517_IG38:        ; offs=0009DAH, size=008EH, bbWeight=1    PerfScore 31.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01af: 0009DA mov      rcx, gword ptr [V23 rbp-468H]IN01b0: 0009E1 mov      gword ptr [V100 rbp-8D0H], rcxIN01b1: 0009E8 mov      rcx, gword ptr [V26 rbp-480H]IN01b2: 0009EF lea      r11, [(reloc 0x23a937ed128)]IN01b3: 0009F6 cmp      dword ptr [rcx], ecxIN01b4: 0009F8 call     [System.Security.Cryptography.AsnEncodedData:get_Oid():System.Security.Cryptography.Oid:this]IN01b5: 0009FE mov      gword ptr [V101 rbp-8D8H], raxIN01b6: 000A05 mov      rcx, gword ptr [V101 rbp-8D8H]IN01b7: 000A0C lea      r11, [(reloc 0x23a9376a9d8)]IN01b8: 000A13 cmp      dword ptr [rcx], ecxIN01b9: 000A15 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]IN01ba: 000A1B mov      gword ptr [V102 rbp-8E0H], raxIN01bb: 000A22 mov      rcx, gword ptr [V100 rbp-8D0H]IN01bc: 000A29 mov      rdx, gword ptr [V102 rbp-8E0H]IN01bd: 000A30 lea      r11, [(reloc 0x23a937ed1c0)]IN01be: 000A37 cmp      dword ptr [rcx], ecxIN01bf: 000A39 call     [System.Collections.Generic.HashSet`1[__Canon][System.__Canon]:Add(System.__Canon):bool:this]IN01c0: 000A3F movzx    rcx, alIN01c1: 000A42 mov      dword ptr [V103 rbp-8E4H], ecxIN01c2: 000A48 cmp      dword ptr [V103 rbp-8E4H], 0IN01c3: 000A4F sete     clIN01c4: 000A52 movzx    rcx, clIN01c5: 000A55 mov      dword ptr [V28 rbp-488H], ecxIN01c6: 000A5B cmp      dword ptr [V28 rbp-488H], 0IN01c7: 000A62 je       G_M9517_IG40G_M9517_IG39:        ; offs=000A68H, size=0090H, bbWeight=0    PerfScore 0.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01c8: 000A68 nop      IN01c9: 000A69 call     [System.SR:get_Cryptography_CertReq_DuplicateExtension():System.String]IN01ca: 000A6F mov      gword ptr [V105 rbp-910H], raxIN01cb: 000A76 mov      rcx, gword ptr [V26 rbp-480H]IN01cc: 000A7D lea      r11, [(reloc 0x23a937ed128)]IN01cd: 000A84 cmp      dword ptr [rcx], ecxIN01ce: 000A86 call     [System.Security.Cryptography.AsnEncodedData:get_Oid():System.Security.Cryptography.Oid:this]IN01cf: 000A8C mov      gword ptr [V106 rbp-918H], raxIN01d0: 000A93 mov      rcx, gword ptr [V106 rbp-918H]IN01d1: 000A9A lea      r11, [(reloc 0x23a9376a9d8)]IN01d2: 000AA1 cmp      dword ptr [rcx], ecxIN01d3: 000AA3 call     [System.Security.Cryptography.Oid:get_Value():System.String:this]IN01d4: 000AA9 mov      gword ptr [V107 rbp-920H], raxIN01d5: 000AB0 mov      rcx, gword ptr [V105 rbp-910H]IN01d6: 000AB7 mov      rdx, gword ptr [V107 rbp-920H]IN01d7: 000ABE call     [System.SR:Format(System.String,System.Object):System.String]IN01d8: 000AC4 mov      gword ptr [V108 rbp-928H], raxIN01d9: 000ACB call     [CORINFO_HELP_READYTORUN_NEW]IN01da: 000AD1 mov      gword ptr [V109 rbp-930H], raxIN01db: 000AD8 mov      rcx, gword ptr [V109 rbp-930H]IN01dc: 000ADF mov      rdx, gword ptr [V108 rbp-928H]IN01dd: 000AE6 call     [System.InvalidOperationException:.ctor(System.String):this]IN01de: 000AEC mov      rcx, gword ptr [V109 rbp-930H]IN01df: 000AF3 call     CORINFO_HELP_THROWG_M9517_IG40:        ; offs=000AF8H, size=0033H, bbWeight=1    PerfScore 10.83, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01e0: 000AF8 xorps    xmm0, xmm0IN01e1: 000AFB movups   xmmword ptr [V104 rbp-908H], xmm0IN01e2: 000B02 movups   xmmword ptr [V104+0x10 rbp-8F8H], xmm0IN01e3: 000B09 lea      rcx, bword ptr [V104 rbp-908H]IN01e4: 000B10 mov      rdx, gword ptr [V26 rbp-480H]IN01e5: 000B17 call     [System.Security.Cryptography.Asn1.X509ExtensionAsn:.ctor(System.Security.Cryptography.X509Certificates.X509Extension):this]IN01e6: 000B1D mov      rcx, gword ptr [V24 rbp-470H]IN01e7: 000B24 mov      gword ptr [V142 rbp-AB0H], rcxG_M9517_IG41:        ; offs=000B2BH, size=001CH, bbWeight=1    PerfScore 10.00, nogc, extendIN01e8: 000B2B movups   xmm0, xmmword ptr [V104 rbp-908H]IN01e9: 000B32 movups   xmmword ptr [V141 rbp-AA8H], xmm0IN01ea: 000B39 movups   xmm0, xmmword ptr [V104+0x10 rbp-8F8H]IN01eb: 000B40 movups   xmmword ptr [V141+0x10 rbp-A98H], xmm0G_M9517_IG42:        ; offs=000B47H, size=001FH, bbWeight=1    PerfScore 7.50, extendIN01ec: 000B47 mov      rcx, gword ptr [V142 rbp-AB0H]IN01ed: 000B4E lea      rdx, bword ptr [V141 rbp-AA8H]IN01ee: 000B55 lea      r11, [(reloc 0x23a937ed380)]IN01ef: 000B5C cmp      dword ptr [rcx], ecxIN01f0: 000B5E call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:Add(System.Security.Cryptography.Asn1.X509ExtensionAsn):this]IN01f1: 000B64 nop      IN01f2: 000B65 nop      G_M9517_IG43:        ; offs=000B66H, size=002DH, bbWeight=1    PerfScore 10.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN01f3: 000B66 mov      rcx, gword ptr [V25 rbp-478H]IN01f4: 000B6D lea      r11, [(reloc 0x23a93767118)]IN01f5: 000B74 call     [System.Collections.IEnumerator:MoveNext():bool:this]IN01f6: 000B7A movzx    rcx, alIN01f7: 000B7D mov      dword ptr [V98 rbp-8BCH], ecxIN01f8: 000B83 cmp      dword ptr [V98 rbp-8BCH], 0IN01f9: 000B8A jne      G_M9517_IG37IN01fa: 000B90 nop      IN01fb: 000B91 jmp      SHORT G_M9517_IG44G_M9517_IG44:        ; offs=000B93H, size=0008H, bbWeight=1    PerfScore 1.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN01fc: 000B93 mov      rcx, rspIN01fd: 000B96 call     G_M9517_IG54G_M9517_IG45:        ; offs=000B9BH, size=0001H, bbWeight=1    PerfScore 0.25, nogc, extendIN01fe: 000B9B nop      G_M9517_IG46:        ; offs=000B9CH, size=0079H, bbWeight=1    PerfScore 27.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, iszIN01ff: 000B9C mov      rcx, gword ptr [V24 rbp-470H]IN0200: 000BA3 lea      r11, [(reloc 0x23a937ed4b0)]IN0201: 000BAA cmp      dword ptr [rcx], ecxIN0202: 000BAC call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:get_Count():int:this]IN0203: 000BB2 mov      dword ptr [V110 rbp-934H], eaxIN0204: 000BB8 cmp      dword ptr [V110 rbp-934H], 0IN0205: 000BBF setg     clIN0206: 000BC2 movzx    rcx, clIN0207: 000BC5 mov      dword ptr [V29 rbp-48CH], ecxIN0208: 000BCB cmp      dword ptr [V29 rbp-48CH], 0IN0209: 000BD2 je       SHORT G_M9517_IG47IN020a: 000BD4 nop      IN020b: 000BD5 lea      rcx, bword ptr [V09 rbp-168H]IN020c: 000BDC mov      bword ptr [V111 rbp-940H], rcxIN020d: 000BE3 mov      rcx, gword ptr [V24 rbp-470H]IN020e: 000BEA lea      r11, [(reloc 0x23a937ed548)]IN020f: 000BF1 cmp      dword ptr [rcx], ecxIN0210: 000BF3 call     [System.Collections.Generic.List`1[X509ExtensionAsn][System.Security.Cryptography.Asn1.X509ExtensionAsn]:ToArray():System.Security.Cryptography.Asn1.X509ExtensionAsn[]:this]IN0211: 000BF9 mov      gword ptr [V112 rbp-948H], raxIN0212: 000C00 mov      rcx, bword ptr [V111 rbp-940H]IN0213: 000C07 mov      rdx, gword ptr [V112 rbp-948H]IN0214: 000C0E call     [CORINFO_HELP_CHECKED_ASSIGN_REF]IN0215: 000C14 nop      G_M9517_IG47:        ; offs=000C15H, size=0001H, bbWeight=1    PerfScore 0.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0216: 000C15 nop      G_M9517_IG48:        ; offs=000C16H, size=0148H, bbWeight=1    PerfScore 95.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0217: 000C16 call     [CORINFO_HELP_READYTORUN_NEW]IN0218: 000C1C mov      gword ptr [V80 rbp-828H], raxIN0219: 000C23 mov      rcx, gword ptr [V80 rbp-828H]IN021a: 000C2A mov      edx, 2IN021b: 000C2F call     [System.Formats.Asn1.AsnWriter:.ctor(int):this]IN021c: 000C35 mov      rcx, gword ptr [V80 rbp-828H]IN021d: 000C3C mov      gword ptr [V10 rbp-170H], rcxIN021e: 000C43 lea      rcx, bword ptr [V09 rbp-168H]IN021f: 000C4A mov      rdx, gword ptr [V10 rbp-170H]IN0220: 000C51 call     [System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:Encode(System.Formats.Asn1.AsnWriter):this]IN0221: 000C57 nop      IN0222: 000C58 mov      rcx, gword ptr [V10 rbp-170H]IN0223: 000C5F lea      r11, [(reloc 0x23a93763dd0)]IN0224: 000C66 cmp      dword ptr [rcx], ecxIN0225: 000C68 call     [System.Formats.Asn1.AsnWriter:Encode():System.Byte[]:this]IN0226: 000C6E mov      gword ptr [V81 rbp-830H], raxIN0227: 000C75 mov      rcx, gword ptr [V81 rbp-830H]IN0228: 000C7C mov      gword ptr [V11 rbp-178H], rcxIN0229: 000C83 mov      rcx, gword ptr [V10 rbp-170H]IN022a: 000C8A lea      r11, [(reloc 0x23a937ec7a8)]IN022b: 000C91 cmp      dword ptr [rcx], ecxIN022c: 000C93 call     [System.Formats.Asn1.AsnWriter:Reset():this]IN022d: 000C99 nop      IN022e: 000C9A xor      edx, edxIN022f: 000C9C lea      rcx, bword ptr [V30 rbp-5E0H]IN0230: 000CA3 mov      r8d, 336IN0231: 000CA9 call     [CORINFO_HELP_MEMSET]IN0232: 000CAF lea      rdi, bword ptr [V30 rbp-5E0H]IN0233: 000CB6 lea      rsi, bword ptr [V09 rbp-168H]IN0234: 000CBD mov      ecx, 36IN0235: 000CC2 rep movsq IN0236: 000CC5 lea      rdi, bword ptr [V30 rbp-5E0H]IN0237: 000CCC add      rdi, 288IN0238: 000CD3 lea      rsi, bword ptr [V07 rbp-38H]IN0239: 000CD7 call     [CORINFO_HELP_ASSIGN_BYREF]IN023a: 000CDD movsq    IN023b: 000CDF call     [CORINFO_HELP_ASSIGN_BYREF]IN023c: 000CE5 movsq    IN023d: 000CE7 lea      rcx, bword ptr [V30 rbp-5E0H]IN023e: 000CEE mov      bword ptr [V82 rbp-838H], rcxIN023f: 000CF5 mov      rcx, gword ptr [V02 rbp+20H]IN0240: 000CF9 mov      gword ptr [V83 rbp-840H], rcxIN0241: 000D00 mov      rcx, gword ptr [V11 rbp-178H]IN0242: 000D07 mov      gword ptr [V84 rbp-848H], rcxIN0243: 000D0E mov      rcx, gword ptr [V00 rbp+10H]IN0244: 000D12 call     [System.Security.Cryptography.X509Certificates.CertificateRequest:get_HashAlgorithm():System.Security.Cryptography.HashAlgorithmName:this]IN0245: 000D18 mov      gword ptr [V85 rbp-850H], raxIN0246: 000D1F mov      rcx, gword ptr [V83 rbp-840H]IN0247: 000D26 mov      r8, gword ptr [V85 rbp-850H]IN0248: 000D2D mov      rdx, gword ptr [V84 rbp-848H]IN0249: 000D34 lea      r11, [(reloc 0x23a937ec970)]IN024a: 000D3B cmp      dword ptr [rcx], ecxIN024b: 000D3D call     [System.Security.Cryptography.X509Certificates.X509SignatureGenerator:SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName):System.Byte[]:this]IN024c: 000D43 mov      gword ptr [V86 rbp-858H], raxIN024d: 000D4A lea      rcx, [V87 rbp-868H]IN024e: 000D51 mov      rdx, gword ptr [V86 rbp-858H]IN024f: 000D58 call     [System.ReadOnlyMemory`1[Byte][System.Byte]:op_Implicit(System.Byte[]):System.ReadOnlyMemory`1[Byte]]G_M9517_IG49:        ; offs=000D5EH, size=0094H, bbWeight=1    PerfScore 55.25, extendIN0250: 000D5E mov      rdi, bword ptr [V82 rbp-838H]IN0251: 000D65 add      rdi, 320IN0252: 000D6C lea      rsi, bword ptr [V87 rbp-868H]IN0253: 000D73 call     [CORINFO_HELP_ASSIGN_BYREF]IN0254: 000D79 movsq    IN0255: 000D7B lea      rdi, bword ptr [V12 rbp-2C8H]IN0256: 000D82 lea      rsi, bword ptr [V30 rbp-5E0H]IN0257: 000D89 mov      ecx, 42IN0258: 000D8E rep movsq IN0259: 000D91 lea      rcx, bword ptr [V12 rbp-2C8H]IN025a: 000D98 mov      rdx, gword ptr [V10 rbp-170H]IN025b: 000D9F call     [System.Security.Cryptography.X509Certificates.Asn1.CertificateAsn:Encode(System.Formats.Asn1.AsnWriter):this]IN025c: 000DA5 nop      IN025d: 000DA6 mov      rcx, gword ptr [V10 rbp-170H]IN025e: 000DAD lea      r11, [(reloc 0x23a93763dd0)]IN025f: 000DB4 cmp      dword ptr [rcx], ecxIN0260: 000DB6 call     [System.Formats.Asn1.AsnWriter:Encode():System.Byte[]:this]IN0261: 000DBC mov      gword ptr [V88 rbp-870H], raxIN0262: 000DC3 call     [CORINFO_HELP_READYTORUN_NEW]IN0263: 000DC9 mov      gword ptr [V89 rbp-878H], raxIN0264: 000DD0 mov      rcx, gword ptr [V89 rbp-878H]IN0265: 000DD7 mov      rdx, gword ptr [V88 rbp-870H]IN0266: 000DDE call     [System.Security.Cryptography.X509Certificates.X509Certificate2:.ctor(System.Byte[]):this]IN0267: 000DE4 mov      rcx, gword ptr [V89 rbp-878H]IN0268: 000DEB mov      gword ptr [V13 rbp-2D0H], rcxG_M9517_IG50:        ; offs=000DF2H, size=000BH, bbWeight=1    PerfScore 5.00, nogc, extendIN0269: 000DF2 movups   xmm0, xmmword ptr [V08 rbp-48H]IN026a: 000DF6 movups   xmmword ptr [V143 rbp-AC0H], xmm0G_M9517_IG51:        ; offs=000DFDH, size=001FH, bbWeight=1    PerfScore 8.00, isz, extendIN026b: 000DFD lea      rcx, bword ptr [V143 rbp-AC0H]IN026c: 000E04 call     [System.Security.Cryptography.CryptoPool:Return(System.ArraySegment`1[Byte])]IN026d: 000E0A nop      IN026e: 000E0B mov      rax, gword ptr [V13 rbp-2D0H]IN026f: 000E12 mov      gword ptr [V31 rbp-5E8H], raxIN0270: 000E19 nop      IN0271: 000E1A jmp      SHORT G_M9517_IG52G_M9517_IG52:        ; offs=000E1CH, size=0007H, bbWeight=1    PerfScore 1.00, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0272: 000E1C mov      rax, gword ptr [V31 rbp-5E8H]G_M9517_IG53:        ; offs=000E23H, size=0008H, bbWeight=1    PerfScore 3.00, epilog, nogc, extendIN028b: 000E23 lea      rsp, [rbp-10H]IN028c: 000E27 pop      rsiIN028d: 000E28 pop      rdiIN028e: 000E29 pop      rbpIN028f: 000E2A ret      G_M9517_IG54:        ; func=01, offs=000E2BH, size=0017H, bbWeight=1    PerfScore 6.75, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, funclet prolog, nogcIN0290: 000E2B push     rbpIN0291: 000E2C push     rdiIN0292: 000E2D push     rsiIN0293: 000E2E sub      rsp, 48IN0294: 000E32 mov      rbp, qword ptr [rcx+32]IN0295: 000E36 mov      qword ptr [rsp+20H], rbpIN0296: 000E3B lea      rbp, [rbp+AF0H]G_M9517_IG55:        ; offs=000E42H, size=001FH, bbWeight=1    PerfScore 6.75, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref, iszIN0273: 000E42 cmp      gword ptr [V25 rbp-478H], 0IN0274: 000E4A je       SHORT G_M9517_IG56IN0275: 000E4C mov      rcx, gword ptr [V25 rbp-478H]IN0276: 000E53 lea      r11, [(reloc 0x23a937672f0)]IN0277: 000E5A call     [System.IDisposable:Dispose():this]IN0278: 000E60 nop      G_M9517_IG56:        ; offs=000E61H, size=0001H, bbWeight=1    PerfScore 0.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byrefIN0279: 000E61 nop      G_M9517_IG57:        ; offs=000E62H, size=0008H, bbWeight=1    PerfScore 2.75, funclet epilog, nogc, extendIN0297: 000E62 add      rsp, 48IN0298: 000E66 pop      rsiIN0299: 000E67 pop      rdiIN029a: 000E68 pop      rbpIN029b: 000E69 ret

The only difference I'm seeing are addresses used (0x23a937ebaa0 vs0x1bb561ebaa0).

Please let me know if you have any advice on what to change to get a better sense of where the regression might be.

@sandreenko
Copy link
Contributor

sandreenko commentedFeb 18, 2021
edited
Loading

@alexcovington Note: I have edited your comment to hide the logs under a spoiler, I recommend attaching them as text files in general or it makes it long to scroll between comments 😄

I usually create 2 copies of Core_Root for copies and my command looks like:

jitutils\bin\jit-diff.bat diff -b "%runtime%\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root_base" -d "%runtime%\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root_diff" --output D:\Sergey\diffs --core_root %runtime%\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root --assembly "%runtime%\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root\System.Collections.Immutable.dll"  --count 1000

and it shows the expected diffs:

base.txt
diff.txt

Looks like your changes discovered another issue, opened#48451 for it. It should fix the regressions that are real, the rest look like noise (like LSRA allocates different regs or frame size became smaller and now we can't init it with only SIMD instructions and have to emit some movs).

@alexcovington
Copy link
ContributorAuthor

Thanks for the feedback@sandreenko, I didn't know the spoiler feature existed! Very nice.

It should fix the regressions that are real, the rest look like noise

Sounds good, I'll take another look over just to be sure. Otherwise, let me know if I can add/do anything else for this PR.

Only difference I have found so far is the frame size forCertificateRequest:Create(X500DistinguishedName,X509SignatureGenerator,DateTimeOffset,DateTimeOffset,ReadOnlySpan1):X509Certificate2:this` is larger due to allocating space during CSE (if I'm reading the output right).

Base
; Total bytes of code 131, prolog size 17, PerfScore 43.43, instruction count 39, allocated bytes for code 131 (MethodHash=1ef7a589) for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.Byte[]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; ============================================================Unwind Info:  >> Start offset   : 0x000000 (not in unwind data)  >>   End offset   : 0xd1ffab1e (not in unwind data)  Version           : 1  Flags             : 0x00  SizeOfProlog      : 0x0A  CountOfUnwindCodes: 6  FrameRegister     : none (0)  FrameOffset       : N/A (no FrameRegister) (Value=0)  UnwindCodes       :    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 9 * 8 + 8 = 80 = 0x50    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14); Assembly listing for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.ReadOnlySpan`1[Byte]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows; ReadyToRun compilation; optimized code; rbp based frame; fully interruptible; Final local variable assignments;;  V00 this         [V00,T00] ( 13, 11.50)     ref  ->  rbx         this class-hnd;  V01 arg1         [V01,T15] (  4,  4   )     ref  ->  rdi         class-hnd;  V02 arg2         [V02,T14] (  5,  5   )     ref  ->  r15         class-hnd;  V03 arg3         [V03,T03] (  4,  8   )   byref  ->  r14        ;  V04 arg4         [V04,T22] (  2,  4   )   byref  ->  r12        ;  V05 arg5         [V05,T05] (  4,  8   )   byref  ->  rsi         ld-addr-op;  V06 loc0         [V06,T48] (  2,  2   )     ref  ->  rdx         class-hnd;  V07 loc1         [V07    ] (  5,  4.50)  struct (32) [rbp-0x58]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;  V08 loc2         [V08    ] (  7,  7   )  struct (16) [rbp-0x68]   do-not-enreg[XS] must-init addr-exposed;  V09 loc3         [V09    ] (  4,  3.50)  struct (288) [rbp-0x188]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;* V10 loc4         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact;  V11 loc5         [V11,T49] (  2,  2   )     ref  ->  r12         class-hnd;  V12 loc6         [V12    ] (  2,  2   )  struct (336) [rbp-0x2D8]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;* V13 loc7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact;  V14 loc8         [V14    ] (  9,  9   )  struct (288) [rbp-0x3F8]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;  V15 loc9         [V15    ] (  4,  4   )  struct (48) [rbp-0x428]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;  V16 loc10        [V16,T21] (  4,  4   )  struct (32) [rbp-0x448]   do-not-enreg[SFB] must-init ld-addr-op;  V17 loc11        [V17,T47] (  2,  2.50)     ref  ->  rsi         class-hnd exact;  V18 loc12        [V18,T19] (  4,  3.50)     ref  ->  rdi         class-hnd exact;  V19 loc13        [V19,T04] (  7,  9.50)     ref  ->  [rbp-0x790]   EH do-not-enreg[] class-hnd EH-live;  V20 loc14        [V20,T02] (  5, 12   )     ref  ->  r14         class-hnd;  V21 loc15        [V21    ] (  5,  5   )  struct (336) [rbp-0x598]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;  V22 OutArgs      [V22    ] (  1,  1   )  lclBlk (32) [rsp+0x00]   "OutgoingArgSpace";* V23 tmp1         [V23    ] (  0,  0   )  struct (16) zero-ref    "non-inline candidate call";  V24 tmp2         [V24    ] (  3,  6   )  struct (16) [rbp-0x5A8]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V25 tmp3         [V25,T59] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";* V26 tmp4         [V26    ] (  0,  0   )  struct ( 8) zero-ref    "struct address for call/obj";  V27 tmp5         [V27    ] (  4,  8   )  struct (16) [rbp-0x5B8]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V28 tmp6         [V28,T23] (  2,  4   )   byref  ->  r13         "impSpillEvalStack";  V29 tmp7         [V29,T24] (  2,  4   )   byref  ->  rdi         "impSpillEvalStack";  V30 tmp8         [V30    ] (  2,  4   )  struct (24) [rbp-0x5D0]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";  V31 tmp9         [V31    ] (  4,  8   )  struct (16) [rbp-0x5E0]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";* V32 tmp10        [V32    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V33 tmp11        [V33    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V34 tmp12        [V34    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V35 tmp13        [V35    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";  V36 tmp14        [V36,T11] (  4,  8   )  struct (96) [rbp-0x640]   do-not-enreg[SFB] "NewObj constructor temp";  V37 tmp15        [V37,T01] (  7, 14   )     ref  ->  r14         class-hnd exact "NewObj constructor temp";* V38 tmp16        [V38    ] (  0,  0   )  struct ( 8) zero-ref    "struct address for call/obj";  V39 tmp17        [V39,T06] (  3,  6   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V40 tmp18        [V40,T45] (  3,  3   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V41 tmp19        [V41,T46] (  3,  3   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp";  V42 tmp20        [V42    ] (  3, 12   )  struct (32) [rbp-0x660]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";  V43 tmp21        [V43,T64] (  2,  0   )     ref  ->  rsi         class-hnd "non-inline candidate call";  V44 tmp22        [V44,T60] (  3,  0   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp";  V45 tmp23        [V45    ] (  4,  4   )  struct (16) [rbp-0x670]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V46 tmp24        [V46,T61] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V47 tmp25        [V47,T62] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V48 tmp26        [V48,T63] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V49 tmp27        [V49,T25] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V50 tmp28        [V50,T26] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V51 tmp29        [V51,T27] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V52 tmp30        [V52    ] (  2,  4   )  struct (16) [rbp-0x680]   do-not-enreg[SB] "Inlining Arg";  V53 tmp31        [V53    ] (  3,  6   )  struct (48) [rbp-0x6B0]   do-not-enreg[XSB] addr-exposed "NewObj constructor temp";  V54 tmp32        [V54    ] (  2,  4   )  struct (16) [rbp-0x6C0]   do-not-enreg[SB] "Inlining Arg";  V55 tmp33        [V55    ] (  3,  6   )  struct (48) [rbp-0x6F0]   do-not-enreg[XSB] addr-exposed "NewObj constructor temp";  V56 tmp34        [V56,T28] (  2,  4   )     ref  ->  rdx         class-hnd "Inlining Arg";  V57 tmp35        [V57    ] (  4,  8   )  struct (16) [rbp-0x700]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";* V58 tmp36        [V58    ] (  0,  0   )   short  ->  zero-ref    V88._offsetMinutes(offs=0x00) P-INDEP "field V03._offsetMinutes (fldOffset=0x0)";* V59 tmp37        [V59    ] (  0,  0   )    long  ->  zero-ref    V88._dateTime(offs=0x08) P-INDEP "field V03._dateTime (fldOffset=0x8)";* V60 tmp38        [V60    ] (  0,  0   )   short  ->  zero-ref    V89._offsetMinutes(offs=0x00) P-INDEP "field V04._offsetMinutes (fldOffset=0x0)";* V61 tmp39        [V61    ] (  0,  0   )    long  ->  zero-ref    V89._dateTime(offs=0x08) P-INDEP "field V04._dateTime (fldOffset=0x8)";* V62 tmp40        [V62    ] (  0,  0   )   byref  ->  zero-ref    V90._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)";* V63 tmp41        [V63    ] (  0,  0   )     int  ->  zero-ref    V90._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)";  V64 tmp42        [V64    ] (  3,  3   )     ref  ->  [rbp-0x68]   do-not-enreg[X] addr-exposed V08._array(offs=0x00) P-DEP "field V08._array (fldOffset=0x0)";  V65 tmp43        [V65    ] (  3,  3   )     int  ->  [rbp-0x60]   do-not-enreg[X] addr-exposed V08._offset(offs=0x08) P-DEP "field V08._offset (fldOffset=0x8)";  V66 tmp44        [V66    ] (  3,  3   )     int  ->  [rbp-0x5C]   do-not-enreg[X] addr-exposed V08._count(offs=0x0c) P-DEP "field V08._count (fldOffset=0xc)";  V67 tmp45        [V67,T50] (  2,  2   )   byref  ->  r13         V23._pointer(offs=0x00) P-INDEP "field V23._pointer (fldOffset=0x0)";  V68 tmp46        [V68,T53] (  2,  2   )     int  ->  [rbp-0x704]   V23._length(offs=0x08) P-INDEP "field V23._length (fldOffset=0x8)";  V69 tmp47        [V69    ] (  2,  3   )   byref  ->  [rbp-0x5A8]   do-not-enreg[X] addr-exposed V24._pointer(offs=0x00) P-DEP "field V24._pointer (fldOffset=0x0)";  V70 tmp48        [V70    ] (  2,  3   )     int  ->  [rbp-0x5A0]   do-not-enreg[X] addr-exposed V24._length(offs=0x08) P-DEP "field V24._length (fldOffset=0x8)";  V71 tmp49        [V71,T51] (  2,  2   )     ref  ->  rdx         V26._name(offs=0x00) P-INDEP "field V26._name (fldOffset=0x0)";  V72 tmp50        [V72    ] (  2,  3   )     ref  ->  [rbp-0x5B8]   do-not-enreg[X] addr-exposed V27._object(offs=0x00) P-DEP "field V27._object (fldOffset=0x0)";  V73 tmp51        [V73    ] (  2,  3   )     int  ->  [rbp-0x5B0]   do-not-enreg[X] addr-exposed V27._index(offs=0x08) P-DEP "field V27._index (fldOffset=0x8)";  V74 tmp52        [V74    ] (  2,  3   )     int  ->  [rbp-0x5AC]   do-not-enreg[X] addr-exposed V27._length(offs=0x0c) P-DEP "field V27._length (fldOffset=0xc)";  V75 tmp53        [V75    ] (  2,  3   )     ref  ->  [rbp-0x5E0]   do-not-enreg[X] addr-exposed V31._object(offs=0x00) P-DEP "field V31._object (fldOffset=0x0)";  V76 tmp54        [V76    ] (  2,  3   )     int  ->  [rbp-0x5D8]   do-not-enreg[X] addr-exposed V31._index(offs=0x08) P-DEP "field V31._index (fldOffset=0x8)";  V77 tmp55        [V77    ] (  2,  3   )     int  ->  [rbp-0x5D4]   do-not-enreg[X] addr-exposed V31._length(offs=0x0c) P-DEP "field V31._length (fldOffset=0xc)";  V78 tmp56        [V78,T52] (  2,  2   )     ref  ->   r8         V38._name(offs=0x00) P-INDEP "field V38._name (fldOffset=0x0)";  V79 tmp57        [V79    ] (  2,  1.50)     ref  ->  [rbp-0x670]   do-not-enreg[X] addr-exposed V45._object(offs=0x00) P-DEP "field V45._object (fldOffset=0x0)";  V80 tmp58        [V80    ] (  2,  1.50)     int  ->  [rbp-0x668]   do-not-enreg[X] addr-exposed V45._index(offs=0x08) P-DEP "field V45._index (fldOffset=0x8)";  V81 tmp59        [V81    ] (  2,  1.50)     int  ->  [rbp-0x664]   do-not-enreg[X] addr-exposed V45._length(offs=0x0c) P-DEP "field V45._length (fldOffset=0xc)";  V82 tmp60        [V82,T37] (  2,  4   )   short  ->  [rbp-0x680]   do-not-enreg[] V52._offsetMinutes(offs=0x00) P-DEP "field V52._offsetMinutes (fldOffset=0x0)";  V83 tmp61        [V83,T38] (  2,  4   )    long  ->  [rbp-0x678]   do-not-enreg[] V52._dateTime(offs=0x08) P-DEP "field V52._dateTime (fldOffset=0x8)";  V84 tmp62        [V84,T39] (  2,  4   )   short  ->  [rbp-0x6C0]   do-not-enreg[] V54._offsetMinutes(offs=0x00) P-DEP "field V54._offsetMinutes (fldOffset=0x0)";  V85 tmp63        [V85,T40] (  2,  4   )    long  ->  [rbp-0x6B8]   do-not-enreg[] V54._dateTime(offs=0x08) P-DEP "field V54._dateTime (fldOffset=0x8)";  V86 tmp64        [V86    ] (  3,  5   )   byref  ->  [rbp-0x700]   do-not-enreg[X] addr-exposed V57._pointer(offs=0x00) P-DEP "field V57._pointer (fldOffset=0x0)";  V87 tmp65        [V87    ] (  3,  5   )     int  ->  [rbp-0x6F8]   do-not-enreg[X] addr-exposed V57._length(offs=0x08) P-DEP "field V57._length (fldOffset=0x8)";* V88 tmp66        [V88    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";* V89 tmp67        [V89    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";* V90 tmp68        [V90    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";  V91 tmp69        [V91,T65] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V92 tmp70        [V92,T66] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V93 tmp71        [V93    ] (  6, 12   )  struct (16) [rbp-0x718]   do-not-enreg[XSB] addr-exposed "by-value struct argument";  V94 tmp72        [V94    ] (  2,  4   )  struct (16) [rbp-0x728]   do-not-enreg[XSB] addr-exposed "by-value struct argument";  V95 tmp73        [V95,T67] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V96 tmp74        [V96,T68] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V97 tmp75        [V97    ] (  6, 12   )  struct (16) [rbp-0x738]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V98 tmp76        [V98,T16] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";  V99 tmp77        [V99    ] (  2,  4   )  struct (16) [rbp-0x748]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V100 tmp78       [V100,T17] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";  V101 tmp79       [V101,T69] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V102 tmp80       [V102,T70] (  2,  0   )     ref  ->  rdi         "argument with side effect";  V103 tmp81       [V103,T71] (  2,  0   )     ref  ->   r8         "argument with side effect";  V104 tmp82       [V104    ] (  6, 10   )  struct (16) [rbp-0x758]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V105 tmp83       [V105,T07] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V106 tmp84       [V106,T41] (  2,  4   )    long  ->  rcx         "argument with side effect";  V107 tmp85       [V107,T20] (  4,  4   )   byref  ->  rcx         stack-byref "BlockOp address local";* V108 tmp86       [V108,T56] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V109 tmp87       [V109,T42] (  2,  4   )    long  ->  rdx         "argument with side effect";  V110 tmp88       [V110    ] (  4,  8   )  struct (16) [rbp-0x768]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V111 tmp89       [V111,T08] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V112 tmp90       [V112,T43] (  2,  4   )    long  ->  rcx         "argument with side effect";  V113 tmp91       [V113,T29] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V114 tmp92       [V114,T30] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V115 tmp93       [V115,T09] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V116 tmp94       [V116,T31] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V117 tmp95       [V117,T32] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V118 tmp96       [V118,T33] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V119 tmp97       [V119,T34] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V120 tmp98       [V120,T35] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V121 tmp99       [V121,T54] (  2,  2   )     int  ->  rdx         "argument with side effect";  V122 tmp100      [V122,T55] (  2,  2   )     int  ->  rdx         "argument with side effect";  V123 tmp101      [V123,T12] (  2,  8   )     ref  ->  rcx         "argument with side effect";  V124 tmp102      [V124,T13] (  2,  8   )     ref  ->  rdx         "argument with side effect";  V125 tmp103      [V125,T72] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V126 tmp104      [V126,T73] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V127 tmp105      [V127,T74] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V128 tmp106      [V128,T75] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V129 tmp107      [V129    ] (  2,  8   )  struct (32) [rbp-0x788]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";* V130 tmp108      [V130,T44] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V131 tmp109      [V131,T36] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V132 tmp110      [V132,T18] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";* V133 tmp111      [V133,T57] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V134 tmp112      [V134,T10] (  4,  8   )   byref  ->  rcx         stack-byref "BlockOp address local";  V135 PSPSym      [V135    ] (  1,  1   )    long  ->  [rbp-0x7A0]   do-not-enreg[X] addr-exposed "PSPSym";  V136 tmp114      [V136,T58] (  2,  1   )     ref  ->  rax         "optAddCopies" ;; Lcl frame size = 1928
Diff
; Total bytes of code 131, prolog size 17, PerfScore 43.43, instruction count 39, allocated bytes for code 131 (MethodHash=1ef7a589) for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.Byte[]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; ============================================================Unwind Info:  >> Start offset   : 0x000000 (not in unwind data)  >>   End offset   : 0xd1ffab1e (not in unwind data)  Version           : 1  Flags             : 0x00  SizeOfProlog      : 0x0A  CountOfUnwindCodes: 6  FrameRegister     : none (0)  FrameOffset       : N/A (no FrameRegister) (Value=0)  UnwindCodes       :    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 9 * 8 + 8 = 80 = 0x50    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14); Assembly listing for method System.Security.Cryptography.X509Certificates.CertificateRequest:Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.X509Certificates.X509SignatureGenerator,System.DateTimeOffset,System.DateTimeOffset,System.ReadOnlySpan`1[Byte]):System.Security.Cryptography.X509Certificates.X509Certificate2:this; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows; ReadyToRun compilation; optimized code; rbp based frame; fully interruptible; Final local variable assignments;;  V00 this         [V00,T00] ( 13, 11.50)     ref  ->  rbx         this class-hnd;  V01 arg1         [V01,T15] (  4,  4   )     ref  ->  rdi         class-hnd;  V02 arg2         [V02,T14] (  5,  5   )     ref  ->  r15         class-hnd;  V03 arg3         [V03,T03] (  4,  8   )   byref  ->  r14        ;  V04 arg4         [V04,T23] (  2,  4   )   byref  ->  r12        ;  V05 arg5         [V05,T05] (  4,  8   )   byref  ->  rsi         ld-addr-op;  V06 loc0         [V06,T48] (  2,  2   )     ref  ->  rdx         class-hnd;  V07 loc1         [V07    ] (  5,  4.50)  struct (32) [rbp-0x58]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;  V08 loc2         [V08    ] (  7,  7   )  struct (16) [rbp-0x68]   do-not-enreg[XS] must-init addr-exposed;  V09 loc3         [V09    ] (  4,  3.50)  struct (288) [rbp-0x188]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;* V10 loc4         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact;  V11 loc5         [V11,T49] (  2,  2   )     ref  ->  r12         class-hnd;  V12 loc6         [V12    ] (  2,  2   )  struct (336) [rbp-0x2D8]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;* V13 loc7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact;  V14 loc8         [V14    ] (  9,  9   )  struct (288) [rbp-0x3F8]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;  V15 loc9         [V15    ] (  4,  4   )  struct (48) [rbp-0x428]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op;  V16 loc10        [V16,T21] (  4,  4   )  struct (32) [rbp-0x448]   do-not-enreg[SFB] must-init ld-addr-op;  V17 loc11        [V17,T47] (  2,  2.50)     ref  ->  rsi         class-hnd exact;  V18 loc12        [V18,T19] (  4,  3.50)     ref  ->  rdi         class-hnd exact;  V19 loc13        [V19,T04] (  7,  9.50)     ref  ->  [rbp-0x790]   EH do-not-enreg[] class-hnd EH-live;  V20 loc14        [V20,T02] (  5, 12   )     ref  ->  r14         class-hnd;  V21 loc15        [V21    ] (  5,  5   )  struct (336) [rbp-0x598]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op;  V22 OutArgs      [V22    ] (  1,  1   )  lclBlk (32) [rsp+0x00]   "OutgoingArgSpace";* V23 tmp1         [V23    ] (  0,  0   )  struct (16) zero-ref    "non-inline candidate call";  V24 tmp2         [V24    ] (  3,  6   )  struct (16) [rbp-0x5A8]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V25 tmp3         [V25,T59] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";* V26 tmp4         [V26    ] (  0,  0   )  struct ( 8) zero-ref    "struct address for call/obj";  V27 tmp5         [V27    ] (  4,  8   )  struct (16) [rbp-0x5B8]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V28 tmp6         [V28,T24] (  2,  4   )   byref  ->  [rbp-0x798]   "impSpillEvalStack";  V29 tmp7         [V29,T25] (  2,  4   )   byref  ->  [rbp-0x7A0]   "impSpillEvalStack";  V30 tmp8         [V30    ] (  2,  4   )  struct (24) [rbp-0x5D0]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";  V31 tmp9         [V31    ] (  4,  8   )  struct (16) [rbp-0x5E0]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";* V32 tmp10        [V32    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V33 tmp11        [V33    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V34 tmp12        [V34    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";* V35 tmp13        [V35    ] (  0,  0   )   byref  ->  zero-ref    "impSpillEvalStack";  V36 tmp14        [V36,T11] (  4,  8   )  struct (96) [rbp-0x640]   do-not-enreg[SFB] "NewObj constructor temp";  V37 tmp15        [V37,T01] (  7, 14   )     ref  ->  r14         class-hnd exact "NewObj constructor temp";* V38 tmp16        [V38    ] (  0,  0   )  struct ( 8) zero-ref    "struct address for call/obj";  V39 tmp17        [V39,T06] (  3,  6   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V40 tmp18        [V40,T45] (  3,  3   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V41 tmp19        [V41,T46] (  3,  3   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp";  V42 tmp20        [V42    ] (  3, 12   )  struct (32) [rbp-0x660]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";  V43 tmp21        [V43,T64] (  2,  0   )     ref  ->  rsi         class-hnd "non-inline candidate call";  V44 tmp22        [V44,T60] (  3,  0   )     ref  ->  rdi         class-hnd exact "NewObj constructor temp";  V45 tmp23        [V45    ] (  4,  4   )  struct (16) [rbp-0x670]   do-not-enreg[XS] must-init addr-exposed "struct address for call/obj";  V46 tmp24        [V46,T61] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V47 tmp25        [V47,T62] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V48 tmp26        [V48,T63] (  3,  0   )     ref  ->  rsi         class-hnd exact "NewObj constructor temp";  V49 tmp27        [V49,T26] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V50 tmp28        [V50,T27] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V51 tmp29        [V51,T28] (  2,  4   )     ref  ->  rcx         class-hnd "Inlining Arg";  V52 tmp30        [V52    ] (  2,  4   )  struct (16) [rbp-0x680]   do-not-enreg[SB] "Inlining Arg";  V53 tmp31        [V53    ] (  3,  6   )  struct (48) [rbp-0x6B0]   do-not-enreg[XSB] addr-exposed "NewObj constructor temp";  V54 tmp32        [V54    ] (  2,  4   )  struct (16) [rbp-0x6C0]   do-not-enreg[SB] "Inlining Arg";  V55 tmp33        [V55    ] (  3,  6   )  struct (48) [rbp-0x6F0]   do-not-enreg[XSB] addr-exposed "NewObj constructor temp";  V56 tmp34        [V56,T29] (  2,  4   )     ref  ->  rdx         class-hnd "Inlining Arg";  V57 tmp35        [V57    ] (  4,  8   )  struct (16) [rbp-0x700]   do-not-enreg[XSB] must-init addr-exposed "NewObj constructor temp";* V58 tmp36        [V58    ] (  0,  0   )   short  ->  zero-ref    V88._offsetMinutes(offs=0x00) P-INDEP "field V03._offsetMinutes (fldOffset=0x0)";* V59 tmp37        [V59    ] (  0,  0   )    long  ->  zero-ref    V88._dateTime(offs=0x08) P-INDEP "field V03._dateTime (fldOffset=0x8)";* V60 tmp38        [V60    ] (  0,  0   )   short  ->  zero-ref    V89._offsetMinutes(offs=0x00) P-INDEP "field V04._offsetMinutes (fldOffset=0x0)";* V61 tmp39        [V61    ] (  0,  0   )    long  ->  zero-ref    V89._dateTime(offs=0x08) P-INDEP "field V04._dateTime (fldOffset=0x8)";* V62 tmp40        [V62    ] (  0,  0   )   byref  ->  zero-ref    V90._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)";* V63 tmp41        [V63    ] (  0,  0   )     int  ->  zero-ref    V90._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)";  V64 tmp42        [V64    ] (  3,  3   )     ref  ->  [rbp-0x68]   do-not-enreg[X] addr-exposed V08._array(offs=0x00) P-DEP "field V08._array (fldOffset=0x0)";  V65 tmp43        [V65    ] (  3,  3   )     int  ->  [rbp-0x60]   do-not-enreg[X] addr-exposed V08._offset(offs=0x08) P-DEP "field V08._offset (fldOffset=0x8)";  V66 tmp44        [V66    ] (  3,  3   )     int  ->  [rbp-0x5C]   do-not-enreg[X] addr-exposed V08._count(offs=0x0c) P-DEP "field V08._count (fldOffset=0xc)";  V67 tmp45        [V67,T50] (  2,  2   )   byref  ->  r13         V23._pointer(offs=0x00) P-INDEP "field V23._pointer (fldOffset=0x0)";  V68 tmp46        [V68,T53] (  2,  2   )     int  ->  [rbp-0x704]   V23._length(offs=0x08) P-INDEP "field V23._length (fldOffset=0x8)";  V69 tmp47        [V69    ] (  2,  3   )   byref  ->  [rbp-0x5A8]   do-not-enreg[X] addr-exposed V24._pointer(offs=0x00) P-DEP "field V24._pointer (fldOffset=0x0)";  V70 tmp48        [V70    ] (  2,  3   )     int  ->  [rbp-0x5A0]   do-not-enreg[X] addr-exposed V24._length(offs=0x08) P-DEP "field V24._length (fldOffset=0x8)";  V71 tmp49        [V71,T51] (  2,  2   )     ref  ->  rdx         V26._name(offs=0x00) P-INDEP "field V26._name (fldOffset=0x0)";  V72 tmp50        [V72    ] (  2,  3   )     ref  ->  [rbp-0x5B8]   do-not-enreg[X] addr-exposed V27._object(offs=0x00) P-DEP "field V27._object (fldOffset=0x0)";  V73 tmp51        [V73    ] (  2,  3   )     int  ->  [rbp-0x5B0]   do-not-enreg[X] addr-exposed V27._index(offs=0x08) P-DEP "field V27._index (fldOffset=0x8)";  V74 tmp52        [V74    ] (  2,  3   )     int  ->  [rbp-0x5AC]   do-not-enreg[X] addr-exposed V27._length(offs=0x0c) P-DEP "field V27._length (fldOffset=0xc)";  V75 tmp53        [V75    ] (  2,  3   )     ref  ->  [rbp-0x5E0]   do-not-enreg[X] addr-exposed V31._object(offs=0x00) P-DEP "field V31._object (fldOffset=0x0)";  V76 tmp54        [V76    ] (  2,  3   )     int  ->  [rbp-0x5D8]   do-not-enreg[X] addr-exposed V31._index(offs=0x08) P-DEP "field V31._index (fldOffset=0x8)";  V77 tmp55        [V77    ] (  2,  3   )     int  ->  [rbp-0x5D4]   do-not-enreg[X] addr-exposed V31._length(offs=0x0c) P-DEP "field V31._length (fldOffset=0xc)";  V78 tmp56        [V78,T52] (  2,  2   )     ref  ->   r8         V38._name(offs=0x00) P-INDEP "field V38._name (fldOffset=0x0)";  V79 tmp57        [V79    ] (  2,  1.50)     ref  ->  [rbp-0x670]   do-not-enreg[X] addr-exposed V45._object(offs=0x00) P-DEP "field V45._object (fldOffset=0x0)";  V80 tmp58        [V80    ] (  2,  1.50)     int  ->  [rbp-0x668]   do-not-enreg[X] addr-exposed V45._index(offs=0x08) P-DEP "field V45._index (fldOffset=0x8)";  V81 tmp59        [V81    ] (  2,  1.50)     int  ->  [rbp-0x664]   do-not-enreg[X] addr-exposed V45._length(offs=0x0c) P-DEP "field V45._length (fldOffset=0xc)";  V82 tmp60        [V82,T38] (  2,  4   )   short  ->  [rbp-0x680]   do-not-enreg[] V52._offsetMinutes(offs=0x00) P-DEP "field V52._offsetMinutes (fldOffset=0x0)";  V83 tmp61        [V83,T39] (  2,  4   )    long  ->  [rbp-0x678]   do-not-enreg[] V52._dateTime(offs=0x08) P-DEP "field V52._dateTime (fldOffset=0x8)";  V84 tmp62        [V84,T40] (  2,  4   )   short  ->  [rbp-0x6C0]   do-not-enreg[] V54._offsetMinutes(offs=0x00) P-DEP "field V54._offsetMinutes (fldOffset=0x0)";  V85 tmp63        [V85,T41] (  2,  4   )    long  ->  [rbp-0x6B8]   do-not-enreg[] V54._dateTime(offs=0x08) P-DEP "field V54._dateTime (fldOffset=0x8)";  V86 tmp64        [V86    ] (  3,  5   )   byref  ->  [rbp-0x700]   do-not-enreg[X] addr-exposed V57._pointer(offs=0x00) P-DEP "field V57._pointer (fldOffset=0x0)";  V87 tmp65        [V87    ] (  3,  5   )     int  ->  [rbp-0x6F8]   do-not-enreg[X] addr-exposed V57._length(offs=0x08) P-DEP "field V57._length (fldOffset=0x8)";* V88 tmp66        [V88    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";* V89 tmp67        [V89    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";* V90 tmp68        [V90    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref";  V91 tmp69        [V91,T65] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V92 tmp70        [V92,T66] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V93 tmp71        [V93    ] (  6, 12   )  struct (16) [rbp-0x718]   do-not-enreg[XSB] addr-exposed "by-value struct argument";  V94 tmp72        [V94    ] (  2,  4   )  struct (16) [rbp-0x728]   do-not-enreg[XSB] addr-exposed "by-value struct argument";  V95 tmp73        [V95,T67] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V96 tmp74        [V96,T68] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V97 tmp75        [V97    ] (  6, 12   )  struct (16) [rbp-0x738]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V98 tmp76        [V98,T16] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";  V99 tmp77        [V99    ] (  2,  4   )  struct (16) [rbp-0x748]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V100 tmp78       [V100,T17] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";  V101 tmp79       [V101,T69] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V102 tmp80       [V102,T70] (  2,  0   )     ref  ->  rdi         "argument with side effect";  V103 tmp81       [V103,T71] (  2,  0   )     ref  ->   r8         "argument with side effect";  V104 tmp82       [V104    ] (  6, 10   )  struct (16) [rbp-0x758]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V105 tmp83       [V105,T07] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V106 tmp84       [V106,T42] (  2,  4   )    long  ->  rcx         "argument with side effect";  V107 tmp85       [V107,T20] (  4,  4   )   byref  ->  rcx         stack-byref "BlockOp address local";* V108 tmp86       [V108,T56] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V109 tmp87       [V109    ] (  4,  8   )  struct (16) [rbp-0x768]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";  V110 tmp88       [V110,T08] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V111 tmp89       [V111,T43] (  2,  4   )    long  ->  rcx         "argument with side effect";  V112 tmp90       [V112,T30] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V113 tmp91       [V113,T31] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V114 tmp92       [V114,T09] (  4,  8   )   byref  ->  rdx         stack-byref "BlockOp address local";  V115 tmp93       [V115,T32] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V116 tmp94       [V116,T33] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V117 tmp95       [V117,T34] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V118 tmp96       [V118,T35] (  2,  4   )   byref  ->  rcx         "argument with side effect";  V119 tmp97       [V119,T36] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V120 tmp98       [V120,T54] (  2,  2   )     int  ->  rdx         "argument with side effect";  V121 tmp99       [V121,T55] (  2,  2   )     int  ->  rdx         "argument with side effect";  V122 tmp100      [V122,T12] (  2,  8   )     ref  ->  rcx         "argument with side effect";  V123 tmp101      [V123,T13] (  2,  8   )     ref  ->  rdx         "argument with side effect";  V124 tmp102      [V124,T72] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V125 tmp103      [V125,T73] (  2,  0   )     ref  ->  rcx         "argument with side effect";  V126 tmp104      [V126,T74] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V127 tmp105      [V127,T75] (  2,  0   )     ref  ->  rdx         "argument with side effect";  V128 tmp106      [V128    ] (  2,  8   )  struct (32) [rbp-0x788]   do-not-enreg[XSB] must-init addr-exposed "by-value struct argument";* V129 tmp107      [V129,T44] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V130 tmp108      [V130,T37] (  2,  4   )     ref  ->  rdx         "argument with side effect";  V131 tmp109      [V131,T18] (  3,  6   )   byref  ->  rcx         stack-byref "BlockOp address local";* V132 tmp110      [V132,T57] (  0,  0   )     ref  ->  zero-ref    "argument with side effect";  V133 tmp111      [V133,T10] (  4,  8   )   byref  ->  rcx         stack-byref "BlockOp address local";  V134 PSPSym      [V134    ] (  1,  1   )    long  ->  [rbp-0x7B0]   do-not-enreg[X] addr-exposed "PSPSym";  V135 tmp113      [V135,T58] (  2,  1   )     ref  ->  rax         "optAddCopies";  V136 cse0        [V136,T22] (  4,  4   )    long  ->  r13         "CSE - moderate";; Lcl frame size = 1944

Copy link
Contributor

@sandreenkosandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM, thanks@alexcovington.

@AndyAyersMS could you please take a look as well?

@sandreenkosandreenko linked an issueFeb 19, 2021 that may beclosed by this pull request
Copy link
Member

@AndyAyersMSAndyAyersMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM.

Thanks!

@sandreenkosandreenko merged commit837a1c3 intodotnet:masterFeb 19, 2021
@ghostghost locked asresolvedand limited conversation to collaboratorsMar 21, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.

Reviewers

@AndyAyersMSAndyAyersMSAndyAyersMS approved these changes

+1 more reviewer

@sandreenkosandreenkosandreenko approved these changes

Reviewers whose approvals may not affect merge requirements

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additions

Projects

None yet

Milestone

6.0.0

Development

Successfully merging this pull request may close these issues.

CQ: Don't force const arguments to temps.

4 participants

@alexcovington@sandreenko@AndyAyersMS@JulieLeeMSFT

[8]ページ先頭

©2009-2025 Movatter.jp