118 (8.77 % of base) - System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this
; Assembly listing for method System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this (Tier0-FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier-0 switched to FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 21 single block inlinees; 7 inlinees without PGO data
+; 0 inlinees with PGO data; 24 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T11] ( 10, 23.46) ref -> [rbp-0xB0] this class-hnd EH-live single-def <System.DirectoryServices.Protocols.SortRequestControl>
; V01 loc0 [V01,T10] ( 6, 29.81) ref -> [rbp-0xB8] class-hnd exact spill-single-def <System.DirectoryServices.Protocols.SortKeyInterop[]>
; V02 loc1 [V02 ] ( 5, 4.00) long -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op
; V03 loc2 [V03,T21] ( 2, 9.91) int -> r14 single-def
; V04 loc3 [V04,T18] ( 6, 16.11) int -> [rbp-0x34] EH-live spill-single-def
; V05 loc4 [V05,T22] ( 6, 8.10) long -> [rbp-0x40] EH-live spill-single-def
-;* V06 loc5 [V06,T33] ( 0, 0 ) int -> zero-ref
+;* V06 loc5 [V06,T36] ( 0, 0 ) int -> zero-ref
; V07 loc6 [V07,T20] ( 3, 10.91) long -> r12 single-def
;* V08 loc7 [V08 ] ( 0, 0 ) long -> zero-ref
; V09 loc8 [V09,T26] ( 3, 2.89) int -> rcx
; V10 loc9 [V10,T30] ( 2, 2 ) ubyte -> r15 single-def
; V11 loc10 [V11,T28] ( 6, 2.52) int -> r14 single-def
;* V12 loc11 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.DirectoryServices.Protocols.LdapControl>
-; V13 loc12 [V13,T32] ( 4, 1.46) ref -> r14 class-hnd exact single-def <System.DirectoryServices.Protocols.BerVal>
-; V14 loc13 [V14,T38] ( 2, 0 ) ref -> r15 class-hnd exact single-def <System.String>
+; V13 loc12 [V13,T33] ( 4, 1.46) ref -> r14 class-hnd exact single-def <System.DirectoryServices.Protocols.BerVal>
+; V14 loc13 [V14,T47] ( 2, 0 ) ref -> r15 class-hnd exact single-def <System.String>
; V15 loc14 [V15,T12] ( 5, 19.24) int -> rbx
; V16 loc15 [V16,T17] ( 5, 16.17) long -> r15
; V17 loc16 [V17,T19] ( 6, 11.76) long -> rax
;# V18 OutArgs [V18 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V19 tmp1 [V19 ] ( 5, 90.00) struct (24) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.DirectoryServices.Protocols.SortKeyInterop>
; V20 tmp2 [V20,T24] ( 4, 3.84) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapControl>
-; V21 tmp3 [V21,T36] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapException>
-; V22 tmp4 [V22,T37] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapException>
+; V21 tmp3 [V21,T45] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapException>
+; V22 tmp4 [V22,T46] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.LdapException>
;* V23 tmp5 [V23 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V24 tmp6 [V24,T07] ( 3, 44.19) long -> rdi "Inlining Arg"
; V25 tmp7 [V25,T13] ( 3, 17.82) long -> rdi
; V26 tmp8 [V26,T03] ( 4, 71.28) long -> rbx "dup spill"
;* V27 tmp9 [V27 ] ( 0, 0 ) long -> zero-ref
;* V28 tmp10 [V28 ] ( 0, 0 ) struct (24) zero-ref "Inlining Arg" <System.DirectoryServices.Protocols.SortKeyInterop>
; V29 tmp11 [V29,T00] ( 5, 89.10) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Single-def Box Helper" <System.DirectoryServices.Protocols.SortKeyInterop>
;* V30 tmp12 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V31 tmp13 [V31 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V32 tmp14 [V32,T27] ( 3, 2.88) long -> rdi "Inlining Arg"
;* V33 tmp15 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.DirectoryServices.Protocols.LdapControl>
-;* V34 tmp16 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V35 tmp17 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]>
-;* V36 tmp18 [V36 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V37 tmp19 [V37,T29] ( 2, 2.08) long -> rdi "Inlining Arg"
-;* V38 tmp20 [V38 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V39 tmp21 [V39,T31] ( 2, 1.92) ref -> rax single-def "Single return block return value"
-; V40 FramesRoot [V40,T08] ( 6, 37.64) long -> r15 "Pinvoke FrameListRoot"
-; V41 PInvokeFrame [V41 ] ( 8, 39.64) struct (64) [rbp-0x98] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-; V42 tmp24 [V42 ] ( 3, 45.00) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V19.<AttributeName>k__BackingField (fldOffset=0x0)" P-DEP
-; V43 tmp25 [V43 ] ( 3, 45.00) ref -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V19.<MatchingRule>k__BackingField (fldOffset=0x8)" P-DEP
-; V44 tmp26 [V44 ] ( 3, 45.00) ubyte -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V19.<ReverseOrder>k__BackingField (fldOffset=0x10)" P-DEP
-; V45 tmp27 [V45,T14] ( 2, 17.82) ref -> [rbp-0xC8] spill-single-def "field V28.<AttributeName>k__BackingField (fldOffset=0x0)" P-INDEP
-; V46 tmp28 [V46,T15] ( 2, 17.82) ref -> [rbp-0xD0] spill-single-def "field V28.<MatchingRule>k__BackingField (fldOffset=0x8)" P-INDEP
-; V47 tmp29 [V47,T16] ( 2, 17.82) ubyte -> [rbp-0x9C] spill-single-def "field V28.<ReverseOrder>k__BackingField (fldOffset=0x10)" P-INDEP
-; V48 tmp30 [V48,T05] ( 3, 54.00) ref -> rsi "arr expr"
-; V49 tmp31 [V49,T09] ( 2, 36.00) ref -> rsi "argument with side effect"
-; V50 tmp32 [V50,T01] ( 4, 72.00) byref -> r14 "BlockOp address local"
-; V51 tmp33 [V51,T02] ( 4, 71.28) byref -> rdi "BlockOp address local"
-; V52 tmp34 [V52,T23] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V53 PSPSym [V53,T34] ( 1, 1 ) long -> [rbp-0xE0] do-not-enreg[V] "PSPSym"
-; V54 cse0 [V54,T35] ( 3, 0.75) int -> r15 "CSE #07: conservative"
-; V55 cse1 [V55,T25] ( 3, 3 ) ref -> r14 "CSE #01: moderate"
-; V56 rat0 [V56,T04] ( 8, 64.00) long -> r12 "Widened IV V06"
-; V57 rat1 [V57,T06] ( 7, 46.44) long -> [rbp-0xA8] "Widened IV V09"
+; V34 tmp16 [V34,T34] ( 3, 1.36) long -> rsi "Inlining Arg"
+; V35 tmp17 [V35,T35] ( 3, 1.12) ref -> rdi class-hnd single-def "Inlining Arg" <ubyte[]>
+; V36 tmp18 [V36,T32] ( 4, 1.36) int -> r15 "Inlining Arg"
+;* V37 tmp19 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V38 tmp20 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
+;* V39 tmp21 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V40 tmp22 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V41 tmp23 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V42 tmp24 [V42 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V43 tmp25 [V43 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V44 tmp26 [V44,T29] ( 2, 2.08) long -> rdi "Inlining Arg"
+;* V45 tmp27 [V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V46 tmp28 [V46,T31] ( 2, 1.92) ref -> rax single-def "Single return block return value"
+; V47 FramesRoot [V47,T08] ( 6, 37.64) long -> r15 "Pinvoke FrameListRoot"
+; V48 PInvokeFrame [V48 ] ( 8, 39.64) struct (64) [rbp-0x98] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+; V49 tmp31 [V49 ] ( 3, 45.00) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V19.<AttributeName>k__BackingField (fldOffset=0x0)" P-DEP
+; V50 tmp32 [V50 ] ( 3, 45.00) ref -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V19.<MatchingRule>k__BackingField (fldOffset=0x8)" P-DEP
+; V51 tmp33 [V51 ] ( 3, 45.00) ubyte -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V19.<ReverseOrder>k__BackingField (fldOffset=0x10)" P-DEP
+; V52 tmp34 [V52,T14] ( 2, 17.82) ref -> [rbp-0xC8] spill-single-def "field V28.<AttributeName>k__BackingField (fldOffset=0x0)" P-INDEP
+; V53 tmp35 [V53,T15] ( 2, 17.82) ref -> [rbp-0xD0] spill-single-def "field V28.<MatchingRule>k__BackingField (fldOffset=0x8)" P-INDEP
+; V54 tmp36 [V54,T16] ( 2, 17.82) ubyte -> [rbp-0x9C] spill-single-def "field V28.<ReverseOrder>k__BackingField (fldOffset=0x10)" P-INDEP
+; V55 tmp37 [V55,T40] ( 2, 0.36) byref -> rsi single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V56 tmp38 [V56,T43] ( 0, 0 ) int -> zero-ref single-def "field V37._length (fldOffset=0x8)" P-INDEP
+; V57 tmp39 [V57,T41] ( 2, 0.31) byref -> rsi single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+; V58 tmp40 [V58,T39] ( 3, 0.49) int -> r15 single-def "field V38._length (fldOffset=0x8)" P-INDEP
+; V59 tmp41 [V59,T42] ( 2, 0.26) byref -> rdi single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V60 tmp42 [V60,T44] ( 0, 0 ) int -> zero-ref single-def "field V39._length (fldOffset=0x8)" P-INDEP
+;* V61 tmp43 [V61 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V62 tmp44 [V62 ] ( 0, 0 ) int -> zero-ref single-def "field V40._length (fldOffset=0x8)" P-INDEP
+; V63 tmp45 [V63,T05] ( 3, 54.00) ref -> rsi "arr expr"
+; V64 tmp46 [V64,T09] ( 2, 36.00) ref -> rsi "argument with side effect"
+; V65 tmp47 [V65,T01] ( 4, 72.00) byref -> r14 "BlockOp address local"
+; V66 tmp48 [V66,T02] ( 4, 71.28) byref -> rdi "BlockOp address local"
+; V67 tmp49 [V67,T23] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V68 tmp50 [V68,T48] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
+; V69 PSPSym [V69,T37] ( 1, 1 ) long -> [rbp-0xE0] do-not-enreg[V] "PSPSym"
+; V70 cse0 [V70,T38] ( 3, 0.75) int -> r15 "CSE #07: conservative"
+; V71 cse1 [V71,T25] ( 3, 3 ) ref -> r14 "CSE #01: moderate"
+; V72 rat0 [V72,T04] ( 8, 64.00) long -> r12 "Widened IV V06"
+; V73 rat1 [V73,T06] ( 7, 46.44) long -> [rbp-0xA8] "Widened IV V09"
;
; Lcl frame size = 184
G_M6630_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 184
vzeroupper
lea rbp, [rsp+0xE0]
xor eax, eax
mov qword ptr [rbp-0x58], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x50], ymm8
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0xE0], rsp
mov gword ptr [rbp-0xB0], rdi
mov rbx, rdi
;; size=65 bbWeight=1 PerfScore 14.58
G_M6630_IG02:
lea rdi, [rbp-0x90]
call CORINFO_HELP_INIT_PINVOKE_FRAME
mov r15, rax
mov rsi, rsp
mov qword ptr [rbp-0x78], rsi
mov rsi, rbp
mov qword ptr [rbp-0x68], rsi
mov r14, gword ptr [rbx+0x20]
mov esi, dword ptr [r14+0x08]
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.SortKeyInterop[]
call CORINFO_HELP_NEWARR_1_VC
mov r13, rax
mov gword ptr [rbp-0xB8], r13
xor r12d, r12d
cmp dword ptr [r14+0x08], 0
jle SHORT G_M6630_IG04
;; size=72 bbWeight=1 PerfScore 15.00
G_M6630_IG03:
mov rbx, gword ptr [rbp-0xB0]
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x58], xmm0
vmovdqu xmmword ptr [rbp-0x50], xmm0
mov rsi, gword ptr [rbx+0x20]
cmp r12d, dword ptr [rsi+0x08]
- jae G_M6630_IG31
+ jae G_M6630_IG36
mov rsi, gword ptr [rsi+8*r12+0x10]
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.SortKeyInterop:.ctor(System.DirectoryServices.Protocols.SortKey):this
call [rax]System.DirectoryServices.Protocols.SortKeyInterop:.ctor(System.DirectoryServices.Protocols.SortKey):this
cmp r12d, dword ptr [r13+0x08]
- jae G_M6630_IG31
+ jae G_M6630_IG36
lea rdi, [r12+2*r12]
lea r14, bword ptr [r13+8*rdi+0x10]
mov rsi, gword ptr [rbp-0x58]
mov rdi, r14
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x08]
mov rsi, gword ptr [rbp-0x50]
call CORINFO_HELP_ASSIGN_REF
movzx rax, byte ptr [rbp-0x48]
mov byte ptr [r14+0x10], al
inc r12d
mov rax, gword ptr [rbx+0x20]
cmp dword ptr [rax+0x08], r12d
jg SHORT G_M6630_IG03
;; size=121 bbWeight=9.00 PerfScore 311.25
G_M6630_IG04:
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:SizeOf[System.DirectoryServices.Protocols.SortKeyInterop]():int
call [rax]System.Runtime.InteropServices.Marshal:SizeOf[System.DirectoryServices.Protocols.SortKeyInterop]():int
mov r14d, eax
mov eax, dword ptr [r13+0x08]
mov dword ptr [rbp-0x34], eax
lea edi, [rax+0x01]
mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
call [rcx]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
mov qword ptr [rbp-0x40], rax
;; size=47 bbWeight=1 PerfScore 12.50
G_M6630_IG05:
mov r12, rax
xor ecx, ecx
xor edx, edx
mov qword ptr [rbp-0xA8], rdx
cmp dword ptr [rbp-0x34], 0
mov rax, qword ptr [rbp-0x40]
jle G_M6630_IG17
;; size=28 bbWeight=1 PerfScore 5.75
G_M6630_IG06:
mov edi, dword ptr [r13+0x08]
;; size=4 bbWeight=0.90 PerfScore 1.80
G_M6630_IG07:
movsxd rdi, r14d
test rdi, rdi
jne SHORT G_M6630_IG14
;; size=8 bbWeight=8.91 PerfScore 13.37
G_M6630_IG08:
mov edi, 1
;; size=5 bbWeight=4.63 PerfScore 1.16
G_M6630_IG09:
mov rcx, 0xD1FFAB1E ; function address
mov qword ptr [rbp-0x80], rcx
lea rcx, G_M6630_IG12
mov qword ptr [rbp-0x70], rcx
lea rcx, [rbp-0x90]
mov qword ptr [r15+0x08], rcx
mov byte ptr [r15+0x04], 0
;; size=41 bbWeight=8.91 PerfScore 51.23
G_M6630_IG10:
mov rcx, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong
;; size=10 bbWeight=8.91 PerfScore 2.23
G_M6630_IG11:
call [rcx]Interop+Sys:Malloc(ulong):ulong
;; size=2 bbWeight=8.91 PerfScore 26.73
G_M6630_IG12:
mov byte ptr [r15+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M6630_IG13
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=32 bbWeight=8.91 PerfScore 75.74
G_M6630_IG13:
mov rdi, qword ptr [rbp-0x88]
mov qword ptr [r15+0x08], rdi
mov rbx, rax
test rbx, rbx
jne SHORT G_M6630_IG15
- jmp G_M6630_IG22
+ jmp G_M6630_IG24
;; size=24 bbWeight=8.91 PerfScore 49.01
G_M6630_IG14:
jmp SHORT G_M6630_IG09
;; size=2 bbWeight=4.28 PerfScore 8.55
G_M6630_IG15:
mov r13, qword ptr [rbp-0xA8]
lea rdi, [r13+2*r13]
mov rax, gword ptr [rbp-0xB8]
lea rdi, bword ptr [rax+8*rdi+0x10]
mov rcx, gword ptr [rdi]
mov gword ptr [rbp-0xC8], rcx
mov rdx, gword ptr [rdi+0x08]
mov gword ptr [rbp-0xD0], rdx
movzx rsi, byte ptr [rdi+0x10]
mov byte ptr [rbp-0x9C], sil
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.SortKeyInterop
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xC0], rax
lea rdi, bword ptr [rax+0x08]
mov rsi, gword ptr [rbp-0xC8]
call CORINFO_HELP_ASSIGN_REF
mov rax, gword ptr [rbp-0xC0]
lea rdi, bword ptr [rax+0x10]
mov rsi, gword ptr [rbp-0xD0]
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0xC0]
movzx rsi, byte ptr [rbp-0x9C]
mov byte ptr [rdi+0x18], sil
mov rsi, rbx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
call [rax]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
movsxd rdi, r13d
mov qword ptr [r12+8*rdi], rbx
inc r13d
mov esi, dword ptr [rbp-0x34]
cmp r13d, esi
mov qword ptr [rbp-0xA8], r13
mov rax, qword ptr [rbp-0x40]
jl G_M6630_IG07
;; size=187 bbWeight=8.91 PerfScore 309.62
G_M6630_IG16:
mov rcx, qword ptr [rbp-0xA8]
;; size=7 bbWeight=0.89 PerfScore 0.89
G_M6630_IG17:
movsxd rdi, ecx
xor edx, edx
mov qword ptr [r12+8*rdi], rdx
mov rbx, gword ptr [rbp-0xB0]
movzx r15, byte ptr [rbx+0x18]
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M6630_IG23
+ je G_M6630_IG25
;; size=40 bbWeight=1 PerfScore 8.75
G_M6630_IG18:
mov rdi, 0xD1FFAB1E ; data for System.DirectoryServices.Protocols.UtilityHandle:s_handle
mov rdi, gword ptr [rdi]
test r15d, r15d
setne dl
movzx rdx, dl
lea rcx, [rbp-0x30]
mov rsi, rax
mov r8, 0xD1FFAB1E ; code for Interop+Ldap:ldap_create_sort_control(System.DirectoryServices.Protocols.ConnectionHandle,long,ubyte,byref):int
call [r8]Interop+Ldap:ldap_create_sort_control(System.DirectoryServices.Protocols.ConnectionHandle,long,ubyte,byref):int
mov r14d, eax
test r14d, r14d
je SHORT G_M6630_IG20
;; size=50 bbWeight=1 PerfScore 9.25
G_M6630_IG19:
mov edi, r14d
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapErrorMappings:IsLdapError(int):ubyte
call [rax]System.DirectoryServices.Protocols.LdapErrorMappings:IsLdapError(int):ubyte
test eax, eax
- je G_M6630_IG25
- jmp G_M6630_IG24
+ je G_M6630_IG27
+ jmp G_M6630_IG26
;; size=28 bbWeight=0.52 PerfScore 3.51
G_M6630_IG20:
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapControl
call CORINFO_HELP_NEWSFAST
mov r15, rax
xor edi, edi
mov qword ptr [r15+0x10], rdi
mov rdi, qword ptr [rbp-0x30]
test rdi, rdi
- je G_M6630_IG26
+ je G_M6630_IG28
mov rsi, r15
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:PtrToStructureHelper(long,System.Object,ubyte)
call [rax]System.Runtime.InteropServices.Marshal:PtrToStructureHelper(long,System.Object,ubyte)
mov r14, gword ptr [r15+0x08]
xor rsi, rsi
mov gword ptr [rbx+0x08], rsi
test r14, r14
- je G_M6630_IG27
+ je G_M6630_IG32
;; size=73 bbWeight=0.48 PerfScore 6.36
G_M6630_IG21:
mov r15d, dword ptr [r14+0x08]
movsxd rsi, r15d
mov rdi, 0xD1FFAB1E ; ubyte[]
call CORINFO_HELP_NEWARR_1_VC
lea rdi, bword ptr [rbx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rdi, qword ptr [r14+0x10]
- mov rsi, gword ptr [rbx+0x08]
- mov ecx, r15d
- xor edx, edx
- mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
- call [rax]System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
- jmp G_M6630_IG27
- ;; size=64 bbWeight=0.25 PerfScore 3.74
+ mov rsi, qword ptr [r14+0x10]
+ mov rdi, gword ptr [rbx+0x08]
+ test rsi, rsi
+ je G_M6630_IG29
+ test r15d, r15d
+ jl G_M6630_IG30
+ ;; size=60 bbWeight=0.25 PerfScore 2.93
G_M6630_IG22:
+ cmp dword ptr [rdi+0x08], r15d
+ jb G_M6630_IG31
+ ;; size=10 bbWeight=0.18 PerfScore 0.73
+G_M6630_IG23:
+ add rdi, 16
+ mov edx, r15d
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+ call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+ jmp G_M6630_IG32
+ ;; size=24 bbWeight=0.13 PerfScore 0.75
+G_M6630_IG24:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowOutOfMemoryException()
call [rax]System.ThrowHelper:ThrowOutOfMemoryException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M6630_IG23:
+G_M6630_IG25:
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.UtilityHandle
call CORINFO_HELP_GET_GCSTATIC_BASE
mov rax, qword ptr [rbp-0x40]
jmp G_M6630_IG18
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6630_IG24:
+G_M6630_IG26:
mov edi, r14d
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapErrorMappings:MapResultCode(int):System.String
call [rax]System.DirectoryServices.Protocols.LdapErrorMappings:MapResultCode(int):System.String
mov r15, rax
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapException
call CORINFO_HELP_NEWSFAST
mov r13, rax
mov rdi, r13
mov esi, r14d
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapException:.ctor(int,System.String):this
call [rax]System.DirectoryServices.Protocols.LdapException:.ctor(int,System.String):this
mov rdi, r13
call CORINFO_HELP_THROW
int3
;; size=66 bbWeight=0 PerfScore 0.00
-G_M6630_IG25:
+G_M6630_IG27:
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapException
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, r15
mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapException:.ctor(int):this
call [rax]System.DirectoryServices.Protocols.LdapException:.ctor(int):this
mov rdi, r15
call CORINFO_HELP_THROW
int3
;; size=45 bbWeight=0 PerfScore 0.00
-G_M6630_IG26:
+G_M6630_IG28:
mov edi, 0xD59
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
call [rax]System.ArgumentNullException:Throw(System.String)
int3
;; size=36 bbWeight=0 PerfScore 0.00
-G_M6630_IG27:
+G_M6630_IG29:
+ mov edi, 0x13ED
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rdi, rax
+ mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
+ call [rax]System.ArgumentNullException:Throw(System.String)
+ int3
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M6630_IG30:
+ mov edi, 491
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rsi, rax
+ mov edi, r15d
+ mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
+ call [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
+ int3
+ ;; size=39 bbWeight=0 PerfScore 0.00
+G_M6630_IG31:
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ int3
+ ;; size=13 bbWeight=0 PerfScore 0.00
+G_M6630_IG32:
mov rdi, rsp
;; size=3 bbWeight=0.48 PerfScore 0.12
-G_M6630_IG28:
- call G_M6630_IG32
+G_M6630_IG33:
+ call G_M6630_IG37
nop
;; size=6 bbWeight=0.48 PerfScore 0.60
-G_M6630_IG29:
+G_M6630_IG34:
mov rdi, gword ptr [rbp-0xB0]
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryControl:GetValue():ubyte[]:this
call [rax]System.DirectoryServices.Protocols.DirectoryControl:GetValue():ubyte[]:this
nop
;; size=20 bbWeight=0.48 PerfScore 2.16
-G_M6630_IG30:
+G_M6630_IG35:
add rsp, 184
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.48 PerfScore 2.04
-G_M6630_IG31:
+G_M6630_IG36:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M6630_IG32:
+G_M6630_IG37:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
vzeroupper
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0xE0]
;; size=28 bbWeight=1.00 PerfScore 11.50
-G_M6630_IG33:
+G_M6630_IG38:
cmp qword ptr [rbp-0x30], 0
- je SHORT G_M6630_IG35
+ je SHORT G_M6630_IG40
;; size=7 bbWeight=1.00 PerfScore 3.00
-G_M6630_IG34:
+G_M6630_IG39:
mov rdi, qword ptr [rbp-0x30]
call Interop+Ldap:ldap_control_free(long):int
;; size=9 bbWeight=0.52 PerfScore 1.04
-G_M6630_IG35:
+G_M6630_IG40:
cmp qword ptr [rbp-0x40], 0
- je G_M6630_IG45
+ je G_M6630_IG50
;; size=11 bbWeight=1.00 PerfScore 3.00
-G_M6630_IG36:
+G_M6630_IG41:
xor ebx, ebx
cmp dword ptr [rbp-0x34], 0
- jle SHORT G_M6630_IG44
+ jle SHORT G_M6630_IG49
;; size=8 bbWeight=0.52 PerfScore 1.69
-G_M6630_IG37:
+G_M6630_IG42:
lea esi, [8*rbx]
mov rdi, qword ptr [rbp-0x40]
mov rcx, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rcx]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
mov r15, rax
test r15, r15
- je SHORT G_M6630_IG43
+ je SHORT G_M6630_IG48
;; size=31 bbWeight=4.68 PerfScore 29.25
-G_M6630_IG38:
+G_M6630_IG43:
mov rdi, r15
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M6630_IG40
+ je SHORT G_M6630_IG45
;; size=22 bbWeight=2.43 PerfScore 12.17
-G_M6630_IG39:
+G_M6630_IG44:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=1.01 PerfScore 1.27
-G_M6630_IG40:
+G_M6630_IG45:
mov rdi, r15
mov esi, 8
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M6630_IG42
+ je SHORT G_M6630_IG47
;; size=25 bbWeight=2.43 PerfScore 12.17
-G_M6630_IG41:
+G_M6630_IG46:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=1.01 PerfScore 1.27
-G_M6630_IG42:
+G_M6630_IG47:
mov rdi, r15
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=1.95 PerfScore 2.43
-G_M6630_IG43:
+G_M6630_IG48:
inc ebx
mov eax, dword ptr [rbp-0x34]
cmp ebx, eax
- jl SHORT G_M6630_IG37
+ jl SHORT G_M6630_IG42
;; size=9 bbWeight=4.68 PerfScore 11.70
-G_M6630_IG44:
+G_M6630_IG49:
mov rdi, qword ptr [rbp-0x40]
call Interop+Sys:Free(ulong)
;; size=9 bbWeight=0.42 PerfScore 0.83
-G_M6630_IG45:
+G_M6630_IG50:
nop
;; size=1 bbWeight=1.00 PerfScore 0.25
-G_M6630_IG46:
+G_M6630_IG51:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1.00 PerfScore 4.25
-; Total bytes of code 1346, prolog size 65, PerfScore 1031.75, instruction count 314, allocated bytes for code 1346 (MethodHash=0bb8e619) for method System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this (Tier0-FullOpts)
+; Total bytes of code 1464, prolog size 65, PerfScore 1032.41, instruction count 338, allocated bytes for code 1464 (MethodHash=0bb8e619) for method System.DirectoryServices.Protocols.SortRequestControl:GetValue():ubyte[]:this (Tier0-FullOpts)
78 (8.07 % of base) - System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int
; Assembly listing for method System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data
+; 0 inlinees with PGO data; 14 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T02] ( 5, 3.80) int -> rbx single-def
; V01 arg1 [V01,T03] ( 3, 2.80) int -> r15 single-def
; V02 loc0 [V02,T05] ( 6, 3.84) ref -> [rbp-0x88] class-hnd <System.Runtime.InteropServices.PosixSignalRegistration+Token[]>
-; V03 loc1 [V03,T17] ( 4, 1.52) ref -> [rbp-0x90] class-hnd EH-live spill-single-def <System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]]>
+; V03 loc1 [V03,T19] ( 4, 1.52) ref -> [rbp-0x90] class-hnd EH-live spill-single-def <System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]]>
; V04 loc2 [V04 ] ( 5, 4 ) ubyte -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V05 loc3 [V05,T10] ( 4, 2.08) ref -> r13 ld-addr-op class-hnd <System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T16] ( 2, 1.54) ref -> r15 class-hnd exact single-def "dup spill" <System.Threading.WaitCallback>
-; V08 tmp2 [V08,T19] ( 4, 1.35) ref -> r15
+; V07 tmp1 [V07,T18] ( 2, 1.54) ref -> r15 class-hnd exact single-def "dup spill" <System.Threading.WaitCallback>
+; V08 tmp2 [V08,T20] ( 4, 1.35) ref -> r15
;* V09 tmp3 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
; V10 tmp4 [V10,T07] ( 4, 3.07) ref -> r13 class-hnd exact single-def "Single-def Box Helper" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
; V11 tmp5 [V11,T09] ( 7, 2.80) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Threading.WaitCallback>
-; V12 tmp6 [V12,T14] ( 2, 1.66) ref -> r15 class-hnd exact single-def "dup spill" <System.Threading.ParameterizedThreadStart>
-; V13 tmp7 [V13,T18] ( 4, 1.46) ref -> r15
-; V14 tmp8 [V14,T01] ( 7, 5.82) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Thread>
+; V12 tmp6 [V12,T16] ( 2, 1.66) ref -> r15 class-hnd exact single-def "dup spill" <System.Threading.ParameterizedThreadStart>
+; V13 tmp7 [V13,T13] ( 5, 1.88) ref -> r15
+; V14 tmp8 [V14,T00] ( 8, 6.66) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.Thread>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
; V16 tmp10 [V16,T06] ( 4, 3.16) ref -> r15 class-hnd exact single-def "Single-def Box Helper" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
; V17 tmp11 [V17,T08] ( 7, 3.03) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Threading.ParameterizedThreadStart>
-;* V18 tmp12 [V18,T20] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V19 tmp13 [V19,T00] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]]>
+;* V18 tmp12 [V18,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V19 tmp13 [V19,T01] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]]>
; V20 tmp14 [V20,T11] ( 3, 2.52) byref -> rax single-def "Inline stloc first use temp"
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]>
;* V22 tmp16 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Collections.Generic.HashSet`1[System.Runtime.InteropServices.PosixSignalRegistration+Token]>
-;* V23 tmp17 [V23 ] ( 0, 0 ) struct ( 8) zero-ref <System.Threading.ThreadHandle>
+; V23 tmp17 [V23,T12] ( 3, 2.50) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Thread+StartHelper>
;* V24 tmp18 [V24 ] ( 0, 0 ) struct ( 8) zero-ref <System.Threading.ThreadHandle>
-;* V25 tmp19 [V25 ] ( 0, 0 ) int -> zero-ref
-;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
-; V27 tmp21 [V27,T12] ( 5, 1.83) ref -> rbx class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Thread+StartHelper>
-; V28 tmp22 [V28,T13] ( 3, 1.66) ref -> r14 single-def "ISINST eval op1"
-;* V29 tmp23 [V29,T28] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
-;* V30 tmp24 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
-;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref
+;* V25 tmp19 [V25 ] ( 0, 0 ) struct ( 8) zero-ref <System.Threading.ThreadHandle>
+;* V26 tmp20 [V26 ] ( 0, 0 ) int -> zero-ref
+;* V27 tmp21 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
+; V28 tmp22 [V28,T14] ( 5, 1.83) ref -> rbx class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Thread+StartHelper>
+; V29 tmp23 [V29,T15] ( 3, 1.66) ref -> r14 single-def "ISINST eval op1"
+;* V30 tmp24 [V30,T29] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]>
;* V32 tmp26 [V32 ] ( 0, 0 ) ref -> zero-ref
;* V33 tmp27 [V33 ] ( 0, 0 ) ref -> zero-ref
-; V34 tmp28 [V34,T29] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-; V35 tmp29 [V35,T04] ( 3, 4 ) int -> r12 "Single return block return value"
-; V36 PInvokeFrame [V36 ] ( 3, 1.83) struct (64) [rbp-0x70] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-; V37 tmp31 [V37 ] ( 3, 3 ) struct (16) [rbp-0x80] do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-; V38 tmp32 [V38,T26] ( 2, 0.77) ref -> r14 single-def "field V09.Item2 (fldOffset=0x0)" P-INDEP
-; V39 tmp33 [V39,T27] ( 2, 0.77) int -> rbx "field V09.Item1 (fldOffset=0x8)" P-INDEP
-; V40 tmp34 [V40,T23] ( 2, 0.83) ref -> r14 single-def "field V15.Item2 (fldOffset=0x0)" P-INDEP
-; V41 tmp35 [V41,T24] ( 2, 0.83) int -> rbx "field V15.Item1 (fldOffset=0x8)" P-INDEP
-; V42 tmp36 [V42,T25] ( 2, 0.83) long -> rdi "field V23._ptr (fldOffset=0x0)" P-INDEP
-;* V43 tmp37 [V43 ] ( 0, 0 ) long -> zero-ref "field V24._ptr (fldOffset=0x0)" P-INDEP
-; V44 tmp38 [V44,T30] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V45 PSPSym [V45,T22] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
-;* V46 cse0 [V46,T21] ( 0, 0 ) byref -> zero-ref "CSE #02: moderate"
-; V47 cse1 [V47,T15] ( 3, 1.56) int -> r12 "CSE #06: moderate"
+;* V34 tmp28 [V34 ] ( 0, 0 ) ref -> zero-ref
+; V35 tmp29 [V35,T30] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+; V36 tmp30 [V36,T04] ( 3, 4 ) int -> r12 "Single return block return value"
+; V37 PInvokeFrame [V37 ] ( 3, 1.83) struct (64) [rbp-0x70] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+; V38 tmp32 [V38 ] ( 3, 3 ) struct (16) [rbp-0x80] do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+; V39 tmp33 [V39,T27] ( 2, 0.77) ref -> r14 single-def "field V09.Item2 (fldOffset=0x0)" P-INDEP
+; V40 tmp34 [V40,T28] ( 2, 0.77) int -> rbx "field V09.Item1 (fldOffset=0x8)" P-INDEP
+; V41 tmp35 [V41,T24] ( 2, 0.83) ref -> r14 single-def "field V15.Item2 (fldOffset=0x0)" P-INDEP
+; V42 tmp36 [V42,T25] ( 2, 0.83) int -> rbx "field V15.Item1 (fldOffset=0x8)" P-INDEP
+; V43 tmp37 [V43,T26] ( 2, 0.83) long -> rdi "field V24._ptr (fldOffset=0x0)" P-INDEP
+;* V44 tmp38 [V44 ] ( 0, 0 ) long -> zero-ref "field V25._ptr (fldOffset=0x0)" P-INDEP
+; V45 tmp39 [V45,T31] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
+; V46 PSPSym [V46,T23] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
+;* V47 cse0 [V47,T22] ( 0, 0 ) byref -> zero-ref "CSE #02: moderate"
+; V48 cse1 [V48,T17] ( 3, 1.56) int -> r12 "CSE #06: moderate"
; TEMP_01 int -> [rbp-0x9C]
; TEMP_02 long -> [rbp-0xA4]
;
; Lcl frame size = 136
G_M16214_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 136
vzeroupper
lea rbp, [rsp+0xB0]
mov qword ptr [rbp-0xB0], rsp
mov ebx, edi
mov r15d, esi
;; size=40 bbWeight=1 PerfScore 9.25
G_M16214_IG02:
lea rdi, [rbp-0x80]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
xor r14, r14
mov rsi, 0xD1FFAB1E ; global ptr
test byte ptr [rsi], 1
je G_M16214_IG27
;; size=31 bbWeight=1 PerfScore 6.00
G_M16214_IG03:
mov rsi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration:s_registrations
mov rdi, gword ptr [rsi]
mov gword ptr [rbp-0x90], rdi
xor esi, esi
mov dword ptr [rbp-0x30], esi
;; size=25 bbWeight=1 PerfScore 4.50
G_M16214_IG04:
cmp byte ptr [rbp-0x30], 0
jne SHORT G_M16214_IG06
lea rsi, [rbp-0x30]
call System.Threading.Monitor:ReliableEnter(System.Object,byref)
mov rdi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration:s_registrations
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
mov esi, ebx
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this
call [rax]System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this
test rax, rax
je SHORT G_M16214_IG07
;; size=50 bbWeight=1 PerfScore 14.50
G_M16214_IG05:
mov r13, gword ptr [rax]
mov r12d, dword ptr [r13+0x28]
sub r12d, dword ptr [r13+0x30]
movsxd rsi, r12d
mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.PosixSignalRegistration+Token[]
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
mov ecx, r12d
mov rdi, r13
mov rsi, r14
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.HashSet`1[System.__Canon]:CopyTo(System.__Canon[],int,int):this
call [rax]System.Collections.Generic.HashSet`1[System.__Canon]:CopyTo(System.__Canon[],int,int):this
jmp SHORT G_M16214_IG07
;; size=57 bbWeight=0.52 PerfScore 7.80
G_M16214_IG06:
mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException()
call [rax]System.Threading.Monitor:ThrowLockTakenException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M16214_IG07:
cmp byte ptr [rbp-0x30], 0
je SHORT G_M16214_IG09
;; size=6 bbWeight=1 PerfScore 3.00
G_M16214_IG08:
mov rdi, gword ptr [rbp-0x90]
call System.Threading.Monitor:Exit(System.Object)
;; size=12 bbWeight=0.52 PerfScore 1.04
G_M16214_IG09:
mov gword ptr [rbp-0x88], r14
test r14, r14
je G_M16214_IG26
;; size=16 bbWeight=1 PerfScore 2.25
G_M16214_IG10:
add r15d, 4
cmp r15d, 2
ja G_M16214_IG23
;; size=14 bbWeight=0.80 PerfScore 1.20
G_M16214_IG11:
mov rdi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration+<>O:<0>__HandleSignal
mov r15, gword ptr [rdi]
test r15, r15
jne SHORT G_M16214_IG13
;; size=18 bbWeight=0.42 PerfScore 1.46
G_M16214_IG12:
mov rdi, 0xD1FFAB1E ; System.Threading.ParameterizedThreadStart
call CORINFO_HELP_NEWSFAST
mov r15, rax
lea rdi, bword ptr [r15+0x08]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; function address
mov qword ptr [r15+0x18], rdi
mov rdi, 0xD1FFAB1E ; code for System.Runtime.InteropServices.PosixSignalRegistration:<OnPosixSignal>g__HandleSignal|10_0(System.Object)
mov qword ptr [r15+0x20], rdi
mov rdi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration+<>O:<0>__HandleSignal
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
;; size=76 bbWeight=0.22 PerfScore 1.57
G_M16214_IG13:
mov rdi, 0xD1FFAB1E ; System.Threading.Thread
call CORINFO_HELP_NEWFAST
mov r13, rax
mov gword ptr [rbp-0x98], r13
- mov rdi, r13
+ test r15, r15
+ je G_M16214_IG28
+ mov rdi, 0xD1FFAB1E ; System.Threading.Thread+StartHelper
+ call CORINFO_HELP_NEWSFAST
+ mov r12, rax
+ lea rdi, bword ptr [r12+0x08]
mov rsi, r15
- mov rax, 0xD1FFAB1E ; code for System.Threading.Thread:.ctor(System.Threading.ParameterizedThreadStart):this
- call [rax]System.Threading.Thread:.ctor(System.Threading.ParameterizedThreadStart):this
+ call CORINFO_HELP_ASSIGN_REF
+ lea rdi, bword ptr [r13+0x20]
+ mov rsi, r12
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, r13
+ call System.Threading.Thread:Initialize():this
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Threading.Thread:GetNativeHandle():System.Threading.ThreadHandle:this
call [rax]System.Threading.Thread:GetNativeHandle():System.Threading.ThreadHandle:this
mov rdi, rax
mov qword ptr [rbp-0xA4], rdi
mov esi, 1
mov dword ptr [rbp-0x9C], esi
lea rdi, [rbp-0x70]
- ;; size=83 bbWeight=0.42 PerfScore 5.30
+ ;; size=125 bbWeight=0.42 PerfScore 6.86
G_M16214_IG14:
call CORINFO_HELP_JIT_PINVOKE_BEGIN
mov rax, 0xD1FFAB1E ; function address
mov rdi, qword ptr [rbp-0xA4]
mov esi, dword ptr [rbp-0x9C]
;; size=28 bbWeight=0.42 PerfScore 1.35
G_M16214_IG15:
call rax ; System.Threading.Thread:SetIsBackground(System.Threading.ThreadHandle,int)
lea rdi, [rbp-0x70]
call CORINFO_HELP_JIT_PINVOKE_END
mov r13, gword ptr [rbp-0x98]
mov rdi, r13
mov rsi, 0xD1FFAB1E ; '.NET Signal Handler'
mov rax, 0xD1FFAB1E ; code for System.Threading.Thread:set_Name(System.String):this
call [rax]System.Threading.Thread:set_Name(System.String):this
mov r14, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]
call CORINFO_HELP_NEWSFAST
mov r15, rax
lea rdi, bword ptr [r15+0x08]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r15+0x10], ebx
mov rbx, gword ptr [r13+0x20]
test rbx, rbx
je SHORT G_M16214_IG18
;; size=93 bbWeight=0.42 PerfScore 7.38
G_M16214_IG16:
mov r14, gword ptr [rbx+0x08]
test r14, r14
jne SHORT G_M16214_IG22
;; size=9 bbWeight=0.33 PerfScore 1.08
G_M16214_IG17:
lea rdi, bword ptr [rbx+0x10]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov gword ptr [rbx+0x28], rdi
;; size=18 bbWeight=0.33 PerfScore 1.00
G_M16214_IG18:
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Threading.Thread:StartCore():this
call [rax]System.Threading.Thread:StartCore():this
;; size=15 bbWeight=0.42 PerfScore 1.46
G_M16214_IG19:
mov r12d, 1
;; size=6 bbWeight=0.80 PerfScore 0.20
G_M16214_IG20:
lea rdi, [rbp-0x80]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
mov eax, r12d
;; size=12 bbWeight=1 PerfScore 1.75
G_M16214_IG21:
add rsp, 136
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
G_M16214_IG22:
mov rdi, 0xD1FFAB1E ; System.Threading.ThreadStart
cmp qword ptr [r14], rdi
- je G_M16214_IG28
+ je G_M16214_IG29
jmp SHORT G_M16214_IG17
;; size=21 bbWeight=0.17 PerfScore 1.04
G_M16214_IG23:
mov rdi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration+<>O:<1>__HandleSignal
mov r15, gword ptr [rdi]
test r15, r15
jne SHORT G_M16214_IG25
;; size=18 bbWeight=0.38 PerfScore 1.34
G_M16214_IG24:
mov rdi, 0xD1FFAB1E ; System.Threading.WaitCallback
call CORINFO_HELP_NEWSFAST
mov r15, rax
lea rdi, bword ptr [r15+0x08]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; function address
mov qword ptr [r15+0x18], rdi
mov rdi, 0xD1FFAB1E ; code for System.Runtime.InteropServices.PosixSignalRegistration:<OnPosixSignal>g__HandleSignal|10_0(System.Object)
mov qword ptr [r15+0x20], rdi
mov rdi, 0xD1FFAB1E ; data for System.Runtime.InteropServices.PosixSignalRegistration+<>O:<1>__HandleSignal
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
;; size=76 bbWeight=0.20 PerfScore 1.45
G_M16214_IG25:
mov r14, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.ValueTuple`2[int,System.Runtime.InteropServices.PosixSignalRegistration+Token[]]
call CORINFO_HELP_NEWSFAST
mov r13, rax
lea rdi, bword ptr [r13+0x08]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r13+0x10], ebx
mov rsi, r13
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Threading.ThreadPool:UnsafeQueueUserWorkItem(System.Threading.WaitCallback,System.Object):ubyte
call [rax]System.Threading.ThreadPool:UnsafeQueueUserWorkItem(System.Threading.WaitCallback,System.Object):ubyte
jmp G_M16214_IG19
;; size=64 bbWeight=0.38 PerfScore 4.22
G_M16214_IG26:
xor r12d, r12d
jmp G_M16214_IG20
;; size=8 bbWeight=0.20 PerfScore 0.45
G_M16214_IG27:
mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.PosixSignalRegistration
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M16214_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M16214_IG28:
+ mov edi, 0x134EC
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rdi, rax
+ mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
+ call [rax]System.ArgumentNullException:Throw(System.String)
+ int3
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M16214_IG29:
mov rdi, 0xD1FFAB1E ; System.InvalidOperationException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_InvalidOperation_ThreadWrongThreadStart():System.String
call [rax]System.SR:get_InvalidOperation_ThreadWrongThreadStart():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.InvalidOperationException:.ctor(System.String):this
call [rax]System.InvalidOperationException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M16214_IG29:
+G_M16214_IG30:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
vzeroupper
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0xB0]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M16214_IG30:
+G_M16214_IG31:
cmp byte ptr [rbp-0x30], 0
- je SHORT G_M16214_IG31
+ je SHORT G_M16214_IG32
mov rdi, gword ptr [rbp-0x90]
call System.Threading.Monitor:Exit(System.Object)
;; size=18 bbWeight=0 PerfScore 0.00
-G_M16214_IG31:
+G_M16214_IG32:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M16214_IG32:
+G_M16214_IG33:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 966, prolog size 40, PerfScore 84.85, instruction count 216, allocated bytes for code 966 (MethodHash=a627c0a9) for method System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int (FullOpts)
+; Total bytes of code 1044, prolog size 40, PerfScore 86.41, instruction count 232, allocated bytes for code 1044 (MethodHash=a627c0a9) for method System.Runtime.InteropServices.PosixSignalRegistration:OnPosixSignal(int,int):int (FullOpts)
69 (6.39 % of base) - System.Security.Cryptography.ProtectedData:ProtectOrUnprotect(ubyte[],ubyte[],int,ubyte):ubyte[]
; Assembly listing for method System.Security.Cryptography.ProtectedData:ProtectOrUnprotect(ubyte[],ubyte[],int,ubyte):ubyte[] (Tier0-FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier-0 switched to FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 3 inlinees without PGO data
+; 0 inlinees with PGO data; 13 single block inlinees; 11 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T02] ( 5, 4.52) ref -> r15 class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T01] ( 8, 6.29) ref -> rbx class-hnd single-def <ubyte[]>
; V02 arg2 [V02,T05] ( 3, 3 ) int -> r13 single-def
; V03 arg3 [V03,T04] ( 4, 3.52) ubyte -> r14 single-def
-; V04 loc0 [V04,T15] ( 3, 2 ) long -> rax
-; V05 loc1 [V05,T25] ( 3, 1.52) long -> rcx
+; V04 loc0 [V04,T16] ( 3, 2 ) long -> rax
+; V05 loc1 [V05,T28] ( 3, 1.52) long -> rcx
; V06 loc2 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] must-init pinned class-hnd single-def <ubyte[]>
; V07 loc3 [V07 ] ( 1, 1 ) ref -> [rbp-0x38] must-init pinned class-hnd single-def <ubyte[]>
; V08 loc4 [V08 ] ( 4, 3 ) struct (16) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed ld-addr-op <Interop+Crypt32+DATA_BLOB>
; V09 loc5 [V09 ] ( 5, 3.04) struct (16) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op <Interop+Crypt32+DATA_BLOB>
; V10 loc6 [V10,T06] ( 5, 4 ) int -> rbx
; V11 loc7 [V11 ] ( 15, 5.67) struct (16) [rbp-0x68] do-not-enreg[XS] must-init addr-exposed ld-addr-op <Interop+Crypt32+DATA_BLOB>
-; V12 loc8 [V12,T27] ( 3, 1.44) int -> r14 single-def
-; V13 loc9 [V13,T26] ( 3, 1.44) ref -> rbx class-hnd exact single-def <ubyte[]>
-; V14 loc10 [V14,T29] ( 4, 1.31) int -> rax single-def
-; V15 loc11 [V15,T35] ( 2, 0.96) ref -> rbx class-hnd exact single-def <ubyte[]>
+; V12 loc8 [V12,T10] ( 5, 1.79) int -> r14 single-def
+; V13 loc9 [V13,T25] ( 4, 1.79) ref -> rbx class-hnd exact single-def <ubyte[]>
+; V14 loc10 [V14,T30] ( 4, 1.31) int -> rax single-def
+; V15 loc11 [V15,T36] ( 2, 0.96) ref -> rbx class-hnd exact single-def <ubyte[]>
; V16 loc12 [V16,T08] ( 6, 2.75) int -> r15
; V17 loc13 [V17,T09] ( 4, 2.50) long -> r14
; V18 loc14 [V18,T00] ( 10, 9.24) int -> r13
; V19 OutArgs [V19 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V20 tmp1 [V20,T07] ( 6, 3.77) ref -> rdi
-; V21 tmp2 [V21,T16] ( 3, 2 ) int -> rax
-; V22 tmp3 [V22,T39] ( 3, 0 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.OutOfMemoryException>
-; V23 tmp4 [V23,T40] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V21 tmp2 [V21,T17] ( 3, 2 ) int -> rax
+; V22 tmp3 [V22,T45] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.OutOfMemoryException>
+; V23 tmp4 [V23,T46] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
;* V24 tmp5 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V25 tmp6 [V25 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V26 tmp7 [V26,T30] ( 2, 1.04) ubyte -> rax single-def "Inline return value spill temp"
+; V26 tmp7 [V26,T31] ( 2, 1.04) ubyte -> rax single-def "Inline return value spill temp"
;* V27 tmp8 [V27 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
;* V28 tmp9 [V28 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V29 tmp10 [V29 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
;* V30 tmp11 [V30 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V31 tmp12 [V31 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-; V32 tmp13 [V32,T10] ( 2, 2.08) int -> rbx "impAppendStmt"
-; V33 tmp14 [V33,T31] ( 2, 1.04) int -> rdi single-def "Inline stloc first use temp"
-; V34 tmp15 [V34,T36] ( 2, 0.96) ubyte -> rax single-def "Inline return value spill temp"
+; V32 tmp13 [V32,T11] ( 2, 2.08) int -> rbx "impAppendStmt"
+; V33 tmp14 [V33,T32] ( 2, 1.04) int -> rdi single-def "Inline stloc first use temp"
+; V34 tmp15 [V34,T38] ( 2, 0.96) ubyte -> rax single-def "Inline return value spill temp"
;* V35 tmp16 [V35 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
;* V36 tmp17 [V36 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V37 tmp18 [V37 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
;* V38 tmp19 [V38 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V39 tmp20 [V39 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
;* V40 tmp21 [V40 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V41 tmp22 [V41 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-; V42 tmp23 [V42,T18] ( 2, 1.92) int -> r12 "impAppendStmt"
-; V43 tmp24 [V43,T37] ( 2, 0.96) int -> rdi single-def "Inline stloc first use temp"
+; V42 tmp23 [V42,T19] ( 2, 1.92) int -> r12 "impAppendStmt"
+; V43 tmp24 [V43,T39] ( 2, 0.96) int -> rdi single-def "Inline stloc first use temp"
;* V44 tmp25 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "Inline return value spill temp"
-;* V45 tmp26 [V45,T38] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V46 tmp27 [V46,T19] ( 2, 1.92) long -> rdi "Inlining Arg"
-; V47 tmp28 [V47,T28] ( 6, 1.40) long -> rdi "Inlining Arg"
-; V48 tmp29 [V48,T17] ( 2, 1.92) ref -> rax single-def "Single return block return value"
-; V49 FramesRoot [V49,T03] ( 10, 6 ) long -> r12 "Pinvoke FrameListRoot"
-; V50 PInvokeFrame [V50 ] ( 12, 8 ) struct (64) [rbp-0xA8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
-; V51 tmp32 [V51 ] ( 3, 2 ) int -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V08.cbData (fldOffset=0x0)" P-DEP
-; V52 tmp33 [V52 ] ( 3, 2 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V08.pbData (fldOffset=0x8)" P-DEP
-; V53 tmp34 [V53 ] ( 4, 2.52) int -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V09.cbData (fldOffset=0x0)" P-DEP
-; V54 tmp35 [V54 ] ( 4, 2.52) long -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V09.pbData (fldOffset=0x8)" P-DEP
-; V55 tmp36 [V55 ] ( 7, 3.73) int -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V11.cbData (fldOffset=0x0)" P-DEP
-; V56 tmp37 [V56 ] ( 12, 4.94) long -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V11.pbData (fldOffset=0x8)" P-DEP
-; V57 tmp38 [V57,T33] ( 2, 1.00) long -> rax "Cast away GC"
-; V58 tmp39 [V58,T34] ( 2, 1.00) long -> rcx "Cast away GC"
-; V59 tmp40 [V59,T20] ( 2, 1.92) long -> r15 "Cast away GC"
-; V60 tmp41 [V60,T21] ( 2, 1.92) long -> r13 "Cast away GC"
-; V61 tmp42 [V61,T22] ( 2, 1.92) long -> [rbp-0xB0] spill-single-def "Cast away GC"
-; V62 tmp43 [V62,T23] ( 2, 1.92) long -> rdi "Cast away GC"
-; V63 tmp44 [V63,T24] ( 2, 1.92) long -> rdi "argument with side effect"
-; V64 tmp45 [V64,T11] ( 2, 2.08) long -> r15 "Cast away GC"
-; V65 tmp46 [V65,T12] ( 2, 2.08) long -> r13 "Cast away GC"
-; V66 tmp47 [V66,T13] ( 2, 2.08) long -> rdi "Cast away GC"
-; V67 tmp48 [V67,T14] ( 2, 2.08) long -> rdi "argument with side effect"
-; V68 tmp49 [V68,T41] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V69 PSPSym [V69,T32] ( 1, 1 ) long -> [rbp-0xB8] do-not-enreg[V] "PSPSym"
+;* V45 tmp26 [V45,T44] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V46 tmp27 [V46,T27] ( 2, 1.66) long -> rsi "Inlining Arg"
+;* V47 tmp28 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V48 tmp29 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
+;* V49 tmp30 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
+;* V50 tmp31 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
+;* V51 tmp32 [V51 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V52 tmp33 [V52 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V53 tmp34 [V53 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V54 tmp35 [V54,T29] ( 6, 1.40) long -> rdi "Inlining Arg"
+; V55 tmp36 [V55,T18] ( 2, 1.92) ref -> rax single-def "Single return block return value"
+; V56 FramesRoot [V56,T03] ( 10, 6 ) long -> r12 "Pinvoke FrameListRoot"
+; V57 PInvokeFrame [V57 ] ( 12, 8 ) struct (64) [rbp-0xA8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+; V58 tmp39 [V58 ] ( 3, 2 ) int -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V08.cbData (fldOffset=0x0)" P-DEP
+; V59 tmp40 [V59 ] ( 3, 2 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V08.pbData (fldOffset=0x8)" P-DEP
+; V60 tmp41 [V60 ] ( 4, 2.52) int -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V09.cbData (fldOffset=0x0)" P-DEP
+; V61 tmp42 [V61 ] ( 4, 2.52) long -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V09.pbData (fldOffset=0x8)" P-DEP
+; V62 tmp43 [V62 ] ( 7, 3.73) int -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V11.cbData (fldOffset=0x0)" P-DEP
+; V63 tmp44 [V63 ] ( 12, 4.94) long -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V11.pbData (fldOffset=0x8)" P-DEP
+; V64 tmp45 [V64,T41] ( 2, 0.70) byref -> rsi single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V65 tmp46 [V65,T43] ( 0, 0 ) int -> zero-ref single-def "field V47._length (fldOffset=0x8)" P-INDEP
+; V66 tmp47 [V66,T40] ( 2, 0.83) byref -> rsi single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+; V67 tmp48 [V67,T26] ( 3, 1.18) int -> r14 single-def "field V48._length (fldOffset=0x8)" P-INDEP
+; V68 tmp49 [V68,T37] ( 2, 0.96) byref -> rdi single-def "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp50 [V69,T42] ( 0, 0 ) int -> zero-ref single-def "field V49._length (fldOffset=0x8)" P-INDEP
+;* V70 tmp51 [V70 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp52 [V71 ] ( 0, 0 ) int -> zero-ref single-def "field V50._length (fldOffset=0x8)" P-INDEP
+; V72 tmp53 [V72,T34] ( 2, 1.00) long -> rax "Cast away GC"
+; V73 tmp54 [V73,T35] ( 2, 1.00) long -> rcx "Cast away GC"
+; V74 tmp55 [V74,T20] ( 2, 1.92) long -> r15 "Cast away GC"
+; V75 tmp56 [V75,T21] ( 2, 1.92) long -> r13 "Cast away GC"
+; V76 tmp57 [V76,T22] ( 2, 1.92) long -> [rbp-0xB0] spill-single-def "Cast away GC"
+; V77 tmp58 [V77,T23] ( 2, 1.92) long -> rdi "Cast away GC"
+; V78 tmp59 [V78,T24] ( 2, 1.92) long -> rdi "argument with side effect"
+; V79 tmp60 [V79,T12] ( 2, 2.08) long -> r15 "Cast away GC"
+; V80 tmp61 [V80,T13] ( 2, 2.08) long -> r13 "Cast away GC"
+; V81 tmp62 [V81,T14] ( 2, 2.08) long -> rdi "Cast away GC"
+; V82 tmp63 [V82,T15] ( 2, 2.08) long -> rdi "argument with side effect"
+; V83 tmp64 [V83,T47] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
+; V84 tmp65 [V84,T48] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
+; V85 PSPSym [V85,T33] ( 1, 1 ) long -> [rbp-0xB8] do-not-enreg[V] "PSPSym"
;
; Lcl frame size = 152
G_M9301_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 152
vzeroupper
lea rbp, [rsp+0xC0]
xor eax, eax
mov qword ptr [rbp-0x68], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
vmovdqa xmmword ptr [rbp-0x40], xmm8
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0xB8], rsp
mov r15, rdi
mov rbx, rsi
mov r13d, edx
mov r14d, ecx
;; size=72 bbWeight=1 PerfScore 16.33
G_M9301_IG02:
lea rdi, [rbp-0xA0]
call CORINFO_HELP_INIT_PINVOKE_FRAME
mov r12, rax
mov rdi, rsp
mov qword ptr [rbp-0x88], rdi
mov rdi, rbp
mov qword ptr [rbp-0x78], rdi
cmp dword ptr [r15+0x08], 0
je SHORT G_M9301_IG13
;; size=39 bbWeight=1 PerfScore 8.25
G_M9301_IG03:
mov rdi, r15
;; size=3 bbWeight=0.52 PerfScore 0.13
G_M9301_IG04:
mov gword ptr [rbp-0x30], rdi
test rdi, rdi
je SHORT G_M9301_IG06
;; size=9 bbWeight=1 PerfScore 2.25
G_M9301_IG05:
cmp dword ptr [rdi+0x08], 0
jne SHORT G_M9301_IG15
;; size=6 bbWeight=0.52 PerfScore 2.08
G_M9301_IG06:
xor eax, eax
;; size=2 bbWeight=0.75 PerfScore 0.19
G_M9301_IG07:
mov gword ptr [rbp-0x38], rbx
test rbx, rbx
je SHORT G_M9301_IG09
;; size=9 bbWeight=1 PerfScore 2.25
G_M9301_IG08:
cmp dword ptr [rbx+0x08], 0
jne SHORT G_M9301_IG16
;; size=6 bbWeight=0.52 PerfScore 2.08
G_M9301_IG09:
xor ecx, ecx
;; size=2 bbWeight=0.75 PerfScore 0.19
G_M9301_IG10:
mov edi, dword ptr [r15+0x08]
mov dword ptr [rbp-0x48], edi
mov qword ptr [rbp-0x40], rax
vxorps xmm0, xmm0, xmm0
vmovups xmmword ptr [rbp-0x58], xmm0
test rbx, rbx
je SHORT G_M9301_IG12
;; size=25 bbWeight=1 PerfScore 6.58
G_M9301_IG11:
mov eax, dword ptr [rbx+0x08]
mov dword ptr [rbp-0x58], eax
mov qword ptr [rbp-0x50], rcx
;; size=10 bbWeight=0.52 PerfScore 2.08
G_M9301_IG12:
mov ebx, 1
mov ecx, 5
cmp r13d, 1
cmove ebx, ecx
vxorps xmm0, xmm0, xmm0
vmovups xmmword ptr [rbp-0x68], xmm0
jmp SHORT G_M9301_IG17
;; size=28 bbWeight=1 PerfScore 4.33
G_M9301_IG13:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M9301_IG46
+ je G_M9301_IG50
;; size=19 bbWeight=0.48 PerfScore 2.04
G_M9301_IG14:
mov rdi, 0xD1FFAB1E ; data for System.Security.Cryptography.ProtectedData:s_nonEmpty
mov rdi, gword ptr [rdi]
jmp G_M9301_IG04
;; size=18 bbWeight=0.48 PerfScore 2.04
G_M9301_IG15:
add rdi, 16
mov rax, rdi
jmp SHORT G_M9301_IG07
;; size=9 bbWeight=0.25 PerfScore 0.62
G_M9301_IG16:
lea rcx, bword ptr [rbx+0x10]
jmp SHORT G_M9301_IG10
;; size=6 bbWeight=0.25 PerfScore 0.62
G_M9301_IG17:
vxorps xmm0, xmm0, xmm0
vmovups xmmword ptr [rbp-0x68], xmm0
test r14b, r14b
jne G_M9301_IG28
;; size=18 bbWeight=1 PerfScore 2.58
G_M9301_IG18:
lea r15, bword ptr [rbp-0x68]
lea r13, bword ptr [rbp-0x58]
xor edi, edi
mov rax, 0xD1FFAB1E ; function address
;; size=20 bbWeight=0.52 PerfScore 0.78
G_M9301_IG19:
call rax ; Interop+Sys:SetErrNo(int)
lea rdi, bword ptr [rbp-0x48]
mov qword ptr [rsp], r15
mov rdx, r13
mov r9d, ebx
xor esi, esi
xor ecx, ecx
xor r8d, r8d
mov rax, 0xD1FFAB1E ; function address
mov qword ptr [rbp-0x90], rax
lea rax, G_M9301_IG22
mov qword ptr [rbp-0x80], rax
lea rax, [rbp-0xA0]
mov qword ptr [r12+0x08], rax
mov byte ptr [r12+0x04], 0
;; size=69 bbWeight=0.52 PerfScore 5.98
G_M9301_IG20:
mov rax, 0xD1FFAB1E ; code for Interop+Crypt32:<CryptUnprotectData>g____PInvoke|1_0(ulong,long,ulong,long,long,int,ulong):int
;; size=10 bbWeight=0.52 PerfScore 0.13
G_M9301_IG21:
call [rax]Interop+Crypt32:<CryptUnprotectData>g____PInvoke|1_0(ulong,long,ulong,long,long,int,ulong):int
;; size=2 bbWeight=0.52 PerfScore 1.56
G_M9301_IG22:
mov byte ptr [r12+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M9301_IG23
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=33 bbWeight=0.52 PerfScore 4.42
G_M9301_IG23:
mov rcx, qword ptr [rbp-0x98]
mov qword ptr [r12+0x08], rcx
mov ebx, eax
mov rax, 0xD1FFAB1E ; function address
;; size=24 bbWeight=0.52 PerfScore 1.30
G_M9301_IG24:
call rax ; Interop+Sys:GetErrNo():int
mov edi, eax
call System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int)
test ebx, ebx
setne al
movzx rax, al
;; size=17 bbWeight=0.52 PerfScore 2.99
G_M9301_IG25:
test eax, eax
jne G_M9301_IG35
;; size=8 bbWeight=1 PerfScore 1.25
G_M9301_IG26:
call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int
test r14b, r14b
- je G_M9301_IG37
+ je G_M9301_IG39
cmp eax, 0xD1FFAB1E
- je G_M9301_IG36
+ je G_M9301_IG38
;; size=25 bbWeight=0.52 PerfScore 1.82
G_M9301_IG27:
cmp eax, 2
- jne G_M9301_IG37
- jmp G_M9301_IG36
+ jne G_M9301_IG39
+ jmp G_M9301_IG38
;; size=14 bbWeight=0.27 PerfScore 0.88
G_M9301_IG28:
lea r15, bword ptr [rbp-0x68]
lea r13, bword ptr [rbp-0x58]
xor rax, rax
mov qword ptr [rbp-0xB0], rax
xor edi, edi
mov rcx, 0xD1FFAB1E ; function address
;; size=29 bbWeight=0.48 PerfScore 1.32
G_M9301_IG29:
call rcx ; Interop+Sys:SetErrNo(int)
lea rdi, bword ptr [rbp-0x48]
mov qword ptr [rsp], r15
mov rsi, qword ptr [rbp-0xB0]
mov rdx, r13
mov r9d, ebx
xor ecx, ecx
xor r8d, r8d
mov rax, 0xD1FFAB1E ; function address
mov qword ptr [rbp-0x90], rax
lea rax, G_M9301_IG32
mov qword ptr [rbp-0x80], rax
lea rax, [rbp-0xA0]
mov qword ptr [r12+0x08], rax
mov byte ptr [r12+0x04], 0
;; size=74 bbWeight=0.48 PerfScore 5.88
G_M9301_IG30:
mov rax, 0xD1FFAB1E ; code for Interop+Crypt32:<CryptProtectData>g____PInvoke|0_0(ulong,ulong,ulong,long,long,int,ulong):int
;; size=10 bbWeight=0.48 PerfScore 0.12
G_M9301_IG31:
call [rax]Interop+Crypt32:<CryptProtectData>g____PInvoke|0_0(ulong,ulong,ulong,long,long,int,ulong):int
;; size=2 bbWeight=0.48 PerfScore 1.44
G_M9301_IG32:
mov byte ptr [r12+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M9301_IG33
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=33 bbWeight=0.48 PerfScore 4.08
G_M9301_IG33:
mov rcx, qword ptr [rbp-0x98]
mov qword ptr [r12+0x08], rcx
mov r12d, eax
mov rax, 0xD1FFAB1E ; function address
;; size=25 bbWeight=0.48 PerfScore 1.20
G_M9301_IG34:
call rax ; Interop+Sys:GetErrNo():int
mov edi, eax
call System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int)
test r12d, r12d
setne al
movzx rax, al
jmp G_M9301_IG25
;; size=23 bbWeight=0.48 PerfScore 3.72
G_M9301_IG35:
cmp qword ptr [rbp-0x60], 0
- je G_M9301_IG38
+ je G_M9301_IG42
mov r14d, dword ptr [rbp-0x68]
movsxd rsi, r14d
mov rdi, 0xD1FFAB1E ; ubyte[]
call CORINFO_HELP_NEWARR_1_VC
mov rbx, rax
- mov rdi, qword ptr [rbp-0x60]
- mov rsi, rbx
- mov ecx, r14d
- xor edx, edx
- mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
- call [rax]System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
- jmp SHORT G_M9301_IG39
- ;; size=62 bbWeight=0.48 PerfScore 6.12
+ mov rsi, qword ptr [rbp-0x60]
+ test r14d, r14d
+ jl SHORT G_M9301_IG40
+ ;; size=45 bbWeight=0.48 PerfScore 3.84
G_M9301_IG36:
+ cmp dword ptr [rbx+0x08], r14d
+ jb G_M9301_IG41
+ ;; size=10 bbWeight=0.35 PerfScore 1.40
+G_M9301_IG37:
+ lea rdi, bword ptr [rbx+0x10]
+ mov edx, r14d
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+ call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
+ jmp G_M9301_IG43
+ ;; size=24 bbWeight=0.48 PerfScore 2.88
+G_M9301_IG38:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.CryptographicException
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_Cryptography_DpApi_ProfileMayNotBeLoaded():System.String
call [rax]System.SR:get_Cryptography_DpApi_ProfileMayNotBeLoaded():System.String
mov rsi, rax
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
call [rax]System.Security.Cryptography.CryptographicException:.ctor(System.String):this
mov rdi, r15
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M9301_IG37:
+G_M9301_IG39:
mov edi, eax
mov rax, 0xD1FFAB1E ; code for Internal.Cryptography.CryptoThrowHelper:ToCryptographicException(int):System.Security.Cryptography.CryptographicException
call [rax]Internal.Cryptography.CryptoThrowHelper:ToCryptographicException(int):System.Security.Cryptography.CryptographicException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=23 bbWeight=0 PerfScore 0.00
-G_M9301_IG38:
+G_M9301_IG40:
+ mov edi, 491
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rsi, rax
+ mov edi, r14d
+ mov rax, 0xD1FFAB1E ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
+ call [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
+ int3
+ ;; size=39 bbWeight=0 PerfScore 0.00
+G_M9301_IG41:
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ int3
+ ;; size=13 bbWeight=0 PerfScore 0.00
+G_M9301_IG42:
mov rdi, 0xD1FFAB1E ; System.OutOfMemoryException
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- mov rdi, r14
+ mov r13, rax
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.OutOfMemoryException:.ctor():this
call [rax]System.OutOfMemoryException:.ctor():this
- mov rdi, r14
+ mov rdi, r13
call CORINFO_HELP_THROW
int3
;; size=42 bbWeight=0 PerfScore 0.00
-G_M9301_IG39:
+G_M9301_IG43:
cmp qword ptr [rbp-0x60], 0
- je SHORT G_M9301_IG44
+ je SHORT G_M9301_IG48
;; size=7 bbWeight=0.48 PerfScore 1.44
-G_M9301_IG40:
+G_M9301_IG44:
mov r15d, dword ptr [rbp-0x68]
mov r14, qword ptr [rbp-0x60]
xor r13d, r13d
test r15d, r15d
- jle SHORT G_M9301_IG42
+ jle SHORT G_M9301_IG46
;; size=16 bbWeight=0.25 PerfScore 0.87
-G_M9301_IG41:
+G_M9301_IG45:
movsxd rdi, r13d
mov byte ptr [r14+rdi], 0
inc r13d
cmp r13d, r15d
- jl SHORT G_M9301_IG41
+ jl SHORT G_M9301_IG45
;; size=16 bbWeight=2.25 PerfScore 6.18
-G_M9301_IG42:
+G_M9301_IG46:
mov rdi, qword ptr [rbp-0x60]
test rdi, rdi
- je SHORT G_M9301_IG44
+ je SHORT G_M9301_IG48
;; size=9 bbWeight=0.25 PerfScore 0.56
-G_M9301_IG43:
+G_M9301_IG47:
call Interop+Sys:Free(ulong)
;; size=5 bbWeight=0.20 PerfScore 0.20
-G_M9301_IG44:
+G_M9301_IG48:
mov rax, rbx
;; size=3 bbWeight=0.48 PerfScore 0.12
-G_M9301_IG45:
+G_M9301_IG49:
add rsp, 152
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.48 PerfScore 2.04
-G_M9301_IG46:
+G_M9301_IG50:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.ProtectedData
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M9301_IG14
;; size=20 bbWeight=0 PerfScore 0.00
-G_M9301_IG47:
+G_M9301_IG51:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 24
vzeroupper
mov rbp, qword ptr [rdi+0x08]
mov qword ptr [rsp+0x08], rbp
lea rbp, [rbp+0xC0]
;; size=33 bbWeight=0 PerfScore 0.00
-G_M9301_IG48:
+G_M9301_IG52:
cmp qword ptr [rbp-0x60], 0
- je SHORT G_M9301_IG51
+ je SHORT G_M9301_IG55
mov r15d, dword ptr [rbp-0x68]
mov r14, qword ptr [rbp-0x60]
xor r13d, r13d
test r15d, r15d
- jle SHORT G_M9301_IG50
+ jle SHORT G_M9301_IG54
;; size=23 bbWeight=0 PerfScore 0.00
-G_M9301_IG49:
+G_M9301_IG53:
movsxd rdi, r13d
mov byte ptr [r14+rdi], 0
inc r13d
cmp r13d, r15d
- jl SHORT G_M9301_IG49
+ jl SHORT G_M9301_IG53
;; size=16 bbWeight=0 PerfScore 0.00
-G_M9301_IG50:
+G_M9301_IG54:
mov rdi, qword ptr [rbp-0x60]
test rdi, rdi
- je SHORT G_M9301_IG51
+ je SHORT G_M9301_IG55
call Interop+Sys:Free(ulong)
;; size=14 bbWeight=0 PerfScore 0.00
-G_M9301_IG51:
+G_M9301_IG55:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M9301_IG52:
+G_M9301_IG56:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1079, prolog size 72, PerfScore 111.06, instruction count 266, allocated bytes for code 1079 (MethodHash=cfb6dbaa) for method System.Security.Cryptography.ProtectedData:ProtectOrUnprotect(ubyte[],ubyte[],int,ubyte):ubyte[] (Tier0-FullOpts)
+; Total bytes of code 1148, prolog size 72, PerfScore 113.06, instruction count 280, allocated bytes for code 1148 (MethodHash=cfb6dbaa) for method System.Security.Cryptography.ProtectedData:ProtectOrUnprotect(ubyte[],ubyte[],int,ubyte):ubyte[] (Tier0-FullOpts)
27 (1.14 % of base) - System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this
; Assembly listing for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (Tier0-FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier-0 switched to FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 50 single block inlinees; 13 inlinees without PGO data
+; 0 inlinees with PGO data; 59 single block inlinees; 18 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T03] ( 22, 12.09) ref -> rbx this class-hnd single-def <System.Net.Security.SslStream>
; V01 arg1 [V01,T07] ( 6, 4.20) ref -> r13 class-hnd single-def <System.Net.Security.RemoteCertificateValidationCallback>
; V02 arg2 [V02,T09] ( 7, 2.51) ref -> r12 class-hnd single-def <System.Net.Security.SslCertificateTrust>
; V03 arg3 [V03,T10] ( 3, 2.45) byref -> [rbp-0x50] single-def
; V04 arg4 [V04,T05] ( 13, 6.90) byref -> r14 single-def
; V05 arg5 [V05,T04] ( 5, 7.18) byref -> r15 single-def
-; V06 loc0 [V06,T16] ( 5, 3.03) ubyte -> r12
+; V06 loc0 [V06,T17] ( 5, 3.03) ubyte -> r12
; V07 loc1 [V07 ] ( 25, 12.23) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Security.Cryptography.X509Certificates.X509Chain>
; V08 loc2 [V08,T14] ( 9, 3.63) ref -> [rbp-0x58] class-hnd spill-single-def <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V09 loc3 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlyMemory`1[ubyte]>
-; V10 loc4 [V10,T72] ( 2, 0.28) ubyte -> [rbp-0x34] do-not-enreg[Z] EH-live
-; V11 loc5 [V11,T19] ( 3, 2.56) ref -> rax class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509ChainStatus[]>
-;* V12 loc6 [V12,T75] ( 0, 0 ) int -> zero-ref
+; V10 loc4 [V10,T73] ( 2, 0.28) ubyte -> [rbp-0x34] do-not-enreg[Z] EH-live
+; V11 loc5 [V11,T20] ( 3, 2.56) ref -> rax class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509ChainStatus[]>
+;* V12 loc6 [V12,T76] ( 0, 0 ) int -> zero-ref
;* V13 loc7 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
; V14 loc8 [V14,T08] ( 6, 5.72) int -> rbx
; V15 loc9 [V15,T01] ( 10, 19.24) int -> r15
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V17 tmp1 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
;* V18 tmp2 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V19 tmp3 [V19,T27] ( 2, 1.65) int -> r12 "impAppendStmt"
;* V20 tmp4 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
; V21 tmp5 [V21,T24] ( 2, 1.65) ref -> [rbp-0x60] class-hnd spill-single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
;* V22 tmp6 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V23 tmp7 [V23 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V24 tmp8 [V24 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V25 tmp9 [V25 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V26 tmp10 [V26,T17] ( 3, 2.68) ref -> r13 class-hnd exact single-def "dup spill" <System.Object[]>
+; V26 tmp10 [V26,T18] ( 3, 2.68) ref -> r13 class-hnd exact single-def "dup spill" <System.Object[]>
; V27 tmp11 [V27,T22] ( 2, 1.79) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V28 tmp12 [V28,T54] ( 2, 0.86) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Security.Cryptography.OidCollection>
+; V28 tmp12 [V28,T56] ( 2, 0.86) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Security.Cryptography.OidCollection>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref single-def
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref
-; V31 tmp15 [V31,T70] ( 3, 0.43) ref -> rsi
+; V31 tmp15 [V31,T71] ( 3, 0.43) ref -> rsi
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
; V33 tmp17 [V33,T35] ( 3, 1.29) ref -> rdi class-hnd single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
; V34 tmp18 [V34,T36] ( 3, 1.29) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
;* V35 tmp19 [V35 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ubyte]>
;* V36 tmp20 [V36 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V37 tmp21 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V38 tmp22 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
;* V39 tmp23 [V39 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
; V40 tmp24 [V40,T42] ( 2, 1.08) ref -> rdi class-hnd single-def "dup spill" <ubyte[]>
; V41 tmp25 [V41,T39] ( 5, 1.16) ref -> rdi
; V42 tmp26 [V42,T33] ( 3, 1.30) ref -> [rbp-0x70] class-hnd spill-single-def "dup spill" <ubyte[]>
;* V43 tmp27 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V44 tmp28 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
; V45 tmp29 [V45,T46] ( 6, 1.07) byref -> [rbp-0x78] "Inline stloc first use temp"
; V46 tmp30 [V46,T41] ( 6, 1.13) int -> [rbp-0x38] "Inline stloc first use temp"
;* V47 tmp31 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V48 tmp32 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V49 tmp33 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V50 tmp34 [V50 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V51 tmp35 [V51 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V52 tmp36 [V52 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V53 tmp37 [V53 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V54 tmp38 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V56 tmp40 [V56,T44] ( 2, 1.08) byref -> rdx single-def "Inlining Arg"
;* V57 tmp41 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-; V58 tmp42 [V58,T15] ( 6, 3.03) ref -> [rbp-0x80] class-hnd spill-single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V58 tmp42 [V58,T16] ( 6, 3.03) ref -> [rbp-0x80] class-hnd spill-single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V59 tmp43 [V59 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
; V60 tmp44 [V60,T43] ( 2, 1.08) ref -> rdi class-hnd single-def "dup spill" <ubyte[]>
; V61 tmp45 [V61,T40] ( 5, 1.16) ref -> rdi
; V62 tmp46 [V62,T34] ( 3, 1.30) ref -> [rbp-0x88] class-hnd spill-single-def "dup spill" <ubyte[]>
;* V63 tmp47 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V64 tmp48 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
; V66 tmp50 [V66,T47] ( 6, 1.07) byref -> rsi "Inline stloc first use temp"
; V67 tmp51 [V67,T31] ( 7, 1.34) int -> rcx "Inline stloc first use temp"
;* V68 tmp52 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V69 tmp53 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V70 tmp54 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V71 tmp55 [V71 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V72 tmp56 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V73 tmp57 [V73 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V74 tmp58 [V74 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V75 tmp59 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V76 tmp60 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V77 tmp61 [V77,T45] ( 2, 1.08) byref -> rsi single-def "Inlining Arg"
;* V78 tmp62 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-; V79 tmp63 [V79,T67] ( 2, 0.42) ubyte -> rax "Inline return value spill temp"
+; V79 tmp63 [V79,T68] ( 2, 0.42) ubyte -> rax "Inline return value spill temp"
;* V80 tmp64 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V81 tmp65 [V81 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V83 tmp67 [V83 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V84 tmp68 [V84 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V85 tmp69 [V85 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
;* V86 tmp70 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V87 tmp71 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V88 tmp72 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V90 tmp74 [V90 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V91 tmp75 [V91 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V92 tmp76 [V92,T60] ( 3, 0.73) ref -> [rbp-0x90] class-hnd exact spill-single-def "impAppendStmt" <System.Net.NetEventSource>
-; V93 tmp77 [V93,T63] ( 2, 0.48) ref -> r12 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V94 tmp78 [V94,T64] ( 2, 0.48) ref -> [rbp-0x98] class-hnd exact spill-single-def "non-inline candidate call" <System.String>
-;* V95 tmp79 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
-; V96 tmp80 [V96,T73] ( 2, 0.24) ref -> rdi single-def
-;* V97 tmp81 [V97,T84] ( 0, 0 ) int -> zero-ref
-; V98 tmp82 [V98,T74] ( 2, 0.24) ref -> rdx single-def
-;* V99 tmp83 [V99,T83] ( 0, 0 ) ref -> zero-ref single-def
-; V100 tmp84 [V100,T65] ( 2, 0.48) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
-; V101 tmp85 [V101,T55] ( 2, 0.86) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Object>
-;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
+; V92 tmp76 [V92,T62] ( 3, 0.73) ref -> [rbp-0x90] class-hnd spill-single-def "Inlining Arg" <System.Object[]>
+; V93 tmp77 [V93,T51] ( 4, 0.97) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V94 tmp78 [V94,T63] ( 3, 0.73) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V95 tmp79 [V95,T66] ( 2, 0.48) ref -> [rbp-0xA0] class-hnd exact spill-single-def "non-inline candidate call" <System.String>
+;* V96 tmp80 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
+; V97 tmp81 [V97,T74] ( 2, 0.24) ref -> rdi single-def
+;* V98 tmp82 [V98,T85] ( 0, 0 ) int -> zero-ref
+; V99 tmp83 [V99,T75] ( 2, 0.24) ref -> rdx single-def
+;* V100 tmp84 [V100,T84] ( 0, 0 ) ref -> zero-ref single-def
+; V101 tmp85 [V101,T67] ( 2, 0.48) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
+; V102 tmp86 [V102,T57] ( 2, 0.86) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Object>
;* V103 tmp87 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V104 tmp88 [V104,T56] ( 2, 0.86) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
-;* V105 tmp89 [V105 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V106 tmp90 [V106,T58] ( 2, 0.79) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
-; V107 tmp91 [V107,T71] ( 2, 0.41) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
-;* V108 tmp92 [V108 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.OidCollection>
-; V109 tmp93 [V109,T57] ( 2, 0.86) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-;* V110 tmp94 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
+;* V104 tmp88 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
+; V105 tmp89 [V105,T58] ( 2, 0.86) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
+; V107 tmp91 [V107,T60] ( 2, 0.79) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+; V108 tmp92 [V108,T72] ( 2, 0.41) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+;* V109 tmp93 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.OidCollection>
+; V110 tmp94 [V110,T59] ( 2, 0.86) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V111 tmp95 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V112 tmp96 [V112 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-;* V113 tmp97 [V113 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V113 tmp97 [V113 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V114 tmp98 [V114 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V115 tmp99 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V116 tmp100 [V116 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-;* V117 tmp101 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V118 tmp102 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V119 tmp103 [V119,T21] ( 3, 2.22) ref -> r13 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V120 tmp104 [V120,T30] ( 3, 1.34) ref -> [rbp-0xA0] spill-single-def
-; V121 tmp105 [V121,T51] ( 2, 0.89) ref -> [rbp-0xA8] spill-single-def
-;* V122 tmp106 [V122 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V115 tmp99 [V115 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V116 tmp100 [V116 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+;* V117 tmp101 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
+;* V118 tmp102 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
+; V119 tmp103 [V119,T15] ( 4, 3.58) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V120 tmp104 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V121 tmp105 [V121,T52] ( 2, 0.89) ref -> r13 single-def
+; V122 tmp106 [V122,T53] ( 2, 0.89) ref -> rax single-def
;* V123 tmp107 [V123 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V124 tmp108 [V124 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V125 tmp109 [V125 ] ( 0, 0 ) ref -> zero-ref single-def
-; V126 tmp110 [V126,T50] ( 3, 0.89) ref -> r8
-; V127 tmp111 [V127,T52] ( 2, 0.89) ref -> rdi single-def
-;* V128 tmp112 [V128,T69] ( 0, 0 ) int -> zero-ref
-; V129 tmp113 [V129,T53] ( 2, 0.89) ref -> rdx single-def
-;* V130 tmp114 [V130,T68] ( 0, 0 ) ref -> zero-ref single-def
-;* V131 tmp115 [V131 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
-;* V132 tmp116 [V132 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
-;* V133 tmp117 [V133 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V134 tmp118 [V134,T12] ( 8, 4.16) ref -> r14 class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Chain>
-;* V135 tmp119 [V135 ] ( 0, 0 ) ref -> zero-ref "field V09._object (fldOffset=0x0)" P-INDEP
-;* V136 tmp120 [V136 ] ( 0, 0 ) int -> zero-ref "field V09._index (fldOffset=0x8)" P-INDEP
-;* V137 tmp121 [V137 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0xc)" P-INDEP
-;* V138 tmp122 [V138 ] ( 0, 0 ) ref -> zero-ref "field V13._statusInformation (fldOffset=0x0)" P-INDEP
-; V139 tmp123 [V139,T11] ( 2, 4.18) int -> rdx "field V13.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V140 tmp124 [V140 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
-;* V141 tmp125 [V141 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
-;* V142 tmp126 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V143 tmp127 [V143 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp128 [V144 ] ( 0, 0 ) ref -> zero-ref "field V39._object (fldOffset=0x0)" P-INDEP
-;* V145 tmp129 [V145 ] ( 0, 0 ) int -> zero-ref "field V39._index (fldOffset=0x8)" P-INDEP
-;* V146 tmp130 [V146 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0xc)" P-INDEP
-; V147 tmp131 [V147,T37] ( 9, 1.26) ref -> rdi "field V44._object (fldOffset=0x0)" P-INDEP
-;* V148 tmp132 [V148 ] ( 0, 0 ) int -> zero-ref "field V44._index (fldOffset=0x8)" P-INDEP
-; V149 tmp133 [V149,T61] ( 4, 0.70) int -> [rbp-0x3C] "field V44._length (fldOffset=0xc)" P-INDEP
-;* V150 tmp134 [V150 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V151 tmp135 [V151 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-;* V152 tmp136 [V152 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-DEP
-;* V153 tmp137 [V153 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-DEP
-; V154 tmp138 [V154,T79] ( 2, 0.15) byref -> rax "field V51._reference (fldOffset=0x0)" P-INDEP
-; V155 tmp139 [V155,T81] ( 2, 0.15) int -> rsi "field V51._length (fldOffset=0x8)" P-INDEP
-;* V156 tmp140 [V156 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;* V157 tmp141 [V157 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
-;* V158 tmp142 [V158 ] ( 0, 0 ) ref -> zero-ref "field V59._object (fldOffset=0x0)" P-INDEP
-;* V159 tmp143 [V159 ] ( 0, 0 ) int -> zero-ref "field V59._index (fldOffset=0x8)" P-INDEP
-;* V160 tmp144 [V160 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0xc)" P-INDEP
-; V161 tmp145 [V161,T38] ( 9, 1.26) ref -> rdi "field V64._object (fldOffset=0x0)" P-INDEP
-;* V162 tmp146 [V162 ] ( 0, 0 ) int -> zero-ref "field V64._index (fldOffset=0x8)" P-INDEP
-; V163 tmp147 [V163,T62] ( 4, 0.70) int -> [rbp-0x40] "field V64._length (fldOffset=0xc)" P-INDEP
-;* V164 tmp148 [V164 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V165 tmp149 [V165 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
-;* V166 tmp150 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp151 [V167 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
-;* V168 tmp152 [V168 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-DEP
-;* V169 tmp153 [V169 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-DEP
-; V170 tmp154 [V170,T80] ( 2, 0.15) byref -> rsi "field V72._reference (fldOffset=0x0)" P-INDEP
-; V171 tmp155 [V171,T82] ( 2, 0.15) int -> rcx "field V72._length (fldOffset=0x8)" P-INDEP
-;* V172 tmp156 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
-;* V173 tmp157 [V173 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
-;* V174 tmp158 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V175 tmp159 [V175 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
-;* V176 tmp160 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
-;* V177 tmp161 [V177 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp162 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp163 [V179 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp164 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp165 [V181 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
-;* V182 tmp166 [V182 ] ( 0, 0 ) byref -> zero-ref "field V88._reference (fldOffset=0x0)" P-INDEP
-;* V183 tmp167 [V183 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
-;* V184 tmp168 [V184 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
-;* V185 tmp169 [V185 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
-; V186 tmp170 [V186,T59] ( 2, 0.79) ref -> rdi single-def "argument with side effect"
-; V187 tmp171 [V187,T76] ( 2, 0.21) ref -> [rbp-0xB0] spill-single-def "argument with side effect"
-; V188 tmp172 [V188,T77] ( 2, 0.21) ref -> rsi single-def "argument with side effect"
-; V189 tmp173 [V189,T78] ( 2, 0.21) ref -> rdi single-def "argument with side effect"
-; V190 tmp174 [V190,T25] ( 2, 1.65) ref -> r8 single-def "argument with side effect"
-; V191 tmp175 [V191,T26] ( 2, 1.65) ref -> [rbp-0xB8] spill-single-def "argument with side effect"
-; V192 tmp176 [V192,T28] ( 2, 1.65) int -> [rbp-0x44] spill-single-def "argument with side effect"
-; V193 tmp177 [V193,T29] ( 2, 1.65) int -> [rbp-0x48] spill-single-def "argument with side effect"
-; V194 tmp178 [V194,T66] ( 2, 0.48) ref -> rsi single-def "argument with side effect"
+; V124 tmp108 [V124,T30] ( 3, 1.34) ref -> r13 single-def
+; V125 tmp109 [V125,T54] ( 2, 0.89) ref -> [rbp-0xB0] spill-single-def
+;* V126 tmp110 [V126,T69] ( 0, 0 ) ref -> zero-ref single-def
+; V127 tmp111 [V127,T55] ( 2, 0.89) ref -> r8 single-def
+;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V129 tmp113 [V129 ] ( 0, 0 ) int -> zero-ref
+;* V130 tmp114 [V130 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V131 tmp115 [V131,T70] ( 0, 0 ) ref -> zero-ref
+;* V132 tmp116 [V132 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
+;* V133 tmp117 [V133 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
+;* V134 tmp118 [V134 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V135 tmp119 [V135,T12] ( 8, 4.16) ref -> r14 class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Chain>
+;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "field V09._object (fldOffset=0x0)" P-INDEP
+;* V137 tmp121 [V137 ] ( 0, 0 ) int -> zero-ref "field V09._index (fldOffset=0x8)" P-INDEP
+;* V138 tmp122 [V138 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0xc)" P-INDEP
+;* V139 tmp123 [V139 ] ( 0, 0 ) ref -> zero-ref "field V13._statusInformation (fldOffset=0x0)" P-INDEP
+; V140 tmp124 [V140,T11] ( 2, 4.18) int -> rdx "field V13.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V141 tmp125 [V141 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V142 tmp126 [V142 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
+;* V143 tmp127 [V143 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
+;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "field V39._object (fldOffset=0x0)" P-INDEP
+;* V146 tmp130 [V146 ] ( 0, 0 ) int -> zero-ref "field V39._index (fldOffset=0x8)" P-INDEP
+;* V147 tmp131 [V147 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0xc)" P-INDEP
+; V148 tmp132 [V148,T37] ( 9, 1.26) ref -> rdi "field V44._object (fldOffset=0x0)" P-INDEP
+;* V149 tmp133 [V149 ] ( 0, 0 ) int -> zero-ref "field V44._index (fldOffset=0x8)" P-INDEP
+; V150 tmp134 [V150,T64] ( 4, 0.70) int -> [rbp-0x3C] "field V44._length (fldOffset=0xc)" P-INDEP
+;* V151 tmp135 [V151 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V152 tmp136 [V152 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V153 tmp137 [V153 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-DEP
+;* V154 tmp138 [V154 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-DEP
+; V155 tmp139 [V155,T80] ( 2, 0.15) byref -> rax "field V51._reference (fldOffset=0x0)" P-INDEP
+; V156 tmp140 [V156,T82] ( 2, 0.15) int -> rsi "field V51._length (fldOffset=0x8)" P-INDEP
+;* V157 tmp141 [V157 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
+;* V158 tmp142 [V158 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
+;* V159 tmp143 [V159 ] ( 0, 0 ) ref -> zero-ref "field V59._object (fldOffset=0x0)" P-INDEP
+;* V160 tmp144 [V160 ] ( 0, 0 ) int -> zero-ref "field V59._index (fldOffset=0x8)" P-INDEP
+;* V161 tmp145 [V161 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0xc)" P-INDEP
+; V162 tmp146 [V162,T38] ( 9, 1.26) ref -> rdi "field V64._object (fldOffset=0x0)" P-INDEP
+;* V163 tmp147 [V163 ] ( 0, 0 ) int -> zero-ref "field V64._index (fldOffset=0x8)" P-INDEP
+; V164 tmp148 [V164,T65] ( 4, 0.70) int -> [rbp-0x40] "field V64._length (fldOffset=0xc)" P-INDEP
+;* V165 tmp149 [V165 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V166 tmp150 [V166 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
+;* V167 tmp151 [V167 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
+;* V168 tmp152 [V168 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
+;* V169 tmp153 [V169 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-DEP
+;* V170 tmp154 [V170 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-DEP
+; V171 tmp155 [V171,T81] ( 2, 0.15) byref -> rsi "field V72._reference (fldOffset=0x0)" P-INDEP
+; V172 tmp156 [V172,T83] ( 2, 0.15) int -> rcx "field V72._length (fldOffset=0x8)" P-INDEP
+;* V173 tmp157 [V173 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V174 tmp158 [V174 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+;* V175 tmp159 [V175 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V176 tmp160 [V176 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V177 tmp161 [V177 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V178 tmp162 [V178 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V179 tmp163 [V179 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V180 tmp164 [V180 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
+;* V181 tmp165 [V181 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
+;* V182 tmp166 [V182 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
+;* V183 tmp167 [V183 ] ( 0, 0 ) byref -> zero-ref "field V88._reference (fldOffset=0x0)" P-INDEP
+;* V184 tmp168 [V184 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
+;* V185 tmp169 [V185 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V186 tmp170 [V186 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+; V187 tmp171 [V187,T61] ( 2, 0.79) ref -> rdi single-def "argument with side effect"
+; V188 tmp172 [V188,T77] ( 2, 0.21) ref -> [rbp-0xB8] spill-single-def "argument with side effect"
+; V189 tmp173 [V189,T78] ( 2, 0.21) ref -> rsi single-def "argument with side effect"
+; V190 tmp174 [V190,T79] ( 2, 0.21) ref -> rdi single-def "argument with side effect"
+; V191 tmp175 [V191,T25] ( 2, 1.65) ref -> r8 single-def "argument with side effect"
+; V192 tmp176 [V192,T26] ( 2, 1.65) ref -> [rbp-0xC0] spill-single-def "argument with side effect"
+; V193 tmp177 [V193,T28] ( 2, 1.65) int -> [rbp-0x44] spill-single-def "argument with side effect"
+; V194 tmp178 [V194,T29] ( 2, 1.65) int -> [rbp-0x48] spill-single-def "argument with side effect"
; V195 tmp179 [V195,T02] ( 2, 16.09) ref -> rdi "argument with side effect"
; V196 tmp180 [V196,T00] ( 3, 24.13) ref -> rdi "argument with side effect"
-; V197 tmp181 [V197,T18] ( 2, 2.63) ref -> rdi "argument with side effect"
+; V197 tmp181 [V197,T19] ( 2, 2.63) ref -> rdi "argument with side effect"
; V198 tmp182 [V198,T13] ( 3, 3.95) ref -> rdi "argument with side effect"
-; V199 PSPSym [V199,T49] ( 1, 1 ) long -> [rbp-0xC0] do-not-enreg[V] "PSPSym"
-;* V200 cse0 [V200,T32] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
-; V201 cse1 [V201,T48] ( 3, 1.04) ref -> rsi "CSE #05: conservative"
-; V202 cse2 [V202,T23] ( 4, 1.65) ref -> rdi "CSE #08: conservative"
-; V203 cse3 [V203,T20] ( 3, 2.56) int -> rcx "CSE #11: conservative"
-; V204 rat0 [V204,T06] ( 5, 8.60) long -> rdi "Widened IV V12"
+; V199 PSPSym [V199,T50] ( 1, 1 ) long -> [rbp-0xD0] do-not-enreg[V] "PSPSym"
+; V200 cse0 [V200,T49] ( 3, 1.01) ref -> r12 "CSE #05: conservative"
+;* V201 cse1 [V201,T32] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
+; V202 cse2 [V202,T48] ( 3, 1.04) ref -> rsi "CSE #07: conservative"
+; V203 cse3 [V203,T23] ( 4, 1.65) ref -> rdi "CSE #10: conservative"
+; V204 cse4 [V204,T21] ( 3, 2.56) int -> rcx "CSE #14: conservative"
+; V205 rat0 [V205,T06] ( 5, 8.60) long -> rdi "Widened IV V12"
;
-; Lcl frame size = 152
+; Lcl frame size = 168
G_M4728_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 152
- lea rbp, [rsp+0xC0]
+ sub rsp, 168
+ lea rbp, [rsp+0xD0]
xor eax, eax
mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0xC0], rsp
+ mov qword ptr [rbp-0xD0], rsp
mov bword ptr [rbp-0x50], rcx
mov rbx, rdi
mov r13, rsi
mov r12, rdx
mov r14, r8
mov r15, r9
;; size=57 bbWeight=1 PerfScore 11.25
G_M4728_IG02:
xor ecx, ecx
mov dword ptr [r14], ecx
;; size=5 bbWeight=1 PerfScore 1.25
G_M4728_IG03:
mov dword ptr [r15], ecx
;; size=3 bbWeight=1 PerfScore 1.00
G_M4728_IG04:
mov rcx, gword ptr [rbx+0x38]
mov rcx, gword ptr [rcx+0x58]
mov rdi, gword ptr [rbx+0x50]
lea rdx, [rbp-0x30]
mov esi, 1
mov r8, 0xD1FFAB1E ; code for System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
call [r8]System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
mov gword ptr [rbp-0x58], rax
cmp gword ptr [rbx+0x60], 0
je G_M4728_IG34
;; size=49 bbWeight=1 PerfScore 15.00
G_M4728_IG05:
test rax, rax
je G_M4728_IG34
;; size=9 bbWeight=0.52 PerfScore 0.65
G_M4728_IG06:
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
call [rcx]System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
mov rax, gword ptr [rbp-0x58]
mov rdi, gword ptr [rax+0x40]
test rdi, rdi
jne SHORT G_M4728_IG08
;; size=28 bbWeight=0.27 PerfScore 2.10
G_M4728_IG07:
mov rdi, gword ptr [rax+0x48]
mov r11, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
call [r11]System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
mov gword ptr [rbp-0x70], rax
mov rax, gword ptr [rbp-0x58]
lea rdi, bword ptr [rax+0x40]
mov rsi, gword ptr [rbp-0x70]
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x70]
mov rax, gword ptr [rbp-0x58]
;; size=46 bbWeight=0.22 PerfScore 2.54
G_M4728_IG08:
test rdi, rdi
jne SHORT G_M4728_IG15
;; size=5 bbWeight=0.27 PerfScore 0.34
G_M4728_IG09:
xor rdi, rdi
xor ecx, ecx
;; size=4 bbWeight=0.14 PerfScore 0.07
G_M4728_IG10:
xor rdx, rdx
xor esi, esi
test rdi, rdi
mov dword ptr [rbp-0x38], esi
mov bword ptr [rbp-0x78], rdx
je SHORT G_M4728_IG14
;; size=16 bbWeight=0.27 PerfScore 1.01
G_M4728_IG11:
mov rdx, qword ptr [rdi]
test dword ptr [rdx], 0xD1FFAB1E
je SHORT G_M4728_IG16
;; size=11 bbWeight=0.27 PerfScore 1.62
G_M4728_IG12:
lea rdx, bword ptr [rdi+0x10]
mov esi, dword ptr [rdi+0x08]
;; size=7 bbWeight=0.08 PerfScore 0.21
G_M4728_IG13:
cmp ecx, esi
jbe SHORT G_M4728_IG17
- jmp G_M4728_IG73
+ jmp G_M4728_IG70
;; size=9 bbWeight=0.22 PerfScore 0.70
G_M4728_IG14:
jmp SHORT G_M4728_IG18
;; size=2 bbWeight=0.05 PerfScore 0.11
G_M4728_IG15:
mov ecx, dword ptr [rdi+0x08]
mov dword ptr [rbp-0x3C], ecx
mov ecx, dword ptr [rbp-0x3C]
jmp SHORT G_M4728_IG10
;; size=11 bbWeight=0.13 PerfScore 0.78
G_M4728_IG16:
mov dword ptr [rbp-0x3C], ecx
mov rdx, qword ptr [rdi]
mov rdx, qword ptr [rdx+0x40]
call [rdx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
mov esi, edx
mov ecx, esi
mov rdx, rax
mov esi, ecx
mov rax, gword ptr [rbp-0x58]
mov ecx, dword ptr [rbp-0x3C]
jmp SHORT G_M4728_IG13
;; size=31 bbWeight=0.08 PerfScore 0.98
G_M4728_IG17:
mov bword ptr [rbp-0x78], rdx
mov dword ptr [rbp-0x38], ecx
;; size=7 bbWeight=0.22 PerfScore 0.43
G_M4728_IG18:
mov rcx, gword ptr [rbx+0x60]
mov gword ptr [rbp-0x80], rcx
cmp byte ptr [rcx], cl
mov rdi, rcx
mov r8, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
call [r8]System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
mov rax, gword ptr [rbp-0x80]
mov rdi, gword ptr [rax+0x40]
test rdi, rdi
jne SHORT G_M4728_IG20
;; size=39 bbWeight=0.27 PerfScore 3.72
G_M4728_IG19:
mov rdi, gword ptr [rax+0x48]
mov r11, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
call [r11]System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
mov gword ptr [rbp-0x88], rax
mov rsi, gword ptr [rbp-0x80]
lea rdi, bword ptr [rsi+0x40]
mov rsi, gword ptr [rbp-0x88]
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x88]
;; size=51 bbWeight=0.22 PerfScore 2.33
G_M4728_IG20:
test rdi, rdi
jne SHORT G_M4728_IG26
;; size=5 bbWeight=0.27 PerfScore 0.34
G_M4728_IG21:
xor rdi, rdi
xor eax, eax
;; size=4 bbWeight=0.14 PerfScore 0.07
G_M4728_IG22:
xor rsi, rsi
xor ecx, ecx
test rdi, rdi
je SHORT G_M4728_IG29
;; size=9 bbWeight=0.27 PerfScore 0.47
G_M4728_IG23:
mov rsi, qword ptr [rdi]
test dword ptr [rsi], 0xD1FFAB1E
je SHORT G_M4728_IG27
;; size=11 bbWeight=0.27 PerfScore 1.62
G_M4728_IG24:
lea rsi, bword ptr [rdi+0x10]
mov ecx, dword ptr [rdi+0x08]
;; size=7 bbWeight=0.08 PerfScore 0.21
G_M4728_IG25:
cmp eax, ecx
jbe SHORT G_M4728_IG28
- jmp G_M4728_IG73
+ jmp G_M4728_IG70
;; size=9 bbWeight=0.22 PerfScore 0.70
G_M4728_IG26:
mov eax, dword ptr [rdi+0x08]
mov dword ptr [rbp-0x40], eax
mov eax, dword ptr [rbp-0x40]
jmp SHORT G_M4728_IG22
;; size=11 bbWeight=0.13 PerfScore 0.78
G_M4728_IG27:
mov dword ptr [rbp-0x40], eax
mov rcx, qword ptr [rdi]
mov rcx, qword ptr [rcx+0x40]
call [rcx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
mov rsi, rax
mov ecx, edx
mov eax, dword ptr [rbp-0x40]
jmp SHORT G_M4728_IG25
;; size=23 bbWeight=0.08 PerfScore 0.87
G_M4728_IG28:
mov ecx, eax
;; size=2 bbWeight=0.22 PerfScore 0.05
G_M4728_IG29:
cmp dword ptr [rbp-0x38], ecx
jne SHORT G_M4728_IG33
;; size=5 bbWeight=0.27 PerfScore 0.81
G_M4728_IG30:
mov edx, ecx
mov rdi, bword ptr [rbp-0x78]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
je SHORT G_M4728_IG32
;; size=22 bbWeight=0.21 PerfScore 1.20
G_M4728_IG31:
mov rdi, gword ptr [rbp-0x58]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
mov dword ptr [rbp-0x34], 1
- jmp G_M4728_IG79
+ jmp G_M4728_IG77
;; size=30 bbWeight=0.14 PerfScore 1.58
G_M4728_IG32:
mov rax, gword ptr [rbp-0x58]
jmp SHORT G_M4728_IG34
;; size=6 bbWeight=0.10 PerfScore 0.30
G_M4728_IG33:
mov rax, gword ptr [rbp-0x58]
;; size=4 bbWeight=0.13 PerfScore 0.13
G_M4728_IG34:
lea rdi, bword ptr [rbx+0x60]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
cmp gword ptr [rbx+0x60], 0
- jne G_M4728_IG52
+ jne G_M4728_IG50
;; size=23 bbWeight=0.86 PerfScore 4.94
G_M4728_IG35:
- mov rsi, 0xD1FFAB1E ; global ptr
- test byte ptr [rsi], 1
- je G_M4728_IG74
+ mov rdi, 0xD1FFAB1E ; global ptr
+ test byte ptr [rdi], 1
+ je G_M4728_IG71
;; size=19 bbWeight=0.45 PerfScore 1.90
G_M4728_IG36:
- mov rsi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
- mov rsi, gword ptr [rsi]
- cmp byte ptr [rsi+0x9D], 0
+ mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
+ mov r12, gword ptr [rdi]
+ cmp byte ptr [r12+0x9D], 0
je G_M4728_IG40
- ;; size=26 bbWeight=0.45 PerfScore 2.79
+ ;; size=28 bbWeight=0.45 PerfScore 2.79
G_M4728_IG37:
- mov rsi, gword ptr [rbx+0x38]
- cmp byte ptr [rsi+0x6E], 0
+ mov rdi, gword ptr [rbx+0x38]
+ cmp byte ptr [rdi+0x6E], 0
je G_M4728_IG40
;; size=14 bbWeight=0.23 PerfScore 1.39
G_M4728_IG38:
- mov rsi, 0xD1FFAB1E ; global ptr
- test byte ptr [rsi], 1
- je G_M4728_IG75
+ mov rdi, 0xD1FFAB1E ; global ptr
+ test byte ptr [rdi], 1
+ je G_M4728_IG72
;; size=19 bbWeight=0.12 PerfScore 0.51
G_M4728_IG39:
- mov rsi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Object]:Value
- mov rsi, gword ptr [rsi]
- mov rdi, 0xD1FFAB1E ; 'Remote certificate required, but no remote certificate received'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov r12, rax
- mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
+ mov rdi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Object]:Value
mov rax, gword ptr [rdi]
mov gword ptr [rbp-0x90], rax
+ test rax, rax
+ je G_M4728_IG73
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov gword ptr [rbp-0x98], rax
+ mov rdi, 0xD1FFAB1E ; 'Remote certificate required, but no remote certificate received'
+ mov gword ptr [rax+0x08], rdi
+ lea rdi, bword ptr [rax+0x10]
+ mov rsi, gword ptr [rbp-0x90]
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov gword ptr [rbp-0x98], rax
- mov rdi, r12
+ mov gword ptr [rbp-0xA0], rax
+ mov rdi, gword ptr [rbp-0x98]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- mov r12, gword ptr [rbp-0x90]
cmp byte ptr [r12], r12b
mov rdi, r12
- mov r12, gword ptr [rbp-0x98]
+ mov r12, gword ptr [rbp-0xA0]
mov rdx, r12
mov esi, 2
mov rcx, 0xD1FFAB1E ; 'VerifyRemoteCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=149 bbWeight=0.12 PerfScore 3.23
+ ;; size=169 bbWeight=0.12 PerfScore 3.35
G_M4728_IG40:
or dword ptr [r14], 1
;; size=4 bbWeight=0.45 PerfScore 1.34
G_M4728_IG41:
test r13, r13
- je G_M4728_IG69
+ je G_M4728_IG67
;; size=9 bbWeight=0.86 PerfScore 1.07
G_M4728_IG42:
mov rdx, gword ptr [rbx+0x60]
mov r8d, dword ptr [r14]
mov rsi, rbx
mov rcx, gword ptr [rbp-0x30]
mov rdi, gword ptr [r13+0x08]
call [r13+0x18]System.Net.Security.RemoteCertificateValidationCallback:Invoke(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,int):ubyte:this
mov r12d, eax
;; size=25 bbWeight=0.45 PerfScore 4.69
G_M4728_IG43:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
- je G_M4728_IG78
+ je G_M4728_IG76
;; size=19 bbWeight=0.86 PerfScore 3.65
G_M4728_IG44:
mov rdx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdx, gword ptr [rdx]
cmp byte ptr [rdx+0x9D], 0
- je G_M4728_IG48
+ je G_M4728_IG46
;; size=26 bbWeight=0.86 PerfScore 5.37
G_M4728_IG45:
mov edx, dword ptr [r14]
mov rdi, rbx
mov rsi, r13
mov ecx, r12d
mov r8, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:LogCertificateValidation(System.Net.Security.RemoteCertificateValidationCallback,int,ubyte,System.Security.Cryptography.X509Certificates.X509Chain):this
call [rax]System.Net.Security.SslStream:LogCertificateValidation(System.Net.Security.RemoteCertificateValidationCallback,int,ubyte,System.Security.Cryptography.X509Certificates.X509Chain):this
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r13, rax
mov rsi, gword ptr [rbx+0x60]
lea rdi, bword ptr [r13+0x10]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r13
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov gword ptr [rbp-0xA8], rax
mov rdi, 0xD1FFAB1E ; 'Cert validation, remote cert = {0}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov r13, rax
+ mov gword ptr [rax+0x08], rdi
+ lea rdi, bword ptr [rax+0x10]
+ mov rsi, r13
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
- mov rax, gword ptr [rdi]
- mov gword ptr [rbp-0xA0], rax
+ mov r13, gword ptr [rdi]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov rdx, rax
- mov gword ptr [rbp-0xA8], rdx
- test r13, r13
- jne G_M4728_IG72
- ;; size=146 bbWeight=0.45 PerfScore 11.40
-G_M4728_IG46:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.23 PerfScore 0.06
-G_M4728_IG47:
- mov r13, gword ptr [rbp-0xA0]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xA8]
+ mov rcx, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rcx]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [r13], r13b
mov rdi, r13
- mov esi, 1
+ mov rdx, gword ptr [rbp-0xB0]
mov rcx, 0xD1FFAB1E ; 'VerifyRemoteCertificate'
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=41 bbWeight=0.45 PerfScore 3.58
-G_M4728_IG48:
+ ;; size=210 bbWeight=0.45 PerfScore 16.42
+G_M4728_IG46:
test r12d, r12d
- jne G_M4728_IG83
+ jne G_M4728_IG81
;; size=9 bbWeight=0.86 PerfScore 1.07
-G_M4728_IG49:
+G_M4728_IG47:
mov esi, dword ptr [r14]
mov rdi, rbx
mov rdx, gword ptr [rbp-0x30]
mov rcx, bword ptr [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:CreateFatalHandshakeAlertToken(int,System.Security.Cryptography.X509Certificates.X509Chain,byref):this
call [rax]System.Net.Security.SslStream:CreateFatalHandshakeAlertToken(int,System.Security.Cryptography.X509Certificates.X509Chain,byref):this
cmp gword ptr [rbp-0x30], 0
- je G_M4728_IG83
+ je G_M4728_IG81
;; size=37 bbWeight=0.45 PerfScore 4.69
-G_M4728_IG50:
+G_M4728_IG48:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
xor edi, edi
mov ecx, dword ptr [rax+0x08]
test ecx, ecx
- jle G_M4728_IG83
+ jle G_M4728_IG81
;; size=31 bbWeight=0.23 PerfScore 2.50
-G_M4728_IG51:
+G_M4728_IG49:
mov rdx, rdi
shl rdx, 4
mov edx, dword ptr [rax+rdx+0x18]
or dword ptr [r15], edx
inc edi
cmp ecx, edi
- jg SHORT G_M4728_IG51
- jmp G_M4728_IG83
+ jg SHORT G_M4728_IG49
+ jmp G_M4728_IG81
;; size=25 bbWeight=2.09 PerfScore 19.35
-G_M4728_IG52:
+G_M4728_IG50:
cmp gword ptr [rbp-0x30], 0
- jne SHORT G_M4728_IG54
+ jne SHORT G_M4728_IG52
;; size=7 bbWeight=0.41 PerfScore 1.24
-G_M4728_IG53:
+G_M4728_IG51:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.X509Chain
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x68], rax
mov rdi, 0xD1FFAB1E ; System.Object
call CORINFO_HELP_NEWSFAST
mov rcx, gword ptr [rbp-0x68]
lea rdi, bword ptr [rcx+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x68]
mov gword ptr [rbp-0x30], rdi
;; size=58 bbWeight=0.21 PerfScore 1.77
-G_M4728_IG54:
+G_M4728_IG52:
mov rdi, gword ptr [rbx+0x38]
mov rsi, gword ptr [rdi+0x58]
test rsi, rsi
- je G_M4728_IG62
+ je G_M4728_IG60
;; size=17 bbWeight=0.41 PerfScore 2.17
-G_M4728_IG55:
+G_M4728_IG53:
mov rdi, gword ptr [rbp-0x30]
cmp byte ptr [rdi], dil
lea rdi, bword ptr [rdi+0x08]
call CORINFO_HELP_ASSIGN_REF
;; size=16 bbWeight=0.21 PerfScore 1.18
-G_M4728_IG56:
+G_M4728_IG54:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rax+0x10], 0
- jne SHORT G_M4728_IG61
+ jne SHORT G_M4728_IG59
;; size=41 bbWeight=0.41 PerfScore 7.32
-G_M4728_IG57:
+G_M4728_IG55:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
mov r12, rax
mov rdi, gword ptr [rbx+0x38]
cmp byte ptr [rdi+0x6D], 0
- jne G_M4728_IG67
+ jne G_M4728_IG65
;; size=52 bbWeight=0.21 PerfScore 4.29
-G_M4728_IG58:
+G_M4728_IG56:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M4728_IG76
+ je G_M4728_IG74
;; size=19 bbWeight=0.11 PerfScore 0.47
-G_M4728_IG59:
+G_M4728_IG57:
mov rdi, 0xD1FFAB1E ; data for System.Net.Security.SslStream:s_serverAuthOid
mov rsi, gword ptr [rdi]
;; size=13 bbWeight=0.11 PerfScore 0.25
-G_M4728_IG60:
+G_M4728_IG58:
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
;; size=17 bbWeight=0.21 PerfScore 1.39
-G_M4728_IG61:
+G_M4728_IG59:
mov r12d, dword ptr [r14]
mov rax, gword ptr [rbp-0x30]
mov gword ptr [rbp-0x60], rax
mov rcx, gword ptr [rbx+0x60]
- mov gword ptr [rbp-0xB8], rcx
+ mov gword ptr [rbp-0xC0], rcx
mov rdi, gword ptr [rbx+0x38]
movzx rdx, byte ptr [rdi+0x6F]
mov dword ptr [rbp-0x44], edx
movzx rsi, byte ptr [rdi+0x6D]
mov dword ptr [rbp-0x48], esi
mov rdi, gword ptr [rdi+0x08]
mov r8, 0xD1FFAB1E ; code for System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
call [r8]System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
mov r8, rax
- mov rsi, gword ptr [rbp-0xB8]
+ mov rsi, gword ptr [rbp-0xC0]
mov edx, dword ptr [rbp-0x44]
mov ecx, dword ptr [rbp-0x48]
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Net.Security.CertificateValidation:BuildChainAndVerifyProperties(System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte,ubyte,System.String):int
call [rax]System.Net.Security.CertificateValidation:BuildChainAndVerifyProperties(System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte,ubyte,System.String):int
or eax, r12d
mov dword ptr [r14], eax
jmp G_M4728_IG41
;; size=101 bbWeight=0.41 PerfScore 12.79
-G_M4728_IG62:
+G_M4728_IG60:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rsi, gword ptr [rbx+0x38]
mov esi, dword ptr [rsi+0x64]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov dword ptr [rax+0x2C], 2
test r12, r12
- je G_M4728_IG56
+ je G_M4728_IG54
;; size=76 bbWeight=0.20 PerfScore 5.40
-G_M4728_IG63:
+G_M4728_IG61:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov dword ptr [rax+0x34], 1
cmp gword ptr [r12+0x08], 0
- je SHORT G_M4728_IG65
+ je SHORT G_M4728_IG63
;; size=33 bbWeight=0.10 PerfScore 1.26
-G_M4728_IG64:
+G_M4728_IG62:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xB8], rax
mov rdi, gword ptr [r12+0x08]
mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rcx]System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xB0]
+ mov rdi, gword ptr [rbp-0xB8]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
;; size=85 bbWeight=0.05 PerfScore 1.63
-G_M4728_IG65:
+G_M4728_IG63:
cmp gword ptr [r12+0x10], 0
- je G_M4728_IG56
+ je G_M4728_IG54
;; size=12 bbWeight=0.10 PerfScore 0.41
-G_M4728_IG66:
+G_M4728_IG64:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
mov rdi, rax
mov rsi, gword ptr [r12+0x10]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
- jmp G_M4728_IG56
+ jmp G_M4728_IG54
;; size=62 bbWeight=0.05 PerfScore 1.30
-G_M4728_IG67:
+G_M4728_IG65:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M4728_IG77
+ je G_M4728_IG75
;; size=19 bbWeight=0.10 PerfScore 0.44
-G_M4728_IG68:
+G_M4728_IG66:
mov rdi, 0xD1FFAB1E ; data for System.Net.Security.SslStream:s_clientAuthOid
mov rsi, gword ptr [rdi]
- jmp G_M4728_IG60
+ jmp G_M4728_IG58
;; size=18 bbWeight=0.10 PerfScore 0.44
-G_M4728_IG69:
+G_M4728_IG67:
mov rdi, gword ptr [rbx+0x38]
cmp byte ptr [rdi+0x6E], 0
- jne SHORT G_M4728_IG71
+ jne SHORT G_M4728_IG69
;; size=10 bbWeight=0.41 PerfScore 2.48
-G_M4728_IG70:
+G_M4728_IG68:
and dword ptr [r14], -2
;; size=4 bbWeight=0.21 PerfScore 0.64
-G_M4728_IG71:
+G_M4728_IG69:
cmp dword ptr [r14], 0
sete r12b
movzx r12, r12b
jmp G_M4728_IG43
;; size=17 bbWeight=0.41 PerfScore 2.58
-G_M4728_IG72:
- mov rdi, r13
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- mov rdx, gword ptr [rbp-0xA8]
- jmp G_M4728_IG47
- ;; size=30 bbWeight=0.21 PerfScore 1.45
-G_M4728_IG73:
+G_M4728_IG70:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M4728_IG74:
+G_M4728_IG71:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M4728_IG36
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4728_IG75:
+G_M4728_IG72:
mov rdi, 0xD1FFAB1E ; System.Array+EmptyArray`1[System.Object]
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M4728_IG39
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4728_IG76:
+G_M4728_IG73:
+ mov edi, 0x193A7
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rdi, rax
+ mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
+ call [rax]System.ArgumentNullException:Throw(System.String)
+ int3
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M4728_IG74:
mov rdi, 0xD1FFAB1E ; System.Net.Security.SslStream
call CORINFO_HELP_GET_NONGCSTATIC_BASE
- jmp G_M4728_IG59
+ jmp G_M4728_IG57
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4728_IG77:
+G_M4728_IG75:
mov rdi, 0xD1FFAB1E ; System.Net.Security.SslStream
call CORINFO_HELP_GET_NONGCSTATIC_BASE
- jmp G_M4728_IG68
+ jmp G_M4728_IG66
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4728_IG78:
+G_M4728_IG76:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M4728_IG44
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4728_IG79:
+G_M4728_IG77:
mov rdi, rsp
;; size=3 bbWeight=0.14 PerfScore 0.04
-G_M4728_IG80:
- call G_M4728_IG89
+G_M4728_IG78:
+ call G_M4728_IG87
nop
;; size=6 bbWeight=0.14 PerfScore 0.18
-G_M4728_IG81:
+G_M4728_IG79:
mov eax, dword ptr [rbp-0x34]
;; size=3 bbWeight=0.14 PerfScore 0.14
-G_M4728_IG82:
- add rsp, 152
+G_M4728_IG80:
+ add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.14 PerfScore 0.60
-G_M4728_IG83:
+G_M4728_IG81:
cmp gword ptr [rbp-0x30], 0
- je G_M4728_IG87
+ je G_M4728_IG85
;; size=11 bbWeight=0.86 PerfScore 2.58
-G_M4728_IG84:
+G_M4728_IG82:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov ebx, dword ptr [rdi+0x08]
xor r15d, r15d
test ebx, ebx
- jle SHORT G_M4728_IG86
+ jle SHORT G_M4728_IG84
;; size=32 bbWeight=0.45 PerfScore 5.70
-G_M4728_IG85:
+G_M4728_IG83:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov rdi, gword ptr [rax+0x08]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
inc r15d
cmp r15d, ebx
- jl SHORT G_M4728_IG85
+ jl SHORT G_M4728_IG83
;; size=64 bbWeight=4.02 PerfScore 99.54
-G_M4728_IG86:
+G_M4728_IG84:
mov r14, gword ptr [rbp-0x30]
mov rdi, r14
mov esi, 1
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Security.Cryptography.X509Certificates.X509Chain:Dispose(ubyte):this
mov rdi, r14
- mov rax, 0xD1FFAB1E ; code for System.GC:SuppressFinalize(System.Object)
- call [rax]System.GC:SuppressFinalize(System.Object)
- ;; size=37 bbWeight=0.45 PerfScore 5.36
-G_M4728_IG87:
+ call System.GC:_SuppressFinalize(System.Object)
+ ;; size=30 bbWeight=0.45 PerfScore 4.36
+G_M4728_IG85:
mov eax, r12d
;; size=3 bbWeight=0.86 PerfScore 0.21
-G_M4728_IG88:
- add rsp, 152
+G_M4728_IG86:
+ add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.86 PerfScore 3.65
-G_M4728_IG89:
+G_M4728_IG87:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0xC0]
+ lea rbp, [rbp+0xD0]
;; size=25 bbWeight=0.14 PerfScore 1.48
-G_M4728_IG90:
+G_M4728_IG88:
cmp gword ptr [rbp-0x30], 0
- je G_M4728_IG94
+ je G_M4728_IG92
;; size=11 bbWeight=0.14 PerfScore 0.42
-G_M4728_IG91:
+G_M4728_IG89:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov ebx, dword ptr [rdi+0x08]
xor r15d, r15d
test ebx, ebx
- jle SHORT G_M4728_IG93
+ jle SHORT G_M4728_IG91
;; size=32 bbWeight=0.07 PerfScore 0.93
-G_M4728_IG92:
+G_M4728_IG90:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov rdi, gword ptr [rax+0x08]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
inc r15d
cmp r15d, ebx
- jl SHORT G_M4728_IG92
+ jl SHORT G_M4728_IG90
;; size=64 bbWeight=0.66 PerfScore 16.29
-G_M4728_IG93:
+G_M4728_IG91:
mov r14, gword ptr [rbp-0x30]
mov rdi, r14
mov esi, 1
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Security.Cryptography.X509Certificates.X509Chain:Dispose(ubyte):this
mov rdi, r14
- mov rax, 0xD1FFAB1E ; code for System.GC:SuppressFinalize(System.Object)
- call [rax]System.GC:SuppressFinalize(System.Object)
- ;; size=37 bbWeight=0.07 PerfScore 0.88
-G_M4728_IG94:
+ call System.GC:_SuppressFinalize(System.Object)
+ ;; size=30 bbWeight=0.07 PerfScore 0.71
+G_M4728_IG92:
nop
;; size=1 bbWeight=0.14 PerfScore 0.04
-G_M4728_IG95:
+G_M4728_IG93:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.14 PerfScore 0.60
-; Total bytes of code 2370, prolog size 57, PerfScore 318.28, instruction count 560, allocated bytes for code 2370 (MethodHash=c943ed87) for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (Tier0-FullOpts)
+; Total bytes of code 2397, prolog size 57, PerfScore 317.18, instruction count 564, allocated bytes for code 2397 (MethodHash=c943ed87) for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (Tier0-FullOpts)
18 (2.72 % of base) - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this
; Assembly listing for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Instrumented Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] this class-hnd <System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x40] do-not-enreg[XS] addr-exposed ld-addr-op <System.Nullable`1[int]>
; V03 loc1 [V03 ] ( 1, 1 ) int -> [rbp-0x44] do-not-enreg[]
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05 ] ( 1, 1 ) ref -> [rbp-0x50] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]>
-; V06 tmp2 [V06 ] ( 1, 1 ) struct ( 8) [rbp-0x58] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V07 tmp3 [V07 ] ( 1, 1 ) struct ( 8) [rbp-0x60] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V08 tmp4 [V08 ] ( 1, 1 ) ref -> [rbp-0x68] do-not-enreg[] must-init "handle histogram profile tmp"
-; V09 tmp5 [V09 ] ( 1, 1 ) ref -> [rbp-0x70] do-not-enreg[] must-init "handle histogram profile tmp"
+; V05 tmp1 [V05 ] ( 1, 1 ) byref -> [rbp-0x50] do-not-enreg[] must-init "boxedVal spilled"
+; V06 tmp2 [V06 ] ( 1, 1 ) ref -> [rbp-0x58] do-not-enreg[] must-init "boxedArg spilled"
+; V07 tmp3 [V07 ] ( 1, 1 ) ref -> [rbp-0x60] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]>
+; V08 tmp4 [V08 ] ( 1, 1 ) struct ( 8) [rbp-0x68] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
+; V09 tmp5 [V09 ] ( 1, 1 ) struct ( 8) [rbp-0x70] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
; V10 tmp6 [V10 ] ( 1, 1 ) ref -> [rbp-0x78] do-not-enreg[] must-init "handle histogram profile tmp"
-; V11 tmp7 [V11 ] ( 1, 1 ) int -> [rbp-0x80] do-not-enreg[X] addr-exposed "patchpoint counter"
-; V12 tmp8 [V12 ] ( 1, 1 ) ref -> [rbp-0x88] do-not-enreg[] must-init "argument with side effect"
-; V13 tmp9 [V13 ] ( 1, 1 ) ref -> [rbp-0x90] do-not-enreg[] must-init "argument with side effect"
+; V11 tmp7 [V11 ] ( 1, 1 ) ref -> [rbp-0x80] do-not-enreg[] must-init "handle histogram profile tmp"
+; V12 tmp8 [V12 ] ( 1, 1 ) ref -> [rbp-0x88] do-not-enreg[] must-init "handle histogram profile tmp"
+; V13 tmp9 [V13 ] ( 1, 1 ) int -> [rbp-0x90] do-not-enreg[X] addr-exposed "patchpoint counter"
; V14 tmp10 [V14 ] ( 1, 1 ) ref -> [rbp-0x98] do-not-enreg[] must-init "argument with side effect"
; V15 tmp11 [V15 ] ( 1, 1 ) ref -> [rbp-0xA0] do-not-enreg[] must-init "argument with side effect"
; V16 tmp12 [V16 ] ( 1, 1 ) ref -> [rbp-0xA8] do-not-enreg[] must-init "argument with side effect"
+; V17 tmp13 [V17 ] ( 1, 1 ) ref -> [rbp-0xB0] do-not-enreg[] must-init "argument with side effect"
;
; Lcl frame size = 176
G_M63852_IG01:
push rbp
sub rsp, 176
lea rbp, [rsp+0xB0]
- xor eax, eax
- mov qword ptr [rbp-0xA8], rax
vxorps xmm8, xmm8, xmm8
- vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
+ vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+ vmovdqa xmmword ptr [rbp-0x70], xmm8
vmovdqa xmmword ptr [rbp-0x60], xmm8
+ xor eax, eax
mov qword ptr [rbp-0x50], rax
mov gword ptr [rbp-0x30], rdi
mov qword ptr [rbp-0x38], rsi
- ;; size=57 bbWeight=1 PerfScore 10.33
+ ;; size=55 bbWeight=1 PerfScore 11.33
G_M63852_IG02:
- lea rsi, [rbp-0x38]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x88], rax
- mov rdi, gword ptr [rbp-0x88]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x38]
+ mov bword ptr [rbp-0x50], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x58], rax
+ mov rax, bword ptr [rbp-0x50]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M63852_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M63852_IG03:
+ mov rsi, gword ptr [rbp-0x58]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
- mov dword ptr [rbp-0x80], 0x3E8
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M63852_IG04:
+ mov dword ptr [rbp-0x90], 0x3E8
mov rax, gword ptr [rbp-0x30]
cmp gword ptr [rax+0x18], 0
- je SHORT G_M63852_IG06
+ je SHORT G_M63852_IG08
mov rax, gword ptr [rbp-0x30]
mov rdi, gword ptr [rax+0x18]
lea rdx, [rbp-0x40]
mov rsi, qword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
test eax, eax
- je SHORT G_M63852_IG04
+ je SHORT G_M63852_IG06
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov rdi, gword ptr [rbp-0x30]
mov rsi, qword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Collections.ObjectModel.Collection`1[System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this
call [rax]System.Collections.ObjectModel.Collection`1[System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this
nop
- ;; size=143 bbWeight=1 PerfScore 32.00
-G_M63852_IG03:
+ ;; size=91 bbWeight=1 PerfScore 24.75
+G_M63852_IG05:
add rsp, 176
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63852_IG04:
+G_M63852_IG06:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
xor eax, eax
;; size=17 bbWeight=1 PerfScore 1.50
-G_M63852_IG05:
+G_M63852_IG07:
add rsp, 176
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63852_IG06:
+G_M63852_IG08:
xor eax, eax
mov dword ptr [rbp-0x44], eax
- jmp G_M63852_IG11
+ jmp G_M63852_IG13
;; size=10 bbWeight=1 PerfScore 3.25
-G_M63852_IG07:
+G_M63852_IG09:
mov rax, gword ptr [rbp-0x30]
mov rax, gword ptr [rax+0x10]
- mov gword ptr [rbp-0x50], rax
+ mov gword ptr [rbp-0x60], rax
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
call [rax]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
- mov gword ptr [rbp-0x90], rax
- mov rdi, gword ptr [rbp-0x90]
+ mov gword ptr [rbp-0x98], rax
+ mov rdi, gword ptr [rbp-0x98]
mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Item(int):System.Nullable`1[int]:this
- mov qword ptr [rbp-0x58], rax
+ mov qword ptr [rbp-0x68], rax
mov rax, gword ptr [rbp-0x30]
- mov gword ptr [rbp-0x68], rax
- mov rdi, gword ptr [rbp-0x68]
+ mov gword ptr [rbp-0x78], rax
+ mov rdi, gword ptr [rbp-0x78]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x68]
- mov gword ptr [rbp-0x98], rax
- mov rdi, gword ptr [rbp-0x98]
- mov rsi, qword ptr [rbp-0x58]
- mov rax, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0xA0], rax
+ mov rdi, gword ptr [rbp-0xA0]
+ mov rsi, qword ptr [rbp-0x68]
+ mov rax, gword ptr [rbp-0xA0]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x60]
call [rax+0x10]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:GetKeyForItem(System.Nullable`1[int]):System.Nullable`1[int]:this
- mov qword ptr [rbp-0x60], rax
- mov rax, gword ptr [rbp-0x50]
- mov gword ptr [rbp-0x70], rax
- mov rdi, gword ptr [rbp-0x70]
+ mov qword ptr [rbp-0x70], rax
+ mov rax, gword ptr [rbp-0x60]
+ mov gword ptr [rbp-0x80], rax
+ mov rdi, gword ptr [rbp-0x80]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x70]
- mov gword ptr [rbp-0xA0], rax
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0x80]
+ mov gword ptr [rbp-0xA8], rax
+ mov rdi, gword ptr [rbp-0xA8]
mov rdx, qword ptr [rbp-0x38]
- mov rsi, qword ptr [rbp-0x60]
+ mov rsi, qword ptr [rbp-0x70]
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
call [r11]System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
test eax, eax
- je SHORT G_M63852_IG10
+ je SHORT G_M63852_IG12
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov rax, gword ptr [rbp-0x30]
- mov gword ptr [rbp-0x78], rax
- mov rdi, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0x88], rax
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x78]
- mov gword ptr [rbp-0xA8], rax
- mov rdi, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0x88]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xB0]
mov esi, dword ptr [rbp-0x44]
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB0]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x50]
- ;; size=280 bbWeight=1 PerfScore 64.00
-G_M63852_IG08:
+ ;; size=289 bbWeight=1 PerfScore 64.00
+G_M63852_IG10:
call [rax+0x10]System.Collections.ObjectModel.Collection`1[System.Nullable`1[int]]:RemoveItem(int):this
mov eax, 1
;; size=8 bbWeight=1 PerfScore 3.25
-G_M63852_IG09:
+G_M63852_IG11:
add rsp, 176
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63852_IG10:
+G_M63852_IG12:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov eax, dword ptr [rbp-0x44]
inc eax
mov dword ptr [rbp-0x44], eax
;; size=23 bbWeight=1 PerfScore 3.50
-G_M63852_IG11:
- mov eax, dword ptr [rbp-0x80]
+G_M63852_IG13:
+ mov eax, dword ptr [rbp-0x90]
dec eax
- mov dword ptr [rbp-0x80], eax
- cmp dword ptr [rbp-0x80], 0
- jg SHORT G_M63852_IG13
- ;; size=14 bbWeight=1 PerfScore 5.25
-G_M63852_IG12:
- lea rdi, [rbp-0x80]
+ mov dword ptr [rbp-0x90], eax
+ cmp dword ptr [rbp-0x90], 0
+ jg SHORT G_M63852_IG15
+ ;; size=23 bbWeight=1 PerfScore 5.25
+G_M63852_IG14:
+ lea rdi, [rbp-0x90]
mov esi, 99
call CORINFO_HELP_PATCHPOINT
- ;; size=14 bbWeight=0.01 PerfScore 0.02
-G_M63852_IG13:
+ ;; size=17 bbWeight=0.01 PerfScore 0.02
+G_M63852_IG15:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
call [rax]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Count():int:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.List`1[System.Nullable`1[int]]:get_Count():int:this
cmp eax, dword ptr [rbp-0x44]
- jg G_M63852_IG07
+ jg G_M63852_IG09
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
xor eax, eax
;; size=59 bbWeight=1 PerfScore 15.25
-G_M63852_IG14:
+G_M63852_IG16:
add rsp, 176
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-; Total bytes of code 661, prolog size 49, PerfScore 145.35, instruction count 139, allocated bytes for code 661 (MethodHash=df670693) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
+; Total bytes of code 679, prolog size 47, PerfScore 148.35, instruction count 143, allocated bytes for code 679 (MethodHash=df670693) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
18 (0.41 % of base) - System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this
; Assembly listing for method System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (Tier0-FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier-0 switched to FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 101 single block inlinees; 39 inlinees without PGO data
+; 0 inlinees with PGO data; 113 single block inlinees; 45 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 54, 14.10) ref -> [rbp-0x38] this class-hnd EH-live single-def <System.Net.Security.SslStream>
; V01 loc0 [V01,T06] ( 16, 5.38) ref -> r15 class-hnd <System.Security.Cryptography.X509Certificates.X509Certificate>
; V02 loc1 [V02,T07] ( 5, 4.36) ref -> [rbp-0x40] do-not-enreg[Z] must-init class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Certificate2>
; V03 loc2 [V03,T04] ( 14, 7.07) ref -> [rbp-0x48] do-not-enreg[M] must-init ld-addr-op class-hnd EH-live <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
; V04 loc3 [V04,T23] ( 10, 1.64) ref -> [rbp-0x50] do-not-enreg[M] must-init class-hnd EH-live <System.String[]>
-; V05 loc4 [V05,T29] ( 9, 1.26) ref -> [rbp-0x58] do-not-enreg[M] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V06 loc5 [V06,T65] ( 3, 0.63) ref -> r13 class-hnd exact single-def <System.Net.Security.SslAuthenticationOptions>
+; V05 loc4 [V05,T30] ( 9, 1.26) ref -> [rbp-0x58] do-not-enreg[M] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V06 loc5 [V06,T66] ( 3, 0.63) ref -> r13 class-hnd exact single-def <System.Net.Security.SslAuthenticationOptions>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
-; V08 loc7 [V08,T15] ( 8, 2.33) int -> [rbp-0x2C] do-not-enreg[Z] EH-live
-; V09 loc8 [V09,T58] ( 9, 0.75) ref -> [rbp-0x60] do-not-enreg[Z] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V10 loc9 [V10,T28] ( 9, 1.36) ref -> [rbp-0x68] do-not-enreg[Z] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Chain>
-; V11 loc10 [V11,T73] ( 4, 0.43) ubyte -> r14
-; V12 loc11 [V12,T106] ( 3, 0.24) int -> r15
-; V13 loc12 [V13,T63] ( 5, 0.70) int -> r13
+; V08 loc7 [V08,T16] ( 8, 2.33) int -> [rbp-0x2C] do-not-enreg[Z] EH-live
+; V09 loc8 [V09,T59] ( 9, 0.75) ref -> [rbp-0x60] do-not-enreg[Z] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V10 loc9 [V10,T29] ( 9, 1.36) ref -> [rbp-0x68] do-not-enreg[Z] class-hnd EH-live <System.Security.Cryptography.X509Certificates.X509Chain>
+; V11 loc10 [V11,T75] ( 4, 0.43) ubyte -> r14
+; V12 loc11 [V12,T108] ( 3, 0.24) int -> r15
+; V13 loc12 [V13,T64] ( 5, 0.70) int -> r13
;* V14 loc13 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
-; V15 loc14 [V15,T59] ( 3, 0.75) int -> r15
-; V16 loc15 [V16,T11] ( 5, 2.51) int -> rbx
-;* V17 loc16 [V17,T104] ( 0, 0 ) int -> zero-ref
+; V15 loc14 [V15,T60] ( 3, 0.75) int -> r15
+; V16 loc15 [V16,T12] ( 5, 2.51) int -> rbx
+;* V17 loc16 [V17,T106] ( 0, 0 ) int -> zero-ref
;# V18 OutArgs [V18 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V19 tmp1 [V19,T16] ( 3, 2.30) ref -> r14 class-hnd exact single-def "dup spill" <System.Object[]>
+; V19 tmp1 [V19,T17] ( 3, 2.30) ref -> r14 class-hnd exact single-def "dup spill" <System.Object[]>
; V20 tmp2 [V20,T02] ( 3, 7.09) ref -> rax class-hnd "dup spill" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V21 tmp3 [V21,T77] ( 3, 0.40) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V21 tmp3 [V21,T79] ( 3, 0.40) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
;* V22 tmp4 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V23 tmp5 [V23,T33] ( 3, 1.19) ref -> rbx class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V24 tmp6 [V24,T45] ( 8, 0.94) ref -> r15 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
-; V25 tmp7 [V25,T74] ( 3, 0.43) ref -> [rbp-0x70] class-hnd exact spill-single-def "dup spill" <System.Object[]>
-; V26 tmp8 [V26,T142] ( 3, 0.05) ref -> r15 class-hnd exact "dup spill" <System.Object[]>
-; V27 tmp9 [V27,T110] ( 3, 0.20) ref -> r14 class-hnd exact "dup spill" <System.Object[]>
+; V23 tmp5 [V23,T34] ( 3, 1.19) ref -> rbx class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V24 tmp6 [V24,T46] ( 8, 0.94) ref -> r15 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
+; V25 tmp7 [V25,T76] ( 3, 0.43) ref -> [rbp-0x70] class-hnd exact spill-single-def "dup spill" <System.Object[]>
+; V26 tmp8 [V26,T145] ( 3, 0.05) ref -> r15 class-hnd exact "dup spill" <System.Object[]>
+; V27 tmp9 [V27,T112] ( 3, 0.20) ref -> r14 class-hnd exact "dup spill" <System.Object[]>
;* V28 tmp10 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.Security.LocalCertificateSelectionCallback>
;* V29 tmp11 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V30 tmp12 [V30,T51] ( 3, 0.78) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
-; V31 tmp13 [V31,T12] ( 3, 2.50) ref -> r14 class-hnd exact single-def "dup spill" <System.Object[]>
+; V30 tmp12 [V30,T52] ( 3, 0.78) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
+; V31 tmp13 [V31,T13] ( 3, 2.50) ref -> r14 class-hnd exact single-def "dup spill" <System.Object[]>
; V32 tmp14 [V32,T22] ( 2, 1.66) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" <System.Security.Cryptography.X509Certificates.X509Certificate>
;* V33 tmp15 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V34 tmp16 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
; V35 tmp17 [V35,T24] ( 3, 1.62) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V36 tmp18 [V36,T69] ( 2, 0.54) int -> rdx "Inline return value spill temp"
+; V36 tmp18 [V36,T71] ( 2, 0.54) int -> rdx "Inline return value spill temp"
;* V37 tmp19 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V38 tmp20 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.Security.SslStreamCertificateContext>
;* V39 tmp21 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V40 tmp22 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V41 tmp23 [V41,T17] ( 3, 2.06) ref -> r15 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V42 tmp24 [V42,T31] ( 3, 1.25) ref -> rbx single-def
-; V43 tmp25 [V43,T48] ( 2, 0.83) ref -> r14 single-def
+; V40 tmp22 [V40,T09] ( 4, 3.33) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V41 tmp23 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V42 tmp24 [V42,T48] ( 2, 0.83) ref -> rbx single-def
+; V43 tmp25 [V43,T49] ( 2, 0.83) ref -> r14 single-def
;* V44 tmp26 [V44 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V45 tmp27 [V45 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V46 tmp28 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V47 tmp29 [V47 ] ( 0, 0 ) ref -> zero-ref single-def
-; V48 tmp30 [V48,T47] ( 3, 0.83) ref -> r8
-; V49 tmp31 [V49,T49] ( 2, 0.83) ref -> rdi single-def
-;* V50 tmp32 [V50,T76] ( 0, 0 ) int -> zero-ref
-; V51 tmp33 [V51,T50] ( 2, 0.83) ref -> rdx single-def
-;* V52 tmp34 [V52,T75] ( 0, 0 ) ref -> zero-ref single-def
+; V45 tmp27 [V45,T32] ( 3, 1.25) ref -> rbx single-def
+; V46 tmp28 [V46,T50] ( 2, 0.83) ref -> r14 single-def
+;* V47 tmp29 [V47,T77] ( 0, 0 ) ref -> zero-ref single-def
+; V48 tmp30 [V48,T51] ( 2, 0.83) ref -> r8 single-def
+;* V49 tmp31 [V49 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V50 tmp32 [V50 ] ( 0, 0 ) int -> zero-ref
+;* V51 tmp33 [V51 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V52 tmp34 [V52,T78] ( 0, 0 ) ref -> zero-ref
;* V53 tmp35 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V54 tmp36 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.Security.SslStreamCertificateContext>
;* V55 tmp37 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V56 tmp38 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V57 tmp39 [V57,T52] ( 3, 0.78) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V58 tmp40 [V58,T70] ( 2, 0.52) ref -> r14 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V57 tmp39 [V57,T53] ( 3, 0.78) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V58 tmp40 [V58,T72] ( 2, 0.52) ref -> r14 class-hnd exact single-def "non-inline candidate call" <System.String>
;* V59 tmp41 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
-; V60 tmp42 [V60,T99] ( 2, 0.26) ref -> rdi single-def
-;* V61 tmp43 [V61,T125] ( 0, 0 ) int -> zero-ref
-; V62 tmp44 [V62,T100] ( 2, 0.26) ref -> rdx single-def
-;* V63 tmp45 [V63,T124] ( 0, 0 ) ref -> zero-ref single-def
-; V64 tmp46 [V64,T71] ( 2, 0.52) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
+; V60 tmp42 [V60,T101] ( 2, 0.26) ref -> rdi single-def
+;* V61 tmp43 [V61,T127] ( 0, 0 ) int -> zero-ref
+; V62 tmp44 [V62,T102] ( 2, 0.26) ref -> rdx single-def
+;* V63 tmp45 [V63,T126] ( 0, 0 ) ref -> zero-ref single-def
+; V64 tmp46 [V64,T73] ( 2, 0.52) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
;* V65 tmp47 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.Security.SafeDeleteSslContext>
-; V66 tmp48 [V66,T53] ( 3, 0.78) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+; V66 tmp48 [V66,T54] ( 3, 0.78) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
;* V67 tmp49 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V68 tmp50 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V69 tmp51 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V70 tmp52 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V71 tmp53 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V72 tmp54 [V72,T46] ( 7, 0.78) ref -> rdi
-; V73 tmp55 [V73,T39] ( 4, 1.04) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
+; V72 tmp54 [V72,T47] ( 7, 0.78) ref -> rdi
+; V73 tmp55 [V73,T40] ( 4, 1.04) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V74 tmp56 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V75 tmp57 [V75,T92] ( 3, 0.33) ref -> rdx class-hnd single-def "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
-; V76 tmp58 [V76,T83] ( 4, 0.39) int -> rsi "Inline stloc first use temp"
+; V75 tmp57 [V75,T94] ( 3, 0.33) ref -> rdx class-hnd single-def "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
+; V76 tmp58 [V76,T85] ( 4, 0.39) int -> rsi "Inline stloc first use temp"
;* V77 tmp59 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V78 tmp60 [V78,T78] ( 3, 0.40) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V79 tmp61 [V79,T121] ( 2, 0.13) int -> rdx "Inline return value spill temp"
+; V78 tmp60 [V78,T80] ( 3, 0.40) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V79 tmp61 [V79,T123] ( 2, 0.13) int -> rdx "Inline return value spill temp"
;* V80 tmp62 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V81 tmp63 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V82 tmp64 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
;* V83 tmp65 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V84 tmp66 [V84,T96] ( 3, 0.28) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V85 tmp67 [V85,T129] ( 2, 0.09) int -> rdx "Inline return value spill temp"
+; V84 tmp66 [V84,T98] ( 3, 0.28) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V85 tmp67 [V85,T131] ( 2, 0.09) int -> rdx "Inline return value spill temp"
;* V86 tmp68 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V87 tmp69 [V87,T130] ( 3, 0.09) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V88 tmp70 [V88,T152] ( 2, 0.03) int -> rdx "Inline return value spill temp"
+; V87 tmp69 [V87,T132] ( 3, 0.09) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V88 tmp70 [V88,T154] ( 2, 0.03) int -> rdx "Inline return value spill temp"
;* V89 tmp71 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V90 tmp72 [V90 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V91 tmp73 [V91 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
;* V92 tmp74 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V93 tmp75 [V93,T111] ( 3, 0.19) ref -> r11 class-hnd single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
+; V93 tmp75 [V93,T113] ( 3, 0.19) ref -> r11 class-hnd single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
;* V94 tmp76 [V94 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V95 tmp77 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V96 tmp78 [V96 ] ( 0, 0 ) ref -> zero-ref
-; V97 tmp79 [V97,T107] ( 8, 0.24) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
+; V97 tmp79 [V97,T109] ( 8, 0.24) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V98 tmp80 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V99 tmp81 [V99,T143] ( 3, 0.04) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
-; V100 tmp82 [V100,T140] ( 4, 0.05) int -> rsi "Inline stloc first use temp"
+; V99 tmp81 [V99,T146] ( 3, 0.04) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
+; V100 tmp82 [V100,T143] ( 4, 0.05) int -> rsi "Inline stloc first use temp"
;* V101 tmp83 [V101 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V102 tmp84 [V102,T127] ( 3, 0.10) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V102 tmp84 [V102,T129] ( 3, 0.10) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
;* V103 tmp85 [V103 ] ( 0, 0 ) ref -> zero-ref
-; V104 tmp86 [V104,T148] ( 2, 0.03) ref -> rbx single-def
-; V105 tmp87 [V105,T147] ( 3, 0.03) ref -> r13
-; V106 tmp88 [V106,T149] ( 2, 0.03) int -> rcx "Inline return value spill temp"
+; V104 tmp86 [V104,T150] ( 2, 0.03) ref -> rbx single-def
+; V105 tmp87 [V105,T149] ( 3, 0.03) ref -> r13
+; V106 tmp88 [V106,T151] ( 2, 0.03) int -> rcx "Inline return value spill temp"
;* V107 tmp89 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V108 tmp90 [V108 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V109 tmp91 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
;* V110 tmp92 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V111 tmp93 [V111,T126] ( 3, 0.13) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V112 tmp94 [V112,T145] ( 2, 0.04) int -> rdx "Inline return value spill temp"
-; V113 tmp95 [V113,T144] ( 3, 0.04) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V114 tmp96 [V114,T153] ( 2, 0.03) int -> r14 "Inlining Arg"
-; V115 tmp97 [V115,T159] ( 2, 0.01) int -> rcx "Inline return value spill temp"
+; V111 tmp93 [V111,T128] ( 3, 0.13) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V112 tmp94 [V112,T148] ( 2, 0.04) int -> rdx "Inline return value spill temp"
+; V113 tmp95 [V113,T147] ( 3, 0.04) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V114 tmp96 [V114,T155] ( 2, 0.03) int -> r14 "Inlining Arg"
+; V115 tmp97 [V115,T161] ( 2, 0.01) int -> rcx "Inline return value spill temp"
;* V116 tmp98 [V116 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V117 tmp99 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V118 tmp100 [V118,T98] ( 4, 0.26) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V118 tmp100 [V118,T100] ( 4, 0.26) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
;* V119 tmp101 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V120 tmp102 [V120,T136] ( 2, 0.07) ref -> r15
-; V121 tmp103 [V121,T137] ( 2, 0.07) ref -> r14
+; V120 tmp102 [V120,T138] ( 2, 0.07) ref -> r15
+; V121 tmp103 [V121,T139] ( 2, 0.07) ref -> r14
;* V122 tmp104 [V122 ] ( 0, 0 ) ref -> zero-ref
-; V123 tmp105 [V123,T128] ( 3, 0.10) ref -> r15
-; V124 tmp106 [V124,T138] ( 2, 0.07) ref -> r14
-;* V125 tmp107 [V125,T150] ( 0, 0 ) ref -> zero-ref
-; V126 tmp108 [V126,T139] ( 2, 0.07) ref -> r8
+; V123 tmp105 [V123,T130] ( 3, 0.10) ref -> r15
+; V124 tmp106 [V124,T140] ( 2, 0.07) ref -> r14
+;* V125 tmp107 [V125,T152] ( 0, 0 ) ref -> zero-ref
+; V126 tmp108 [V126,T141] ( 2, 0.07) ref -> r8
;* V127 tmp109 [V127 ] ( 0, 0 ) ref -> zero-ref
;* V128 tmp110 [V128 ] ( 0, 0 ) int -> zero-ref
;* V129 tmp111 [V129 ] ( 0, 0 ) ref -> zero-ref
-;* V130 tmp112 [V130,T151] ( 0, 0 ) ref -> zero-ref
-; V131 tmp113 [V131,T101] ( 2, 0.25) ref -> rax class-hnd exact "NewObj constructor temp" <System.Object>
-; V132 tmp114 [V132,T102] ( 2, 0.25) ref -> rax class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
-; V133 tmp115 [V133,T103] ( 2, 0.25) ref -> rax class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+;* V130 tmp112 [V130,T153] ( 0, 0 ) ref -> zero-ref
+; V131 tmp113 [V131,T103] ( 2, 0.25) ref -> rax class-hnd exact "NewObj constructor temp" <System.Object>
+; V132 tmp114 [V132,T104] ( 2, 0.25) ref -> rax class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
+; V133 tmp115 [V133,T105] ( 2, 0.25) ref -> rax class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
;* V134 tmp116 [V134 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
;* V135 tmp117 [V135 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
;* V136 tmp118 [V136 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
;* V137 tmp119 [V137 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.String>
; V138 tmp120 [V138,T21] ( 6, 1.73) ref -> r14 class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V139 tmp121 [V139,T67] ( 2, 0.62) ref -> r12 class-hnd exact "dup spill" <System.String>
-; V140 tmp122 [V140,T64] ( 6, 0.67) ref -> r12
-; V141 tmp123 [V141,T60] ( 3, 0.74) ref -> r12 class-hnd exact "dup spill" <System.String>
+; V139 tmp121 [V139,T68] ( 2, 0.62) ref -> r12 class-hnd exact "dup spill" <System.String>
+; V140 tmp122 [V140,T65] ( 6, 0.67) ref -> r12
+; V141 tmp123 [V141,T61] ( 3, 0.74) ref -> r12 class-hnd exact "dup spill" <System.String>
;* V142 tmp124 [V142 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String>
;* V143 tmp125 [V143 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V144 tmp126 [V144 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V145 tmp127 [V145,T146] ( 3, 0.04) ref -> r15 class-hnd "Inlining Arg" <System.FormattableString>
-; V146 tmp128 [V146,T154] ( 3, 0.02) ref -> rbx
-; V147 tmp129 [V147,T156] ( 2, 0.02) ref -> r13
+; V144 tmp126 [V144,T142] ( 4, 0.06) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V145 tmp127 [V145 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V146 tmp128 [V146,T157] ( 2, 0.02) ref -> rbx
+; V147 tmp129 [V147,T158] ( 2, 0.02) ref -> r15
;* V148 tmp130 [V148 ] ( 0, 0 ) ref -> zero-ref
-;* V149 tmp131 [V149 ] ( 0, 0 ) ref -> zero-ref
-;* V150 tmp132 [V150 ] ( 0, 0 ) ref -> zero-ref
-;* V151 tmp133 [V151 ] ( 0, 0 ) ref -> zero-ref
-; V152 tmp134 [V152,T155] ( 3, 0.02) ref -> r8
-; V153 tmp135 [V153,T157] ( 2, 0.02) ref -> rdi
-;* V154 tmp136 [V154,T161] ( 0, 0 ) int -> zero-ref
-; V155 tmp137 [V155,T158] ( 2, 0.02) ref -> rdx
-;* V156 tmp138 [V156,T160] ( 0, 0 ) ref -> zero-ref
+; V149 tmp131 [V149,T156] ( 3, 0.02) ref -> rbx
+; V150 tmp132 [V150,T159] ( 2, 0.02) ref -> r15
+;* V151 tmp133 [V151,T162] ( 0, 0 ) ref -> zero-ref
+; V152 tmp134 [V152,T160] ( 2, 0.02) ref -> r8
+;* V153 tmp135 [V153 ] ( 0, 0 ) ref -> zero-ref
+;* V154 tmp136 [V154 ] ( 0, 0 ) int -> zero-ref
+;* V155 tmp137 [V155 ] ( 0, 0 ) ref -> zero-ref
+;* V156 tmp138 [V156,T163] ( 0, 0 ) ref -> zero-ref
;* V157 tmp139 [V157 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V158 tmp140 [V158 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V159 tmp141 [V159,T91] ( 3, 0.36) ref -> r12 class-hnd "Inlining Arg" <System.FormattableString>
-; V160 tmp142 [V160,T109] ( 3, 0.22) ref -> [rbp-0x78] spill-single-def
-; V161 tmp143 [V161,T117] ( 2, 0.14) ref -> [rbp-0x80] spill-single-def
+; V158 tmp140 [V158,T70] ( 4, 0.58) ref -> r12 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V159 tmp141 [V159 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V160 tmp142 [V160,T118] ( 2, 0.14) ref -> [rbp-0x78] spill-single-def
+; V161 tmp143 [V161,T119] ( 2, 0.14) ref -> rax
;* V162 tmp144 [V162 ] ( 0, 0 ) ref -> zero-ref
-;* V163 tmp145 [V163 ] ( 0, 0 ) ref -> zero-ref
-;* V164 tmp146 [V164 ] ( 0, 0 ) ref -> zero-ref
-;* V165 tmp147 [V165 ] ( 0, 0 ) ref -> zero-ref
-; V166 tmp148 [V166,T116] ( 3, 0.14) ref -> r8
-; V167 tmp149 [V167,T118] ( 2, 0.14) ref -> rdi
-;* V168 tmp150 [V168,T135] ( 0, 0 ) int -> zero-ref
-; V169 tmp151 [V169,T119] ( 2, 0.14) ref -> rdx
-;* V170 tmp152 [V170,T134] ( 0, 0 ) ref -> zero-ref
+; V163 tmp145 [V163,T111] ( 3, 0.22) ref -> [rbp-0x80] spill-single-def
+; V164 tmp146 [V164,T120] ( 2, 0.14) ref -> [rbp-0x88] spill-single-def
+;* V165 tmp147 [V165,T136] ( 0, 0 ) ref -> zero-ref
+; V166 tmp148 [V166,T121] ( 2, 0.14) ref -> r8
+;* V167 tmp149 [V167 ] ( 0, 0 ) ref -> zero-ref
+;* V168 tmp150 [V168 ] ( 0, 0 ) int -> zero-ref
+;* V169 tmp151 [V169 ] ( 0, 0 ) ref -> zero-ref
+;* V170 tmp152 [V170,T137] ( 0, 0 ) ref -> zero-ref
;* V171 tmp153 [V171 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
;* V172 tmp154 [V172 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
;* V173 tmp155 [V173 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V174 tmp156 [V174 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V175 tmp157 [V175 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V176 tmp158 [V176 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V177 tmp159 [V177,T34] ( 4, 1.17) ref -> rax class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate>
+; V177 tmp159 [V177,T35] ( 4, 1.17) ref -> rax class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate>
;* V178 tmp160 [V178 ] ( 0, 0 ) ref -> zero-ref
-; V179 tmp161 [V179,T81] ( 2, 0.40) ref -> rbx
-; V180 tmp162 [V180,T80] ( 3, 0.40) ref -> r15
-; V181 tmp163 [V181,T82] ( 2, 0.40) int -> rcx "Inline return value spill temp"
+; V179 tmp161 [V179,T83] ( 2, 0.40) ref -> rbx
+; V180 tmp162 [V180,T82] ( 3, 0.40) ref -> r15
+; V181 tmp163 [V181,T84] ( 2, 0.40) int -> rcx "Inline return value spill temp"
;* V182 tmp164 [V182 ] ( 0, 0 ) ref -> zero-ref class-hnd "dup spill" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V183 tmp165 [V183,T10] ( 8, 2.59) ref -> rbx
-; V184 tmp166 [V184,T13] ( 4, 2.44) ref -> rbx class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
+; V183 tmp165 [V183,T11] ( 8, 2.59) ref -> rbx
+; V184 tmp166 [V184,T14] ( 4, 2.44) ref -> rbx class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V185 tmp167 [V185 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V186 tmp168 [V186 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V187 tmp169 [V187,T43] ( 3, 0.96) ref -> rdi class-hnd "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
-; V188 tmp170 [V188,T35] ( 4, 1.16) int -> r15 "Inline stloc first use temp"
+; V187 tmp169 [V187,T44] ( 3, 0.96) ref -> rdi class-hnd "Inline stloc first use temp" <System.Security.Cryptography.X509Certificates.X509Certificate[]>
+; V188 tmp170 [V188,T36] ( 4, 1.16) int -> r15 "Inline stloc first use temp"
; V189 tmp171 [V189,T25] ( 3, 1.53) ref -> rax class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate>
;* V190 tmp172 [V190 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V191 tmp173 [V191 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509CertificateCollection>
;* V192 tmp174 [V192 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V193 tmp175 [V193 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V194 tmp176 [V194 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
-; V195 tmp177 [V195,T97] ( 2, 0.27) int -> r12 "Inlining Arg"
-; V196 tmp178 [V196,T122] ( 2, 0.13) int -> rcx "Inline return value spill temp"
-; V197 tmp179 [V197,T79] ( 3, 0.40) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V198 tmp180 [V198,T123] ( 2, 0.13) int -> rdx "Inline return value spill temp"
-; V199 tmp181 [V199,T37] ( 3, 1.09) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
-; V200 tmp182 [V200,T90] ( 2, 0.36) int -> rcx "Inline return value spill temp"
-; V201 tmp183 [V201,T38] ( 3, 1.09) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V202 tmp184 [V202,T61] ( 2, 0.73) ref -> r13 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V195 tmp177 [V195,T99] ( 2, 0.27) int -> r12 "Inlining Arg"
+; V196 tmp178 [V196,T124] ( 2, 0.13) int -> rcx "Inline return value spill temp"
+; V197 tmp179 [V197,T81] ( 3, 0.40) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V198 tmp180 [V198,T125] ( 2, 0.13) int -> rdx "Inline return value spill temp"
+; V199 tmp181 [V199,T38] ( 3, 1.09) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Net.NetEventSource>
+; V200 tmp182 [V200,T93] ( 2, 0.36) int -> rcx "Inline return value spill temp"
+; V201 tmp183 [V201,T39] ( 3, 1.09) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V202 tmp184 [V202,T62] ( 2, 0.73) ref -> r13 class-hnd exact single-def "non-inline candidate call" <System.String>
;* V203 tmp185 [V203 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
-; V204 tmp186 [V204,T88] ( 2, 0.36) ref -> rdi single-def
-;* V205 tmp187 [V205,T113] ( 0, 0 ) int -> zero-ref
-; V206 tmp188 [V206,T89] ( 2, 0.36) ref -> rdx single-def
-;* V207 tmp189 [V207,T112] ( 0, 0 ) ref -> zero-ref single-def
-; V208 tmp190 [V208,T62] ( 2, 0.73) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
+; V204 tmp186 [V204,T91] ( 2, 0.36) ref -> rdi single-def
+;* V205 tmp187 [V205,T115] ( 0, 0 ) int -> zero-ref
+; V206 tmp188 [V206,T92] ( 2, 0.36) ref -> rdx single-def
+;* V207 tmp189 [V207,T114] ( 0, 0 ) ref -> zero-ref single-def
+; V208 tmp190 [V208,T63] ( 2, 0.73) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
;* V209 tmp191 [V209 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V210 tmp192 [V210 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V211 tmp193 [V211 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]>
;* V212 tmp194 [V212 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V213 tmp195 [V213 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
; V214 tmp196 [V214,T19] ( 3, 1.90) ref -> r14 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V215 tmp197 [V215,T36] ( 3, 1.15) ref -> rbx single-def
-; V216 tmp198 [V216,T55] ( 2, 0.77) ref -> r13 single-def
+; V215 tmp197 [V215,T37] ( 3, 1.15) ref -> rbx single-def
+; V216 tmp198 [V216,T56] ( 2, 0.77) ref -> r13 single-def
;* V217 tmp199 [V217 ] ( 0, 0 ) ref -> zero-ref single-def
;* V218 tmp200 [V218 ] ( 0, 0 ) ref -> zero-ref single-def
;* V219 tmp201 [V219 ] ( 0, 0 ) ref -> zero-ref single-def
;* V220 tmp202 [V220 ] ( 0, 0 ) ref -> zero-ref single-def
-; V221 tmp203 [V221,T54] ( 3, 0.77) ref -> r8
-; V222 tmp204 [V222,T56] ( 2, 0.77) ref -> rdi single-def
-;* V223 tmp205 [V223,T85] ( 0, 0 ) int -> zero-ref
-; V224 tmp206 [V224,T57] ( 2, 0.77) ref -> rdx single-def
-;* V225 tmp207 [V225,T84] ( 0, 0 ) ref -> zero-ref single-def
-; V226 tmp208 [V226,T86] ( 3, 0.37) ref -> rax single-def "argument with side effect"
-; V227 tmp209 [V227,T66] ( 3, 0.62) ref -> rax single-def "argument with side effect"
-; V228 tmp210 [V228,T09] ( 3, 3.21) ref -> rax "argument with side effect"
-; V229 tmp211 [V229,T68] ( 2, 0.62) ref -> rdi "argument with side effect"
-; V230 tmp212 [V230,T14] ( 2, 2.44) ref -> rdi "argument with side effect"
+; V221 tmp203 [V221,T55] ( 3, 0.77) ref -> r8
+; V222 tmp204 [V222,T57] ( 2, 0.77) ref -> rdi single-def
+;* V223 tmp205 [V223,T88] ( 0, 0 ) int -> zero-ref
+; V224 tmp206 [V224,T58] ( 2, 0.77) ref -> rdx single-def
+;* V225 tmp207 [V225,T87] ( 0, 0 ) ref -> zero-ref single-def
+; V226 tmp208 [V226,T89] ( 3, 0.37) ref -> rax single-def "argument with side effect"
+; V227 tmp209 [V227,T67] ( 3, 0.62) ref -> rax single-def "argument with side effect"
+; V228 tmp210 [V228,T10] ( 3, 3.21) ref -> rax "argument with side effect"
+; V229 tmp211 [V229,T69] ( 2, 0.62) ref -> rdi "argument with side effect"
+; V230 tmp212 [V230,T15] ( 2, 2.44) ref -> rdi "argument with side effect"
; V231 tmp213 [V231,T08] ( 3, 3.66) ref -> rdi "argument with side effect"
-; V232 tmp214 [V232,T115] ( 3, 0.15) ref -> rax single-def "argument with side effect"
-; V233 tmp215 [V233,T42] ( 2, 1.00) long -> rdx "argument with side effect"
-; V234 tmp216 [V234,T41] ( 2, 1.00) ref -> r15 single-def "argument with side effect"
-; V235 tmp217 [V235,T87] ( 3, 0.37) ref -> rax single-def "argument with side effect"
+; V232 tmp214 [V232,T117] ( 3, 0.15) ref -> rax single-def "argument with side effect"
+; V233 tmp215 [V233,T43] ( 2, 1.00) long -> rdx "argument with side effect"
+; V234 tmp216 [V234,T42] ( 2, 1.00) ref -> r15 single-def "argument with side effect"
+; V235 tmp217 [V235,T90] ( 3, 0.37) ref -> rax single-def "argument with side effect"
; V236 tmp218 [V236,T03] ( 3, 7.09) ref -> rsi "arr expr"
-; V237 PSPSym [V237,T40] ( 1, 1 ) long -> [rbp-0x90] do-not-enreg[V] "PSPSym"
-; V238 cse0 [V238,T18] ( 6, 1.94) ref -> r15 multi-def "CSE #05: moderate"
-; V239 cse1 [V239,T32] ( 4, 1.21) ref -> r13 "CSE #44: conservative"
-; V240 cse2 [V240,T44] ( 3, 0.96) ref -> rbx "CSE #42: conservative"
-; V241 cse3 [V241,T93] ( 3, 0.33) ref -> rbx "CSE #13: conservative"
-; V242 cse4 [V242,T108] ( 3, 0.23) ref -> rbx "CSE #19: conservative"
-; V243 cse5 [V243,T114] ( 3, 0.16) ref -> r15 "CSE #36: conservative"
-; V244 cse6 [V244,T120] ( 4, 0.13) ref -> rbx "CSE #31: conservative"
-; V245 cse7 [V245,T131] ( 3, 0.08) ref -> rbx "CSE #27: conservative"
-; V246 cse8 [V246,T133] ( 3, 0.08) ref -> r15 "CSE #21: conservative"
-;* V247 cse9 [V247,T20] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: aggressive"
-; V248 cse10 [V248,T27] ( 3, 1.46) ref -> r15 "CSE #06: conservative"
-; V249 cse11 [V249,T72] ( 3, 0.50) ref -> rax "CSE #29: conservative"
-; V250 cse12 [V250,T94] ( 3, 0.30) ref -> rax "CSE #17: conservative"
-; V251 cse13 [V251,T95] ( 3, 0.30) ref -> rax "CSE #22: conservative"
-; V252 cse14 [V252,T141] ( 3, 0.05) ref -> rbx "CSE #25: conservative"
-; V253 cse15 [V253,T30] ( 5, 1.25) ref -> r14 "CSE #10: conservative"
-; V254 cse16 [V254,T05] ( 27, 6.09) long -> rbx multi-def "CSE #03: aggressive"
-; V255 rat0 [V255,T01] ( 7, 7.74) long -> r14 "Widened IV V17"
-; V256 rat1 [V256,T105] ( 5, 0.24) ref -> r15 "replacement local"
-; V257 rat2 [V257,T132] ( 3, 0.08) long -> rdi "CSE for expectedClsNode"
-; V258 rat3 [V258,T26] ( 3, 1.50) ref -> rax "delegate invoke call"
+; V237 PSPSym [V237,T41] ( 1, 1 ) long -> [rbp-0xA0] do-not-enreg[V] "PSPSym"
+; V238 cse0 [V238,T27] ( 3, 1.46) ref -> rbx "CSE #08: conservative"
+; V239 cse1 [V239,T18] ( 6, 1.94) ref -> r15 multi-def "CSE #05: moderate"
+; V240 cse2 [V240,T33] ( 4, 1.21) ref -> r13 "CSE #47: conservative"
+; V241 cse3 [V241,T45] ( 3, 0.96) ref -> rbx "CSE #45: conservative"
+; V242 cse4 [V242,T86] ( 6, 0.39) ref -> [rbp-0x90] multi-def "CSE #42: conservative"
+; V243 cse5 [V243,T95] ( 3, 0.33) ref -> rbx "CSE #15: conservative"
+; V244 cse6 [V244,T110] ( 3, 0.23) ref -> rbx "CSE #21: conservative"
+; V245 cse7 [V245,T116] ( 3, 0.16) ref -> r15 "CSE #39: conservative"
+; V246 cse8 [V246,T122] ( 4, 0.13) ref -> rbx "CSE #33: conservative"
+; V247 cse9 [V247,T133] ( 3, 0.08) ref -> rbx "CSE #29: conservative"
+; V248 cse10 [V248,T135] ( 3, 0.08) ref -> r15 "CSE #23: conservative"
+;* V249 cse11 [V249,T20] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: aggressive"
+; V250 cse12 [V250,T28] ( 3, 1.46) ref -> r15 "CSE #06: conservative"
+; V251 cse13 [V251,T74] ( 3, 0.50) ref -> rax "CSE #31: conservative"
+; V252 cse14 [V252,T96] ( 3, 0.30) ref -> rax "CSE #19: conservative"
+; V253 cse15 [V253,T97] ( 3, 0.30) ref -> rax "CSE #24: conservative"
+; V254 cse16 [V254,T144] ( 3, 0.05) ref -> rbx "CSE #27: conservative"
+; V255 cse17 [V255,T31] ( 5, 1.25) ref -> r14 "CSE #12: conservative"
+; V256 cse18 [V256,T05] ( 24, 5.60) long -> rbx multi-def "CSE #03: aggressive"
+; V257 rat0 [V257,T01] ( 7, 7.74) long -> r14 "Widened IV V17"
+; V258 rat1 [V258,T107] ( 5, 0.24) ref -> r15 "replacement local"
+; V259 rat2 [V259,T134] ( 3, 0.08) long -> rdi "CSE for expectedClsNode"
+; V260 rat3 [V260,T26] ( 3, 1.50) ref -> rax "delegate invoke call"
;
-; Lcl frame size = 104
+; Lcl frame size = 120
G_M34773_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 104
- lea rbp, [rsp+0x90]
+ sub rsp, 120
+ lea rbp, [rsp+0xA0]
vxorps xmm8, xmm8, xmm8
vmovdqa xmmword ptr [rbp-0x50], xmm8
xor eax, eax
mov qword ptr [rbp-0x40], rax
- mov qword ptr [rbp-0x90], rsp
+ mov qword ptr [rbp-0xA0], rsp
mov gword ptr [rbp-0x38], rdi
;; size=49 bbWeight=1 PerfScore 12.33
G_M34773_IG02:
xor rax, rax
mov gword ptr [rbp-0x40], rax
;; size=6 bbWeight=1 PerfScore 1.25
G_M34773_IG03:
mov gword ptr [rbp-0x48], rax
mov rax, gword ptr [rdi+0x38]
cmp gword ptr [rax+0x20], 0
- je G_M34773_IG14
+ je G_M34773_IG11
;; size=19 bbWeight=1 PerfScore 7.00
G_M34773_IG04:
mov rax, 0xD1FFAB1E ; global ptr
test byte ptr [rax], 1
- je G_M34773_IG128
+ je G_M34773_IG119
;; size=19 bbWeight=0.52 PerfScore 2.21
G_M34773_IG05:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rbx]
cmp byte ptr [r15+0x9D], 0
je SHORT G_M34773_IG07
;; size=23 bbWeight=0.52 PerfScore 3.25
G_M34773_IG06:
cmp byte ptr [r15], r15b
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, r15
mov esi, 28
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
mov rdi, gword ptr [rbp-0x38]
;; size=39 bbWeight=0.27 PerfScore 4.06
G_M34773_IG07:
mov rsi, gword ptr [rdi+0x38]
mov rsi, gword ptr [rsi+0x20]
mov r15, gword ptr [rsi+0x10]
lea rdi, bword ptr [rdi+0x58]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbx]
- cmp byte ptr [rdi+0x9D], 0
- je G_M34773_IG11
+ mov rbx, gword ptr [rbx]
+ cmp byte ptr [rbx+0x9D], 0
+ je G_M34773_IG09
;; size=40 bbWeight=0.52 PerfScore 7.15
G_M34773_IG08:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
mov rsi, r15
lea rdi, bword ptr [r14+0x10]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r14
- mov rdi, 0xD1FFAB1E ; 'Selected cert = {0}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
mov r15, rax
- mov rbx, gword ptr [rbx]
+ mov rdi, 0xD1FFAB1E ; 'Selected cert = {0}'
+ mov gword ptr [r15+0x08], rdi
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, r14
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
- test r15, r15
- jne SHORT G_M34773_IG13
- ;; size=90 bbWeight=0.42 PerfScore 6.34
-G_M34773_IG09:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.22 PerfScore 0.05
-G_M34773_IG10:
+ mov rdi, r15
+ mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [rbx], bl
mov rdi, rbx
mov rdx, r14
- mov esi, 1
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=35 bbWeight=0.42 PerfScore 3.02
-G_M34773_IG11:
+ ;; size=151 bbWeight=0.42 PerfScore 9.78
+G_M34773_IG09:
mov rdi, gword ptr [rbp-0x38]
mov rax, gword ptr [rdi+0x38]
mov rax, gword ptr [rax+0x20]
mov rax, gword ptr [rax+0x10]
;; size=16 bbWeight=0.52 PerfScore 3.64
-G_M34773_IG12:
- add rsp, 104
+G_M34773_IG10:
+ add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.52 PerfScore 2.21
-G_M34773_IG13:
- mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- jmp SHORT G_M34773_IG10
- ;; size=20 bbWeight=0.20 PerfScore 1.15
-G_M34773_IG14:
+G_M34773_IG11:
mov rax, gword ptr [rdi+0x38]
cmp gword ptr [rax+0x30], 0
- je G_M34773_IG46
+ je G_M34773_IG43
;; size=15 bbWeight=0.48 PerfScore 2.88
-G_M34773_IG15:
+G_M34773_IG12:
mov rax, 0xD1FFAB1E ; global ptr
test byte ptr [rax], 1
- je G_M34773_IG129
+ je G_M34773_IG120
;; size=19 bbWeight=0.25 PerfScore 1.06
-G_M34773_IG16:
+G_M34773_IG13:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rbx]
cmp byte ptr [r15+0x9D], 0
- je SHORT G_M34773_IG18
+ je SHORT G_M34773_IG15
;; size=23 bbWeight=0.25 PerfScore 1.56
-G_M34773_IG17:
+G_M34773_IG14:
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
mov rdi, 0xD1FFAB1E ; 'Calling CertificateSelectionCallback'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.Object):System.String
call [rax]System.Net.NetEventSource:Format(System.Object):System.String
mov r8, rax
cmp byte ptr [r15], r15b
mov rdi, r15
mov rdx, r14
mov esi, 1
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
mov rdi, gword ptr [rbp-0x38]
;; size=80 bbWeight=0.13 PerfScore 2.01
-G_M34773_IG18:
+G_M34773_IG15:
xor rax, rax
mov gword ptr [rbp-0x58], rax
;; size=6 bbWeight=0.25 PerfScore 0.31
-G_M34773_IG19:
+G_M34773_IG16:
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:GetRequestCertificateAuthorities():System.String[]:this
call [rax]System.Net.Security.SslStream:GetRequestCertificateAuthorities():System.String[]:this
mov gword ptr [rbp-0x50], rax
mov rdi, gword ptr [rbp-0x38]
mov r15, gword ptr [rdi+0x50]
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
- je G_M34773_IG24
+ je G_M34773_IG21
;; size=43 bbWeight=0.25 PerfScore 2.87
-G_M34773_IG20:
+G_M34773_IG17:
mov rdx, 0xD1FFAB1E ; data for System.Net.CertificateValidationPal:s_chain
mov rdi, r15
xor esi, esi
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
call [rax]System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
mov gword ptr [rbp-0x58], rax
mov rdi, gword ptr [rbp-0x38]
mov r14, gword ptr [rdi+0x38]
mov r13, r14
cmp gword ptr [r13+0x10], 0
- jne SHORT G_M34773_IG23
+ jne SHORT G_M34773_IG20
;; size=51 bbWeight=0.25 PerfScore 3.12
-G_M34773_IG21:
+G_M34773_IG18:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.X509CertificateCollection
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov rdi, 0xD1FFAB1E ; System.Collections.ArrayList
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je SHORT G_M34773_IG25
+ je SHORT G_M34773_IG22
;; size=51 bbWeight=0.13 PerfScore 0.94
-G_M34773_IG22:
+G_M34773_IG19:
mov rdi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Object]:Value
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [r15+0x08]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r12+0x08]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r13+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
;; size=47 bbWeight=0.13 PerfScore 0.94
-G_M34773_IG23:
+G_M34773_IG20:
mov rdi, gword ptr [rbp-0x38]
mov rax, gword ptr [r14+0x30]
mov rcx, gword ptr [r14+0x10]
mov rdx, gword ptr [r14+0x08]
mov rsi, rdi
mov r8, gword ptr [rbp-0x58]
mov r9, gword ptr [rbp-0x50]
mov rdi, gword ptr [rax+0x08]
call [rax+0x18]System.Net.Security.LocalCertificateSelectionCallback:Invoke(System.Object,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String[]):System.Security.Cryptography.X509Certificates.X509Certificate:this
mov r15, rax
- jmp SHORT G_M34773_IG26
+ jmp SHORT G_M34773_IG23
;; size=39 bbWeight=0.25 PerfScore 4.12
-G_M34773_IG24:
+G_M34773_IG21:
mov rdi, 0xD1FFAB1E ; System.Net.CertificateValidationPal
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG20
+ jmp G_M34773_IG17
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG25:
+G_M34773_IG22:
mov rdi, 0xD1FFAB1E ; System.Array+EmptyArray`1[System.Object]
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp SHORT G_M34773_IG22
+ jmp SHORT G_M34773_IG19
;; size=17 bbWeight=0 PerfScore 0.00
-G_M34773_IG26:
+G_M34773_IG23:
cmp gword ptr [rbp-0x58], 0
- je SHORT G_M34773_IG28
+ je SHORT G_M34773_IG25
;; size=7 bbWeight=0.25 PerfScore 0.75
-G_M34773_IG27:
+G_M34773_IG24:
mov rdi, gword ptr [rbp-0x58]
mov esi, 1
mov rax, gword ptr [rbp-0x58]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
;; size=22 bbWeight=0.13 PerfScore 1.20
-G_M34773_IG28:
+G_M34773_IG25:
test r15, r15
- je G_M34773_IG40
+ je G_M34773_IG37
;; size=9 bbWeight=0.25 PerfScore 0.31
-G_M34773_IG29:
+G_M34773_IG26:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG130
+ je G_M34773_IG121
;; size=37 bbWeight=0.13 PerfScore 0.75
-G_M34773_IG30:
+G_M34773_IG27:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]:s_emptyArray
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [r14+0x08]
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x48], r14
mov rdi, r14
inc dword ptr [rdi+0x14]
mov rdx, gword ptr [rdi+0x08]
mov esi, dword ptr [rdi+0x10]
cmp dword ptr [rdx+0x08], esi
- jbe G_M34773_IG39
+ jbe G_M34773_IG36
;; size=48 bbWeight=0.13 PerfScore 2.08
-G_M34773_IG31:
+G_M34773_IG28:
lea eax, [rsi+0x01]
mov dword ptr [rdi+0x10], eax
movsxd rsi, esi
mov rdi, rdx
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
;; size=27 bbWeight=0.07 PerfScore 0.37
-G_M34773_IG32:
+G_M34773_IG29:
mov rbx, gword ptr [rbx]
cmp byte ptr [rbx+0x9D], 0
- je SHORT G_M34773_IG34
+ je SHORT G_M34773_IG31
;; size=12 bbWeight=0.13 PerfScore 0.78
-G_M34773_IG33:
+G_M34773_IG30:
cmp byte ptr [rbx], bl
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, rbx
mov esi, 10
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
;; size=38 bbWeight=0.07 PerfScore 1.01
-G_M34773_IG34:
+G_M34773_IG31:
xor r15, r15
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG136
+ je G_M34773_IG127
;; size=22 bbWeight=0.48 PerfScore 2.16
-G_M34773_IG35:
+G_M34773_IG32:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r13, gword ptr [rbx]
cmp byte ptr [r13+0x9D], 0
- je G_M34773_IG117
+ je G_M34773_IG108
;; size=27 bbWeight=0.48 PerfScore 3.00
-G_M34773_IG36:
+G_M34773_IG33:
cmp gword ptr [rbp-0x48], 0
- je G_M34773_IG116
+ je G_M34773_IG107
;; size=11 bbWeight=0.25 PerfScore 0.75
-G_M34773_IG37:
+G_M34773_IG34:
mov rdi, gword ptr [rbp-0x48]
cmp dword ptr [rdi+0x10], 0
- je G_M34773_IG116
+ je G_M34773_IG107
;; size=14 bbWeight=0.13 PerfScore 0.65
-G_M34773_IG38:
+G_M34773_IG35:
mov rdi, gword ptr [rbp-0x48]
mov r12d, dword ptr [rdi+0x10]
cmp byte ptr [r13], r13b
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov ecx, eax
mov rdi, r13
mov edx, r12d
mov esi, 17
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
mov r14, gword ptr [rbx]
cmp byte ptr [r14], r14b
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, r14
mov esi, 18
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
- jmp G_M34773_IG117
+ jmp G_M34773_IG108
;; size=98 bbWeight=0.07 PerfScore 2.51
-G_M34773_IG39:
+G_M34773_IG36:
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
- jmp G_M34773_IG32
+ jmp G_M34773_IG29
;; size=20 bbWeight=0.06 PerfScore 0.34
-G_M34773_IG40:
+G_M34773_IG37:
mov rdi, gword ptr [rbp-0x38]
mov rax, gword ptr [rdi+0x38]
mov rax, gword ptr [rax+0x10]
test rax, rax
- je SHORT G_M34773_IG42
+ je SHORT G_M34773_IG39
;; size=17 bbWeight=0.12 PerfScore 0.75
-G_M34773_IG41:
+G_M34773_IG38:
mov rax, gword ptr [rax+0x08]
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jne SHORT G_M34773_IG44
+ jne SHORT G_M34773_IG41
;; size=21 bbWeight=0.06 PerfScore 0.65
-G_M34773_IG42:
+G_M34773_IG39:
mov rbx, gword ptr [rbx]
cmp byte ptr [rbx+0x9D], 0
- je G_M34773_IG34
+ je G_M34773_IG31
;; size=16 bbWeight=0.09 PerfScore 0.54
-G_M34773_IG43:
+G_M34773_IG40:
cmp byte ptr [rbx], bl
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, rbx
mov esi, 11
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
- jmp G_M34773_IG34
+ jmp G_M34773_IG31
;; size=43 bbWeight=0.05 PerfScore 0.79
-G_M34773_IG44:
+G_M34773_IG41:
mov r15, gword ptr [rbx]
cmp byte ptr [r15+0x9D], 0
- je G_M34773_IG34
+ je G_M34773_IG31
;; size=17 bbWeight=0.03 PerfScore 0.18
-G_M34773_IG45:
+G_M34773_IG42:
cmp byte ptr [r15], r15b
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, r15
mov esi, 12
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
- jmp G_M34773_IG34
+ jmp G_M34773_IG31
;; size=44 bbWeight=0.02 PerfScore 0.26
-G_M34773_IG46:
+G_M34773_IG43:
cmp gword ptr [rdi+0x48], 0
- jne G_M34773_IG63
+ jne G_M34773_IG60
;; size=11 bbWeight=0.23 PerfScore 0.92
-G_M34773_IG47:
+G_M34773_IG44:
mov rax, gword ptr [rdi+0x38]
mov rax, gword ptr [rax+0x10]
test rax, rax
- je G_M34773_IG63
+ je G_M34773_IG60
;; size=17 bbWeight=0.12 PerfScore 0.63
-G_M34773_IG48:
+G_M34773_IG45:
mov rax, gword ptr [rax+0x08]
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M34773_IG63
+ jle G_M34773_IG60
;; size=25 bbWeight=0.06 PerfScore 0.65
-G_M34773_IG49:
+G_M34773_IG46:
mov rdi, gword ptr [rbp-0x38]
mov r11, gword ptr [rdi+0x38]
mov r11, gword ptr [r11+0x10]
cmp byte ptr [r11], r11b
mov rdi, r11
mov r11, 0xD1FFAB1E ; code for System.Collections.IList:get_Item(int):System.Object:this
xor esi, esi
call [r11]System.Collections.IList:get_Item(int):System.Object:this
mov r15, rax
test r15, r15
- je SHORT G_M34773_IG52
+ je SHORT G_M34773_IG49
;; size=41 bbWeight=0.03 PerfScore 0.43
-G_M34773_IG50:
+G_M34773_IG47:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.X509Certificate
cmp qword ptr [r15], rdi
- je SHORT G_M34773_IG52
+ je SHORT G_M34773_IG49
;; size=15 bbWeight=0.02 PerfScore 0.07
-G_M34773_IG51:
+G_M34773_IG48:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov r15, rax
;; size=18 bbWeight=0.01 PerfScore 0.03
-G_M34773_IG52:
+G_M34773_IG49:
test r15, r15
- je SHORT G_M34773_IG56
+ je SHORT G_M34773_IG53
;; size=5 bbWeight=0.03 PerfScore 0.04
-G_M34773_IG53:
+G_M34773_IG50:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG131
+ je G_M34773_IG122
;; size=37 bbWeight=0.02 PerfScore 0.10
-G_M34773_IG54:
+G_M34773_IG51:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]:s_emptyArray
mov rbx, gword ptr [rdi]
lea rdi, bword ptr [r14+0x08]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x48], r14
inc dword ptr [r14+0x14]
mov rdi, rbx
mov esi, dword ptr [r14+0x10]
cmp dword ptr [rdi+0x08], esi
- jbe G_M34773_IG61
+ jbe G_M34773_IG58
;; size=49 bbWeight=0.02 PerfScore 0.24
-G_M34773_IG55:
+G_M34773_IG52:
lea edx, [rsi+0x01]
mov dword ptr [r14+0x10], edx
movsxd rsi, esi
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
;; size=25 bbWeight=0.01 PerfScore 0.05
-G_M34773_IG56:
+G_M34773_IG53:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG132
+ je G_M34773_IG123
;; size=19 bbWeight=0.03 PerfScore 0.14
-G_M34773_IG57:
+G_M34773_IG54:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rbx, gword ptr [rbx]
cmp byte ptr [rbx+0x9D], 0
- je G_M34773_IG34
+ je G_M34773_IG31
;; size=26 bbWeight=0.03 PerfScore 0.20
-G_M34773_IG58:
+G_M34773_IG55:
cmp byte ptr [rbx], bl
test r15, r15
- jne SHORT G_M34773_IG62
+ jne SHORT G_M34773_IG59
;; size=7 bbWeight=0.02 PerfScore 0.07
-G_M34773_IG59:
+G_M34773_IG56:
xor r13, r13
;; size=3 bbWeight=0.01 PerfScore 0.00
-G_M34773_IG60:
+G_M34773_IG57:
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov ecx, eax
mov rdi, rbx
mov rdx, r13
mov esi, 13
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
- jmp G_M34773_IG34
+ jmp G_M34773_IG31
;; size=44 bbWeight=0.02 PerfScore 0.24
-G_M34773_IG61:
+G_M34773_IG58:
mov rdi, r14
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
- jmp SHORT G_M34773_IG56
+ jmp SHORT G_M34773_IG53
;; size=20 bbWeight=0.01 PerfScore 0.05
-G_M34773_IG62:
+G_M34773_IG59:
mov rdi, r15
mov esi, 1
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x60]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:ToString(ubyte):System.String:this
mov r13, rax
- jmp SHORT G_M34773_IG60
+ jmp SHORT G_M34773_IG57
;; size=22 bbWeight=0.01 PerfScore 0.08
-G_M34773_IG63:
+G_M34773_IG60:
mov rdi, gword ptr [rbp-0x38]
mov rax, gword ptr [rdi+0x38]
mov rax, gword ptr [rax+0x10]
test rax, rax
- je G_M34773_IG34
+ je G_M34773_IG31
;; size=21 bbWeight=0.20 PerfScore 1.24
-G_M34773_IG64:
+G_M34773_IG61:
mov rax, gword ptr [rax+0x08]
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M34773_IG34
+ jle G_M34773_IG31
;; size=25 bbWeight=0.10 PerfScore 1.08
-G_M34773_IG65:
+G_M34773_IG62:
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:GetRequestCertificateAuthorities():System.String[]:this
call [rax]System.Net.Security.SslStream:GetRequestCertificateAuthorities():System.String[]:this
mov gword ptr [rbp-0x50], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG133
+ je G_M34773_IG124
;; size=39 bbWeight=0.05 PerfScore 0.51
-G_M34773_IG66:
+G_M34773_IG63:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rbx, gword ptr [rbx]
cmp byte ptr [rbx+0x9D], 0
- je SHORT G_M34773_IG70
+ je SHORT G_M34773_IG67
;; size=22 bbWeight=0.05 PerfScore 0.33
-G_M34773_IG67:
+G_M34773_IG64:
cmp gword ptr [rbp-0x50], 0
- je SHORT G_M34773_IG69
+ je SHORT G_M34773_IG66
;; size=7 bbWeight=0.03 PerfScore 0.08
-G_M34773_IG68:
+G_M34773_IG65:
mov rdi, gword ptr [rbp-0x50]
cmp dword ptr [rdi+0x08], 0
- jne G_M34773_IG78
+ jne G_M34773_IG75
;; size=14 bbWeight=0.01 PerfScore 0.07
-G_M34773_IG69:
+G_M34773_IG66:
cmp byte ptr [rbx], bl
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov edx, eax
mov rdi, rbx
mov esi, 14
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int):this
;; size=38 bbWeight=0.02 PerfScore 0.31
-G_M34773_IG70:
+G_M34773_IG67:
xor edi, edi
mov dword ptr [rbp-0x2C], edi
- jmp SHORT G_M34773_IG73
+ jmp SHORT G_M34773_IG70
;; size=7 bbWeight=0.05 PerfScore 0.17
-G_M34773_IG71:
+G_M34773_IG68:
mov rdi, rbx
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
;; size=18 bbWeight=0.18 PerfScore 0.69
-G_M34773_IG72:
+G_M34773_IG69:
mov edi, dword ptr [rbp-0x2C]
inc edi
mov dword ptr [rbp-0x2C], edi
;; size=8 bbWeight=0.48 PerfScore 1.08
-G_M34773_IG73:
+G_M34773_IG70:
mov rdi, gword ptr [rbp-0x38]
mov rax, gword ptr [rdi+0x38]
mov rax, gword ptr [rax+0x10]
mov rax, gword ptr [rax+0x08]
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
cmp eax, dword ptr [rbp-0x2C]
- jle G_M34773_IG34
+ jle G_M34773_IG31
;; size=38 bbWeight=0.54 PerfScore 9.24
-G_M34773_IG74:
+G_M34773_IG71:
cmp gword ptr [rbp-0x50], 0
- je G_M34773_IG105
+ je G_M34773_IG96
;; size=11 bbWeight=0.48 PerfScore 1.45
-G_M34773_IG75:
+G_M34773_IG72:
mov rdi, gword ptr [rbp-0x50]
cmp dword ptr [rdi+0x08], 0
- je G_M34773_IG105
+ je G_M34773_IG96
;; size=14 bbWeight=0.25 PerfScore 1.25
-G_M34773_IG76:
+G_M34773_IG73:
xor rdi, rdi
mov gword ptr [rbp-0x60], rdi
;; size=6 bbWeight=0.13 PerfScore 0.16
-G_M34773_IG77:
+G_M34773_IG74:
mov gword ptr [rbp-0x68], rdi
- jmp SHORT G_M34773_IG79
+ jmp SHORT G_M34773_IG76
;; size=6 bbWeight=0.13 PerfScore 0.39
-G_M34773_IG78:
+G_M34773_IG75:
mov r15, rbx
mov rdi, gword ptr [rbp-0x50]
mov r14d, dword ptr [rdi+0x08]
cmp byte ptr [r15], r15b
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov ecx, eax
mov rdi, r15
mov edx, r14d
mov esi, 15
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
- jmp G_M34773_IG70
+ jmp G_M34773_IG67
;; size=58 bbWeight=0.01 PerfScore 0.14
-G_M34773_IG79:
+G_M34773_IG76:
mov rdi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rdi+0x38]
mov rdi, gword ptr [rsi+0x10]
mov esi, dword ptr [rbp-0x2C]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:MakeEx(System.Security.Cryptography.X509Certificates.X509Certificate):System.Security.Cryptography.X509Certificates.X509Certificate2
call [rax]System.Net.Security.SslStream:MakeEx(System.Security.Cryptography.X509Certificates.X509Certificate):System.Security.Cryptography.X509Certificates.X509Certificate2
mov gword ptr [rbp-0x60], rax
cmp gword ptr [rbp-0x60], 0
- je G_M34773_IG101
+ je G_M34773_IG92
;; size=59 bbWeight=0.13 PerfScore 2.57
-G_M34773_IG80:
+G_M34773_IG77:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG100
+ je G_M34773_IG91
;; size=19 bbWeight=0.06 PerfScore 0.27
-G_M34773_IG81:
+G_M34773_IG78:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rbx]
cmp byte ptr [r15+0x9D], 0
- je G_M34773_IG83
+ je G_M34773_IG80
;; size=27 bbWeight=0.06 PerfScore 0.39
-G_M34773_IG82:
+G_M34773_IG79:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
lea rdi, bword ptr [r14+0x10]
mov rsi, gword ptr [rbp-0x60]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
call CORINFO_HELP_NEWSFAST
mov r13, rax
mov rdi, 0xD1FFAB1E ; 'Root cert: {0}'
mov gword ptr [r13+0x08], rdi
lea rdi, bword ptr [r13+0x10]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
cmp byte ptr [r15], r15b
mov rdi, r15
mov rdx, r14
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
;; size=153 bbWeight=0.03 PerfScore 0.79
-G_M34773_IG83:
+G_M34773_IG80:
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.X509Chain
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Object
call CORINFO_HELP_NEWSFAST
lea rdi, bword ptr [r15+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x68], r15
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
xor edi, edi
mov dword ptr [rax+0x28], edi
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov dword ptr [rax+0x30], 64
mov rdi, r15
mov rsi, gword ptr [rbp-0x60]
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:Build(System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte):ubyte:this
xor r14d, r14d
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
cmp dword ptr [rdi+0x08], 0
- jle G_M34773_IG93
+ jle G_M34773_IG88
;; size=147 bbWeight=0.06 PerfScore 1.83
-G_M34773_IG84:
+G_M34773_IG81:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov r15d, dword ptr [rdi+0x08]
xor r13d, r13d
test r15d, r15d
- jle G_M34773_IG93
+ jle G_M34773_IG88
;; size=35 bbWeight=0.03 PerfScore 0.29
-G_M34773_IG85:
+G_M34773_IG82:
mov rdi, gword ptr [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov r14, gword ptr [rax+0x08]
cmp byte ptr [r14], r14b
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
mov r12, gword ptr [r14+0x10]
test r12, r12
- jne SHORT G_M34773_IG87
+ jne SHORT G_M34773_IG84
;; size=67 bbWeight=0.15 PerfScore 3.50
-G_M34773_IG86:
+G_M34773_IG83:
mov rdi, gword ptr [r14+0x48]
mov r11, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_Issuer():System.String:this
call [r11]System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_Issuer():System.String:this
mov r12, rax
lea rdi, bword ptr [r14+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
;; size=32 bbWeight=0.12 PerfScore 0.89
-G_M34773_IG87:
+G_M34773_IG84:
mov r8, gword ptr [rbp-0x50]
mov r8d, dword ptr [r8+0x08]
mov rsi, gword ptr [rbp-0x50]
mov rdx, r12
mov rdi, 0xD1FFAB1E ; System.Array:IndexOf[System.String](System.String[],System.String,int,int):int
xor ecx, ecx
mov rax, 0xD1FFAB1E ; code for System.Array:IndexOf[System.__Canon](System.__Canon[],System.__Canon,int,int):int
call [rax]System.Array:IndexOf[System.__Canon](System.__Canon[],System.__Canon,int,int):int
cmp eax, -1
setne r14b
movzx r14, r14b
test r14d, r14d
- jne G_M34773_IG95
+ jne G_M34773_IG89
;; size=59 bbWeight=0.15 PerfScore 1.66
-G_M34773_IG88:
- mov rdi, gword ptr [rbx]
- cmp byte ptr [rdi+0x9D], 0
- je G_M34773_IG92
- ;; size=16 bbWeight=0.14 PerfScore 0.83
-G_M34773_IG89:
+G_M34773_IG85:
+ mov rax, gword ptr [rbx]
+ mov gword ptr [rbp-0x90], rax
+ cmp byte ptr [rax+0x9D], 0
+ je G_M34773_IG87
+ ;; size=23 bbWeight=0.14 PerfScore 0.97
+G_M34773_IG86:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0x70], rax
lea rdi, bword ptr [rax+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [rbp-0x70]
- mov rdi, 0xD1FFAB1E ; 'No match: {0}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
mov r12, rax
- mov rax, gword ptr [rbx]
+ mov rdi, 0xD1FFAB1E ; 'No match: {0}'
+ mov gword ptr [r12+0x08], rdi
+ lea rdi, bword ptr [r12+0x10]
+ mov rsi, gword ptr [rbp-0x70]
+ call CORINFO_HELP_ASSIGN_REF
+ mov rax, gword ptr [rbp-0x90]
mov gword ptr [rbp-0x78], rax
mov rdi, gword ptr [rbp-0x38]
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
- call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov rdx, rax
- mov gword ptr [rbp-0x80], rdx
- test r12, r12
- jne SHORT G_M34773_IG94
- ;; size=100 bbWeight=0.07 PerfScore 1.35
-G_M34773_IG90:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.04 PerfScore 0.01
-G_M34773_IG91:
- mov r12, gword ptr [rbp-0x78]
+ mov rcx, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
+ call [rcx]System.Net.NetEventSource:IdOf(System.Object):System.String
+ mov rcx, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0x80], rcx
+ mov gword ptr [rbp-0x88], rax
+ mov rdi, r12
+ mov rdx, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rdx]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
+ mov r12, gword ptr [rbp-0x80]
cmp byte ptr [r12], r12b
mov rdi, r12
- mov esi, 1
+ mov rdx, gword ptr [rbp-0x88]
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=38 bbWeight=0.07 PerfScore 0.58
-G_M34773_IG92:
+ ;; size=188 bbWeight=0.07 PerfScore 2.27
+G_M34773_IG87:
inc r13d
cmp r13d, r15d
- jl G_M34773_IG85
+ jl G_M34773_IG82
;; size=12 bbWeight=0.17 PerfScore 0.26
-G_M34773_IG93:
+G_M34773_IG88:
test r14d, r14d
- je G_M34773_IG101
- jmp G_M34773_IG103
+ je G_M34773_IG92
+ jmp G_M34773_IG94
;; size=14 bbWeight=0.06 PerfScore 0.20
-G_M34773_IG94:
- mov rdi, r12
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- mov rdx, gword ptr [rbp-0x80]
- jmp SHORT G_M34773_IG91
- ;; size=24 bbWeight=0.03 PerfScore 0.23
-G_M34773_IG95:
- mov rdi, gword ptr [rbx]
- cmp byte ptr [rdi+0x9D], 0
- je SHORT G_M34773_IG93
- ;; size=12 bbWeight=0.02 PerfScore 0.09
-G_M34773_IG96:
+G_M34773_IG89:
+ mov rax, gword ptr [rbx]
+ mov rbx, rax
+ cmp byte ptr [rbx+0x9D], 0
+ je SHORT G_M34773_IG88
+ ;; size=15 bbWeight=0.02 PerfScore 0.10
+G_M34773_IG90:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r15
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov r13, rax
mov rdi, 0xD1FFAB1E ; 'Matched {0}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov r15, rax
- mov rbx, gword ptr [rbx]
+ mov gword ptr [r13+0x08], rdi
+ lea rdi, bword ptr [r13+0x10]
+ mov rsi, r15
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov r13, rax
- test r15, r15
- jne SHORT G_M34773_IG99
- ;; size=90 bbWeight=0.01 PerfScore 0.12
-G_M34773_IG97:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.00 PerfScore 0.00
-G_M34773_IG98:
+ mov r15, rax
+ mov rdi, r13
+ mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [rbx], bl
mov rdi, rbx
- mov rdx, r13
- mov esi, 1
+ mov rdx, r15
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- jmp G_M34773_IG93
- ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M34773_IG99:
- mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- jmp SHORT G_M34773_IG98
- ;; size=20 bbWeight=0.00 PerfScore 0.02
-G_M34773_IG100:
+ jmp G_M34773_IG88
+ ;; size=156 bbWeight=0.01 PerfScore 0.20
+G_M34773_IG91:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG81
+ jmp G_M34773_IG78
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG101:
+G_M34773_IG92:
mov rdi, rsp
;; size=3 bbWeight=0.10 PerfScore 0.03
-G_M34773_IG102:
- call G_M34773_IG143
- jmp G_M34773_IG72
+G_M34773_IG93:
+ call G_M34773_IG134
+ jmp G_M34773_IG69
;; size=10 bbWeight=0.10 PerfScore 0.30
-G_M34773_IG103:
+G_M34773_IG94:
mov rdi, rsp
;; size=3 bbWeight=0.03 PerfScore 0.01
-G_M34773_IG104:
- call G_M34773_IG143
+G_M34773_IG95:
+ call G_M34773_IG134
nop
;; size=6 bbWeight=0.03 PerfScore 0.04
-G_M34773_IG105:
+G_M34773_IG96:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG134
+ je G_M34773_IG125
;; size=19 bbWeight=0.38 PerfScore 1.62
-G_M34773_IG106:
+G_M34773_IG97:
mov rbx, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rbx, gword ptr [rbx]
cmp byte ptr [rbx+0x9D], 0
- je SHORT G_M34773_IG110
+ je SHORT G_M34773_IG101
;; size=22 bbWeight=0.38 PerfScore 2.38
-G_M34773_IG107:
+G_M34773_IG98:
mov rdi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rdi+0x38]
mov rdi, gword ptr [rsi+0x10]
mov esi, dword ptr [rbp-0x2C]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp byte ptr [rbx], bl
test rax, rax
- jne G_M34773_IG115
+ jne G_M34773_IG106
;; size=40 bbWeight=0.20 PerfScore 3.27
-G_M34773_IG108:
+G_M34773_IG99:
xor r15, r15
;; size=3 bbWeight=0.10 PerfScore 0.03
-G_M34773_IG109:
+G_M34773_IG100:
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov ecx, eax
mov rdi, rbx
mov rdx, r15
mov esi, 16
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
;; size=39 bbWeight=0.20 PerfScore 2.43
-G_M34773_IG110:
+G_M34773_IG101:
mov rbx, gword ptr [rbp-0x48]
cmp gword ptr [rbp-0x48], 0
- jne SHORT G_M34773_IG113
+ jne SHORT G_M34773_IG104
;; size=11 bbWeight=0.38 PerfScore 1.53
-G_M34773_IG111:
+G_M34773_IG102:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M34773_IG135
+ je G_M34773_IG126
;; size=37 bbWeight=0.31 PerfScore 1.76
-G_M34773_IG112:
+G_M34773_IG103:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]:s_emptyArray
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [rbx+0x08]
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x48], rbx
;; size=26 bbWeight=0.31 PerfScore 1.45
-G_M34773_IG113:
+G_M34773_IG104:
mov rdi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rdi+0x38]
mov rdi, gword ptr [rsi+0x10]
mov esi, dword ptr [rbp-0x2C]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
inc dword ptr [rbx+0x14]
mov rdi, gword ptr [rbx+0x08]
mov r15d, dword ptr [rbx+0x10]
cmp dword ptr [rdi+0x08], r15d
- jbe G_M34773_IG71
+ jbe G_M34773_IG68
;; size=50 bbWeight=0.38 PerfScore 8.87
-G_M34773_IG114:
+G_M34773_IG105:
lea esi, [r15+0x01]
mov dword ptr [rbx+0x10], esi
movsxd rsi, r15d
mov rdx, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
- jmp G_M34773_IG72
+ jmp G_M34773_IG69
;; size=30 bbWeight=0.20 PerfScore 1.44
-G_M34773_IG115:
+G_M34773_IG106:
mov rdi, rax
mov esi, 1
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x60]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:ToString(ubyte):System.String:this
mov r15, rax
- jmp G_M34773_IG109
+ jmp G_M34773_IG100
;; size=25 bbWeight=0.10 PerfScore 0.93
-G_M34773_IG116:
+G_M34773_IG107:
mov r14, r13
cmp byte ptr [r14], r14b
mov rdi, gword ptr [rbp-0x38]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x18]System.Object:GetHashCode():int:this
mov ecx, eax
mov rdi, r14
mov esi, 17
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
mov r14, gword ptr [rbx]
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r13, rax
mov rdi, 0xD1FFAB1E ; 'No client certificate to choose from'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.Object):System.String
call [rax]System.Net.NetEventSource:Format(System.Object):System.String
mov r8, rax
cmp byte ptr [r14], r14b
mov rdi, r14
mov rdx, r13
mov esi, 1
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
;; size=127 bbWeight=0.18 PerfScore 6.01
-G_M34773_IG117:
+G_M34773_IG108:
cmp gword ptr [rbp-0x48], 0
- je SHORT G_M34773_IG121
+ je SHORT G_M34773_IG112
;; size=7 bbWeight=0.48 PerfScore 1.44
-G_M34773_IG118:
+G_M34773_IG109:
xor r14d, r14d
mov rsi, gword ptr [rbp-0x48]
cmp dword ptr [rsi+0x10], 0
- jle SHORT G_M34773_IG121
+ jle SHORT G_M34773_IG112
;; size=13 bbWeight=0.25 PerfScore 1.31
-G_M34773_IG119:
+G_M34773_IG110:
mov rsi, gword ptr [rbp-0x48]
cmp r14d, dword ptr [rsi+0x10]
- jae G_M34773_IG137
+ jae G_M34773_IG128
mov rsi, gword ptr [rbp-0x48]
mov rsi, gword ptr [rsi+0x08]
cmp r14d, dword ptr [rsi+0x08]
- jae G_M34773_IG138
+ jae G_M34773_IG129
mov r15, gword ptr [rsi+8*r14+0x10]
mov rdi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rdi+0x38]
movzx rsi, byte ptr [rsi+0x6D]
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:FindCertificateWithPrivateKey(System.Object,ubyte,System.Security.Cryptography.X509Certificates.X509Certificate):System.Security.Cryptography.X509Certificates.X509Certificate2
call [rax]System.Net.Security.SslStream:FindCertificateWithPrivateKey(System.Object,ubyte,System.Security.Cryptography.X509Certificates.X509Certificate):System.Security.Cryptography.X509Certificates.X509Certificate2
mov gword ptr [rbp-0x40], rax
test rax, rax
- jne SHORT G_M34773_IG121
+ jne SHORT G_M34773_IG112
;; size=74 bbWeight=1.18 PerfScore 29.26
-G_M34773_IG120:
+G_M34773_IG111:
xor r15, r15
xor rdi, rdi
mov gword ptr [rbp-0x40], rdi
inc r14d
mov rdi, gword ptr [rbp-0x48]
cmp r14d, dword ptr [rdi+0x10]
- jl SHORT G_M34773_IG119
+ jl SHORT G_M34773_IG110
;; size=22 bbWeight=1.31 PerfScore 8.87
-G_M34773_IG121:
+G_M34773_IG112:
mov rdi, gword ptr [rbx]
cmp byte ptr [rdi+0x9D], 0
- je G_M34773_IG125
+ je G_M34773_IG116
;; size=16 bbWeight=0.48 PerfScore 2.88
-G_M34773_IG122:
+G_M34773_IG113:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
lea rdi, bword ptr [r14+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rsi, r14
mov rdi, 0xD1FFAB1E ; 'Selected cert = {0}'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
mov r14, rax
mov rbx, gword ptr [rbx]
mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r13, rax
test r14, r14
- jne SHORT G_M34773_IG127
+ jne SHORT G_M34773_IG118
;; size=91 bbWeight=0.38 PerfScore 6.14
-G_M34773_IG123:
+G_M34773_IG114:
mov r8, 0xD1FFAB1E ; ''
;; size=10 bbWeight=0.20 PerfScore 0.05
-G_M34773_IG124:
+G_M34773_IG115:
cmp byte ptr [rbx], bl
mov rdi, rbx
mov rdx, r13
mov esi, 1
mov rcx, 0xD1FFAB1E ; 'SelectClientCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
;; size=35 bbWeight=0.38 PerfScore 2.78
-G_M34773_IG125:
+G_M34773_IG116:
mov rdi, gword ptr [rbp-0x38]
lea rdi, bword ptr [rdi+0x58]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rax, gword ptr [rbp-0x40]
;; size=20 bbWeight=0.48 PerfScore 1.80
-G_M34773_IG126:
- add rsp, 104
+G_M34773_IG117:
+ add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.48 PerfScore 2.04
-G_M34773_IG127:
+G_M34773_IG118:
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- jmp SHORT G_M34773_IG124
+ jmp SHORT G_M34773_IG115
;; size=20 bbWeight=0.18 PerfScore 1.06
-G_M34773_IG128:
+G_M34773_IG119:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
mov rdi, gword ptr [rbp-0x38]
jmp G_M34773_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M34773_IG129:
+G_M34773_IG120:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
mov rdi, gword ptr [rbp-0x38]
- jmp G_M34773_IG16
+ jmp G_M34773_IG13
;; size=24 bbWeight=0 PerfScore 0.00
-G_M34773_IG130:
+G_M34773_IG121:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG30
+ jmp G_M34773_IG27
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG131:
+G_M34773_IG122:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG54
+ jmp G_M34773_IG51
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG132:
+G_M34773_IG123:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG57
+ jmp G_M34773_IG54
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG133:
+G_M34773_IG124:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG66
+ jmp G_M34773_IG63
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG134:
+G_M34773_IG125:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG106
+ jmp G_M34773_IG97
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG135:
+G_M34773_IG126:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Security.Cryptography.X509Certificates.X509Certificate]
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG112
+ jmp G_M34773_IG103
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG136:
+G_M34773_IG127:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M34773_IG35
+ jmp G_M34773_IG32
;; size=20 bbWeight=0 PerfScore 0.00
-G_M34773_IG137:
+G_M34773_IG128:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M34773_IG138:
+G_M34773_IG129:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M34773_IG139:
+G_M34773_IG130:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0x90]
+ lea rbp, [rbp+0xA0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M34773_IG140:
+G_M34773_IG131:
cmp gword ptr [rbp-0x58], 0
- je SHORT G_M34773_IG141
+ je SHORT G_M34773_IG132
mov rdi, gword ptr [rbp-0x58]
mov esi, 1
mov rax, gword ptr [rbp-0x58]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
;; size=29 bbWeight=0 PerfScore 0.00
-G_M34773_IG141:
+G_M34773_IG132:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M34773_IG142:
+G_M34773_IG133:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M34773_IG143:
+G_M34773_IG134:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0x90]
+ lea rbp, [rbp+0xA0]
;; size=25 bbWeight=0.13 PerfScore 1.37
-G_M34773_IG144:
+G_M34773_IG135:
cmp gword ptr [rbp-0x68], 0
- je SHORT G_M34773_IG148
+ je SHORT G_M34773_IG139
;; size=7 bbWeight=0.13 PerfScore 0.39
-G_M34773_IG145:
+G_M34773_IG136:
mov rdi, gword ptr [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov r15d, dword ptr [rdi+0x08]
xor ebx, ebx
test r15d, r15d
- jle SHORT G_M34773_IG147
+ jle SHORT G_M34773_IG138
;; size=31 bbWeight=0.07 PerfScore 0.66
-G_M34773_IG146:
+G_M34773_IG137:
mov rdi, gword ptr [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, ebx
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov rdi, gword ptr [rax+0x08]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
inc ebx
cmp ebx, r15d
- jl SHORT G_M34773_IG146
+ jl SHORT G_M34773_IG137
;; size=60 bbWeight=0.61 PerfScore 13.26
-G_M34773_IG147:
+G_M34773_IG138:
mov rdi, gword ptr [rbp-0x68]
mov esi, 1
mov rax, gword ptr [rbp-0x68]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Security.Cryptography.X509Certificates.X509Chain:Dispose(ubyte):this
mov rdi, gword ptr [rbp-0x68]
call System.GC:_SuppressFinalize(System.Object)
;; size=32 bbWeight=0.07 PerfScore 0.76
-G_M34773_IG148:
+G_M34773_IG139:
cmp gword ptr [rbp-0x60], 0
- je SHORT G_M34773_IG151
+ je SHORT G_M34773_IG142
;; size=7 bbWeight=0.13 PerfScore 0.39
-G_M34773_IG149:
+G_M34773_IG140:
mov rdi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rdi+0x38]
mov rdi, gword ptr [rsi+0x10]
mov esi, dword ptr [rbp-0x2C]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509CertificateCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509Certificate:this
cmp rax, gword ptr [rbp-0x60]
- je SHORT G_M34773_IG151
+ je SHORT G_M34773_IG142
;; size=35 bbWeight=0.07 PerfScore 1.03
-G_M34773_IG150:
+G_M34773_IG141:
mov rdi, gword ptr [rbp-0x60]
mov esi, 1
mov rax, gword ptr [rbp-0x60]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
;; size=22 bbWeight=0.04 PerfScore 0.33
-G_M34773_IG151:
+G_M34773_IG142:
nop
;; size=1 bbWeight=0.13 PerfScore 0.03
-G_M34773_IG152:
+G_M34773_IG143:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.13 PerfScore 0.55
-; Total bytes of code 4348, prolog size 49, PerfScore 239.94, instruction count 992, allocated bytes for code 4348 (MethodHash=06af782a) for method System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (Tier0-FullOpts)
+; Total bytes of code 4366, prolog size 49, PerfScore 239.38, instruction count 990, allocated bytes for code 4366 (MethodHash=06af782a) for method System.Net.Security.SslStream:SelectClientCertificate():System.Security.Cryptography.X509Certificates.X509Certificate2:this (Tier0-FullOpts)
17 (1.77 % of base) - System.Net.Quic.QuicConnection:NativeCallback(ulong,ulong,ulong):int
; Assembly listing for method System.Net.Quic.QuicConnection:NativeCallback(ulong,ulong,ulong):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 6 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T03] ( 3, 2.60) long -> r15 single-def
+; V00 arg0 [V00,T04] ( 3, 2.60) long -> r15 single-def
; V01 arg1 [V01,T00] ( 4, 3.52) long -> rbx single-def
; V02 arg2 [V02,T01] ( 7, 3.11) long -> [rbp-0x20] EH-live single-def
;* V03 loc0 [V03 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Runtime.InteropServices.GCHandle>
-; V04 loc1 [V04,T13] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicConnection>
+; V04 loc1 [V04,T14] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicConnection>
; V05 loc2 [V05,T22] ( 3, 0.50) int -> [rbp-0x24] do-not-enreg[Z] EH-live
;* V06 loc3 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V08 tmp1 [V08,T02] ( 4, 4.80) ref -> rbx class-hnd exact single-def "dup spill" <System.Object[]>
-; V09 tmp2 [V09,T05] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE>
-; V10 tmp3 [V10,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
-; V11 tmp4 [V11,T08] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
+; V09 tmp2 [V09,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE>
+; V10 tmp3 [V10,T07] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
+; V11 tmp4 [V11,T09] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Quic.QuicConnection>
; V13 tmp6 [V13,T11] ( 5, 1.30) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
-; V14 tmp7 [V14,T16] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE>
+; V14 tmp7 [V14,T17] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE>
; V15 tmp8 [V15,T21] ( 2, 0.52) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
; V16 tmp9 [V16,T32] ( 2, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V17 tmp10 [V17,T30] ( 5, 0 ) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
; V18 tmp11 [V18,T31] ( 3, 0 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE>
;* V19 tmp12 [V19 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.InteropServices.GCHandle>
;* V20 tmp13 [V20 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V21 tmp14 [V21 ] ( 0, 0 ) long -> zero-ref ld-addr-op "NewObj constructor temp"
;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V23 tmp16 [V23 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V25 tmp18 [V25,T07] ( 3, 3.60) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V26 tmp19 [V26,T09] ( 2, 2.40) ref -> rdi class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V25 tmp18 [V25,T03] ( 4, 4.80) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V26 tmp19 [V26,T08] ( 3, 3.60) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "non-inline candidate call" <System.String>
;* V28 tmp21 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
; V29 tmp22 [V29,T12] ( 2, 1.20) ref -> rdi single-def
;* V30 tmp23 [V30,T20] ( 0, 0 ) int -> zero-ref
;* V31 tmp24 [V31,T18] ( 0, 0 ) ref -> zero-ref single-def
;* V32 tmp25 [V32,T19] ( 0, 0 ) ref -> zero-ref single-def
; V33 tmp26 [V33,T10] ( 2, 2.40) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V36 tmp29 [V36,T17] ( 3, 0.64) ref -> rbx class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V37 tmp30 [V37,T23] ( 3, 0.39) ref -> r15 single-def
+; V35 tmp28 [V35,T13] ( 4, 1.04) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V36 tmp29 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V37 tmp30 [V37,T24] ( 2, 0.26) ref -> r15 single-def
; V38 tmp31 [V38,T25] ( 2, 0.26) ref -> r14 single-def
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V40 tmp33 [V40 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V42 tmp35 [V42 ] ( 0, 0 ) ref -> zero-ref single-def
-; V43 tmp36 [V43,T24] ( 3, 0.26) ref -> r8
-; V44 tmp37 [V44,T26] ( 2, 0.26) ref -> rdi single-def
-;* V45 tmp38 [V45,T29] ( 0, 0 ) int -> zero-ref
-; V46 tmp39 [V46,T27] ( 2, 0.26) ref -> rdx single-def
-;* V47 tmp40 [V47,T28] ( 0, 0 ) ref -> zero-ref single-def
-; V48 tmp41 [V48,T04] ( 3, 4 ) int -> rbx "Single return block return value"
+; V40 tmp33 [V40,T23] ( 3, 0.39) ref -> r15 single-def
+; V41 tmp34 [V41,T26] ( 2, 0.26) ref -> r14 single-def
+;* V42 tmp35 [V42,T28] ( 0, 0 ) ref -> zero-ref single-def
+; V43 tmp36 [V43,T27] ( 2, 0.26) ref -> r8 single-def
+;* V44 tmp37 [V44 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V45 tmp38 [V45 ] ( 0, 0 ) int -> zero-ref
+;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V47 tmp40 [V47,T29] ( 0, 0 ) ref -> zero-ref
+; V48 tmp41 [V48,T05] ( 3, 4 ) int -> rbx "Single return block return value"
; V49 tmp42 [V49 ] ( 3, 3 ) struct (16) [rbp-0x38] do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
;* V50 tmp43 [V50 ] ( 0, 0 ) long -> zero-ref "field V03._handle (fldOffset=0x0)" P-INDEP
;* V51 tmp44 [V51 ] ( 0, 0 ) long -> zero-ref "field V19._handle (fldOffset=0x0)" P-INDEP
; V52 tmp45 [V52,T33] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V53 PSPSym [V53,T15] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
-;* V54 cse0 [V54,T14] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
+; V53 PSPSym [V53,T16] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
+;* V54 cse0 [V54,T15] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
;
; Lcl frame size = 56
G_M28573_IG01:
push rbp
push r15
push r14
push rbx
sub rsp, 56
lea rbp, [rsp+0x50]
mov qword ptr [rbp-0x50], rsp
mov qword ptr [rbp-0x20], rdx
mov r15, rdi
mov rbx, rsi
;; size=29 bbWeight=1 PerfScore 7.25
G_M28573_IG02:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
test rbx, rbx
- je G_M28573_IG21
+ je G_M28573_IG19
;; size=18 bbWeight=1 PerfScore 2.75
G_M28573_IG03:
and rbx, -2
mov rbx, gword ptr [rbx]
test rbx, rbx
jne G_M28573_IG10
;; size=16 bbWeight=0.52 PerfScore 1.82
G_M28573_IG04:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M28573_IG22
+ je G_M28573_IG20
;; size=19 bbWeight=0.75 PerfScore 3.19
G_M28573_IG05:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
je G_M28573_IG07
;; size=26 bbWeight=0.75 PerfScore 4.69
G_M28573_IG06:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov edi, dword ptr [rdi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [rbx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.IntPtr
call CORINFO_HELP_NEWSFAST
mov qword ptr [rax+0x08], r15
lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, rbx
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; 'Received event {0} for [conn][{1:X11}] while connection is alre'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
- mov r15, gword ptr [rax]
+ mov gword ptr [r15+0x08], rdi
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, rbx
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
+ mov rbx, gword ptr [rdi]
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- cmp byte ptr [r15], r15b
- mov rdi, r15
+ cmp byte ptr [rbx], bl
+ mov rdi, rbx
mov esi, 2
mov rdx, 0xD1FFAB1E ; '(null)'
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=189 bbWeight=0.60 PerfScore 17.86
+ ;; size=207 bbWeight=0.60 PerfScore 18.31
G_M28573_IG07:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
mov ebx, eax
;; size=14 bbWeight=0.75 PerfScore 2.63
G_M28573_IG08:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
mov eax, ebx
;; size=11 bbWeight=1 PerfScore 1.75
G_M28573_IG09:
add rsp, 56
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=1 PerfScore 3.25
G_M28573_IG10:
mov rdi, 0xD1FFAB1E ; System.Net.Quic.QuicConnection
cmp qword ptr [rbx], rdi
jne G_M28573_IG04
;; size=19 bbWeight=0.26 PerfScore 1.10
G_M28573_IG11:
mov gword ptr [rbp-0x40], rbx
;; size=4 bbWeight=0.13 PerfScore 0.13
G_M28573_IG12:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M28573_IG19
+ je G_M28573_IG17
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M28573_IG13:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
- je G_M28573_IG17
+ je G_M28573_IG16
;; size=26 bbWeight=0.25 PerfScore 1.56
G_M28573_IG14:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov esi, dword ptr [rdi]
mov dword ptr [rax+0x08], esi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this
call [rax]Microsoft.Quic.QUIC_CONNECTION_EVENT:ToString():System.String:this
lea rdi, bword ptr [r15+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r15
- mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
mov rbx, rax
+ mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
+ mov gword ptr [rbx+0x08], rdi
+ lea rdi, bword ptr [rbx+0x10]
+ mov rsi, r15
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rdi]
mov rdi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
- test rbx, rbx
- jne SHORT G_M28573_IG18
- ;; size=165 bbWeight=0.13 PerfScore 3.80
-G_M28573_IG15:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.07 PerfScore 0.02
-G_M28573_IG16:
+ mov rdi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [r15], r15b
mov rdi, r15
mov rdx, r14
- mov esi, 1
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
+ ;; size=213 bbWeight=0.13 PerfScore 4.67
+G_M28573_IG15:
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=36 bbWeight=0.13 PerfScore 0.94
-G_M28573_IG17:
+ ;; size=17 bbWeight=0.13 PerfScore 0.45
+G_M28573_IG16:
mov rdi, gword ptr [rbp-0x40]
mov rsi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for System.Net.Quic.QuicConnection:HandleConnectionEvent(byref):int:this
call [rax]System.Net.Quic.QuicConnection:HandleConnectionEvent(byref):int:this
mov dword ptr [rbp-0x24], eax
- jmp SHORT G_M28573_IG20
+ jmp SHORT G_M28573_IG18
;; size=25 bbWeight=0.25 PerfScore 2.06
-G_M28573_IG18:
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- jmp SHORT G_M28573_IG16
- ;; size=20 bbWeight=0.06 PerfScore 0.36
-G_M28573_IG19:
+G_M28573_IG17:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M28573_IG13
;; size=20 bbWeight=0 PerfScore 0.00
-G_M28573_IG20:
+G_M28573_IG18:
mov ebx, dword ptr [rbp-0x24]
jmp G_M28573_IG08
;; size=8 bbWeight=0.25 PerfScore 0.75
-G_M28573_IG21:
+G_M28573_IG19:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
call [rax]System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M28573_IG22:
+G_M28573_IG20:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M28573_IG05
;; size=20 bbWeight=0 PerfScore 0.00
-G_M28573_IG23:
+G_M28573_IG21:
push rbp
push r15
push r14
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0x50]
;; size=18 bbWeight=0 PerfScore 0.00
-G_M28573_IG24:
+G_M28573_IG22:
mov rbx, rsi
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
test eax, eax
- je G_M28573_IG25
+ je G_M28573_IG23
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_CONNECTION_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rsi, qword ptr [rbp-0x20]
mov edi, dword ptr [rsi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r15+0x20]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
mov rsi, r15
mov rdi, 0xD1FFAB1E ; '{0} Exception while processing event {1}: {2}'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
mov rsi, rax
mov rdi, gword ptr [rbp-0x40]
mov rdx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
call [rax]System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
;; size=191 bbWeight=0 PerfScore 0.00
-G_M28573_IG25:
+G_M28573_IG23:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
mov dword ptr [rbp-0x24], eax
- lea rax, G_M28573_IG20
+ lea rax, G_M28573_IG18
;; size=22 bbWeight=0 PerfScore 0.00
-G_M28573_IG26:
+G_M28573_IG24:
add rsp, 8
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 960, prolog size 29, PerfScore 56.96, instruction count 202, allocated bytes for code 960 (MethodHash=b0ce9062) for method System.Net.Quic.QuicConnection:NativeCallback(ulong,ulong,ulong):int (FullOpts)
+; Total bytes of code 977, prolog size 29, PerfScore 57.43, instruction count 205, allocated bytes for code 977 (MethodHash=b0ce9062) for method System.Net.Quic.QuicConnection:NativeCallback(ulong,ulong,ulong):int (FullOpts)
17 (1.77 % of base) - System.Net.Quic.QuicListener:NativeCallback(ulong,ulong,ulong):int
; Assembly listing for method System.Net.Quic.QuicListener:NativeCallback(ulong,ulong,ulong):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 6 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T03] ( 3, 2.60) long -> r15 single-def
+; V00 arg0 [V00,T04] ( 3, 2.60) long -> r15 single-def
; V01 arg1 [V01,T00] ( 4, 3.52) long -> rbx single-def
; V02 arg2 [V02,T01] ( 7, 3.11) long -> [rbp-0x20] EH-live single-def
;* V03 loc0 [V03 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Runtime.InteropServices.GCHandle>
-; V04 loc1 [V04,T13] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicListener>
+; V04 loc1 [V04,T14] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicListener>
; V05 loc2 [V05,T22] ( 3, 0.50) int -> [rbp-0x24] do-not-enreg[Z] EH-live
;* V06 loc3 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V08 tmp1 [V08,T02] ( 4, 4.80) ref -> rbx class-hnd exact single-def "dup spill" <System.Object[]>
-; V09 tmp2 [V09,T05] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE>
-; V10 tmp3 [V10,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
-; V11 tmp4 [V11,T08] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
+; V09 tmp2 [V09,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE>
+; V10 tmp3 [V10,T07] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
+; V11 tmp4 [V11,T09] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Quic.QuicListener>
; V13 tmp6 [V13,T11] ( 5, 1.30) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
-; V14 tmp7 [V14,T16] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE>
+; V14 tmp7 [V14,T17] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE>
; V15 tmp8 [V15,T21] ( 2, 0.52) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
; V16 tmp9 [V16,T32] ( 2, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V17 tmp10 [V17,T30] ( 5, 0 ) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
; V18 tmp11 [V18,T31] ( 3, 0 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE>
;* V19 tmp12 [V19 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.InteropServices.GCHandle>
;* V20 tmp13 [V20 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V21 tmp14 [V21 ] ( 0, 0 ) long -> zero-ref ld-addr-op "NewObj constructor temp"
;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V23 tmp16 [V23 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V25 tmp18 [V25,T07] ( 3, 3.60) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V26 tmp19 [V26,T09] ( 2, 2.40) ref -> rdi class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V25 tmp18 [V25,T03] ( 4, 4.80) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V26 tmp19 [V26,T08] ( 3, 3.60) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "non-inline candidate call" <System.String>
;* V28 tmp21 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
; V29 tmp22 [V29,T12] ( 2, 1.20) ref -> rdi single-def
;* V30 tmp23 [V30,T20] ( 0, 0 ) int -> zero-ref
;* V31 tmp24 [V31,T18] ( 0, 0 ) ref -> zero-ref single-def
;* V32 tmp25 [V32,T19] ( 0, 0 ) ref -> zero-ref single-def
; V33 tmp26 [V33,T10] ( 2, 2.40) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V36 tmp29 [V36,T17] ( 3, 0.64) ref -> rbx class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V37 tmp30 [V37,T23] ( 3, 0.39) ref -> r15 single-def
+; V35 tmp28 [V35,T13] ( 4, 1.04) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V36 tmp29 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V37 tmp30 [V37,T24] ( 2, 0.26) ref -> r15 single-def
; V38 tmp31 [V38,T25] ( 2, 0.26) ref -> r14 single-def
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V40 tmp33 [V40 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V42 tmp35 [V42 ] ( 0, 0 ) ref -> zero-ref single-def
-; V43 tmp36 [V43,T24] ( 3, 0.26) ref -> r8
-; V44 tmp37 [V44,T26] ( 2, 0.26) ref -> rdi single-def
-;* V45 tmp38 [V45,T29] ( 0, 0 ) int -> zero-ref
-; V46 tmp39 [V46,T27] ( 2, 0.26) ref -> rdx single-def
-;* V47 tmp40 [V47,T28] ( 0, 0 ) ref -> zero-ref single-def
-; V48 tmp41 [V48,T04] ( 3, 4 ) int -> rbx "Single return block return value"
+; V40 tmp33 [V40,T23] ( 3, 0.39) ref -> r15 single-def
+; V41 tmp34 [V41,T26] ( 2, 0.26) ref -> r14 single-def
+;* V42 tmp35 [V42,T28] ( 0, 0 ) ref -> zero-ref single-def
+; V43 tmp36 [V43,T27] ( 2, 0.26) ref -> r8 single-def
+;* V44 tmp37 [V44 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V45 tmp38 [V45 ] ( 0, 0 ) int -> zero-ref
+;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V47 tmp40 [V47,T29] ( 0, 0 ) ref -> zero-ref
+; V48 tmp41 [V48,T05] ( 3, 4 ) int -> rbx "Single return block return value"
; V49 tmp42 [V49 ] ( 3, 3 ) struct (16) [rbp-0x38] do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
;* V50 tmp43 [V50 ] ( 0, 0 ) long -> zero-ref "field V03._handle (fldOffset=0x0)" P-INDEP
;* V51 tmp44 [V51 ] ( 0, 0 ) long -> zero-ref "field V19._handle (fldOffset=0x0)" P-INDEP
; V52 tmp45 [V52,T33] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V53 PSPSym [V53,T15] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
-;* V54 cse0 [V54,T14] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
+; V53 PSPSym [V53,T16] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
+;* V54 cse0 [V54,T15] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
;
; Lcl frame size = 56
G_M20821_IG01:
push rbp
push r15
push r14
push rbx
sub rsp, 56
lea rbp, [rsp+0x50]
mov qword ptr [rbp-0x50], rsp
mov qword ptr [rbp-0x20], rdx
mov r15, rdi
mov rbx, rsi
;; size=29 bbWeight=1 PerfScore 7.25
G_M20821_IG02:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
test rbx, rbx
- je G_M20821_IG21
+ je G_M20821_IG19
;; size=18 bbWeight=1 PerfScore 2.75
G_M20821_IG03:
and rbx, -2
mov rbx, gword ptr [rbx]
test rbx, rbx
jne G_M20821_IG10
;; size=16 bbWeight=0.52 PerfScore 1.82
G_M20821_IG04:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M20821_IG22
+ je G_M20821_IG20
;; size=19 bbWeight=0.75 PerfScore 3.19
G_M20821_IG05:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
je G_M20821_IG07
;; size=26 bbWeight=0.75 PerfScore 4.69
G_M20821_IG06:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov edi, dword ptr [rdi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [rbx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.IntPtr
call CORINFO_HELP_NEWSFAST
mov qword ptr [rax+0x08], r15
lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, rbx
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; 'Received event {0} for [list][{1:X11}] while listener is alread'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
- mov r15, gword ptr [rax]
+ mov gword ptr [r15+0x08], rdi
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, rbx
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
+ mov rbx, gword ptr [rdi]
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- cmp byte ptr [r15], r15b
- mov rdi, r15
+ cmp byte ptr [rbx], bl
+ mov rdi, rbx
mov esi, 2
mov rdx, 0xD1FFAB1E ; '(null)'
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=189 bbWeight=0.60 PerfScore 17.86
+ ;; size=207 bbWeight=0.60 PerfScore 18.31
G_M20821_IG07:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
mov ebx, eax
;; size=14 bbWeight=0.75 PerfScore 2.63
G_M20821_IG08:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
mov eax, ebx
;; size=11 bbWeight=1 PerfScore 1.75
G_M20821_IG09:
add rsp, 56
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=1 PerfScore 3.25
G_M20821_IG10:
mov rdi, 0xD1FFAB1E ; System.Net.Quic.QuicListener
cmp qword ptr [rbx], rdi
jne G_M20821_IG04
;; size=19 bbWeight=0.26 PerfScore 1.10
G_M20821_IG11:
mov gword ptr [rbp-0x40], rbx
;; size=4 bbWeight=0.13 PerfScore 0.13
G_M20821_IG12:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M20821_IG19
+ je G_M20821_IG17
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M20821_IG13:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
- je G_M20821_IG17
+ je G_M20821_IG16
;; size=26 bbWeight=0.25 PerfScore 1.56
G_M20821_IG14:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov esi, dword ptr [rdi]
mov dword ptr [rax+0x08], esi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.QUIC_LISTENER_EVENT:ToString():System.String:this
call [rax]Microsoft.Quic.QUIC_LISTENER_EVENT:ToString():System.String:this
lea rdi, bword ptr [r15+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r15
- mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
mov rbx, rax
+ mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
+ mov gword ptr [rbx+0x08], rdi
+ lea rdi, bword ptr [rbx+0x10]
+ mov rsi, r15
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rdi]
mov rdi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
- test rbx, rbx
- jne SHORT G_M20821_IG18
- ;; size=165 bbWeight=0.13 PerfScore 3.80
-G_M20821_IG15:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.07 PerfScore 0.02
-G_M20821_IG16:
+ mov rdi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [r15], r15b
mov rdi, r15
mov rdx, r14
- mov esi, 1
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
+ ;; size=213 bbWeight=0.13 PerfScore 4.67
+G_M20821_IG15:
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=36 bbWeight=0.13 PerfScore 0.94
-G_M20821_IG17:
+ ;; size=17 bbWeight=0.13 PerfScore 0.45
+G_M20821_IG16:
mov rdi, gword ptr [rbp-0x40]
mov rsi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for System.Net.Quic.QuicListener:HandleListenerEvent(byref):int:this
call [rax]System.Net.Quic.QuicListener:HandleListenerEvent(byref):int:this
mov dword ptr [rbp-0x24], eax
- jmp SHORT G_M20821_IG20
+ jmp SHORT G_M20821_IG18
;; size=25 bbWeight=0.25 PerfScore 2.06
-G_M20821_IG18:
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- jmp SHORT G_M20821_IG16
- ;; size=20 bbWeight=0.06 PerfScore 0.36
-G_M20821_IG19:
+G_M20821_IG17:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M20821_IG13
;; size=20 bbWeight=0 PerfScore 0.00
-G_M20821_IG20:
+G_M20821_IG18:
mov ebx, dword ptr [rbp-0x24]
jmp G_M20821_IG08
;; size=8 bbWeight=0.25 PerfScore 0.75
-G_M20821_IG21:
+G_M20821_IG19:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
call [rax]System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M20821_IG22:
+G_M20821_IG20:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M20821_IG05
;; size=20 bbWeight=0 PerfScore 0.00
-G_M20821_IG23:
+G_M20821_IG21:
push rbp
push r15
push r14
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0x50]
;; size=18 bbWeight=0 PerfScore 0.00
-G_M20821_IG24:
+G_M20821_IG22:
mov rbx, rsi
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
test eax, eax
- je G_M20821_IG25
+ je G_M20821_IG23
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_LISTENER_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rsi, qword ptr [rbp-0x20]
mov edi, dword ptr [rsi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r15+0x20]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
mov rsi, r15
mov rdi, 0xD1FFAB1E ; '{0} Exception while processing event {1}: {2}'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
mov rsi, rax
mov rdi, gword ptr [rbp-0x40]
mov rdx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
call [rax]System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
;; size=191 bbWeight=0 PerfScore 0.00
-G_M20821_IG25:
+G_M20821_IG23:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
mov dword ptr [rbp-0x24], eax
- lea rax, G_M20821_IG20
+ lea rax, G_M20821_IG18
;; size=22 bbWeight=0 PerfScore 0.00
-G_M20821_IG26:
+G_M20821_IG24:
add rsp, 8
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 960, prolog size 29, PerfScore 56.96, instruction count 202, allocated bytes for code 960 (MethodHash=2da7aeaa) for method System.Net.Quic.QuicListener:NativeCallback(ulong,ulong,ulong):int (FullOpts)
+; Total bytes of code 977, prolog size 29, PerfScore 57.43, instruction count 205, allocated bytes for code 977 (MethodHash=2da7aeaa) for method System.Net.Quic.QuicListener:NativeCallback(ulong,ulong,ulong):int (FullOpts)
17 (1.77 % of base) - System.Net.Quic.QuicStream:NativeCallback(ulong,ulong,ulong):int
; Assembly listing for method System.Net.Quic.QuicStream:NativeCallback(ulong,ulong,ulong):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; optimized using Synthesized PGO
; rbp based frame
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
-; 0 inlinees with PGO data; 10 single block inlinees; 6 inlinees without PGO data
+; 0 inlinees with PGO data; 18 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T03] ( 3, 2.60) long -> r15 single-def
+; V00 arg0 [V00,T04] ( 3, 2.60) long -> r15 single-def
; V01 arg1 [V01,T00] ( 4, 3.52) long -> rbx single-def
; V02 arg2 [V02,T01] ( 7, 3.11) long -> [rbp-0x20] EH-live single-def
;* V03 loc0 [V03 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Runtime.InteropServices.GCHandle>
-; V04 loc1 [V04,T13] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicStream>
+; V04 loc1 [V04,T14] ( 6, 0.64) ref -> [rbp-0x40] do-not-enreg[M] class-hnd exact EH-live <System.Net.Quic.QuicStream>
; V05 loc2 [V05,T22] ( 3, 0.50) int -> [rbp-0x24] do-not-enreg[Z] EH-live
;* V06 loc3 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V08 tmp1 [V08,T02] ( 4, 4.80) ref -> rbx class-hnd exact single-def "dup spill" <System.Object[]>
-; V09 tmp2 [V09,T05] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_STREAM_EVENT_TYPE>
-; V10 tmp3 [V10,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
-; V11 tmp4 [V11,T08] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
+; V09 tmp2 [V09,T06] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_STREAM_EVENT_TYPE>
+; V10 tmp3 [V10,T07] ( 3, 3.60) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.IntPtr>
+; V11 tmp4 [V11,T09] ( 4, 2.86) ref -> rbx single-def "ISINST eval op1"
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Quic.QuicStream>
; V13 tmp6 [V13,T11] ( 5, 1.30) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
-; V14 tmp7 [V14,T16] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_STREAM_EVENT_TYPE>
+; V14 tmp7 [V14,T17] ( 3, 0.78) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_STREAM_EVENT_TYPE>
; V15 tmp8 [V15,T21] ( 2, 0.52) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
; V16 tmp9 [V16,T32] ( 2, 0 ) ref -> rbx class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V17 tmp10 [V17,T30] ( 5, 0 ) ref -> r15 class-hnd exact single-def "dup spill" <System.Object[]>
; V18 tmp11 [V18,T31] ( 3, 0 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <Microsoft.Quic.QUIC_STREAM_EVENT_TYPE>
;* V19 tmp12 [V19 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.InteropServices.GCHandle>
;* V20 tmp13 [V20 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V21 tmp14 [V21 ] ( 0, 0 ) long -> zero-ref ld-addr-op "NewObj constructor temp"
;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V23 tmp16 [V23 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V25 tmp18 [V25,T07] ( 3, 3.60) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V26 tmp19 [V26,T09] ( 2, 2.40) ref -> rdi class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V25 tmp18 [V25,T03] ( 4, 4.80) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V26 tmp19 [V26,T08] ( 3, 3.60) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "non-inline candidate call" <System.String>
;* V28 tmp21 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
; V29 tmp22 [V29,T12] ( 2, 1.20) ref -> rdi single-def
;* V30 tmp23 [V30,T20] ( 0, 0 ) int -> zero-ref
;* V31 tmp24 [V31,T18] ( 0, 0 ) ref -> zero-ref single-def
;* V32 tmp25 [V32,T19] ( 0, 0 ) ref -> zero-ref single-def
; V33 tmp26 [V33,T10] ( 2, 2.40) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V36 tmp29 [V36,T17] ( 3, 0.64) ref -> rbx class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V37 tmp30 [V37,T23] ( 3, 0.39) ref -> r15 single-def
+; V35 tmp28 [V35,T13] ( 4, 1.04) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+;* V36 tmp29 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V37 tmp30 [V37,T24] ( 2, 0.26) ref -> r15 single-def
; V38 tmp31 [V38,T25] ( 2, 0.26) ref -> r14 single-def
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V40 tmp33 [V40 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V42 tmp35 [V42 ] ( 0, 0 ) ref -> zero-ref single-def
-; V43 tmp36 [V43,T24] ( 3, 0.26) ref -> r8
-; V44 tmp37 [V44,T26] ( 2, 0.26) ref -> rdi single-def
-;* V45 tmp38 [V45,T29] ( 0, 0 ) int -> zero-ref
-; V46 tmp39 [V46,T27] ( 2, 0.26) ref -> rdx single-def
-;* V47 tmp40 [V47,T28] ( 0, 0 ) ref -> zero-ref single-def
-; V48 tmp41 [V48,T04] ( 3, 4 ) int -> rbx "Single return block return value"
+; V40 tmp33 [V40,T23] ( 3, 0.39) ref -> r15 single-def
+; V41 tmp34 [V41,T26] ( 2, 0.26) ref -> r14 single-def
+;* V42 tmp35 [V42,T28] ( 0, 0 ) ref -> zero-ref single-def
+; V43 tmp36 [V43,T27] ( 2, 0.26) ref -> r8 single-def
+;* V44 tmp37 [V44 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V45 tmp38 [V45 ] ( 0, 0 ) int -> zero-ref
+;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V47 tmp40 [V47,T29] ( 0, 0 ) ref -> zero-ref
+; V48 tmp41 [V48,T05] ( 3, 4 ) int -> rbx "Single return block return value"
; V49 tmp42 [V49 ] ( 3, 3 ) struct (16) [rbp-0x38] do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
;* V50 tmp43 [V50 ] ( 0, 0 ) long -> zero-ref "field V03._handle (fldOffset=0x0)" P-INDEP
;* V51 tmp44 [V51 ] ( 0, 0 ) long -> zero-ref "field V19._handle (fldOffset=0x0)" P-INDEP
; V52 tmp45 [V52,T33] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V53 PSPSym [V53,T15] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
-;* V54 cse0 [V54,T14] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
+; V53 PSPSym [V53,T16] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
+;* V54 cse0 [V54,T15] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
;
; Lcl frame size = 56
G_M53815_IG01:
push rbp
push r15
push r14
push rbx
sub rsp, 56
lea rbp, [rsp+0x50]
mov qword ptr [rbp-0x50], rsp
mov qword ptr [rbp-0x20], rdx
mov r15, rdi
mov rbx, rsi
;; size=29 bbWeight=1 PerfScore 7.25
G_M53815_IG02:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
test rbx, rbx
- je G_M53815_IG21
+ je G_M53815_IG19
;; size=18 bbWeight=1 PerfScore 2.75
G_M53815_IG03:
and rbx, -2
mov rbx, gword ptr [rbx]
test rbx, rbx
jne G_M53815_IG10
;; size=16 bbWeight=0.52 PerfScore 1.82
G_M53815_IG04:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M53815_IG22
+ je G_M53815_IG20
;; size=19 bbWeight=0.75 PerfScore 3.19
G_M53815_IG05:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
je G_M53815_IG07
;; size=26 bbWeight=0.75 PerfScore 4.69
G_M53815_IG06:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_STREAM_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov edi, dword ptr [rdi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [rbx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.IntPtr
call CORINFO_HELP_NEWSFAST
mov qword ptr [rax+0x08], r15
lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, rbx
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; 'Received event {0} for [strm][{1:X11}] while stream is already '
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
- mov r15, gword ptr [rax]
+ mov gword ptr [r15+0x08], rdi
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, rbx
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
+ mov rbx, gword ptr [rdi]
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- cmp byte ptr [r15], r15b
- mov rdi, r15
+ cmp byte ptr [rbx], bl
+ mov rdi, rbx
mov esi, 2
mov rdx, 0xD1FFAB1E ; '(null)'
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=189 bbWeight=0.60 PerfScore 17.86
+ ;; size=207 bbWeight=0.60 PerfScore 18.31
G_M53815_IG07:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INVALID_STATE():int
mov ebx, eax
;; size=14 bbWeight=0.75 PerfScore 2.63
G_M53815_IG08:
lea rdi, [rbp-0x38]
call CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
mov eax, ebx
;; size=11 bbWeight=1 PerfScore 1.75
G_M53815_IG09:
add rsp, 56
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=1 PerfScore 3.25
G_M53815_IG10:
mov rdi, 0xD1FFAB1E ; System.Net.Quic.QuicStream
cmp qword ptr [rbx], rdi
jne G_M53815_IG04
;; size=19 bbWeight=0.26 PerfScore 1.10
G_M53815_IG11:
mov gword ptr [rbp-0x40], rbx
;; size=4 bbWeight=0.13 PerfScore 0.13
G_M53815_IG12:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M53815_IG19
+ je G_M53815_IG17
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M53815_IG13:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
- je G_M53815_IG17
+ je G_M53815_IG16
;; size=26 bbWeight=0.25 PerfScore 1.56
G_M53815_IG14:
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_STREAM_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rdi, qword ptr [rbp-0x20]
mov esi, dword ptr [rdi]
mov dword ptr [rax+0x08], esi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this
call [rax]Microsoft.Quic.QUIC_STREAM_EVENT:ToString():System.String:this
lea rdi, bword ptr [r15+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r15
- mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
- mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
+ mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString
+ call CORINFO_HELP_NEWSFAST
mov rbx, rax
+ mov rdi, 0xD1FFAB1E ; '{0} Received event {1} {2}'
+ mov gword ptr [rbx+0x08], rdi
+ lea rdi, bword ptr [rbx+0x10]
+ mov rsi, r15
+ call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r15, gword ptr [rdi]
mov rdi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
mov r14, rax
- test rbx, rbx
- jne SHORT G_M53815_IG18
- ;; size=165 bbWeight=0.13 PerfScore 3.80
-G_M53815_IG15:
- mov r8, 0xD1FFAB1E ; ''
- ;; size=10 bbWeight=0.07 PerfScore 0.02
-G_M53815_IG16:
+ mov rdi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
+ call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
+ mov r8, rax
cmp byte ptr [r15], r15b
mov rdi, r15
mov rdx, r14
- mov esi, 1
mov rcx, 0xD1FFAB1E ; 'NativeCallback'
+ ;; size=213 bbWeight=0.13 PerfScore 4.67
+G_M53815_IG15:
+ mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=36 bbWeight=0.13 PerfScore 0.94
-G_M53815_IG17:
+ ;; size=17 bbWeight=0.13 PerfScore 0.45
+G_M53815_IG16:
mov rdi, gword ptr [rbp-0x40]
mov rsi, qword ptr [rbp-0x20]
mov rax, 0xD1FFAB1E ; code for System.Net.Quic.QuicStream:HandleStreamEvent(byref):int:this
call [rax]System.Net.Quic.QuicStream:HandleStreamEvent(byref):int:this
mov dword ptr [rbp-0x24], eax
- jmp SHORT G_M53815_IG20
+ jmp SHORT G_M53815_IG18
;; size=25 bbWeight=0.25 PerfScore 2.06
-G_M53815_IG18:
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
- call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
- mov r8, rax
- jmp SHORT G_M53815_IG16
- ;; size=20 bbWeight=0.06 PerfScore 0.36
-G_M53815_IG19:
+G_M53815_IG17:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M53815_IG13
;; size=20 bbWeight=0 PerfScore 0.00
-G_M53815_IG20:
+G_M53815_IG18:
mov ebx, dword ptr [rbp-0x24]
jmp G_M53815_IG08
;; size=8 bbWeight=0.25 PerfScore 0.75
-G_M53815_IG21:
+G_M53815_IG19:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
call [rax]System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M53815_IG22:
+G_M53815_IG20:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
jmp G_M53815_IG05
;; size=20 bbWeight=0 PerfScore 0.00
-G_M53815_IG23:
+G_M53815_IG21:
push rbp
push r15
push r14
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0x50]
;; size=18 bbWeight=0 PerfScore 0.00
-G_M53815_IG24:
+G_M53815_IG22:
mov rbx, rsi
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabled():ubyte:this
test eax, eax
- je G_M53815_IG25
+ je G_M53815_IG23
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 3
call CORINFO_HELP_NEWARR_1_OBJ
mov r15, rax
lea rdi, bword ptr [r15+0x10]
mov rsi, gword ptr [rbp-0x40]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; Microsoft.Quic.QUIC_STREAM_EVENT_TYPE
call CORINFO_HELP_NEWSFAST
mov rsi, qword ptr [rbp-0x20]
mov edi, dword ptr [rsi]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [r15+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r15+0x20]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
mov rsi, r15
mov rdi, 0xD1FFAB1E ; '{0} Exception while processing event {1}: {2}'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
mov rsi, rax
mov rdi, gword ptr [rbp-0x40]
mov rdx, 0xD1FFAB1E ; 'NativeCallback'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
call [rax]System.Net.NetEventSource:Error(System.Object,System.FormattableString,System.String)
;; size=191 bbWeight=0 PerfScore 0.00
-G_M53815_IG25:
+G_M53815_IG23:
mov rax, 0xD1FFAB1E ; code for Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
call [rax]Microsoft.Quic.MsQuic:get_QUIC_STATUS_INTERNAL_ERROR():int
mov dword ptr [rbp-0x24], eax
- lea rax, G_M53815_IG20
+ lea rax, G_M53815_IG18
;; size=22 bbWeight=0 PerfScore 0.00
-G_M53815_IG26:
+G_M53815_IG24:
add rsp, 8
pop rbx
pop r14
pop r15
pop rbp
ret
;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 960, prolog size 29, PerfScore 56.96, instruction count 202, allocated bytes for code 960 (MethodHash=fb832dc8) for method System.Net.Quic.QuicStream:NativeCallback(ulong,ulong,ulong):int (FullOpts)
+; Total bytes of code 977, prolog size 29, PerfScore 57.43, instruction count 205, allocated bytes for code 977 (MethodHash=fb832dc8) for method System.Net.Quic.QuicStream:NativeCallback(ulong,ulong,ulong):int (FullOpts)
12 (5.13 % of base) - System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.ICollection>.Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
; Assembly listing for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [rbp-0x18] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V02 loc0 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x20] do-not-enreg[XS] addr-exposed ld-addr-op <System.Nullable`1[int]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V04 tmp1 [V04 ] ( 1, 1 ) struct ( 8) [rbp-0x28] do-not-enreg[XSR] multireg-ret addr-exposed "location for address-of(RValue)" <System.Nullable`1[int]>
-; V05 tmp2 [V05 ] ( 1, 1 ) struct ( 8) [rbp-0x30] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]>
-; V07 tmp4 [V07 ] ( 1, 1 ) struct ( 8) [rbp-0x40] do-not-enreg[S] "non-inline candidate call" <System.Nullable`1[int]>
-; V08 tmp5 [V08 ] ( 1, 1 ) struct ( 8) [rbp-0x48] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V09 tmp6 [V09 ] ( 1, 1 ) ref -> [rbp-0x50] do-not-enreg[] must-init "argument with side effect"
+; V05 tmp2 [V05 ] ( 1, 1 ) byref -> [rbp-0x30] do-not-enreg[] must-init "boxedVal spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "boxedArg spilled"
+; V07 tmp4 [V07 ] ( 1, 1 ) struct ( 8) [rbp-0x40] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
+; V08 tmp5 [V08 ] ( 1, 1 ) ref -> [rbp-0x48] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]>
+; V09 tmp6 [V09 ] ( 1, 1 ) struct ( 8) [rbp-0x50] do-not-enreg[S] "non-inline candidate call" <System.Nullable`1[int]>
+; V10 tmp7 [V10 ] ( 1, 1 ) struct ( 8) [rbp-0x58] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
;
-; Lcl frame size = 80
+; Lcl frame size = 96
G_M60045_IG01:
push rbp
- sub rsp, 80
- lea rbp, [rsp+0x50]
+ sub rsp, 96
+ lea rbp, [rsp+0x60]
xor eax, eax
- mov qword ptr [rbp-0x38], rax
- mov qword ptr [rbp-0x50], rax
+ mov qword ptr [rbp-0x48], rax
+ vxorps xmm8, xmm8, xmm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
+ mov qword ptr [rbp-0x30], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x18], rsi
mov qword ptr [rbp-0x10], rdx
- ;; size=32 bbWeight=1 PerfScore 7.00
+ ;; size=42 bbWeight=1 PerfScore 9.33
G_M60045_IG02:
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
mov qword ptr [rbp-0x28], rax
- lea rsi, [rbp-0x28]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x50], rax
- mov rdi, gword ptr [rbp-0x50]
- mov rsi, 0xD1FFAB1E ; 'item'
+ lea rax, bword ptr [rbp-0x28]
+ mov bword ptr [rbp-0x30], rax
+ mov rax, 0xD1FFAB1E ; 'item'
+ mov gword ptr [rbp-0x38], rax
+ mov rax, bword ptr [rbp-0x30]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M60045_IG04
+ ;; size=53 bbWeight=1 PerfScore 11.75
+G_M60045_IG03:
+ mov rsi, gword ptr [rbp-0x38]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M60045_IG04:
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x40], rax
lea rdx, [rbp-0x20]
mov rdi, gword ptr [rbp-0x08]
- mov rsi, qword ptr [rbp-0x30]
+ mov rsi, qword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
call [rax]System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
test eax, eax
- je SHORT G_M60045_IG04
+ je SHORT G_M60045_IG06
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:get_Default():System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]
call [rax]System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:get_Default():System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]
- mov gword ptr [rbp-0x38], rax
+ mov gword ptr [rbp-0x48], rax
mov rax, qword ptr [rbp-0x20]
- mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x50], rax
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Value():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Value():System.Nullable`1[int]:this
- mov qword ptr [rbp-0x48], rax
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, qword ptr [rbp-0x40]
- mov rdx, qword ptr [rbp-0x48]
- mov rax, gword ptr [rbp-0x38]
+ mov qword ptr [rbp-0x58], rax
+ mov rdi, gword ptr [rbp-0x48]
+ mov rsi, qword ptr [rbp-0x50]
+ mov rdx, qword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x48]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
nop
- ;; size=188 bbWeight=1 PerfScore 46.00
-G_M60045_IG03:
- add rsp, 80
+ ;; size=119 bbWeight=1 PerfScore 34.00
+G_M60045_IG05:
+ add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-G_M60045_IG04:
+G_M60045_IG06:
xor eax, eax
;; size=2 bbWeight=1 PerfScore 0.25
-G_M60045_IG05:
- add rsp, 80
+G_M60045_IG07:
+ add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 234, prolog size 20, PerfScore 56.75, instruction count 56, allocated bytes for code 234 (MethodHash=32d11572) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this (Tier0)
+; Total bytes of code 246, prolog size 30, PerfScore 61.08, instruction count 62, allocated bytes for code 246 (MethodHash=32d11572) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this (Tier0)
12 (4.46 % of base) - System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IList>.IndexOf(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):int:this
; Assembly listing for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IList<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IndexOf(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):int:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct (16) [rbp-0x18] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V02 loc0 [V02 ] ( 1, 1 ) int -> [rbp-0x1C] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V04 tmp1 [V04 ] ( 1, 1 ) struct ( 8) [rbp-0x28] do-not-enreg[XSR] multireg-ret addr-exposed "location for address-of(RValue)" <System.Nullable`1[int]>
-; V05 tmp2 [V05 ] ( 1, 1 ) struct ( 8) [rbp-0x30] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]>
+; V05 tmp2 [V05 ] ( 1, 1 ) byref -> [rbp-0x30] do-not-enreg[] must-init "boxedVal spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "boxedArg spilled"
; V07 tmp4 [V07 ] ( 1, 1 ) struct ( 8) [rbp-0x40] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V08 tmp5 [V08 ] ( 1, 1 ) ref -> [rbp-0x48] do-not-enreg[] must-init "argument with side effect"
+; V08 tmp5 [V08 ] ( 1, 1 ) ref -> [rbp-0x48] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]>
+; V09 tmp6 [V09 ] ( 1, 1 ) struct ( 8) [rbp-0x50] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
;
; Lcl frame size = 80
G_M54017_IG01:
push rbp
sub rsp, 80
lea rbp, [rsp+0x50]
xor eax, eax
- mov qword ptr [rbp-0x38], rax
mov qword ptr [rbp-0x48], rax
+ vxorps xmm8, xmm8, xmm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
+ mov qword ptr [rbp-0x30], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x18], rsi
mov qword ptr [rbp-0x10], rdx
- ;; size=32 bbWeight=1 PerfScore 7.00
+ ;; size=42 bbWeight=1 PerfScore 9.33
G_M54017_IG02:
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
mov qword ptr [rbp-0x28], rax
- lea rsi, [rbp-0x28]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x48], rax
- mov rdi, gword ptr [rbp-0x48]
- mov rsi, 0xD1FFAB1E ; 'item'
+ lea rax, bword ptr [rbp-0x28]
+ mov bword ptr [rbp-0x30], rax
+ mov rax, 0xD1FFAB1E ; 'item'
+ mov gword ptr [rbp-0x38], rax
+ mov rax, bword ptr [rbp-0x30]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M54017_IG04
+ ;; size=53 bbWeight=1 PerfScore 11.75
+G_M54017_IG03:
+ mov rsi, gword ptr [rbp-0x38]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M54017_IG04:
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Key():System.Nullable`1[int]:this
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x40], rax
mov rdi, gword ptr [rbp-0x08]
- mov rsi, qword ptr [rbp-0x30]
+ mov rsi, qword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this
call [rax]System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this
mov dword ptr [rbp-0x1C], eax
cmp dword ptr [rbp-0x1C], 0
- jl SHORT G_M54017_IG04
+ jl SHORT G_M54017_IG06
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:get_Default():System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]
call [rax]System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:get_Default():System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]
- mov gword ptr [rbp-0x38], rax
+ mov gword ptr [rbp-0x48], rax
lea rdi, [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Value():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Value():System.Nullable`1[int]:this
- mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x50], rax
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x18]
mov ecx, dword ptr [rbp-0x1C]
cmp ecx, dword ptr [rax+0x08]
- jae SHORT G_M54017_IG06
+ jae SHORT G_M54017_IG08
mov edx, ecx
imul rdx, rdx, 24
lea rax, bword ptr [rax+rdx+0x10]
mov rdx, qword ptr [rax+0x10]
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, qword ptr [rbp-0x40]
- mov rax, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rbp-0x48]
+ mov rsi, qword ptr [rbp-0x50]
+ mov rax, gword ptr [rbp-0x48]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Collections.Generic.EqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
test eax, eax
- je SHORT G_M54017_IG04
+ je SHORT G_M54017_IG06
mov eax, dword ptr [rbp-0x1C]
- ;; size=214 bbWeight=1 PerfScore 60.50
-G_M54017_IG03:
+ ;; size=145 bbWeight=1 PerfScore 48.50
+G_M54017_IG05:
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-G_M54017_IG04:
+G_M54017_IG06:
mov eax, -1
;; size=5 bbWeight=1 PerfScore 0.25
-G_M54017_IG05:
+G_M54017_IG07:
add rsp, 80
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-G_M54017_IG06:
+G_M54017_IG08:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 269, prolog size 20, PerfScore 71.25, instruction count 66, allocated bytes for code 269 (MethodHash=01e52cfe) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IList<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IndexOf(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):int:this (Tier0)
+; Total bytes of code 281, prolog size 30, PerfScore 75.58, instruction count 72, allocated bytes for code 281 (MethodHash=01e52cfe) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:System.Collections.Generic.IList<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IndexOf(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):int:this (Tier0)
12 (1.87 % of base) - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this
; Assembly listing for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Instrumented Tier0 code
; rbp based frame
; fully interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] this class-hnd <System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) struct (24) [rbp-0x50] do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]>
; V03 loc1 [V03 ] ( 1, 1 ) struct ( 8) [rbp-0x58] do-not-enreg[SR] multireg-ret <System.Nullable`1[int]>
; V04 loc2 [V04 ] ( 1, 1 ) ubyte -> [rbp-0x5C] do-not-enreg[]
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06 ] ( 1, 1 ) ref -> [rbp-0x68] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]>
-; V07 tmp2 [V07 ] ( 1, 1 ) struct ( 8) [rbp-0x70] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
-; V08 tmp3 [V08 ] ( 1, 1 ) ref -> [rbp-0x78] do-not-enreg[] must-init "handle histogram profile tmp"
-; V09 tmp4 [V09 ] ( 1, 1 ) ref -> [rbp-0x80] do-not-enreg[] must-init "handle histogram profile tmp"
-; V10 tmp5 [V10 ] ( 1, 1 ) int -> [rbp-0x88] do-not-enreg[X] addr-exposed "patchpoint counter"
-; V11 tmp6 [V11 ] ( 1, 1 ) ref -> [rbp-0x90] do-not-enreg[] must-init "argument with side effect"
-; V12 tmp7 [V12 ] ( 1, 1 ) ref -> [rbp-0x98] do-not-enreg[] must-init "argument with side effect"
+; V06 tmp1 [V06 ] ( 1, 1 ) byref -> [rbp-0x68] do-not-enreg[] must-init "boxedVal spilled"
+; V07 tmp2 [V07 ] ( 1, 1 ) ref -> [rbp-0x70] do-not-enreg[] must-init "boxedArg spilled"
+; V08 tmp3 [V08 ] ( 1, 1 ) ref -> [rbp-0x78] do-not-enreg[] must-init class-hnd "non-inline candidate call" <System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]>
+; V09 tmp4 [V09 ] ( 1, 1 ) struct ( 8) [rbp-0x80] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <System.Nullable`1[int]>
+; V10 tmp5 [V10 ] ( 1, 1 ) ref -> [rbp-0x88] do-not-enreg[] must-init "handle histogram profile tmp"
+; V11 tmp6 [V11 ] ( 1, 1 ) ref -> [rbp-0x90] do-not-enreg[] must-init "handle histogram profile tmp"
+; V12 tmp7 [V12 ] ( 1, 1 ) int -> [rbp-0x98] do-not-enreg[X] addr-exposed "patchpoint counter"
; V13 tmp8 [V13 ] ( 1, 1 ) ref -> [rbp-0xA0] do-not-enreg[] must-init "argument with side effect"
; V14 tmp9 [V14 ] ( 1, 1 ) ref -> [rbp-0xA8] do-not-enreg[] must-init "argument with side effect"
-; V15 PSPSym [V15 ] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
+; V15 tmp10 [V15 ] ( 1, 1 ) ref -> [rbp-0xB0] do-not-enreg[] must-init "argument with side effect"
+; V16 PSPSym [V16 ] ( 1, 1 ) long -> [rbp-0xC0] do-not-enreg[V] "PSPSym"
;
-; Lcl frame size = 176
+; Lcl frame size = 192
G_M63913_IG01:
push rbp
- sub rsp, 176
- lea rbp, [rsp+0xB0]
- xor eax, eax
- mov qword ptr [rbp-0xA8], rax
+ sub rsp, 192
+ lea rbp, [rsp+0xC0]
vxorps xmm8, xmm8, xmm8
- vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
+ vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+ vmovdqa xmmword ptr [rbp-0x70], xmm8
vmovdqa xmmword ptr [rbp-0x60], xmm8
vmovdqa xmmword ptr [rbp-0x50], xmm8
+ xor eax, eax
mov qword ptr [rbp-0x40], rax
- mov qword ptr [rbp-0xB0], rsp
+ mov qword ptr [rbp-0xC0], rsp
mov gword ptr [rbp-0x30], rdi
mov qword ptr [rbp-0x38], rsi
- ;; size=69 bbWeight=1 PerfScore 13.33
+ ;; size=67 bbWeight=1 PerfScore 14.33
G_M63913_IG02:
- lea rsi, [rbp-0x38]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x90], rax
- mov rdi, gword ptr [rbp-0x90]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x38]
+ mov bword ptr [rbp-0x68], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x70], rax
+ mov rax, bword ptr [rbp-0x68]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M63913_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M63913_IG03:
+ mov rsi, gword ptr [rbp-0x70]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
- mov dword ptr [rbp-0x88], 0x3E8
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M63913_IG04:
+ mov dword ptr [rbp-0x98], 0x3E8
mov rax, gword ptr [rbp-0x30]
cmp gword ptr [rax+0x18], 0
- je SHORT G_M63913_IG04
+ je SHORT G_M63913_IG06
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov rax, gword ptr [rbp-0x30]
mov rdi, gword ptr [rax+0x18]
mov rsi, qword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this
nop
- ;; size=118 bbWeight=1 PerfScore 25.00
-G_M63913_IG03:
- add rsp, 176
+ ;; size=63 bbWeight=1 PerfScore 17.75
+G_M63913_IG05:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63913_IG04:
+G_M63913_IG06:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
call [rax]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
- mov gword ptr [rbp-0x98], rax
- mov rdi, gword ptr [rbp-0x98]
+ mov gword ptr [rbp-0xA0], rax
+ mov rdi, gword ptr [rbp-0xA0]
lea rsi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.List`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:this
nop
;; size=49 bbWeight=1 PerfScore 13.25
-G_M63913_IG05:
- jmp G_M63913_IG08
+G_M63913_IG07:
+ jmp G_M63913_IG10
;; size=5 bbWeight=1 PerfScore 2.00
-G_M63913_IG06:
+G_M63913_IG08:
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:get_Current():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:get_Current():System.Nullable`1[int]:this
mov qword ptr [rbp-0x58], rax
mov rax, gword ptr [rbp-0x30]
mov rax, gword ptr [rax+0x10]
- mov gword ptr [rbp-0x68], rax
- mov rax, gword ptr [rbp-0x30]
mov gword ptr [rbp-0x78], rax
- mov rdi, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x30]
+ mov gword ptr [rbp-0x88], rax
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x78]
- mov gword ptr [rbp-0xA0], rax
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0x88]
+ mov gword ptr [rbp-0xA8], rax
+ mov rdi, gword ptr [rbp-0xA8]
mov rsi, qword ptr [rbp-0x58]
- mov rax, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA8]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x60]
call [rax+0x10]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:GetKeyForItem(System.Nullable`1[int]):System.Nullable`1[int]:this
- mov qword ptr [rbp-0x70], rax
- mov rax, gword ptr [rbp-0x68]
- mov gword ptr [rbp-0x80], rax
- mov rdi, gword ptr [rbp-0x80]
+ mov qword ptr [rbp-0x80], rax
+ mov rax, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0x90], rax
+ mov rdi, gword ptr [rbp-0x90]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x80]
- mov gword ptr [rbp-0xA8], rax
- mov rdi, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0x90]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xB0]
mov rdx, qword ptr [rbp-0x38]
- mov rsi, qword ptr [rbp-0x70]
+ mov rsi, qword ptr [rbp-0x80]
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
call [r11]System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
test eax, eax
- je SHORT G_M63913_IG07
+ je SHORT G_M63913_IG09
mov dword ptr [rbp-0x5C], 1
- jmp SHORT G_M63913_IG13
- ;; size=181 bbWeight=1 PerfScore 42.75
-G_M63913_IG07:
+ jmp SHORT G_M63913_IG15
+ ;; size=199 bbWeight=1 PerfScore 42.75
+G_M63913_IG09:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M63913_IG08:
- mov eax, dword ptr [rbp-0x88]
+G_M63913_IG10:
+ mov eax, dword ptr [rbp-0x98]
dec eax
- mov dword ptr [rbp-0x88], eax
- cmp dword ptr [rbp-0x88], 0
- jg SHORT G_M63913_IG10
+ mov dword ptr [rbp-0x98], eax
+ cmp dword ptr [rbp-0x98], 0
+ jg SHORT G_M63913_IG12
;; size=23 bbWeight=1 PerfScore 5.25
-G_M63913_IG09:
- lea rdi, [rbp-0x88]
+G_M63913_IG11:
+ lea rdi, [rbp-0x98]
mov esi, 84
call CORINFO_HELP_PATCHPOINT
;; size=17 bbWeight=0.01 PerfScore 0.02
-G_M63913_IG10:
+G_M63913_IG12:
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this
test eax, eax
- jne G_M63913_IG06
+ jne G_M63913_IG08
;; size=24 bbWeight=1 PerfScore 5.00
-G_M63913_IG11:
- mov rdi, rsp
- ;; size=3 bbWeight=1 PerfScore 0.25
-G_M63913_IG12:
- call G_M63913_IG19
- jmp SHORT G_M63913_IG15
- ;; size=7 bbWeight=1 PerfScore 3.00
G_M63913_IG13:
mov rdi, rsp
;; size=3 bbWeight=1 PerfScore 0.25
G_M63913_IG14:
- call G_M63913_IG19
+ call G_M63913_IG21
jmp SHORT G_M63913_IG17
;; size=7 bbWeight=1 PerfScore 3.00
G_M63913_IG15:
+ mov rdi, rsp
+ ;; size=3 bbWeight=1 PerfScore 0.25
+G_M63913_IG16:
+ call G_M63913_IG21
+ jmp SHORT G_M63913_IG19
+ ;; size=7 bbWeight=1 PerfScore 3.00
+G_M63913_IG17:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
xor eax, eax
;; size=17 bbWeight=1 PerfScore 1.50
-G_M63913_IG16:
- add rsp, 176
+G_M63913_IG18:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63913_IG17:
+G_M63913_IG19:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov eax, dword ptr [rbp-0x5C]
;; size=18 bbWeight=1 PerfScore 2.25
-G_M63913_IG18:
- add rsp, 176
+G_M63913_IG20:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M63913_IG19:
+G_M63913_IG21:
push rbp
sub rsp, 16
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0xB0]
+ lea rbp, [rbp+0xC0]
;; size=19 bbWeight=1 PerfScore 4.75
-G_M63913_IG20:
+G_M63913_IG22:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:Dispose():this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:Dispose():this
nop
;; size=32 bbWeight=1 PerfScore 5.25
-G_M63913_IG21:
+G_M63913_IG23:
add rsp, 16
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 640, prolog size 69, PerfScore 134.48, instruction count 132, allocated bytes for code 640 (MethodHash=67920656) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
+; Total bytes of code 652, prolog size 67, PerfScore 137.48, instruction count 136, allocated bytes for code 652 (MethodHash=67920656) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:Contains(System.Nullable`1[int]):ubyte:this (Instrumented Tier0)
10 (1.47 % of base) - System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
; Assembly listing for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this (Instrumented Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Instrumented Tier0 code
; rbp based frame
; fully interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] this class-hnd <System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 arg2 [V02 ] ( 1, 1 ) byref -> [rbp-0x40] do-not-enreg[]
; V03 loc0 [V03 ] ( 1, 1 ) struct (24) [rbp-0x58] do-not-enreg[XHS] must-init addr-exposed hidden-struct-arg ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]>
; V04 loc1 [V04 ] ( 1, 1 ) struct ( 8) [rbp-0x60] do-not-enreg[SR] multireg-ret <System.Nullable`1[int]>
; V05 loc2 [V05 ] ( 1, 1 ) struct ( 8) [rbp-0x68] do-not-enreg[SFR] multireg-ret <System.Nullable`1[int]>
; V06 loc3 [V06 ] ( 1, 1 ) ubyte -> [rbp-0x6C] do-not-enreg[]
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V08 tmp1 [V08 ] ( 1, 1 ) ref -> [rbp-0x78] do-not-enreg[] must-init "handle histogram profile tmp"
-; V09 tmp2 [V09 ] ( 1, 1 ) ref -> [rbp-0x80] do-not-enreg[] must-init "handle histogram profile tmp"
-; V10 tmp3 [V10 ] ( 1, 1 ) int -> [rbp-0x88] do-not-enreg[X] addr-exposed "patchpoint counter"
-; V11 tmp4 [V11 ] ( 1, 1 ) ref -> [rbp-0x90] do-not-enreg[] must-init "argument with side effect"
-; V12 tmp5 [V12 ] ( 1, 1 ) ref -> [rbp-0x98] do-not-enreg[] must-init "argument with side effect"
+; V08 tmp1 [V08 ] ( 1, 1 ) byref -> [rbp-0x78] do-not-enreg[] must-init "boxedVal spilled"
+; V09 tmp2 [V09 ] ( 1, 1 ) ref -> [rbp-0x80] do-not-enreg[] must-init "boxedArg spilled"
+; V10 tmp3 [V10 ] ( 1, 1 ) ref -> [rbp-0x88] do-not-enreg[] must-init "handle histogram profile tmp"
+; V11 tmp4 [V11 ] ( 1, 1 ) ref -> [rbp-0x90] do-not-enreg[] must-init "handle histogram profile tmp"
+; V12 tmp5 [V12 ] ( 1, 1 ) int -> [rbp-0x98] do-not-enreg[X] addr-exposed "patchpoint counter"
; V13 tmp6 [V13 ] ( 1, 1 ) ref -> [rbp-0xA0] do-not-enreg[] must-init "argument with side effect"
; V14 tmp7 [V14 ] ( 1, 1 ) ref -> [rbp-0xA8] do-not-enreg[] must-init "argument with side effect"
-; V15 PSPSym [V15 ] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
+; V15 tmp8 [V15 ] ( 1, 1 ) ref -> [rbp-0xB0] do-not-enreg[] must-init "argument with side effect"
+; V16 PSPSym [V16 ] ( 1, 1 ) long -> [rbp-0xC0] do-not-enreg[V] "PSPSym"
;
-; Lcl frame size = 176
+; Lcl frame size = 192
G_M12718_IG01:
push rbp
- sub rsp, 176
- lea rbp, [rsp+0xB0]
- xor eax, eax
- mov qword ptr [rbp-0xA8], rax
+ sub rsp, 192
+ lea rbp, [rsp+0xC0]
vxorps xmm8, xmm8, xmm8
- vmovdqu32 zmmword ptr [rbp-0xA0], zmm8
+ vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
+ vmovdqa xmmword ptr [rbp-0x70], xmm8
vmovdqa xmmword ptr [rbp-0x60], xmm8
vmovdqa xmmword ptr [rbp-0x50], xmm8
- mov qword ptr [rbp-0xB0], rsp
+ mov qword ptr [rbp-0xC0], rsp
mov gword ptr [rbp-0x30], rdi
mov qword ptr [rbp-0x38], rsi
mov bword ptr [rbp-0x40], rdx
- ;; size=69 bbWeight=1 PerfScore 13.33
+ ;; size=65 bbWeight=1 PerfScore 14.08
G_M12718_IG02:
- lea rsi, [rbp-0x38]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x90], rax
- mov rdi, gword ptr [rbp-0x90]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x38]
+ mov bword ptr [rbp-0x78], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x80], rax
+ mov rax, bword ptr [rbp-0x78]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M12718_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M12718_IG03:
+ mov rsi, gword ptr [rbp-0x80]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
- mov dword ptr [rbp-0x88], 0x3E8
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M12718_IG04:
+ mov dword ptr [rbp-0x98], 0x3E8
mov rax, gword ptr [rbp-0x30]
cmp gword ptr [rax+0x18], 0
- je SHORT G_M12718_IG04
+ je SHORT G_M12718_IG06
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov rax, gword ptr [rbp-0x30]
mov rdi, gword ptr [rax+0x18]
mov rsi, qword ptr [rbp-0x38]
mov rdx, bword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.Dictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this
nop
- ;; size=122 bbWeight=1 PerfScore 26.00
-G_M12718_IG03:
- add rsp, 176
+ ;; size=67 bbWeight=1 PerfScore 18.75
+G_M12718_IG05:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M12718_IG04:
+G_M12718_IG06:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
call [rax]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Items():System.Collections.Generic.List`1[System.Nullable`1[int]]:this
- mov gword ptr [rbp-0x98], rax
- mov rdi, gword ptr [rbp-0x98]
+ mov gword ptr [rbp-0xA0], rax
+ mov rdi, gword ptr [rbp-0xA0]
lea rsi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.List`1[System.Nullable`1[int]]:GetEnumerator():System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:this
nop
;; size=49 bbWeight=1 PerfScore 13.25
-G_M12718_IG05:
- jmp G_M12718_IG09
+G_M12718_IG07:
+ jmp G_M12718_IG11
;; size=5 bbWeight=1 PerfScore 2.00
-G_M12718_IG06:
+G_M12718_IG08:
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:get_Current():System.Nullable`1[int]:this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:get_Current():System.Nullable`1[int]:this
mov qword ptr [rbp-0x60], rax
mov rax, gword ptr [rbp-0x30]
- mov gword ptr [rbp-0x78], rax
- mov rdi, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0x88], rax
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x78]
- mov gword ptr [rbp-0xA0], rax
- mov rdi, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0x88]
+ mov gword ptr [rbp-0xA8], rax
+ mov rdi, gword ptr [rbp-0xA8]
mov rsi, qword ptr [rbp-0x60]
- mov rax, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xA8]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x60]
call [rax+0x10]System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:GetKeyForItem(System.Nullable`1[int]):System.Nullable`1[int]:this
mov qword ptr [rbp-0x68], rax
movzx rax, byte ptr [rbp-0x68]
test eax, eax
- je SHORT G_M12718_IG08
+ je SHORT G_M12718_IG10
mov rax, gword ptr [rbp-0x30]
mov rax, gword ptr [rax+0x10]
- mov gword ptr [rbp-0x80], rax
- mov rdi, gword ptr [rbp-0x80]
+ mov gword ptr [rbp-0x90], rax
+ mov rdi, gword ptr [rbp-0x90]
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_CLASSPROFILE32
- mov rax, gword ptr [rbp-0x80]
- mov gword ptr [rbp-0xA8], rax
- mov rdi, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0x90]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xB0]
mov rdx, qword ptr [rbp-0x68]
mov rsi, qword ptr [rbp-0x38]
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
call [r11]System.Collections.Generic.IEqualityComparer`1[System.Nullable`1[int]]:Equals(System.Nullable`1[int],System.Nullable`1[int]):ubyte:this
test eax, eax
- je SHORT G_M12718_IG07
+ je SHORT G_M12718_IG09
mov rax, bword ptr [rbp-0x40]
mov rcx, qword ptr [rbp-0x60]
mov qword ptr [rax], rcx
mov dword ptr [rbp-0x6C], 1
- jmp SHORT G_M12718_IG14
- ;; size=192 bbWeight=1 PerfScore 46.00
-G_M12718_IG07:
+ jmp SHORT G_M12718_IG16
+ ;; size=210 bbWeight=1 PerfScore 46.00
+G_M12718_IG09:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
- jmp SHORT G_M12718_IG09
+ jmp SHORT G_M12718_IG11
;; size=17 bbWeight=0.50 PerfScore 1.62
-G_M12718_IG08:
+G_M12718_IG10:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M12718_IG09:
- mov eax, dword ptr [rbp-0x88]
+G_M12718_IG11:
+ mov eax, dword ptr [rbp-0x98]
dec eax
- mov dword ptr [rbp-0x88], eax
- cmp dword ptr [rbp-0x88], 0
- jg SHORT G_M12718_IG11
+ mov dword ptr [rbp-0x98], eax
+ cmp dword ptr [rbp-0x98], 0
+ jg SHORT G_M12718_IG13
;; size=23 bbWeight=1 PerfScore 5.25
-G_M12718_IG10:
- lea rdi, [rbp-0x88]
+G_M12718_IG12:
+ lea rdi, [rbp-0x98]
mov esi, 102
call CORINFO_HELP_PATCHPOINT
;; size=17 bbWeight=0.01 PerfScore 0.02
-G_M12718_IG11:
+G_M12718_IG13:
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:MoveNext():ubyte:this
test eax, eax
- jne G_M12718_IG06
+ jne G_M12718_IG08
;; size=24 bbWeight=1 PerfScore 5.00
-G_M12718_IG12:
- mov rdi, rsp
- ;; size=3 bbWeight=1 PerfScore 0.25
-G_M12718_IG13:
- call G_M12718_IG20
- jmp SHORT G_M12718_IG16
- ;; size=7 bbWeight=1 PerfScore 3.00
G_M12718_IG14:
mov rdi, rsp
;; size=3 bbWeight=1 PerfScore 0.25
G_M12718_IG15:
- call G_M12718_IG20
+ call G_M12718_IG22
jmp SHORT G_M12718_IG18
;; size=7 bbWeight=1 PerfScore 3.00
G_M12718_IG16:
+ mov rdi, rsp
+ ;; size=3 bbWeight=1 PerfScore 0.25
+G_M12718_IG17:
+ call G_M12718_IG22
+ jmp SHORT G_M12718_IG20
+ ;; size=7 bbWeight=1 PerfScore 3.00
+G_M12718_IG18:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov rax, bword ptr [rbp-0x40]
xor ecx, ecx
mov qword ptr [rax], rcx
xor eax, eax
;; size=26 bbWeight=1 PerfScore 3.75
-G_M12718_IG17:
- add rsp, 176
+G_M12718_IG19:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M12718_IG18:
+G_M12718_IG20:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
mov eax, dword ptr [rbp-0x6C]
;; size=18 bbWeight=1 PerfScore 2.25
-G_M12718_IG19:
- add rsp, 176
+G_M12718_IG21:
+ add rsp, 192
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 1.75
-G_M12718_IG20:
+G_M12718_IG22:
push rbp
sub rsp, 16
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0xB0]
+ lea rbp, [rbp+0xC0]
;; size=19 bbWeight=1 PerfScore 4.75
-G_M12718_IG21:
+G_M12718_IG23:
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_COUNTPROFILE32
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:Dispose():this
call [rax]System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]:Dispose():this
nop
;; size=32 bbWeight=1 PerfScore 5.25
-G_M12718_IG22:
+G_M12718_IG24:
add rsp, 16
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 681, prolog size 69, PerfScore 142.60, instruction count 143, allocated bytes for code 681 (MethodHash=bf41ce51) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this (Instrumented Tier0)
+; Total bytes of code 691, prolog size 65, PerfScore 145.35, instruction count 146, allocated bytes for code 691 (MethodHash=bf41ce51) for method System.Collections.ObjectModel.KeyedCollection`2[System.Nullable`1[int],System.Nullable`1[int]]:TryGetValue(System.Nullable`1[int],byref):ubyte:this (Instrumented Tier0)
8 (5.03 % of base) - System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this
; Assembly listing for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 arg2 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x18] do-not-enreg[S] <System.Nullable`1[int]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) struct (16) [rbp-0x28] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
-; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
-; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) struct (16) [rbp-0x38] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
+; V07 tmp4 [V07 ] ( 1, 1 ) ref -> [rbp-0x40] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
;
; Lcl frame size = 64
G_M3700_IG01:
push rbp
sub rsp, 64
lea rbp, [rsp+0x40]
+ vxorps xmm8, xmm8, xmm8
+ vmovdqu ymmword ptr [rbp-0x40], ymm8
xor eax, eax
- mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0x38], rax
+ mov qword ptr [rbp-0x20], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
mov qword ptr [rbp-0x18], rdx
- ;; size=32 bbWeight=1 PerfScore 7.00
+ ;; size=38 bbWeight=1 PerfScore 8.33
G_M3700_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x38], rax
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x28], rax
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M3700_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M3700_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M3700_IG04:
vxorps xmm0, xmm0, xmm0
- vmovups xmmword ptr [rbp-0x28], xmm0
+ vmovups xmmword ptr [rbp-0x38], xmm0
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x18]
- mov gword ptr [rbp-0x30], rax
- lea rdi, [rbp-0x28]
+ mov gword ptr [rbp-0x40], rax
+ lea rdi, [rbp-0x38]
mov rsi, qword ptr [rbp-0x10]
mov rdx, qword ptr [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
- mov rsi, qword ptr [rbp-0x28]
- mov rdx, qword ptr [rbp-0x20]
- mov rdi, gword ptr [rbp-0x30]
+ mov rsi, qword ptr [rbp-0x38]
+ mov rdx, qword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.SortedSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:Add(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.SortedSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:Add(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
nop
- ;; size=121 bbWeight=1 PerfScore 27.83
-G_M3700_IG03:
+ ;; size=72 bbWeight=1 PerfScore 20.58
+G_M3700_IG05:
add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 159, prolog size 20, PerfScore 36.58, instruction count 37, allocated bytes for code 159 (MethodHash=fcc9f18b) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
+; Total bytes of code 167, prolog size 26, PerfScore 39.92, instruction count 42, allocated bytes for code 167 (MethodHash=fcc9f18b) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
8 (4.97 % of base) - System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this
; Assembly listing for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x18] do-not-enreg[S] ld-addr-op <System.Nullable`1[int]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) ref -> [rbp-0x20] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
-; V05 tmp2 [V05 ] ( 1, 1 ) struct (16) [rbp-0x30] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
-; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
+; V07 tmp4 [V07 ] ( 1, 1 ) struct (16) [rbp-0x40] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
;
; Lcl frame size = 64
G_M55702_IG01:
push rbp
sub rsp, 64
lea rbp, [rsp+0x40]
+ vxorps xmm8, xmm8, xmm8
+ vmovdqa xmmword ptr [rbp-0x30], xmm8
xor eax, eax
mov qword ptr [rbp-0x20], rax
- mov qword ptr [rbp-0x38], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
- ;; size=28 bbWeight=1 PerfScore 6.00
+ ;; size=34 bbWeight=1 PerfScore 7.33
G_M55702_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x38], rax
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x28], rax
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M55702_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M55702_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M55702_IG04:
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x18]
- mov gword ptr [rbp-0x20], rax
+ mov gword ptr [rbp-0x30], rax
xor eax, eax
mov qword ptr [rbp-0x18], rax
vxorps xmm0, xmm0, xmm0
- vmovups xmmword ptr [rbp-0x30], xmm0
- lea rdi, [rbp-0x30]
+ vmovups xmmword ptr [rbp-0x40], xmm0
+ lea rdi, [rbp-0x40]
mov rsi, qword ptr [rbp-0x10]
mov rdx, qword ptr [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
- mov rsi, qword ptr [rbp-0x30]
- mov rdx, qword ptr [rbp-0x28]
- mov rdi, gword ptr [rbp-0x20]
- mov rax, gword ptr [rbp-0x20]
+ mov rsi, qword ptr [rbp-0x40]
+ mov rdx, qword ptr [rbp-0x38]
+ mov rdi, gword ptr [rbp-0x30]
+ mov rax, gword ptr [rbp-0x30]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x50]
call [rax+0x18]System.Collections.Generic.SortedSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:Contains(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
nop
- ;; size=127 bbWeight=1 PerfScore 30.83
-G_M55702_IG03:
+ ;; size=78 bbWeight=1 PerfScore 23.58
+G_M55702_IG05:
add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 161, prolog size 20, PerfScore 38.58, instruction count 39, allocated bytes for code 161 (MethodHash=b3012669) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this (Tier0)
+; Total bytes of code 169, prolog size 26, PerfScore 41.92, instruction count 44, allocated bytes for code 169 (MethodHash=b3012669) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:ContainsKey(System.Nullable`1[int]):ubyte:this (Tier0)
8 (4.97 % of base) - System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this
; Assembly listing for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x18] do-not-enreg[S] ld-addr-op <System.Nullable`1[int]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) ref -> [rbp-0x20] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
-; V05 tmp2 [V05 ] ( 1, 1 ) struct (16) [rbp-0x30] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
-; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]>
+; V07 tmp4 [V07 ] ( 1, 1 ) struct (16) [rbp-0x40] do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]>
;
; Lcl frame size = 64
G_M63812_IG01:
push rbp
sub rsp, 64
lea rbp, [rsp+0x40]
+ vxorps xmm8, xmm8, xmm8
+ vmovdqa xmmword ptr [rbp-0x30], xmm8
xor eax, eax
mov qword ptr [rbp-0x20], rax
- mov qword ptr [rbp-0x38], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
- ;; size=28 bbWeight=1 PerfScore 6.00
+ ;; size=34 bbWeight=1 PerfScore 7.33
G_M63812_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x38], rax
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x28], rax
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M63812_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M63812_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M63812_IG04:
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x18]
- mov gword ptr [rbp-0x20], rax
+ mov gword ptr [rbp-0x30], rax
xor eax, eax
mov qword ptr [rbp-0x18], rax
vxorps xmm0, xmm0, xmm0
- vmovups xmmword ptr [rbp-0x30], xmm0
- lea rdi, [rbp-0x30]
+ vmovups xmmword ptr [rbp-0x40], xmm0
+ lea rdi, [rbp-0x40]
mov rsi, qword ptr [rbp-0x10]
mov rdx, qword ptr [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
call [rax]System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]:.ctor(System.Nullable`1[int],System.Nullable`1[int]):this
- mov rsi, qword ptr [rbp-0x30]
- mov rdx, qword ptr [rbp-0x28]
- mov rdi, gword ptr [rbp-0x20]
+ mov rsi, qword ptr [rbp-0x40]
+ mov rdx, qword ptr [rbp-0x38]
+ mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.SortedSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:Remove(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.SortedSet`1[System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]]:Remove(System.Collections.Generic.KeyValuePair`2[System.Nullable`1[int],System.Nullable`1[int]]):ubyte:this
nop
- ;; size=127 bbWeight=1 PerfScore 29.08
-G_M63812_IG03:
+ ;; size=78 bbWeight=1 PerfScore 21.83
+G_M63812_IG05:
add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 161, prolog size 20, PerfScore 36.83, instruction count 38, allocated bytes for code 161 (MethodHash=eb9d06bb) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Tier0)
+; Total bytes of code 169, prolog size 26, PerfScore 40.17, instruction count 43, allocated bytes for code 169 (MethodHash=eb9d06bb) for method System.Collections.Generic.SortedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Remove(System.Nullable`1[int]):ubyte:this (Tier0)
8 (2.52 % of base) - System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this
; Assembly listing for method System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 arg2 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x18] do-not-enreg[S] <System.Nullable`1[int]>
; V03 loc0 [V03 ] ( 1, 1 ) int -> [rbp-0x1C] do-not-enreg[]
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init class-hnd exact "NewObj constructor temp" <System.ArgumentException>
-; V06 tmp2 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init "argument with side effect"
-; V07 tmp3 [V07 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init "argument with side effect"
+; V05 tmp1 [V05 ] ( 1, 1 ) byref -> [rbp-0x28] do-not-enreg[] must-init "boxedVal spilled"
+; V06 tmp2 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init "boxedArg spilled"
+; V07 tmp3 [V07 ] ( 1, 1 ) ref -> [rbp-0x38] do-not-enreg[] must-init class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V08 tmp4 [V08 ] ( 1, 1 ) ref -> [rbp-0x40] do-not-enreg[] must-init "argument with side effect"
; V09 tmp5 [V09 ] ( 1, 1 ) ref -> [rbp-0x48] do-not-enreg[] must-init "argument with side effect"
; V10 tmp6 [V10 ] ( 1, 1 ) ref -> [rbp-0x50] do-not-enreg[] must-init "argument with side effect"
+; V11 tmp7 [V11 ] ( 1, 1 ) ref -> [rbp-0x58] do-not-enreg[] must-init "argument with side effect"
;
-; Lcl frame size = 80
+; Lcl frame size = 96
G_M35790_IG01:
push rbp
- sub rsp, 80
- lea rbp, [rsp+0x50]
+ sub rsp, 96
+ lea rbp, [rsp+0x60]
+ xor eax, eax
+ mov qword ptr [rbp-0x58], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x50], ymm8
vmovdqa xmmword ptr [rbp-0x30], xmm8
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
mov qword ptr [rbp-0x18], rdx
- ;; size=37 bbWeight=1 PerfScore 9.08
+ ;; size=43 bbWeight=1 PerfScore 10.33
G_M35790_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x28], rax
+ mov rax, 0xD1FFAB1E ; 'key'
mov gword ptr [rbp-0x30], rax
- mov rdi, gword ptr [rbp-0x30]
- mov rsi, 0xD1FFAB1E ; 'key'
+ mov rax, bword ptr [rbp-0x28]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M35790_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M35790_IG03:
+ mov rsi, gword ptr [rbp-0x30]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M35790_IG04:
mov rax, gword ptr [rbp-0x08]
mov rdi, gword ptr [rax+0x08]
mov rax, gword ptr [rbp-0x08]
mov r8, gword ptr [rax+0x18]
mov rax, gword ptr [rbp-0x08]
mov edx, dword ptr [rax+0x30]
mov rcx, qword ptr [rbp-0x10]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Array:BinarySearch[System.Nullable`1[int]](System.Nullable`1[int][],int,int,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):int
call [rax]System.Array:BinarySearch[System.Nullable`1[int]](System.Nullable`1[int][],int,int,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):int
mov dword ptr [rbp-0x1C], eax
cmp dword ptr [rbp-0x1C], 0
- jl G_M35790_IG04
- ;; size=103 bbWeight=1 PerfScore 24.75
-G_M35790_IG03:
+ jl G_M35790_IG06
+ ;; size=54 bbWeight=1 PerfScore 17.50
+G_M35790_IG05:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x28], rax
+ mov gword ptr [rbp-0x38], rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_Argument_AddingDuplicate():System.String
call [rax]System.SR:get_Argument_AddingDuplicate():System.String
- mov gword ptr [rbp-0x38], rax
+ mov gword ptr [rbp-0x40], rax
lea rsi, [rbp-0x10]
mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x40], rax
- mov rdi, gword ptr [rbp-0x38]
- mov rsi, gword ptr [rbp-0x40]
+ mov gword ptr [rbp-0x48], rax
+ mov rdi, gword ptr [rbp-0x40]
+ mov rsi, gword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object):System.String
call [rax]System.SR:Format(System.String,System.Object):System.String
- mov gword ptr [rbp-0x48], rax
+ mov gword ptr [rbp-0x50], rax
mov edi, 0x869
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
- mov gword ptr [rbp-0x50], rax
- mov rsi, gword ptr [rbp-0x48]
- mov rdx, gword ptr [rbp-0x50]
- mov rdi, gword ptr [rbp-0x28]
+ mov gword ptr [rbp-0x58], rax
+ mov rsi, gword ptr [rbp-0x50]
+ mov rdx, gword ptr [rbp-0x58]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String,System.String):this
call [rax]System.ArgumentException:.ctor(System.String,System.String):this
- mov rdi, gword ptr [rbp-0x28]
+ mov rdi, gword ptr [rbp-0x38]
call CORINFO_HELP_THROW
int3
;; size=140 bbWeight=0 PerfScore 0.00
-G_M35790_IG04:
+G_M35790_IG06:
mov eax, dword ptr [rbp-0x1C]
mov esi, eax
not esi
mov rdi, gword ptr [rbp-0x08]
mov rdx, qword ptr [rbp-0x10]
mov rcx, qword ptr [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Insert(int,System.Nullable`1[int],System.Nullable`1[int]):this
call [rax]System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Insert(int,System.Nullable`1[int],System.Nullable`1[int]):this
nop
;; size=32 bbWeight=1 PerfScore 8.00
-G_M35790_IG05:
- add rsp, 80
+G_M35790_IG07:
+ add rsp, 96
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 318, prolog size 25, PerfScore 43.58, instruction count 69, allocated bytes for code 318 (MethodHash=68b77431) for method System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
+; Total bytes of code 326, prolog size 31, PerfScore 46.83, instruction count 75, allocated bytes for code 326 (MethodHash=68b77431) for method System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
8 (4.35 % of base) - System.Collections.Generic.SortedList`2+KeyList[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this
; Assembly listing for method System.Collections.Generic.SortedList`2+KeyList[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.SortedList`2+KeyList[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) int -> [rbp-0x14] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) ref -> [rbp-0x20] do-not-enreg[] must-init class-hnd exact "non-inline candidate call" <System.Nullable`1[int][]>
-; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "argument with side effect"
-; V06 tmp3 [V06 ] ( 1, 1 ) int -> [rbp-0x2C] do-not-enreg[] "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
+; V06 tmp3 [V06 ] ( 1, 1 ) ref -> [rbp-0x30] do-not-enreg[] must-init class-hnd exact "non-inline candidate call" <System.Nullable`1[int][]>
+; V07 tmp4 [V07 ] ( 1, 1 ) int -> [rbp-0x34] do-not-enreg[] "argument with side effect"
;
-; Lcl frame size = 48
+; Lcl frame size = 64
G_M60541_IG01:
push rbp
- sub rsp, 48
- lea rbp, [rsp+0x30]
+ sub rsp, 64
+ lea rbp, [rsp+0x40]
+ vxorps xmm8, xmm8, xmm8
+ vmovdqa xmmword ptr [rbp-0x30], xmm8
xor eax, eax
mov qword ptr [rbp-0x20], rax
- mov qword ptr [rbp-0x28], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
- ;; size=28 bbWeight=1 PerfScore 6.00
+ ;; size=34 bbWeight=1 PerfScore 7.33
G_M60541_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
mov gword ptr [rbp-0x28], rax
- mov rdi, gword ptr [rbp-0x28]
- mov rsi, 0xD1FFAB1E ; 'key'
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M60541_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M60541_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M60541_IG04:
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x08]
mov rax, gword ptr [rax+0x08]
- mov gword ptr [rbp-0x20], rax
+ mov gword ptr [rbp-0x30], rax
mov rax, gword ptr [rbp-0x08]
mov rdi, gword ptr [rax+0x08]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Count():int:this
cmp dword ptr [rdi], edi
call [rax]System.Collections.Generic.SortedList`2[System.Nullable`1[int],System.Nullable`1[int]]:get_Count():int:this
- mov dword ptr [rbp-0x2C], eax
- mov edx, dword ptr [rbp-0x2C]
+ mov dword ptr [rbp-0x34], eax
+ mov edx, dword ptr [rbp-0x34]
mov rax, gword ptr [rbp-0x08]
mov rax, gword ptr [rax+0x08]
mov r8, gword ptr [rax+0x18]
- mov rdi, gword ptr [rbp-0x20]
+ mov rdi, gword ptr [rbp-0x30]
mov rcx, qword ptr [rbp-0x10]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Array:BinarySearch[System.Nullable`1[int]](System.Nullable`1[int][],int,int,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):int
call [rax]System.Array:BinarySearch[System.Nullable`1[int]](System.Nullable`1[int][],int,int,System.Nullable`1[int],System.Collections.Generic.IComparer`1[System.Nullable`1[int]]):int
mov dword ptr [rbp-0x14], eax
cmp dword ptr [rbp-0x14], 0
- jl SHORT G_M60541_IG04
+ jl SHORT G_M60541_IG06
mov eax, dword ptr [rbp-0x14]
- ;; size=139 bbWeight=1 PerfScore 40.00
-G_M60541_IG03:
- add rsp, 48
+ ;; size=90 bbWeight=1 PerfScore 32.75
+G_M60541_IG05:
+ add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-G_M60541_IG04:
+G_M60541_IG06:
mov eax, -1
;; size=5 bbWeight=1 PerfScore 0.25
-G_M60541_IG05:
- add rsp, 48
+G_M60541_IG07:
+ add rsp, 64
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 184, prolog size 20, PerfScore 49.75, instruction count 46, allocated bytes for code 184 (MethodHash=9a621382) for method System.Collections.Generic.SortedList`2+KeyList[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)
+; Total bytes of code 192, prolog size 26, PerfScore 53.08, instruction count 51, allocated bytes for code 192 (MethodHash=9a621382) for method System.Collections.Generic.SortedList`2+KeyList[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)
6 (5.04 % of base) - System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this
; Assembly listing for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 arg2 [V02 ] ( 1, 1 ) struct ( 8) [rbp-0x18] do-not-enreg[S] <System.Nullable`1[int]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) ref -> [rbp-0x20] do-not-enreg[] must-init "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
;
-; Lcl frame size = 32
+; Lcl frame size = 48
G_M17408_IG01:
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ sub rsp, 48
+ lea rbp, [rsp+0x30]
xor eax, eax
mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x28], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
mov qword ptr [rbp-0x18], rdx
- ;; size=28 bbWeight=1 PerfScore 6.00
+ ;; size=32 bbWeight=1 PerfScore 7.00
G_M17408_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x20], rax
- mov rdi, gword ptr [rbp-0x20]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x28], rax
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M17408_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M17408_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M17408_IG04:
mov rdi, gword ptr [rbp-0x08]
mov rcx, qword ptr [rbp-0x18]
mov rdx, qword ptr [rbp-0x10]
mov esi, -1
mov r8d, 2
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryInsert(int,System.Nullable`1[int],System.Nullable`1[int],int):ubyte:this
call [rax]System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:TryInsert(int,System.Nullable`1[int],System.Nullable`1[int],int):ubyte:this
nop
- ;; size=85 bbWeight=1 PerfScore 14.25
-G_M17408_IG03:
- add rsp, 32
+ ;; size=36 bbWeight=1 PerfScore 7.00
+G_M17408_IG05:
+ add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 119, prolog size 16, PerfScore 22.00, instruction count 27, allocated bytes for code 119 (MethodHash=fd42bbff) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
+; Total bytes of code 125, prolog size 20, PerfScore 25.00, instruction count 32, allocated bytes for code 125 (MethodHash=fd42bbff) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:Add(System.Nullable`1[int],System.Nullable`1[int]):this (Tier0)
6 (5.31 % of base) - System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this
; Assembly listing for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Tier0 code
; rbp based frame
; partially interruptible
; Final local variable assignments
;
; V00 this [V00 ] ( 1, 1 ) ref -> [rbp-0x08] do-not-enreg[] this class-hnd <System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]>
; V01 arg1 [V01 ] ( 1, 1 ) struct ( 8) [rbp-0x10] do-not-enreg[XS] addr-exposed <System.Nullable`1[int]>
; V02 loc0 [V02 ] ( 1, 1 ) int -> [rbp-0x18] do-not-enreg[X] addr-exposed ld-addr-op
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V04 tmp1 [V04 ] ( 1, 1 ) ref -> [rbp-0x20] do-not-enreg[] must-init "argument with side effect"
+; V04 tmp1 [V04 ] ( 1, 1 ) byref -> [rbp-0x20] do-not-enreg[] must-init "boxedVal spilled"
+; V05 tmp2 [V05 ] ( 1, 1 ) ref -> [rbp-0x28] do-not-enreg[] must-init "boxedArg spilled"
;
-; Lcl frame size = 32
+; Lcl frame size = 48
G_M7373_IG01:
push rbp
- sub rsp, 32
- lea rbp, [rsp+0x20]
+ sub rsp, 48
+ lea rbp, [rsp+0x30]
xor eax, eax
mov qword ptr [rbp-0x20], rax
+ mov qword ptr [rbp-0x28], rax
mov gword ptr [rbp-0x08], rdi
mov qword ptr [rbp-0x10], rsi
- ;; size=24 bbWeight=1 PerfScore 5.00
+ ;; size=28 bbWeight=1 PerfScore 6.00
G_M7373_IG02:
- lea rsi, [rbp-0x10]
- mov rdi, 0xD1FFAB1E ; System.Nullable`1[int]
- call CORINFO_HELP_BOX_NULLABLE
- mov gword ptr [rbp-0x20], rax
- mov rdi, gword ptr [rbp-0x20]
- mov rsi, 0xD1FFAB1E ; 'key'
+ lea rax, bword ptr [rbp-0x10]
+ mov bword ptr [rbp-0x20], rax
+ mov rax, 0xD1FFAB1E ; 'key'
+ mov gword ptr [rbp-0x28], rax
+ mov rax, bword ptr [rbp-0x20]
+ movzx rax, byte ptr [rax]
+ test eax, eax
+ jne SHORT G_M7373_IG04
+ ;; size=33 bbWeight=1 PerfScore 7.00
+G_M7373_IG03:
+ mov rsi, gword ptr [rbp-0x28]
+ xor rdi, rdi
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ ;; size=18 bbWeight=0.50 PerfScore 2.25
+G_M7373_IG04:
xor eax, eax
mov dword ptr [rbp-0x18], eax
lea rdx, [rbp-0x18]
lea rcx, [rbp-0x18]
mov rdi, gword ptr [rbp-0x08]
mov rsi, qword ptr [rbp-0x10]
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int],byref,byref):int:this
call [rax]System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int],byref,byref):int:this
nop
- ;; size=83 bbWeight=1 PerfScore 15.00
-G_M7373_IG03:
- add rsp, 32
+ ;; size=34 bbWeight=1 PerfScore 7.75
+G_M7373_IG05:
+ add rsp, 48
pop rbp
ret
;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 113, prolog size 16, PerfScore 21.75, instruction count 27, allocated bytes for code 113 (MethodHash=9a36e332) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)
+; Total bytes of code 119, prolog size 20, PerfScore 24.75, instruction count 32, allocated bytes for code 119 (MethodHash=9a36e332) for method System.Collections.Generic.OrderedDictionary`2[System.Nullable`1[int],System.Nullable`1[int]]:IndexOf(System.Nullable`1[int]):int:this (Tier0)