forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JitDiff X64] MichalPetryka/runtime/patch-38 #675
Comments
Top method regressions468 (29.98 % of base) - System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this ; Assembly listing for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 20 single block inlinees; 8 inlinees without PGO data
+; 0 inlinees with PGO data; 36 single block inlinees; 18 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 28, 15 ) ref -> rbx this class-hnd single-def <System.Net.FtpControlStream>
-; V01 arg1 [V01,T03] ( 3, 2.50) ref -> rsi class-hnd single-def <System.Net.CommandStream+PipelineEntry>
-; V02 arg2 [V02,T01] ( 6, 4 ) ref -> r15 class-hnd single-def <System.Net.ResponseDescription>
-; V03 arg3 [V03,T02] ( 5, 4 ) byref -> r14 single-def
-;* V04 loc0 [V04,T52] ( 0, 0 ) ubyte -> zero-ref
-; V05 loc1 [V05,T24] ( 3, 1.50) int -> r13
-; V06 loc2 [V06,T25] ( 4, 2 ) int -> r14
+; V01 arg1 [V01,T07] ( 3, 2.50) ref -> rsi class-hnd single-def <System.Net.CommandStream+PipelineEntry>
+; V02 arg2 [V02,T03] ( 6, 4 ) ref -> r15 class-hnd single-def <System.Net.ResponseDescription>
+; V03 arg3 [V03,T04] ( 5, 4 ) byref -> r14 single-def
+;* V04 loc0 [V04,T60] ( 0, 0 ) ubyte -> zero-ref
+; V05 loc1 [V05,T34] ( 3, 1.50) int -> r13
+; V06 loc2 [V06,T35] ( 4, 2 ) int -> r14
;* V07 loc3 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Net.IPEndPoint>
-; V08 loc4 [V08,T38] ( 3, 1.50) ref -> r15 class-hnd single-def <System.Net.IPEndPoint>
-; V09 loc5 [V09,T49] ( 3, 0.50) ref -> [rbp-0x30] class-hnd EH-live single-def <System.Net.Sockets.Socket>
+; V08 loc4 [V08,T44] ( 3, 1.50) ref -> r15 class-hnd single-def <System.Net.IPEndPoint>
+; V09 loc5 [V09,T57] ( 3, 0.50) ref -> [rbp-0x30] class-hnd EH-live single-def <System.Net.Sockets.Socket>
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V11 tmp1 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Net.IPAddress>
-; V12 tmp2 [V12,T56] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Net.WebException>
-; V13 tmp3 [V13,T04] ( 4, 4 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
-; V14 tmp4 [V14,T10] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+; V12 tmp2 [V12,T64] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Net.WebException>
+; V13 tmp3 [V13,T08] ( 4, 4 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
+; V14 tmp4 [V14,T18] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.IPEndPoint>
;* V15 tmp5 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" <System.ObjectDisposedException>
-; V16 tmp6 [V16,T11] ( 3, 3 ) ref -> r14 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
-; V17 tmp7 [V17,T26] ( 2, 2 ) ref -> rdi class-hnd exact single-def "impImportAndPushBox" <System.String>
+; V16 tmp6 [V16,T19] ( 3, 3 ) ref -> r14 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+; V17 tmp7 [V17,T36] ( 2, 2 ) ref -> rdi class-hnd exact single-def "impImportAndPushBox" <System.String>
;* V18 tmp8 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V19 tmp9 [V19,T08] ( 5, 3 ) ref -> rax single-def "spilling varStr"
+; V19 tmp9 [V19,T16] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V20 tmp10 [V20 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V21 tmp11 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V22 tmp12 [V22,T09] ( 5, 3 ) ref -> rax single-def "spilling varStr"
+; V22 tmp12 [V22,T17] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V23 tmp13 [V23 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V24 tmp14 [V24,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V24 tmp14 [V24,T61] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V25 tmp15 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V26 tmp16 [V26,T20] ( 4, 2.75) ref -> rdi single-def "spilling varStr"
+; V26 tmp16 [V26,T30] ( 4, 2.75) ref -> rdi single-def "spilling varStr"
;* V27 tmp17 [V27 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V28 tmp18 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.Sockets.NetworkStream>
;* V29 tmp19 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.Sockets.NetworkStream>
-; V30 tmp20 [V30,T27] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Net.IPEndPoint>
-; V31 tmp21 [V31,T12] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Net.IPAddress>
+; V30 tmp20 [V30,T37] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Net.IPEndPoint>
+; V31 tmp21 [V31,T20] ( 3, 3 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Net.IPAddress>
;* V32 tmp22 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.ArgumentOutOfRangeException>
;* V33 tmp23 [V33 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V34 tmp24 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V35 tmp25 [V35,T13] ( 3, 3 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V36 tmp26 [V36,T28] ( 2, 2 ) ref -> r13 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V35 tmp25 [V35,T21] ( 3, 3 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V36 tmp26 [V36,T38] ( 2, 2 ) ref -> r13 class-hnd exact single-def "non-inline candidate call" <System.String>
;* V37 tmp27 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
-; V38 tmp28 [V38,T43] ( 2, 1 ) ref -> rdi single-def
-;* V39 tmp29 [V39,T54] ( 0, 0 ) int -> zero-ref
-; V40 tmp30 [V40,T44] ( 2, 1 ) ref -> rdx single-def
-;* V41 tmp31 [V41,T50] ( 0, 0 ) ref -> zero-ref single-def
-; V42 tmp32 [V42,T29] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
-; V43 tmp33 [V43,T14] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
-; V44 tmp34 [V44,T30] ( 2, 2 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.AsyncCallback>
-; V45 tmp35 [V45,T15] ( 3, 3 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-; V46 tmp36 [V46,T31] ( 2, 2 ) ref -> rdi class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
-;* V47 tmp37 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V48 tmp38 [V48,T16] ( 3, 3 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V49 tmp39 [V49,T32] ( 2, 2 ) ref -> r15 class-hnd exact single-def "non-inline candidate call" <System.String>
-;* V50 tmp40 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
-; V51 tmp41 [V51,T45] ( 2, 1 ) ref -> rdi single-def
-;* V52 tmp42 [V52,T55] ( 0, 0 ) int -> zero-ref
-; V53 tmp43 [V53,T46] ( 2, 1 ) ref -> rdx single-def
-;* V54 tmp44 [V54,T51] ( 0, 0 ) ref -> zero-ref single-def
-; V55 tmp45 [V55,T33] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
-; V56 tmp46 [V56,T17] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
-; V57 tmp47 [V57,T34] ( 2, 2 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.AsyncCallback>
-; V58 tmp48 [V58,T18] ( 3, 3 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]>
-; V59 tmp49 [V59,T35] ( 2, 2 ) ref -> rdi class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
-;* V60 tmp50 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.IPEndPoint>
-; V61 tmp51 [V61,T21] ( 3, 2.25) ref -> rax single-def "argument with side effect"
-; V62 tmp52 [V62,T36] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V63 tmp53 [V63,T22] ( 3, 2.25) ref -> rax single-def "argument with side effect"
-; V64 tmp54 [V64,T19] ( 3, 3 ) ref -> r15 single-def "argument with side effect"
-; V65 tmp55 [V65,T37] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V66 tmp56 [V66,T57] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-;* V67 tmp57 [V67 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V68 PSPSym [V68,T47] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[V] "PSPSym"
-; V69 cse0 [V69,T07] ( 6, 3 ) ref -> r13 multi-def "CSE #17: moderate"
-; V70 cse1 [V70,T48] ( 5, 0.62) long -> rax multi-def "CSE #06: conservative"
-; V71 cse2 [V71,T23] ( 4, 2 ) ref -> rdi "CSE #01: conservative"
-; V72 cse3 [V72,T40] ( 3, 1.50) int -> rcx "CSE #07: conservative"
-; V73 cse4 [V73,T39] ( 3, 1.50) ref -> r15 "CSE #12: conservative"
-; V74 rat0 [V74,T05] ( 5, 3.75) ref -> r15 "replacement local"
-; V75 rat1 [V75,T41] ( 3, 1.25) long -> rdi "CSE for expectedClsNode"
-; V76 rat2 [V76,T06] ( 5, 3.75) ref -> rcx "replacement local"
-; V77 rat3 [V77,T42] ( 3, 1.25) long -> rdi "CSE for expectedClsNode"
+; V38 tmp28 [V38,T49] ( 2, 1 ) ref -> rdi single-def
+;* V39 tmp29 [V39,T62] ( 0, 0 ) int -> zero-ref
+; V40 tmp30 [V40,T50] ( 2, 1 ) ref -> rdx single-def
+;* V41 tmp31 [V41,T58] ( 0, 0 ) ref -> zero-ref single-def
+; V42 tmp32 [V42,T39] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
+; V43 tmp33 [V43,T22] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+; V44 tmp34 [V44,T09] ( 4, 4 ) ref -> r14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+; V45 tmp35 [V45,T01] ( 8, 8 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
+;* V46 tmp36 [V46 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V47 tmp37 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+; V48 tmp38 [V48,T05] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Action>
+;* V49 tmp39 [V49 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V50 tmp40 [V50,T10] ( 4, 4 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V51 tmp41 [V51 ] ( 0, 0 ) ref -> zero-ref
+;* V52 tmp42 [V52 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V53 tmp43 [V53 ] ( 0, 0 ) int -> zero-ref
+;* V54 tmp44 [V54 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V55 tmp45 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+; V56 tmp46 [V56,T23] ( 3, 3 ) ref -> r15 class-hnd "Inlining Arg" <System.Action>
+;* V57 tmp47 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V58 tmp48 [V58,T53] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V59 tmp49 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+;* V60 tmp50 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
+; V61 tmp51 [V61,T24] ( 3, 3 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V62 tmp52 [V62,T40] ( 2, 2 ) ref -> r15 class-hnd exact single-def "non-inline candidate call" <System.String>
+;* V63 tmp53 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
+; V64 tmp54 [V64,T51] ( 2, 1 ) ref -> rdi single-def
+;* V65 tmp55 [V65,T63] ( 0, 0 ) int -> zero-ref
+; V66 tmp56 [V66,T52] ( 2, 1 ) ref -> rdx single-def
+;* V67 tmp57 [V67,T59] ( 0, 0 ) ref -> zero-ref single-def
+; V68 tmp58 [V68,T41] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
+; V69 tmp59 [V69,T25] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Net.Sockets.Socket>
+; V70 tmp60 [V70,T11] ( 4, 4 ) ref -> r14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]>
+; V71 tmp61 [V71,T02] ( 8, 8 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult>
+;* V72 tmp62 [V72 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V73 tmp63 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+; V74 tmp64 [V74,T06] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Action>
+;* V75 tmp65 [V75 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V76 tmp66 [V76,T12] ( 4, 4 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V77 tmp67 [V77 ] ( 0, 0 ) ref -> zero-ref
+;* V78 tmp68 [V78 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V79 tmp69 [V79 ] ( 0, 0 ) int -> zero-ref
+;* V80 tmp70 [V80 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V81 tmp71 [V81 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+; V82 tmp72 [V82,T26] ( 3, 3 ) ref -> r15 class-hnd "Inlining Arg" <System.Action>
+;* V83 tmp73 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V84 tmp74 [V84,T54] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V85 tmp75 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+;* V86 tmp76 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.IPEndPoint>
+;* V87 tmp77 [V87 ] ( 0, 0 ) ref -> zero-ref single-def "field V47.m_task (fldOffset=0x0)" P-INDEP
+;* V88 tmp78 [V88 ] ( 0, 0 ) int -> zero-ref "field V47.m_options (fldOffset=0x8)" P-INDEP
+;* V89 tmp79 [V89 ] ( 0, 0 ) ref -> zero-ref single-def "field V55.m_task (fldOffset=0x0)" P-INDEP
+;* V90 tmp80 [V90 ] ( 0, 0 ) int -> zero-ref "field V55.m_options (fldOffset=0x8)" P-INDEP
+;* V91 tmp81 [V91 ] ( 0, 0 ) ref -> zero-ref single-def "field V73.m_task (fldOffset=0x0)" P-INDEP
+;* V92 tmp82 [V92 ] ( 0, 0 ) int -> zero-ref "field V73.m_options (fldOffset=0x8)" P-INDEP
+;* V93 tmp83 [V93 ] ( 0, 0 ) ref -> zero-ref single-def "field V81.m_task (fldOffset=0x0)" P-INDEP
+;* V94 tmp84 [V94 ] ( 0, 0 ) int -> zero-ref "field V81.m_options (fldOffset=0x8)" P-INDEP
+; V95 tmp85 [V95,T31] ( 3, 2.25) ref -> rax single-def "argument with side effect"
+; V96 tmp86 [V96,T42] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V97 tmp87 [V97,T32] ( 3, 2.25) ref -> rax single-def "argument with side effect"
+; V98 tmp88 [V98,T27] ( 3, 3 ) ref -> r15 single-def "argument with side effect"
+; V99 tmp89 [V99,T43] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V100 tmp90 [V100,T65] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
+;* V101 tmp91 [V101 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
+; V102 PSPSym [V102,T55] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[V] "PSPSym"
+; V103 cse0 [V103,T15] ( 6, 3 ) ref -> r13 multi-def "CSE #17: moderate"
+; V104 cse1 [V104,T56] ( 5, 0.62) long -> rax multi-def "CSE #06: conservative"
+; V105 cse2 [V105,T33] ( 4, 2 ) ref -> rdi "CSE #01: conservative"
+; V106 cse3 [V106,T46] ( 3, 1.50) int -> rcx "CSE #07: conservative"
+; V107 cse4 [V107,T45] ( 3, 1.50) ref -> r15 "CSE #12: conservative"
+; V108 rat0 [V108,T13] ( 5, 3.75) ref -> r15 "replacement local"
+; V109 rat1 [V109,T47] ( 3, 1.25) long -> rdi "CSE for expectedClsNode"
+; V110 rat2 [V110,T14] ( 5, 3.75) ref -> rcx "replacement local"
+; V111 rat3 [V111,T48] ( 3, 1.25) long -> rdi "CSE for expectedClsNode"
+; V112 rat4 [V112,T28] ( 3, 3 ) ref -> rax "delegate invoke call"
+; V113 rat5 [V113,T29] ( 3, 3 ) ref -> rax "delegate invoke call"
;
; Lcl frame size = 24
G_M46174_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 24
lea rbp, [rsp+0x40]
mov qword ptr [rbp-0x40], rsp
mov rbx, rdi
mov r15, rdx
mov r14, rcx
;; size=32 bbWeight=1 PerfScore 8.50
G_M46174_IG02:
mov byte ptr [r14], 0
cmp byte ptr [rbx+0x61], 0
- jne G_M46174_IG35
+ jne G_M46174_IG43
;; size=14 bbWeight=1 PerfScore 5.00
G_M46174_IG03:
mov byte ptr [rbx+0x61], 1
mov rdi, gword ptr [rsi+0x08]
mov rax, rdi
test rax, rax
je SHORT G_M46174_IG06
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M46174_IG04:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M46174_IG06
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M46174_IG05:
mov rcx, 0xD1FFAB1E
xor rcx, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rcx, rax
je SHORT G_M46174_IG09
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M46174_IG06:
mov rax, rdi
test rax, rax
je G_M46174_IG22
;; size=12 bbWeight=0.50 PerfScore 0.75
G_M46174_IG07:
cmp dword ptr [rax+0x08], 6
jne G_M46174_IG22
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M46174_IG08:
mov rcx, 0xD1FFAB1E
xor rcx, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rcx, rax
jne G_M46174_IG22
;; size=31 bbWeight=0.12 PerfScore 0.84
G_M46174_IG09:
mov ecx, dword ptr [r15+0x20]
cmp ecx, 200
jge SHORT G_M46174_IG12
;; size=12 bbWeight=0.50 PerfScore 1.62
G_M46174_IG10:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, 0xD1FFAB1E ; 'net_ftp_server_failed_passive'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov rdi, rax
mov esi, dword ptr [r15+0x20]
mov dword ptr [r14+0x08], esi
mov rsi, r14
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
lea rdi, bword ptr [rbx+0x38]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor eax, eax
;; size=80 bbWeight=0.50 PerfScore 6.88
G_M46174_IG11:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M46174_IG12:
cmp ecx, 299
jg SHORT G_M46174_IG10
test rdi, rdi
je SHORT G_M46174_IG15
;; size=13 bbWeight=0.50 PerfScore 1.25
G_M46174_IG13:
cmp dword ptr [rdi+0x08], 6
jne SHORT G_M46174_IG15
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M46174_IG14:
mov rcx, 0xD1FFAB1E
xor rcx, qword ptr [rdi+0x0C]
or rax, rcx
je SHORT G_M46174_IG16
;; size=19 bbWeight=0.12 PerfScore 0.56
G_M46174_IG15:
mov rdi, gword ptr [r15+0x08]
mov rax, 0xD1FFAB1E ; code for System.Net.FtpControlStream:GetPortV6(System.String):int
call [rax]System.Net.FtpControlStream:GetPortV6(System.String):int
mov r13d, eax
jmp SHORT G_M46174_IG17
;; size=21 bbWeight=0.50 PerfScore 3.75
G_M46174_IG16:
mov rdi, gword ptr [r15+0x08]
mov rax, 0xD1FFAB1E ; code for System.Net.FtpControlStream:GetPortV4(System.String):int
call [rax]System.Net.FtpControlStream:GetPortV4(System.String):int
mov r13d, eax
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M46174_IG17:
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x10]
mov rax, 0xD1FFAB1E ; code for System.Net.FtpControlStream:CreateFtpDataSocket(System.Net.Sockets.Socket):System.Net.Sockets.Socket
call [rax]System.Net.FtpControlStream:CreateFtpDataSocket(System.Net.Sockets.Socket):System.Net.Sockets.Socket
lea rdi, bword ptr [rbx+0x68]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
nop
;; size=33 bbWeight=0.50 PerfScore 4.62
G_M46174_IG18:
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x10]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:get_LocalEndPoint():System.Net.EndPoint:this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:get_LocalEndPoint():System.Net.EndPoint:this
mov r15, rax
test r15, r15
je SHORT G_M46174_IG21
;; size=30 bbWeight=0.50 PerfScore 5.88
G_M46174_IG19:
mov rdi, 0xD1FFAB1E ; System.Net.IPEndPoint
cmp qword ptr [r15], rdi
je SHORT G_M46174_IG21
;; size=15 bbWeight=0.25 PerfScore 1.06
G_M46174_IG20:
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.12 PerfScore 0.47
G_M46174_IG21:
mov rdi, 0xD1FFAB1E ; System.Net.IPEndPoint
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov rsi, gword ptr [r15+0x08]
test rsi, rsi
- je G_M46174_IG46
+ je G_M46174_IG56
xor edi, edi
mov dword ptr [r12+0x10], edi
lea rdi, bword ptr [r12+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbx+0x68]
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Bind(System.Net.EndPoint):this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Bind(System.Net.EndPoint):this
mov rdi, 0xD1FFAB1E ; System.Net.IPEndPoint
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
call [rax]System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
mov rsi, rax
mov rdi, r15
mov edx, r13d
mov rax, 0xD1FFAB1E ; code for System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
call [rax]System.Net.IPEndPoint:.ctor(System.Net.IPAddress,int):this
lea rdi, bword ptr [rbx+0x78]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
;; size=135 bbWeight=0.50 PerfScore 13.38
G_M46174_IG22:
mov r15, gword ptr [rbx+0x78]
test r15, r15
- jne G_M46174_IG27
+ jne G_M46174_IG31
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M46174_IG43
+ je G_M46174_IG51
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M46174_IG23:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r13, gword ptr [rdi]
cmp byte ptr [r13+0x9D], 0
je SHORT G_M46174_IG24
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 r15, rax
mov rdi, 0xD1FFAB1E ; 'starting Accept()'
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 [r13], r13b
mov rdi, r13
mov rdx, r15
mov esi, 1
mov rcx, 0xD1FFAB1E ; 'QueueOrCreateDataConection'
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=103 bbWeight=0.50 PerfScore 10.50
G_M46174_IG24:
cmp byte ptr [rbx+0x5D], 0
je SHORT G_M46174_IG25
mov rdi, gword ptr [rbx+0x68]
- mov rax, 0xD1FFAB1E ; const ptr
- mov r14, gword ptr [rax]
cmp byte ptr [rdi], dil
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:AcceptAsync():System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]:this
call [rax]System.Net.Sockets.Socket:AcceptAsync():System.Threading.Tasks.Task`1[System.Net.Sockets.Socket]:this
- mov r15, rax
- test r15, r15
+ mov r14, rax
+ test r14, r14
jne SHORT G_M46174_IG26
- jmp G_M46174_IG45
- ;; size=51 bbWeight=0.50 PerfScore 9.00
+ jmp G_M46174_IG55
+ ;; size=38 bbWeight=0.50 PerfScore 7.88
G_M46174_IG25:
mov rdi, gword ptr [rbx+0x68]
mov gword ptr [rbp-0x30], rdi
- jmp G_M46174_IG37
+ jmp G_M46174_IG45
;; size=13 bbWeight=0.50 PerfScore 2.50
G_M46174_IG26:
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult
call CORINFO_HELP_NEWSFAST
- mov rdi, rax
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x08]
+ mov rsi, r14
+ call CORINFO_HELP_ASSIGN_REF
+ lea rdi, bword ptr [r15+0x18]
+ mov rsi, rbx
+ call CORINFO_HELP_ASSIGN_REF
+ test dword ptr [r14+0x34], 0xD1FFAB1E
+ jne G_M46174_IG30
+ mov rdi, 0xD1FFAB1E ; const ptr
+ mov rsi, gword ptr [rdi]
+ lea rdi, bword ptr [r15+0x10]
+ call CORINFO_HELP_ASSIGN_REF
+ mov rbx, gword ptr [r15+0x08]
+ cmp byte ptr [rbx], bl
+ mov rdi, 0xD1FFAB1E ; System.Action
+ call CORINFO_HELP_NEWSFAST
+ mov r14, rax
+ lea rdi, bword ptr [r14+0x08]
mov rsi, r15
- mov rdx, rbx
- mov rcx, r14
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
- call [rax]System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
- jmp G_M46174_IG32
- ;; size=44 bbWeight=0.50 PerfScore 3.75
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, 0xD1FFAB1E ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:<.ctor>b__2_0():this
+ mov qword ptr [r14+0x18], rdi
+ mov r15, r14
+ mov rdi, 0xD1FFAB1E ; global ptr
+ test byte ptr [rdi], 1
+ je G_M46174_IG52
+ ;; size=150 bbWeight=0.50 PerfScore 13.38
G_M46174_IG27:
+ mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
+ mov rdi, gword ptr [rdi]
+ cmp byte ptr [rdi+0x9D], 0
+ jne SHORT G_M46174_IG28
+ mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
+ cmp byte ptr [rdi], 0
+ je SHORT G_M46174_IG29
+ ;; size=37 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG28:
+ mov rdi, rbx
+ mov rsi, r14
+ mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+ call [rax]System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+ mov r15, rax
+ ;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M46174_IG29:
+ mov rdi, rbx
+ mov rsi, r15
+ xor edx, edx
+ mov ecx, 1
+ mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+ call [rax]System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+ jmp G_M46174_IG40
+ ;; size=30 bbWeight=0.50 PerfScore 3.12
+G_M46174_IG30:
+ mov byte ptr [r15+0x20], 1
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rax, gword ptr [rsi]
+ mov rsi, r15
+ mov rdi, gword ptr [rax+0x08]
+ call [rax+0x18]System.AsyncCallback:Invoke(System.IAsyncResult):this
+ jmp G_M46174_IG40
+ ;; size=33 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG31:
xor rdi, rdi
mov gword ptr [rbx+0x78], rdi
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M46174_IG44
+ je G_M46174_IG53
;; size=25 bbWeight=0.50 PerfScore 2.75
-G_M46174_IG28:
+G_M46174_IG32:
mov rdi, 0xD1FFAB1E ; data for System.Net.NetEventSource:Log
mov r13, gword ptr [rdi]
cmp byte ptr [r13+0x9D], 0
- je SHORT G_M46174_IG29
+ je SHORT G_M46174_IG33
mov r14, r13
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 r13, rax
mov rdi, 0xD1FFAB1E ; 'starting Connect()'
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 ; 'QueueOrCreateDataConection'
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=105 bbWeight=0.50 PerfScore 10.62
-G_M46174_IG29:
+G_M46174_IG33:
cmp byte ptr [rbx+0x5D], 0
- je SHORT G_M46174_IG30
+ je SHORT G_M46174_IG34
mov rdi, gword ptr [rbx+0x68]
- mov rsi, 0xD1FFAB1E ; const ptr
- mov r14, gword ptr [rsi]
cmp byte ptr [rdi], dil
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:ConnectAsync(System.Net.EndPoint):System.Threading.Tasks.Task:this
call [rax]System.Net.Sockets.Socket:ConnectAsync(System.Net.EndPoint):System.Threading.Tasks.Task:this
- mov r15, rax
- test r15, r15
- jne SHORT G_M46174_IG31
- jmp G_M46174_IG45
- ;; size=54 bbWeight=0.50 PerfScore 9.12
-G_M46174_IG30:
+ mov r14, rax
+ test r14, r14
+ jne SHORT G_M46174_IG35
+ jmp G_M46174_IG55
+ ;; size=41 bbWeight=0.50 PerfScore 8.00
+G_M46174_IG34:
mov rdi, gword ptr [rbx+0x68]
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Connect(System.Net.EndPoint):this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Connect(System.Net.EndPoint):this
mov r14d, 1
- jmp SHORT G_M46174_IG33
- ;; size=29 bbWeight=0.50 PerfScore 5.38
-G_M46174_IG31:
+ jmp G_M46174_IG41
+ ;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M46174_IG35:
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult
call CORINFO_HELP_NEWSFAST
- mov rdi, rax
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x08]
+ mov rsi, r14
+ call CORINFO_HELP_ASSIGN_REF
+ lea rdi, bword ptr [r15+0x18]
+ mov rsi, rbx
+ call CORINFO_HELP_ASSIGN_REF
+ test dword ptr [r14+0x34], 0xD1FFAB1E
+ jne G_M46174_IG39
+ mov rdi, 0xD1FFAB1E ; const ptr
+ mov rsi, gword ptr [rdi]
+ lea rdi, bword ptr [r15+0x10]
+ call CORINFO_HELP_ASSIGN_REF
+ mov rbx, gword ptr [r15+0x08]
+ cmp byte ptr [rbx], bl
+ mov rdi, 0xD1FFAB1E ; System.Action
+ call CORINFO_HELP_NEWSFAST
+ mov r14, rax
+ lea rdi, bword ptr [r14+0x08]
mov rsi, r15
- mov rdx, rbx
- mov rcx, r14
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
- call [rax]System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:.ctor(System.Threading.Tasks.Task,System.Object,System.AsyncCallback):this
- ;; size=39 bbWeight=0.50 PerfScore 2.75
-G_M46174_IG32:
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, 0xD1FFAB1E ; code for System.Threading.Tasks.TaskToAsyncResult+TaskAsyncResult:<.ctor>b__2_0():this
+ mov qword ptr [r14+0x18], rdi
+ mov r15, r14
+ mov rdi, 0xD1FFAB1E ; global ptr
+ test byte ptr [rdi], 1
+ je G_M46174_IG54
+ ;; size=150 bbWeight=0.50 PerfScore 13.38
+G_M46174_IG36:
+ mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
+ mov rdi, gword ptr [rdi]
+ cmp byte ptr [rdi+0x9D], 0
+ jne SHORT G_M46174_IG37
+ mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
+ cmp byte ptr [rdi], 0
+ je SHORT G_M46174_IG38
+ ;; size=37 bbWeight=0.50 PerfScore 5.25
+G_M46174_IG37:
+ mov rdi, rbx
+ mov rsi, r14
+ mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+ call [rax]System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
+ mov r15, rax
+ ;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M46174_IG38:
+ mov rdi, rbx
+ mov rsi, r15
+ xor edx, edx
+ mov ecx, 1
+ mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+ call [rax]System.Threading.Tasks.Task:SetContinuationForAwait(System.Action,ubyte,ubyte):this
+ jmp SHORT G_M46174_IG40
+ ;; size=27 bbWeight=0.50 PerfScore 3.12
+G_M46174_IG39:
+ mov byte ptr [r15+0x20], 1
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rax, gword ptr [rsi]
+ mov rsi, r15
+ mov rdi, gword ptr [rax+0x08]
+ call [rax+0x18]System.AsyncCallback:Invoke(System.IAsyncResult):this
+ ;; size=28 bbWeight=0.50 PerfScore 4.25
+G_M46174_IG40:
mov r14d, 2
;; size=6 bbWeight=0.50 PerfScore 0.12
-G_M46174_IG33:
+G_M46174_IG41:
mov eax, r14d
;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M46174_IG34:
+G_M46174_IG42:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M46174_IG35:
+G_M46174_IG43:
mov byte ptr [r14], 1
mov eax, 2
;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M46174_IG36:
+G_M46174_IG44:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M46174_IG37:
+G_M46174_IG45:
mov rdi, gword ptr [rbx+0x68]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Accept():System.Net.Sockets.Socket:this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Accept():System.Net.Sockets.Socket:this
lea rdi, bword ptr [rbx+0x68]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
call [rax]System.Net.NetworkStreamWrapper:get_ServerAddress():System.Net.IPAddress:this
mov r15, rax
mov rdi, gword ptr [rbx+0x68]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:get_RemoteEndPoint():System.Net.EndPoint:this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:get_RemoteEndPoint():System.Net.EndPoint:this
mov rcx, rax
test rcx, rcx
- je SHORT G_M46174_IG40
+ je SHORT G_M46174_IG48
;; size=74 bbWeight=0.50 PerfScore 11.75
-G_M46174_IG38:
+G_M46174_IG46:
mov rdi, 0xD1FFAB1E ; System.Net.IPEndPoint
cmp qword ptr [rcx], rdi
- je SHORT G_M46174_IG40
+ je SHORT G_M46174_IG48
;; size=15 bbWeight=0.25 PerfScore 1.06
-G_M46174_IG39:
+G_M46174_IG47:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=0.12 PerfScore 0.47
-G_M46174_IG40:
+G_M46174_IG48:
mov rsi, gword ptr [rcx+0x08]
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x10]System.Object:Equals(System.Object):ubyte:this
test eax, eax
- je SHORT G_M46174_IG41
+ je SHORT G_M46174_IG49
mov byte ptr [r14], 1
mov r14d, 2
- jmp SHORT G_M46174_IG42
+ jmp SHORT G_M46174_IG50
;; size=33 bbWeight=0.50 PerfScore 6.88
-G_M46174_IG41:
+G_M46174_IG49:
mov rdi, gword ptr [rbx+0x68]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Close():this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Close():this
mov rdi, 0xD1FFAB1E ; System.Net.WebException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_net_ftp_active_address_different():System.String
call [rax]System.SR:get_net_ftp_active_address_different():System.String
mov rsi, rax
mov rdi, rbx
mov edx, 7
mov rax, 0xD1FFAB1E ; code for System.Net.WebException:.ctor(System.String,int):this
call [rax]System.Net.WebException:.ctor(System.String,int):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=80 bbWeight=0 PerfScore 0.00
-G_M46174_IG42:
+G_M46174_IG50:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Close():this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Close():this
- jmp G_M46174_IG33
+ jmp G_M46174_IG41
;; size=23 bbWeight=0.50 PerfScore 4.62
-G_M46174_IG43:
+G_M46174_IG51:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M46174_IG23
;; size=20 bbWeight=0 PerfScore 0.00
-G_M46174_IG44:
+G_M46174_IG52:
+ mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TplEventSource
+ call CORINFO_HELP_GET_GCSTATIC_BASE
+ jmp G_M46174_IG27
+ ;; size=20 bbWeight=0 PerfScore 0.00
+G_M46174_IG53:
mov rdi, 0xD1FFAB1E ; System.Net.NetEventSource
call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M46174_IG28
+ jmp G_M46174_IG32
;; size=20 bbWeight=0 PerfScore 0.00
-G_M46174_IG45:
+G_M46174_IG54:
+ mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TplEventSource
+ call CORINFO_HELP_GET_GCSTATIC_BASE
+ jmp G_M46174_IG36
+ ;; size=20 bbWeight=0 PerfScore 0.00
+G_M46174_IG55:
mov edi, 0x134F0
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_M46174_IG46:
+G_M46174_IG56:
mov edi, 0xC15
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_M46174_IG47:
+G_M46174_IG57:
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+0x40]
;; size=22 bbWeight=0 PerfScore 0.00
-G_M46174_IG48:
+G_M46174_IG58:
mov rax, 0xD1FFAB1E ; code for System.Net.ExceptionHelper:get_RequestAbortedException():System.Net.WebException
call [rax]System.Net.ExceptionHelper:get_RequestAbortedException():System.Net.WebException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=21 bbWeight=0 PerfScore 0.00
-G_M46174_IG49:
+G_M46174_IG59:
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+0x40]
;; size=22 bbWeight=0 PerfScore 0.00
-G_M46174_IG50:
+G_M46174_IG60:
mov rdi, gword ptr [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Net.Sockets.Socket:Close():this
cmp dword ptr [rdi], edi
call [rax]System.Net.Sockets.Socket:Close():this
nop
;; size=19 bbWeight=0 PerfScore 0.00
-G_M46174_IG51:
+G_M46174_IG61:
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 1561, prolog size 32, PerfScore 155.56, instruction count 374, allocated bytes for code 1561 (MethodHash=8e804ba1) for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
+; Total bytes of code 2029, prolog size 32, PerfScore 203.81, instruction count 468, allocated bytes for code 2029 (MethodHash=8e804ba1) for method System.Net.FtpControlStream:QueueOrCreateDataConection(System.Net.CommandStream+PipelineEntry,System.Net.ResponseDescription,byref):int:this (FullOpts)
; ============================================================ Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/aee41fafad4f99667e4435422a119e87 |
Top method improvements-157 (-10.14 % of base) - System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this ; Assembly listing for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 38 single block inlinees; 11 inlinees without PGO data
+; 0 inlinees with PGO data; 37 single block inlinees; 13 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 39, 23 ) ref -> rbx this class-hnd single-def <System.Net.HttpListenerResponse>
-; V01 arg1 [V01,T06] ( 3, 2.50) ubyte -> r13 single-def
+; V01 arg1 [V01,T05] ( 3, 2.50) ubyte -> r13 single-def
; V02 arg2 [V02,T02] ( 7, 7 ) ref -> r15 class-hnd single-def <System.IO.MemoryStream>
-; V03 arg3 [V03,T04] ( 4, 4 ) ubyte -> r14 single-def
-; V04 loc0 [V04,T09] ( 3, 3 ) ref -> r13 class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
-; V05 loc1 [V05,T10] ( 3, 3 ) ref -> rax class-hnd single-def <ubyte[]>
+; V03 arg3 [V03,T03] ( 4, 4 ) ubyte -> r14 single-def
+; V04 loc0 [V04,T08] ( 3, 3 ) ref -> r13 class-hnd exact single-def <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V05 loc1 [V05,T09] ( 3, 3 ) ref -> rax class-hnd single-def <ubyte[]>
;* V06 loc2 [V06 ] ( 0, 0 ) int -> zero-ref
-; V07 loc3 [V07,T07] ( 8, 4 ) ubyte -> r13
+; V07 loc3 [V07,T06] ( 8, 4 ) ubyte -> r13
;* V08 loc4 [V08 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.DateTime>
;* V09 loc5 [V09 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op <System.ReadOnlySpan`1[ubyte]>
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V11 tmp1 [V11,T01] ( 9, 18 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
-; V12 tmp2 [V12,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Int32>
+; V12 tmp2 [V12,T04] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Int32>
;* V13 tmp3 [V13 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
-; V14 tmp4 [V14,T35] ( 3, 1.50) int -> rax
-; V15 tmp5 [V15,T11] ( 3, 3 ) ref -> r13 class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
-; V16 tmp6 [V16,T25] ( 2, 2 ) byref -> rdi single-def "impAppendStmt"
+; V14 tmp4 [V14,T30] ( 3, 1.50) int -> rax
+; V15 tmp5 [V15,T10] ( 3, 3 ) ref -> r13 class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+;* V16 tmp6 [V16 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V17 tmp7 [V17 ] ( 0, 0 ) ref -> zero-ref
;* V18 tmp8 [V18 ] ( 0, 0 ) ref -> zero-ref single-def
-; V19 tmp9 [V19,T38] ( 2, 1 ) int -> rdi
-; V20 tmp10 [V20,T12] ( 3, 3 ) ref -> r12 class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
+; V19 tmp9 [V19,T33] ( 2, 1 ) int -> rdx
+; V20 tmp10 [V20,T11] ( 3, 3 ) ref -> r12 class-hnd single-def "impAppendStmt" <System.Net.WebHeaderCollection>
;* V21 tmp11 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
;* V22 tmp12 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
-; V23 tmp13 [V23,T26] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;* V24 tmp14 [V24 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V25 tmp15 [V25 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V23 tmp13 [V23 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V24 tmp14 [V24 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+; V25 tmp15 [V25,T23] ( 2, 2 ) ref -> rdx class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
;* V26 tmp16 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
;* V27 tmp17 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
;* V28 tmp18 [V28 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V29 tmp19 [V29,T13] ( 3, 3 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.Version>
-; V30 tmp20 [V30,T27] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
+; V29 tmp19 [V29,T12] ( 3, 3 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.Version>
+; V30 tmp20 [V30,T24] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
;* V31 tmp21 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerResponse>
-; V32 tmp22 [V32,T28] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
-; V33 tmp23 [V33,T29] ( 2, 2 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-; V34 tmp24 [V34,T37] ( 2, 1 ) ref -> rdx class-hnd single-def "Inline return value spill temp" <System.String>
-; V35 tmp25 [V35,T33] ( 2, 2 ) long -> rdi "Inlining Arg"
-;* V36 tmp26 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V32 tmp22 [V32,T25] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Net.HttpListenerResponse>
+; V33 tmp23 [V33,T32] ( 2, 1 ) ref -> rdx class-hnd single-def "Inline return value spill temp" <System.String>
+; V34 tmp24 [V34,T28] ( 2, 2 ) long -> rdi "Inlining Arg"
+;* V35 tmp25 [V35 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V36 tmp26 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
;* V37 tmp27 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V38 tmp28 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V39 tmp29 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V40 tmp30 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
-;* V41 tmp31 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V42 tmp32 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
-;* V43 tmp33 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V44 tmp34 [V44,T14] ( 3, 3 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.Version>
-; V45 tmp35 [V45,T30] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
-; V46 tmp36 [V46,T03] ( 6, 6 ) ref -> r12 class-hnd single-def "Inlining Arg" <System.Net.WebHeaderCollection>
-; V47 tmp37 [V47,T44] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-;* V48 tmp38 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V49 tmp39 [V49 ] ( 2, 4 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
-;* V50 tmp40 [V50 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
-;* V51 tmp41 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
-;* V52 tmp42 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "dup spill" <System.IFormatProvider>
-;* V53 tmp43 [V53 ] ( 0, 0 ) ref -> zero-ref
-;* V54 tmp44 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V55 tmp45 [V55 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V56 tmp46 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V57 tmp47 [V57 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V58 tmp48 [V58 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V59 tmp49 [V59,T39] ( 2, 1 ) long -> rdi "field V08._dateData (fldOffset=0x0)" P-INDEP
-; V60 tmp50 [V60,T40] ( 1, 1 ) byref -> rax "field V09._reference (fldOffset=0x0)" P-INDEP
-; V61 tmp51 [V61,T34] ( 2, 2 ) int -> r13 "field V09._length (fldOffset=0x8)" P-INDEP
-;* V62 tmp52 [V62 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-DEP
-;* V63 tmp53 [V63 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-DEP
-;* V64 tmp54 [V64 ] ( 0, 0 ) long -> zero-ref "field V24._dateData (fldOffset=0x0)" P-INDEP
-;* V65 tmp55 [V65,T43] ( 0, 0 ) long -> zero-ref "field V25._ticks (fldOffset=0x0)" P-INDEP
-;* V66 tmp56 [V66,T41] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V67 tmp57 [V67,T42] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
-; V68 tmp58 [V68,T15] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V69 tmp59 [V69,T16] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V70 tmp60 [V70,T17] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V71 tmp61 [V71,T31] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V72 tmp62 [V72,T18] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V73 tmp63 [V73,T19] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V74 tmp64 [V74,T20] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V75 tmp65 [V75,T21] ( 3, 3 ) ref -> rsi single-def "arr expr"
-; V76 tmp66 [V76,T32] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V77 tmp67 [V77,T22] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-;* V78 tmp68 [V78 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V79 tmp69 [V79,T08] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V80 tmp70 [V80,T45] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V81 cse0 [V81,T24] ( 4, 2 ) int -> rdi "CSE #05: moderate"
-; V82 cse1 [V82,T36] ( 3, 1.50) int -> rdi "CSE #03: conservative"
-; V83 rat0 [V83,T23] ( 3, 3.00) int -> rax "ReplaceWithLclVar is creating a new local variable"
+;* V38 tmp28 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Globalization.CultureInfo>
+;* V39 tmp29 [V39 ] ( 0, 0 ) ref -> zero-ref
+;* V40 tmp30 [V40 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
+;* V41 tmp31 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Globalization.NumberFormatInfo>
+;* V42 tmp32 [V42 ] ( 0, 0 ) ref -> zero-ref
+;* V43 tmp33 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "dup spill" <System.Globalization.NumberFormatInfo>
+;* V44 tmp34 [V44 ] ( 0, 0 ) ref -> zero-ref
+;* V45 tmp35 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object>
+;* V46 tmp36 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V47 tmp37 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Globalization.NumberFormatInfo>
+;* V48 tmp38 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
+;* V49 tmp39 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V50 tmp40 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V51 tmp41 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V52 tmp42 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpConnection>
+;* V53 tmp43 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V54 tmp44 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerRequest>
+;* V55 tmp45 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V56 tmp46 [V56,T13] ( 3, 3 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.Version>
+; V57 tmp47 [V57,T26] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
+; V58 tmp48 [V58 ] ( 2, 4 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
+;* V59 tmp49 [V59 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
+;* V60 tmp50 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
+;* V61 tmp51 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd "dup spill" <System.IFormatProvider>
+;* V62 tmp52 [V62 ] ( 0, 0 ) ref -> zero-ref
+;* V63 tmp53 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V64 tmp54 [V64 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V65 tmp55 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V66 tmp56 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V67 tmp57 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V68 tmp58 [V68,T34] ( 2, 1 ) long -> rdi "field V08._dateData (fldOffset=0x0)" P-INDEP
+; V69 tmp59 [V69,T35] ( 1, 1 ) byref -> rax "field V09._reference (fldOffset=0x0)" P-INDEP
+; V70 tmp60 [V70,T29] ( 2, 2 ) int -> r13 "field V09._length (fldOffset=0x8)" P-INDEP
+;* V71 tmp61 [V71 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-DEP
+;* V72 tmp62 [V72 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-DEP
+;* V73 tmp63 [V73 ] ( 0, 0 ) long -> zero-ref "field V23._dateData (fldOffset=0x0)" P-INDEP
+;* V74 tmp64 [V74,T38] ( 0, 0 ) long -> zero-ref "field V24._ticks (fldOffset=0x0)" P-INDEP
+;* V75 tmp65 [V75,T36] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V76 tmp66 [V76,T37] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+; V77 tmp67 [V77,T14] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V78 tmp68 [V78,T15] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V79 tmp69 [V79,T16] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V80 tmp70 [V80,T27] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
+; V81 tmp71 [V81,T17] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V82 tmp72 [V82,T18] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V83 tmp73 [V83,T19] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V84 tmp74 [V84,T20] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+;* V85 tmp75 [V85 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
+; V86 tmp76 [V86,T07] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V87 cse0 [V87,T22] ( 4, 2 ) int -> rdi "CSE #05: moderate"
+; V88 cse1 [V88,T31] ( 3, 1.50) int -> rdi "CSE #03: conservative"
+; V89 rat0 [V89,T21] ( 3, 3.00) int -> rax "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 8
G_M40620_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
lea rbp, [rsp+0x30]
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov rbx, rdi
mov r13d, esi
mov r15, rdx
mov r14d, ecx
;; size=34 bbWeight=1 PerfScore 9.75
G_M40620_IG02:
test r14b, r14b
- jne G_M40620_IG30
+ jne G_M40620_IG28
;; size=9 bbWeight=1 PerfScore 1.25
G_M40620_IG03:
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Server'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
test rax, rax
jne SHORT G_M40620_IG04
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Server'
mov rdx, 0xD1FFAB1E ; 'Microsoft-NetCore/2.0'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
;; size=63 bbWeight=0.50 PerfScore 10.00
G_M40620_IG04:
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Date'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x38]System.Collections.Specialized.NameValueCollection:Get(System.String):System.String:this
test rax, rax
jne SHORT G_M40620_IG05
mov r12, gword ptr [rbx+0x28]
mov rax, 0xD1FFAB1E ; code for System.DateTime:get_UtcNow():System.DateTime
call [rax]System.DateTime:get_UtcNow():System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E ; const ptr
mov rdx, gword ptr [rcx]
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'r'
mov rax, 0xD1FFAB1E ; code for System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
call [rax]System.DateTimeFormat:Format(System.DateTime,System.String,System.IFormatProvider,System.TimeSpan):System.String
mov rdx, rax
mov rdi, r12
mov rsi, 0xD1FFAB1E ; 'Date'
mov rax, qword ptr [r12]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
;; size=120 bbWeight=0.50 PerfScore 14.88
G_M40620_IG05:
cmp dword ptr [rbx+0x50], 4
jne G_M40620_IG12
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x20]
mov r12, gword ptr [rdi+0x20]
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M40620_IG33
+ je G_M40620_IG31
;; size=41 bbWeight=0.50 PerfScore 7.12
G_M40620_IG06:
mov rdi, 0xD1FFAB1E ; data for System.Net.HttpVersion:Version10
mov rsi, gword ptr [rdi]
test r12, r12
je SHORT G_M40620_IG07
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Version:CompareTo(System.Version):int:this
call [rax]System.Version:CompareTo(System.Version):int:this
test eax, eax
jg SHORT G_M40620_IG08
;; size=37 bbWeight=0.50 PerfScore 4.12
G_M40620_IG07:
mov byte ptr [rbx+0x58], 0
jmp SHORT G_M40620_IG09
;; size=6 bbWeight=0.50 PerfScore 1.50
G_M40620_IG08:
mov dword ptr [rbx+0x50], 1
;; size=7 bbWeight=0.50 PerfScore 0.50
G_M40620_IG09:
mov rdi, gword ptr [rbx+0x10]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
mov edi, dword ptr [rax+0x54]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
call [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
test eax, eax
jne SHORT G_M40620_IG11
xor edi, edi
mov dword ptr [rbx+0x50], edi
;; size=42 bbWeight=0.50 PerfScore 8.00
G_M40620_IG10:
mov qword ptr [rbx+0x48], rdi
jmp SHORT G_M40620_IG12
;; size=6 bbWeight=0.50 PerfScore 1.50
G_M40620_IG11:
mov qword ptr [rbx+0x48], -1
;; size=8 bbWeight=0.50 PerfScore 0.50
G_M40620_IG12:
mov edi, dword ptr [rbx+0x50]
cmp edi, 1
je G_M40620_IG14
test edi, edi
setne dil
movzx rdi, dil
movzx rax, r13b
test edi, eax
je SHORT G_M40620_IG13
mov rdi, gword ptr [rbx+0x10]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpListenerContext:get_Response():System.Net.HttpListenerResponse:this
mov edi, dword ptr [rax+0x54]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
call [rax]System.Net.HttpListenerResponse:CanSendResponseBody(int):ubyte
- mov edi, -1
- xor edx, edx
+ mov edx, -1
+ xor edi, edi
test eax, eax
- cmove edi, edx
- movsxd rdi, edi
- mov qword ptr [rbx+0x48], rdi
+ cmove edx, edi
+ movsxd rdx, edx
+ mov qword ptr [rbx+0x48], rdx
;; size=82 bbWeight=0.50 PerfScore 11.00
G_M40620_IG13:
cmp dword ptr [rbx+0x50], 0
jne SHORT G_M40620_IG14
mov r13, gword ptr [rbx+0x28]
- lea rdi, bword ptr [rbx+0x48]
+ mov rdi, qword ptr [rbx+0x48]
mov rdx, 0xD1FFAB1E ; const ptr
mov rdx, gword ptr [rdx]
- mov rdi, qword ptr [rdi]
mov rsi, 0xD1FFAB1E ; 'D'
mov rax, 0xD1FFAB1E ; code for System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
call [rax]System.Number:<FormatInt64>g__FormatInt64Slow|22_0(long,System.String,System.IFormatProvider):System.String
mov rdx, rax
mov rdi, r13
mov rsi, 0xD1FFAB1E ; 'Content-Length'
mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
- ;; size=79 bbWeight=0.50 PerfScore 11.00
+ ;; size=76 bbWeight=0.50 PerfScore 10.75
G_M40620_IG14:
mov edi, dword ptr [rbx+0x54]
mov eax, edi
sub eax, 400
cmp eax, 14
ja SHORT G_M40620_IG16
;; size=15 bbWeight=0.50 PerfScore 1.88
G_M40620_IG15:
mov ecx, 0x6901
bt ecx, eax
jb SHORT G_M40620_IG17
;; size=10 bbWeight=0.50 PerfScore 0.87
G_M40620_IG16:
cmp edi, 500
jne SHORT G_M40620_IG18
;; size=8 bbWeight=0.50 PerfScore 0.62
G_M40620_IG17:
mov eax, 1
jmp SHORT G_M40620_IG19
;; size=7 bbWeight=0.50 PerfScore 1.12
G_M40620_IG18:
cmp edi, 503
sete al
movzx rax, al
;; size=12 bbWeight=0.50 PerfScore 0.75
G_M40620_IG19:
movzx r13, al
test r13d, r13d
jne SHORT G_M40620_IG20
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x20]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpListenerRequest:get_KeepAlive():ubyte:this
test eax, eax
sete r13b
movzx r13, r13b
;; size=41 bbWeight=0.50 PerfScore 6.62
G_M40620_IG20:
cmp byte ptr [rbx+0x58], 0
sete dil
movzx rdi, dil
or edi, r13d
je SHORT G_M40620_IG21
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Connection'
mov rdx, 0xD1FFAB1E ; 'close'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
mov r13d, 1
;; size=57 bbWeight=0.50 PerfScore 7.62
G_M40620_IG21:
cmp dword ptr [rbx+0x50], 1
jne SHORT G_M40620_IG22
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Transfer-Encoding'
mov rdx, 0xD1FFAB1E ; 'chunked'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
;; size=40 bbWeight=0.50 PerfScore 6.75
G_M40620_IG22:
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x28]
cmp dword ptr [rdi+0x90], 100
jl SHORT G_M40620_IG23
mov byte ptr [rbx+0x59], 1
test r13d, r13d
jne SHORT G_M40620_IG23
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Connection'
mov rdx, 0xD1FFAB1E ; 'close'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
mov r13d, 1
;; size=66 bbWeight=0.50 PerfScore 10.00
G_M40620_IG23:
mov rdi, gword ptr [rbx+0x10]
mov rdi, gword ptr [rdi+0x20]
mov r12, gword ptr [rdi+0x20]
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M40620_IG34
+ je G_M40620_IG32
;; size=31 bbWeight=0.50 PerfScore 5.12
G_M40620_IG24:
mov rdi, 0xD1FFAB1E ; data for System.Net.HttpVersion:Version10
mov rsi, gword ptr [rdi]
test r12, r12
je SHORT G_M40620_IG25
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Version:CompareTo(System.Version):int:this
call [rax]System.Version:CompareTo(System.Version):int:this
test eax, eax
- jg G_M40620_IG29
- ;; size=41 bbWeight=0.50 PerfScore 4.12
+ jg SHORT G_M40620_IG27
+ ;; size=37 bbWeight=0.50 PerfScore 4.12
G_M40620_IG25:
cmp byte ptr [rbx+0x58], 0
- je SHORT G_M40620_IG28
- mov r12, gword ptr [rbx+0x28]
- cmp byte ptr [r12+0x50], 0
- jne SHORT G_M40620_IG26
- mov byte ptr [r12+0x50], 2
- ;; size=24 bbWeight=0.50 PerfScore 5.50
-G_M40620_IG26:
- cmp byte ptr [r12+0x50], 2
- jne G_M40620_IG37
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
- je G_M40620_IG35
- ;; size=31 bbWeight=0.50 PerfScore 4.12
-G_M40620_IG27:
- mov rsi, 0xD1FFAB1E ; data for System.Net.HttpResponseHeaderExtensions:s_names
- mov rsi, gword ptr [rsi]
- cmp dword ptr [rsi+0x08], 3
- jbe G_M40620_IG38
- mov rsi, gword ptr [rsi+0x28]
- mov rdi, r12
+ je SHORT G_M40620_IG26
+ mov rdi, gword ptr [rbx+0x28]
+ mov esi, 3
mov rdx, 0xD1FFAB1E ; 'true'
- mov rax, qword ptr [r12]
- mov rax, qword ptr [rax+0x50]
- call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
- ;; size=51 bbWeight=0.50 PerfScore 7.88
-G_M40620_IG28:
+ mov rax, 0xD1FFAB1E ; code for System.Net.WebHeaderCollection:set_Item(int,System.String):this
+ cmp dword ptr [rdi], edi
+ call [rax]System.Net.WebHeaderCollection:set_Item(int,System.String):this
+ ;; size=39 bbWeight=0.50 PerfScore 6.38
+G_M40620_IG26:
test r13d, r13d
- jne SHORT G_M40620_IG29
+ jne SHORT G_M40620_IG27
mov rdi, gword ptr [rbx+0x28]
mov rsi, 0xD1FFAB1E ; 'Connection'
mov rdx, 0xD1FFAB1E ; 'keep-alive'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x08]System.Collections.Specialized.NameValueCollection:Set(System.String,System.String):this
;; size=39 bbWeight=0.50 PerfScore 5.38
-G_M40620_IG29:
+G_M40620_IG27:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:ComputeCookies():this
call [rax]System.Net.HttpListenerResponse:ComputeCookies():this
;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M40620_IG30:
+G_M40620_IG28:
mov rdi, 0xD1FFAB1E ; const ptr
mov r13, gword ptr [rdi]
mov rdi, 0xD1FFAB1E ; System.IO.StreamWriter
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov rdi, r12
mov rsi, r15
mov rdx, r13
mov ecx, 256
xor r8d, r8d
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
call [rax]System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
mov edx, dword ptr [rbx+0x54]
mov dword ptr [rax+0x08], edx
mov gword ptr [rbp-0x30], rax
lea rdx, bword ptr [rbp-0x30]
mov ecx, 1
mov rdi, r12
mov rsi, 0xD1FFAB1E ; 'HTTP/1.1 {0} '
xor r8d, r8d
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
call [rax]System.IO.StreamWriter:WriteFormatHelper(System.String,System.ReadOnlySpan`1[System.Object],ubyte):this
mov rdi, gword ptr [r12+0x48]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- je G_M40620_IG36
+ je G_M40620_IG33
mov rdi, r12
mov esi, 1
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
call [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
call [rax]System.Net.HttpListenerResponse:get_StatusDescription():System.String:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
call [rax]System.Net.WebHeaderEncoding:GetBytes(System.String):ubyte[]
mov ecx, dword ptr [rax+0x08]
mov rdi, r15
mov rsi, rax
xor edx, edx
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x60]
call [rax+0x30]System.IO.Stream:Write(ubyte[],int,int):this
mov rdi, r12
mov rsi, 0xD1FFAB1E ; ' '
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:Write(System.String):this
call [rax]System.IO.StreamWriter:Write(System.String):this
mov rdi, gword ptr [rbx+0x28]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
call [rax]System.Net.HttpListenerResponse:FormatHeaders(System.Net.WebHeaderCollection):System.String
mov rsi, rax
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:Write(System.String):this
call [rax]System.IO.StreamWriter:Write(System.String):this
mov rdi, gword ptr [r12+0x48]
test dword ptr [rdi+0x34], 0xD1FFAB1E
;; size=287 bbWeight=1 PerfScore 62.75
-G_M40620_IG31:
- je G_M40620_IG36
+G_M40620_IG29:
+ je G_M40620_IG33
mov rdi, r12
mov esi, 1
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
call [rax]System.IO.StreamWriter:Flush(ubyte,ubyte):this
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:get_Preamble():System.ReadOnlySpan`1[ubyte]:this
mov r13d, edx
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerResponse:EnsureResponseStream():this
call [rax]System.Net.HttpListenerResponse:EnsureResponseStream():this
mov esi, r13d
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x48]
call [rax+0x18]System.IO.Stream:set_Position(long):this
test r14b, r14b
sete al
mov byte ptr [rbx+0x5B], al
;; size=89 bbWeight=1 PerfScore 22.00
-G_M40620_IG32:
+G_M40620_IG30:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M40620_IG33:
+G_M40620_IG31:
mov rdi, 0xD1FFAB1E ; System.Net.HttpVersion
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M40620_IG06
;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG34:
+G_M40620_IG32:
mov rdi, 0xD1FFAB1E ; System.Net.HttpVersion
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M40620_IG24
;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG35:
- mov rdi, 0xD1FFAB1E ; System.Net.HttpResponseHeaderExtensions
- call CORINFO_HELP_GET_GCSTATIC_BASE
- jmp G_M40620_IG27
- ;; size=20 bbWeight=0 PerfScore 0.00
-G_M40620_IG36:
+G_M40620_IG33:
mov rax, 0xD1FFAB1E ; code for System.IO.StreamWriter:ThrowAsyncIOInProgress()
call [rax]System.IO.StreamWriter:ThrowAsyncIOInProgress()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M40620_IG37:
- mov rdi, 0xD1FFAB1E ; System.InvalidOperationException
- call CORINFO_HELP_NEWSFAST
- mov rbx, rax
- mov rax, 0xD1FFAB1E ; code for System.SR:get_net_headers_rsp():System.String
- call [rax]System.SR:get_net_headers_rsp():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_M40620_IG38:
- call CORINFO_HELP_RNGCHKFAIL
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1549, prolog size 22, PerfScore 240.25, instruction count 344, allocated bytes for code 1549 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
+; Total bytes of code 1392, prolog size 22, PerfScore 228.87, instruction count 313, allocated bytes for code 1392 (MethodHash=8c746153) for method System.Net.HttpListenerResponse:SendHeaders(ubyte,System.IO.MemoryStream,ubyte):this (FullOpts)
; ============================================================ Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/fa63eed99033d152af7c47c5562a6f4d |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 20 minutes 19 seconds.
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: