-465 (-14.95 % of base) - Microsoft.VisualBasic.Strings:FormatNamed(System.Object,System.String,byref):ubyte
; Assembly listing for method Microsoft.VisualBasic.Strings:FormatNamed(System.Object,System.String,byref):ubyte (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; 42 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T03] ( 18, 10 ) ref -> rdi class-hnd single-def <System.Object>
-; V01 arg1 [V01,T00] ( 38, 20.50) ref -> rsi class-hnd single-def <System.String>
-; V02 arg2 [V02,T02] ( 20, 11.50) byref -> rbx single-def
-; V03 loc0 [V03,T20] ( 3, 2 ) ubyte -> rax
-; V04 loc1 [V04,T31] ( 2, 2 ) int -> rax single-def
-; V05 loc2 [V05,T48] ( 3, 1.50) ushort -> rax single-def
+; V00 arg0 [V00,T02] ( 18, 10 ) ref -> r15 class-hnd single-def <System.Object>
+; V01 arg1 [V01,T00] ( 28, 15.50) ref -> rax class-hnd single-def <System.String>
+; V02 arg2 [V02,T01] ( 20, 11.50) byref -> rbx single-def
+; V03 loc0 [V03,T18] ( 3, 2 ) ubyte -> rax
+; V04 loc1 [V04,T29] ( 2, 2 ) int -> rdi single-def
+; V05 loc2 [V05,T30] ( 3, 1.50) ushort -> rdi single-def
;* V06 loc3 [V06 ] ( 0, 0 ) double -> zero-ref ld-addr-op
-; V07 loc4 [V07,T13] ( 6, 3 ) ushort -> rax single-def
-; V08 loc5 [V08,T09] ( 9, 4.50) int -> r14 ld-addr-op
-; V09 loc6 [V09,T49] ( 3, 1.50) ushort -> rax single-def
-; V10 loc7 [V10,T14] ( 6, 3 ) ushort -> rax single-def
-; V11 loc8 [V11,T15] ( 6, 3 ) ushort -> rax single-def
+; V07 loc4 [V07,T11] ( 6, 3 ) ushort -> rdi single-def
+; V08 loc5 [V08,T03] ( 15, 7.50) int -> r13 ld-addr-op
+; V09 loc6 [V09,T31] ( 3, 1.50) ushort -> rdi single-def
+; V10 loc7 [V10,T12] ( 6, 3 ) ushort -> rdi single-def
+; V11 loc8 [V11,T13] ( 6, 3 ) ushort -> rdi single-def
;* V12 loc9 [V12 ] ( 0, 0 ) struct ( 8) zero-ref multireg-ret ld-addr-op <System.DateTime>
-; V13 loc10 [V13,T05] ( 12, 6 ) ushort -> rax single-def
-; V14 loc11 [V14,T67] ( 6, 3 ) double -> [rbp-0x20] ld-addr-op spill-single-def
-; V15 loc12 [V15,T16] ( 6, 3 ) ushort -> rax single-def
-; V16 loc13 [V16,T50] ( 3, 1.50) ushort -> rax single-def
-; V17 loc14 [V17,T51] ( 3, 1.50) ushort -> rax single-def
+; V13 loc10 [V13,T06] ( 12, 6 ) ushort -> rdi single-def
+; V14 loc11 [V14,T44] ( 6, 3 ) double -> [rbp-0x28] ld-addr-op spill-single-def
+; V15 loc12 [V15,T14] ( 6, 3 ) ushort -> rdi single-def
+; V16 loc13 [V16,T32] ( 3, 1.50) ushort -> rdi single-def
+; V17 loc14 [V17,T33] ( 3, 1.50) ushort -> rdi single-def
;# V18 OutArgs [V18 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V19 tmp1 [V19 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V20 tmp2 [V20,T32] ( 2, 2 ) int -> rsi "spilling unroll qmark"
-;* V21 tmp3 [V21 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V22 tmp4 [V22,T33] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V23 tmp5 [V23 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V24 tmp6 [V24,T34] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V25 tmp7 [V25 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V26 tmp8 [V26,T35] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V27 tmp9 [V27 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V28 tmp10 [V28,T36] ( 2, 2 ) int -> rsi "spilling unroll qmark"
-;* V29 tmp11 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V30 tmp12 [V30,T37] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V31 tmp13 [V31 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V32 tmp14 [V32,T38] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V33 tmp15 [V33 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V34 tmp16 [V34,T39] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V35 tmp17 [V35 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V36 tmp18 [V36,T40] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V37 tmp19 [V37 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V38 tmp20 [V38,T41] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V39 tmp21 [V39 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V40 tmp22 [V40,T42] ( 2, 2 ) int -> rsi "spilling unroll qmark"
-; V41 tmp23 [V41,T52] ( 2, 2 ) ref -> rsi single-def "spilling varStr"
-; V42 tmp24 [V42,T43] ( 2, 2 ) int -> rsi "spilling unroll qmark"
-; V43 tmp25 [V43,T44] ( 3, 1.50) ref -> rsi single-def "spilling varStr"
-;* V44 tmp26 [V44,T53] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V45 tmp27 [V45,T45] ( 3, 1.50) ref -> rax single-def "spilling varStr"
-;* V46 tmp28 [V46,T54] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V47 tmp29 [V47,T46] ( 3, 1.50) ref -> rax single-def "spilling varStr"
-;* V48 tmp30 [V48,T55] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V49 tmp31 [V49,T47] ( 3, 1.50) ref -> rsi single-def "spilling varStr"
-;* V50 tmp32 [V50,T56] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V51 tmp33 [V51 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V52 tmp34 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V53 tmp35 [V53,T10] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-; V54 tmp36 [V54,T17] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-; V55 tmp37 [V55,T07] ( 5, 5 ) int -> r14 "Inlining Arg"
-;* V56 tmp38 [V56,T57] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V57 tmp39 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V58 tmp40 [V58,T11] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-; V59 tmp41 [V59,T18] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-; V60 tmp42 [V60,T08] ( 5, 5 ) int -> r15 "Inlining Arg"
-;* V61 tmp43 [V61,T58] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V62 tmp44 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V19 tmp1 [V19 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V20 tmp2 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+; V21 tmp3 [V21,T08] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V22 tmp4 [V22,T15] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
+;* V23 tmp5 [V23 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V24 tmp6 [V24,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V25 tmp7 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+; V26 tmp8 [V26,T09] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V27 tmp9 [V27,T16] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
+;* V28 tmp10 [V28 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V29 tmp11 [V29,T35] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V30 tmp12 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V31 tmp13 [V31 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V32 tmp14 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V33 tmp15 [V33 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V34 tmp16 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V35 tmp17 [V35 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V36 tmp18 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V37 tmp19 [V37 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V38 tmp20 [V38 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V39 tmp21 [V39 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V40 tmp22 [V40 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+; V41 tmp23 [V41,T10] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V42 tmp24 [V42,T17] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
+;* V43 tmp25 [V43 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V44 tmp26 [V44,T36] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V45 tmp27 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V46 tmp28 [V46 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V47 tmp29 [V47 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V48 tmp30 [V48 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V49 tmp31 [V49 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V50 tmp32 [V50 ] ( 0, 0 ) double -> zero-ref "Inlining Arg"
+;* V51 tmp33 [V51 ] ( 0, 0 ) double -> zero-ref "Inlining Arg"
+;* V52 tmp34 [V52 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+;* V53 tmp35 [V53 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V54 tmp36 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V55 tmp37 [V55 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
+;* V56 tmp38 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V57 tmp39 [V57 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V58 tmp40 [V58 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V59 tmp41 [V59 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V60 tmp42 [V60 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
+;* V61 tmp43 [V61 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
+;* V62 tmp44 [V62 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
;* V63 tmp45 [V63 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
;* V64 tmp46 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V65 tmp47 [V65 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V66 tmp48 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V67 tmp49 [V67 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V68 tmp50 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V69 tmp51 [V69 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V70 tmp52 [V70 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V71 tmp53 [V71 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V72 tmp54 [V72 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-; V73 tmp55 [V73,T12] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-; V74 tmp56 [V74,T19] ( 4, 2 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-;* V75 tmp57 [V75 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V76 tmp58 [V76,T59] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V77 tmp59 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V78 tmp60 [V78 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V79 tmp61 [V79 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V80 tmp62 [V80 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V81 tmp63 [V81 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V82 tmp64 [V82 ] ( 0, 0 ) double -> zero-ref "Inlining Arg"
-;* V83 tmp65 [V83 ] ( 0, 0 ) double -> zero-ref "Inlining Arg"
-;* V84 tmp66 [V84 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-;* V85 tmp67 [V85 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V86 tmp68 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V87 tmp69 [V87 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V88 tmp70 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V89 tmp71 [V89 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V90 tmp72 [V90 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V91 tmp73 [V91 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V92 tmp74 [V92 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V93 tmp75 [V93 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
-;* V94 tmp76 [V94 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-;* V95 tmp77 [V95 ] ( 0, 0 ) double -> zero-ref "impAppendStmt"
-;* V96 tmp78 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V97 tmp79 [V97,T04] ( 14, 7 ) long -> rax "field V12._dateData (fldOffset=0x0)" P-INDEP
-;* V98 tmp80 [V98 ] ( 0, 0 ) long -> zero-ref single-def "field V69._dateData (fldOffset=0x0)" P-INDEP
-;* V99 tmp81 [V99,T60] ( 0, 0 ) long -> zero-ref single-def "field V70._ticks (fldOffset=0x0)" P-INDEP
-;* V100 tmp82 [V100 ] ( 0, 0 ) long -> zero-ref single-def "field V71._dateData (fldOffset=0x0)" P-INDEP
-;* V101 tmp83 [V101,T61] ( 0, 0 ) long -> zero-ref single-def "field V72._ticks (fldOffset=0x0)" P-INDEP
-;* V102 tmp84 [V102 ] ( 0, 0 ) long -> zero-ref single-def "field V78._dateData (fldOffset=0x0)" P-INDEP
-;* V103 tmp85 [V103,T62] ( 0, 0 ) long -> zero-ref single-def "field V79._ticks (fldOffset=0x0)" P-INDEP
-;* V104 tmp86 [V104 ] ( 0, 0 ) long -> zero-ref single-def "field V80._dateData (fldOffset=0x0)" P-INDEP
-;* V105 tmp87 [V105,T63] ( 0, 0 ) long -> zero-ref single-def "field V81._ticks (fldOffset=0x0)" P-INDEP
-;* V106 tmp88 [V106 ] ( 0, 0 ) long -> zero-ref single-def "field V89._dateData (fldOffset=0x0)" P-INDEP
-;* V107 tmp89 [V107,T64] ( 0, 0 ) long -> zero-ref single-def "field V90._ticks (fldOffset=0x0)" P-INDEP
-;* V108 tmp90 [V108 ] ( 0, 0 ) long -> zero-ref single-def "field V91._dateData (fldOffset=0x0)" P-INDEP
-;* V109 tmp91 [V109,T65] ( 0, 0 ) long -> zero-ref single-def "field V92._ticks (fldOffset=0x0)" P-INDEP
-;* V110 tmp92 [V110 ] ( 0, 0 ) long -> zero-ref single-def "field V93._dateData (fldOffset=0x0)" P-INDEP
-;* V111 tmp93 [V111,T66] ( 0, 0 ) long -> zero-ref single-def "field V94._ticks (fldOffset=0x0)" P-INDEP
-; V112 tmp94 [V112,T68] ( 2, 2 ) double -> [rbp-0x28] spill-single-def "argument with side effect"
-; V113 tmp95 [V113,T21] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V114 tmp96 [V114,T22] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V115 tmp97 [V115,T23] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V116 tmp98 [V116,T24] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V117 tmp99 [V117,T69] ( 2, 2 ) double -> [rbp-0x30] spill-single-def "argument with side effect"
-; V118 tmp100 [V118,T25] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V119 tmp101 [V119,T70] ( 2, 2 ) double -> [rbp-0x38] spill-single-def "argument with side effect"
-; V120 tmp102 [V120,T26] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V121 tmp103 [V121,T71] ( 2, 2 ) double -> [rbp-0x40] spill-single-def "argument with side effect"
-; V122 tmp104 [V122,T27] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V123 tmp105 [V123,T28] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V124 tmp106 [V124,T29] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V125 tmp107 [V125,T72] ( 2, 2 ) double -> [rbp-0x48] spill-single-def "argument with side effect"
-; V126 tmp108 [V126,T30] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V127 cse0 [V127,T01] ( 27, 14.50) int -> r15 "CSE #01: aggressive"
-; V128 rat0 [V128,T06] ( 3, 5.82) int -> rax "ReplaceWithLclVar is creating a new local variable"
-; V129 rat1 [V129,T73] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V130 rat2 [V130,T74] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V131 rat3 [V131,T75] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V132 rat4 [V132,T76] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V133 rat5 [V133,T77] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V134 rat6 [V134,T78] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V135 rat7 [V135,T79] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V136 rat8 [V136,T80] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V137 rat9 [V137,T81] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V138 rat10 [V138,T82] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V139 rat11 [V139,T83] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V140 rat12 [V140,T84] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V65 tmp47 [V65,T04] ( 14, 7 ) long -> rax "field V12._dateData (fldOffset=0x0)" P-INDEP
+;* V66 tmp48 [V66 ] ( 0, 0 ) long -> zero-ref single-def "field V37._dateData (fldOffset=0x0)" P-INDEP
+;* V67 tmp49 [V67,T37] ( 0, 0 ) long -> zero-ref single-def "field V38._ticks (fldOffset=0x0)" P-INDEP
+;* V68 tmp50 [V68 ] ( 0, 0 ) long -> zero-ref single-def "field V39._dateData (fldOffset=0x0)" P-INDEP
+;* V69 tmp51 [V69,T38] ( 0, 0 ) long -> zero-ref single-def "field V40._ticks (fldOffset=0x0)" P-INDEP
+;* V70 tmp52 [V70 ] ( 0, 0 ) long -> zero-ref single-def "field V46._dateData (fldOffset=0x0)" P-INDEP
+;* V71 tmp53 [V71,T39] ( 0, 0 ) long -> zero-ref single-def "field V47._ticks (fldOffset=0x0)" P-INDEP
+;* V72 tmp54 [V72 ] ( 0, 0 ) long -> zero-ref single-def "field V48._dateData (fldOffset=0x0)" P-INDEP
+;* V73 tmp55 [V73,T40] ( 0, 0 ) long -> zero-ref single-def "field V49._ticks (fldOffset=0x0)" P-INDEP
+;* V74 tmp56 [V74 ] ( 0, 0 ) long -> zero-ref single-def "field V57._dateData (fldOffset=0x0)" P-INDEP
+;* V75 tmp57 [V75,T41] ( 0, 0 ) long -> zero-ref single-def "field V58._ticks (fldOffset=0x0)" P-INDEP
+;* V76 tmp58 [V76 ] ( 0, 0 ) long -> zero-ref single-def "field V59._dateData (fldOffset=0x0)" P-INDEP
+;* V77 tmp59 [V77,T42] ( 0, 0 ) long -> zero-ref single-def "field V60._ticks (fldOffset=0x0)" P-INDEP
+;* V78 tmp60 [V78 ] ( 0, 0 ) long -> zero-ref single-def "field V61._dateData (fldOffset=0x0)" P-INDEP
+;* V79 tmp61 [V79,T43] ( 0, 0 ) long -> zero-ref single-def "field V62._ticks (fldOffset=0x0)" P-INDEP
+; V80 tmp62 [V80,T45] ( 2, 2 ) double -> [rbp-0x30] spill-single-def "argument with side effect"
+; V81 tmp63 [V81,T19] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V82 tmp64 [V82,T20] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V83 tmp65 [V83,T21] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V84 tmp66 [V84,T22] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
+; V85 tmp67 [V85,T46] ( 2, 2 ) double -> [rbp-0x38] spill-single-def "argument with side effect"
+; V86 tmp68 [V86,T23] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V87 tmp69 [V87,T47] ( 2, 2 ) double -> [rbp-0x40] spill-single-def "argument with side effect"
+; V88 tmp70 [V88,T24] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V89 tmp71 [V89,T48] ( 2, 2 ) double -> [rbp-0x48] spill-single-def "argument with side effect"
+; V90 tmp72 [V90,T25] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V91 tmp73 [V91,T26] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
+; V92 tmp74 [V92,T27] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
+; V93 tmp75 [V93,T49] ( 2, 2 ) double -> [rbp-0x50] spill-single-def "argument with side effect"
+; V94 tmp76 [V94,T28] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V95 cse0 [V95,T05] ( 11, 6.50) int -> r14 "CSE #01: aggressive"
+; V96 rat0 [V96,T07] ( 3, 5.82) int -> rdi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 56
+; Lcl frame size = 48
G_M47826_IG01:
push rbp
push r15
push r14
+ push r13
push rbx
- sub rsp, 56
+ sub rsp, 48
lea rbp, [rsp+0x50]
+ mov r15, rdi
+ mov rax, rsi
mov rbx, rdx
- ;; size=18 bbWeight=1 PerfScore 5.00
+ ;; size=26 bbWeight=1 PerfScore 6.50
G_M47826_IG02:
- mov r15d, dword ptr [rsi+0x08]
- mov eax, r15d
- xor rcx, rcx
- mov gword ptr [rbx], rcx
- add eax, -5
- cmp eax, 9
- ja G_M47826_IG57
+ mov r14d, dword ptr [rax+0x08]
+ mov edi, r14d
+ xor rsi, rsi
+ mov gword ptr [rbx], rsi
+ add edi, -5
+ cmp edi, 9
+ ja G_M47826_IG49
;; size=24 bbWeight=1 PerfScore 5.00
G_M47826_IG03:
- mov eax, eax
- lea rcx, [reloc @RWD00]
- mov ecx, dword ptr [rcx+4*rax]
+ mov edi, edi
+ lea rsi, [reloc @RWD00]
+ mov esi, dword ptr [rsi+4*rdi]
lea rdx, G_M47826_IG02
- add rcx, rdx
- jmp rcx
+ add rsi, rdx
+ jmp rsi
;; size=24 bbWeight=0.91 PerfScore 5.45
G_M47826_IG04:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 70
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 70
je SHORT G_M47826_IG05
- cmp eax, 102
- jne G_M47826_IG57
+ cmp edi, 102
+ jne G_M47826_IG49
;; size=27 bbWeight=0.50 PerfScore 2.88
G_M47826_IG05:
- cmp r15d, 5
- jne G_M47826_IG57
- ;; size=10 bbWeight=0.50 PerfScore 0.62
-G_M47826_IG06:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [rsi+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rax, rcx
- mov esi, dword ptr [rsi+0x12]
- or esi, 0xD1FFAB1E
- xor esi, 0xD1FFAB1E
- or rsi, rax
- jne G_M47826_IG57
- ;; size=51 bbWeight=0.12 PerfScore 0.94
-G_M47826_IG07:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'fixed'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x48], xmm0
+ vmovsd qword ptr [rbp-0x50], xmm0
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x48]
+ vmovsd xmm0, qword ptr [rbp-0x50]
mov rdi, 0xD1FFAB1E ; '0.00'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=77 bbWeight=0.50 PerfScore 9.00
-G_M47826_IG08:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 89
- ja SHORT G_M47826_IG09
- cmp eax, 79
- je G_M47826_IG16
- cmp eax, 89
- je SHORT G_M47826_IG10
- jmp G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=118 bbWeight=0.50 PerfScore 11.75
+G_M47826_IG06:
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 89
+ ja SHORT G_M47826_IG07
+ cmp edi, 79
+ je G_M47826_IG12
+ cmp edi, 89
+ je SHORT G_M47826_IG08
+ jmp G_M47826_IG49
;; size=37 bbWeight=0.50 PerfScore 4.50
-G_M47826_IG09:
- cmp eax, 111
- je G_M47826_IG16
- cmp eax, 121
- jne G_M47826_IG57
+G_M47826_IG07:
+ cmp edi, 111
+ je G_M47826_IG12
+ cmp edi, 121
+ jne G_M47826_IG49
;; size=18 bbWeight=0.50 PerfScore 1.25
-G_M47826_IG10:
- mov rax, rsi
- cmp r15d, 6
- jne G_M47826_IG57
- ;; size=13 bbWeight=0.50 PerfScore 0.75
-G_M47826_IG11:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rax+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rcx, rdx
- mov eax, dword ptr [rax+0x14]
- or eax, 0xD1FFAB1E
- xor eax, 0xD1FFAB1E
- or rax, rcx
- jne G_M47826_IG57
- ;; size=49 bbWeight=0.12 PerfScore 0.94
-G_M47826_IG12:
+G_M47826_IG08:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'yes/no'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
test eax, eax
setne al
movzx rax, al
- mov r14d, eax
- neg r14d
+ mov r13d, eax
+ neg r13d
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.Strings:get_CachedYesNoFormatStyle():System.String
call [rax]Microsoft.VisualBasic.Strings:get_CachedYesNoFormatStyle():System.String
test rax, rax
- je SHORT G_M47826_IG13
+ je SHORT G_M47826_IG09
cmp dword ptr [rax+0x08], 0
- je SHORT G_M47826_IG13
- mov edi, r14d
+ je SHORT G_M47826_IG09
+ mov edi, r13d
mov rdx, rax
mov esi, -1
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
call [rax]System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
- jmp SHORT G_M47826_IG15
- ;; size=76 bbWeight=0.50 PerfScore 10.00
-G_M47826_IG13:
- test r14d, r14d
- jge SHORT G_M47826_IG14
+ jmp SHORT G_M47826_IG11
+ ;; size=117 bbWeight=0.50 PerfScore 12.75
+G_M47826_IG09:
+ test r13d, r13d
+ jge SHORT G_M47826_IG10
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rdx, gword ptr [rax+0x28]
- mov edi, r14d
+ mov edi, r13d
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
call [rax]System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
- jmp SHORT G_M47826_IG15
+ jmp SHORT G_M47826_IG11
;; size=43 bbWeight=0.50 PerfScore 6.12
-G_M47826_IG14:
- mov edi, r14d
+G_M47826_IG10:
+ mov edi, r13d
mov rax, 0xD1FFAB1E ; code for System.Number:UInt32ToDecStr(uint):System.String
call [rax]System.Number:UInt32ToDecStr(uint):System.String
;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG15:
+G_M47826_IG11:
mov rdi, rbx
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
+ jmp G_M47826_IG40
;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG16:
- mov rax, rsi
- cmp r15d, 6
- jne G_M47826_IG57
- ;; size=13 bbWeight=0.50 PerfScore 0.75
-G_M47826_IG17:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rax+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rcx, rdx
- mov eax, dword ptr [rax+0x14]
- or eax, 0xD1FFAB1E
- xor eax, 0xD1FFAB1E
- or rax, rcx
- jne G_M47826_IG57
- ;; size=49 bbWeight=0.12 PerfScore 0.94
-G_M47826_IG18:
+G_M47826_IG12:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'on/off'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
test eax, eax
setne al
movzx rax, al
- mov r14d, eax
- neg r14d
+ mov r13d, eax
+ neg r13d
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.Strings:get_CachedOnOffFormatStyle():System.String
call [rax]Microsoft.VisualBasic.Strings:get_CachedOnOffFormatStyle():System.String
- mov r15d, r14d
test rax, rax
- je SHORT G_M47826_IG19
+ je SHORT G_M47826_IG13
cmp dword ptr [rax+0x08], 0
- je SHORT G_M47826_IG19
- mov edi, r15d
+ je SHORT G_M47826_IG13
+ mov edi, r13d
mov rdx, rax
mov esi, -1
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
call [rax]System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
- jmp SHORT G_M47826_IG21
- ;; size=79 bbWeight=0.50 PerfScore 10.12
-G_M47826_IG19:
- test r15d, r15d
- jge SHORT G_M47826_IG20
+ jmp SHORT G_M47826_IG15
+ ;; size=117 bbWeight=0.50 PerfScore 12.75
+G_M47826_IG13:
+ test r13d, r13d
+ jge SHORT G_M47826_IG14
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rdx, gword ptr [rax+0x28]
- mov edi, r15d
+ mov edi, r13d
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
call [rax]System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
- jmp SHORT G_M47826_IG21
+ jmp SHORT G_M47826_IG15
;; size=43 bbWeight=0.50 PerfScore 6.12
-G_M47826_IG20:
- mov edi, r15d
+G_M47826_IG14:
+ mov edi, r13d
mov rax, 0xD1FFAB1E ; code for System.Number:UInt32ToDecStr(uint):System.String
call [rax]System.Number:UInt32ToDecStr(uint):System.String
;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG21:
+G_M47826_IG15:
mov rdi, rbx
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
+ jmp G_M47826_IG40
;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG22:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 80
- je SHORT G_M47826_IG23
- cmp eax, 112
- jne G_M47826_IG57
+G_M47826_IG16:
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 80
+ je SHORT G_M47826_IG17
+ cmp edi, 112
+ jne G_M47826_IG49
;; size=27 bbWeight=0.50 PerfScore 2.88
-G_M47826_IG23:
- cmp r15d, 7
- jne G_M47826_IG57
- ;; size=10 bbWeight=0.50 PerfScore 0.62
-G_M47826_IG24:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [rsi+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rax, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rsi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rsi, rcx
- or rsi, rax
- jne G_M47826_IG57
- ;; size=63 bbWeight=0.12 PerfScore 1.09
-G_M47826_IG25:
+G_M47826_IG17:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'percent'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x40], xmm0
+ vmovsd qword ptr [rbp-0x48], xmm0
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x40]
+ vmovsd xmm0, qword ptr [rbp-0x48]
mov rdi, 0xD1FFAB1E ; '0.00%'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=77 bbWeight=0.50 PerfScore 9.00
-G_M47826_IG26:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 83
- ja SHORT G_M47826_IG27
- cmp eax, 67
- je G_M47826_IG29
- cmp eax, 83
- je SHORT G_M47826_IG28
- jmp G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=118 bbWeight=0.50 PerfScore 11.75
+G_M47826_IG18:
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 83
+ ja SHORT G_M47826_IG19
+ cmp edi, 67
+ je G_M47826_IG21
+ cmp edi, 83
+ je SHORT G_M47826_IG20
+ jmp G_M47826_IG49
;; size=37 bbWeight=0.50 PerfScore 4.50
-G_M47826_IG27:
- cmp eax, 99
- je G_M47826_IG29
- cmp eax, 115
- jne G_M47826_IG57
+G_M47826_IG19:
+ cmp edi, 99
+ je G_M47826_IG21
+ cmp edi, 115
+ jne G_M47826_IG49
;; size=18 bbWeight=0.50 PerfScore 1.25
-G_M47826_IG28:
- cmp r15d, 8
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je G_M47826_IG57
+G_M47826_IG20:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'standard'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x38], xmm0
+ vmovsd qword ptr [rbp-0x40], xmm0
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x38]
+ vmovsd xmm0, qword ptr [rbp-0x40]
mov rdi, 0xD1FFAB1E ; 'N2'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=129 bbWeight=0.50 PerfScore 16.38
-G_M47826_IG29:
- cmp r15d, 8
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD80]
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=118 bbWeight=0.50 PerfScore 11.75
+G_M47826_IG21:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'currency'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x30], xmm0
+ vmovsd qword ptr [rbp-0x38], xmm0
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x30]
+ vmovsd xmm0, qword ptr [rbp-0x38]
mov rdi, 0xD1FFAB1E ; 'C'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=129 bbWeight=0.50 PerfScore 16.38
-G_M47826_IG30:
- cmp r15d, 5
- jbe G_M47826_IG59
- movzx rax, word ptr [rsi+0x16]
- cmp eax, 84
- ja SHORT G_M47826_IG31
- cmp eax, 68
- je G_M47826_IG33
- cmp eax, 84
- je SHORT G_M47826_IG32
- jmp G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=118 bbWeight=0.50 PerfScore 11.75
+G_M47826_IG22:
+ cmp r14d, 5
+ jbe G_M47826_IG51
+ movzx rdi, word ptr [rax+0x16]
+ cmp edi, 84
+ ja SHORT G_M47826_IG23
+ cmp edi, 68
+ je G_M47826_IG25
+ cmp edi, 84
+ je SHORT G_M47826_IG24
+ jmp G_M47826_IG49
;; size=38 bbWeight=0.50 PerfScore 4.50
-G_M47826_IG31:
- cmp eax, 100
- je G_M47826_IG33
- cmp eax, 116
- jne G_M47826_IG57
- ;; size=18 bbWeight=0.50 PerfScore 1.25
-G_M47826_IG32:
- cmp r15d, 9
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD112]
- vmovups xmm1, xmmword ptr [rsi+0x0E]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD144]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+G_M47826_IG23:
+ cmp edi, 100
+ je SHORT G_M47826_IG25
+ cmp edi, 116
+ jne G_M47826_IG49
+ ;; size=14 bbWeight=0.50 PerfScore 1.25
+G_M47826_IG24:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'long time'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'T'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG33:
- cmp r15d, 9
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD160]
- vmovups xmm1, xmmword ptr [rsi+0x0E]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD176]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG25:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'long date'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'D'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG34:
- cmp r15d, 6
- jbe G_M47826_IG59
- movzx rax, word ptr [rsi+0x18]
- cmp eax, 84
- ja SHORT G_M47826_IG36
- cmp eax, 68
- ja SHORT G_M47826_IG35
- cmp eax, 65
- je SHORT G_M47826_IG38
- cmp eax, 68
- je G_M47826_IG43
- jmp G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG26:
+ cmp r14d, 6
+ jbe G_M47826_IG51
+ movzx rdi, word ptr [rax+0x18]
+ cmp edi, 84
+ ja SHORT G_M47826_IG28
+ cmp edi, 68
+ ja SHORT G_M47826_IG27
+ cmp edi, 65
+ je SHORT G_M47826_IG30
+ cmp edi, 68
+ je G_M47826_IG35
+ jmp G_M47826_IG49
;; size=43 bbWeight=0.50 PerfScore 5.12
-G_M47826_IG35:
- cmp eax, 73
- je G_M47826_IG44
- cmp eax, 84
- je G_M47826_IG42
- jmp G_M47826_IG57
+G_M47826_IG27:
+ cmp edi, 73
+ je G_M47826_IG36
+ cmp edi, 84
+ je G_M47826_IG34
+ jmp G_M47826_IG49
;; size=23 bbWeight=0.50 PerfScore 2.25
-G_M47826_IG36:
- cmp eax, 100
- ja SHORT G_M47826_IG37
- cmp eax, 97
- je SHORT G_M47826_IG38
- cmp eax, 100
- je G_M47826_IG43
- jmp G_M47826_IG57
+G_M47826_IG28:
+ cmp edi, 100
+ ja SHORT G_M47826_IG29
+ cmp edi, 97
+ je SHORT G_M47826_IG30
+ cmp edi, 100
+ je G_M47826_IG35
+ jmp G_M47826_IG49
;; size=24 bbWeight=0.50 PerfScore 2.88
-G_M47826_IG37:
- cmp eax, 105
- je G_M47826_IG44
- cmp eax, 116
- je G_M47826_IG42
- jmp G_M47826_IG57
+G_M47826_IG29:
+ cmp edi, 105
+ je G_M47826_IG36
+ cmp edi, 116
+ je G_M47826_IG34
+ jmp G_M47826_IG49
;; size=23 bbWeight=0.50 PerfScore 2.25
-G_M47826_IG38:
- cmp r15d, 10
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD192]
- vmovups xmm1, xmmword ptr [rsi+0x10]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD208]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD224]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+G_M47826_IG30:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'true/false'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToBoolean(System.Object):ubyte
test eax, eax
setne al
movzx rax, al
- mov r14d, eax
- neg r14d
+ mov r13d, eax
+ neg r13d
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.Strings:get_CachedTrueFalseFormatStyle():System.String
call [rax]Microsoft.VisualBasic.Strings:get_CachedTrueFalseFormatStyle():System.String
test rax, rax
- je SHORT G_M47826_IG39
+ je SHORT G_M47826_IG31
cmp dword ptr [rax+0x08], 0
- je SHORT G_M47826_IG39
- mov edi, r14d
+ je SHORT G_M47826_IG31
+ mov edi, r13d
mov rdx, rax
mov esi, -1
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
call [rax]System.Number:<FormatInt32>g__FormatInt32Slow|32_0(int,int,System.String,System.IFormatProvider):System.String
- jmp SHORT G_M47826_IG41
- ;; size=151 bbWeight=0.50 PerfScore 21.54
-G_M47826_IG39:
- test r14d, r14d
- jge SHORT G_M47826_IG40
+ jmp SHORT G_M47826_IG33
+ ;; size=117 bbWeight=0.50 PerfScore 12.75
+G_M47826_IG31:
+ test r13d, r13d
+ jge SHORT G_M47826_IG32
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rdx, gword ptr [rax+0x28]
- mov edi, r14d
+ mov edi, r13d
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
call [rax]System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
- jmp SHORT G_M47826_IG41
+ jmp SHORT G_M47826_IG33
;; size=43 bbWeight=0.50 PerfScore 6.12
-G_M47826_IG40:
- mov edi, r14d
+G_M47826_IG32:
+ mov edi, r13d
mov rax, 0xD1FFAB1E ; code for System.Number:UInt32ToDecStr(uint):System.String
call [rax]System.Number:UInt32ToDecStr(uint):System.String
;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG41:
+G_M47826_IG33:
mov rdi, rbx
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
+ jmp G_M47826_IG40
;; size=16 bbWeight=0.50 PerfScore 1.75
-G_M47826_IG42:
- cmp r15d, 10
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD240]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD256]
- vmovups xmm1, xmmword ptr [rsi+0x10]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD272]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+G_M47826_IG34:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'short time'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 't'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG43:
- cmp r15d, 10
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD240]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD288]
- vmovups xmm1, xmmword ptr [rsi+0x10]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD304]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG35:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'short date'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'd'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG44:
- cmp r15d, 10
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD320]
- vmovups xmm1, xmmword ptr [rsi+0x10]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD336]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG36:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'scientific'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x20], xmm0
+ vmovsd qword ptr [rbp-0x28], xmm0
vucomisd xmm0, xmm0
- jp SHORT G_M47826_IG46
+ jp SHORT G_M47826_IG38
vmovd rax, xmm0
mov rcx, 0xD1FFAB1E
and rax, rcx
mov rcx, 0xD1FFAB1E
cmp rax, rcx
- jne SHORT G_M47826_IG47
- ;; size=135 bbWeight=0.50 PerfScore 17.29
-G_M47826_IG45:
+ jne SHORT G_M47826_IG39
+ ;; size=99 bbWeight=0.50 PerfScore 8.50
+G_M47826_IG37:
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x20]
+ vmovsd xmm0, qword ptr [rbp-0x28]
mov rdi, 0xD1FFAB1E ; 'G'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp SHORT G_M47826_IG48
+ jmp SHORT G_M47826_IG40
;; size=55 bbWeight=0.50 PerfScore 6.75
-G_M47826_IG46:
- jmp SHORT G_M47826_IG45
+G_M47826_IG38:
+ jmp SHORT G_M47826_IG37
;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M47826_IG47:
+G_M47826_IG39:
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x20]
+ vmovsd xmm0, qword ptr [rbp-0x28]
mov rdi, 0xD1FFAB1E ; '0.00E+00'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=53 bbWeight=0.50 PerfScore 5.75
-G_M47826_IG48:
+G_M47826_IG40:
mov eax, 1
- jmp G_M47826_IG58
+ jmp G_M47826_IG50
;; size=10 bbWeight=0.50 PerfScore 1.12
-G_M47826_IG49:
- cmp r15d, 7
- jbe G_M47826_IG59
- movzx rax, word ptr [rsi+0x1A]
- cmp eax, 84
- ja SHORT G_M47826_IG50
- cmp eax, 68
- je G_M47826_IG52
- cmp eax, 84
- je SHORT G_M47826_IG51
- jmp G_M47826_IG57
+G_M47826_IG41:
+ cmp r14d, 7
+ jbe G_M47826_IG51
+ movzx rdi, word ptr [rax+0x1A]
+ cmp edi, 84
+ ja SHORT G_M47826_IG42
+ cmp edi, 68
+ je G_M47826_IG44
+ cmp edi, 84
+ je SHORT G_M47826_IG43
+ jmp G_M47826_IG49
;; size=38 bbWeight=0.50 PerfScore 4.50
-G_M47826_IG50:
- cmp eax, 100
- je G_M47826_IG52
- cmp eax, 116
- jne G_M47826_IG57
- ;; size=18 bbWeight=0.50 PerfScore 1.25
-G_M47826_IG51:
- cmp r15d, 11
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD352]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD368]
- vmovups xmm1, xmmword ptr [rsi+0x12]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD384]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+G_M47826_IG42:
+ cmp edi, 100
+ je SHORT G_M47826_IG44
+ cmp edi, 116
+ jne G_M47826_IG49
+ ;; size=14 bbWeight=0.50 PerfScore 1.25
+G_M47826_IG43:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'medium time'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'T'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG52:
- cmp r15d, 11
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD352]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD400]
- vmovups xmm1, xmmword ptr [rsi+0x12]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD416]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG44:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'medium date'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'D'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG53:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 71
- je SHORT G_M47826_IG54
- cmp eax, 103
- jne G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG45:
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 71
+ je SHORT G_M47826_IG46
+ cmp edi, 103
+ jne G_M47826_IG49
;; size=27 bbWeight=0.50 PerfScore 2.88
-G_M47826_IG54:
- cmp r15d, 12
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD432]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD448]
- vmovups xmm1, xmmword ptr [rsi+0x14]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD464]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+G_M47826_IG46:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'general date'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- je G_M47826_IG57
+ je G_M47826_IG49
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDate(System.Object):System.DateTime
mov rdi, rax
mov rcx, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; 'G'
xor rdx, rdx
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 rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=140 bbWeight=0.50 PerfScore 17.04
-G_M47826_IG55:
- test r15d, r15d
- je G_M47826_IG59
- movzx rax, word ptr [rsi+0x0C]
- cmp eax, 71
- je SHORT G_M47826_IG56
- cmp eax, 103
- jne G_M47826_IG57
- ;; size=27 bbWeight=0.50 PerfScore 2.88
-G_M47826_IG56:
- cmp r15d, 14
- jne G_M47826_IG57
- vmovups xmm0, xmmword ptr [rsi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD432]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD448]
- vmovups xmm1, xmmword ptr [rsi+0x18]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD480]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD496]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je SHORT G_M47826_IG57
+ jmp G_M47826_IG40
+ ;; size=106 bbWeight=0.50 PerfScore 8.25
+G_M47826_IG47:
+ test r14d, r14d
+ je G_M47826_IG51
+ movzx rdi, word ptr [rax+0x0C]
+ cmp edi, 71
+ je SHORT G_M47826_IG48
+ cmp edi, 103
+ jne SHORT G_M47826_IG49
+ ;; size=23 bbWeight=0.50 PerfScore 2.88
+G_M47826_IG48:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'general number'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je SHORT G_M47826_IG49
+ mov rdi, r15
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
call [rax]Microsoft.VisualBasic.CompilerServices.Conversions:ToDouble(System.Object,System.Globalization.NumberFormatInfo):double
- vmovsd qword ptr [rbp-0x28], xmm0
+ vmovsd qword ptr [rbp-0x30], xmm0
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
mov rsi, rax
- vmovsd xmm0, qword ptr [rbp-0x28]
+ vmovsd xmm0, qword ptr [rbp-0x30]
mov rdi, 0xD1FFAB1E ; 'G'
mov rax, 0xD1FFAB1E ; code for System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
call [rax]System.Number:FormatDouble(double,System.String,System.Globalization.NumberFormatInfo):System.String
mov rsi, rax
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47826_IG48
- ;; size=150 bbWeight=0.50 PerfScore 20.54
-G_M47826_IG57:
+ jmp G_M47826_IG40
+ ;; size=114 bbWeight=0.50 PerfScore 11.75
+G_M47826_IG49:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M47826_IG58:
- add rsp, 56
+G_M47826_IG50:
+ add rsp, 48
pop rbx
+ pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=11 bbWeight=1 PerfScore 3.25
-G_M47826_IG59:
+ ;; size=13 bbWeight=1 PerfScore 3.75
+G_M47826_IG51:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
RWD00 dd G_M47826_IG04 - G_M47826_IG02
- dd G_M47826_IG08 - G_M47826_IG02
+ dd G_M47826_IG06 - G_M47826_IG02
+ dd G_M47826_IG16 - G_M47826_IG02
+ dd G_M47826_IG18 - G_M47826_IG02
dd G_M47826_IG22 - G_M47826_IG02
dd G_M47826_IG26 - G_M47826_IG02
- dd G_M47826_IG30 - G_M47826_IG02
- dd G_M47826_IG34 - G_M47826_IG02
+ dd G_M47826_IG41 - G_M47826_IG02
+ dd G_M47826_IG45 - G_M47826_IG02
dd G_M47826_IG49 - G_M47826_IG02
- dd G_M47826_IG53 - G_M47826_IG02
- dd G_M47826_IG57 - G_M47826_IG02
- dd G_M47826_IG55 - G_M47826_IG02
-RWD40 dd 00000000h, 00000000h
-RWD48 dq 0020002000200020h, 0020002000200020h
-RWD64 dq 006E006100740073h, 0064007200610064h
-RWD80 dq 0072007200750063h, 00790063006E0065h
-RWD96 dq 0020002000200020h, 0020002000200000h
-RWD112 dq 0067006E006F006Ch, 006D006900740020h
-RWD128 dq 0000002000200020h, 0020002000200020h
-RWD144 dq 00200067006E006Fh, 0065006D00690074h
-RWD160 dq 0067006E006F006Ch, 0074006100640020h
-RWD176 dq 00200067006E006Fh, 0065007400610064h
-RWD192 dq 0065007500720074h, 006C00610066002Fh
-RWD208 dq 0020000000200020h, 0020002000200020h
-RWD224 dq 0066002F00650075h, 00650073006C0061h
-RWD240 dq 0020002000200020h, 0020002000000020h
-RWD256 dq 0072006F00680073h, 0069007400200074h
-RWD272 dq 002000740072006Fh, 0065006D00690074h
-RWD288 dq 0072006F00680073h, 0061006400200074h
-RWD304 dq 002000740072006Fh, 0065007400610064h
-RWD320 dq 0065006900630073h, 006600690074006Eh
-RWD336 dq 0074006E00650069h, 0063006900660069h
-RWD352 dq 0020002000200020h, 0020000000200020h
-RWD368 dq 006900640065006Dh, 00740020006D0075h
-RWD384 dq 0020006D00750069h, 0065006D00690074h
-RWD400 dq 006900640065006Dh, 00640020006D0075h
-RWD416 dq 0020006D00750069h, 0065007400610064h
-RWD432 dq 0020002000200020h, 0000002000200020h
-RWD448 dq 0065006E00650067h, 0020006C00610072h
-RWD464 dq 0020006C00610072h, 0065007400610064h
-RWD480 dq 0020002000000020h, 0020002000200020h
-RWD496 dq 0075006E0020006Ch, 007200650062006Dh
+ dd G_M47826_IG47 - G_M47826_IG02
-; Total bytes of code 3111, prolog size 15, PerfScore 365.03, instruction count 656, allocated bytes for code 3111 (MethodHash=d092452d) for method Microsoft.VisualBasic.Strings:FormatNamed(System.Object,System.String,byref):ubyte (FullOpts)
+; Total bytes of code 2646, prolog size 17, PerfScore 274.08, instruction count 580, allocated bytes for code 2646 (MethodHash=d092452d) for method Microsoft.VisualBasic.Strings:FormatNamed(System.Object,System.String,byref):ubyte (FullOpts)
-453 (-21.98 % of base) - System.DateTimeParse:MatchMonthName(byref,System.Globalization.DateTimeFormatInfo,byref):ubyte
; Assembly listing for method System.DateTimeParse:MatchMonthName(byref,System.Globalization.DateTimeFormatInfo,byref):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
-; fully interruptible
+; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 7 single block inlinees; 26 inlinees without PGO data
+; 0 inlinees with PGO data; 55 single block inlinees; 80 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T00] ( 19, 27 ) byref -> rbx single-def
-; V01 arg1 [V01,T02] ( 16, 20.50) ref -> r15 class-hnd single-def <System.Globalization.DateTimeFormatInfo>
-; V02 arg2 [V02,T12] ( 19, 13 ) byref -> r14 single-def
-; V03 loc0 [V03,T10] ( 15, 17 ) int -> r13 ld-addr-op
+; V00 arg0 [V00,T00] ( 19, 20 ) byref -> rbx single-def
+; V01 arg1 [V01,T01] ( 14, 18 ) ref -> r15 class-hnd single-def <System.Globalization.DateTimeFormatInfo>
+; V02 arg2 [V02,T04] ( 19, 13 ) byref -> r14 single-def
+; V03 loc0 [V03 ] ( 13, 10 ) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
;* V04 loc1 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ushort]>
-; V05 loc2 [V05,T49] ( 3, 1.50) int -> rax
-; V06 loc3 [V06,T50] ( 3, 1.50) int -> rdx
-; V07 loc4 [V07,T51] ( 3, 1.50) int -> rsi
-; V08 loc5 [V08,T20] ( 16, 8 ) int -> rax
-; V09 loc6 [V09,T29] ( 3, 5 ) int -> r12
-; V10 loc7 [V10,T03] ( 6, 18.50) int -> [rbp-0x2C]
-; V11 loc8 [V11,T06] ( 7, 18 ) ref -> [rbp-0x68] class-hnd exact spill-single-def <System.String>
+; V05 loc2 [V05,T33] ( 3, 1.50) int -> rsi
+; V06 loc3 [V06,T34] ( 3, 1.50) int -> rdx
+; V07 loc4 [V07,T35] ( 3, 1.50) int -> rcx
+; V08 loc5 [V08,T11] ( 16, 8 ) int -> rsi
+; V09 loc6 [V09,T19] ( 3, 5 ) int -> r13
+; V10 loc7 [V10,T02] ( 6, 18.50) int -> r12
+; V11 loc8 [V11,T07] ( 4, 12 ) ref -> [rbp-0x48] class-hnd exact spill-single-def <System.String>
; V12 loc9 [V12 ] ( 4, 10 ) int -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
-;* V13 loc10 [V13 ] ( 0, 0 ) int -> zero-ref
-;* V14 loc11 [V14 ] ( 0, 0 ) int -> zero-ref
+; V13 loc10 [V13,T36] ( 3, 1.50) int -> rax
+; V14 loc11 [V14,T37] ( 3, 1.50) int -> rax
;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V16 tmp1 [V16,T38] ( 3, 3 ) byref -> rbx single-def "dup spill"
-; V17 tmp2 [V17,T57] ( 2, 1 ) int -> r12
-; V18 tmp3 [V18,T22] ( 3, 8 ) int -> rax
-;* V19 tmp4 [V19,T58] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V16 tmp1 [V16,T26] ( 3, 3 ) byref -> rbx single-def "dup spill"
+; V17 tmp2 [V17,T66] ( 2, 1 ) int -> r13
+; V18 tmp3 [V18,T13] ( 3, 8 ) int -> rax
+;* V19 tmp4 [V19,T67] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V20 tmp5 [V20 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V21 tmp6 [V21,T41] ( 3, 3 ) int -> rdi "Span.get_Item index"
-; V22 tmp7 [V22,T39] ( 3, 3 ) byref -> rax single-def "Span.get_Item ptrToSpan"
-; V23 tmp8 [V23,T30] ( 4, 4 ) int -> rax "Inlining Arg"
-; V24 tmp9 [V24,T40] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
+; V21 tmp6 [V21,T29] ( 3, 3 ) int -> rdi "Span.get_Item index"
+; V22 tmp7 [V22,T27] ( 3, 3 ) byref -> rsi single-def "Span.get_Item ptrToSpan"
+; V23 tmp8 [V23,T20] ( 4, 4 ) int -> rsi "Inlining Arg"
+; V24 tmp9 [V24,T28] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
;* V25 tmp10 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V26 tmp11 [V26,T13] ( 23, 17 ) byref -> rdi single-def "Inlining Arg"
-; V27 tmp12 [V27,T14] ( 13, 13 ) int -> rcx "Inlining Arg"
+; V26 tmp11 [V26,T03] ( 16, 16 ) byref -> rdi single-def "Inlining Arg"
+; V27 tmp12 [V27,T06] ( 13, 13 ) int -> rax "Inlining Arg"
;* V28 tmp13 [V28 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V29 tmp14 [V29,T59] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V30 tmp15 [V30 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V31 tmp16 [V31,T43] ( 2, 2 ) int -> rcx "spilling unroll qmark"
-;* V32 tmp17 [V32 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V33 tmp18 [V33,T60] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V34 tmp19 [V34 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V35 tmp20 [V35,T61] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V36 tmp21 [V36 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V37 tmp22 [V37 ] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V38 tmp23 [V38 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V39 tmp24 [V39,T62] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V40 tmp25 [V40 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V41 tmp26 [V41,T63] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V42 tmp27 [V42 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V43 tmp28 [V43,T64] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V44 tmp29 [V44 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V45 tmp30 [V45,T44] ( 2, 2 ) int -> rcx "spilling unroll qmark"
-;* V46 tmp31 [V46 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V47 tmp32 [V47,T65] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V48 tmp33 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V49 tmp34 [V49,T45] ( 2, 2 ) int -> rcx "spilling unroll qmark"
-;* V50 tmp35 [V50 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V51 tmp36 [V51,T46] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-;* V52 tmp37 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-;* V53 tmp38 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String[]>
-;* V54 tmp39 [V54 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V55 tmp40 [V55,T47] ( 2, 2 ) ref -> rax class-hnd exact single-def "dup spill" <System.String[]>
-; V56 tmp41 [V56,T42] ( 5, 2.50) ref -> rax
-;* V57 tmp42 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-;* V58 tmp43 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String[]>
-; V59 tmp44 [V59,T01] ( 4, 24 ) int -> [rbp-0x3C] spill-single-def "Inlining Arg"
-; V60 tmp45 [V60,T11] ( 2, 16 ) ref -> rcx class-hnd exact "dup spill" <System.String[]>
-; V61 tmp46 [V61,T07] ( 5, 18 ) ref -> rcx
-; V62 tmp47 [V62,T23] ( 3, 8 ) int -> registers "Inline return value spill temp"
-; V63 tmp48 [V63,T27] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
-;* V64 tmp49 [V64 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V65 tmp50 [V65,T24] ( 2, 8 ) ref -> rdi class-hnd exact "impAppendStmt" <System.Globalization.CompareInfo>
-;* V66 tmp51 [V66 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V67 tmp52 [V67 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V68 tmp53 [V68,T18] ( 3, 12 ) int -> r8 "Inlining Arg"
-; V69 tmp54 [V69,T19] ( 3, 12 ) int -> rdx "Inlining Arg"
-; V70 tmp55 [V70,T15] ( 3, 12 ) byref -> rsi "Inlining Arg"
-;* V71 tmp56 [V71 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V72 tmp57 [V72 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V73 tmp58 [V73 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V74 tmp59 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V75 tmp60 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V76 tmp61 [V76,T25] ( 2, 8 ) byref -> r8 "Inlining Arg"
-;* V77 tmp62 [V77,T35] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V78 tmp63 [V78,T52] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V79 tmp64 [V79 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-; V80 tmp65 [V80,T36] ( 4, 3.50) int -> [rbp-0x40] "Inline stloc first use temp"
-;* V81 tmp66 [V81,T66] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V82 tmp67 [V82,T08] ( 4, 18 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.String[]>
-; V83 tmp68 [V83,T16] ( 3, 12 ) ref -> rsi class-hnd exact "Inline stloc first use temp" <System.String>
-; V84 tmp69 [V84 ] ( 4, 12 ) int -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline stloc first use temp"
-; V85 tmp70 [V85,T53] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V86 tmp71 [V86 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-; V87 tmp72 [V87,T37] ( 4, 3.50) int -> registers "Inline stloc first use temp"
-;* V88 tmp73 [V88,T67] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V89 tmp74 [V89,T09] ( 4, 18 ) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.String[]>
-; V90 tmp75 [V90,T17] ( 3, 12 ) ref -> rsi class-hnd exact "Inline stloc first use temp" <System.String>
-; V91 tmp76 [V91 ] ( 4, 12 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed ld-addr-op "Inline stloc first use temp"
-;* V92 tmp77 [V92 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP
-;* V93 tmp78 [V93 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-;* V94 tmp79 [V94 ] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V95 tmp80 [V95 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-;* V96 tmp81 [V96 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP
-;* V97 tmp82 [V97 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
-;* V98 tmp83 [V98 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V99 tmp84 [V99 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
-;* V100 tmp85 [V100 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V101 tmp86 [V101 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
-;* V102 tmp87 [V102 ] ( 0, 0 ) byref -> zero-ref single-def "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V103 tmp88 [V103 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
-;* V104 tmp89 [V104 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V105 tmp90 [V105 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
-;* V106 tmp91 [V106 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V107 tmp92 [V107 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
-;* V108 tmp93 [V108 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V109 tmp94 [V109 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
-;* V110 tmp95 [V110 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V111 tmp96 [V111 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
-;* V112 tmp97 [V112 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
-;* V113 tmp98 [V113 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
-;* V114 tmp99 [V114 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V115 tmp100 [V115 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
-;* V116 tmp101 [V116 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V117 tmp102 [V117 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-;* V118 tmp103 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V119 tmp104 [V119 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
-;* V120 tmp105 [V120 ] ( 0, 0 ) byref -> zero-ref "field V66._reference (fldOffset=0x0)" P-INDEP
-;* V121 tmp106 [V121 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP
-;* V122 tmp107 [V122 ] ( 0, 0 ) byref -> zero-ref "field V67._reference (fldOffset=0x0)" P-INDEP
-;* V123 tmp108 [V123 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0x8)" P-INDEP
-; V124 tmp109 [V124,T31] ( 2, 4 ) byref -> rsi "field V71._reference (fldOffset=0x0)" P-INDEP
-; V125 tmp110 [V125,T21] ( 3, 6 ) int -> rdx "field V71._length (fldOffset=0x8)" P-INDEP
-; V126 tmp111 [V126,T32] ( 2, 4 ) byref -> rcx "field V73._reference (fldOffset=0x0)" P-INDEP
-; V127 tmp112 [V127,T34] ( 2, 4 ) int -> r8 "field V73._length (fldOffset=0x8)" P-INDEP
-; V128 tmp113 [V128,T33] ( 2, 4 ) byref -> rcx "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V129 tmp114 [V129,T48] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
-;* V130 tmp115 [V130 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
-;* V131 tmp116 [V131 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
-; V132 tmp117 [V132,T72] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V133 tmp118 [V133,T73] ( 2, 0 ) ref -> rdi "argument with side effect"
-; V134 cse0 [V134,T28] ( 3, 6 ) int -> r8 "CSE #17: moderate"
-; V135 cse1 [V135,T54] ( 3, 1.50) int -> rcx "CSE #03: conservative"
-; V136 cse2 [V136,T55] ( 3, 1.50) int -> r12 "CSE #19: conservative"
-; V137 cse3 [V137,T56] ( 3, 1.50) int -> r12 "CSE #21: conservative"
-; V138 cse4 [V138,T26] ( 2, 8 ) int -> rdi "CSE #14: moderate"
-; V139 rat0 [V139,T04] ( 6, 18.50) long -> [rbp-0x58] "Widened IV V81"
-; V140 rat1 [V140,T05] ( 6, 18.50) long -> [rbp-0x60] "Widened IV V88"
-; V141 rat2 [V141,T68] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V142 rat3 [V142,T69] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V143 rat4 [V143,T70] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V144 rat5 [V144,T71] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V29 tmp14 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V30 tmp15 [V30 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V31 tmp16 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V32 tmp17 [V32 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V33 tmp18 [V33 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V34 tmp19 [V34,T38] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V35 tmp20 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V36 tmp21 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V37 tmp22 [V37 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V38 tmp23 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp24 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V40 tmp25 [V40,T68] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V41 tmp26 [V41 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V42 tmp27 [V42 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V43 tmp28 [V43 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp29 [V44 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V45 tmp30 [V45 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V46 tmp31 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V47 tmp32 [V47 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V48 tmp33 [V48 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V49 tmp34 [V49,T39] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V50 tmp35 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V51 tmp36 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V52 tmp37 [V52 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V53 tmp38 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V54 tmp39 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V55 tmp40 [V55,T69] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V56 tmp41 [V56 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V57 tmp42 [V57 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V58 tmp43 [V58 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V59 tmp44 [V59 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V60 tmp45 [V60 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V61 tmp46 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V62 tmp47 [V62 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V63 tmp48 [V63 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V64 tmp49 [V64,T40] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V65 tmp50 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V66 tmp51 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V67 tmp52 [V67 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V68 tmp53 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V69 tmp54 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V70 tmp55 [V70,T70] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V71 tmp56 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V72 tmp57 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V73 tmp58 [V73 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V74 tmp59 [V74 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V75 tmp60 [V75 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V76 tmp61 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V77 tmp62 [V77 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V78 tmp63 [V78 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V79 tmp64 [V79,T41] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V80 tmp65 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V81 tmp66 [V81 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V82 tmp67 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V83 tmp68 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V84 tmp69 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V85 tmp70 [V85,T71] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V86 tmp71 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V87 tmp72 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V88 tmp73 [V88 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V89 tmp74 [V89 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V90 tmp75 [V90 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V91 tmp76 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V92 tmp77 [V92 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V93 tmp78 [V93 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V94 tmp79 [V94,T72] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V95 tmp80 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V96 tmp81 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V97 tmp82 [V97 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V98 tmp83 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V99 tmp84 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V100 tmp85 [V100,T73] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V101 tmp86 [V101 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V102 tmp87 [V102 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V103 tmp88 [V103 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V104 tmp89 [V104 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V105 tmp90 [V105 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V106 tmp91 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V107 tmp92 [V107 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V108 tmp93 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V109 tmp94 [V109,T42] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V110 tmp95 [V110 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V111 tmp96 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V112 tmp97 [V112 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V113 tmp98 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V114 tmp99 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V115 tmp100 [V115,T74] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V116 tmp101 [V116 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V117 tmp102 [V117 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V118 tmp103 [V118 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V119 tmp104 [V119 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V120 tmp105 [V120 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V121 tmp106 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V122 tmp107 [V122 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V123 tmp108 [V123 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V124 tmp109 [V124,T43] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V125 tmp110 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V126 tmp111 [V126 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V127 tmp112 [V127 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V128 tmp113 [V128 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V129 tmp114 [V129 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V130 tmp115 [V130,T75] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V131 tmp116 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V132 tmp117 [V132 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V133 tmp118 [V133 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V134 tmp119 [V134 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V135 tmp120 [V135 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V136 tmp121 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V137 tmp122 [V137 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V138 tmp123 [V138 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V139 tmp124 [V139,T44] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V140 tmp125 [V140 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V141 tmp126 [V141 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V142 tmp127 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V143 tmp128 [V143 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V144 tmp129 [V144 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V145 tmp130 [V145,T76] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V146 tmp131 [V146 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V147 tmp132 [V147 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V148 tmp133 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V149 tmp134 [V149 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V150 tmp135 [V150 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V151 tmp136 [V151 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V152 tmp137 [V152 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V153 tmp138 [V153 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V154 tmp139 [V154,T45] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V155 tmp140 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V156 tmp141 [V156 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V157 tmp142 [V157 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V158 tmp143 [V158 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V159 tmp144 [V159 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V160 tmp145 [V160,T77] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V161 tmp146 [V161 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V162 tmp147 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V163 tmp148 [V163 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V164 tmp149 [V164 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V165 tmp150 [V165 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V166 tmp151 [V166 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V167 tmp152 [V167 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V168 tmp153 [V168 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V169 tmp154 [V169,T46] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V170 tmp155 [V170 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V171 tmp156 [V171 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V172 tmp157 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V173 tmp158 [V173 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V174 tmp159 [V174 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V175 tmp160 [V175,T78] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V176 tmp161 [V176 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V177 tmp162 [V177 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V178 tmp163 [V178 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V179 tmp164 [V179 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V180 tmp165 [V180 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V181 tmp166 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V182 tmp167 [V182 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V183 tmp168 [V183 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V184 tmp169 [V184,T47] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V185 tmp170 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V186 tmp171 [V186 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V187 tmp172 [V187 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V188 tmp173 [V188 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V189 tmp174 [V189 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V190 tmp175 [V190,T79] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V191 tmp176 [V191 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V192 tmp177 [V192 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V193 tmp178 [V193 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V194 tmp179 [V194 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V195 tmp180 [V195 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V196 tmp181 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V197 tmp182 [V197 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V198 tmp183 [V198 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V199 tmp184 [V199,T48] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V200 tmp185 [V200 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V201 tmp186 [V201 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V202 tmp187 [V202 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V203 tmp188 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V204 tmp189 [V204 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V205 tmp190 [V205,T80] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V206 tmp191 [V206 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V207 tmp192 [V207 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V208 tmp193 [V208,T14] ( 3, 8 ) int -> rax "Inline return value spill temp"
+; V209 tmp194 [V209,T17] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
+;* V210 tmp195 [V210 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+; V211 tmp196 [V211,T15] ( 2, 8 ) ref -> rdi class-hnd exact "impAppendStmt" <System.Globalization.CompareInfo>
+;* V212 tmp197 [V212 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V213 tmp198 [V213 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V214 tmp199 [V214,T09] ( 3, 12 ) int -> r8 "Inlining Arg"
+; V215 tmp200 [V215,T10] ( 3, 12 ) int -> rdx "Inlining Arg"
+; V216 tmp201 [V216,T08] ( 3, 12 ) byref -> rsi "Inlining Arg"
+;* V217 tmp202 [V217 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V218 tmp203 [V218 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V219 tmp204 [V219 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V220 tmp205 [V220 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V221 tmp206 [V221 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V222 tmp207 [V222,T16] ( 2, 8 ) byref -> rcx "Inlining Arg"
+;* V223 tmp208 [V223,T25] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V224 tmp209 [V224,T49] ( 3, 1.50) int -> rax "Inline return value spill temp"
+; V225 tmp210 [V225,T50] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V226 tmp211 [V226 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP
+;* V227 tmp212 [V227 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
+;* V228 tmp213 [V228 ] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V229 tmp214 [V229 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
+;* V230 tmp215 [V230 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V231 tmp216 [V231 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
+;* V232 tmp217 [V232 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V233 tmp218 [V233 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
+;* V234 tmp219 [V234 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V235 tmp220 [V235 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+; V236 tmp221 [V236,T54] ( 2, 1 ) byref -> rsi single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V237 tmp222 [V237 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
+;* V238 tmp223 [V238 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V239 tmp224 [V239 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
+;* V240 tmp225 [V240 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V241 tmp226 [V241 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
+;* V242 tmp227 [V242 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V243 tmp228 [V243 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
+;* V244 tmp229 [V244 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V245 tmp230 [V245 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+;* V246 tmp231 [V246 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V247 tmp232 [V247 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V248 tmp233 [V248 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V249 tmp234 [V249 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
+;* V250 tmp235 [V250 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V251 tmp236 [V251 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+; V252 tmp237 [V252,T55] ( 2, 1 ) byref -> rsi single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V253 tmp238 [V253 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
+;* V254 tmp239 [V254 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V255 tmp240 [V255 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
+;* V256 tmp241 [V256 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V257 tmp242 [V257 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
+;* V258 tmp243 [V258 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V259 tmp244 [V259 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
+;* V260 tmp245 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V261 tmp246 [V261 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+;* V262 tmp247 [V262 ] ( 0, 0 ) byref -> zero-ref single-def "field V58._reference (fldOffset=0x0)" P-INDEP
+;* V263 tmp248 [V263 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
+;* V264 tmp249 [V264 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V265 tmp250 [V265 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+;* V266 tmp251 [V266 ] ( 0, 0 ) byref -> zero-ref "field V60._reference (fldOffset=0x0)" P-INDEP
+;* V267 tmp252 [V267 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP
+; V268 tmp253 [V268,T56] ( 2, 1 ) byref -> rsi single-def "field V61._reference (fldOffset=0x0)" P-INDEP
+;* V269 tmp254 [V269 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
+;* V270 tmp255 [V270 ] ( 0, 0 ) byref -> zero-ref single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V271 tmp256 [V271 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
+;* V272 tmp257 [V272 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V273 tmp258 [V273 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP
+;* V274 tmp259 [V274 ] ( 0, 0 ) byref -> zero-ref single-def "field V68._reference (fldOffset=0x0)" P-INDEP
+;* V275 tmp260 [V275 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
+;* V276 tmp261 [V276 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
+;* V277 tmp262 [V277 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
+;* V278 tmp263 [V278 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
+;* V279 tmp264 [V279 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
+;* V280 tmp265 [V280 ] ( 0, 0 ) byref -> zero-ref single-def "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V281 tmp266 [V281 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
+;* V282 tmp267 [V282 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V283 tmp268 [V283 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
+; V284 tmp269 [V284,T57] ( 2, 1 ) byref -> rsi single-def "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V285 tmp270 [V285 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
+;* V286 tmp271 [V286 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V287 tmp272 [V287 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V288 tmp273 [V288 ] ( 0, 0 ) byref -> zero-ref single-def "field V81._reference (fldOffset=0x0)" P-INDEP
+;* V289 tmp274 [V289 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
+;* V290 tmp275 [V290 ] ( 0, 0 ) byref -> zero-ref single-def "field V83._reference (fldOffset=0x0)" P-INDEP
+;* V291 tmp276 [V291 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
+;* V292 tmp277 [V292 ] ( 0, 0 ) byref -> zero-ref single-def "field V84._reference (fldOffset=0x0)" P-INDEP
+;* V293 tmp278 [V293 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
+;* V294 tmp279 [V294 ] ( 0, 0 ) byref -> zero-ref single-def "field V88._reference (fldOffset=0x0)" P-INDEP
+;* V295 tmp280 [V295 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
+;* V296 tmp281 [V296 ] ( 0, 0 ) byref -> zero-ref single-def "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V297 tmp282 [V297 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+;* V298 tmp283 [V298 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP
+;* V299 tmp284 [V299 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
+; V300 tmp285 [V300,T58] ( 2, 1 ) byref -> rsi single-def "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V301 tmp286 [V301 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
+;* V302 tmp287 [V302 ] ( 0, 0 ) byref -> zero-ref single-def "field V95._reference (fldOffset=0x0)" P-INDEP
+;* V303 tmp288 [V303 ] ( 0, 0 ) int -> zero-ref "field V95._length (fldOffset=0x8)" P-INDEP
+;* V304 tmp289 [V304 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP
+;* V305 tmp290 [V305 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
+;* V306 tmp291 [V306 ] ( 0, 0 ) byref -> zero-ref single-def "field V98._reference (fldOffset=0x0)" P-INDEP
+;* V307 tmp292 [V307 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP
+;* V308 tmp293 [V308 ] ( 0, 0 ) byref -> zero-ref single-def "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V309 tmp294 [V309 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
+;* V310 tmp295 [V310 ] ( 0, 0 ) byref -> zero-ref single-def "field V103._reference (fldOffset=0x0)" P-INDEP
+;* V311 tmp296 [V311 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
+;* V312 tmp297 [V312 ] ( 0, 0 ) byref -> zero-ref single-def "field V104._reference (fldOffset=0x0)" P-INDEP
+;* V313 tmp298 [V313 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
+;* V314 tmp299 [V314 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
+;* V315 tmp300 [V315 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
+; V316 tmp301 [V316,T59] ( 2, 1 ) byref -> rsi single-def "field V106._reference (fldOffset=0x0)" P-INDEP
+;* V317 tmp302 [V317 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
+;* V318 tmp303 [V318 ] ( 0, 0 ) byref -> zero-ref single-def "field V110._reference (fldOffset=0x0)" P-INDEP
+;* V319 tmp304 [V319 ] ( 0, 0 ) int -> zero-ref "field V110._length (fldOffset=0x8)" P-INDEP
+;* V320 tmp305 [V320 ] ( 0, 0 ) byref -> zero-ref single-def "field V111._reference (fldOffset=0x0)" P-INDEP
+;* V321 tmp306 [V321 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP
+;* V322 tmp307 [V322 ] ( 0, 0 ) byref -> zero-ref single-def "field V113._reference (fldOffset=0x0)" P-INDEP
+;* V323 tmp308 [V323 ] ( 0, 0 ) int -> zero-ref "field V113._length (fldOffset=0x8)" P-INDEP
+;* V324 tmp309 [V324 ] ( 0, 0 ) byref -> zero-ref single-def "field V114._reference (fldOffset=0x0)" P-INDEP
+;* V325 tmp310 [V325 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP
+;* V326 tmp311 [V326 ] ( 0, 0 ) byref -> zero-ref single-def "field V118._reference (fldOffset=0x0)" P-INDEP
+;* V327 tmp312 [V327 ] ( 0, 0 ) int -> zero-ref "field V118._length (fldOffset=0x8)" P-INDEP
+;* V328 tmp313 [V328 ] ( 0, 0 ) byref -> zero-ref single-def "field V119._reference (fldOffset=0x0)" P-INDEP
+;* V329 tmp314 [V329 ] ( 0, 0 ) int -> zero-ref "field V119._length (fldOffset=0x8)" P-INDEP
+;* V330 tmp315 [V330 ] ( 0, 0 ) byref -> zero-ref "field V120._reference (fldOffset=0x0)" P-INDEP
+;* V331 tmp316 [V331 ] ( 0, 0 ) int -> zero-ref "field V120._length (fldOffset=0x8)" P-INDEP
+; V332 tmp317 [V332,T60] ( 2, 1 ) byref -> rsi single-def "field V121._reference (fldOffset=0x0)" P-INDEP
+;* V333 tmp318 [V333 ] ( 0, 0 ) int -> zero-ref "field V121._length (fldOffset=0x8)" P-INDEP
+;* V334 tmp319 [V334 ] ( 0, 0 ) byref -> zero-ref single-def "field V125._reference (fldOffset=0x0)" P-INDEP
+;* V335 tmp320 [V335 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP
+;* V336 tmp321 [V336 ] ( 0, 0 ) byref -> zero-ref single-def "field V126._reference (fldOffset=0x0)" P-INDEP
+;* V337 tmp322 [V337 ] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP
+;* V338 tmp323 [V338 ] ( 0, 0 ) byref -> zero-ref single-def "field V128._reference (fldOffset=0x0)" P-INDEP
+;* V339 tmp324 [V339 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
+;* V340 tmp325 [V340 ] ( 0, 0 ) byref -> zero-ref single-def "field V129._reference (fldOffset=0x0)" P-INDEP
+;* V341 tmp326 [V341 ] ( 0, 0 ) int -> zero-ref "field V129._length (fldOffset=0x8)" P-INDEP
+;* V342 tmp327 [V342 ] ( 0, 0 ) byref -> zero-ref single-def "field V133._reference (fldOffset=0x0)" P-INDEP
+;* V343 tmp328 [V343 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP
+;* V344 tmp329 [V344 ] ( 0, 0 ) byref -> zero-ref single-def "field V134._reference (fldOffset=0x0)" P-INDEP
+;* V345 tmp330 [V345 ] ( 0, 0 ) int -> zero-ref "field V134._length (fldOffset=0x8)" P-INDEP
+;* V346 tmp331 [V346 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V347 tmp332 [V347 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP
+; V348 tmp333 [V348,T61] ( 2, 1 ) byref -> rsi single-def "field V136._reference (fldOffset=0x0)" P-INDEP
+;* V349 tmp334 [V349 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP
+;* V350 tmp335 [V350 ] ( 0, 0 ) byref -> zero-ref single-def "field V140._reference (fldOffset=0x0)" P-INDEP
+;* V351 tmp336 [V351 ] ( 0, 0 ) int -> zero-ref "field V140._length (fldOffset=0x8)" P-INDEP
+;* V352 tmp337 [V352 ] ( 0, 0 ) byref -> zero-ref single-def "field V141._reference (fldOffset=0x0)" P-INDEP
+;* V353 tmp338 [V353 ] ( 0, 0 ) int -> zero-ref "field V141._length (fldOffset=0x8)" P-INDEP
+;* V354 tmp339 [V354 ] ( 0, 0 ) byref -> zero-ref single-def "field V143._reference (fldOffset=0x0)" P-INDEP
+;* V355 tmp340 [V355 ] ( 0, 0 ) int -> zero-ref "field V143._length (fldOffset=0x8)" P-INDEP
+;* V356 tmp341 [V356 ] ( 0, 0 ) byref -> zero-ref single-def "field V144._reference (fldOffset=0x0)" P-INDEP
+;* V357 tmp342 [V357 ] ( 0, 0 ) int -> zero-ref "field V144._length (fldOffset=0x8)" P-INDEP
+;* V358 tmp343 [V358 ] ( 0, 0 ) byref -> zero-ref single-def "field V148._reference (fldOffset=0x0)" P-INDEP
+;* V359 tmp344 [V359 ] ( 0, 0 ) int -> zero-ref "field V148._length (fldOffset=0x8)" P-INDEP
+;* V360 tmp345 [V360 ] ( 0, 0 ) byref -> zero-ref single-def "field V149._reference (fldOffset=0x0)" P-INDEP
+;* V361 tmp346 [V361 ] ( 0, 0 ) int -> zero-ref "field V149._length (fldOffset=0x8)" P-INDEP
+;* V362 tmp347 [V362 ] ( 0, 0 ) byref -> zero-ref "field V150._reference (fldOffset=0x0)" P-INDEP
+;* V363 tmp348 [V363 ] ( 0, 0 ) int -> zero-ref "field V150._length (fldOffset=0x8)" P-INDEP
+; V364 tmp349 [V364,T62] ( 2, 1 ) byref -> rsi single-def "field V151._reference (fldOffset=0x0)" P-INDEP
+;* V365 tmp350 [V365 ] ( 0, 0 ) int -> zero-ref "field V151._length (fldOffset=0x8)" P-INDEP
+;* V366 tmp351 [V366 ] ( 0, 0 ) byref -> zero-ref single-def "field V155._reference (fldOffset=0x0)" P-INDEP
+;* V367 tmp352 [V367 ] ( 0, 0 ) int -> zero-ref "field V155._length (fldOffset=0x8)" P-INDEP
+;* V368 tmp353 [V368 ] ( 0, 0 ) byref -> zero-ref single-def "field V156._reference (fldOffset=0x0)" P-INDEP
+;* V369 tmp354 [V369 ] ( 0, 0 ) int -> zero-ref "field V156._length (fldOffset=0x8)" P-INDEP
+;* V370 tmp355 [V370 ] ( 0, 0 ) byref -> zero-ref single-def "field V158._reference (fldOffset=0x0)" P-INDEP
+;* V371 tmp356 [V371 ] ( 0, 0 ) int -> zero-ref "field V158._length (fldOffset=0x8)" P-INDEP
+;* V372 tmp357 [V372 ] ( 0, 0 ) byref -> zero-ref single-def "field V159._reference (fldOffset=0x0)" P-INDEP
+;* V373 tmp358 [V373 ] ( 0, 0 ) int -> zero-ref "field V159._length (fldOffset=0x8)" P-INDEP
+;* V374 tmp359 [V374 ] ( 0, 0 ) byref -> zero-ref single-def "field V163._reference (fldOffset=0x0)" P-INDEP
+;* V375 tmp360 [V375 ] ( 0, 0 ) int -> zero-ref "field V163._length (fldOffset=0x8)" P-INDEP
+;* V376 tmp361 [V376 ] ( 0, 0 ) byref -> zero-ref single-def "field V164._reference (fldOffset=0x0)" P-INDEP
+;* V377 tmp362 [V377 ] ( 0, 0 ) int -> zero-ref "field V164._length (fldOffset=0x8)" P-INDEP
+;* V378 tmp363 [V378 ] ( 0, 0 ) byref -> zero-ref "field V165._reference (fldOffset=0x0)" P-INDEP
+;* V379 tmp364 [V379 ] ( 0, 0 ) int -> zero-ref "field V165._length (fldOffset=0x8)" P-INDEP
+; V380 tmp365 [V380,T63] ( 2, 1 ) byref -> rsi single-def "field V166._reference (fldOffset=0x0)" P-INDEP
+;* V381 tmp366 [V381 ] ( 0, 0 ) int -> zero-ref "field V166._length (fldOffset=0x8)" P-INDEP
+;* V382 tmp367 [V382 ] ( 0, 0 ) byref -> zero-ref single-def "field V170._reference (fldOffset=0x0)" P-INDEP
+;* V383 tmp368 [V383 ] ( 0, 0 ) int -> zero-ref "field V170._length (fldOffset=0x8)" P-INDEP
+;* V384 tmp369 [V384 ] ( 0, 0 ) byref -> zero-ref single-def "field V171._reference (fldOffset=0x0)" P-INDEP
+;* V385 tmp370 [V385 ] ( 0, 0 ) int -> zero-ref "field V171._length (fldOffset=0x8)" P-INDEP
+;* V386 tmp371 [V386 ] ( 0, 0 ) byref -> zero-ref single-def "field V173._reference (fldOffset=0x0)" P-INDEP
+;* V387 tmp372 [V387 ] ( 0, 0 ) int -> zero-ref "field V173._length (fldOffset=0x8)" P-INDEP
+;* V388 tmp373 [V388 ] ( 0, 0 ) byref -> zero-ref single-def "field V174._reference (fldOffset=0x0)" P-INDEP
+;* V389 tmp374 [V389 ] ( 0, 0 ) int -> zero-ref "field V174._length (fldOffset=0x8)" P-INDEP
+;* V390 tmp375 [V390 ] ( 0, 0 ) byref -> zero-ref single-def "field V178._reference (fldOffset=0x0)" P-INDEP
+;* V391 tmp376 [V391 ] ( 0, 0 ) int -> zero-ref "field V178._length (fldOffset=0x8)" P-INDEP
+;* V392 tmp377 [V392 ] ( 0, 0 ) byref -> zero-ref single-def "field V179._reference (fldOffset=0x0)" P-INDEP
+;* V393 tmp378 [V393 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP
+;* V394 tmp379 [V394 ] ( 0, 0 ) byref -> zero-ref "field V180._reference (fldOffset=0x0)" P-INDEP
+;* V395 tmp380 [V395 ] ( 0, 0 ) int -> zero-ref "field V180._length (fldOffset=0x8)" P-INDEP
+; V396 tmp381 [V396,T64] ( 2, 1 ) byref -> rsi single-def "field V181._reference (fldOffset=0x0)" P-INDEP
+;* V397 tmp382 [V397 ] ( 0, 0 ) int -> zero-ref "field V181._length (fldOffset=0x8)" P-INDEP
+;* V398 tmp383 [V398 ] ( 0, 0 ) byref -> zero-ref single-def "field V185._reference (fldOffset=0x0)" P-INDEP
+;* V399 tmp384 [V399 ] ( 0, 0 ) int -> zero-ref "field V185._length (fldOffset=0x8)" P-INDEP
+;* V400 tmp385 [V400 ] ( 0, 0 ) byref -> zero-ref single-def "field V186._reference (fldOffset=0x0)" P-INDEP
+;* V401 tmp386 [V401 ] ( 0, 0 ) int -> zero-ref "field V186._length (fldOffset=0x8)" P-INDEP
+;* V402 tmp387 [V402 ] ( 0, 0 ) byref -> zero-ref single-def "field V188._reference (fldOffset=0x0)" P-INDEP
+;* V403 tmp388 [V403 ] ( 0, 0 ) int -> zero-ref "field V188._length (fldOffset=0x8)" P-INDEP
+;* V404 tmp389 [V404 ] ( 0, 0 ) byref -> zero-ref single-def "field V189._reference (fldOffset=0x0)" P-INDEP
+;* V405 tmp390 [V405 ] ( 0, 0 ) int -> zero-ref "field V189._length (fldOffset=0x8)" P-INDEP
+;* V406 tmp391 [V406 ] ( 0, 0 ) byref -> zero-ref single-def "field V193._reference (fldOffset=0x0)" P-INDEP
+;* V407 tmp392 [V407 ] ( 0, 0 ) int -> zero-ref "field V193._length (fldOffset=0x8)" P-INDEP
+;* V408 tmp393 [V408 ] ( 0, 0 ) byref -> zero-ref single-def "field V194._reference (fldOffset=0x0)" P-INDEP
+;* V409 tmp394 [V409 ] ( 0, 0 ) int -> zero-ref "field V194._length (fldOffset=0x8)" P-INDEP
+;* V410 tmp395 [V410 ] ( 0, 0 ) byref -> zero-ref "field V195._reference (fldOffset=0x0)" P-INDEP
+;* V411 tmp396 [V411 ] ( 0, 0 ) int -> zero-ref "field V195._length (fldOffset=0x8)" P-INDEP
+; V412 tmp397 [V412,T65] ( 2, 1 ) byref -> rsi single-def "field V196._reference (fldOffset=0x0)" P-INDEP
+;* V413 tmp398 [V413 ] ( 0, 0 ) int -> zero-ref "field V196._length (fldOffset=0x8)" P-INDEP
+;* V414 tmp399 [V414 ] ( 0, 0 ) byref -> zero-ref single-def "field V200._reference (fldOffset=0x0)" P-INDEP
+;* V415 tmp400 [V415 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP
+;* V416 tmp401 [V416 ] ( 0, 0 ) byref -> zero-ref single-def "field V201._reference (fldOffset=0x0)" P-INDEP
+;* V417 tmp402 [V417 ] ( 0, 0 ) int -> zero-ref "field V201._length (fldOffset=0x8)" P-INDEP
+;* V418 tmp403 [V418 ] ( 0, 0 ) byref -> zero-ref single-def "field V203._reference (fldOffset=0x0)" P-INDEP
+;* V419 tmp404 [V419 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP
+;* V420 tmp405 [V420 ] ( 0, 0 ) byref -> zero-ref single-def "field V204._reference (fldOffset=0x0)" P-INDEP
+;* V421 tmp406 [V421 ] ( 0, 0 ) int -> zero-ref "field V204._length (fldOffset=0x8)" P-INDEP
+;* V422 tmp407 [V422 ] ( 0, 0 ) byref -> zero-ref "field V212._reference (fldOffset=0x0)" P-INDEP
+;* V423 tmp408 [V423 ] ( 0, 0 ) int -> zero-ref "field V212._length (fldOffset=0x8)" P-INDEP
+;* V424 tmp409 [V424 ] ( 0, 0 ) byref -> zero-ref "field V213._reference (fldOffset=0x0)" P-INDEP
+;* V425 tmp410 [V425 ] ( 0, 0 ) int -> zero-ref "field V213._length (fldOffset=0x8)" P-INDEP
+; V426 tmp411 [V426,T21] ( 2, 4 ) byref -> rsi "field V217._reference (fldOffset=0x0)" P-INDEP
+; V427 tmp412 [V427,T12] ( 3, 6 ) int -> rdx "field V217._length (fldOffset=0x8)" P-INDEP
+; V428 tmp413 [V428,T22] ( 2, 4 ) byref -> rcx "field V219._reference (fldOffset=0x0)" P-INDEP
+; V429 tmp414 [V429,T24] ( 2, 4 ) int -> r8 "field V219._length (fldOffset=0x8)" P-INDEP
+; V430 tmp415 [V430,T23] ( 2, 4 ) byref -> rcx "field V220._reference (fldOffset=0x0)" P-INDEP
+;* V431 tmp416 [V431,T32] ( 0, 0 ) int -> zero-ref "field V220._length (fldOffset=0x8)" P-INDEP
+;* V432 tmp417 [V432 ] ( 0, 0 ) byref -> zero-ref "field V221._reference (fldOffset=0x0)" P-INDEP
+;* V433 tmp418 [V433 ] ( 0, 0 ) int -> zero-ref "field V221._length (fldOffset=0x8)" P-INDEP
+; V434 tmp419 [V434,T30] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V435 tmp420 [V435,T31] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V436 cse0 [V436,T18] ( 3, 6 ) int -> r8 "CSE #06: moderate"
+; V437 cse1 [V437,T51] ( 3, 1.50) int -> rax "CSE #03: conservative"
+; V438 cse2 [V438,T52] ( 3, 1.50) int -> r13 "CSE #08: conservative"
+; V439 cse3 [V439,T53] ( 3, 1.50) int -> r13 "CSE #09: conservative"
+; V440 cse4 [V440,T05] ( 4, 12 ) int -> [rbp-0x3C] spill-single-def "CSE #05: aggressive"
;
-; Lcl frame size = 72
+; Lcl frame size = 40
G_M13235_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 72
- lea rbp, [rsp+0x70]
+ sub rsp, 40
+ lea rbp, [rsp+0x50]
mov rbx, rdi
mov r15, rsi
mov r14, rdx
;; size=28 bbWeight=1 PerfScore 7.50
G_M13235_IG02:
- xor r13d, r13d
+ xor edi, edi
+ mov dword ptr [rbp-0x30], edi
mov dword ptr [r14], -1
inc dword ptr [rbx+0x08]
mov edi, dword ptr [rbx+0x08]
cmp edi, dword ptr [rbx+0x18]
- jge G_M13235_IG64
- ;; size=25 bbWeight=1 PerfScore 10.25
+ jge G_M13235_IG39
+ ;; size=27 bbWeight=1 PerfScore 11.25
G_M13235_IG03:
mov edi, dword ptr [rbx+0x08]
- lea rax, bword ptr [rbx+0x10]
- cmp edi, dword ptr [rax+0x08]
- jae G_M13235_IG71
- mov rax, bword ptr [rax]
- movzx rdi, word ptr [rax+2*rdi]
+ lea rsi, bword ptr [rbx+0x10]
+ cmp edi, dword ptr [rsi+0x08]
+ jae G_M13235_IG46
+ mov rsi, bword ptr [rsi]
+ movzx rdi, word ptr [rsi+2*rdi]
mov word ptr [rbx+0x0C], di
mov rdi, 0xD1FFAB1E ; const ptr
cmp r15, gword ptr [rdi]
- jne G_M13235_IG37
+ jne G_M13235_IG23
lea rdi, bword ptr [rbx+0x10]
- mov eax, dword ptr [rbx+0x08]
- mov ecx, dword ptr [rdi+0x08]
- cmp eax, ecx
- ja G_M13235_IG74
+ mov esi, dword ptr [rbx+0x08]
+ mov eax, dword ptr [rdi+0x08]
+ cmp esi, eax
+ ja G_M13235_IG47
mov rdi, bword ptr [rdi]
- mov edx, eax
+ mov edx, esi
lea rdi, bword ptr [rdi+2*rdx]
- sub ecx, eax
- cmp ecx, 3
- jl G_M13235_IG52
- movzx rax, word ptr [rdi]
+ sub eax, esi
+ cmp eax, 3
+ jl G_M13235_IG35
+ movzx rsi, word ptr [rdi]
movzx rdx, word ptr [rdi+0x02]
- movzx rsi, word ptr [rdi+0x04]
- mov r8d, eax
+ movzx rcx, word ptr [rdi+0x04]
+ mov r8d, esi
or r8d, edx
- or r8d, esi
+ or r8d, ecx
cmp r8d, 127
- ja G_M13235_IG52
- shl eax, 16
+ ja G_M13235_IG35
+ shl esi, 16
shl edx, 8
- or eax, edx
- or eax, esi
- or eax, 0xD1FFAB1E
- cmp eax, 0xD1FFAB1E
+ or esi, edx
+ or esi, ecx
+ or esi, 0xD1FFAB1E
+ cmp esi, 0xD1FFAB1E
ja SHORT G_M13235_IG05
- cmp eax, 0xD1FFAB1E
+ cmp esi, 0xD1FFAB1E
ja SHORT G_M13235_IG04
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG17
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG28
- cmp eax, 0xD1FFAB1E
- jne G_M13235_IG52
- jmp G_M13235_IG36
- ;; size=181 bbWeight=0.50 PerfScore 21.88
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG13
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG18
+ cmp esi, 0xD1FFAB1E
+ jne G_M13235_IG35
+ jmp G_M13235_IG22
+ ;; size=187 bbWeight=0.50 PerfScore 21.88
G_M13235_IG04:
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG11
- cmp eax, 0xD1FFAB1E
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG09
+ cmp esi, 0xD1FFAB1E
je SHORT G_M13235_IG07
- cmp eax, 0xD1FFAB1E
- jne G_M13235_IG52
- jmp G_M13235_IG25
- ;; size=34 bbWeight=0.50 PerfScore 2.88
+ cmp esi, 0xD1FFAB1E
+ jne G_M13235_IG35
+ jmp G_M13235_IG17
+ ;; size=37 bbWeight=0.50 PerfScore 2.88
G_M13235_IG05:
- cmp eax, 0xD1FFAB1E
+ cmp esi, 0xD1FFAB1E
ja SHORT G_M13235_IG06
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG21
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG13
- cmp eax, 0xD1FFAB1E
- jne G_M13235_IG52
- jmp G_M13235_IG20
- ;; size=45 bbWeight=0.50 PerfScore 3.50
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG15
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG11
+ cmp esi, 0xD1FFAB1E
+ jne G_M13235_IG35
+ jmp G_M13235_IG14
+ ;; size=49 bbWeight=0.50 PerfScore 3.50
G_M13235_IG06:
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG35
- cmp eax, 0xD1FFAB1E
- je G_M13235_IG32
- cmp eax, 0xD1FFAB1E
- jne G_M13235_IG52
- jmp G_M13235_IG31
- ;; size=38 bbWeight=0.50 PerfScore 2.88
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG21
+ cmp esi, 0xD1FFAB1E
+ je G_M13235_IG20
+ cmp esi, 0xD1FFAB1E
+ jne G_M13235_IG35
+ jmp G_M13235_IG19
+ ;; size=41 bbWeight=0.50 PerfScore 2.88
G_M13235_IG07:
- cmp ecx, 7
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 7
+ jl G_M13235_IG35
+ mov edx, 7
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 1
+ ;; size=51 bbWeight=0.50 PerfScore 3.62
G_M13235_IG08:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rax, 0xD1FFAB1E
- xor rax, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi+0x06]
- mov rdi, 0xD1FFAB1E
- xor rdi, rcx
- or rdi, rax
- jne G_M13235_IG52
- ;; size=62 bbWeight=0.25 PerfScore 2.19
+ mov dword ptr [rbp-0x30], 7
+ jmp G_M13235_IG35
+ ;; size=12 bbWeight=0.50 PerfScore 1.50
G_M13235_IG09:
- mov dword ptr [r14], 1
- ;; size=7 bbWeight=0.50 PerfScore 0.50
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 8
+ jl G_M13235_IG35
+ mov edx, 8
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 2
+ ;; size=51 bbWeight=0.50 PerfScore 3.62
G_M13235_IG10:
- mov r13d, 7
- jmp G_M13235_IG52
- ;; size=11 bbWeight=0.50 PerfScore 1.12
+ mov dword ptr [rbp-0x30], 8
+ jmp G_M13235_IG35
+ ;; size=12 bbWeight=0.50 PerfScore 1.50
G_M13235_IG11:
- cmp ecx, 8
- jl G_M13235_IG52
- vmovups xmm0, xmmword ptr [rdi]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vptest xmm0, xmm0
- sete cl
- movzx rcx, cl
- test ecx, ecx
- je G_M13235_IG52
- mov dword ptr [r14], 2
- ;; size=55 bbWeight=0.50 PerfScore 7.88
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 5
+ jl G_M13235_IG35
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 3
+ ;; size=51 bbWeight=0.50 PerfScore 3.62
G_M13235_IG12:
- mov r13d, 8
- jmp G_M13235_IG52
- ;; size=11 bbWeight=0.50 PerfScore 1.12
+ mov dword ptr [rbp-0x30], 5
+ jmp G_M13235_IG35
+ ;; size=12 bbWeight=0.50 PerfScore 1.50
G_M13235_IG13:
- cmp ecx, 5
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 5
+ jl G_M13235_IG35
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 4
+ jmp SHORT G_M13235_IG12
+ ;; size=53 bbWeight=0.50 PerfScore 4.62
G_M13235_IG14:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rax, 0xD1FFAB1E
- xor rax, rcx
- mov edi, dword ptr [rdi+0x06]
- or edi, 0xD1FFAB1E
- xor edi, 0xD1FFAB1E
- or rdi, rax
- jne G_M13235_IG52
- ;; size=50 bbWeight=0.25 PerfScore 1.88
+ mov rsi, 0xD1FFAB1E
+ mov edx, 3
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 5
+ mov dword ptr [rbp-0x30], 3
+ jmp G_M13235_IG35
+ ;; size=54 bbWeight=0.50 PerfScore 4.50
G_M13235_IG15:
- mov dword ptr [r14], 3
- ;; size=7 bbWeight=0.50 PerfScore 0.50
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 4
+ jl G_M13235_IG35
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
+ mov dword ptr [r14], 6
+ ;; size=51 bbWeight=0.50 PerfScore 3.62
G_M13235_IG16:
- mov r13d, 5
- jmp G_M13235_IG52
- ;; size=11 bbWeight=0.50 PerfScore 1.12
+ mov dword ptr [rbp-0x30], 4
+ jmp G_M13235_IG35
+ ;; size=12 bbWeight=0.50 PerfScore 1.50
G_M13235_IG17:
- cmp ecx, 5
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M13235_IG18:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rax, 0xD1FFAB1E
- xor rax, rcx
- mov edi, dword ptr [rdi+0x06]
- or edi, 0xD1FFAB1E
- xor edi, 0xD1FFAB1E
- or rdi, rax
- jne G_M13235_IG52
- ;; size=50 bbWeight=0.25 PerfScore 1.88
-G_M13235_IG19:
- mov dword ptr [r14], 4
- jmp SHORT G_M13235_IG16
- ;; size=9 bbWeight=0.50 PerfScore 1.50
-G_M13235_IG20:
- mov eax, dword ptr [rdi]
- or eax, 0xD1FFAB1E
- xor eax, 0xD1FFAB1E
- mov edi, dword ptr [rdi+0x02]
- or edi, 0xD1FFAB1E
- xor edi, 0xD1FFAB1E
- or edi, eax
- jne G_M13235_IG52
- mov dword ptr [r14], 5
- mov r13d, 3
- jmp G_M13235_IG52
- ;; size=53 bbWeight=0.50 PerfScore 4.75
-G_M13235_IG21:
- cmp ecx, 4
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M13235_IG22:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rdi, 0xD1FFAB1E
- cmp rcx, rdi
- jne G_M13235_IG52
- ;; size=32 bbWeight=0.25 PerfScore 1.19
-G_M13235_IG23:
- mov dword ptr [r14], 6
- ;; size=7 bbWeight=0.50 PerfScore 0.50
-G_M13235_IG24:
- mov r13d, 4
- jmp G_M13235_IG52
- ;; size=11 bbWeight=0.50 PerfScore 1.12
-G_M13235_IG25:
- cmp ecx, 4
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M13235_IG26:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rdi, 0xD1FFAB1E
- cmp rcx, rdi
- jne G_M13235_IG52
- ;; size=32 bbWeight=0.25 PerfScore 1.19
-G_M13235_IG27:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 4
+ jl G_M13235_IG35
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 7
- jmp SHORT G_M13235_IG24
- ;; size=9 bbWeight=0.50 PerfScore 1.50
-G_M13235_IG28:
- cmp ecx, 6
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M13235_IG29:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rax, 0xD1FFAB1E
- xor rax, rcx
- mov edi, dword ptr [rdi+0x08]
- or edi, 0xD1FFAB1E
- xor edi, 0xD1FFAB1E
- or rdi, rax
- jne G_M13235_IG52
- ;; size=50 bbWeight=0.25 PerfScore 1.88
-G_M13235_IG30:
+ jmp SHORT G_M13235_IG16
+ ;; size=53 bbWeight=0.50 PerfScore 4.62
+G_M13235_IG18:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 6
+ jl G_M13235_IG35
+ mov edx, 6
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 8
- mov r13d, 6
- jmp G_M13235_IG52
- ;; size=18 bbWeight=0.50 PerfScore 1.62
-G_M13235_IG31:
- cmp ecx, 9
- jl G_M13235_IG52
- vmovups xmm0, xmmword ptr [rdi]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vmovups xmm1, xmmword ptr [rdi+0x02]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD00]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete cl
- movzx rcx, cl
- test ecx, ecx
- je G_M13235_IG52
+ mov dword ptr [rbp-0x30], 6
+ jmp G_M13235_IG35
+ ;; size=63 bbWeight=0.50 PerfScore 5.12
+G_M13235_IG19:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 9
+ jl G_M13235_IG35
+ mov edx, 9
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 9
- mov r13d, 9
- jmp G_M13235_IG52
- ;; size=91 bbWeight=0.50 PerfScore 13.17
-G_M13235_IG32:
- cmp ecx, 7
- jl G_M13235_IG52
- ;; size=9 bbWeight=0.50 PerfScore 0.62
-G_M13235_IG33:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi]
- mov rax, 0xD1FFAB1E
- xor rax, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rdi+0x06]
- mov rdi, 0xD1FFAB1E
- xor rdi, rcx
- or rdi, rax
- jne G_M13235_IG52
- ;; size=62 bbWeight=0.25 PerfScore 2.19
-G_M13235_IG34:
+ mov dword ptr [rbp-0x30], 9
+ jmp G_M13235_IG35
+ ;; size=63 bbWeight=0.50 PerfScore 5.12
+G_M13235_IG20:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 7
+ jl G_M13235_IG35
+ mov edx, 7
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 10
- jmp G_M13235_IG10
- ;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M13235_IG35:
- cmp ecx, 8
- jl G_M13235_IG52
- vmovups xmm0, xmmword ptr [rdi]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vptest xmm0, xmm0
- sete cl
- movzx rcx, cl
- test ecx, ecx
- je G_M13235_IG52
+ jmp G_M13235_IG08
+ ;; size=56 bbWeight=0.50 PerfScore 4.62
+G_M13235_IG21:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 8
+ jl G_M13235_IG35
+ mov edx, 8
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 11
- jmp G_M13235_IG12
- ;; size=60 bbWeight=0.50 PerfScore 8.88
-G_M13235_IG36:
- cmp ecx, 8
- jl G_M13235_IG52
- vmovups xmm0, xmmword ptr [rdi]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD80]
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- je G_M13235_IG52
+ jmp G_M13235_IG10
+ ;; size=56 bbWeight=0.50 PerfScore 4.62
+G_M13235_IG22:
+ mov rsi, 0xD1FFAB1E
+ cmp eax, 8
+ jl G_M13235_IG35
+ mov edx, 8
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ call [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
+ test eax, eax
+ je G_M13235_IG35
mov dword ptr [r14], 12
- jmp G_M13235_IG12
- ;; size=62 bbWeight=0.50 PerfScore 8.88
-G_M13235_IG37:
- mov rax, gword ptr [r15+0xC0]
- test rax, rax
- jne SHORT G_M13235_IG38
+ jmp G_M13235_IG10
+ ;; size=56 bbWeight=0.50 PerfScore 4.62
+G_M13235_IG23:
mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:internalGetMonthNamesCore():System.String[]:this
- call [rax]System.Globalization.DateTimeFormatInfo:internalGetMonthNamesCore():System.String[]:this
- ;; size=27 bbWeight=0.50 PerfScore 3.38
-G_M13235_IG38:
- cmp dword ptr [rax+0x08], 12
- jbe G_M13235_IG72
- mov rdi, gword ptr [rax+0x70]
- mov r12d, 12
- mov eax, 13
- cmp dword ptr [rdi+0x08], 0
- cmovne r12d, eax
- mov dword ptr [rbp-0x2C], 1
- test r12d, r12d
- jle G_M13235_IG52
- ;; size=49 bbWeight=0.50 PerfScore 6.00
-G_M13235_IG39:
- mov rcx, gword ptr [r15+0xC0]
- test rcx, rcx
- jne SHORT G_M13235_IG41
- ;; size=12 bbWeight=4 PerfScore 13.00
-G_M13235_IG40:
+ mov esi, 13
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:GetMonthName(int):System.String:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.Globalization.DateTimeFormatInfo:GetMonthName(int):System.String:this
+ mov r13d, 12
+ mov edi, 13
+ cmp dword ptr [rax+0x08], 0
+ cmovne r13d, edi
+ mov r12d, 1
+ test r13d, r13d
+ jle G_M13235_IG35
+ ;; size=56 bbWeight=0.50 PerfScore 6.00
+G_M13235_IG24:
mov rdi, r15
- mov rcx, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:internalGetMonthNamesCore():System.String[]:this
- call [rcx]System.Globalization.DateTimeFormatInfo:internalGetMonthNamesCore():System.String[]:this
+ mov esi, r12d
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:GetMonthName(int):System.String:this
+ call [rax]System.Globalization.DateTimeFormatInfo:GetMonthName(int):System.String:this
mov rcx, rax
- ;; size=18 bbWeight=2 PerfScore 7.50
-G_M13235_IG41:
- mov eax, dword ptr [rbp-0x2C]
- lea edx, [rax-0x01]
- mov esi, edx
- mov dword ptr [rbp-0x3C], esi
- mov edi, dword ptr [rcx+0x08]
- cmp edi, esi
- jbe G_M13235_IG73
- mov edi, esi
- mov rcx, gword ptr [rcx+8*rdi+0x10]
- mov gword ptr [rbp-0x68], rcx
- mov edi, dword ptr [rcx+0x08]
- mov dword ptr [rbp-0x38], edi
+ mov gword ptr [rbp-0x48], rcx
+ mov eax, dword ptr [rcx+0x08]
+ mov edx, eax
+ mov dword ptr [rbp-0x3C], edx
+ mov dword ptr [rbp-0x38], edx
cmp dword ptr [r15+0x180], -1
- jne SHORT G_M13235_IG43
- ;; size=49 bbWeight=4 PerfScore 65.00
-G_M13235_IG42:
+ jne SHORT G_M13235_IG26
+ ;; size=46 bbWeight=4 PerfScore 53.00
+G_M13235_IG25:
mov rdi, r15
- mov rdx, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
- call [rdx]System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
- jmp SHORT G_M13235_IG44
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
+ call [rax]System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
+ jmp SHORT G_M13235_IG27
;; size=17 bbWeight=2 PerfScore 11.00
-G_M13235_IG43:
- mov r8d, dword ptr [r15+0x180]
- mov eax, r8d
- ;; size=10 bbWeight=2 PerfScore 4.50
-G_M13235_IG44:
+G_M13235_IG26:
+ mov eax, dword ptr [r15+0x180]
+ ;; size=7 bbWeight=2 PerfScore 4.00
+G_M13235_IG27:
test al, 4
- jne SHORT G_M13235_IG48
+ jne SHORT G_M13235_IG31
;; size=4 bbWeight=4 PerfScore 5.00
-G_M13235_IG45:
+G_M13235_IG28:
mov r8d, dword ptr [rbx+0x08]
- mov rcx, gword ptr [rbp-0x68]
- mov esi, r8d
- add esi, dword ptr [rcx+0x08]
+ mov edx, dword ptr [rbp-0x3C]
+ lea esi, [r8+rdx]
cmp esi, dword ptr [rbx+0x18]
- jg SHORT G_M13235_IG46
+ jg SHORT G_M13235_IG29
mov rdi, gword ptr [rbx]
lea rsi, bword ptr [rbx+0x10]
- mov edx, dword ptr [rcx+0x08]
mov r9d, r8d
mov eax, edx
add r9, rax
mov eax, dword ptr [rsi+0x08]
cmp r9, rax
- ja G_M13235_IG74
+ ja G_M13235_IG47
mov rsi, bword ptr [rsi]
lea rsi, bword ptr [rsi+2*r8]
- lea r8, bword ptr [rcx+0x0C]
- mov ecx, dword ptr [rcx+0x08]
- mov rcx, r8
+ mov rcx, gword ptr [rbp-0x48]
+ add rcx, 12
mov r8d, edx
mov r9d, 1
mov rax, 0xD1FFAB1E ; code for System.Globalization.CompareInfo:Compare(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.CompareInfo:Compare(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int:this
test eax, eax
sete al
movzx rax, al
- jmp SHORT G_M13235_IG47
- ;; size=99 bbWeight=2 PerfScore 68.50
-G_M13235_IG46:
+ jmp SHORT G_M13235_IG30
+ ;; size=91 bbWeight=2 PerfScore 56.00
+G_M13235_IG29:
xor eax, eax
;; size=2 bbWeight=2 PerfScore 0.50
-G_M13235_IG47:
- jmp SHORT G_M13235_IG49
+G_M13235_IG30:
+ jmp SHORT G_M13235_IG32
;; size=2 bbWeight=2 PerfScore 4.00
-G_M13235_IG48:
+G_M13235_IG31:
lea rcx, [rbp-0x38]
mov rdi, rbx
- mov rsi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x48]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
call [rax]System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
;; size=25 bbWeight=2 PerfScore 10.50
-G_M13235_IG49:
+G_M13235_IG32:
test eax, eax
- je SHORT G_M13235_IG51
+ je SHORT G_M13235_IG34
;; size=4 bbWeight=4 PerfScore 5.00
-G_M13235_IG50:
- cmp dword ptr [rbp-0x38], r13d
- jle SHORT G_M13235_IG51
- mov r13d, dword ptr [rbp-0x38]
- mov edi, dword ptr [rbp-0x2C]
- mov dword ptr [r14], edi
- mov dword ptr [rbp-0x2C], edi
- ;; size=19 bbWeight=2 PerfScore 14.00
-G_M13235_IG51:
- mov edi, dword ptr [rbp-0x2C]
- inc edi
- cmp edi, r12d
- mov dword ptr [rbp-0x2C], edi
- jle G_M13235_IG39
- ;; size=17 bbWeight=4 PerfScore 14.00
-G_M13235_IG52:
- mov r12d, dword ptr [r15+0x180]
- cmp r12d, -1
- jne G_M13235_IG67
+G_M13235_IG33:
+ mov edi, dword ptr [rbp-0x38]
+ cmp edi, dword ptr [rbp-0x30]
+ jle SHORT G_M13235_IG34
+ mov edi, dword ptr [rbp-0x38]
+ mov dword ptr [rbp-0x30], edi
+ mov dword ptr [r14], r12d
+ ;; size=17 bbWeight=2 PerfScore 14.00
+G_M13235_IG34:
+ inc r12d
+ cmp r12d, r13d
+ jle G_M13235_IG24
+ ;; size=12 bbWeight=4 PerfScore 6.00
+G_M13235_IG35:
+ mov r13d, dword ptr [r15+0x180]
+ cmp r13d, -1
+ jne G_M13235_IG42
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
call [rax]System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
;; size=32 bbWeight=0.50 PerfScore 3.38
-G_M13235_IG53:
+G_M13235_IG36:
test al, 1
- je G_M13235_IG58
+ je SHORT G_M13235_IG37
mov rdi, r15
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InternalGetGenitiveMonthNames(ubyte):System.String[]:this
call [rax]System.Globalization.DateTimeFormatInfo:InternalGetGenitiveMonthNames(ubyte):System.String[]:this
- mov r12, rax
- mov dword ptr [rbp-0x40], -1
- xor r8d, r8d
- cmp dword ptr [r12+0x08], 0
- jle SHORT G_M13235_IG57
- ;; size=46 bbWeight=0.50 PerfScore 5.25
-G_M13235_IG54:
- mov qword ptr [rbp-0x58], r8
- mov rsi, gword ptr [r12+8*r8+0x10]
- mov ecx, dword ptr [rsi+0x08]
- mov dword ptr [rbp-0x48], ecx
- lea rcx, [rbp-0x48]
+ mov rsi, rax
+ lea rdx, [rbp-0x30]
mov rdi, rbx
- xor edx, edx
- mov r9, 0xD1FFAB1E ; code for System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
- call [r9]System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
- test eax, eax
- je SHORT G_M13235_IG56
- ;; size=41 bbWeight=4 PerfScore 46.00
-G_M13235_IG55:
- cmp dword ptr [rbp-0x48], r13d
- jle SHORT G_M13235_IG56
- mov r13d, dword ptr [rbp-0x48]
- mov rdi, qword ptr [rbp-0x58]
- mov eax, edi
- mov qword ptr [rbp-0x58], rdi
- mov dword ptr [rbp-0x40], eax
- ;; size=23 bbWeight=2 PerfScore 14.50
-G_M13235_IG56:
- mov rdi, qword ptr [rbp-0x58]
- inc edi
- cmp dword ptr [r12+0x08], edi
- mov r8, rdi
- jg SHORT G_M13235_IG54
- ;; size=16 bbWeight=4 PerfScore 22.00
-G_M13235_IG57:
- mov eax, dword ptr [rbp-0x40]
+ mov rax, 0xD1FFAB1E ; code for System.__DTString:MatchLongestWords(System.String[],byref):int:this
+ call [rax]System.__DTString:MatchLongestWords(System.String[],byref):int:this
test eax, eax
- jl SHORT G_M13235_IG58
+ jl SHORT G_M13235_IG37
inc eax
mov dword ptr [r14], eax
- ;; size=12 bbWeight=0.50 PerfScore 1.75
-G_M13235_IG58:
- mov r12d, dword ptr [r15+0x180]
- cmp r12d, -1
- jne G_M13235_IG68
+ ;; size=52 bbWeight=0.50 PerfScore 5.88
+G_M13235_IG37:
+ mov r13d, dword ptr [r15+0x180]
+ cmp r13d, -1
+ jne SHORT G_M13235_IG43
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
call [rax]System.Globalization.DateTimeFormatInfo:InitializeFormatFlags():int:this
- ;; size=32 bbWeight=0.50 PerfScore 3.38
-G_M13235_IG59:
+ ;; size=28 bbWeight=0.50 PerfScore 3.38
+G_M13235_IG38:
test al, 2
- je SHORT G_M13235_IG64
+ je SHORT G_M13235_IG39
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Globalization.DateTimeFormatInfo:InternalGetLeapYearMonthNames():System.String[]:this
call [rax]System.Globalization.DateTimeFormatInfo:InternalGetLeapYearMonthNames():System.String[]:this
- mov r15, rax
- mov r12d, -1
- xor eax, eax
- cmp dword ptr [r15+0x08], 0
- jle SHORT G_M13235_IG63
- ;; size=37 bbWeight=0.50 PerfScore 4.75
-G_M13235_IG60:
- mov qword ptr [rbp-0x60], rax
- mov rsi, gword ptr [r15+8*rax+0x10]
- mov ecx, dword ptr [rsi+0x08]
- mov dword ptr [rbp-0x50], ecx
- lea rcx, [rbp-0x50]
+ mov rsi, rax
+ lea rdx, [rbp-0x30]
mov rdi, rbx
- xor edx, edx
- mov r8, 0xD1FFAB1E ; code for System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
- call [r8]System.__DTString:MatchSpecifiedWords(System.String,ubyte,byref):ubyte:this
+ mov rax, 0xD1FFAB1E ; code for System.__DTString:MatchLongestWords(System.String[],byref):int:this
+ call [rax]System.__DTString:MatchLongestWords(System.String[],byref):int:this
test eax, eax
- je SHORT G_M13235_IG62
- ;; size=41 bbWeight=4 PerfScore 46.00
-G_M13235_IG61:
- cmp dword ptr [rbp-0x50], r13d
- jle SHORT G_M13235_IG62
- mov r13d, dword ptr [rbp-0x50]
- mov r12, qword ptr [rbp-0x60]
- mov eax, r12d
- mov qword ptr [rbp-0x60], r12
- mov r12d, eax
- ;; size=24 bbWeight=2 PerfScore 13.00
-G_M13235_IG62:
- mov rax, qword ptr [rbp-0x60]
+ jl SHORT G_M13235_IG39
inc eax
- cmp dword ptr [r15+0x08], eax
- jg SHORT G_M13235_IG60
- ;; size=12 bbWeight=4 PerfScore 21.00
-G_M13235_IG63:
- test r12d, r12d
- jl SHORT G_M13235_IG64
- inc r12d
- mov dword ptr [r14], r12d
- ;; size=11 bbWeight=0.50 PerfScore 1.25
-G_M13235_IG64:
+ mov dword ptr [r14], eax
+ ;; size=50 bbWeight=0.50 PerfScore 5.75
+G_M13235_IG39:
cmp dword ptr [r14], 0
- jle SHORT G_M13235_IG69
+ jle SHORT G_M13235_IG44
;; size=6 bbWeight=1 PerfScore 4.00
-G_M13235_IG65:
+G_M13235_IG40:
add rbx, 8
- add r13d, dword ptr [rbx]
- dec r13d
- mov dword ptr [rbx], r13d
+ mov eax, dword ptr [rbx]
+ add eax, dword ptr [rbp-0x30]
+ dec eax
+ mov dword ptr [rbx], eax
mov eax, 1
- ;; size=18 bbWeight=0.50 PerfScore 2.38
-G_M13235_IG66:
- add rsp, 72
+ ;; size=18 bbWeight=0.50 PerfScore 2.88
+G_M13235_IG41:
+ add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M13235_IG67:
- mov eax, r12d
- jmp G_M13235_IG53
- ;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M13235_IG68:
- mov eax, r12d
- jmp G_M13235_IG59
+G_M13235_IG42:
+ mov eax, r13d
+ jmp G_M13235_IG36
;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M13235_IG69:
+G_M13235_IG43:
+ mov eax, r13d
+ jmp SHORT G_M13235_IG38
+ ;; size=5 bbWeight=0.50 PerfScore 1.12
+G_M13235_IG44:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M13235_IG70:
- add rsp, 72
+G_M13235_IG45:
+ add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M13235_IG71:
+G_M13235_IG46:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M13235_IG72:
- mov edi, 0x13234
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov rdi, rax
- mov esi, 13
- mov edx, 1
- mov ecx, 13
- mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_Range[int](System.String,int,int,int)
- call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_Range[int](System.String,int,int,int)
- int3
- ;; size=51 bbWeight=0 PerfScore 0.00
-G_M13235_IG73:
- mov edi, 0x13234
- mov rsi, 0xD1FFAB1E
- call CORINFO_HELP_STRCNS
- mov rdi, rax
- mov ebx, dword ptr [rbp-0x3C]
- lea esi, [rbx+0x01]
- mov edx, 1
- mov ecx, 13
- mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_Range[int](System.String,int,int,int)
- call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_Range[int](System.String,int,int,int)
- int3
- ;; size=52 bbWeight=0 PerfScore 0.00
-G_M13235_IG74:
+G_M13235_IG47:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 0072006200650066h, 0079007200610075h
-RWD32 dq 0074007000650073h, 00650062006D0065h
-RWD48 dq 0065007400700065h, 007200650062006Dh
-RWD64 dq 00650076006F006Eh, 007200650062006Dh
-RWD80 dq 0065006300650064h, 007200650062006Dh
-
-; Total bytes of code 2061, prolog size 28, PerfScore 548.42, instruction count 475, allocated bytes for code 2061 (MethodHash=f316cc4c) for method System.DateTimeParse:MatchMonthName(byref,System.Globalization.DateTimeFormatInfo,byref):ubyte (FullOpts)
+; Total bytes of code 1608, prolog size 19, PerfScore 315.12, instruction count 362, allocated bytes for code 1608 (MethodHash=f316cc4c) for method System.DateTimeParse:MatchMonthName(byref,System.Globalization.DateTimeFormatInfo,byref):ubyte (FullOpts)
-273 (-14.64 % of base) - System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this
; Assembly listing for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):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; 11 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 17 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 3, 2.50) ref -> r13 this class-hnd single-def <System.Data.XmlTreeGen>
+; V00 this [V00,T08] ( 3, 2.50) ref -> r13 this class-hnd single-def <System.Data.XmlTreeGen>
; V01 arg1 [V01,T00] ( 23, 13.50) ref -> rbx class-hnd single-def <System.ComponentModel.PropertyDescriptor>
; V02 arg2 [V02,T02] ( 8, 5.50) ref -> r15 class-hnd single-def <System.Object>
; V03 arg3 [V03,T03] ( 7, 4.50) ref -> r14 class-hnd single-def <System.Xml.XmlElement>
-; V04 loc0 [V04,T04] ( 8, 4.50) ref -> [rbp-0x48] class-hnd spill-single-def <System.Type>
-; V05 loc1 [V05,T44] ( 3, 2 ) ubyte -> [rbp-0x2C]
-; V06 loc2 [V06,T09] ( 6, 3.50) ref -> [rbp-0x50] class-hnd <System.Data.DataColumn>
-; V07 loc3 [V07,T29] ( 4, 2.50) ubyte -> [rbp-0x30]
-; V08 loc4 [V08,T25] ( 4, 3 ) ubyte -> [rbp-0x34]
-; V09 loc5 [V09,T42] ( 4, 2 ) ref -> r15 class-hnd single-def <System.Object>
-; V10 loc6 [V10,T55] ( 2, 1 ) ref -> r12 class-hnd exact single-def <System.String>
-; V11 loc7 [V11,T49] ( 3, 1.50) ref -> rax class-hnd exact single-def <System.String>
+; V04 loc0 [V04,T05] ( 8, 4.50) ref -> [rbp-0x48] class-hnd spill-single-def <System.Type>
+; V05 loc1 [V05,T20] ( 3, 2 ) ubyte -> [rbp-0x2C]
+; V06 loc2 [V06,T06] ( 8, 4.50) ref -> [rbp-0x50] class-hnd <System.Data.DataColumn>
+; V07 loc3 [V07,T13] ( 4, 2.50) ubyte -> [rbp-0x30]
+; V08 loc4 [V08,T11] ( 4, 3 ) ubyte -> [rbp-0x34]
+; V09 loc5 [V09,T14] ( 4, 2 ) ref -> r15 class-hnd single-def <System.Object>
+; V10 loc6 [V10,T40] ( 2, 1 ) ref -> r12 class-hnd exact single-def <System.String>
+; V11 loc7 [V11,T15] ( 4, 2 ) ref -> rdi class-hnd exact single-def <System.String>
;# V12 OutArgs [V12 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V13 tmp1 [V13,T11] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V14 tmp2 [V14,T30] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V15 tmp3 [V15,T12] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V16 tmp4 [V16,T31] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V17 tmp5 [V17,T13] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V18 tmp6 [V18,T32] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V19 tmp7 [V19,T14] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V20 tmp8 [V20,T33] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V21 tmp9 [V21,T15] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V22 tmp10 [V22,T34] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V23 tmp11 [V23,T16] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V24 tmp12 [V24,T35] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V25 tmp13 [V25,T17] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V26 tmp14 [V26,T36] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V27 tmp15 [V27,T18] ( 5, 3 ) ref -> rax single-def "spilling varStr"
-;* V28 tmp16 [V28,T51] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V29 tmp17 [V29,T19] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V30 tmp18 [V30,T37] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V31 tmp19 [V31,T20] ( 5, 3 ) ref -> rax single-def "spilling varStr"
-;* V32 tmp20 [V32,T52] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V33 tmp21 [V33,T21] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V34 tmp22 [V34,T38] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V35 tmp23 [V35,T22] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V36 tmp24 [V36,T39] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V37 tmp25 [V37,T27] ( 4, 3.50) ref -> rax single-def "spilling varStr"
-; V38 tmp26 [V38,T40] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V39 tmp27 [V39,T23] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V40 tmp28 [V40,T41] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V41 tmp29 [V41,T50] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V42 tmp30 [V42,T07] ( 4, 4 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.ComponentModel.DesignerSerializationVisibilityAttribute>
-; V43 tmp31 [V43,T08] ( 4, 4 ) ref -> [rbp-0x60] class-hnd spill-single-def "Inlining Arg" <System.ComponentModel.AttributeCollection>
-; V44 tmp32 [V44,T43] ( 4, 2 ) ref -> rax class-hnd single-def "Inline stloc first use temp" <System.Attribute>
-; V45 tmp33 [V45,T28] ( 4, 2.50) ref -> rax single-def "spilling varStr"
-; V46 tmp34 [V46,T54] ( 2, 0.50) int -> rdi "spilling unroll qmark"
-;* V47 tmp35 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V48 tmp36 [V48,T24] ( 5, 3 ) ref -> rdi single-def "spilling varStr"
-;* V49 tmp37 [V49,T53] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V50 tmp38 [V50,T45] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V51 tmp39 [V51,T46] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V52 tmp40 [V52,T47] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V53 tmp41 [V53,T26] ( 3, 3 ) ref -> rdx single-def "argument with side effect"
-; V54 tmp42 [V54,T48] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
-; V55 cse0 [V55,T01] ( 16, 8 ) long -> [rbp-0x40] spill-single-def "CSE #02: aggressive"
-; V56 cse1 [V56,T10] ( 6, 3 ) ref -> rdx multi-def "CSE #03: conservative"
-; V57 cse2 [V57,T05] ( 7, 4.50) long -> r12 "CSE #01: moderate"
-; V58 rat0 [V58,T56] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V59 rat1 [V59,T57] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V60 rat2 [V60,T58] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V61 rat3 [V61,T59] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V62 rat4 [V62,T60] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V63 rat5 [V63,T61] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V64 rat6 [V64,T62] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V65 rat7 [V65,T63] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V66 rat8 [V66,T64] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V67 rat9 [V67,T65] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V68 rat10 [V68,T66] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V69 rat11 [V69,T67] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V13 tmp1 [V13,T39] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V14 tmp2 [V14,T09] ( 4, 4 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.ComponentModel.DesignerSerializationVisibilityAttribute>
+; V15 tmp3 [V15,T10] ( 4, 4 ) ref -> [rbp-0x60] class-hnd spill-single-def "Inlining Arg" <System.ComponentModel.AttributeCollection>
+; V16 tmp4 [V16,T16] ( 4, 2 ) ref -> rax class-hnd single-def "Inline stloc first use temp" <System.Attribute>
+; V17 tmp5 [V17,T17] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V18 tmp6 [V18 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V19 tmp7 [V19,T04] ( 6, 6 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
+; V20 tmp8 [V20,T18] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V21 tmp9 [V21 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V22 tmp10 [V22,T21] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V23 tmp11 [V23,T22] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V24 tmp12 [V24,T23] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V25 tmp13 [V25,T24] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V26 tmp14 [V26,T25] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V27 tmp15 [V27,T26] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V28 tmp16 [V28,T27] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V29 tmp17 [V29,T28] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V30 tmp18 [V30,T29] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V31 tmp19 [V31,T30] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V32 tmp20 [V32,T31] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V33 tmp21 [V33,T32] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V34 tmp22 [V34,T33] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V35 tmp23 [V35,T34] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V36 tmp24 [V36,T35] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V37 tmp25 [V37,T36] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V38 tmp26 [V38,T37] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V39 tmp27 [V39,T12] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V40 tmp28 [V40,T38] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
+; V41 cse0 [V41,T01] ( 16, 8 ) long -> [rbp-0x40] spill-single-def "CSE #02: aggressive"
+; V42 cse1 [V42,T07] ( 7, 4.50) long -> r12 "CSE #01: moderate"
+; V43 cse2 [V43,T19] ( 4, 2 ) int -> rdx "CSE #05: conservative"
;
; Lcl frame size = 56
G_M63482_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
lea rbp, [rsp+0x60]
mov r13, rdi
mov rbx, rsi
mov r15, rdx
mov r14, rcx
;; size=31 bbWeight=1 PerfScore 7.75
G_M63482_IG02:
mov rdi, rbx
mov r12, qword ptr [rbx]
mov rax, qword ptr [r12+0x50]
call [rax+0x30]System.ComponentModel.PropertyDescriptor:get_PropertyType():System.Type:this
mov gword ptr [rbp-0x48], rax
xor ecx, ecx
mov dword ptr [rbp-0x2C], ecx
xor rdx, rdx
mov gword ptr [rbp-0x50], rdx
xor r8d, r8d
mov dword ptr [rbp-0x30], r8d
xor r9d, r9d
mov dword ptr [rbp-0x34], r9d
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.DataColumn
mov r10, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [r10]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M63482_IG04
;; size=74 bbWeight=1 PerfScore 18.25
G_M63482_IG03:
mov gword ptr [rbp-0x50], r15
mov dword ptr [rbp-0x2C], 1
movzx r8, byte ptr [r15+0xC3]
mov dword ptr [rbp-0x30], r8d
movzx r9, byte ptr [r15+0xC4]
mov r8d, r9d
mov dword ptr [rbp-0x34], r8d
;; size=38 bbWeight=0.50 PerfScore 4.12
G_M63482_IG04:
cmp dword ptr [rbp-0x34], 0
jne SHORT G_M63482_IG06
;; size=6 bbWeight=1 PerfScore 3.00
G_M63482_IG05:
mov rdi, 0xD1FFAB1E ; 'System.String'
mov rsi, gword ptr [rbp-0x48]
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Boolean'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Type'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Object'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Globalization.CultureInfo'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Int64'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Int32'
cmp rsi, rdi
- jne G_M63482_IG61
+ jne G_M63482_IG21
;; size=113 bbWeight=0.50 PerfScore 5.75
G_M63482_IG06:
mov rdi, rbx
mov rsi, r15
mov r9, qword ptr [r12+0x60]
call [r9]System.ComponentModel.PropertyDescriptor:ShouldSerializeValue(System.Object):ubyte:this
test eax, eax
je SHORT G_M63482_IG08
mov rdi, rbx
mov rax, qword ptr [r12+0x40]
call [rax+0x30]System.ComponentModel.MemberDescriptor:get_Attributes():System.ComponentModel.AttributeCollection:this
mov gword ptr [rbp-0x60], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M63482_IG65
+ je G_M63482_IG23
;; size=52 bbWeight=0.50 PerfScore 8.62
G_M63482_IG07:
mov rdi, 0xD1FFAB1E ; data for System.ComponentModel.DesignerSerializationVisibilityAttribute:Visible
mov rcx, gword ptr [rdi]
mov gword ptr [rbp-0x58], rcx
cmp byte ptr [rax], al
test rcx, rcx
je SHORT G_M63482_IG08
mov rdi, rcx
call System.Object:GetType():System.Type:this
mov rsi, rax
mov rdi, gword ptr [rbp-0x60]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.ComponentModel.AttributeCollection:get_Item(System.Type):System.Attribute:this
test rax, rax
je SHORT G_M63482_IG08
mov rdi, rax
mov rsi, gword ptr [rbp-0x58]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x10]System.Object:Equals(System.Object):ubyte:this
test eax, eax
jne SHORT G_M63482_IG09
;; size=75 bbWeight=0.50 PerfScore 13.88
G_M63482_IG08:
cmp dword ptr [rbp-0x30], 0
- je G_M63482_IG61
+ je G_M63482_IG21
;; size=10 bbWeight=0.50 PerfScore 1.50
G_M63482_IG09:
mov rdi, rbx
mov rsi, r15
mov rcx, qword ptr [r12+0x58]
call [rcx+0x18]System.ComponentModel.PropertyDescriptor:GetValue(System.Object):System.Object:this
mov r15, rax
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.InternalDataCollectionBase
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M63482_IG61
+ jne G_M63482_IG21
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M63482_IG61
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [r12+0x48]
mov qword ptr [rbp-0x40], rax
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG12
- ;; size=105 bbWeight=0.50 PerfScore 11.62
-G_M63482_IG10:
- cmp dword ptr [rax+0x08], 9
- jne SHORT G_M63482_IG12
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG11:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG12:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Namespace'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG15
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG13:
- cmp dword ptr [rax+0x08], 10
- jne SHORT G_M63482_IG15
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG14:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vmovups xmm1, xmmword ptr [rax+0x10]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG15:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'PrimaryKey'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG18
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG16:
- cmp dword ptr [rax+0x08], 10
- jne SHORT G_M63482_IG18
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG17:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vmovups xmm1, xmmword ptr [rax+0x10]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD80]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG18:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'ColumnName'
+ ;; size=209 bbWeight=0.50 PerfScore 20.75
+G_M63482_IG10:
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG21
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG19:
- cmp dword ptr [rax+0x08], 12
- jne SHORT G_M63482_IG21
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG20:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vmovups xmm1, xmmword ptr [rax+0x14]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD112]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG21:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DefaultValue'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG24
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG22:
- cmp dword ptr [rax+0x08], 9
- jne SHORT G_M63482_IG24
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG23:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD128]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD144]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG24:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'TableName'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG27
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG25:
- cmp dword ptr [rax+0x08], 11
- jne SHORT G_M63482_IG27
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG26:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD160]
- vmovups xmm1, xmmword ptr [rax+0x12]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD176]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG27:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DataSetName'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG30
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG28:
- cmp dword ptr [rax+0x08], 11
- jne SHORT G_M63482_IG30
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG29:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD192]
- vmovups xmm1, xmmword ptr [rax+0x12]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD208]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG30:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'AllowDBNull'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=207 bbWeight=0.50 PerfScore 19.25
+G_M63482_IG11:
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG33
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG31:
- cmp dword ptr [rax+0x08], 6
- jne SHORT G_M63482_IG33
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG32:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov eax, dword ptr [rax+0x14]
- xor eax, 0xD1FFAB1E
- or rdi, rax
- je G_M63482_IG61
- ;; size=31 bbWeight=0.12 PerfScore 0.84
-G_M63482_IG33:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Unique'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG36
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG34:
- cmp dword ptr [rax+0x08], 15
- jne SHORT G_M63482_IG36
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG35:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD224]
- vmovups xmm1, xmmword ptr [rax+0x1A]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD240]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG36:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'NestedInDataSet'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG39
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG37:
- cmp dword ptr [rax+0x08], 6
- jne SHORT G_M63482_IG39
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG38:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov eax, dword ptr [rax+0x14]
- xor eax, 0xD1FFAB1E
- or rdi, rax
- je G_M63482_IG61
- ;; size=31 bbWeight=0.12 PerfScore 0.84
-G_M63482_IG39:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Locale'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG42
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG40:
- cmp dword ptr [rax+0x08], 13
- jne SHORT G_M63482_IG42
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG41:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD256]
- vmovups xmm1, xmmword ptr [rax+0x16]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD272]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG42:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'CaseSensitive'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=194 bbWeight=0.50 PerfScore 20.50
+G_M63482_IG12:
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG45
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG43:
- cmp dword ptr [rax+0x08], 14
- jne SHORT G_M63482_IG45
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG44:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD288]
- vmovups xmm1, xmmword ptr [rax+0x18]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD304]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG45:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'RemotingFormat'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
cmp dword ptr [rbp-0x2C], 0
- je G_M63482_IG60
+ je G_M63482_IG20
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je G_M63482_IG57
- ;; size=29 bbWeight=0.50 PerfScore 4.25
-G_M63482_IG46:
- cmp dword ptr [rax+0x08], 8
- jne G_M63482_IG57
- ;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG47:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD320]
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- je G_M63482_IG57
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DataType'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M63482_IG19
mov r15, gword ptr [rbp-0x50]
mov rdi, gword ptr [r15+0x28]
mov rax, 0xD1FFAB1E ; code for System.Data.XmlTreeGen:XmlDataTypeName(System.Type):System.String
call [rax]System.Data.XmlTreeGen:XmlDataTypeName(System.Type):System.String
+ mov rdi, rax
cmp dword ptr [rbp-0x30], 0
- jne SHORT G_M63482_IG48
- mov rdx, gword ptr [r15+0x28]
- mov rdi, 0xD1FFAB1E ; 'System.Numerics.BigInteger'
- cmp rdx, rdi
- jne SHORT G_M63482_IG49
- ;; size=79 bbWeight=0.50 PerfScore 12.12
-G_M63482_IG48:
- mov rdx, gword ptr [r15+0x28]
- mov rdi, rdx
- mov rax, qword ptr [rdx]
+ jne SHORT G_M63482_IG13
+ mov rax, 0xD1FFAB1E ; 'System.Numerics.BigInteger'
+ cmp gword ptr [r15+0x28], rax
+ jne SHORT G_M63482_IG14
+ ;; size=159 bbWeight=0.50 PerfScore 18.50
+G_M63482_IG13:
+ mov rdi, gword ptr [r15+0x28]
+ mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x20]System.Type:get_FullName():System.String:this
mov rcx, rax
mov rdi, r14
mov rsi, 0xD1FFAB1E ; 'DataType'
mov rdx, 0xD1FFAB1E ; 'urn:schemas-microsoft-com:xml-msdata'
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Xml.XmlElement:SetAttribute(System.String,System.String,System.String):System.String:this
- jmp G_M63482_IG61
- ;; size=61 bbWeight=0.50 PerfScore 9.62
-G_M63482_IG49:
- cmp dword ptr [rax+0x08], 0
- sete dil
- movzx rdi, dil
- or edi, dword ptr [rbp-0x34]
- jne SHORT G_M63482_IG55
- cmp dword ptr [rax+0x08], 7
- jne SHORT G_M63482_IG54
- ;; size=23 bbWeight=0.50 PerfScore 5.62
-G_M63482_IG50:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
+ jmp G_M63482_IG21
+ ;; size=58 bbWeight=0.50 PerfScore 9.50
+G_M63482_IG14:
+ mov edx, dword ptr [rdi+0x08]
+ test edx, edx
+ sete sil
+ movzx rsi, sil
+ or esi, dword ptr [rbp-0x34]
+ jne G_M63482_IG17
+ mov rsi, 0xD1FFAB1E ; 'anyType'
+ cmp rdi, rsi
+ je SHORT G_M63482_IG15
+ cmp edx, 7
+ jne SHORT G_M63482_IG16
+ add edx, edx
mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rax+0x12]
- or rdi, rsi
- sete dil
- movzx rdi, dil
- test dil, dil
- je SHORT G_M63482_IG54
- ;; size=44 bbWeight=0.12 PerfScore 1.16
-G_M63482_IG51:
+ add rdi, 12
+ 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_M63482_IG16
+ ;; size=74 bbWeight=0.50 PerfScore 7.25
+G_M63482_IG15:
mov rdi, gword ptr [r15+0x90]
+ mov rdx, 0xD1FFAB1E ; 'anyType'
+ cmp rdi, rdx
+ je SHORT G_M63482_IG16
test rdi, rdi
- je SHORT G_M63482_IG55
- ;; size=12 bbWeight=0.50 PerfScore 1.62
-G_M63482_IG52:
+ je SHORT G_M63482_IG17
cmp dword ptr [rdi+0x08], 7
- jne SHORT G_M63482_IG55
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG53:
+ jne SHORT G_M63482_IG17
+ mov edx, dword ptr [rdi+0x08]
+ add edx, edx
mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rdi+0x0C]
- mov rax, 0xD1FFAB1E
- xor rax, qword ptr [rdi+0x12]
- or rsi, rax
- jne SHORT G_M63482_IG55
- ;; size=33 bbWeight=0.12 PerfScore 0.97
-G_M63482_IG54:
- mov rdi, 0xD1FFAB1E ; 'System.DateTimeOffset'
- cmp rdx, rdi
- jne G_M63482_IG61
- ;; size=19 bbWeight=0.50 PerfScore 0.75
-G_M63482_IG55:
+ add rdi, 12
+ 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_M63482_IG17
+ ;; size=68 bbWeight=0.50 PerfScore 8.00
+G_M63482_IG16:
+ mov rdx, 0xD1FFAB1E ; 'System.DateTimeOffset'
+ cmp gword ptr [r15+0x28], rdx
+ jne G_M63482_IG21
+ ;; size=20 bbWeight=0.50 PerfScore 2.12
+G_M63482_IG17:
+ mov rdx, gword ptr [r15+0x28]
mov rdi, r13
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.XmlTreeGen:SetMSDataAttribute(System.Xml.XmlElement,System.Type):this
- ;; size=16 bbWeight=0.50 PerfScore 0.38
-G_M63482_IG56:
+ ;; size=20 bbWeight=0.50 PerfScore 1.38
+G_M63482_IG18:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
tail.jmp [rax]System.Data.XmlTreeGen:SetMSDataAttribute(System.Xml.XmlElement,System.Type):this
;; size=17 bbWeight=0.50 PerfScore 2.62
-G_M63482_IG57:
+G_M63482_IG19:
mov rdi, rbx
mov r13, qword ptr [rbp-0x40]
call [r13+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je G_M63482_IG64
- ;; size=20 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG58:
- cmp dword ptr [rax+0x08], 9
- jne G_M63482_IG63
- ;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG59:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD336]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD352]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne SHORT G_M63482_IG61
- ;; size=47 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG60:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Attribute'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M63482_IG21
+ ;; size=45 bbWeight=0.50 PerfScore 4.75
+G_M63482_IG20:
mov rdi, rbx
mov rax, qword ptr [r12+0x50]
call [rax+0x10]System.ComponentModel.PropertyDescriptor:get_Converter():System.ComponentModel.TypeConverter:this
mov rdi, rax
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.ComponentModel.TypeConverter:ConvertToString(System.Object):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.ComponentModel.TypeConverter:ConvertToString(System.Object):System.String:this
mov r12, rax
mov rdi, rbx
mov r13, qword ptr [rbp-0x40]
call [r13+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
mov rsi, rax
mov rdi, r14
mov rcx, r12
mov rdx, 0xD1FFAB1E ; 'urn:schemas-microsoft-com:xml-msdata'
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Xml.XmlElement:SetAttribute(System.String,System.String,System.String):System.String:this
;; size=77 bbWeight=0.50 PerfScore 12.25
-G_M63482_IG61:
+G_M63482_IG21:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M63482_IG62:
+G_M63482_IG22:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M63482_IG63:
- jmp SHORT G_M63482_IG60
- ;; size=2 bbWeight=0.12 PerfScore 0.25
-G_M63482_IG64:
- jmp SHORT G_M63482_IG60
- ;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M63482_IG65:
+G_M63482_IG23:
mov rdi, 0xD1FFAB1E
mov esi, 12
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rax, gword ptr [rbp-0x60]
jmp G_M63482_IG07
;; size=29 bbWeight=0 PerfScore 0.00
-RWD00 dq 0065006D0061004Eh, 0063006100700073h
-RWD16 dq 00730065006D0061h, 0065006300610070h
-RWD32 dq 006D006900720050h, 004B007900720061h
-RWD48 dq 00720061006D0069h, 00790065004B0079h
-RWD64 dq 0075006C006F0043h, 0061004E006E006Dh
-RWD80 dq 006E006D0075006Ch, 0065006D0061004Eh
-RWD96 dq 0061006600650044h, 00560074006C0075h
-RWD112 dq 00560074006C0075h, 00650075006C0061h
-RWD128 dq 006C006200610054h, 006D0061004E0065h
-RWD144 dq 0065006C00620061h, 0065006D0061004Eh
-RWD160 dq 0061007400610044h, 004E007400650053h
-RWD176 dq 0074006500530061h, 0065006D0061004Eh
-RWD192 dq 006F006C006C0041h, 004E004200440077h
-RWD208 dq 004200440077006Fh, 006C006C0075004Eh
-RWD224 dq 007400730065004Eh, 006E004900640065h
-RWD240 dq 007400610044006Eh, 0074006500530061h
-RWD256 dq 0065007300610043h, 0073006E00650053h
-RWD272 dq 00690073006E0065h, 0065007600690074h
-RWD288 dq 006F006D00650052h, 0067006E00690074h
-RWD304 dq 006F00460067006Eh, 00740061006D0072h
-RWD320 dq 0061007400610044h, 0065007000790054h
-RWD336 dq 0072007400740041h, 0074007500620069h
-RWD352 dq 0069007200740074h, 0065007400750062h
-
-; Total bytes of code 1865, prolog size 19, PerfScore 276.65, instruction count 445, allocated bytes for code 1865 (MethodHash=71d40805) for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this (FullOpts)
+; Total bytes of code 1592, prolog size 19, PerfScore 192.00, instruction count 363, allocated bytes for code 1592 (MethodHash=71d40805) for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this (FullOpts)
-228 (-15.89 % of base) - System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this
; Assembly listing for method System.Reflection.AssemblyNameParser:TryParse(byref):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; 9 single block inlinees; 9 inlinees without PGO data
+; 0 inlinees with PGO data; 12 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T04] ( 8, 11.50) byref -> rbx this single-def
-; V01 arg1 [V01,T22] ( 7, 4.50) byref -> r15 single-def
+; V00 this [V00,T03] ( 8, 11.50) byref -> rbx this single-def
+; V01 arg1 [V01,T14] ( 7, 4.50) byref -> r15 single-def
; V02 loc0 [V02 ] ( 3, 2 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V03 loc1 [V03 ] ( 12, 22 ) int -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V04 loc2 [V04 ] ( 3, 3 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Version>
-; V05 loc3 [V05,T23] ( 4, 5 ) ref -> r14 ld-addr-op class-hnd <System.String>
+; V05 loc3 [V05,T16] ( 4, 5 ) ref -> r14 ld-addr-op class-hnd <System.String>
; V06 loc4 [V06 ] ( 4, 5 ) ref -> [rbp-0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <ubyte[]>
; V07 loc5 [V07,T02] ( 10, 17 ) int -> r13
; V08 loc6 [V08,T00] ( 22, 42.50) int -> r12 ld-addr-op
; V09 loc7 [V09 ] ( 3, 4.50) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V10 loc8 [V10 ] ( 9, 18 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V11 loc9 [V11 ] ( 9, 18 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V12 loc10 [V12 ] ( 2, 4 ) int -> [rbp-0x68] do-not-enreg[X] addr-exposed ld-addr-op
;# V13 OutArgs [V13 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V14 tmp1 [V14,T05] ( 4, 16 ) ref -> rdx "spilling varStr"
-; V15 tmp2 [V15,T16] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-; V16 tmp3 [V16,T06] ( 4, 12 ) ref -> rax "spilling varStr"
-;* V17 tmp4 [V17,T31] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V18 tmp5 [V18,T08] ( 3, 10 ) ref -> rdx "spilling varStr"
-;* V19 tmp6 [V19,T32] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V20 tmp7 [V20 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Reflection.AssemblyNameParser+AssemblyNameParts>
-;* V21 tmp8 [V21,T41] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V22 tmp9 [V22,T37] ( 3, 3 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
-; V23 tmp10 [V23,T09] ( 3, 10 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V24 tmp11 [V24 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V25 tmp12 [V25,T33] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V26 tmp13 [V26,T07] ( 4, 12 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V27 tmp14 [V27 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V28 tmp15 [V28,T34] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V29 tmp16 [V29,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V30 tmp17 [V30,T10] ( 3, 8 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V31 tmp18 [V31 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V32 tmp19 [V32,T35] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V33 tmp20 [V33,T25] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V34 tmp21 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V35 tmp22 [V35,T03] ( 5, 16 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
-;* V36 tmp23 [V36 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V37 tmp24 [V37,T36] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V38 tmp25 [V38,T11] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V39 tmp26 [V39 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V40 tmp27 [V40,T17] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V41 tmp28 [V41,T26] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V42 tmp29 [V42,T12] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V43 tmp30 [V43 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V44 tmp31 [V44,T18] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V45 tmp32 [V45,T27] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V46 tmp33 [V46,T13] ( 3, 12 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V47 tmp34 [V47 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V48 tmp35 [V48,T19] ( 2, 8 ) int -> rsi "spilling unroll qmark"
-;* V49 tmp36 [V49,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V50 tmp37 [V50,T14] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V51 tmp38 [V51 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V52 tmp39 [V52,T20] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V53 tmp40 [V53,T29] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V54 tmp41 [V54,T15] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V55 tmp42 [V55 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V56 tmp43 [V56,T21] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V57 tmp44 [V57,T30] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V58 tmp45 [V58,T38] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
-; V59 tmp46 [V59,T39] ( 2, 2 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V60 tmp47 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
-; V61 tmp48 [V61,T40] ( 2, 2 ) ref -> r12 class-hnd single-def "Inlining Arg" <ubyte[]>
-;* V62 tmp49 [V62 ] ( 0, 0 ) ref -> zero-ref "V20.[000..008)"
-;* V63 tmp50 [V63 ] ( 0, 0 ) ref -> zero-ref "V20.[008..016)"
-;* V64 tmp51 [V64 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-;* V65 tmp52 [V65 ] ( 0, 0 ) ref -> zero-ref "V20.[024..032)"
-;* V66 tmp53 [V66 ] ( 0, 0 ) int -> zero-ref "V20.[032..036)"
-; V67 cse0 [V67,T01] ( 10, 18 ) int -> rax multi-def "CSE #01: aggressive"
-; V68 cse1 [V68,T42] ( 14, 28 ) simd16 -> mm0 multi-def "CSE #06: moderate"
-; V69 rat0 [V69,T43] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V70 rat1 [V70,T44] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V71 rat2 [V71,T45] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V72 rat3 [V72,T46] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V73 rat4 [V73,T47] ( 3, 12 ) simd16 -> mm1 "ReplaceWithLclVar is creating a new local variable"
-; V74 rat5 [V74,T48] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V14 tmp1 [V14 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Reflection.AssemblyNameParser+AssemblyNameParts>
+;* V15 tmp2 [V15,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V16 tmp3 [V16,T24] ( 3, 3 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
+; V17 tmp4 [V17,T01] ( 5, 20 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+; V18 tmp5 [V18,T06] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V19 tmp6 [V19 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V20 tmp7 [V20,T07] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V21 tmp8 [V21,T17] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V22 tmp9 [V22,T08] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V23 tmp10 [V23,T18] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V24 tmp11 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V25 tmp12 [V25,T04] ( 3, 12 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
+; V26 tmp13 [V26,T09] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V27 tmp14 [V27,T19] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V28 tmp15 [V28,T10] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V29 tmp16 [V29,T20] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V30 tmp17 [V30,T11] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V31 tmp18 [V31,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V32 tmp19 [V32,T12] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V33 tmp20 [V33,T22] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V34 tmp21 [V34,T13] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V35 tmp22 [V35,T23] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V36 tmp23 [V36,T25] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V37 tmp24 [V37,T26] ( 2, 2 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V38 tmp25 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
+; V39 tmp26 [V39,T27] ( 2, 2 ) ref -> r12 class-hnd single-def "Inlining Arg" <ubyte[]>
+;* V40 tmp27 [V40 ] ( 0, 0 ) ref -> zero-ref "V14.[000..008)"
+;* V41 tmp28 [V41 ] ( 0, 0 ) ref -> zero-ref "V14.[008..016)"
+;* V42 tmp29 [V42 ] ( 0, 0 ) ref -> zero-ref "V14.[016..024)"
+;* V43 tmp30 [V43 ] ( 0, 0 ) ref -> zero-ref "V14.[024..032)"
+;* V44 tmp31 [V44 ] ( 0, 0 ) int -> zero-ref "V14.[032..036)"
+; V45 cse0 [V45,T05] ( 4, 8 ) ref -> [rbp-0x70] spill-single-def "CSE #02: moderate"
+; V46 cse1 [V46,T15] ( 3, 6 ) int -> rdx "CSE #01: moderate"
;
; Lcl frame size = 72
G_M19556_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 72
lea rbp, [rsp+0x70]
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
vmovdqa xmmword ptr [rbp-0x40], xmm8
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov rbx, rdi
mov r15, rsi
;; size=46 bbWeight=1 PerfScore 12.83
G_M19556_IG02:
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x30]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
;; size=31 bbWeight=1 PerfScore 5.75
G_M19556_IG03:
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
+ jne G_M19556_IG25
mov rdx, gword ptr [rbp-0x30]
test rdx, rdx
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rdx+0x08], 0
- je G_M19556_IG32
+ je G_M19556_IG25
xor rdx, rdx
mov gword ptr [rbp-0x40], rdx
;; size=39 bbWeight=0.50 PerfScore 5.25
G_M19556_IG04:
xor r14, r14
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M19556_IG05:
mov gword ptr [rbp-0x48], rdx
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M19556_IG06:
xor r13d, r13d
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M19556_IG07:
xor r12d, r12d
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- jne G_M19556_IG29
- jmp G_M19556_IG32
+ jne G_M19556_IG22
+ jmp G_M19556_IG25
;; size=39 bbWeight=0.50 PerfScore 4.00
G_M19556_IG08:
cmp dword ptr [rbp-0x38], 2
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x58]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 1
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x60]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
- mov rsi, gword ptr [rbp-0x58]
- test rsi, rsi
- je SHORT G_M19556_IG10
- ;; size=142 bbWeight=2 PerfScore 63.00
+ jne G_M19556_IG25
+ mov rdi, gword ptr [rbp-0x58]
+ mov rax, 0xD1FFAB1E ; ''
+ mov gword ptr [rbp-0x70], rax
+ cmp rdi, rax
+ je G_M19556_IG25
+ test rdi, rdi
+ je SHORT G_M19556_IG12
+ mov edx, dword ptr [rdi+0x08]
+ test edx, edx
+ jne SHORT G_M19556_IG11
+ add rdi, 12
+ add edx, edx
+ lea rsi, bword ptr [rax+0x0C]
+ ;; size=182 bbWeight=2 PerfScore 76.50
G_M19556_IG09:
- mov eax, dword ptr [rsi+0x08]
+ mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- je G_M19556_IG32
- ;; size=11 bbWeight=1 PerfScore 3.25
+ jne G_M19556_IG25
+ ;; size=20 bbWeight=2 PerfScore 9.00
G_M19556_IG10:
- mov rsi, gword ptr [rbp-0x58]
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 7
- jne SHORT G_M19556_IG13
- ;; size=12 bbWeight=2 PerfScore 8.50
-G_M19556_IG11:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [rsi+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rdi, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rsi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rsi, rcx
- or rsi, rdi
- jne SHORT G_M19556_IG13
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG12:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Version'
+ mov edx, 5
+ mov rcx, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rcx]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG13
test r12b, 1
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 1
lea rsi, [rbp-0x40]
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParseVersion(System.String,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParseVersion(System.String,byref):ubyte
test eax, eax
- jne G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=47 bbWeight=2 PerfScore 19.00
+ jne G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=84 bbWeight=2 PerfScore 37.00
+G_M19556_IG11:
+ jmp SHORT G_M19556_IG10
+ ;; size=2 bbWeight=1 PerfScore 2.00
+G_M19556_IG12:
+ jmp SHORT G_M19556_IG10
+ ;; size=2 bbWeight=1 PerfScore 2.00
G_M19556_IG13:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 7
- jne G_M19556_IG19
- ;; size=13 bbWeight=2 PerfScore 4.50
-G_M19556_IG14:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [rdx+0x0C]
- mov rsi, 0xD1FFAB1E
- xor rdi, rsi
- mov rsi, 0xD1FFAB1E
- or rsi, qword ptr [rdx+0x12]
- mov rdx, 0xD1FFAB1E
- xor rdx, rsi
- or rdx, rdi
- jne SHORT G_M19556_IG19
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG15:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Culture'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG15
test r12b, 2
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 2
mov r14, gword ptr [rbp-0x60]
- cmp dword ptr [r14+0x08], 7
- jne SHORT G_M19556_IG18
- ;; size=25 bbWeight=2 PerfScore 13.00
-G_M19556_IG16:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [r14+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rdx, rax
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [r14+0x12]
- mov rsi, 0xD1FFAB1E
- xor rdi, rsi
- or rdx, rdi
- jne SHORT G_M19556_IG18
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG17:
- mov r14, 0xD1FFAB1E ; ''
- jmp G_M19556_IG28
- ;; size=15 bbWeight=2 PerfScore 4.50
-G_M19556_IG18:
- jmp G_M19556_IG28
+ mov rdi, r14
+ mov rsi, 0xD1FFAB1E ; 'Neutral'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG14
+ mov r14, gword ptr [rbp-0x70]
+ jmp G_M19556_IG21
+ ;; size=100 bbWeight=2 PerfScore 45.50
+G_M19556_IG14:
+ jmp G_M19556_IG21
;; size=5 bbWeight=2 PerfScore 4.00
-G_M19556_IG19:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 14
- jne SHORT G_M19556_IG20
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x18]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG20
+G_M19556_IG15:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'PublicKeyToken'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG16
test r12b, 4
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 4
lea rdx, [rbp-0x48]
mov rdi, gword ptr [rbp-0x60]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
test eax, eax
- jne G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=114 bbWeight=2 PerfScore 61.67
-G_M19556_IG20:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 9
- jne SHORT G_M19556_IG21
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x0E]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG21
+ jne G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=89 bbWeight=2 PerfScore 37.50
+G_M19556_IG16:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'PublicKey'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG17
test r12b, 4
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 4
lea rdx, [rbp-0x48]
mov rdi, gword ptr [rbp-0x60]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
or r13d, 1
- jmp G_M19556_IG28
- ;; size=115 bbWeight=2 PerfScore 62.17
-G_M19556_IG21:
- mov rsi, gword ptr [rbp-0x58]
- cmp eax, 21
- jne SHORT G_M19556_IG22
- vmovups ymm0, ymmword ptr [rsi+0x0C]
- vpor ymm0, ymm0, ymmword ptr [reloc @RWD64]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD96]
- vmovups ymm1, ymmword ptr [rsi+0x16]
- vpor ymm1, ymm1, ymmword ptr [reloc @RWD64]
- vpxor ymm1, ymm1, ymmword ptr [reloc @RWD128]
- vpor ymm0, ymm1, ymm0
- vptest ymm0, ymm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je SHORT G_M19556_IG22
+ jmp G_M19556_IG21
+ ;; size=90 bbWeight=2 PerfScore 38.00
+G_M19556_IG17:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'ProcessorArchitecture'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG18
test r12b, 8
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 8
lea rsi, [rbp-0x68]
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParseProcessorArchitecture(System.String,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParseProcessorArchitecture(System.String,byref):ubyte
test eax, eax
- je G_M19556_IG32
- mov edx, dword ptr [rbp-0x68]
- shl edx, 4
- or r13d, edx
- jmp G_M19556_IG28
- ;; size=128 bbWeight=2 PerfScore 78.67
-G_M19556_IG22:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 12
- jne G_M19556_IG27
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD160]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x14]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD176]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG27
+ je G_M19556_IG25
+ mov edi, dword ptr [rbp-0x68]
+ shl edi, 4
+ or r13d, edi
+ jmp G_M19556_IG21
+ ;; size=93 bbWeight=2 PerfScore 40.50
+G_M19556_IG18:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Retargetable'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG20
test r12b, 16
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 16
- mov rax, gword ptr [rbp-0x60]
- cmp dword ptr [rax+0x08], 3
- jne SHORT G_M19556_IG25
- ;; size=90 bbWeight=2 PerfScore 55.17
-G_M19556_IG23:
- mov edx, dword ptr [rax+0x0C]
- or edx, 0xD1FFAB1E
- xor edx, 0xD1FFAB1E
- mov esi, dword ptr [rax+0x0E]
- or esi, 0xD1FFAB1E
- xor esi, 0xD1FFAB1E
- or edx, esi
- jne SHORT G_M19556_IG25
- ;; size=34 bbWeight=1 PerfScore 6.25
-G_M19556_IG24:
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'Yes'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG19
or r13d, 256
- jmp G_M19556_IG28
- ;; size=12 bbWeight=2 PerfScore 4.50
-G_M19556_IG25:
- mov rdx, gword ptr [rbp-0x60]
- cmp dword ptr [rdx+0x08], 2
- jne G_M19556_IG32
- ;; size=14 bbWeight=2 PerfScore 10.00
-G_M19556_IG26:
- mov edx, dword ptr [rdx+0x0C]
- or edx, 0xD1FFAB1E
- cmp edx, 0xD1FFAB1E
- je G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=26 bbWeight=1 PerfScore 5.50
-G_M19556_IG27:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 11
- jne G_M19556_IG28
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD192]
- vpor xmm2, xmm0, xmmword ptr [rdx+0x12]
- vpxor xmm2, xmm2, xmmword ptr [reloc @RWD208]
- vpor xmm1, xmm2, xmm1
- vptest xmm1, xmm1
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG28
+ jmp G_M19556_IG21
+ ;; size=100 bbWeight=2 PerfScore 43.50
+G_M19556_IG19:
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'No'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ jne SHORT G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=42 bbWeight=2 PerfScore 22.00
+G_M19556_IG20:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'ContentType'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG21
test r12b, 32
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 32
- mov rdx, gword ptr [rbp-0x60]
- cmp dword ptr [rdx+0x08], 14
- jne G_M19556_IG32
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD224]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x18]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD240]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je G_M19556_IG32
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'WindowsRuntime'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je G_M19556_IG25
or r13d, 512
- ;; size=150 bbWeight=2 PerfScore 87.33
-G_M19556_IG28:
+ ;; size=99 bbWeight=2 PerfScore 39.50
+G_M19556_IG21:
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je SHORT G_M19556_IG32
+ je SHORT G_M19556_IG25
;; size=27 bbWeight=2 PerfScore 11.50
-G_M19556_IG29:
+G_M19556_IG22:
cmp dword ptr [rbp-0x38], 4
jne G_M19556_IG08
;; size=10 bbWeight=4 PerfScore 12.00
-G_M19556_IG30:
+G_M19556_IG23:
mov rsi, gword ptr [rbp-0x30]
mov rbx, gword ptr [rbp-0x40]
mov r12, gword ptr [rbp-0x48]
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x08]
mov rsi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x10]
mov rsi, r14
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x18]
mov rsi, r12
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov dword ptr [r15+0x20], r13d
mov eax, 1
;; size=65 bbWeight=0.50 PerfScore 5.38
-G_M19556_IG31:
- vzeroupper
+G_M19556_IG24:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0.50 PerfScore 2.62
-G_M19556_IG32:
+ ;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M19556_IG25:
xor eax, eax
- ;; size=2 bbWeight=7.62 PerfScore 1.91
-G_M19556_IG33:
- vzeroupper
+ ;; size=2 bbWeight=7.75 PerfScore 1.94
+G_M19556_IG26:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=7.62 PerfScore 40.03
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 006C006200750070h, 0065006B00630069h
-RWD32 dq 007400790065006Bh, 006E0065006B006Fh
-RWD48 dq 0069006C00620075h, 00790065006B0063h
-RWD64 dq 0020002000200020h, 0020002000200020h, 0020002000200020h, 0020002000200020h
-RWD96 dq 0063006F00720070h, 006F007300730065h, 0063007200610072h, 0065007400690068h
-RWD128 dq 0072006F00730073h, 0068006300720061h, 0063006500740069h, 0065007200750074h
-RWD160 dq 0061007400650072h, 0074006500670072h
-RWD176 dq 0074006500670072h, 0065006C00620061h
-RWD192 dq 0074006E006F0063h, 00740074006E0065h
-RWD208 dq 0074006E00650074h, 0065007000790074h
-RWD224 dq 0064006E00690077h, 007200730077006Fh
-RWD240 dq 006E007500720073h, 0065006D00690074h
-
+ ;; size=15 bbWeight=7.75 PerfScore 32.94
-; Total bytes of code 1435, prolog size 40, PerfScore 619.27, instruction count 326, allocated bytes for code 1435 (MethodHash=bd0eb39b) for method System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this (FullOpts)
+; Total bytes of code 1207, prolog size 40, PerfScore 491.46, instruction count 284, allocated bytes for code 1207 (MethodHash=bd0eb39b) for method System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this (FullOpts)
-228 (-15.89 % of base) - System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this
; Assembly listing for method System.Reflection.AssemblyNameParser:TryParse(byref):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; 9 single block inlinees; 9 inlinees without PGO data
+; 0 inlinees with PGO data; 12 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T04] ( 8, 11.50) byref -> rbx this single-def
-; V01 arg1 [V01,T22] ( 7, 4.50) byref -> r15 single-def
+; V00 this [V00,T03] ( 8, 11.50) byref -> rbx this single-def
+; V01 arg1 [V01,T14] ( 7, 4.50) byref -> r15 single-def
; V02 loc0 [V02 ] ( 3, 2 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V03 loc1 [V03 ] ( 12, 22 ) int -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V04 loc2 [V04 ] ( 3, 3 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Version>
-; V05 loc3 [V05,T23] ( 4, 5 ) ref -> r14 ld-addr-op class-hnd <System.String>
+; V05 loc3 [V05,T16] ( 4, 5 ) ref -> r14 ld-addr-op class-hnd <System.String>
; V06 loc4 [V06 ] ( 4, 5 ) ref -> [rbp-0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <ubyte[]>
; V07 loc5 [V07,T02] ( 10, 17 ) int -> r13
; V08 loc6 [V08,T00] ( 22, 42.50) int -> r12 ld-addr-op
; V09 loc7 [V09 ] ( 3, 4.50) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V10 loc8 [V10 ] ( 9, 18 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V11 loc9 [V11 ] ( 9, 18 ) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V12 loc10 [V12 ] ( 2, 4 ) int -> [rbp-0x68] do-not-enreg[X] addr-exposed ld-addr-op
;# V13 OutArgs [V13 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V14 tmp1 [V14,T05] ( 4, 16 ) ref -> rdx "spilling varStr"
-; V15 tmp2 [V15,T16] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-; V16 tmp3 [V16,T06] ( 4, 12 ) ref -> rax "spilling varStr"
-;* V17 tmp4 [V17,T31] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V18 tmp5 [V18,T08] ( 3, 10 ) ref -> rdx "spilling varStr"
-;* V19 tmp6 [V19,T32] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V20 tmp7 [V20 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Reflection.AssemblyNameParser+AssemblyNameParts>
-;* V21 tmp8 [V21,T41] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V22 tmp9 [V22,T37] ( 3, 3 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
-; V23 tmp10 [V23,T09] ( 3, 10 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V24 tmp11 [V24 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V25 tmp12 [V25,T33] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V26 tmp13 [V26,T07] ( 4, 12 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V27 tmp14 [V27 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V28 tmp15 [V28,T34] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V29 tmp16 [V29,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V30 tmp17 [V30,T10] ( 3, 8 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V31 tmp18 [V31 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V32 tmp19 [V32,T35] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V33 tmp20 [V33,T25] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V34 tmp21 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V35 tmp22 [V35,T03] ( 5, 16 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
-;* V36 tmp23 [V36 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V37 tmp24 [V37,T36] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V38 tmp25 [V38,T11] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V39 tmp26 [V39 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V40 tmp27 [V40,T17] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V41 tmp28 [V41,T26] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V42 tmp29 [V42,T12] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V43 tmp30 [V43 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V44 tmp31 [V44,T18] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V45 tmp32 [V45,T27] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V46 tmp33 [V46,T13] ( 3, 12 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V47 tmp34 [V47 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V48 tmp35 [V48,T19] ( 2, 8 ) int -> rsi "spilling unroll qmark"
-;* V49 tmp36 [V49,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V50 tmp37 [V50,T14] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V51 tmp38 [V51 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V52 tmp39 [V52,T20] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V53 tmp40 [V53,T29] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V54 tmp41 [V54,T15] ( 3, 12 ) ref -> rdx class-hnd exact "Inlining Arg" <System.String>
-;* V55 tmp42 [V55 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V56 tmp43 [V56,T21] ( 2, 8 ) int -> rdx "spilling unroll qmark"
-;* V57 tmp44 [V57,T30] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V58 tmp45 [V58,T38] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
-; V59 tmp46 [V59,T39] ( 2, 2 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V60 tmp47 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
-; V61 tmp48 [V61,T40] ( 2, 2 ) ref -> r12 class-hnd single-def "Inlining Arg" <ubyte[]>
-;* V62 tmp49 [V62 ] ( 0, 0 ) ref -> zero-ref "V20.[000..008)"
-;* V63 tmp50 [V63 ] ( 0, 0 ) ref -> zero-ref "V20.[008..016)"
-;* V64 tmp51 [V64 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-;* V65 tmp52 [V65 ] ( 0, 0 ) ref -> zero-ref "V20.[024..032)"
-;* V66 tmp53 [V66 ] ( 0, 0 ) int -> zero-ref "V20.[032..036)"
-; V67 cse0 [V67,T01] ( 10, 18 ) int -> rax multi-def "CSE #01: aggressive"
-; V68 cse1 [V68,T42] ( 14, 28 ) simd16 -> mm0 multi-def "CSE #06: moderate"
-; V69 rat0 [V69,T43] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V70 rat1 [V70,T44] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V71 rat2 [V71,T45] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V72 rat3 [V72,T46] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V73 rat4 [V73,T47] ( 3, 12 ) simd16 -> mm1 "ReplaceWithLclVar is creating a new local variable"
-; V74 rat5 [V74,T48] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V14 tmp1 [V14 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Reflection.AssemblyNameParser+AssemblyNameParts>
+;* V15 tmp2 [V15,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V16 tmp3 [V16,T24] ( 3, 3 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
+; V17 tmp4 [V17,T01] ( 5, 20 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+; V18 tmp5 [V18,T06] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V19 tmp6 [V19 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V20 tmp7 [V20,T07] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V21 tmp8 [V21,T17] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V22 tmp9 [V22,T08] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V23 tmp10 [V23,T18] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V24 tmp11 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V25 tmp12 [V25,T04] ( 3, 12 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
+; V26 tmp13 [V26,T09] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V27 tmp14 [V27,T19] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V28 tmp15 [V28,T10] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V29 tmp16 [V29,T20] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V30 tmp17 [V30,T11] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V31 tmp18 [V31,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V32 tmp19 [V32,T12] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V33 tmp20 [V33,T22] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V34 tmp21 [V34,T13] ( 2, 8 ) ref -> rdi class-hnd exact "Inlining Arg" <System.String>
+;* V35 tmp22 [V35,T23] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V36 tmp23 [V36,T25] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V37 tmp24 [V37,T26] ( 2, 2 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V38 tmp25 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
+; V39 tmp26 [V39,T27] ( 2, 2 ) ref -> r12 class-hnd single-def "Inlining Arg" <ubyte[]>
+;* V40 tmp27 [V40 ] ( 0, 0 ) ref -> zero-ref "V14.[000..008)"
+;* V41 tmp28 [V41 ] ( 0, 0 ) ref -> zero-ref "V14.[008..016)"
+;* V42 tmp29 [V42 ] ( 0, 0 ) ref -> zero-ref "V14.[016..024)"
+;* V43 tmp30 [V43 ] ( 0, 0 ) ref -> zero-ref "V14.[024..032)"
+;* V44 tmp31 [V44 ] ( 0, 0 ) int -> zero-ref "V14.[032..036)"
+; V45 cse0 [V45,T05] ( 4, 8 ) ref -> [rbp-0x70] spill-single-def "CSE #02: moderate"
+; V46 cse1 [V46,T15] ( 3, 6 ) int -> rdx "CSE #01: moderate"
;
; Lcl frame size = 72
G_M19556_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 72
lea rbp, [rsp+0x70]
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
vmovdqa xmmword ptr [rbp-0x40], xmm8
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov rbx, rdi
mov r15, rsi
;; size=46 bbWeight=1 PerfScore 12.83
G_M19556_IG02:
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x30]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
;; size=31 bbWeight=1 PerfScore 5.75
G_M19556_IG03:
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
+ jne G_M19556_IG25
mov rdx, gword ptr [rbp-0x30]
test rdx, rdx
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rdx+0x08], 0
- je G_M19556_IG32
+ je G_M19556_IG25
xor rdx, rdx
mov gword ptr [rbp-0x40], rdx
;; size=39 bbWeight=0.50 PerfScore 5.25
G_M19556_IG04:
xor r14, r14
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M19556_IG05:
mov gword ptr [rbp-0x48], rdx
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M19556_IG06:
xor r13d, r13d
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M19556_IG07:
xor r12d, r12d
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- jne G_M19556_IG29
- jmp G_M19556_IG32
+ jne G_M19556_IG22
+ jmp G_M19556_IG25
;; size=39 bbWeight=0.50 PerfScore 4.00
G_M19556_IG08:
cmp dword ptr [rbp-0x38], 2
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x58]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 1
- jne G_M19556_IG32
+ jne G_M19556_IG25
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x60]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
cmp dword ptr [rbp-0x38], 3
- jne G_M19556_IG32
- mov rsi, gword ptr [rbp-0x58]
- test rsi, rsi
- je SHORT G_M19556_IG10
- ;; size=142 bbWeight=2 PerfScore 63.00
+ jne G_M19556_IG25
+ mov rdi, gword ptr [rbp-0x58]
+ mov rax, 0xD1FFAB1E ; ''
+ mov gword ptr [rbp-0x70], rax
+ cmp rdi, rax
+ je G_M19556_IG25
+ test rdi, rdi
+ je SHORT G_M19556_IG12
+ mov edx, dword ptr [rdi+0x08]
+ test edx, edx
+ jne SHORT G_M19556_IG11
+ add rdi, 12
+ add edx, edx
+ lea rsi, bword ptr [rax+0x0C]
+ ;; size=182 bbWeight=2 PerfScore 76.50
G_M19556_IG09:
- mov eax, dword ptr [rsi+0x08]
+ mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- je G_M19556_IG32
- ;; size=11 bbWeight=1 PerfScore 3.25
+ jne G_M19556_IG25
+ ;; size=20 bbWeight=2 PerfScore 9.00
G_M19556_IG10:
- mov rsi, gword ptr [rbp-0x58]
- mov eax, dword ptr [rsi+0x08]
- cmp eax, 7
- jne SHORT G_M19556_IG13
- ;; size=12 bbWeight=2 PerfScore 8.50
-G_M19556_IG11:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [rsi+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rdi, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rsi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rsi, rcx
- or rsi, rdi
- jne SHORT G_M19556_IG13
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG12:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Version'
+ mov edx, 5
+ mov rcx, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rcx]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG13
test r12b, 1
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 1
lea rsi, [rbp-0x40]
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParseVersion(System.String,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParseVersion(System.String,byref):ubyte
test eax, eax
- jne G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=47 bbWeight=2 PerfScore 19.00
+ jne G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=84 bbWeight=2 PerfScore 37.00
+G_M19556_IG11:
+ jmp SHORT G_M19556_IG10
+ ;; size=2 bbWeight=1 PerfScore 2.00
+G_M19556_IG12:
+ jmp SHORT G_M19556_IG10
+ ;; size=2 bbWeight=1 PerfScore 2.00
G_M19556_IG13:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 7
- jne G_M19556_IG19
- ;; size=13 bbWeight=2 PerfScore 4.50
-G_M19556_IG14:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [rdx+0x0C]
- mov rsi, 0xD1FFAB1E
- xor rdi, rsi
- mov rsi, 0xD1FFAB1E
- or rsi, qword ptr [rdx+0x12]
- mov rdx, 0xD1FFAB1E
- xor rdx, rsi
- or rdx, rdi
- jne SHORT G_M19556_IG19
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG15:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Culture'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG15
test r12b, 2
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 2
mov r14, gword ptr [rbp-0x60]
- cmp dword ptr [r14+0x08], 7
- jne SHORT G_M19556_IG18
- ;; size=25 bbWeight=2 PerfScore 13.00
-G_M19556_IG16:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [r14+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rdx, rax
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [r14+0x12]
- mov rsi, 0xD1FFAB1E
- xor rdi, rsi
- or rdx, rdi
- jne SHORT G_M19556_IG18
- ;; size=59 bbWeight=1 PerfScore 8.75
-G_M19556_IG17:
- mov r14, 0xD1FFAB1E ; ''
- jmp G_M19556_IG28
- ;; size=15 bbWeight=2 PerfScore 4.50
-G_M19556_IG18:
- jmp G_M19556_IG28
+ mov rdi, r14
+ mov rsi, 0xD1FFAB1E ; 'Neutral'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG14
+ mov r14, gword ptr [rbp-0x70]
+ jmp G_M19556_IG21
+ ;; size=100 bbWeight=2 PerfScore 45.50
+G_M19556_IG14:
+ jmp G_M19556_IG21
;; size=5 bbWeight=2 PerfScore 4.00
-G_M19556_IG19:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 14
- jne SHORT G_M19556_IG20
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x18]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG20
+G_M19556_IG15:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'PublicKeyToken'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG16
test r12b, 4
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 4
lea rdx, [rbp-0x48]
mov rdi, gword ptr [rbp-0x60]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
test eax, eax
- jne G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=114 bbWeight=2 PerfScore 61.67
-G_M19556_IG20:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 9
- jne SHORT G_M19556_IG21
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x0E]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG21
+ jne G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=89 bbWeight=2 PerfScore 37.50
+G_M19556_IG16:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'PublicKey'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG17
test r12b, 4
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 4
lea rdx, [rbp-0x48]
mov rdi, gword ptr [rbp-0x60]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParsePKT(System.String,ubyte,byref):ubyte
test eax, eax
- je G_M19556_IG32
+ je G_M19556_IG25
or r13d, 1
- jmp G_M19556_IG28
- ;; size=115 bbWeight=2 PerfScore 62.17
-G_M19556_IG21:
- mov rsi, gword ptr [rbp-0x58]
- cmp eax, 21
- jne SHORT G_M19556_IG22
- vmovups ymm0, ymmword ptr [rsi+0x0C]
- vpor ymm0, ymm0, ymmword ptr [reloc @RWD64]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD96]
- vmovups ymm1, ymmword ptr [rsi+0x16]
- vpor ymm1, ymm1, ymmword ptr [reloc @RWD64]
- vpxor ymm1, ymm1, ymmword ptr [reloc @RWD128]
- vpor ymm0, ymm1, ymm0
- vptest ymm0, ymm0
- sete sil
- movzx rsi, sil
- test esi, esi
- je SHORT G_M19556_IG22
+ jmp G_M19556_IG21
+ ;; size=90 bbWeight=2 PerfScore 38.00
+G_M19556_IG17:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'ProcessorArchitecture'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG18
test r12b, 8
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 8
lea rsi, [rbp-0x68]
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryParseProcessorArchitecture(System.String,byref):ubyte
call [rax]System.Reflection.AssemblyNameParser:TryParseProcessorArchitecture(System.String,byref):ubyte
test eax, eax
- je G_M19556_IG32
- mov edx, dword ptr [rbp-0x68]
- shl edx, 4
- or r13d, edx
- jmp G_M19556_IG28
- ;; size=128 bbWeight=2 PerfScore 78.67
-G_M19556_IG22:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 12
- jne G_M19556_IG27
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD160]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x14]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD176]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG27
+ je G_M19556_IG25
+ mov edi, dword ptr [rbp-0x68]
+ shl edi, 4
+ or r13d, edi
+ jmp G_M19556_IG21
+ ;; size=93 bbWeight=2 PerfScore 40.50
+G_M19556_IG18:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'Retargetable'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG20
test r12b, 16
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 16
- mov rax, gword ptr [rbp-0x60]
- cmp dword ptr [rax+0x08], 3
- jne SHORT G_M19556_IG25
- ;; size=90 bbWeight=2 PerfScore 55.17
-G_M19556_IG23:
- mov edx, dword ptr [rax+0x0C]
- or edx, 0xD1FFAB1E
- xor edx, 0xD1FFAB1E
- mov esi, dword ptr [rax+0x0E]
- or esi, 0xD1FFAB1E
- xor esi, 0xD1FFAB1E
- or edx, esi
- jne SHORT G_M19556_IG25
- ;; size=34 bbWeight=1 PerfScore 6.25
-G_M19556_IG24:
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'Yes'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG19
or r13d, 256
- jmp G_M19556_IG28
- ;; size=12 bbWeight=2 PerfScore 4.50
-G_M19556_IG25:
- mov rdx, gword ptr [rbp-0x60]
- cmp dword ptr [rdx+0x08], 2
- jne G_M19556_IG32
- ;; size=14 bbWeight=2 PerfScore 10.00
-G_M19556_IG26:
- mov edx, dword ptr [rdx+0x0C]
- or edx, 0xD1FFAB1E
- cmp edx, 0xD1FFAB1E
- je G_M19556_IG28
- jmp G_M19556_IG32
- ;; size=26 bbWeight=1 PerfScore 5.50
-G_M19556_IG27:
- mov rdx, gword ptr [rbp-0x58]
- cmp eax, 11
- jne G_M19556_IG28
- vmovups xmm0, xmmword ptr [reloc @RWD00]
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD192]
- vpor xmm2, xmm0, xmmword ptr [rdx+0x12]
- vpxor xmm2, xmm2, xmmword ptr [reloc @RWD208]
- vpor xmm1, xmm2, xmm1
- vptest xmm1, xmm1
- sete dl
- movzx rdx, dl
- test edx, edx
- je SHORT G_M19556_IG28
+ jmp G_M19556_IG21
+ ;; size=100 bbWeight=2 PerfScore 43.50
+G_M19556_IG19:
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'No'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ jne SHORT G_M19556_IG21
+ jmp G_M19556_IG25
+ ;; size=42 bbWeight=2 PerfScore 22.00
+G_M19556_IG20:
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, 0xD1FFAB1E ; 'ContentType'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je SHORT G_M19556_IG21
test r12b, 32
- jne G_M19556_IG32
+ jne G_M19556_IG25
or r12d, 32
- mov rdx, gword ptr [rbp-0x60]
- cmp dword ptr [rdx+0x08], 14
- jne G_M19556_IG32
- vpor xmm1, xmm0, xmmword ptr [rdx+0x0C]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD224]
- vpor xmm0, xmm0, xmmword ptr [rdx+0x18]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD240]
- vpor xmm0, xmm0, xmm1
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- test edx, edx
- je G_M19556_IG32
+ mov rdi, gword ptr [rbp-0x60]
+ mov rsi, 0xD1FFAB1E ; 'WindowsRuntime'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:Equals(System.String,int):ubyte:this
+ test eax, eax
+ je G_M19556_IG25
or r13d, 512
- ;; size=150 bbWeight=2 PerfScore 87.33
-G_M19556_IG28:
+ ;; size=99 bbWeight=2 PerfScore 39.50
+G_M19556_IG21:
lea rdx, [rbp-0x38]
lea rsi, [rbp-0x50]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
call [rax]System.Reflection.AssemblyNameParser:TryGetNextToken(byref,byref):ubyte:this
test eax, eax
- je SHORT G_M19556_IG32
+ je SHORT G_M19556_IG25
;; size=27 bbWeight=2 PerfScore 11.50
-G_M19556_IG29:
+G_M19556_IG22:
cmp dword ptr [rbp-0x38], 4
jne G_M19556_IG08
;; size=10 bbWeight=4 PerfScore 12.00
-G_M19556_IG30:
+G_M19556_IG23:
mov rsi, gword ptr [rbp-0x30]
mov rbx, gword ptr [rbp-0x40]
mov r12, gword ptr [rbp-0x48]
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x08]
mov rsi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x10]
mov rsi, r14
call CORINFO_HELP_CHECKED_ASSIGN_REF
lea rdi, bword ptr [r15+0x18]
mov rsi, r12
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov dword ptr [r15+0x20], r13d
mov eax, 1
;; size=65 bbWeight=0.50 PerfScore 5.38
-G_M19556_IG31:
- vzeroupper
+G_M19556_IG24:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0.50 PerfScore 2.62
-G_M19556_IG32:
+ ;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M19556_IG25:
xor eax, eax
- ;; size=2 bbWeight=7.62 PerfScore 1.91
-G_M19556_IG33:
- vzeroupper
+ ;; size=2 bbWeight=7.75 PerfScore 1.94
+G_M19556_IG26:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=7.62 PerfScore 40.03
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 006C006200750070h, 0065006B00630069h
-RWD32 dq 007400790065006Bh, 006E0065006B006Fh
-RWD48 dq 0069006C00620075h, 00790065006B0063h
-RWD64 dq 0020002000200020h, 0020002000200020h, 0020002000200020h, 0020002000200020h
-RWD96 dq 0063006F00720070h, 006F007300730065h, 0063007200610072h, 0065007400690068h
-RWD128 dq 0072006F00730073h, 0068006300720061h, 0063006500740069h, 0065007200750074h
-RWD160 dq 0061007400650072h, 0074006500670072h
-RWD176 dq 0074006500670072h, 0065006C00620061h
-RWD192 dq 0074006E006F0063h, 00740074006E0065h
-RWD208 dq 0074006E00650074h, 0065007000790074h
-RWD224 dq 0064006E00690077h, 007200730077006Fh
-RWD240 dq 006E007500720073h, 0065006D00690074h
-
+ ;; size=15 bbWeight=7.75 PerfScore 32.94
-; Total bytes of code 1435, prolog size 40, PerfScore 619.27, instruction count 326, allocated bytes for code 1435 (MethodHash=bd0eb39b) for method System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this (FullOpts)
+; Total bytes of code 1207, prolog size 40, PerfScore 491.46, instruction count 284, allocated bytes for code 1207 (MethodHash=bd0eb39b) for method System.Reflection.AssemblyNameParser:TryParse(byref):ubyte:this (FullOpts)
-200 (-10.40 % of base) - Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte:this
; Assembly listing for method Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte: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; 37 single block inlinees; 34 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T13] ( 8, 23 ) ref -> rbx this class-hnd single-def <Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver>
-; V01 arg1 [V01,T31] ( 5, 5 ) ref -> r15 class-hnd single-def <Microsoft.Extensions.DependencyModel.CompilationLibrary>
-; V02 arg2 [V02,T39] ( 4, 4 ) ref -> r14 class-hnd single-def <System.Collections.Generic.List`1[System.String]>
-; V03 loc0 [V03,T82] ( 2, 2 ) ubyte -> rdi single-def
-; V04 loc1 [V04,T72] ( 3, 3 ) ubyte -> r13 single-def
-; V05 loc2 [V05,T73] ( 3, 3 ) ubyte -> r12 single-def
+; V01 arg1 [V01,T23] ( 9, 9 ) ref -> r15 class-hnd single-def <Microsoft.Extensions.DependencyModel.CompilationLibrary>
+; V02 arg2 [V02,T33] ( 4, 4 ) ref -> r14 class-hnd single-def <System.Collections.Generic.List`1[System.String]>
+; V03 loc0 [V03,T71] ( 2, 2 ) ubyte -> r13 single-def
+; V04 loc1 [V04,T62] ( 3, 3 ) ubyte -> r12 single-def
+; V05 loc2 [V05,T63] ( 3, 3 ) ubyte -> [rbp-0x2C] spill-single-def
;* V06 loc3 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.String>
-; V07 loc4 [V07,T52] ( 4, 4 ) ubyte -> [rbp-0x2C] spill-single-def
-; V08 loc5 [V08,T02] ( 25,157 ) ref -> r12 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
-; V09 loc6 [V09,T47] ( 4, 4 ) ref -> rdi class-hnd exact single-def <System.String>
+; V07 loc4 [V07,T45] ( 4, 4 ) ubyte -> [rbp-0x30] spill-single-def
+; V08 loc5 [V08,T02] ( 25,157 ) ref -> [rbp-0x48] class-hnd exact spill-single-def <System.Collections.Generic.List`1[System.String]>
+; V09 loc6 [V09,T40] ( 4, 4 ) ref -> rdi class-hnd exact single-def <System.String>
; V10 loc7 [V10,T12] ( 8, 26 ) ref -> r13 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
-; V11 loc8 [V11,T28] ( 7, 7 ) ref -> r13 class-hnd exact single-def <System.String>
+; V11 loc8 [V11,T29] ( 7, 7 ) ref -> r13 class-hnd exact single-def <System.String>
;* V12 loc9 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.String>
-; V13 loc10 [V13,T15] ( 7, 20 ) ref -> [rbp-0x40] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.String]>
+; V13 loc10 [V13,T15] ( 7, 20 ) ref -> [rbp-0x50] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.String]>
; V14 loc11 [V14,T17] ( 2, 16 ) ref -> rdi class-hnd <System.String>
;* V15 loc12 [V15,T19] ( 0, 0 ) ubyte -> zero-ref
; V16 loc13 [V16,T14] ( 2, 24 ) ref -> r15 class-hnd exact <System.String>
;* V17 loc14 [V17 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
;* V18 loc15 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
-; V19 loc16 [V19,T10] ( 4, 40 ) ref -> [rbp-0x48] ld-addr-op class-hnd <System.String>
-;* V20 loc17 [V20,T90] ( 0, 0 ) ubyte -> zero-ref do-not-enreg[Z] EH-live
+; V19 loc16 [V19,T10] ( 4, 40 ) ref -> [rbp-0x58] ld-addr-op class-hnd <System.String>
+;* V20 loc17 [V20,T79] ( 0, 0 ) ubyte -> zero-ref do-not-enreg[Z] EH-live
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T34] ( 5, 6 ) ref -> rdi single-def "spilling varStr"
-;* V23 tmp2 [V23,T77] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V24 tmp3 [V24,T74] ( 3, 3 ) int -> rdi
-; V25 tmp4 [V25,T35] ( 5, 6 ) ref -> rsi single-def "spilling varStr"
-; V26 tmp5 [V26,T62] ( 3, 3.50) int -> r13 "spilling unroll qmark"
-; V27 tmp6 [V27,T36] ( 5, 6 ) ref -> rsi single-def "spilling varStr"
-; V28 tmp7 [V28,T63] ( 3, 3.50) int -> r12 "spilling unroll qmark"
-; V29 tmp8 [V29,T21] ( 6, 12 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
-; V30 tmp9 [V30,T40] ( 3, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
-; V31 tmp10 [V31,T37] ( 5, 9 ) ref -> rax single-def "spilling varStr"
-; V32 tmp11 [V32,T46] ( 2, 4 ) int -> rax "spilling unroll qmark"
-; V33 tmp12 [V33,T38] ( 5, 6 ) ref -> rdi single-def "spilling varStr"
-; V34 tmp13 [V34,T64] ( 3, 3.50) int -> rdi "spilling unroll qmark"
-; V35 tmp14 [V35,T24] ( 5, 10 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
-; V36 tmp15 [V36,T48] ( 4, 4 ) ref -> [rbp-0x50] class-hnd "Inline return value spill temp" <System.String>
-;* V37 tmp16 [V37 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V38 tmp17 [V38 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V39 tmp18 [V39 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V40 tmp19 [V40 ] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
-;* V41 tmp20 [V41 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V42 tmp21 [V42 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V43 tmp22 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V44 tmp23 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V45 tmp24 [V45,T91] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp25 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V47 tmp26 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V49 tmp28 [V49,T55] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
-; V50 tmp29 [V50,T60] ( 2, 4 ) int -> rdi "Inlining Arg"
-;* V51 tmp30 [V51 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V52 tmp31 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V53 tmp32 [V53 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V54 tmp33 [V54,T65] ( 3, 3 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-;* V55 tmp34 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V56 tmp35 [V56,T41] ( 3, 6 ) int -> rdi "Span.get_Item index"
-;* V57 tmp36 [V57,T83] ( 0, 0 ) int -> zero-ref
-;* V58 tmp37 [V58 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V59 tmp38 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V60 tmp39 [V60 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V61 tmp40 [V61 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V62 tmp41 [V62 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V63 tmp42 [V63 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V64 tmp43 [V64 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V65 tmp44 [V65 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V66 tmp45 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V67 tmp46 [V67,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.String[]>
-;* V68 tmp47 [V68,T92] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
-; V69 tmp48 [V69,T56] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
-; V70 tmp49 [V70,T75] ( 3, 3 ) int -> rsi single-def "Inline stloc first use temp"
-;* V71 tmp50 [V71 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V72 tmp51 [V72,T66] ( 3, 3 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String[]>
-; V73 tmp52 [V73,T76] ( 3, 3 ) int -> rdi
-; V74 tmp53 [V74,T25] ( 8, 8 ) int -> rdi "Inline stloc first use temp"
-;* V75 tmp54 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.Extensions.DependencyModel.DependencyContextPaths>
-;* V76 tmp55 [V76,T93] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V77 tmp56 [V77,T43] ( 5, 5 ) ref -> [rbp-0x60] class-hnd "Inline return value spill temp" <System.String>
-;* V78 tmp57 [V78 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V79 tmp58 [V79 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V80 tmp59 [V80 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V81 tmp60 [V81 ] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
-;* V82 tmp61 [V82 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V83 tmp62 [V83 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V84 tmp63 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V85 tmp64 [V85 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V86 tmp65 [V86,T94] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
-;* V87 tmp66 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V88 tmp67 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V89 tmp68 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V90 tmp69 [V90,T57] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
-; V91 tmp70 [V91,T61] ( 2, 4 ) int -> rsi "Inlining Arg"
-;* V92 tmp71 [V92 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V93 tmp72 [V93 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V94 tmp73 [V94 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V95 tmp74 [V95,T67] ( 3, 3 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-;* V96 tmp75 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V97 tmp76 [V97,T42] ( 3, 6 ) int -> rdx "Span.get_Item index"
-;* V98 tmp77 [V98,T84] ( 0, 0 ) int -> zero-ref
-;* V99 tmp78 [V99 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V100 tmp79 [V100 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V101 tmp80 [V101 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V102 tmp81 [V102 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V103 tmp82 [V103 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V104 tmp83 [V104 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V105 tmp84 [V105 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V106 tmp85 [V106 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V107 tmp86 [V107 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V108 tmp87 [V108,T68] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.String[]>
-; V109 tmp88 [V109,T53] ( 4, 4 ) int -> rsi single-def "Inline stloc first use temp"
-; V110 tmp89 [V110,T69] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.String[]>
-; V111 tmp90 [V111,T54] ( 4, 4 ) int -> rsi single-def "Inline stloc first use temp"
-;* V112 tmp91 [V112 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V113 tmp92 [V113,T11] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V114 tmp93 [V114,T07] ( 2, 64 ) ref -> [rbp-0x68] class-hnd spill-single-def "Inlining Arg" <Microsoft.Extensions.DependencyModel.IFileSystem>
-; V115 tmp94 [V115,T22] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.String[]>
-; V116 tmp95 [V116,T16] ( 5, 20 ) int -> rsi "Inline stloc first use temp"
-;* V117 tmp96 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V118 tmp97 [V118,T09] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V119 tmp98 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.String]>
-;* V120 tmp99 [V120,T26] ( 0, 0 ) ref -> zero-ref "field V17._list (fldOffset=0x0)" P-INDEP
-; V121 tmp100 [V121,T05] ( 2, 48 ) ref -> rsi "field V17._current (fldOffset=0x8)" P-INDEP
-; V122 tmp101 [V122,T00] ( 6,168 ) int -> [rbp-0x30] "field V17._index (fldOffset=0x10)" P-INDEP
-; V123 tmp102 [V123,T06] ( 2, 72 ) int -> [rbp-0x34] spill-single-def "field V17._version (fldOffset=0x14)" P-INDEP
-;* V124 tmp103 [V124 ] ( 0, 0 ) byref -> zero-ref "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V125 tmp104 [V125 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
-; V126 tmp105 [V126,T49] ( 4, 4 ) byref -> rsi "field V38._reference (fldOffset=0x0)" P-INDEP
-; V127 tmp106 [V127,T44] ( 5, 5 ) int -> rax "field V38._length (fldOffset=0x8)" P-INDEP
-;* V128 tmp107 [V128 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
-;* V129 tmp108 [V129 ] ( 0, 0 ) int -> zero-ref single-def "field V39._length (fldOffset=0x8)" P-INDEP
-;* V130 tmp109 [V130 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V131 tmp110 [V131 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
-;* V132 tmp111 [V132,T88] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V133 tmp112 [V133 ] ( 0, 0 ) int -> zero-ref single-def "field V43._length (fldOffset=0x8)" P-INDEP
-;* V134 tmp113 [V134 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V135 tmp114 [V135 ] ( 0, 0 ) int -> zero-ref single-def "field V46._length (fldOffset=0x8)" P-INDEP
-; V136 tmp115 [V136,T78] ( 2, 2 ) byref -> rsi single-def "field V47._reference (fldOffset=0x0)" P-INDEP
-; V137 tmp116 [V137,T85] ( 2, 2 ) int -> rdi single-def "field V47._length (fldOffset=0x8)" P-INDEP
-;* V138 tmp117 [V138 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V139 tmp118 [V139 ] ( 0, 0 ) int -> zero-ref single-def "field V48._length (fldOffset=0x8)" P-INDEP
+; V22 tmp1 [V22,T64] ( 3, 3 ) int -> rax
+; V23 tmp2 [V23,T21] ( 6, 12 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
+; V24 tmp3 [V24,T34] ( 3, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
+; V25 tmp4 [V25,T24] ( 5, 10 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
+; V26 tmp5 [V26,T41] ( 4, 4 ) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+;* V27 tmp6 [V27 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V28 tmp7 [V28 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V29 tmp8 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V30 tmp9 [V30 ] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp10 [V31 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V32 tmp11 [V32 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V33 tmp12 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V34 tmp13 [V34 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V35 tmp14 [V35,T80] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
+;* V36 tmp15 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V37 tmp16 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V38 tmp17 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V39 tmp18 [V39,T48] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
+; V40 tmp19 [V40,T53] ( 2, 4 ) int -> rdi "Inlining Arg"
+;* V41 tmp20 [V41 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp21 [V42 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp22 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V44 tmp23 [V44,T55] ( 3, 3 ) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+;* V45 tmp24 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp25 [V46,T35] ( 3, 6 ) int -> rdi "Span.get_Item index"
+;* V47 tmp26 [V47,T72] ( 0, 0 ) int -> zero-ref
+;* V48 tmp27 [V48 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V49 tmp28 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V50 tmp29 [V50 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V51 tmp30 [V51 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V52 tmp31 [V52 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V53 tmp32 [V53 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V54 tmp33 [V54 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V55 tmp34 [V55 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V56 tmp35 [V56 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V57 tmp36 [V57,T76] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.String[]>
+;* V58 tmp37 [V58,T81] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
+; V59 tmp38 [V59,T49] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.String>
+; V60 tmp39 [V60,T65] ( 3, 3 ) int -> rsi single-def "Inline stloc first use temp"
+;* V61 tmp40 [V61 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V62 tmp41 [V62,T56] ( 3, 3 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String[]>
+; V63 tmp42 [V63,T66] ( 3, 3 ) int -> rdi
+; V64 tmp43 [V64,T25] ( 8, 8 ) int -> rdi "Inline stloc first use temp"
+;* V65 tmp44 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.Extensions.DependencyModel.DependencyContextPaths>
+;* V66 tmp45 [V66,T82] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V67 tmp46 [V67,T37] ( 5, 5 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
+;* V68 tmp47 [V68 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V69 tmp48 [V69 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V70 tmp49 [V70 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V71 tmp50 [V71 ] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
+;* V72 tmp51 [V72 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V73 tmp52 [V73 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V74 tmp53 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V75 tmp54 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V76 tmp55 [V76,T83] ( 0, 0 ) ubyte -> zero-ref single-def "Inline return value spill temp"
+;* V77 tmp56 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V78 tmp57 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V79 tmp58 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V80 tmp59 [V80,T50] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
+; V81 tmp60 [V81,T54] ( 2, 4 ) int -> rsi "Inlining Arg"
+;* V82 tmp61 [V82 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V83 tmp62 [V83 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V84 tmp63 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V85 tmp64 [V85,T57] ( 3, 3 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
+;* V86 tmp65 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V87 tmp66 [V87,T36] ( 3, 6 ) int -> rdx "Span.get_Item index"
+;* V88 tmp67 [V88,T73] ( 0, 0 ) int -> zero-ref
+;* V89 tmp68 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V90 tmp69 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V91 tmp70 [V91 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
+;* V92 tmp71 [V92 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V93 tmp72 [V93 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V94 tmp73 [V94 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V95 tmp74 [V95 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V96 tmp75 [V96 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V97 tmp76 [V97 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V98 tmp77 [V98,T58] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.String[]>
+; V99 tmp78 [V99,T46] ( 4, 4 ) int -> rsi single-def "Inline stloc first use temp"
+; V100 tmp79 [V100,T59] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.String[]>
+; V101 tmp80 [V101,T47] ( 4, 4 ) int -> rsi single-def "Inline stloc first use temp"
+;* V102 tmp81 [V102 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
+;* V103 tmp82 [V103,T11] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V104 tmp83 [V104,T07] ( 2, 64 ) ref -> [rbp-0x70] class-hnd spill-single-def "Inlining Arg" <Microsoft.Extensions.DependencyModel.IFileSystem>
+; V105 tmp84 [V105,T22] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.String[]>
+; V106 tmp85 [V106,T16] ( 4, 16 ) int -> rsi "Inline stloc first use temp"
+;* V107 tmp86 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+;* V108 tmp87 [V108,T09] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V109 tmp88 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.String]>
+;* V110 tmp89 [V110,T27] ( 0, 0 ) ref -> zero-ref "field V17._list (fldOffset=0x0)" P-INDEP
+; V111 tmp90 [V111,T05] ( 2, 48 ) ref -> rsi "field V17._current (fldOffset=0x8)" P-INDEP
+; V112 tmp91 [V112,T00] ( 6,168 ) int -> [rbp-0x34] "field V17._index (fldOffset=0x10)" P-INDEP
+; V113 tmp92 [V113,T06] ( 2, 72 ) int -> [rbp-0x38] spill-single-def "field V17._version (fldOffset=0x14)" P-INDEP
+;* V114 tmp93 [V114 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V115 tmp94 [V115 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
+; V116 tmp95 [V116,T42] ( 4, 4 ) byref -> rsi "field V28._reference (fldOffset=0x0)" P-INDEP
+; V117 tmp96 [V117,T38] ( 5, 5 ) int -> r10 "field V28._length (fldOffset=0x8)" P-INDEP
+;* V118 tmp97 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V119 tmp98 [V119 ] ( 0, 0 ) int -> zero-ref single-def "field V29._length (fldOffset=0x8)" P-INDEP
+;* V120 tmp99 [V120 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V121 tmp100 [V121 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
+;* V122 tmp101 [V122,T77] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V123 tmp102 [V123 ] ( 0, 0 ) int -> zero-ref single-def "field V33._length (fldOffset=0x8)" P-INDEP
+;* V124 tmp103 [V124 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
+;* V125 tmp104 [V125 ] ( 0, 0 ) int -> zero-ref single-def "field V36._length (fldOffset=0x8)" P-INDEP
+; V126 tmp105 [V126,T67] ( 2, 2 ) byref -> rsi single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+; V127 tmp106 [V127,T74] ( 2, 2 ) int -> rdi single-def "field V37._length (fldOffset=0x8)" P-INDEP
+;* V128 tmp107 [V128 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V129 tmp108 [V129 ] ( 0, 0 ) int -> zero-ref single-def "field V38._length (fldOffset=0x8)" P-INDEP
+;* V130 tmp109 [V130 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V131 tmp110 [V131 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
+; V132 tmp111 [V132,T60] ( 3, 3 ) byref -> r8 single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V133 tmp112 [V133,T84] ( 0, 0 ) int -> zero-ref single-def "field V42._length (fldOffset=0x8)" P-INDEP
+;* V134 tmp113 [V134 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V135 tmp114 [V135 ] ( 0, 0 ) int -> zero-ref single-def "field V45._length (fldOffset=0x8)" P-INDEP
+;* V136 tmp115 [V136 ] ( 0, 0 ) byref -> zero-ref single-def "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V137 tmp116 [V137 ] ( 0, 0 ) int -> zero-ref single-def "field V49._length (fldOffset=0x8)" P-INDEP
+;* V138 tmp117 [V138 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V139 tmp118 [V139 ] ( 0, 0 ) int -> zero-ref single-def "field V50._length (fldOffset=0x8)" P-INDEP
;* V140 tmp119 [V140 ] ( 0, 0 ) byref -> zero-ref "field V51._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp120 [V141 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
-; V142 tmp121 [V142,T70] ( 3, 3 ) byref -> r8 single-def "field V52._reference (fldOffset=0x0)" P-INDEP
-;* V143 tmp122 [V143,T95] ( 0, 0 ) int -> zero-ref single-def "field V52._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp123 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V145 tmp124 [V145 ] ( 0, 0 ) int -> zero-ref single-def "field V55._length (fldOffset=0x8)" P-INDEP
-;* V146 tmp125 [V146 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V147 tmp126 [V147 ] ( 0, 0 ) int -> zero-ref single-def "field V59._length (fldOffset=0x8)" P-INDEP
-;* V148 tmp127 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP
-;* V149 tmp128 [V149 ] ( 0, 0 ) int -> zero-ref single-def "field V60._length (fldOffset=0x8)" P-INDEP
-;* V150 tmp129 [V150 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP
-;* V151 tmp130 [V151 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
-;* V152 tmp131 [V152 ] ( 0, 0 ) byref -> zero-ref "field V64._reference (fldOffset=0x0)" P-INDEP
-;* V153 tmp132 [V153 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
-; V154 tmp133 [V154,T79] ( 2, 2 ) byref -> rdx single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V155 tmp134 [V155,T96] ( 0, 0 ) int -> zero-ref single-def "field V65._length (fldOffset=0x8)" P-INDEP
-;* V156 tmp135 [V156 ] ( 0, 0 ) byref -> zero-ref "field V78._reference (fldOffset=0x0)" P-INDEP
-;* V157 tmp136 [V157 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
-; V158 tmp137 [V158,T50] ( 4, 4 ) byref -> rdi "field V79._reference (fldOffset=0x0)" P-INDEP
-; V159 tmp138 [V159,T45] ( 5, 5 ) int -> rsi "field V79._length (fldOffset=0x8)" P-INDEP
-;* V160 tmp139 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V161 tmp140 [V161 ] ( 0, 0 ) int -> zero-ref single-def "field V80._length (fldOffset=0x8)" P-INDEP
-;* V162 tmp141 [V162 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP
-;* V163 tmp142 [V163 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
-;* V164 tmp143 [V164,T89] ( 0, 0 ) byref -> zero-ref single-def "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V165 tmp144 [V165 ] ( 0, 0 ) int -> zero-ref single-def "field V84._length (fldOffset=0x8)" P-INDEP
-;* V166 tmp145 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp146 [V167 ] ( 0, 0 ) int -> zero-ref single-def "field V87._length (fldOffset=0x8)" P-INDEP
-; V168 tmp147 [V168,T80] ( 2, 2 ) byref -> rdi single-def "field V88._reference (fldOffset=0x0)" P-INDEP
-; V169 tmp148 [V169,T86] ( 2, 2 ) int -> rsi single-def "field V88._length (fldOffset=0x8)" P-INDEP
-;* V170 tmp149 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V89._reference (fldOffset=0x0)" P-INDEP
-;* V171 tmp150 [V171 ] ( 0, 0 ) int -> zero-ref single-def "field V89._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp121 [V142 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp122 [V143 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+; V144 tmp123 [V144,T68] ( 2, 2 ) byref -> rdx single-def "field V55._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp124 [V145,T85] ( 0, 0 ) int -> zero-ref single-def "field V55._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp125 [V146 ] ( 0, 0 ) byref -> zero-ref "field V68._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp126 [V147 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
+; V148 tmp127 [V148,T43] ( 4, 4 ) byref -> rdi "field V69._reference (fldOffset=0x0)" P-INDEP
+; V149 tmp128 [V149,T39] ( 5, 5 ) int -> rsi "field V69._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp129 [V150 ] ( 0, 0 ) byref -> zero-ref single-def "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp130 [V151 ] ( 0, 0 ) int -> zero-ref single-def "field V70._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp131 [V152 ] ( 0, 0 ) byref -> zero-ref "field V73._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp132 [V153 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp133 [V154,T78] ( 0, 0 ) byref -> zero-ref single-def "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp134 [V155 ] ( 0, 0 ) int -> zero-ref single-def "field V74._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp135 [V156 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp136 [V157 ] ( 0, 0 ) int -> zero-ref single-def "field V77._length (fldOffset=0x8)" P-INDEP
+; V158 tmp137 [V158,T69] ( 2, 2 ) byref -> rdi single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+; V159 tmp138 [V159,T75] ( 2, 2 ) int -> rsi single-def "field V78._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp139 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp140 [V161 ] ( 0, 0 ) int -> zero-ref single-def "field V79._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp141 [V162 ] ( 0, 0 ) byref -> zero-ref "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp142 [V163 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+; V164 tmp143 [V164,T61] ( 3, 3 ) byref -> r8 single-def "field V83._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp144 [V165,T86] ( 0, 0 ) int -> zero-ref single-def "field V83._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp145 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp146 [V167 ] ( 0, 0 ) int -> zero-ref single-def "field V86._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp147 [V168 ] ( 0, 0 ) byref -> zero-ref single-def "field V90._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp148 [V169 ] ( 0, 0 ) int -> zero-ref single-def "field V90._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp149 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp150 [V171 ] ( 0, 0 ) int -> zero-ref single-def "field V91._length (fldOffset=0x8)" P-INDEP
;* V172 tmp151 [V172 ] ( 0, 0 ) byref -> zero-ref "field V92._reference (fldOffset=0x0)" P-INDEP
;* V173 tmp152 [V173 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP
-; V174 tmp153 [V174,T71] ( 3, 3 ) byref -> r8 single-def "field V93._reference (fldOffset=0x0)" P-INDEP
-;* V175 tmp154 [V175,T97] ( 0, 0 ) int -> zero-ref single-def "field V93._length (fldOffset=0x8)" P-INDEP
-;* V176 tmp155 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP
-;* V177 tmp156 [V177 ] ( 0, 0 ) int -> zero-ref single-def "field V96._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp157 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V100._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp158 [V179 ] ( 0, 0 ) int -> zero-ref single-def "field V100._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp159 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V101._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp160 [V181 ] ( 0, 0 ) int -> zero-ref single-def "field V101._length (fldOffset=0x8)" P-INDEP
-;* V182 tmp161 [V182 ] ( 0, 0 ) byref -> zero-ref "field V102._reference (fldOffset=0x0)" P-INDEP
-;* V183 tmp162 [V183 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
-;* V184 tmp163 [V184 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
-;* V185 tmp164 [V185 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
-; V186 tmp165 [V186,T81] ( 2, 2 ) byref -> rdx single-def "field V106._reference (fldOffset=0x0)" P-INDEP
-;* V187 tmp166 [V187,T98] ( 0, 0 ) int -> zero-ref single-def "field V106._length (fldOffset=0x8)" P-INDEP
-; V188 tmp167 [V188,T18] ( 2, 16 ) ref -> rdi "field V112._list (fldOffset=0x0)" P-INDEP
-;* V189 tmp168 [V189 ] ( 0, 0 ) ref -> zero-ref "field V112._current (fldOffset=0x8)" P-INDEP
-;* V190 tmp169 [V190,T27] ( 0, 0 ) int -> zero-ref "field V112._index (fldOffset=0x10)" P-INDEP
-; V191 tmp170 [V191,T20] ( 2, 16 ) int -> rax "field V112._version (fldOffset=0x14)" P-INDEP
-; V192 tmp171 [V192,T58] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V193 tmp172 [V193,T59] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V194 tmp173 [V194,T01] ( 3,192 ) ref -> rsi "arr expr"
-; V195 tmp174 [V195,T08] ( 2, 64 ) ref -> rdi "argument with side effect"
-; V196 PSPSym [V196,T99] ( 1, 1 ) long -> [rbp-0x80] do-not-enreg[V] "PSPSym"
-; V197 cse0 [V197,T51] ( 3, 3 ) ref -> [rbp-0x70] spill-single-def "CSE #14: conservative"
-; V198 cse1 [V198,T32] ( 4, 4 ) byref -> r8 multi-def "CSE #13: conservative"
-; V199 cse2 [V199,T04] ( 2, 64 ) int -> rsi "CSE #24: aggressive"
-; V200 cse3 [V200,T03] ( 2,128 ) int -> rsi "CSE #23: aggressive"
-; V201 cse4 [V201,T30] ( 7, 7 ) int -> [rbp-0x38] spill-single-def "CSE #15: conservative"
-; V202 cse5 [V202,T29] ( 7, 7 ) ref -> [rbp-0x78] spill-single-def "CSE #16: conservative"
-; V203 cse6 [V203,T33] ( 6, 6 ) ref -> rax "CSE #01: conservative"
-; V204 cse7 [V204,T23] ( 3, 12 ) int -> rax "CSE #25: moderate"
-; V205 rat0 [V205,T100] ( 3, 1.50) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V206 rat1 [V206,T101] ( 3, 1.50) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V207 rat2 [V207,T102] ( 3, 6 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V174 tmp153 [V174 ] ( 0, 0 ) byref -> zero-ref "field V95._reference (fldOffset=0x0)" P-INDEP
+;* V175 tmp154 [V175 ] ( 0, 0 ) int -> zero-ref "field V95._length (fldOffset=0x8)" P-INDEP
+; V176 tmp155 [V176,T70] ( 2, 2 ) byref -> rdx single-def "field V96._reference (fldOffset=0x0)" P-INDEP
+;* V177 tmp156 [V177,T87] ( 0, 0 ) int -> zero-ref single-def "field V96._length (fldOffset=0x8)" P-INDEP
+; V178 tmp157 [V178,T18] ( 2, 16 ) ref -> rdi "field V102._list (fldOffset=0x0)" P-INDEP
+;* V179 tmp158 [V179 ] ( 0, 0 ) ref -> zero-ref "field V102._current (fldOffset=0x8)" P-INDEP
+;* V180 tmp159 [V180,T28] ( 0, 0 ) int -> zero-ref "field V102._index (fldOffset=0x10)" P-INDEP
+; V181 tmp160 [V181,T20] ( 2, 16 ) int -> rax "field V102._version (fldOffset=0x14)" P-INDEP
+; V182 tmp161 [V182,T51] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V183 tmp162 [V183,T52] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V184 tmp163 [V184,T01] ( 3,192 ) ref -> rsi "arr expr"
+; V185 tmp164 [V185,T08] ( 2, 64 ) ref -> rdi "argument with side effect"
+; V186 PSPSym [V186,T88] ( 1, 1 ) long -> [rbp-0x90] do-not-enreg[V] "PSPSym"
+; V187 cse0 [V187,T44] ( 3, 3 ) ref -> [rbp-0x78] spill-single-def "CSE #04: conservative"
+; V188 cse1 [V188,T32] ( 4, 4 ) byref -> r8 multi-def "CSE #03: conservative"
+; V189 cse2 [V189,T04] ( 2, 64 ) int -> rsi "CSE #14: aggressive"
+; V190 cse3 [V190,T03] ( 2,128 ) int -> rsi "CSE #13: aggressive"
+; V191 cse4 [V191,T31] ( 7, 7 ) int -> [rbp-0x3C] spill-single-def "CSE #05: conservative"
+; V192 cse5 [V192,T30] ( 7, 7 ) ref -> [rbp-0x80] spill-single-def "CSE #06: conservative"
+; V193 cse6 [V193,T26] ( 2, 8 ) int -> rax "CSE #15: moderate"
;
-; Lcl frame size = 88
+; Lcl frame size = 104
G_M32152_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 88
- lea rbp, [rsp+0x80]
- mov qword ptr [rbp-0x80], rsp
+ sub rsp, 104
+ lea rbp, [rsp+0x90]
+ mov qword ptr [rbp-0x90], rsp
mov rbx, rdi
mov r15, rsi
mov r14, rdx
- ;; size=35 bbWeight=1 PerfScore 8.50
+ ;; size=38 bbWeight=1 PerfScore 8.50
G_M32152_IG02:
test r15, r15
- je G_M32152_IG64
- mov rax, gword ptr [r15+0x08]
- mov rdi, rax
- test rdi, rdi
- je SHORT G_M32152_IG06
- ;; size=21 bbWeight=1 PerfScore 4.75
+ je G_M32152_IG48
+ mov rdi, gword ptr [r15+0x08]
+ mov rsi, 0xD1FFAB1E ; 'project'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M32152_IG03
+ mov rdi, gword ptr [r15+0x08]
+ mov rsi, 0xD1FFAB1E ; 'msbuildproject'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ jmp SHORT G_M32152_IG04
+ ;; size=77 bbWeight=1 PerfScore 16.00
G_M32152_IG03:
- cmp dword ptr [rdi+0x08], 7
- jne SHORT G_M32152_IG06
- ;; size=6 bbWeight=0.50 PerfScore 2.00
+ mov eax, 1
+ ;; size=5 bbWeight=1 PerfScore 0.25
G_M32152_IG04:
- mov rsi, 0xD1FFAB1E
- or rsi, qword ptr [rdi+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rsi, rdx
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rdi+0x12]
- mov rdi, 0xD1FFAB1E
- xor rdi, rdx
- or rdi, rsi
- jne SHORT G_M32152_IG06
- ;; size=59 bbWeight=0.25 PerfScore 2.19
-G_M32152_IG05:
- mov edi, 1
- jmp SHORT G_M32152_IG10
- ;; size=7 bbWeight=1 PerfScore 2.25
-G_M32152_IG06:
- mov rdi, rax
- test rdi, rdi
- je SHORT G_M32152_IG09
- ;; size=8 bbWeight=1 PerfScore 1.50
-G_M32152_IG07:
- cmp dword ptr [rdi+0x08], 14
- jne SHORT G_M32152_IG09
- ;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M32152_IG08:
- vmovups xmm0, xmmword ptr [rdi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vmovups xmm1, xmmword ptr [rdi+0x18]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD00]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- jmp SHORT G_M32152_IG10
- ;; size=61 bbWeight=0.25 PerfScore 5.65
-G_M32152_IG09:
- xor edi, edi
- ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M32152_IG10:
- movzx rdi, dil
- mov rsi, rax
- test rsi, rsi
- je SHORT G_M32152_IG13
- ;; size=12 bbWeight=1 PerfScore 1.75
-G_M32152_IG11:
- cmp dword ptr [rsi+0x08], 7
- jne SHORT G_M32152_IG13
- ;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M32152_IG12:
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rsi+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rdx, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [rsi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rsi, rcx
- or rsi, rdx
- sete r13b
- movzx r13, r13b
- jmp SHORT G_M32152_IG14
- ;; size=67 bbWeight=0.25 PerfScore 2.75
-G_M32152_IG13:
- xor r13d, r13d
- ;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M32152_IG14:
- mov rsi, rax
- test rsi, rsi
- je SHORT G_M32152_IG17
- ;; size=8 bbWeight=1 PerfScore 1.50
-G_M32152_IG15:
- cmp dword ptr [rsi+0x08], 17
- jne SHORT G_M32152_IG17
- ;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M32152_IG16:
- vmovups ymm0, ymmword ptr [rsi+0x0C]
- vpor ymm0, ymm0, ymmword ptr [reloc @RWD64]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD96]
- vmovups ymm1, ymmword ptr [rsi+0x0E]
- vpor ymm1, ymm1, ymmword ptr [reloc @RWD64]
- vpxor ymm1, ymm1, ymmword ptr [reloc @RWD128]
- vpor ymm0, ymm1, ymm0
- vptest ymm0, ymm0
- sete r12b
- movzx r12, r12b
- jmp SHORT G_M32152_IG18
- ;; size=61 bbWeight=0.25 PerfScore 6.65
-G_M32152_IG17:
- xor r12d, r12d
- ;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M32152_IG18:
- or edi, r13d
- or edi, r12d
- jne SHORT G_M32152_IG23
- test rax, rax
- je SHORT G_M32152_IG21
- ;; size=13 bbWeight=1 PerfScore 2.75
-G_M32152_IG19:
- cmp dword ptr [rax+0x08], 9
- jne SHORT G_M32152_IG21
- ;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M32152_IG20:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD00]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD128]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
+ movzx r13, al
+ mov rdi, gword ptr [r15+0x08]
+ mov rsi, 0xD1FFAB1E ; 'package'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ mov r12d, eax
+ mov rdi, gword ptr [r15+0x08]
+ mov rsi, 0xD1FFAB1E ; 'referenceassembly'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ mov dword ptr [rbp-0x2C], eax
+ or r13d, r12d
+ or r13d, eax
+ jne SHORT G_M32152_IG07
+ mov rdi, gword ptr [r15+0x08]
+ mov rsi, 0xD1FFAB1E ; 'reference'
+ mov edx, 5
+ mov rcx, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rcx]System.String:Equals(System.String,System.String,int):ubyte
test eax, eax
- jne SHORT G_M32152_IG23
- ;; size=61 bbWeight=1 PerfScore 21.83
-G_M32152_IG21:
+ jne SHORT G_M32152_IG07
+ ;; size=115 bbWeight=1 PerfScore 21.50
+G_M32152_IG05:
xor eax, eax
;; size=2 bbWeight=1 PerfScore 0.25
-G_M32152_IG22:
- vzeroupper
- add rsp, 88
+G_M32152_IG06:
+ add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
-G_M32152_IG23:
+ ;; size=15 bbWeight=1 PerfScore 4.25
+G_M32152_IG07:
mov rdi, gword ptr [rbx+0x10]
test rdi, rdi
- je G_M32152_IG65
+ je G_M32152_IG49
cmp dword ptr [rdi+0x08], 0
- jne SHORT G_M32152_IG24
- mov rax, 0xD1FFAB1E ; 'refs'
- mov gword ptr [rbp-0x50], rax
- jmp SHORT G_M32152_IG27
- ;; size=35 bbWeight=1 PerfScore 10.50
-G_M32152_IG24:
+ jne SHORT G_M32152_IG08
+ mov r13, 0xD1FFAB1E ; 'refs'
+ jmp SHORT G_M32152_IG10
+ ;; size=31 bbWeight=1 PerfScore 9.50
+G_M32152_IG08:
mov r8, 0xD1FFAB1E
lea rsi, bword ptr [rdi+0x0C]
mov edi, dword ptr [rdi+0x08]
- mov eax, edi
- lea edi, [rax-0x01]
- cmp edi, eax
- jae G_M32152_IG63
+ mov r10d, edi
+ lea edi, [r10-0x01]
+ cmp edi, r10d
+ jae G_M32152_IG47
cmp word ptr [rsi+2*rdi], 47
- je SHORT G_M32152_IG25
+ je SHORT G_M32152_IG09
mov rdx, 0xD1FFAB1E
mov rdi, rsi
- mov esi, eax
+ mov esi, r10d
mov ecx, 1
mov r9d, 4
- mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- call [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- jmp SHORT G_M32152_IG26
- ;; size=77 bbWeight=1 PerfScore 15.25
-G_M32152_IG25:
+ mov r10, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
+ call [r10]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
+ mov r13, rax
+ jmp SHORT G_M32152_IG10
+ ;; size=85 bbWeight=1 PerfScore 15.50
+G_M32152_IG09:
mov rdi, rsi
- mov esi, eax
+ mov esi, r10d
mov rdx, r8
mov ecx, 4
- mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- call [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- ;; size=25 bbWeight=1 PerfScore 4.25
-G_M32152_IG26:
- mov gword ptr [rbp-0x50], rax
- ;; size=4 bbWeight=1 PerfScore 1.00
-G_M32152_IG27:
+ mov r8, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
+ call [r8]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
+ mov r13, rax
+ ;; size=30 bbWeight=1 PerfScore 4.50
+G_M32152_IG10:
mov rdi, gword ptr [rbx+0x08]
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IFileSystem:get_Directory():Microsoft.Extensions.DependencyModel.IDirectory:this
call [r11]Microsoft.Extensions.DependencyModel.IFileSystem:get_Directory():Microsoft.Extensions.DependencyModel.IDirectory:this
mov rdi, rax
- mov rsi, gword ptr [rbp-0x50]
+ mov rsi, r13
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IDirectory:Exists(System.String):ubyte:this
call [r11]Microsoft.Extensions.DependencyModel.IDirectory:Exists(System.String):ubyte:this
- mov dword ptr [rbp-0x2C], eax
- test r12d, r12d
- je G_M32152_IG29
+ mov dword ptr [rbp-0x30], eax
+ cmp dword ptr [rbp-0x2C], 0
+ je G_M32152_IG12
test eax, eax
- je G_M32152_IG21
- ;; size=57 bbWeight=1 PerfScore 13.25
-G_M32152_IG28:
+ je G_M32152_IG05
+ ;; size=57 bbWeight=1 PerfScore 14.25
+G_M32152_IG11:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String]
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov gword ptr [rbp-0x60], rax
mov rdi, 0xD1FFAB1E ; const ptr
- mov rax, gword ptr [rdi]
- mov gword ptr [rbp-0x70], rax
- lea rdi, bword ptr [r12+0x08]
- mov rsi, rax
+ mov rcx, gword ptr [rdi]
+ mov gword ptr [rbp-0x78], rcx
+ lea rdi, bword ptr [rax+0x08]
+ mov rsi, rcx
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [rbx+0x10]
- inc dword ptr [r12+0x14]
- mov rdi, r12
- 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
- cmp dword ptr [rbp-0x2C], 0
- je G_M32152_IG35
- mov ecx, dword ptr [r12+0x10]
- mov dword ptr [rbp-0x38], ecx
- mov rdx, gword ptr [r12+0x08]
- mov gword ptr [rbp-0x78], rdx
- cmp ecx, dword ptr [rdx+0x08]
- jne G_M32152_IG33
- mov esi, ecx
+ mov rax, gword ptr [rbp-0x60]
+ inc dword ptr [rax+0x14]
+ mov rdi, rax
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+ call [rcx]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+ mov rax, gword ptr [rbp-0x60]
+ mov gword ptr [rbp-0x48], rax
+ cmp dword ptr [rbp-0x30], 0
+ je G_M32152_IG18
+ mov edx, dword ptr [rax+0x10]
+ mov dword ptr [rbp-0x3C], edx
+ mov r8, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x80], r8
+ cmp edx, dword ptr [r8+0x08]
+ jne G_M32152_IG16
+ mov esi, edx
add esi, 1
- jo G_M32152_IG62
- cmp dword ptr [rdx+0x08], 0
- je SHORT G_M32152_IG30
- mov edi, dword ptr [rdx+0x08]
+ jo G_M32152_IG46
+ cmp dword ptr [r8+0x08], 0
+ je SHORT G_M32152_IG13
+ mov edi, dword ptr [r8+0x08]
add edi, edi
- jmp SHORT G_M32152_IG31
- ;; size=132 bbWeight=1 PerfScore 37.75
-G_M32152_IG29:
- jmp G_M32152_IG28
+ jmp SHORT G_M32152_IG14
+ ;; size=142 bbWeight=1 PerfScore 41.50
+G_M32152_IG12:
+ jmp G_M32152_IG11
;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M32152_IG30:
+G_M32152_IG13:
mov edi, 4
;; size=5 bbWeight=1 PerfScore 0.25
-G_M32152_IG31:
- mov r8d, 0xD1FFAB1E
+G_M32152_IG14:
+ mov r9d, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
- cmova edi, r8d
+ cmova edi, r9d
cmp edi, esi
cmovl edi, esi
movsxd rsi, edi
mov rdi, 0xD1FFAB1E ; System.String[]
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x58], rax
- mov r9d, dword ptr [rbp-0x38]
+ mov gword ptr [rbp-0x68], rax
+ mov r9d, dword ptr [rbp-0x3C]
test r9d, r9d
- je SHORT G_M32152_IG32
- mov rdi, gword ptr [rbp-0x78]
+ je SHORT G_M32152_IG15
+ mov rdi, gword ptr [rbp-0x80]
mov r8d, r9d
mov rdx, rax
xor esi, esi
mov ecx, 1
mov r9, 0xD1FFAB1E ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
call [r9]System.Array:Copy(System.Array,int,System.Array,int,int)
- mov rax, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x68]
;; size=86 bbWeight=1 PerfScore 12.25
-G_M32152_IG32:
- lea rdi, bword ptr [r12+0x08]
+G_M32152_IG15:
+ mov rcx, gword ptr [rbp-0x48]
+ lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- jmp SHORT G_M32152_IG34
- ;; size=15 bbWeight=1 PerfScore 3.75
-G_M32152_IG33:
- test ecx, ecx
- jle SHORT G_M32152_IG34
- mov rdi, rdx
- mov r8d, ecx
+ jmp SHORT G_M32152_IG17
+ ;; size=18 bbWeight=1 PerfScore 4.75
+G_M32152_IG16:
+ test edx, edx
+ jle SHORT G_M32152_IG17
+ mov rdi, r8
+ mov r8d, edx
+ mov rdx, gword ptr [rbp-0x80]
xor esi, esi
mov ecx, 1
mov r9, 0xD1FFAB1E ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
call [r9]System.Array:Copy(System.Array,int,System.Array,int,int)
- ;; size=30 bbWeight=1 PerfScore 5.50
-G_M32152_IG34:
- mov rdi, gword ptr [r12+0x08]
- mov rdx, gword ptr [rbp-0x50]
+ ;; size=34 bbWeight=1 PerfScore 6.50
+G_M32152_IG17:
+ mov rax, gword ptr [rbp-0x48]
+ mov rdi, gword ptr [rax+0x08]
+ mov rdx, r13
xor esi, esi
- mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
- call [rax]CORINFO_HELP_ARRADDR_ST
- inc dword ptr [r12+0x10]
- inc dword ptr [r12+0x14]
- ;; size=33 bbWeight=1 PerfScore 12.50
-G_M32152_IG35:
+ mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
+ call [rcx]CORINFO_HELP_ARRADDR_ST
+ mov r13, gword ptr [rbp-0x48]
+ inc dword ptr [r13+0x10]
+ inc dword ptr [r13+0x14]
+ mov rax, gword ptr [rbp-0x48]
+ ;; size=41 bbWeight=1 PerfScore 14.75
+G_M32152_IG18:
mov rdi, gword ptr [rbx+0x18]
mov rdi, gword ptr [rdi+0x10]
- mov eax, dword ptr [rbp-0x2C]
- test eax, r13d
- je G_M32152_IG43
+ mov ecx, dword ptr [rbp-0x30]
+ test ecx, r12d
+ je SHORT G_M32152_IG20
test rdi, rdi
- je G_M32152_IG43
+ je SHORT G_M32152_IG19
cmp dword ptr [rdi+0x08], 0
- je G_M32152_IG43
- mov rax, 0xD1FFAB1E ; code for System.IO.Path:GetDirectoryName(System.String):System.String
- call [rax]System.IO.Path:GetDirectoryName(System.String):System.String
+ je G_M32152_IG27
+ mov rcx, 0xD1FFAB1E ; code for System.IO.Path:GetDirectoryName(System.String):System.String
+ call [rcx]System.IO.Path:GetDirectoryName(System.String):System.String
mov r13, rax
test r13, r13
- je G_M32152_IG65
+ je G_M32152_IG49
cmp dword ptr [r13+0x08], 0
- jne SHORT G_M32152_IG36
- mov rax, 0xD1FFAB1E ; 'refs'
- mov gword ptr [rbp-0x60], rax
- jmp SHORT G_M32152_IG39
- ;; size=86 bbWeight=1 PerfScore 23.50
-G_M32152_IG36:
+ jne SHORT G_M32152_IG21
+ mov r12, 0xD1FFAB1E ; 'refs'
+ jmp SHORT G_M32152_IG23
+ ;; size=74 bbWeight=1 PerfScore 22.50
+G_M32152_IG19:
+ jmp G_M32152_IG27
+ ;; size=5 bbWeight=0.50 PerfScore 1.00
+G_M32152_IG20:
+ jmp G_M32152_IG27
+ ;; size=5 bbWeight=0.50 PerfScore 1.00
+G_M32152_IG21:
mov r8, 0xD1FFAB1E
lea rdi, bword ptr [r13+0x0C]
mov esi, dword ptr [r13+0x08]
lea edx, [rsi-0x01]
cmp edx, esi
- jae G_M32152_IG63
+ jae G_M32152_IG47
cmp word ptr [rdi+2*rdx], 47
- je SHORT G_M32152_IG37
+ je SHORT G_M32152_IG22
mov rdx, 0xD1FFAB1E
mov ecx, 1
mov r9d, 4
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
call [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- jmp SHORT G_M32152_IG38
- ;; size=71 bbWeight=1 PerfScore 14.50
-G_M32152_IG37:
+ mov r12, rax
+ jmp SHORT G_M32152_IG23
+ ;; size=74 bbWeight=1 PerfScore 14.75
+G_M32152_IG22:
mov rdx, r8
mov ecx, 4
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
call [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
- ;; size=20 bbWeight=1 PerfScore 3.75
-G_M32152_IG38:
- mov gword ptr [rbp-0x60], rax
- ;; size=4 bbWeight=1 PerfScore 1.00
-G_M32152_IG39:
+ mov r12, rax
+ ;; size=23 bbWeight=1 PerfScore 4.00
+G_M32152_IG23:
mov rdi, gword ptr [rbx+0x08]
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IFileSystem:get_Directory():Microsoft.Extensions.DependencyModel.IDirectory:this
call [r11]Microsoft.Extensions.DependencyModel.IFileSystem:get_Directory():Microsoft.Extensions.DependencyModel.IDirectory:this
mov rdi, rax
- mov rsi, gword ptr [rbp-0x60]
+ mov rsi, r12
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IDirectory:Exists(System.String):ubyte:this
call [r11]Microsoft.Extensions.DependencyModel.IDirectory:Exists(System.String):ubyte:this
test eax, eax
- je SHORT G_M32152_IG41
- inc dword ptr [r12+0x14]
- mov rdi, gword ptr [r12+0x08]
- mov esi, dword ptr [r12+0x10]
+ je SHORT G_M32152_IG25
+ mov rax, gword ptr [rbp-0x48]
+ inc dword ptr [rax+0x14]
+ mov rdi, gword ptr [rax+0x08]
+ mov esi, dword ptr [rax+0x10]
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M32152_IG40
- lea eax, [rsi+0x01]
- mov dword ptr [r12+0x10], eax
+ jbe SHORT G_M32152_IG24
+ lea ecx, [rsi+0x01]
+ mov dword ptr [rax+0x10], ecx
lea rdi, bword ptr [rdi+8*rsi+0x10]
- mov rsi, gword ptr [rbp-0x60]
+ mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- jmp SHORT G_M32152_IG41
- ;; size=85 bbWeight=1 PerfScore 28.50
-G_M32152_IG40:
- mov rdi, r12
- mov rsi, gword ptr [rbp-0x60]
- 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=19 bbWeight=1 PerfScore 4.50
-G_M32152_IG41:
+ jmp SHORT G_M32152_IG25
+ ;; size=80 bbWeight=1 PerfScore 28.00
+G_M32152_IG24:
+ mov rdi, rax
+ mov rsi, r12
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+ call [rcx]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
+ ;; size=18 bbWeight=1 PerfScore 3.75
+G_M32152_IG25:
+ mov r12, gword ptr [rbp-0x48]
inc dword ptr [r12+0x14]
mov rdi, gword ptr [r12+0x08]
mov esi, dword ptr [r12+0x10]
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M32152_IG42
+ jbe SHORT G_M32152_IG26
lea eax, [rsi+0x01]
mov dword ptr [r12+0x10], eax
lea rdi, bword ptr [rdi+8*rsi+0x10]
mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
- jmp SHORT G_M32152_IG43
- ;; size=43 bbWeight=1 PerfScore 16.75
-G_M32152_IG42:
+ jmp SHORT G_M32152_IG27
+ ;; size=47 bbWeight=1 PerfScore 17.75
+G_M32152_IG26:
mov rdi, r12
mov rsi, r13
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=1 PerfScore 3.75
-G_M32152_IG43:
+G_M32152_IG27:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.String]
call CORINFO_HELP_NEWSFAST
mov r13, rax
lea rdi, bword ptr [r13+0x08]
- mov rsi, gword ptr [rbp-0x70]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [r15+0x50]
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
call [r11]System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
- mov gword ptr [rbp-0x40], rax
+ mov gword ptr [rbp-0x50], rax
;; size=52 bbWeight=1 PerfScore 10.25
-G_M32152_IG44:
+G_M32152_IG28:
mov rdi, rax
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M32152_IG54
+ je G_M32152_IG38
;; size=24 bbWeight=1 PerfScore 4.75
-G_M32152_IG45:
- mov rdi, gword ptr [rbp-0x40]
+G_M32152_IG29:
+ mov rdi, gword ptr [rbp-0x50]
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
call [r11]System.Collections.Generic.IEnumerator`1[System.__Canon]:get_Current():System.__Canon:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.IO.Path:GetFileName(System.String):System.String
call [rax]System.IO.Path:GetFileName(System.String):System.String
mov r15, rax
+ mov r12, gword ptr [rbp-0x48]
mov rdi, r12
mov eax, dword ptr [rdi+0x14]
xor edi, edi
- mov dword ptr [rbp-0x34], eax
- jmp SHORT G_M32152_IG47
- ;; size=48 bbWeight=8 PerfScore 108.00
-G_M32152_IG46:
+ mov dword ptr [rbp-0x38], eax
+ jmp SHORT G_M32152_IG31
+ ;; size=52 bbWeight=8 PerfScore 116.00
+G_M32152_IG30:
mov rcx, gword ptr [rbx+0x08]
- mov gword ptr [rbp-0x68], rcx
+ mov gword ptr [rbp-0x70], rcx
mov rdi, rsi
mov rsi, r15
mov rdx, 0xD1FFAB1E ; code for System.IO.Path:Combine(System.String,System.String):System.String
call [rdx]System.IO.Path:Combine(System.String,System.String):System.String
- mov gword ptr [rbp-0x48], rax
- mov rdi, gword ptr [rbp-0x68]
+ mov gword ptr [rbp-0x58], rax
+ mov rdi, gword ptr [rbp-0x70]
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IFileSystem:get_File():Microsoft.Extensions.DependencyModel.IFile:this
call [r11]Microsoft.Extensions.DependencyModel.IFileSystem:get_File():Microsoft.Extensions.DependencyModel.IFile:this
mov rdi, rax
- mov rsi, gword ptr [rbp-0x48]
+ mov rsi, gword ptr [rbp-0x58]
mov r11, 0xD1FFAB1E ; code for Microsoft.Extensions.DependencyModel.IFile:Exists(System.String):ubyte:this
call [r11]Microsoft.Extensions.DependencyModel.IFile:Exists(System.String):ubyte:this
test eax, eax
- mov eax, dword ptr [rbp-0x34]
- mov edi, dword ptr [rbp-0x30]
- jne SHORT G_M32152_IG51
+ mov eax, dword ptr [rbp-0x38]
+ mov edi, dword ptr [rbp-0x34]
+ jne SHORT G_M32152_IG35
;; size=77 bbWeight=16 PerfScore 316.00
-G_M32152_IG47:
+G_M32152_IG31:
mov esi, dword ptr [r12+0x14]
cmp eax, esi
- jne SHORT G_M32152_IG50
+ jne SHORT G_M32152_IG34
;; size=9 bbWeight=64 PerfScore 208.00
-G_M32152_IG48:
+G_M32152_IG32:
mov esi, dword ptr [r12+0x10]
cmp edi, esi
- jae G_M32152_IG55
+ jae G_M32152_IG39
mov rsi, gword ptr [r12+0x08]
cmp edi, dword ptr [rsi+0x08]
- jae SHORT G_M32152_IG49
+ jae SHORT G_M32152_IG33
mov ecx, edi
mov rsi, gword ptr [rsi+8*rcx+0x10]
inc edi
- mov dword ptr [rbp-0x30], edi
- jmp SHORT G_M32152_IG46
+ mov dword ptr [rbp-0x34], edi
+ jmp SHORT G_M32152_IG30
;; size=37 bbWeight=32 PerfScore 472.00
-G_M32152_IG49:
+G_M32152_IG33:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M32152_IG50:
+G_M32152_IG34:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
call [rax]System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M32152_IG51:
- mov r15, gword ptr [rbp-0x48]
+G_M32152_IG35:
+ mov r15, gword ptr [rbp-0x58]
inc dword ptr [r13+0x14]
mov rdi, gword ptr [r13+0x08]
mov esi, dword ptr [r13+0x10]
mov eax, dword ptr [rdi+0x08]
cmp eax, esi
- jbe SHORT G_M32152_IG52
- lea ecx, [rsi+0x01]
- mov dword ptr [r13+0x10], ecx
- cmp esi, eax
- jae SHORT G_M32152_IG49
+ jbe SHORT G_M32152_IG36
+ lea eax, [rsi+0x01]
+ mov dword ptr [r13+0x10], eax
lea rdi, bword ptr [rdi+8*rsi+0x10]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
- jmp SHORT G_M32152_IG53
- ;; size=49 bbWeight=4 PerfScore 73.00
-G_M32152_IG52:
+ jmp SHORT G_M32152_IG37
+ ;; size=45 bbWeight=4 PerfScore 68.00
+G_M32152_IG36:
mov rdi, r13
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
;; size=18 bbWeight=4 PerfScore 15.00
-G_M32152_IG53:
- mov rdi, gword ptr [rbp-0x40]
+G_M32152_IG37:
+ mov rdi, gword ptr [rbp-0x50]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- jne G_M32152_IG45
+ jne G_M32152_IG29
;; size=25 bbWeight=8 PerfScore 44.00
-G_M32152_IG54:
- mov rdi, gword ptr [rbp-0x40]
+G_M32152_IG38:
+ mov rdi, gword ptr [rbp-0x50]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- jmp SHORT G_M32152_IG57
+ jmp SHORT G_M32152_IG41
;; size=19 bbWeight=1 PerfScore 6.25
-G_M32152_IG55:
+G_M32152_IG39:
mov rdi, rsp
- call G_M32152_IG66
+ call G_M32152_IG50
;; size=8 bbWeight=1 PerfScore 1.25
-G_M32152_IG56:
- jmp SHORT G_M32152_IG60
+G_M32152_IG40:
+ jmp SHORT G_M32152_IG44
;; size=2 bbWeight=1 PerfScore 2.00
-G_M32152_IG57:
+G_M32152_IG41:
test r14, r14
- je SHORT G_M32152_IG58
+ je SHORT G_M32152_IG42
mov rdi, r14
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.__Canon]):this
call [rax]System.Collections.Generic.List`1[System.__Canon]:AddRange(System.Collections.Generic.IEnumerable`1[System.__Canon]):this
;; size=23 bbWeight=1 PerfScore 5.00
-G_M32152_IG58:
+G_M32152_IG42:
mov eax, 1
;; size=5 bbWeight=1 PerfScore 0.25
-G_M32152_IG59:
- vzeroupper
- add rsp, 88
+G_M32152_IG43:
+ add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
-G_M32152_IG60:
+ ;; size=15 bbWeight=1 PerfScore 4.25
+G_M32152_IG44:
xor eax, eax
;; size=2 bbWeight=1 PerfScore 0.25
-G_M32152_IG61:
- vzeroupper
- add rsp, 88
+G_M32152_IG45:
+ add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
-G_M32152_IG62:
+ ;; size=15 bbWeight=1 PerfScore 4.25
+G_M32152_IG46:
call CORINFO_HELP_OVERFLOW
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M32152_IG63:
+G_M32152_IG47:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M32152_IG64:
+G_M32152_IG48:
mov edi, 0x989
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:Throw(System.String)
call [rax]System.ThrowHelper:Throw(System.String)
int3
;; size=36 bbWeight=0 PerfScore 0.00
-G_M32152_IG65:
+G_M32152_IG49:
mov edi, 0x1AB8F
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_M32152_IG66:
+G_M32152_IG50:
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+0x80]
+ lea rbp, [rbp+0x90]
;; size=25 bbWeight=1 PerfScore 10.50
-G_M32152_IG67:
- mov rdi, gword ptr [rbp-0x40]
+G_M32152_IG51:
+ mov rdi, gword ptr [rbp-0x50]
test rdi, rdi
- je SHORT G_M32152_IG68
+ je SHORT G_M32152_IG52
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=22 bbWeight=1 PerfScore 5.50
-G_M32152_IG68:
+G_M32152_IG52:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M32152_IG69:
- vzeroupper
+G_M32152_IG53:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 007500620073006Dh, 00700064006C0069h
-RWD32 dq 006F007200700064h, 007400630065006Ah
-RWD48 dd 00000000h, 00000000h, 00000000h, 00000000h
-RWD64 dq 0020002000200020h, 0020002000200020h, 0020002000200020h, 0020002000200020h
-RWD96 dq 0065006600650072h, 0063006E00650072h, 0073007300610065h, 006C0062006D0065h
-RWD128 dq 0072006500660065h, 00650063006E0065h, 0065007300730061h, 0079006C0062006Dh
-
+ ;; size=15 bbWeight=1 PerfScore 4.25
-; Total bytes of code 1924, prolog size 35, PerfScore 1589.44, instruction count 470, allocated bytes for code 1924 (MethodHash=6b798267) for method Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 1724, prolog size 38, PerfScore 1570.00, instruction count 424, allocated bytes for code 1724 (MethodHash=6b798267) for method Microsoft.Extensions.DependencyModel.Resolution.AppBaseCompilationAssemblyResolver:TryResolveAssemblyPaths(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List`1[System.String]):ubyte:this (FullOpts)
-159 (-1.97 % of base) - System.Xml.XmlTextReaderImpl+d__505:MoveNext():this
; Assembly listing for method System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505:MoveNext():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; 241 single block inlinees; 46 inlinees without PGO data
+; 0 inlinees with PGO data; 286 single block inlinees; 66 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] (167,1134 ) byref -> [rbp-0xD8] this EH-live single-def
-; V01 loc0 [V01,T223] ( 3, 2.91) int -> rbx
-; V02 loc1 [V02,T05] (132, 555 ) ref -> r15 class-hnd exact single-def <System.Xml.XmlTextReaderImpl>
-; V03 loc2 [V03,T174] ( 4, 4 ) ubyte -> rsi
+; V00 this [V00,T02] (167,1162 ) byref -> [rbp-0xD8] this EH-live single-def
+; V01 loc0 [V01,T248] ( 3, 2.91) int -> rbx
+; V02 loc1 [V02,T03] (133, 660 ) ref -> r15 class-hnd exact single-def <System.Xml.XmlTextReaderImpl>
+; V03 loc2 [V03,T199] ( 4, 4 ) ubyte -> rsi
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
; V05 loc4 [V05 ] ( 10, 37 ) struct (16) [rbp-0x38] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V06 loc5 [V06 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-; V07 loc6 [V07,T146] ( 2, 8 ) int -> r14
-; V08 loc7 [V08,T106] ( 4, 16 ) int -> r14
-; V09 loc8 [V09,T04] ( 4, 576 ) ref -> r14 class-hnd <ushort[]>
+; V07 loc6 [V07,T172] ( 2, 8 ) int -> r14
+; V08 loc7 [V08,T124] ( 4, 16 ) int -> r14
+; V09 loc8 [V09,T05] ( 4, 576 ) ref -> r14 class-hnd <ushort[]>
;* V10 loc9 [V10 ] ( 0, 0 ) int -> zero-ref
; V11 loc10 [V11 ] ( 10, 28 ) struct (16) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-; V12 loc11 [V12,T210] ( 8, 4.50) ref -> rax class-hnd exact <System.String>
+; V12 loc11 [V12,T116] ( 16, 16 ) ref -> r14 class-hnd exact <System.String>
; V13 loc12 [V13 ] ( 10, 10 ) struct (16) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V14 loc13 [V14 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
; V15 loc14 [V15 ] ( 10, 10 ) struct (16) [rbp-0x68] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V16 loc15 [V16 ] ( 0, 0 ) int -> zero-ref
; V17 loc16 [V17 ] ( 10, 37 ) struct (16) [rbp-0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V18 loc17 [V18 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ushort]>
; V19 loc18 [V19 ] ( 10, 37 ) struct (16) [rbp-0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
; V20 loc19 [V20 ] ( 10, 37 ) struct (16) [rbp-0x98] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V21 loc20 [V21 ] ( 0, 0 ) int -> zero-ref
-; V22 loc21 [V22,T38] ( 3, 48 ) ref -> r13 class-hnd exact <System.String>
-; V23 loc22 [V23,T50] ( 2, 32 ) ref -> r13 class-hnd exact <System.String>
+; V22 loc21 [V22,T42] ( 3, 48 ) ref -> r13 class-hnd exact <System.String>
+; V23 loc22 [V23,T61] ( 2, 32 ) ref -> r13 class-hnd exact <System.String>
;* V24 loc23 [V24 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ushort]>
;* V25 loc24 [V25 ] ( 0, 0 ) int -> zero-ref
; V26 loc25 [V26 ] ( 10, 177 ) struct (16) [rbp-0xA8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V27 loc26 [V27 ] ( 0, 0 ) ubyte -> zero-ref
-; V28 loc27 [V28,T147] ( 2, 8 ) ubyte -> rdi
+; V28 loc27 [V28,T173] ( 2, 8 ) ubyte -> rdi
;* V29 loc28 [V29 ] ( 0, 0 ) int -> zero-ref
; V30 loc29 [V30 ] ( 10, 37 ) struct (16) [rbp-0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-; V31 loc30 [V31,T211] ( 8, 4.50) ref -> rax class-hnd exact single-def <System.String>
+; V31 loc30 [V31,T117] ( 16, 16 ) ref -> r14 class-hnd exact single-def <System.String>
; V32 loc31 [V32 ] ( 10, 10 ) struct (16) [rbp-0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V33 loc32 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V34 OutArgs [V34 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V35 tmp1 [V35,T149] ( 3, 5 ) ref -> rdi single-def "ISINST eval op1"
-;* V36 tmp2 [V36,T212] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Xml.SafeAsciiDecoder>
+; V35 tmp1 [V35,T174] ( 3, 5 ) ref -> rdi single-def "ISINST eval op1"
+;* V36 tmp2 [V36,T241] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Xml.SafeAsciiDecoder>
;* V37 tmp3 [V37 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V38 tmp4 [V38,T175] ( 2, 4 ) ref -> r14 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V38 tmp4 [V38,T206] ( 2, 4 ) ref -> r14 class-hnd exact single-def "non-inline candidate call" <System.String>
;* V39 tmp5 [V39 ] ( 0, 0 ) ref -> zero-ref single-def
;* V40 tmp6 [V40 ] ( 0, 0 ) ref -> zero-ref single-def
;* V41 tmp7 [V41 ] ( 0, 0 ) ref -> zero-ref
;* V42 tmp8 [V42 ] ( 0, 0 ) ref -> zero-ref
-; V43 tmp9 [V43,T226] ( 2, 2 ) ref -> rdx
+; V43 tmp9 [V43,T249] ( 2, 2 ) ref -> rdx
;* V44 tmp10 [V44 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ushort]>
-;* V45 tmp11 [V45,T234] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V46 tmp12 [V46,T151] ( 3, 6 ) byref -> rdi single-def "dup spill"
+;* V45 tmp11 [V45 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp12 [V46,T176] ( 3, 6 ) byref -> rdi single-def "dup spill"
;* V47 tmp13 [V47 ] ( 0, 0 ) byref -> zero-ref single-def
-; V48 tmp14 [V48,T152] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Text.StringBuilder>
+; V48 tmp14 [V48,T177] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Text.StringBuilder>
;* V49 tmp15 [V49 ] ( 0, 0 ) byref -> zero-ref
-; V50 tmp16 [V50,T215] ( 3, 3 ) ref -> rsi
+; V50 tmp16 [V50,T243] ( 3, 3 ) ref -> rsi
;* V51 tmp17 [V51 ] ( 0, 0 ) ref -> zero-ref
;* V52 tmp18 [V52 ] ( 0, 0 ) ref -> zero-ref
-; V53 tmp19 [V53,T130] ( 3, 12 ) ref -> rsi
-;* V54 tmp20 [V54,T148] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
+; V53 tmp19 [V53,T147] ( 3, 12 ) ref -> rsi
+;* V54 tmp20 [V54 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V55 tmp21 [V55 ] ( 0, 0 ) ref -> zero-ref
;* V56 tmp22 [V56 ] ( 0, 0 ) ref -> zero-ref
-; V57 tmp23 [V57,T253] ( 4, 0 ) ref -> r14
-; V58 tmp24 [V58,T56] ( 3, 24 ) byref -> rsi "dup spill"
-; V59 tmp25 [V59,T57] ( 3, 24 ) byref -> rcx "dup spill"
+; V57 tmp23 [V57,T271] ( 4, 0 ) ref -> r14
+; V58 tmp24 [V58,T68] ( 3, 24 ) byref -> rsi "dup spill"
+; V59 tmp25 [V59,T69] ( 3, 24 ) byref -> rcx "dup spill"
;* V60 tmp26 [V60 ] ( 0, 0 ) ref -> zero-ref
;* V61 tmp27 [V61 ] ( 0, 0 ) ref -> zero-ref
-; V62 tmp28 [V62,T254] ( 4, 0 ) ref -> r14
+; V62 tmp28 [V62,T148] ( 3, 12 ) ref -> rax
;* V63 tmp29 [V63 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V64 tmp30 [V64 ] ( 0, 0 ) int -> zero-ref "dup spill"
-;* V65 tmp31 [V65,T54] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V66 tmp32 [V66,T296] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V67 tmp33 [V67,T262] ( 3, 0 ) ref -> r14 class-hnd exact "impAppendStmt" <System.String>
-; V68 tmp34 [V68,T271] ( 3, 0 ) int -> r13 "impAppendStmt"
+;* V65 tmp31 [V65 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V66 tmp32 [V66 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V67 tmp33 [V67,T277] ( 3, 0 ) ref -> r14 class-hnd exact "impAppendStmt" <System.String>
+; V68 tmp34 [V68,T283] ( 3, 0 ) int -> r13 "impAppendStmt"
;* V69 tmp35 [V69 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ushort]>
-;* V70 tmp36 [V70,T55] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V71 tmp37 [V71,T58] ( 3, 24 ) ref -> rcx class-hnd exact "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
-; V72 tmp38 [V72,T123] ( 2, 16 ) int -> rdi "impAppendStmt"
+;* V70 tmp36 [V70 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V71 tmp37 [V71,T70] ( 3, 24 ) ref -> rcx class-hnd exact "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
+; V72 tmp38 [V72,T140] ( 2, 16 ) int -> rdi "impAppendStmt"
;* V73 tmp39 [V73 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V74 tmp40 [V74 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V75 tmp41 [V75,T59] ( 3, 24 ) ref -> rcx class-hnd exact "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
-; V76 tmp42 [V76,T124] ( 2, 16 ) int -> rsi "impAppendStmt"
-; V77 tmp43 [V77,T108] ( 2, 16 ) int -> rdi "spilling unroll qmark"
-; V78 tmp44 [V78,T109] ( 2, 16 ) int -> rdi "spilling unroll qmark"
+; V75 tmp41 [V75,T71] ( 3, 24 ) ref -> rcx class-hnd exact "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
+; V76 tmp42 [V76,T141] ( 2, 16 ) int -> rsi "impAppendStmt"
+;* V77 tmp43 [V77 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V78 tmp44 [V78 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V79 tmp45 [V79 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V80 tmp46 [V80,T153] ( 3, 6 ) byref -> rdi "dup spill"
+; V80 tmp46 [V80,T178] ( 3, 6 ) byref -> rdi "dup spill"
;* V81 tmp47 [V81 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V82 tmp48 [V82,T150] ( 3, 5 ) ref -> rdi "ISINST eval op1"
-;* V83 tmp49 [V83,T213] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Xml.SafeAsciiDecoder>
+; V82 tmp48 [V82,T175] ( 3, 5 ) ref -> rdi "ISINST eval op1"
+;* V83 tmp49 [V83,T242] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Xml.SafeAsciiDecoder>
;* V84 tmp50 [V84 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V85 tmp51 [V85,T176] ( 2, 4 ) ref -> r14 class-hnd exact "non-inline candidate call" <System.String>
+; V85 tmp51 [V85,T207] ( 2, 4 ) ref -> r14 class-hnd exact "non-inline candidate call" <System.String>
;* V86 tmp52 [V86 ] ( 0, 0 ) ref -> zero-ref
;* V87 tmp53 [V87 ] ( 0, 0 ) ref -> zero-ref
;* V88 tmp54 [V88 ] ( 0, 0 ) ref -> zero-ref
;* V89 tmp55 [V89 ] ( 0, 0 ) ref -> zero-ref
-; V90 tmp56 [V90,T227] ( 2, 2 ) ref -> rdx
-; V91 tmp57 [V91,T154] ( 3, 6 ) ref -> r14 class-hnd exact "non-inline candidate call" <System.Xml.XmlTextReaderImpl+NodeData>
+; V90 tmp56 [V90,T250] ( 2, 2 ) ref -> rdx
+; V91 tmp57 [V91,T179] ( 3, 6 ) ref -> r14 class-hnd exact "non-inline candidate call" <System.Xml.XmlTextReaderImpl+NodeData>
;* V92 tmp58 [V92 ] ( 0, 0 ) ref -> zero-ref
;* V93 tmp59 [V93 ] ( 0, 0 ) ref -> zero-ref
-; V94 tmp60 [V94,T255] ( 4, 0 ) ref -> r14
+; V94 tmp60 [V94,T272] ( 4, 0 ) ref -> r14
;* V95 tmp61 [V95 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V96 tmp62 [V96,T155] ( 3, 6 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
-; V97 tmp63 [V97,T192] ( 2, 4 ) int -> rsi "impAppendStmt"
+; V96 tmp62 [V96,T180] ( 3, 6 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.Xml.XmlTextReaderImpl+NodeData>
+; V97 tmp63 [V97,T223] ( 2, 4 ) int -> rsi "impAppendStmt"
;* V98 tmp64 [V98 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V99 tmp65 [V99 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V100 tmp66 [V100 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V101 tmp67 [V101 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V102 tmp68 [V102 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V103 tmp69 [V103 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V104 tmp70 [V104 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V105 tmp71 [V105 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V106 tmp72 [V106 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V107 tmp73 [V107 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V108 tmp74 [V108,T283] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-; V109 tmp75 [V109,T60] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V108 tmp74 [V108,T291] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V109 tmp75 [V109,T72] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V110 tmp76 [V110 ] ( 0, 0 ) ref -> zero-ref
;* V111 tmp77 [V111 ] ( 0, 0 ) ref -> zero-ref
;* V112 tmp78 [V112 ] ( 0, 0 ) int -> zero-ref
;* V113 tmp79 [V113 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V114 tmp80 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V115 tmp81 [V115,T198] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V116 tmp82 [V116,T110] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V115 tmp81 [V115,T229] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V116 tmp82 [V116,T126] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V117 tmp83 [V117 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V118 tmp84 [V118 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V119 tmp85 [V119 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V120 tmp86 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V121 tmp87 [V121,T61] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V122 tmp88 [V122,T111] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V123 tmp89 [V123,T137] ( 5, 10 ) ref -> rcx class-hnd single-def "Inlining Arg" <ushort[]>
-; V124 tmp90 [V124,T138] ( 5, 10 ) int -> rdx "Inlining Arg"
+; V121 tmp87 [V121,T73] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V122 tmp88 [V122,T127] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V123 tmp89 [V123,T159] ( 5, 10 ) ref -> rax class-hnd single-def "Inlining Arg" <ushort[]>
+; V124 tmp90 [V124,T160] ( 5, 10 ) int -> rcx "Inlining Arg"
;* V125 tmp91 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V126 tmp92 [V126 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
-; V127 tmp93 [V127,T177] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
-; V128 tmp94 [V128,T193] ( 2, 4 ) int -> r8 "Inlining Arg"
-;* V129 tmp95 [V129,T235] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V130 tmp96 [V130,T170] ( 3, 6 ) ushort -> rax "Inlining Arg"
-;* V131 tmp97 [V131 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V132 tmp98 [V132 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V133 tmp99 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V134 tmp100 [V134 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V135 tmp101 [V135,T156] ( 3, 6 ) byref -> rax single-def "Inlining Arg"
-; V136 tmp102 [V136,T194] ( 2, 4 ) int -> rcx "Inlining Arg"
-; V137 tmp103 [V137,T157] ( 3, 6 ) byref -> rdi single-def "Inlining Arg"
-; V138 tmp104 [V138,T100] ( 8, 16 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
-; V139 tmp105 [V139,T158] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
-; V140 tmp106 [V140,T62] ( 3, 24 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-; V141 tmp107 [V141,T63] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V142 tmp108 [V142 ] ( 0, 0 ) ref -> zero-ref
-;* V143 tmp109 [V143 ] ( 0, 0 ) ref -> zero-ref
-;* V144 tmp110 [V144 ] ( 0, 0 ) int -> zero-ref
-;* V145 tmp111 [V145 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V146 tmp112 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V147 tmp113 [V147,T199] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V148 tmp114 [V148,T112] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V149 tmp115 [V149 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V150 tmp116 [V150 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V151 tmp117 [V151 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V152 tmp118 [V152 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V153 tmp119 [V153,T64] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V154 tmp120 [V154,T113] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V155 tmp121 [V155,T272] ( 3, 0 ) int -> r13 "impAppendStmt"
-; V156 tmp122 [V156,T247] ( 11, 0 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
-;* V157 tmp123 [V157 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V158 tmp124 [V158,T263] ( 3, 0 ) byref -> r12 "Inlining Arg"
-; V159 tmp125 [V159,T256] ( 4, 0 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V160 tmp126 [V160,T273] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V161 tmp127 [V161,T284] ( 2, 0 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V162 tmp128 [V162,T285] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V163 tmp129 [V163,T178] ( 2, 4 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V164 tmp130 [V164,T264] ( 3, 0 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
-; V165 tmp131 [V165,T274] ( 3, 0 ) int -> r13 "impAppendStmt"
-; V166 tmp132 [V166,T248] ( 11, 0 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
-;* V167 tmp133 [V167 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V168 tmp134 [V168,T265] ( 3, 0 ) byref -> r12 "Inlining Arg"
-; V169 tmp135 [V169,T257] ( 4, 0 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V170 tmp136 [V170,T275] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V171 tmp137 [V171,T286] ( 2, 0 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V172 tmp138 [V172,T287] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-;* V173 tmp139 [V173 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V174 tmp140 [V174,T219] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V175 tmp141 [V175 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V176 tmp142 [V176,T220] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V177 tmp143 [V177 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V178 tmp144 [V178,T172] ( 2, 4 ) int -> rsi "spilling unroll qmark"
-; V179 tmp145 [V179,T101] ( 8, 16 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Text.UTF8Encoding>
-; V180 tmp146 [V180,T159] ( 3, 6 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V181 tmp147 [V181 ] ( 0, 0 ) ref -> zero-ref
-;* V182 tmp148 [V182 ] ( 0, 0 ) ref -> zero-ref
-;* V183 tmp149 [V183 ] ( 0, 0 ) int -> zero-ref
-;* V184 tmp150 [V184 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
-;* V185 tmp151 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
-;* V186 tmp152 [V186,T236] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V187 tmp153 [V187,T179] ( 2, 4 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V188 tmp154 [V188 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V189 tmp155 [V189 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V190 tmp156 [V190 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V191 tmp157 [V191 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V192 tmp158 [V192,T160] ( 3, 6 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-; V193 tmp159 [V193,T195] ( 2, 4 ) int -> rsi "Inlining Arg"
-; V194 tmp160 [V194,T161] ( 3, 6 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+; V127 tmp93 [V127,T208] ( 2, 4 ) byref -> rdx single-def "Inlining Arg"
+; V128 tmp94 [V128,T224] ( 2, 4 ) int -> rsi "Inlining Arg"
+;* V129 tmp95 [V129 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V130 tmp96 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V131 tmp97 [V131 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V132 tmp98 [V132,T246] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V133 tmp99 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V134 tmp100 [V134 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V135 tmp101 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V136 tmp102 [V136 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V137 tmp103 [V137 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V138 tmp104 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V139 tmp105 [V139 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V140 tmp106 [V140 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V141 tmp107 [V141 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V142 tmp108 [V142,T258] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V143 tmp109 [V143,T197] ( 3, 6 ) ushort -> rax "Inlining Arg"
+;* V144 tmp110 [V144 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V145 tmp111 [V145 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V146 tmp112 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V147 tmp113 [V147 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V148 tmp114 [V148,T181] ( 3, 6 ) byref -> rax single-def "Inlining Arg"
+; V149 tmp115 [V149,T225] ( 2, 4 ) int -> rcx "Inlining Arg"
+; V150 tmp116 [V150,T182] ( 3, 6 ) byref -> rdi single-def "Inlining Arg"
+; V151 tmp117 [V151,T118] ( 8, 16 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
+; V152 tmp118 [V152,T183] ( 3, 6 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
+; V153 tmp119 [V153,T74] ( 3, 24 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+; V154 tmp120 [V154,T75] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V155 tmp121 [V155 ] ( 0, 0 ) ref -> zero-ref
+;* V156 tmp122 [V156 ] ( 0, 0 ) ref -> zero-ref
+;* V157 tmp123 [V157 ] ( 0, 0 ) int -> zero-ref
+;* V158 tmp124 [V158 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V159 tmp125 [V159 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V160 tmp126 [V160,T230] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V161 tmp127 [V161,T128] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V162 tmp128 [V162 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V163 tmp129 [V163 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V164 tmp130 [V164 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V165 tmp131 [V165 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V166 tmp132 [V166,T76] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V167 tmp133 [V167,T129] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V168 tmp134 [V168,T284] ( 3, 0 ) int -> r13 "impAppendStmt"
+; V169 tmp135 [V169,T267] ( 11, 0 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
+;* V170 tmp136 [V170 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V171 tmp137 [V171,T278] ( 3, 0 ) byref -> r12 "Inlining Arg"
+; V172 tmp138 [V172,T273] ( 4, 0 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "dup spill" <System.String[]>
+; V173 tmp139 [V173,T285] ( 3, 0 ) int -> r12 "Inlining Arg"
+; V174 tmp140 [V174,T292] ( 2, 0 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V175 tmp141 [V175,T293] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+; V176 tmp142 [V176,T209] ( 2, 4 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+; V177 tmp143 [V177,T279] ( 3, 0 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
+; V178 tmp144 [V178,T286] ( 3, 0 ) int -> r13 "impAppendStmt"
+; V179 tmp145 [V179,T268] ( 11, 0 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
+;* V180 tmp146 [V180 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V181 tmp147 [V181,T280] ( 3, 0 ) byref -> r12 "Inlining Arg"
+; V182 tmp148 [V182,T274] ( 4, 0 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "dup spill" <System.String[]>
+; V183 tmp149 [V183,T287] ( 3, 0 ) int -> r12 "Inlining Arg"
+; V184 tmp150 [V184,T294] ( 2, 0 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V185 tmp151 [V185,T295] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+; V186 tmp152 [V186,T200] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V187 tmp153 [V187 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V188 tmp154 [V188,T201] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V189 tmp155 [V189 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V190 tmp156 [V190,T202] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V191 tmp157 [V191 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V192 tmp158 [V192,T119] ( 8, 16 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Text.UTF8Encoding>
+; V193 tmp159 [V193,T184] ( 3, 6 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V194 tmp160 [V194 ] ( 0, 0 ) ref -> zero-ref
;* V195 tmp161 [V195 ] ( 0, 0 ) ref -> zero-ref
-;* V196 tmp162 [V196 ] ( 0, 0 ) ref -> zero-ref
-;* V197 tmp163 [V197 ] ( 0, 0 ) int -> zero-ref
-;* V198 tmp164 [V198 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
-;* V199 tmp165 [V199 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
-;* V200 tmp166 [V200,T237] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V201 tmp167 [V201,T180] ( 2, 4 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V202 tmp168 [V202 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V196 tmp162 [V196 ] ( 0, 0 ) int -> zero-ref
+;* V197 tmp163 [V197 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V198 tmp164 [V198 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;* V199 tmp165 [V199,T259] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V200 tmp166 [V200,T210] ( 2, 4 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V201 tmp167 [V201 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V202 tmp168 [V202 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V203 tmp169 [V203 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V204 tmp170 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V205 tmp171 [V205 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V206 tmp172 [V206,T162] ( 3, 6 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-; V207 tmp173 [V207,T196] ( 2, 4 ) int -> rsi "Inlining Arg"
-; V208 tmp174 [V208,T65] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V204 tmp170 [V204 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V205 tmp171 [V205,T185] ( 3, 6 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+; V206 tmp172 [V206,T226] ( 2, 4 ) int -> rsi "Inlining Arg"
+; V207 tmp173 [V207,T186] ( 3, 6 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V208 tmp174 [V208 ] ( 0, 0 ) ref -> zero-ref
;* V209 tmp175 [V209 ] ( 0, 0 ) ref -> zero-ref
-;* V210 tmp176 [V210 ] ( 0, 0 ) ref -> zero-ref
-;* V211 tmp177 [V211 ] ( 0, 0 ) int -> zero-ref
-;* V212 tmp178 [V212 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V213 tmp179 [V213 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V214 tmp180 [V214,T200] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V215 tmp181 [V215,T114] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V216 tmp182 [V216 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V210 tmp176 [V210 ] ( 0, 0 ) int -> zero-ref
+;* V211 tmp177 [V211 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V212 tmp178 [V212 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;* V213 tmp179 [V213,T260] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V214 tmp180 [V214,T211] ( 2, 4 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V215 tmp181 [V215 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V216 tmp182 [V216 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V217 tmp183 [V217 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V218 tmp184 [V218 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V219 tmp185 [V219 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V220 tmp186 [V220,T66] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V221 tmp187 [V221,T115] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V222 tmp188 [V222,T44] ( 4, 32 ) ref -> rdi class-hnd "Inlining Arg" <ushort[]>
-; V223 tmp189 [V223,T45] ( 4, 32 ) int -> rdx "Inlining Arg"
-; V224 tmp190 [V224,T46] ( 4, 32 ) int -> rax "Inlining Arg"
-;* V225 tmp191 [V225 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;* V226 tmp192 [V226 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-;* V227 tmp193 [V227 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V228 tmp194 [V228,T40] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V229 tmp195 [V229,T47] ( 4, 32 ) int -> rsi "Inlining Arg"
-; V230 tmp196 [V230,T102] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V231 tmp197 [V231,T67] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
-;* V232 tmp198 [V232 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-;* V233 tmp199 [V233 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V234 tmp200 [V234,T41] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V235 tmp201 [V235,T48] ( 4, 32 ) int -> rsi "Inlining Arg"
-; V236 tmp202 [V236,T103] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V237 tmp203 [V237,T68] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
-;* V238 tmp204 [V238 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-;* V239 tmp205 [V239 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V240 tmp206 [V240,T42] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V241 tmp207 [V241,T49] ( 4, 32 ) int -> rsi "Inlining Arg"
-; V242 tmp208 [V242,T104] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
-; V243 tmp209 [V243,T69] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
-; V244 tmp210 [V244,T276] ( 3, 0 ) int -> r13 "impAppendStmt"
-; V245 tmp211 [V245,T249] ( 11, 0 ) ref -> [rbp-0x110] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
-;* V246 tmp212 [V246 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V247 tmp213 [V247,T266] ( 3, 0 ) byref -> r12 "Inlining Arg"
-; V248 tmp214 [V248,T258] ( 4, 0 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V249 tmp215 [V249,T277] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V250 tmp216 [V250,T288] ( 2, 0 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V251 tmp217 [V251,T289] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-;* V252 tmp218 [V252 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V253 tmp219 [V253,T70] ( 3, 24 ) byref -> rdx "Inlining Arg"
-; V254 tmp220 [V254,T125] ( 2, 16 ) int -> rdi "Inlining Arg"
-; V255 tmp221 [V255,T71] ( 3, 24 ) byref -> rcx "Inlining Arg"
-; V256 tmp222 [V256,T72] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V257 tmp223 [V257 ] ( 0, 0 ) ref -> zero-ref
-;* V258 tmp224 [V258 ] ( 0, 0 ) ref -> zero-ref
-;* V259 tmp225 [V259 ] ( 0, 0 ) int -> zero-ref
-;* V260 tmp226 [V260 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V261 tmp227 [V261 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V262 tmp228 [V262,T201] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V263 tmp229 [V263,T116] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V264 tmp230 [V264 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V265 tmp231 [V265 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V266 tmp232 [V266 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V267 tmp233 [V267 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V268 tmp234 [V268,T73] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V269 tmp235 [V269,T117] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V270 tmp236 [V270 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V271 tmp237 [V271,T43] ( 5, 40 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-; V272 tmp238 [V272,T107] ( 4, 16 ) int -> rax "Inline stloc first use temp"
-; V273 tmp239 [V273,T105] ( 4, 16 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
-; V274 tmp240 [V274,T74] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V275 tmp241 [V275 ] ( 0, 0 ) ref -> zero-ref
-;* V276 tmp242 [V276 ] ( 0, 0 ) ref -> zero-ref
-;* V277 tmp243 [V277 ] ( 0, 0 ) int -> zero-ref
-;* V278 tmp244 [V278 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V279 tmp245 [V279 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V280 tmp246 [V280,T202] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V281 tmp247 [V281,T118] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V282 tmp248 [V282 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V283 tmp249 [V283 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V284 tmp250 [V284 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V285 tmp251 [V285 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V286 tmp252 [V286,T75] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V287 tmp253 [V287,T119] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V288 tmp254 [V288 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V289 tmp255 [V289,T76] ( 3, 24 ) byref -> rdx "Inlining Arg"
-; V290 tmp256 [V290,T126] ( 2, 16 ) int -> rsi "Inlining Arg"
-; V291 tmp257 [V291,T77] ( 3, 24 ) byref -> rcx "Inlining Arg"
-; V292 tmp258 [V292,T01] ( 2,1024 ) ushort -> rdi "Inlining Arg"
-;* V293 tmp259 [V293 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;* V294 tmp260 [V294 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V295 tmp261 [V295 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-; V296 tmp262 [V296,T21] ( 3, 96 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
-; V297 tmp263 [V297,T14] ( 5, 160 ) int -> rcx "Inlining Arg"
-;* V298 tmp264 [V298 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;* V299 tmp265 [V299 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
-; V300 tmp266 [V300,T26] ( 2, 64 ) byref -> rdx "Inlining Arg"
-; V301 tmp267 [V301,T31] ( 2, 64 ) int -> r12 "Inlining Arg"
-; V302 tmp268 [V302,T12] ( 5, 160 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
-; V303 tmp269 [V303,T27] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
-; V304 tmp270 [V304,T32] ( 2, 64 ) int -> [rbp-0xCC] spill-single-def "Inlining Arg"
-; V305 tmp271 [V305,T33] ( 2, 64 ) int -> r13 "Inlining Arg"
-; V306 tmp272 [V306,T22] ( 3, 96 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
-; V307 tmp273 [V307,T16] ( 4, 128 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
-; V308 tmp274 [V308,T17] ( 4, 128 ) int -> rcx "Inlining Arg"
-; V309 tmp275 [V309,T18] ( 4, 128 ) int -> rdx "Inlining Arg"
-;* V310 tmp276 [V310 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;* V311 tmp277 [V311 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V312 tmp278 [V312,T267] ( 3, 0 ) byref -> rdi "Inlining Arg"
-; V313 tmp279 [V313,T278] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V314 tmp280 [V314,T250] ( 11, 0 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
-; V315 tmp281 [V315,T259] ( 4, 0 ) ref -> [rbp-0x130] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V316 tmp282 [V316,T290] ( 2, 0 ) ref -> [rbp-0x138] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V317 tmp283 [V317,T291] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V318 tmp284 [V318,T13] ( 5, 160 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
-; V319 tmp285 [V319,T28] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
-; V320 tmp286 [V320,T34] ( 2, 64 ) int -> r12 "Inlining Arg"
-; V321 tmp287 [V321,T35] ( 2, 64 ) int -> [rbp-0xD0] spill-single-def "Inlining Arg"
-; V322 tmp288 [V322,T23] ( 3, 96 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V323 tmp289 [V323 ] ( 0, 0 ) ref -> zero-ref
-;* V324 tmp290 [V324 ] ( 0, 0 ) ref -> zero-ref
-;* V325 tmp291 [V325 ] ( 0, 0 ) int -> zero-ref
-;* V326 tmp292 [V326 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V327 tmp293 [V327 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V328 tmp294 [V328,T127] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V329 tmp295 [V329,T29] ( 2, 64 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V330 tmp296 [V330 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V331 tmp297 [V331 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V332 tmp298 [V332 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V333 tmp299 [V333 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V334 tmp300 [V334,T15] ( 3, 160 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V335 tmp301 [V335,T19] ( 2, 128 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V336 tmp302 [V336,T268] ( 3, 0 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
-; V337 tmp303 [V337,T279] ( 3, 0 ) int -> r13 "impAppendStmt"
-; V338 tmp304 [V338,T251] ( 11, 0 ) ref -> [rbp-0x140] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
+;* V218 tmp184 [V218 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V219 tmp185 [V219,T187] ( 3, 6 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+; V220 tmp186 [V220,T227] ( 2, 4 ) int -> rsi "Inlining Arg"
+; V221 tmp187 [V221,T77] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V222 tmp188 [V222 ] ( 0, 0 ) ref -> zero-ref
+;* V223 tmp189 [V223 ] ( 0, 0 ) ref -> zero-ref
+;* V224 tmp190 [V224 ] ( 0, 0 ) int -> zero-ref
+;* V225 tmp191 [V225 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V226 tmp192 [V226 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V227 tmp193 [V227,T231] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V228 tmp194 [V228,T130] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V229 tmp195 [V229 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V230 tmp196 [V230 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V231 tmp197 [V231 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V232 tmp198 [V232 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V233 tmp199 [V233,T78] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V234 tmp200 [V234,T131] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V235 tmp201 [V235,T54] ( 4, 32 ) ref -> rdi class-hnd "Inlining Arg" <ushort[]>
+; V236 tmp202 [V236,T55] ( 4, 32 ) int -> rdx "Inlining Arg"
+; V237 tmp203 [V237,T56] ( 4, 32 ) int -> rax "Inlining Arg"
+;* V238 tmp204 [V238 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;* V239 tmp205 [V239 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V240 tmp206 [V240 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V241 tmp207 [V241 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V242 tmp208 [V242,T149] ( 2, 8 ) ubyte -> rdi "Inline return value spill temp"
+;* V243 tmp209 [V243 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V244 tmp210 [V244 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V245 tmp211 [V245 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V246 tmp212 [V246 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V247 tmp213 [V247 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V248 tmp214 [V248 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V249 tmp215 [V249 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V250 tmp216 [V250 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V251 tmp217 [V251 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V252 tmp218 [V252 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V253 tmp219 [V253 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V254 tmp220 [V254 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V255 tmp221 [V255 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V256 tmp222 [V256,T150] ( 2, 8 ) ubyte -> rdi "Inline return value spill temp"
+;* V257 tmp223 [V257 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V258 tmp224 [V258 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V259 tmp225 [V259 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V260 tmp226 [V260 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V261 tmp227 [V261 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V262 tmp228 [V262 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V263 tmp229 [V263 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V264 tmp230 [V264 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V265 tmp231 [V265 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V266 tmp232 [V266 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V267 tmp233 [V267 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V268 tmp234 [V268 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V269 tmp235 [V269 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V270 tmp236 [V270,T162] ( 2, 8 ) ubyte -> rdi "Inline return value spill temp"
+;* V271 tmp237 [V271 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V272 tmp238 [V272 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V273 tmp239 [V273 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V274 tmp240 [V274 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V275 tmp241 [V275 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V276 tmp242 [V276 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V277 tmp243 [V277 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V278 tmp244 [V278 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V279 tmp245 [V279 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V280 tmp246 [V280 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V281 tmp247 [V281 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+;* V282 tmp248 [V282 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V283 tmp249 [V283,T50] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V284 tmp250 [V284,T57] ( 4, 32 ) int -> rsi "Inlining Arg"
+; V285 tmp251 [V285,T120] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V286 tmp252 [V286,T79] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
+;* V287 tmp253 [V287 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+;* V288 tmp254 [V288 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V289 tmp255 [V289,T51] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V290 tmp256 [V290,T58] ( 4, 32 ) int -> rsi "Inlining Arg"
+; V291 tmp257 [V291,T121] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V292 tmp258 [V292,T80] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
+;* V293 tmp259 [V293 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+;* V294 tmp260 [V294 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V295 tmp261 [V295,T52] ( 10, 40 ) ref -> r13 class-hnd "Inline return value spill temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V296 tmp262 [V296,T59] ( 4, 32 ) int -> rsi "Inlining Arg"
+; V297 tmp263 [V297,T122] ( 4, 16 ) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Xml.XmlTextReaderImpl+NodeData>
+; V298 tmp264 [V298,T81] ( 3, 24 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
+; V299 tmp265 [V299,T288] ( 3, 0 ) int -> r13 "impAppendStmt"
+; V300 tmp266 [V300,T269] ( 11, 0 ) ref -> [rbp-0x110] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
+;* V301 tmp267 [V301 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V302 tmp268 [V302,T281] ( 3, 0 ) byref -> r12 "Inlining Arg"
+; V303 tmp269 [V303,T275] ( 4, 0 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "dup spill" <System.String[]>
+; V304 tmp270 [V304,T289] ( 3, 0 ) int -> r12 "Inlining Arg"
+; V305 tmp271 [V305,T296] ( 2, 0 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V306 tmp272 [V306,T297] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+;* V307 tmp273 [V307 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V308 tmp274 [V308,T82] ( 3, 24 ) byref -> rdx "Inlining Arg"
+; V309 tmp275 [V309,T142] ( 2, 16 ) int -> rdi "Inlining Arg"
+; V310 tmp276 [V310,T83] ( 3, 24 ) byref -> rcx "Inlining Arg"
+; V311 tmp277 [V311,T84] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V312 tmp278 [V312 ] ( 0, 0 ) ref -> zero-ref
+;* V313 tmp279 [V313 ] ( 0, 0 ) ref -> zero-ref
+;* V314 tmp280 [V314 ] ( 0, 0 ) int -> zero-ref
+;* V315 tmp281 [V315 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V316 tmp282 [V316 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V317 tmp283 [V317,T232] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V318 tmp284 [V318,T132] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V319 tmp285 [V319 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V320 tmp286 [V320 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V321 tmp287 [V321 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V322 tmp288 [V322 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V323 tmp289 [V323,T85] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V324 tmp290 [V324,T133] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V325 tmp291 [V325 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V326 tmp292 [V326,T53] ( 5, 40 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
+; V327 tmp293 [V327,T125] ( 4, 16 ) int -> rax "Inline stloc first use temp"
+; V328 tmp294 [V328,T123] ( 4, 16 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
+; V329 tmp295 [V329,T86] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V330 tmp296 [V330 ] ( 0, 0 ) ref -> zero-ref
+;* V331 tmp297 [V331 ] ( 0, 0 ) ref -> zero-ref
+;* V332 tmp298 [V332 ] ( 0, 0 ) int -> zero-ref
+;* V333 tmp299 [V333 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V334 tmp300 [V334 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V335 tmp301 [V335,T233] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V336 tmp302 [V336,T134] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V337 tmp303 [V337 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V338 tmp304 [V338 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V339 tmp305 [V339 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V340 tmp306 [V340,T269] ( 3, 0 ) byref -> r12 "Inlining Arg"
-; V341 tmp307 [V341,T260] ( 4, 0 ) ref -> [rbp-0x148] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V342 tmp308 [V342,T280] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V343 tmp309 [V343,T292] ( 2, 0 ) ref -> [rbp-0x150] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V344 tmp310 [V344,T293] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V345 tmp311 [V345,T281] ( 3, 0 ) int -> r13 "impAppendStmt"
-; V346 tmp312 [V346,T252] ( 11, 0 ) ref -> [rbp-0x158] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
-;* V347 tmp313 [V347 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V348 tmp314 [V348,T270] ( 3, 0 ) byref -> r12 "Inlining Arg"
-; V349 tmp315 [V349,T261] ( 4, 0 ) ref -> [rbp-0x160] class-hnd exact spill-single-def "dup spill" <System.String[]>
-; V350 tmp316 [V350,T282] ( 3, 0 ) int -> r12 "Inlining Arg"
-; V351 tmp317 [V351,T294] ( 2, 0 ) ref -> [rbp-0x168] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V352 tmp318 [V352,T295] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V353 tmp319 [V353,T78] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V354 tmp320 [V354 ] ( 0, 0 ) ref -> zero-ref
-;* V355 tmp321 [V355 ] ( 0, 0 ) ref -> zero-ref
-;* V356 tmp322 [V356 ] ( 0, 0 ) int -> zero-ref
-;* V357 tmp323 [V357 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
-;* V358 tmp324 [V358 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V359 tmp325 [V359,T203] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V360 tmp326 [V360,T120] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V361 tmp327 [V361 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V362 tmp328 [V362 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V363 tmp329 [V363 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V364 tmp330 [V364 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V365 tmp331 [V365,T79] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V366 tmp332 [V366,T121] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-;* V367 tmp333 [V367 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V368 tmp334 [V368 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V369 tmp335 [V369,T221] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V370 tmp336 [V370 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V371 tmp337 [V371,T222] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V372 tmp338 [V372 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V373 tmp339 [V373,T173] ( 2, 4 ) int -> rsi "spilling unroll qmark"
-; V374 tmp340 [V374,T129] ( 6, 12 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
-; V375 tmp341 [V375,T163] ( 3, 6 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-;* V376 tmp342 [V376 ] ( 0, 0 ) ref -> zero-ref
-;* V377 tmp343 [V377 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V378 tmp344 [V378 ] ( 0, 0 ) int -> zero-ref
-;* V379 tmp345 [V379 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
-;* V380 tmp346 [V380 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
-;* V381 tmp347 [V381,T238] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V382 tmp348 [V382,T181] ( 2, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-;* V383 tmp349 [V383 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V384 tmp350 [V384 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V385 tmp351 [V385 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V386 tmp352 [V386 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V387 tmp353 [V387,T164] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
-; V388 tmp354 [V388,T197] ( 2, 4 ) int -> rsi "Inlining Arg"
-; V389 tmp355 [V389,T139] ( 4, 8 ) byref -> rdi single-def "Inlining Arg"
-;* V390 tmp356 [V390 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
-;* V391 tmp357 [V391 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-; V392 tmp358 [V392,T228] ( 2, 2 ) ref -> rsi
-;* V393 tmp359 [V393 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
-; V394 tmp360 [V394 ] ( 7, 25 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
-; V395 tmp361 [V395 ] ( 5, 17 ) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
-; V396 tmp362 [V396 ] ( 7, 19 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V11.m_task (fldOffset=0x0)" P-DEP
-; V397 tmp363 [V397 ] ( 5, 11 ) int -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V11.m_options (fldOffset=0x8)" P-DEP
-; V398 tmp364 [V398 ] ( 6, 6 ) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V13.m_task (fldOffset=0x0)" P-DEP
-; V399 tmp365 [V399 ] ( 6, 6 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V13.m_options (fldOffset=0x8)" P-DEP
-; V400 tmp366 [V400 ] ( 6, 6 ) ref -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V15.m_task (fldOffset=0x0)" P-DEP
-; V401 tmp367 [V401 ] ( 6, 6 ) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V15.m_options (fldOffset=0x8)" P-DEP
-; V402 tmp368 [V402 ] ( 7, 25 ) ref -> [rbp-0x78] do-not-enreg[X] addr-exposed "field V17.m_task (fldOffset=0x0)" P-DEP
-; V403 tmp369 [V403 ] ( 5, 17 ) int -> [rbp-0x70] do-not-enreg[X] addr-exposed "field V17.m_options (fldOffset=0x8)" P-DEP
-;* V404 tmp370 [V404 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V405 tmp371 [V405 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
-; V406 tmp372 [V406 ] ( 7, 25 ) ref -> [rbp-0x88] do-not-enreg[X] addr-exposed "field V19.m_task (fldOffset=0x0)" P-DEP
-; V407 tmp373 [V407 ] ( 5, 17 ) int -> [rbp-0x80] do-not-enreg[X] addr-exposed "field V19.m_options (fldOffset=0x8)" P-DEP
-; V408 tmp374 [V408 ] ( 7, 25 ) ref -> [rbp-0x98] do-not-enreg[X] addr-exposed "field V20.m_task (fldOffset=0x0)" P-DEP
-; V409 tmp375 [V409 ] ( 5, 17 ) int -> [rbp-0x90] do-not-enreg[X] addr-exposed "field V20.m_options (fldOffset=0x8)" P-DEP
-;* V410 tmp376 [V410 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V411 tmp377 [V411 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
-; V412 tmp378 [V412 ] ( 7, 129 ) ref -> [rbp-0xA8] do-not-enreg[X] addr-exposed "field V26.m_task (fldOffset=0x0)" P-DEP
-; V413 tmp379 [V413 ] ( 5, 65 ) int -> [rbp-0xA0] do-not-enreg[X] addr-exposed "field V26.m_options (fldOffset=0x8)" P-DEP
-; V414 tmp380 [V414 ] ( 7, 25 ) ref -> [rbp-0xB8] do-not-enreg[X] addr-exposed "field V30.m_task (fldOffset=0x0)" P-DEP
-; V415 tmp381 [V415 ] ( 5, 17 ) int -> [rbp-0xB0] do-not-enreg[X] addr-exposed "field V30.m_options (fldOffset=0x8)" P-DEP
-; V416 tmp382 [V416 ] ( 6, 6 ) ref -> [rbp-0xC8] do-not-enreg[X] addr-exposed "field V32.m_task (fldOffset=0x0)" P-DEP
-; V417 tmp383 [V417 ] ( 6, 6 ) int -> [rbp-0xC0] do-not-enreg[X] addr-exposed "field V32.m_options (fldOffset=0x8)" P-DEP
-; V418 tmp384 [V418,T214] ( 4, 3 ) byref -> rsi "field V44._reference (fldOffset=0x0)" P-INDEP
-; V419 tmp385 [V419,T218] ( 3, 3 ) int -> r8 "field V44._length (fldOffset=0x8)" P-INDEP
-; V420 tmp386 [V420,T37] ( 4, 48 ) byref -> rdx "field V69._reference (fldOffset=0x0)" P-INDEP
-; V421 tmp387 [V421,T39] ( 3, 48 ) int -> r8 "field V69._length (fldOffset=0x8)" P-INDEP
-; V422 tmp388 [V422,T140] ( 2, 8 ) ref -> rax "field V114.m_task (fldOffset=0x0)" P-INDEP
-;* V423 tmp389 [V423,T204] ( 0, 0 ) int -> zero-ref "field V114.m_options (fldOffset=0x8)" P-INDEP
-; V424 tmp390 [V424,T229] ( 2, 2 ) byref -> rsi single-def "field V125._reference (fldOffset=0x0)" P-INDEP
-; V425 tmp391 [V425,T233] ( 2, 2 ) int -> r8 "field V125._length (fldOffset=0x8)" P-INDEP
-;* V426 tmp392 [V426 ] ( 0, 0 ) byref -> zero-ref single-def "field V126._reference (fldOffset=0x0)" P-INDEP
-;* V427 tmp393 [V427 ] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP
-;* V428 tmp394 [V428 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP
-;* V429 tmp395 [V429 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP
-;* V430 tmp396 [V430 ] ( 0, 0 ) byref -> zero-ref single-def "field V132._reference (fldOffset=0x0)" P-INDEP
-;* V431 tmp397 [V431 ] ( 0, 0 ) int -> zero-ref "field V132._length (fldOffset=0x8)" P-INDEP
-;* V432 tmp398 [V432 ] ( 0, 0 ) byref -> zero-ref single-def "field V133._reference (fldOffset=0x0)" P-INDEP
-;* V433 tmp399 [V433 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP
-; V434 tmp400 [V434,T141] ( 2, 8 ) ref -> rax "field V146.m_task (fldOffset=0x0)" P-INDEP
-;* V435 tmp401 [V435,T205] ( 0, 0 ) int -> zero-ref "field V146.m_options (fldOffset=0x8)" P-INDEP
-; V436 tmp402 [V436,T230] ( 2, 2 ) ref -> rax "field V185.m_task (fldOffset=0x0)" P-INDEP
-;* V437 tmp403 [V437,T239] ( 0, 0 ) int -> zero-ref "field V185.m_options (fldOffset=0x8)" P-INDEP
-; V438 tmp404 [V438,T231] ( 2, 2 ) ref -> rax "field V199.m_task (fldOffset=0x0)" P-INDEP
-;* V439 tmp405 [V439,T240] ( 0, 0 ) int -> zero-ref "field V199.m_options (fldOffset=0x8)" P-INDEP
-; V440 tmp406 [V440,T142] ( 2, 8 ) ref -> rax "field V213.m_task (fldOffset=0x0)" P-INDEP
-;* V441 tmp407 [V441,T206] ( 0, 0 ) int -> zero-ref "field V213.m_options (fldOffset=0x8)" P-INDEP
-; V442 tmp408 [V442,T98] ( 7, 24 ) byref -> rsi "field V225._reference (fldOffset=0x0)" P-INDEP
-; V443 tmp409 [V443,T99] ( 5, 20 ) int -> rdx "field V225._length (fldOffset=0x8)" P-INDEP
-; V444 tmp410 [V444,T143] ( 2, 8 ) ref -> rax "field V261.m_task (fldOffset=0x0)" P-INDEP
-;* V445 tmp411 [V445,T207] ( 0, 0 ) int -> zero-ref "field V261.m_options (fldOffset=0x8)" P-INDEP
-; V446 tmp412 [V446,T144] ( 2, 8 ) ref -> rax "field V279.m_task (fldOffset=0x0)" P-INDEP
-;* V447 tmp413 [V447,T208] ( 0, 0 ) int -> zero-ref "field V279.m_options (fldOffset=0x8)" P-INDEP
-;* V448 tmp414 [V448 ] ( 0, 0 ) byref -> zero-ref "field V293._reference (fldOffset=0x0)" P-INDEP
-;* V449 tmp415 [V449 ] ( 0, 0 ) int -> zero-ref "field V293._length (fldOffset=0x8)" P-INDEP
-;* V450 tmp416 [V450 ] ( 0, 0 ) byref -> zero-ref "field V294._reference (fldOffset=0x0)" P-INDEP
-;* V451 tmp417 [V451 ] ( 0, 0 ) int -> zero-ref "field V294._length (fldOffset=0x8)" P-INDEP
-;* V452 tmp418 [V452 ] ( 0, 0 ) byref -> zero-ref "field V295._reference (fldOffset=0x0)" P-INDEP
-;* V453 tmp419 [V453 ] ( 0, 0 ) int -> zero-ref "field V295._length (fldOffset=0x8)" P-INDEP
-; V454 tmp420 [V454,T51] ( 2, 32 ) byref -> rdx "field V298._reference (fldOffset=0x0)" P-INDEP
-; V455 tmp421 [V455,T53] ( 2, 32 ) int -> r8 "field V298._length (fldOffset=0x8)" P-INDEP
-;* V456 tmp422 [V456 ] ( 0, 0 ) byref -> zero-ref "field V299._reference (fldOffset=0x0)" P-INDEP
-;* V457 tmp423 [V457 ] ( 0, 0 ) int -> zero-ref "field V299._length (fldOffset=0x8)" P-INDEP
-; V458 tmp424 [V458,T36] ( 5, 56 ) byref -> rcx "field V310._reference (fldOffset=0x0)" P-INDEP
-; V459 tmp425 [V459,T25] ( 4, 64 ) int -> r8 "field V310._length (fldOffset=0x8)" P-INDEP
-; V460 tmp426 [V460,T52] ( 2, 32 ) ref -> rax "field V327.m_task (fldOffset=0x0)" P-INDEP
-;* V461 tmp427 [V461,T128] ( 0, 0 ) int -> zero-ref "field V327.m_options (fldOffset=0x8)" P-INDEP
-; V462 tmp428 [V462,T145] ( 2, 8 ) ref -> rax "field V358.m_task (fldOffset=0x0)" P-INDEP
-;* V463 tmp429 [V463,T209] ( 0, 0 ) int -> zero-ref "field V358.m_options (fldOffset=0x8)" P-INDEP
-; V464 tmp430 [V464,T232] ( 2, 2 ) ref -> rax single-def "field V380.m_task (fldOffset=0x0)" P-INDEP
-;* V465 tmp431 [V465,T241] ( 0, 0 ) int -> zero-ref "field V380.m_options (fldOffset=0x8)" P-INDEP
-; V466 tmp432 [V466,T182] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V467 tmp433 [V467,T165] ( 3, 6 ) ref -> rax single-def "arr expr"
-; V468 tmp434 [V468,T171] ( 3, 6 ) int -> rcx "index expr"
-; V469 tmp435 [V469,T166] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V470 tmp436 [V470,T167] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V471 tmp437 [V471,T183] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V472 tmp438 [V472,T80] ( 3, 24 ) ref -> rdi "arr expr"
-; V473 tmp439 [V473,T92] ( 3, 24 ) int -> rsi "index expr"
-; V474 tmp440 [V474,T81] ( 3, 24 ) ref -> rdi "arr expr"
-; V475 tmp441 [V475,T93] ( 3, 24 ) int -> rcx "index expr"
-; V476 tmp442 [V476,T82] ( 3, 24 ) ref -> rdi "arr expr"
-; V477 tmp443 [V477,T83] ( 3, 24 ) ref -> rdi "argument with side effect"
-; V478 tmp444 [V478,T84] ( 3, 24 ) ref -> rdi "arr expr"
-; V479 tmp445 [V479,T85] ( 3, 24 ) ref -> rdi "argument with side effect"
-; V480 tmp446 [V480,T86] ( 3, 24 ) ref -> rdi "arr expr"
-; V481 tmp447 [V481,T87] ( 3, 24 ) ref -> rdi "argument with side effect"
-; V482 tmp448 [V482,T88] ( 3, 24 ) ref -> rsi "arr expr"
-; V483 tmp449 [V483,T94] ( 3, 24 ) int -> rdi "index expr"
-; V484 tmp450 [V484,T89] ( 3, 24 ) ref -> rdi "arr expr"
-; V485 tmp451 [V485,T95] ( 3, 24 ) int -> rsi "index expr"
-; V486 tmp452 [V486,T90] ( 3, 24 ) ref -> rsi "arr expr"
-; V487 tmp453 [V487,T96] ( 3, 24 ) int -> rdi "index expr"
-; V488 tmp454 [V488,T91] ( 3, 24 ) ref -> rdi "arr expr"
-; V489 tmp455 [V489,T97] ( 3, 24 ) int -> rsi "index expr"
-; V490 tmp456 [V490,T00] ( 3,1536 ) int -> rdi "index expr"
-; V491 tmp457 [V491,T08] ( 3, 192 ) ref -> rcx "arr expr"
-; V492 tmp458 [V492,T09] ( 3, 192 ) int -> rdx "index expr"
-; V493 tmp459 [V493,T122] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V494 tmp460 [V494,T184] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V495 tmp461 [V495,T185] ( 2, 64 ) ref -> rsi "argument with side effect"
-; V496 tmp462 [V496,T30] ( 2, 64 ) ref -> rsi "argument with side effect"
-; V497 tmp463 [V497,T186] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V498 tmp464 [V498,T187] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V499 tmp465 [V499,T188] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V500 tmp466 [V500,T189] ( 2, 4 ) ref -> rsi "argument with side effect"
-; V501 tmp467 [V501,T168] ( 3, 6 ) ref -> rdi "argument with side effect"
-; V502 tmp468 [V502,T169] ( 3, 6 ) ref -> rdi "argument with side effect"
-; V503 tmp469 [V503,T190] ( 2, 4 ) ref -> rsi "argument with side effect"
-; V504 tmp470 [V504,T191] ( 2, 4 ) ref -> rsi "argument with side effect"
-; V505 PSPSym [V505,T242] ( 1, 1 ) long -> [rbp-0x170] do-not-enreg[V] "PSPSym"
-; V506 cse0 [V506,T131] ( 3, 12 ) int -> rax "CSE #18: conservative"
-; V507 cse1 [V507,T132] ( 3, 12 ) int -> rsi "CSE #38: conservative"
-; V508 cse2 [V508,T133] ( 3, 12 ) int -> rdi "CSE #39: conservative"
-; V509 cse3 [V509,T03] ( 9, 688 ) int -> r13 "CSE #41: aggressive"
-; V510 cse4 [V510,T07] ( 14, 224 ) int -> rax multi-def "CSE #45: moderate"
-; V511 cse5 [V511,T11] ( 8, 160 ) ref -> rdi "CSE #43: moderate"
-; V512 cse6 [V512,T24] ( 3, 96 ) int -> rdx "CSE #51: moderate"
-; V513 cse7 [V513,T134] ( 3, 12 ) int -> rsi "CSE #19: conservative"
-; V514 cse8 [V514,T135] ( 3, 12 ) int -> rdx "CSE #34: conservative"
-; V515 cse9 [V515,T136] ( 3, 12 ) int -> rsi "CSE #37: conservative"
-; V516 cse10 [V516,T216] ( 3, 3 ) ref -> rax "CSE #04: conservative"
-; V517 cse11 [V517,T217] ( 3, 3 ) ref -> rsi "CSE #16: conservative"
-; V518 cse12 [V518,T06] ( 4, 290 ) long -> registers hoist multi-def "CSE #40: aggressive"
-; V519 cse13 [V519,T20] ( 5, 112 ) int -> r12 "CSE #44: moderate"
-; V520 cse14 [V520,T224] ( 4, 2 ) int -> rsi "CSE #12: conservative"
-; V521 cse15 [V521,T225] ( 4, 2 ) int -> rsi "CSE #53: conservative"
-; V522 rat0 [V522,T245] ( 3, 6 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V523 rat1 [V523,T244] ( 3, 24 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V524 rat2 [V524,T243] ( 3, 24 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V525 rat3 [V525,T10] ( 3, 176 ) int -> rax "ReplaceWithLclVar is creating a new local variable"
-; V526 rat4 [V526,T246] ( 3, 6 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V340 tmp306 [V340 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V341 tmp307 [V341,T87] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V342 tmp308 [V342,T135] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V343 tmp309 [V343 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V344 tmp310 [V344,T88] ( 3, 24 ) byref -> rdx "Inlining Arg"
+; V345 tmp311 [V345,T143] ( 2, 16 ) int -> rsi "Inlining Arg"
+; V346 tmp312 [V346,T89] ( 3, 24 ) byref -> rcx "Inlining Arg"
+; V347 tmp313 [V347,T01] ( 2,1024 ) ushort -> rdi "Inlining Arg"
+;* V348 tmp314 [V348 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V349 tmp315 [V349 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V350 tmp316 [V350 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+; V351 tmp317 [V351,T21] ( 3, 96 ) ref -> rdi class-hnd "Inlining Arg" <ushort[]>
+; V352 tmp318 [V352,T12] ( 5, 160 ) int -> rsi "Inlining Arg"
+;* V353 tmp319 [V353 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;* V354 tmp320 [V354 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
+; V355 tmp321 [V355,T32] ( 2, 64 ) byref -> rcx "Inlining Arg"
+; V356 tmp322 [V356,T37] ( 2, 64 ) int -> rax "Inlining Arg"
+;* V357 tmp323 [V357 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V358 tmp324 [V358 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V359 tmp325 [V359 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V360 tmp326 [V360,T44] ( 2, 32 ) ubyte -> rdi "Inline return value spill temp"
+;* V361 tmp327 [V361 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V362 tmp328 [V362 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V363 tmp329 [V363 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V364 tmp330 [V364 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V365 tmp331 [V365 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V366 tmp332 [V366 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V367 tmp333 [V367 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V368 tmp334 [V368 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V369 tmp335 [V369 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V370 tmp336 [V370,T10] ( 5, 160 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
+; V371 tmp337 [V371,T33] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
+; V372 tmp338 [V372,T38] ( 2, 64 ) int -> r12 "Inlining Arg"
+; V373 tmp339 [V373,T39] ( 2, 64 ) int -> [rbp-0xCC] spill-single-def "Inlining Arg"
+; V374 tmp340 [V374,T22] ( 3, 96 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
+; V375 tmp341 [V375,T15] ( 4, 128 ) ref -> rdi class-hnd "Inlining Arg" <ushort[]>
+; V376 tmp342 [V376,T16] ( 4, 128 ) int -> rcx "Inlining Arg"
+; V377 tmp343 [V377,T17] ( 4, 128 ) int -> rdx "Inlining Arg"
+;* V378 tmp344 [V378 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;* V379 tmp345 [V379 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V380 tmp346 [V380 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V381 tmp347 [V381 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V382 tmp348 [V382,T45] ( 2, 32 ) ubyte -> rdi "Inline return value spill temp"
+;* V383 tmp349 [V383 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V384 tmp350 [V384 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V385 tmp351 [V385 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V386 tmp352 [V386 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V387 tmp353 [V387 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V388 tmp354 [V388 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V389 tmp355 [V389 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V390 tmp356 [V390 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V391 tmp357 [V391 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V392 tmp358 [V392 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V393 tmp359 [V393 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V394 tmp360 [V394 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V395 tmp361 [V395 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V396 tmp362 [V396,T60] ( 2, 32 ) ubyte -> rdi "Inline return value spill temp"
+;* V397 tmp363 [V397 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V398 tmp364 [V398 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V399 tmp365 [V399 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V400 tmp366 [V400 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V401 tmp367 [V401 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V402 tmp368 [V402 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V403 tmp369 [V403 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V404 tmp370 [V404 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V405 tmp371 [V405 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V406 tmp372 [V406 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V407 tmp373 [V407 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V408 tmp374 [V408,T282] ( 3, 0 ) byref -> rdi "Inlining Arg"
+; V409 tmp375 [V409,T290] ( 3, 0 ) int -> r12 "Inlining Arg"
+; V410 tmp376 [V410,T270] ( 11, 0 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlException>
+; V411 tmp377 [V411,T276] ( 4, 0 ) ref -> [rbp-0x130] class-hnd exact spill-single-def "dup spill" <System.String[]>
+; V412 tmp378 [V412,T298] ( 2, 0 ) ref -> [rbp-0x138] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V413 tmp379 [V413,T299] ( 2, 0 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+; V414 tmp380 [V414,T11] ( 5, 160 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Xml.XmlTextReaderImpl+NodeData>
+; V415 tmp381 [V415,T34] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" <ushort[]>
+; V416 tmp382 [V416,T40] ( 2, 64 ) int -> r12 "Inlining Arg"
+; V417 tmp383 [V417,T41] ( 2, 64 ) int -> [rbp-0xD0] spill-single-def "Inlining Arg"
+; V418 tmp384 [V418,T23] ( 3, 96 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V419 tmp385 [V419 ] ( 0, 0 ) ref -> zero-ref
+;* V420 tmp386 [V420 ] ( 0, 0 ) ref -> zero-ref
+;* V421 tmp387 [V421 ] ( 0, 0 ) int -> zero-ref
+;* V422 tmp388 [V422 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V423 tmp389 [V423 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V424 tmp390 [V424,T144] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V425 tmp391 [V425,T35] ( 2, 64 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V426 tmp392 [V426 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V427 tmp393 [V427 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V428 tmp394 [V428 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V429 tmp395 [V429 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V430 tmp396 [V430,T13] ( 3, 160 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V431 tmp397 [V431,T18] ( 2, 128 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V432 tmp398 [V432 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V433 tmp399 [V433,T90] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V434 tmp400 [V434 ] ( 0, 0 ) ref -> zero-ref
+;* V435 tmp401 [V435 ] ( 0, 0 ) ref -> zero-ref
+;* V436 tmp402 [V436 ] ( 0, 0 ) int -> zero-ref
+;* V437 tmp403 [V437 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
+;* V438 tmp404 [V438 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
+;* V439 tmp405 [V439,T234] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V440 tmp406 [V440,T136] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V441 tmp407 [V441 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V442 tmp408 [V442 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V443 tmp409 [V443 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V444 tmp410 [V444 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V445 tmp411 [V445,T91] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V446 tmp412 [V446,T137] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V447 tmp413 [V447 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V448 tmp414 [V448,T203] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V449 tmp415 [V449 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V450 tmp416 [V450,T204] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V451 tmp417 [V451 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V452 tmp418 [V452,T205] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V453 tmp419 [V453 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V454 tmp420 [V454,T146] ( 6, 12 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
+; V455 tmp421 [V455,T188] ( 3, 6 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V456 tmp422 [V456 ] ( 0, 0 ) ref -> zero-ref
+;* V457 tmp423 [V457 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V458 tmp424 [V458 ] ( 0, 0 ) int -> zero-ref
+;* V459 tmp425 [V459 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
+;* V460 tmp426 [V460 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
+;* V461 tmp427 [V461,T261] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V462 tmp428 [V462,T212] ( 2, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+;* V463 tmp429 [V463 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V464 tmp430 [V464 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V465 tmp431 [V465 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V466 tmp432 [V466 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
+; V467 tmp433 [V467,T189] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
+; V468 tmp434 [V468,T228] ( 2, 4 ) int -> rsi "Inlining Arg"
+; V469 tmp435 [V469,T161] ( 4, 8 ) byref -> rdi single-def "Inlining Arg"
+;* V470 tmp436 [V470 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
+;* V471 tmp437 [V471 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
+; V472 tmp438 [V472,T251] ( 2, 2 ) ref -> rsi
+;* V473 tmp439 [V473 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
+; V474 tmp440 [V474 ] ( 7, 25 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
+; V475 tmp441 [V475 ] ( 5, 17 ) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
+; V476 tmp442 [V476 ] ( 7, 19 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V11.m_task (fldOffset=0x0)" P-DEP
+; V477 tmp443 [V477 ] ( 5, 11 ) int -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V11.m_options (fldOffset=0x8)" P-DEP
+; V478 tmp444 [V478 ] ( 6, 6 ) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V13.m_task (fldOffset=0x0)" P-DEP
+; V479 tmp445 [V479 ] ( 6, 6 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V13.m_options (fldOffset=0x8)" P-DEP
+; V480 tmp446 [V480 ] ( 6, 6 ) ref -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V15.m_task (fldOffset=0x0)" P-DEP
+; V481 tmp447 [V481 ] ( 6, 6 ) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V15.m_options (fldOffset=0x8)" P-DEP
+; V482 tmp448 [V482 ] ( 7, 25 ) ref -> [rbp-0x78] do-not-enreg[X] addr-exposed "field V17.m_task (fldOffset=0x0)" P-DEP
+; V483 tmp449 [V483 ] ( 5, 17 ) int -> [rbp-0x70] do-not-enreg[X] addr-exposed "field V17.m_options (fldOffset=0x8)" P-DEP
+;* V484 tmp450 [V484 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V485 tmp451 [V485 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
+; V486 tmp452 [V486 ] ( 7, 25 ) ref -> [rbp-0x88] do-not-enreg[X] addr-exposed "field V19.m_task (fldOffset=0x0)" P-DEP
+; V487 tmp453 [V487 ] ( 5, 17 ) int -> [rbp-0x80] do-not-enreg[X] addr-exposed "field V19.m_options (fldOffset=0x8)" P-DEP
+; V488 tmp454 [V488 ] ( 7, 25 ) ref -> [rbp-0x98] do-not-enreg[X] addr-exposed "field V20.m_task (fldOffset=0x0)" P-DEP
+; V489 tmp455 [V489 ] ( 5, 17 ) int -> [rbp-0x90] do-not-enreg[X] addr-exposed "field V20.m_options (fldOffset=0x8)" P-DEP
+;* V490 tmp456 [V490 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V491 tmp457 [V491 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
+; V492 tmp458 [V492 ] ( 7, 129 ) ref -> [rbp-0xA8] do-not-enreg[X] addr-exposed "field V26.m_task (fldOffset=0x0)" P-DEP
+; V493 tmp459 [V493 ] ( 5, 65 ) int -> [rbp-0xA0] do-not-enreg[X] addr-exposed "field V26.m_options (fldOffset=0x8)" P-DEP
+; V494 tmp460 [V494 ] ( 7, 25 ) ref -> [rbp-0xB8] do-not-enreg[X] addr-exposed "field V30.m_task (fldOffset=0x0)" P-DEP
+; V495 tmp461 [V495 ] ( 5, 17 ) int -> [rbp-0xB0] do-not-enreg[X] addr-exposed "field V30.m_options (fldOffset=0x8)" P-DEP
+; V496 tmp462 [V496 ] ( 6, 6 ) ref -> [rbp-0xC8] do-not-enreg[X] addr-exposed "field V32.m_task (fldOffset=0x0)" P-DEP
+; V497 tmp463 [V497 ] ( 6, 6 ) int -> [rbp-0xC0] do-not-enreg[X] addr-exposed "field V32.m_options (fldOffset=0x8)" P-DEP
+; V498 tmp464 [V498,T244] ( 3, 3 ) byref -> rdx "field V44._reference (fldOffset=0x0)" P-INDEP
+; V499 tmp465 [V499,T247] ( 3, 3 ) int -> rsi "field V44._length (fldOffset=0x8)" P-INDEP
+;* V500 tmp466 [V500 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V501 tmp467 [V501 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+;* V502 tmp468 [V502 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V503 tmp469 [V503 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+;* V504 tmp470 [V504 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V505 tmp471 [V505 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
+;* V506 tmp472 [V506 ] ( 0, 0 ) byref -> zero-ref "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V507 tmp473 [V507 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP
+; V508 tmp474 [V508,T43] ( 3, 48 ) byref -> rcx "field V69._reference (fldOffset=0x0)" P-INDEP
+; V509 tmp475 [V509,T46] ( 3, 48 ) int -> rdx "field V69._length (fldOffset=0x8)" P-INDEP
+;* V510 tmp476 [V510 ] ( 0, 0 ) byref -> zero-ref "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V511 tmp477 [V511 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP
+;* V512 tmp478 [V512 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V513 tmp479 [V513 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
+;* V514 tmp480 [V514 ] ( 0, 0 ) byref -> zero-ref "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V515 tmp481 [V515 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+; V516 tmp482 [V516,T163] ( 2, 8 ) ref -> rax "field V114.m_task (fldOffset=0x0)" P-INDEP
+;* V517 tmp483 [V517,T235] ( 0, 0 ) int -> zero-ref "field V114.m_options (fldOffset=0x8)" P-INDEP
+; V518 tmp484 [V518,T252] ( 2, 2 ) byref -> rdx single-def "field V125._reference (fldOffset=0x0)" P-INDEP
+; V519 tmp485 [V519,T257] ( 2, 2 ) int -> rsi "field V125._length (fldOffset=0x8)" P-INDEP
+;* V520 tmp486 [V520 ] ( 0, 0 ) byref -> zero-ref single-def "field V126._reference (fldOffset=0x0)" P-INDEP
+;* V521 tmp487 [V521 ] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP
+;* V522 tmp488 [V522 ] ( 0, 0 ) byref -> zero-ref "field V129._reference (fldOffset=0x0)" P-INDEP
+;* V523 tmp489 [V523 ] ( 0, 0 ) int -> zero-ref "field V129._length (fldOffset=0x8)" P-INDEP
+; V524 tmp490 [V524,T253] ( 2, 2 ) byref -> rax single-def "field V130._reference (fldOffset=0x0)" P-INDEP
+;* V525 tmp491 [V525 ] ( 0, 0 ) int -> zero-ref "field V130._length (fldOffset=0x8)" P-INDEP
+;* V526 tmp492 [V526 ] ( 0, 0 ) byref -> zero-ref single-def "field V133._reference (fldOffset=0x0)" P-INDEP
+;* V527 tmp493 [V527 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP
+;* V528 tmp494 [V528 ] ( 0, 0 ) byref -> zero-ref single-def "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V529 tmp495 [V529 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP
+;* V530 tmp496 [V530 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP
+;* V531 tmp497 [V531 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP
+;* V532 tmp498 [V532 ] ( 0, 0 ) byref -> zero-ref single-def "field V139._reference (fldOffset=0x0)" P-INDEP
+;* V533 tmp499 [V533 ] ( 0, 0 ) int -> zero-ref "field V139._length (fldOffset=0x8)" P-INDEP
+;* V534 tmp500 [V534 ] ( 0, 0 ) byref -> zero-ref "field V140._reference (fldOffset=0x0)" P-INDEP
+;* V535 tmp501 [V535 ] ( 0, 0 ) int -> zero-ref "field V140._length (fldOffset=0x8)" P-INDEP
+;* V536 tmp502 [V536 ] ( 0, 0 ) byref -> zero-ref "field V141._reference (fldOffset=0x0)" P-INDEP
+;* V537 tmp503 [V537 ] ( 0, 0 ) int -> zero-ref "field V141._length (fldOffset=0x8)" P-INDEP
+;* V538 tmp504 [V538 ] ( 0, 0 ) byref -> zero-ref "field V144._reference (fldOffset=0x0)" P-INDEP
+;* V539 tmp505 [V539 ] ( 0, 0 ) int -> zero-ref "field V144._length (fldOffset=0x8)" P-INDEP
+;* V540 tmp506 [V540 ] ( 0, 0 ) byref -> zero-ref single-def "field V145._reference (fldOffset=0x0)" P-INDEP
+;* V541 tmp507 [V541 ] ( 0, 0 ) int -> zero-ref "field V145._length (fldOffset=0x8)" P-INDEP
+;* V542 tmp508 [V542 ] ( 0, 0 ) byref -> zero-ref single-def "field V146._reference (fldOffset=0x0)" P-INDEP
+;* V543 tmp509 [V543 ] ( 0, 0 ) int -> zero-ref "field V146._length (fldOffset=0x8)" P-INDEP
+; V544 tmp510 [V544,T164] ( 2, 8 ) ref -> rax "field V159.m_task (fldOffset=0x0)" P-INDEP
+;* V545 tmp511 [V545,T236] ( 0, 0 ) int -> zero-ref "field V159.m_options (fldOffset=0x8)" P-INDEP
+; V546 tmp512 [V546,T254] ( 2, 2 ) ref -> rax "field V198.m_task (fldOffset=0x0)" P-INDEP
+;* V547 tmp513 [V547,T262] ( 0, 0 ) int -> zero-ref "field V198.m_options (fldOffset=0x8)" P-INDEP
+; V548 tmp514 [V548,T255] ( 2, 2 ) ref -> rax "field V212.m_task (fldOffset=0x0)" P-INDEP
+;* V549 tmp515 [V549,T263] ( 0, 0 ) int -> zero-ref "field V212.m_options (fldOffset=0x8)" P-INDEP
+; V550 tmp516 [V550,T165] ( 2, 8 ) ref -> rax "field V226.m_task (fldOffset=0x0)" P-INDEP
+;* V551 tmp517 [V551,T237] ( 0, 0 ) int -> zero-ref "field V226.m_options (fldOffset=0x8)" P-INDEP
+; V552 tmp518 [V552,T114] ( 5, 20 ) byref -> rsi "field V238._reference (fldOffset=0x0)" P-INDEP
+; V553 tmp519 [V553,T115] ( 5, 20 ) int -> rdx "field V238._length (fldOffset=0x8)" P-INDEP
+;* V554 tmp520 [V554 ] ( 0, 0 ) byref -> zero-ref "field V239._reference (fldOffset=0x0)" P-INDEP
+;* V555 tmp521 [V555 ] ( 0, 0 ) int -> zero-ref "field V239._length (fldOffset=0x8)" P-INDEP
+; V556 tmp522 [V556,T166] ( 2, 8 ) byref -> rdi "field V240._reference (fldOffset=0x0)" P-INDEP
+;* V557 tmp523 [V557 ] ( 0, 0 ) int -> zero-ref "field V240._length (fldOffset=0x8)" P-INDEP
+;* V558 tmp524 [V558 ] ( 0, 0 ) byref -> zero-ref "field V243._reference (fldOffset=0x0)" P-INDEP
+;* V559 tmp525 [V559 ] ( 0, 0 ) int -> zero-ref "field V243._length (fldOffset=0x8)" P-INDEP
+;* V560 tmp526 [V560 ] ( 0, 0 ) byref -> zero-ref "field V245._reference (fldOffset=0x0)" P-INDEP
+;* V561 tmp527 [V561 ] ( 0, 0 ) int -> zero-ref "field V245._length (fldOffset=0x8)" P-INDEP
+;* V562 tmp528 [V562 ] ( 0, 0 ) byref -> zero-ref "field V249._reference (fldOffset=0x0)" P-INDEP
+;* V563 tmp529 [V563 ] ( 0, 0 ) int -> zero-ref "field V249._length (fldOffset=0x8)" P-INDEP
+;* V564 tmp530 [V564 ] ( 0, 0 ) byref -> zero-ref "field V250._reference (fldOffset=0x0)" P-INDEP
+;* V565 tmp531 [V565 ] ( 0, 0 ) int -> zero-ref "field V250._length (fldOffset=0x8)" P-INDEP
+;* V566 tmp532 [V566 ] ( 0, 0 ) byref -> zero-ref "field V251._reference (fldOffset=0x0)" P-INDEP
+;* V567 tmp533 [V567 ] ( 0, 0 ) int -> zero-ref "field V251._length (fldOffset=0x8)" P-INDEP
+;* V568 tmp534 [V568 ] ( 0, 0 ) byref -> zero-ref "field V252._reference (fldOffset=0x0)" P-INDEP
+;* V569 tmp535 [V569 ] ( 0, 0 ) int -> zero-ref "field V252._length (fldOffset=0x8)" P-INDEP
+;* V570 tmp536 [V570 ] ( 0, 0 ) byref -> zero-ref "field V253._reference (fldOffset=0x0)" P-INDEP
+;* V571 tmp537 [V571 ] ( 0, 0 ) int -> zero-ref "field V253._length (fldOffset=0x8)" P-INDEP
+; V572 tmp538 [V572,T167] ( 2, 8 ) byref -> rdi "field V254._reference (fldOffset=0x0)" P-INDEP
+;* V573 tmp539 [V573 ] ( 0, 0 ) int -> zero-ref "field V254._length (fldOffset=0x8)" P-INDEP
+;* V574 tmp540 [V574 ] ( 0, 0 ) byref -> zero-ref "field V257._reference (fldOffset=0x0)" P-INDEP
+;* V575 tmp541 [V575 ] ( 0, 0 ) int -> zero-ref "field V257._length (fldOffset=0x8)" P-INDEP
+;* V576 tmp542 [V576 ] ( 0, 0 ) byref -> zero-ref "field V259._reference (fldOffset=0x0)" P-INDEP
+;* V577 tmp543 [V577 ] ( 0, 0 ) int -> zero-ref "field V259._length (fldOffset=0x8)" P-INDEP
+;* V578 tmp544 [V578 ] ( 0, 0 ) byref -> zero-ref "field V263._reference (fldOffset=0x0)" P-INDEP
+;* V579 tmp545 [V579 ] ( 0, 0 ) int -> zero-ref "field V263._length (fldOffset=0x8)" P-INDEP
+;* V580 tmp546 [V580 ] ( 0, 0 ) byref -> zero-ref "field V264._reference (fldOffset=0x0)" P-INDEP
+;* V581 tmp547 [V581 ] ( 0, 0 ) int -> zero-ref "field V264._length (fldOffset=0x8)" P-INDEP
+;* V582 tmp548 [V582 ] ( 0, 0 ) byref -> zero-ref "field V265._reference (fldOffset=0x0)" P-INDEP
+;* V583 tmp549 [V583 ] ( 0, 0 ) int -> zero-ref "field V265._length (fldOffset=0x8)" P-INDEP
+;* V584 tmp550 [V584 ] ( 0, 0 ) byref -> zero-ref "field V266._reference (fldOffset=0x0)" P-INDEP
+;* V585 tmp551 [V585 ] ( 0, 0 ) int -> zero-ref "field V266._length (fldOffset=0x8)" P-INDEP
+;* V586 tmp552 [V586 ] ( 0, 0 ) byref -> zero-ref "field V267._reference (fldOffset=0x0)" P-INDEP
+;* V587 tmp553 [V587 ] ( 0, 0 ) int -> zero-ref "field V267._length (fldOffset=0x8)" P-INDEP
+; V588 tmp554 [V588,T168] ( 2, 8 ) byref -> rdi "field V268._reference (fldOffset=0x0)" P-INDEP
+;* V589 tmp555 [V589 ] ( 0, 0 ) int -> zero-ref "field V268._length (fldOffset=0x8)" P-INDEP
+;* V590 tmp556 [V590 ] ( 0, 0 ) byref -> zero-ref "field V271._reference (fldOffset=0x0)" P-INDEP
+;* V591 tmp557 [V591 ] ( 0, 0 ) int -> zero-ref "field V271._length (fldOffset=0x8)" P-INDEP
+;* V592 tmp558 [V592 ] ( 0, 0 ) byref -> zero-ref "field V273._reference (fldOffset=0x0)" P-INDEP
+;* V593 tmp559 [V593 ] ( 0, 0 ) int -> zero-ref "field V273._length (fldOffset=0x8)" P-INDEP
+;* V594 tmp560 [V594 ] ( 0, 0 ) byref -> zero-ref "field V277._reference (fldOffset=0x0)" P-INDEP
+;* V595 tmp561 [V595 ] ( 0, 0 ) int -> zero-ref "field V277._length (fldOffset=0x8)" P-INDEP
+;* V596 tmp562 [V596 ] ( 0, 0 ) byref -> zero-ref "field V278._reference (fldOffset=0x0)" P-INDEP
+;* V597 tmp563 [V597 ] ( 0, 0 ) int -> zero-ref "field V278._length (fldOffset=0x8)" P-INDEP
+;* V598 tmp564 [V598 ] ( 0, 0 ) byref -> zero-ref "field V279._reference (fldOffset=0x0)" P-INDEP
+;* V599 tmp565 [V599 ] ( 0, 0 ) int -> zero-ref "field V279._length (fldOffset=0x8)" P-INDEP
+;* V600 tmp566 [V600 ] ( 0, 0 ) byref -> zero-ref "field V280._reference (fldOffset=0x0)" P-INDEP
+;* V601 tmp567 [V601 ] ( 0, 0 ) int -> zero-ref "field V280._length (fldOffset=0x8)" P-INDEP
+; V602 tmp568 [V602,T169] ( 2, 8 ) ref -> rax "field V316.m_task (fldOffset=0x0)" P-INDEP
+;* V603 tmp569 [V603,T238] ( 0, 0 ) int -> zero-ref "field V316.m_options (fldOffset=0x8)" P-INDEP
+; V604 tmp570 [V604,T170] ( 2, 8 ) ref -> rax "field V334.m_task (fldOffset=0x0)" P-INDEP
+;* V605 tmp571 [V605,T239] ( 0, 0 ) int -> zero-ref "field V334.m_options (fldOffset=0x8)" P-INDEP
+;* V606 tmp572 [V606 ] ( 0, 0 ) byref -> zero-ref "field V348._reference (fldOffset=0x0)" P-INDEP
+;* V607 tmp573 [V607 ] ( 0, 0 ) int -> zero-ref "field V348._length (fldOffset=0x8)" P-INDEP
+;* V608 tmp574 [V608 ] ( 0, 0 ) byref -> zero-ref "field V349._reference (fldOffset=0x0)" P-INDEP
+;* V609 tmp575 [V609 ] ( 0, 0 ) int -> zero-ref "field V349._length (fldOffset=0x8)" P-INDEP
+;* V610 tmp576 [V610 ] ( 0, 0 ) byref -> zero-ref "field V350._reference (fldOffset=0x0)" P-INDEP
+;* V611 tmp577 [V611 ] ( 0, 0 ) int -> zero-ref "field V350._length (fldOffset=0x8)" P-INDEP
+; V612 tmp578 [V612,T62] ( 2, 32 ) byref -> rcx "field V353._reference (fldOffset=0x0)" P-INDEP
+; V613 tmp579 [V613,T67] ( 2, 32 ) int -> rdx "field V353._length (fldOffset=0x8)" P-INDEP
+;* V614 tmp580 [V614 ] ( 0, 0 ) byref -> zero-ref "field V354._reference (fldOffset=0x0)" P-INDEP
+;* V615 tmp581 [V615 ] ( 0, 0 ) int -> zero-ref "field V354._length (fldOffset=0x8)" P-INDEP
+;* V616 tmp582 [V616 ] ( 0, 0 ) byref -> zero-ref "field V357._reference (fldOffset=0x0)" P-INDEP
+;* V617 tmp583 [V617 ] ( 0, 0 ) int -> zero-ref "field V357._length (fldOffset=0x8)" P-INDEP
+; V618 tmp584 [V618,T63] ( 2, 32 ) byref -> rdi "field V358._reference (fldOffset=0x0)" P-INDEP
+;* V619 tmp585 [V619 ] ( 0, 0 ) int -> zero-ref "field V358._length (fldOffset=0x8)" P-INDEP
+;* V620 tmp586 [V620 ] ( 0, 0 ) byref -> zero-ref "field V361._reference (fldOffset=0x0)" P-INDEP
+;* V621 tmp587 [V621 ] ( 0, 0 ) int -> zero-ref "field V361._length (fldOffset=0x8)" P-INDEP
+;* V622 tmp588 [V622 ] ( 0, 0 ) byref -> zero-ref "field V363._reference (fldOffset=0x0)" P-INDEP
+;* V623 tmp589 [V623 ] ( 0, 0 ) int -> zero-ref "field V363._length (fldOffset=0x8)" P-INDEP
+;* V624 tmp590 [V624 ] ( 0, 0 ) byref -> zero-ref "field V366._reference (fldOffset=0x0)" P-INDEP
+;* V625 tmp591 [V625 ] ( 0, 0 ) int -> zero-ref "field V366._length (fldOffset=0x8)" P-INDEP
+;* V626 tmp592 [V626 ] ( 0, 0 ) byref -> zero-ref "field V367._reference (fldOffset=0x0)" P-INDEP
+;* V627 tmp593 [V627 ] ( 0, 0 ) int -> zero-ref "field V367._length (fldOffset=0x8)" P-INDEP
+;* V628 tmp594 [V628 ] ( 0, 0 ) byref -> zero-ref "field V368._reference (fldOffset=0x0)" P-INDEP
+;* V629 tmp595 [V629 ] ( 0, 0 ) int -> zero-ref "field V368._length (fldOffset=0x8)" P-INDEP
+;* V630 tmp596 [V630 ] ( 0, 0 ) byref -> zero-ref "field V369._reference (fldOffset=0x0)" P-INDEP
+;* V631 tmp597 [V631 ] ( 0, 0 ) int -> zero-ref "field V369._length (fldOffset=0x8)" P-INDEP
+; V632 tmp598 [V632,T30] ( 4, 64 ) byref -> rsi "field V378._reference (fldOffset=0x0)" P-INDEP
+; V633 tmp599 [V633,T31] ( 4, 64 ) int -> rcx "field V378._length (fldOffset=0x8)" P-INDEP
+;* V634 tmp600 [V634 ] ( 0, 0 ) byref -> zero-ref "field V379._reference (fldOffset=0x0)" P-INDEP
+;* V635 tmp601 [V635 ] ( 0, 0 ) int -> zero-ref "field V379._length (fldOffset=0x8)" P-INDEP
+; V636 tmp602 [V636,T64] ( 2, 32 ) byref -> rdi "field V380._reference (fldOffset=0x0)" P-INDEP
+;* V637 tmp603 [V637 ] ( 0, 0 ) int -> zero-ref "field V380._length (fldOffset=0x8)" P-INDEP
+;* V638 tmp604 [V638 ] ( 0, 0 ) byref -> zero-ref "field V383._reference (fldOffset=0x0)" P-INDEP
+;* V639 tmp605 [V639 ] ( 0, 0 ) int -> zero-ref "field V383._length (fldOffset=0x8)" P-INDEP
+;* V640 tmp606 [V640 ] ( 0, 0 ) byref -> zero-ref "field V385._reference (fldOffset=0x0)" P-INDEP
+;* V641 tmp607 [V641 ] ( 0, 0 ) int -> zero-ref "field V385._length (fldOffset=0x8)" P-INDEP
+;* V642 tmp608 [V642 ] ( 0, 0 ) byref -> zero-ref "field V389._reference (fldOffset=0x0)" P-INDEP
+;* V643 tmp609 [V643 ] ( 0, 0 ) int -> zero-ref "field V389._length (fldOffset=0x8)" P-INDEP
+;* V644 tmp610 [V644 ] ( 0, 0 ) byref -> zero-ref "field V390._reference (fldOffset=0x0)" P-INDEP
+;* V645 tmp611 [V645 ] ( 0, 0 ) int -> zero-ref "field V390._length (fldOffset=0x8)" P-INDEP
+;* V646 tmp612 [V646 ] ( 0, 0 ) byref -> zero-ref "field V391._reference (fldOffset=0x0)" P-INDEP
+;* V647 tmp613 [V647 ] ( 0, 0 ) int -> zero-ref "field V391._length (fldOffset=0x8)" P-INDEP
+;* V648 tmp614 [V648 ] ( 0, 0 ) byref -> zero-ref "field V392._reference (fldOffset=0x0)" P-INDEP
+;* V649 tmp615 [V649 ] ( 0, 0 ) int -> zero-ref "field V392._length (fldOffset=0x8)" P-INDEP
+;* V650 tmp616 [V650 ] ( 0, 0 ) byref -> zero-ref "field V393._reference (fldOffset=0x0)" P-INDEP
+;* V651 tmp617 [V651 ] ( 0, 0 ) int -> zero-ref "field V393._length (fldOffset=0x8)" P-INDEP
+; V652 tmp618 [V652,T65] ( 2, 32 ) byref -> rdi "field V394._reference (fldOffset=0x0)" P-INDEP
+;* V653 tmp619 [V653 ] ( 0, 0 ) int -> zero-ref "field V394._length (fldOffset=0x8)" P-INDEP
+;* V654 tmp620 [V654 ] ( 0, 0 ) byref -> zero-ref "field V397._reference (fldOffset=0x0)" P-INDEP
+;* V655 tmp621 [V655 ] ( 0, 0 ) int -> zero-ref "field V397._length (fldOffset=0x8)" P-INDEP
+;* V656 tmp622 [V656 ] ( 0, 0 ) byref -> zero-ref "field V399._reference (fldOffset=0x0)" P-INDEP
+;* V657 tmp623 [V657 ] ( 0, 0 ) int -> zero-ref "field V399._length (fldOffset=0x8)" P-INDEP
+;* V658 tmp624 [V658 ] ( 0, 0 ) byref -> zero-ref "field V403._reference (fldOffset=0x0)" P-INDEP
+;* V659 tmp625 [V659 ] ( 0, 0 ) int -> zero-ref "field V403._length (fldOffset=0x8)" P-INDEP
+;* V660 tmp626 [V660 ] ( 0, 0 ) byref -> zero-ref "field V404._reference (fldOffset=0x0)" P-INDEP
+;* V661 tmp627 [V661 ] ( 0, 0 ) int -> zero-ref "field V404._length (fldOffset=0x8)" P-INDEP
+;* V662 tmp628 [V662 ] ( 0, 0 ) byref -> zero-ref "field V405._reference (fldOffset=0x0)" P-INDEP
+;* V663 tmp629 [V663 ] ( 0, 0 ) int -> zero-ref "field V405._length (fldOffset=0x8)" P-INDEP
+;* V664 tmp630 [V664 ] ( 0, 0 ) byref -> zero-ref "field V406._reference (fldOffset=0x0)" P-INDEP
+;* V665 tmp631 [V665 ] ( 0, 0 ) int -> zero-ref "field V406._length (fldOffset=0x8)" P-INDEP
+; V666 tmp632 [V666,T66] ( 2, 32 ) ref -> rax "field V423.m_task (fldOffset=0x0)" P-INDEP
+;* V667 tmp633 [V667,T145] ( 0, 0 ) int -> zero-ref "field V423.m_options (fldOffset=0x8)" P-INDEP
+; V668 tmp634 [V668,T171] ( 2, 8 ) ref -> rax "field V438.m_task (fldOffset=0x0)" P-INDEP
+;* V669 tmp635 [V669,T240] ( 0, 0 ) int -> zero-ref "field V438.m_options (fldOffset=0x8)" P-INDEP
+; V670 tmp636 [V670,T256] ( 2, 2 ) ref -> rax single-def "field V460.m_task (fldOffset=0x0)" P-INDEP
+;* V671 tmp637 [V671,T264] ( 0, 0 ) int -> zero-ref "field V460.m_options (fldOffset=0x8)" P-INDEP
+; V672 tmp638 [V672,T213] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V673 tmp639 [V673,T190] ( 3, 6 ) ref -> rax single-def "arr expr"
+; V674 tmp640 [V674,T198] ( 3, 6 ) int -> rcx "index expr"
+; V675 tmp641 [V675,T191] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V676 tmp642 [V676,T192] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V677 tmp643 [V677,T214] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V678 tmp644 [V678,T92] ( 3, 24 ) ref -> rdi "arr expr"
+; V679 tmp645 [V679,T108] ( 3, 24 ) int -> rsi "index expr"
+; V680 tmp646 [V680,T93] ( 3, 24 ) ref -> rdi "arr expr"
+; V681 tmp647 [V681,T109] ( 3, 24 ) int -> rcx "index expr"
+; V682 tmp648 [V682,T94] ( 3, 24 ) ref -> rdi "arr expr"
+; V683 tmp649 [V683,T95] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V684 tmp650 [V684,T96] ( 3, 24 ) ref -> rdi "arr expr"
+; V685 tmp651 [V685,T97] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V686 tmp652 [V686,T98] ( 3, 24 ) ref -> rdi "arr expr"
+; V687 tmp653 [V687,T99] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V688 tmp654 [V688,T100] ( 3, 24 ) ref -> rsi "arr expr"
+; V689 tmp655 [V689,T110] ( 3, 24 ) int -> rdi "index expr"
+; V690 tmp656 [V690,T101] ( 3, 24 ) ref -> rdi "arr expr"
+; V691 tmp657 [V691,T111] ( 3, 24 ) int -> rsi "index expr"
+; V692 tmp658 [V692,T102] ( 3, 24 ) ref -> rsi "arr expr"
+; V693 tmp659 [V693,T112] ( 3, 24 ) int -> rdi "index expr"
+; V694 tmp660 [V694,T103] ( 3, 24 ) ref -> rdi "arr expr"
+; V695 tmp661 [V695,T113] ( 3, 24 ) int -> rsi "index expr"
+; V696 tmp662 [V696,T00] ( 3,1536 ) int -> rdi "index expr"
+; V697 tmp663 [V697,T07] ( 3, 192 ) ref -> rcx "arr expr"
+; V698 tmp664 [V698,T08] ( 3, 192 ) int -> rdx "index expr"
+; V699 tmp665 [V699,T138] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V700 tmp666 [V700,T139] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V701 tmp667 [V701,T215] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V702 tmp668 [V702,T216] ( 2, 64 ) ref -> rsi "argument with side effect"
+; V703 tmp669 [V703,T36] ( 2, 64 ) ref -> rsi "argument with side effect"
+; V704 tmp670 [V704,T217] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V705 tmp671 [V705,T218] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V706 tmp672 [V706,T219] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V707 tmp673 [V707,T220] ( 2, 4 ) ref -> rsi "argument with side effect"
+; V708 tmp674 [V708,T193] ( 3, 6 ) ref -> rdi "argument with side effect"
+; V709 tmp675 [V709,T194] ( 3, 6 ) ref -> rdi "argument with side effect"
+; V710 tmp676 [V710,T221] ( 2, 4 ) ref -> rsi "argument with side effect"
+; V711 tmp677 [V711,T222] ( 2, 4 ) ref -> rsi "argument with side effect"
+; V712 PSPSym [V712,T265] ( 1, 1 ) long -> [rbp-0x150] do-not-enreg[V] "PSPSym"
+; V713 cse0 [V713,T151] ( 3, 12 ) int -> rax "CSE #21: conservative"
+; V714 cse1 [V714,T152] ( 3, 12 ) int -> rsi "CSE #35: conservative"
+; V715 cse2 [V715,T153] ( 3, 12 ) int -> rdi "CSE #36: conservative"
+; V716 cse3 [V716,T04] ( 7, 656 ) int -> r13 "CSE #38: aggressive"
+; V717 cse4 [V717,T19] ( 5, 112 ) ref -> rdi "CSE #40: moderate"
+; V718 cse5 [V718,T28] ( 3, 96 ) int -> rdx "CSE #50: moderate"
+; V719 cse6 [V719,T14] ( 8, 128 ) int -> rsi multi-def "CSE #44: moderate"
+; V720 cse7 [V720,T47] ( 3, 48 ) int -> rdi "CSE #42: conservative"
+; V721 cse8 [V721,T48] ( 3, 48 ) int -> rsi "CSE #43: conservative"
+; V722 cse9 [V722,T49] ( 3, 48 ) int -> rdi "CSE #49: conservative"
+; V723 cse10 [V723,T154] ( 3, 12 ) int -> rsi "CSE #22: conservative"
+; V724 cse11 [V724,T155] ( 3, 12 ) int -> rdi "CSE #25: conservative"
+; V725 cse12 [V725,T156] ( 3, 12 ) int -> r13 "CSE #28: conservative"
+; V726 cse13 [V726,T157] ( 3, 12 ) int -> rdx "CSE #31: conservative"
+; V727 cse14 [V727,T158] ( 3, 12 ) int -> rsi "CSE #34: conservative"
+; V728 cse15 [V728,T245] ( 3, 3 ) ref -> rsi "CSE #19: conservative"
+; V729 cse16 [V729,T06] ( 4, 290 ) long -> registers hoist multi-def "CSE #37: aggressive"
+; V730 cse17 [V730,T20] ( 5, 112 ) int -> rax "CSE #41: moderate"
+; V731 cse18 [V731,T29] ( 30, 76 ) ref -> [rbp-0x140] multi-def "CSE #04: moderate"
+; V732 rat0 [V732,T195] ( 3, 6 ) byref -> rdx "ReplaceWithLclVar is creating a new local variable"
+; V733 rat1 [V733,T196] ( 3, 6 ) byref -> rax "ReplaceWithLclVar is creating a new local variable"
+; V734 rat2 [V734,T104] ( 3, 24 ) byref -> rax "ReplaceWithLclVar is creating a new local variable"
+; V735 rat3 [V735,T105] ( 3, 24 ) byref -> rdi "ReplaceWithLclVar is creating a new local variable"
+; V736 rat4 [V736,T106] ( 3, 24 ) byref -> rsi "ReplaceWithLclVar is creating a new local variable"
+; V737 rat5 [V737,T107] ( 3, 24 ) byref -> rdi "ReplaceWithLclVar is creating a new local variable"
+; V738 rat6 [V738,T266] ( 3, 24 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V739 rat7 [V739,T09] ( 3, 176 ) int -> r8 "ReplaceWithLclVar is creating a new local variable"
+; V740 rat8 [V740,T24] ( 3, 96 ) byref -> rcx "ReplaceWithLclVar is creating a new local variable"
+; V741 rat9 [V741,T25] ( 3, 96 ) byref -> rdi "ReplaceWithLclVar is creating a new local variable"
+; V742 rat10 [V742,T26] ( 3, 96 ) byref -> rax "ReplaceWithLclVar is creating a new local variable"
+; V743 rat11 [V743,T27] ( 3, 96 ) byref -> rdi "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 328
+; Lcl frame size = 296
G_M47993_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 328
- lea rbp, [rsp+0x170]
+ sub rsp, 296
+ lea rbp, [rsp+0x150]
xor eax, eax
mov qword ptr [rbp-0xC8], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0xC0], ymm8
vmovdqu ymmword ptr [rbp-0xA0], ymm8
vmovdqu ymmword ptr [rbp-0x80], ymm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
vmovdqa xmmword ptr [rbp-0x40], xmm8
mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0x170], rsp
+ mov qword ptr [rbp-0x150], rsp
mov bword ptr [rbp-0xD8], rdi
;; size=88 bbWeight=1 PerfScore 21.33
G_M47993_IG02:
mov ebx, dword ptr [rdi+0x20]
mov r15, gword ptr [rdi]
;; size=6 bbWeight=1 PerfScore 4.00
G_M47993_IG03:
cmp ebx, 9
ja G_M47993_IG11
;; size=9 bbWeight=1 PerfScore 1.25
G_M47993_IG04:
mov esi, ebx
lea rax, [reloc @RWD00]
mov eax, dword ptr [rax+4*rsi]
lea rcx, G_M47993_IG02
add rax, rcx
jmp rax
;; size=24 bbWeight=0.91 PerfScore 5.45
G_M47993_IG05:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x38], rax
xor edi, edi
mov dword ptr [rbp-0x30], edi
test byte ptr [rbp-0x30], 4
jne SHORT G_M47993_IG06
mov rdi, gword ptr [rbp-0x38]
test dword ptr [rdi+0x34], 0xD1FFAB1E
jne SHORT G_M47993_IG09
;; size=45 bbWeight=4 PerfScore 67.00
G_M47993_IG06:
xor edi, edi
mov rbx, bword ptr [rbp-0xD8]
mov dword ptr [rbx+0x20], edi
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0x38]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x30]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=74 bbWeight=4 PerfScore 67.00
G_M47993_IG07:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0x38], xmm0
;; size=17 bbWeight=1 PerfScore 6.00
G_M47993_IG08:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
;; size=17 bbWeight=1 PerfScore 3.25
G_M47993_IG09:
mov rdi, gword ptr [rbp-0x38]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
je SHORT G_M47993_IG10
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=35 bbWeight=4 PerfScore 32.00
G_M47993_IG10:
mov rdi, gword ptr [rbp-0x38]
cmp dword ptr [rdi+0x38], 0
- je G_M47993_IG155
+ je G_M47993_IG141
;; size=14 bbWeight=4 PerfScore 20.00
G_M47993_IG11:
mov eax, dword ptr [r15+0x1D4]
sub eax, dword ptr [r15+0x1D0]
cmp eax, 6
jl G_M47993_IG05
;; size=23 bbWeight=8 PerfScore 50.00
G_M47993_IG12:
mov rax, gword ptr [r15+0x188]
- mov rcx, rax
- mov edx, dword ptr [r15+0x1D0]
- test rcx, rcx
+ mov ecx, dword ptr [r15+0x1D0]
+ test rax, rax
jne SHORT G_M47993_IG13
- test edx, edx
- jne G_M47993_IG28
- xor rsi, rsi
- xor r8d, r8d
+ test ecx, ecx
+ jne G_M47993_IG22
+ xor rdx, rdx
+ xor esi, esi
jmp SHORT G_M47993_IG14
- ;; size=37 bbWeight=1 PerfScore 9.25
+ ;; size=33 bbWeight=1 PerfScore 9.00
G_M47993_IG13:
- cmp dword ptr [rcx+0x08], edx
- jb G_M47993_IG28
- mov esi, edx
- lea rsi, bword ptr [rcx+2*rsi+0x10]
- mov r8d, dword ptr [rcx+0x08]
- sub r8d, edx
- ;; size=23 bbWeight=1 PerfScore 7.50
+ cmp dword ptr [rax+0x08], ecx
+ jb G_M47993_IG22
+ mov edx, ecx
+ lea rdx, bword ptr [rax+2*rdx+0x10]
+ mov esi, dword ptr [rax+0x08]
+ sub esi, ecx
+ ;; size=21 bbWeight=1 PerfScore 7.50
G_M47993_IG14:
- cmp r8d, 5
- jl G_M47993_IG155
- ;; size=10 bbWeight=1 PerfScore 1.25
-G_M47993_IG15:
- mov rcx, 0xD1FFAB1E
- xor rcx, qword ptr [rsi]
- mov edx, dword ptr [rsi+0x06]
- xor edx, 0xD1FFAB1E
+ mov rax, 0xD1FFAB1E
+ cmp esi, 5
+ jl G_M47993_IG141
+ mov rcx, qword ptr [rdx]
+ mov rdx, qword ptr [rdx+0x02]
+ mov rsi, qword ptr [rax]
+ xor rcx, rsi
+ xor rdx, qword ptr [rax+0x02]
or rcx, rdx
- jne G_M47993_IG155
- ;; size=31 bbWeight=0.50 PerfScore 3.38
-G_M47993_IG16:
+ sete al
+ movzx rax, al
+ test eax, eax
+ je G_M47993_IG141
+ mov rax, gword ptr [r15+0x188]
mov ecx, dword ptr [r15+0x1D0]
add ecx, 5
cmp ecx, dword ptr [rax+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
movzx rax, word ptr [rax+2*rcx+0x10]
mov ecx, eax
mov rbx, 0xD1FFAB1E ; static handle
test byte ptr [rcx+rbx], 8
- jne G_M47993_IG155
+ jne G_M47993_IG141
cmp eax, 58
- je G_M47993_IG155
+ je G_M47993_IG141
mov rbx, bword ptr [rbp-0xD8]
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG17
+ jne SHORT G_M47993_IG16
mov rdi, gword ptr [r15+0x18]
mov esi, dword ptr [r15+0x1E0]
lea rax, bword ptr [r15+0x188]
mov ecx, dword ptr [rax+0x48]
sub ecx, dword ptr [rax+0x5C]
add ecx, 2
cmp byte ptr [rdi], dil
add rdi, 104
mov dword ptr [rdi], esi
mov dword ptr [rdi+0x04], ecx
mov r14, gword ptr [r15+0x18]
mov r13, gword ptr [r15+0xD0]
mov dword ptr [r14+0x50], 17
lea rdi, bword ptr [r14+0x08]
mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r14+0x10], rdi
+ mov r12, 0xD1FFAB1E ; ''
+ mov gword ptr [r14+0x10], r12
lea rdi, bword ptr [r14+0x20]
mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r14+0x18], rdi
- mov gword ptr [r14+0x28], rdi
+ mov gword ptr [r14+0x18], r12
+ mov gword ptr [r14+0x28], r12
+ ;; size=232 bbWeight=1 PerfScore 61.25
+G_M47993_IG15:
mov dword ptr [r14+0x54], -1
- ;; size=190 bbWeight=1 PerfScore 47.00
-G_M47993_IG17:
+ ;; size=8 bbWeight=1 PerfScore 1.00
+G_M47993_IG16:
lea rdi, bword ptr [r15+0x1D0]
add dword ptr [rdi], 5
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG43
+ jne G_M47993_IG36
mov rsi, gword ptr [r15+0xB0]
;; size=27 bbWeight=1 PerfScore 9.50
-G_M47993_IG18:
+G_M47993_IG17:
lea rdi, bword ptr [rbx+0x08]
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor edi, edi
mov dword ptr [rbx+0x24], edi
;; size=14 bbWeight=1 PerfScore 2.75
-G_M47993_IG19:
+G_M47993_IG18:
mov gword ptr [rbx+0x10], rdi
;; size=4 bbWeight=1 PerfScore 1.00
-G_M47993_IG20:
+G_M47993_IG19:
mov rdi, gword ptr [rbx+0x08]
mov esi, dword ptr [rdi+0x1C]
add esi, dword ptr [rdi+0x18]
mov dword ptr [rbx+0x28], esi
cmp dword ptr [rbx+0x24], 0
- je G_M47993_IG44
+ je G_M47993_IG37
mov rsi, gword ptr [rbx+0x08]
;; size=27 bbWeight=4 PerfScore 56.00
-G_M47993_IG21:
+G_M47993_IG20:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x48], rax
xor edi, edi
mov dword ptr [rbp-0x40], edi
test byte ptr [rbp-0x40], 4
- jne SHORT G_M47993_IG22
+ jne SHORT G_M47993_IG21
mov rdi, gword ptr [rbp-0x48]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne G_M47993_IG47
+ jne G_M47993_IG40
;; size=49 bbWeight=4 PerfScore 67.00
-G_M47993_IG22:
+G_M47993_IG21:
mov dword ptr [rbx+0x20], 1
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0x48]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x40]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=69 bbWeight=1 PerfScore 15.50
-G_M47993_IG23:
- call CORINFO_HELP_RNGCHKFAIL
- int3
- ;; size=6 bbWeight=0 PerfScore 0.00
-G_M47993_IG24:
- mov rdi, 0xD1FFAB1E ; 'Xml_UnclosedQuote'
- mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
- call [rax]System.SR:GetResourceString(System.String):System.String
- mov r14, rax
- mov r13d, dword ptr [r15+0x1E0]
- lea r12, bword ptr [r15+0x188]
- mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
- call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x140], rax
- mov ecx, dword ptr [r12+0x48]
- sub ecx, dword ptr [r12+0x5C]
- mov r12d, ecx
- mov rcx, gword ptr [r15+0x1B8]
- mov gword ptr [rbp-0x150], rcx
- mov rdi, 0xD1FFAB1E ; System.String[]
- mov esi, 1
- call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x148], rax
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [rax+0x10], rdi
- mov rdi, r14
- mov rsi, rax
- mov edx, r13d
- mov ecx, r12d
- mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
- call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
- mov rdi, 0xD1FFAB1E
- mov rcx, gword ptr [rbp-0x140]
- mov qword ptr [rcx+0x70], rdi
- lea rdi, bword ptr [rcx+0x10]
- mov rsi, rax
- call CORINFO_HELP_ASSIGN_REF
- xor rdi, rdi
- mov rax, gword ptr [rbp-0x140]
- mov gword ptr [rax+0x20], rdi
- mov dword ptr [rax+0x74], 0xD1FFAB1E
- lea rdi, bword ptr [rax+0x78]
- mov rsi, r14
- call CORINFO_HELP_ASSIGN_REF
- mov r14, gword ptr [rbp-0x140]
- lea rdi, bword ptr [r14+0x80]
- mov rsi, gword ptr [rbp-0x148]
- call CORINFO_HELP_ASSIGN_REF
- lea rdi, bword ptr [r14+0x88]
- mov rsi, gword ptr [rbp-0x150]
- call CORINFO_HELP_ASSIGN_REF
- ;; size=264 bbWeight=0 PerfScore 0.00
-G_M47993_IG25:
- mov dword ptr [r14+0x98], r13d
- mov dword ptr [r14+0x9C], r12d
- mov rdi, r15
- mov rsi, r14
- mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- int3
- ;; size=33 bbWeight=0 PerfScore 0.00
-G_M47993_IG26:
- mov rdi, 0xD1FFAB1E ; 'Xml_InvalidXmlDecl'
- mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
- call [rax]System.SR:GetResourceString(System.String):System.String
- mov r14, rax
- mov r13d, dword ptr [r15+0x1E0]
- lea rdi, bword ptr [r15+0x188]
- mov r12d, dword ptr [rdi+0x48]
- sub r12d, dword ptr [rdi+0x5C]
- dec r12d
- mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
- call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x128], rax
- mov rcx, gword ptr [r15+0x1B8]
- mov gword ptr [rbp-0x138], rcx
- mov rdi, 0xD1FFAB1E ; System.String[]
- mov esi, 1
- call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x130], rax
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [rax+0x10], rdi
- mov rdi, r14
- mov rsi, rax
- mov edx, r13d
- mov ecx, r12d
- mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
- call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
- mov rdi, 0xD1FFAB1E
- mov rcx, gword ptr [rbp-0x128]
- mov qword ptr [rcx+0x70], rdi
- lea rdi, bword ptr [rcx+0x10]
- mov rsi, rax
- call CORINFO_HELP_ASSIGN_REF
- xor rdi, rdi
- mov rax, gword ptr [rbp-0x128]
- mov gword ptr [rax+0x20], rdi
- mov dword ptr [rax+0x74], 0xD1FFAB1E
- lea rdi, bword ptr [rax+0x78]
- mov rsi, r14
- call CORINFO_HELP_ASSIGN_REF
- mov r14, gword ptr [rbp-0x128]
- lea rdi, bword ptr [r14+0x80]
- mov rsi, gword ptr [rbp-0x130]
- call CORINFO_HELP_ASSIGN_REF
- lea rdi, bword ptr [r14+0x88]
- mov rsi, gword ptr [rbp-0x138]
- call CORINFO_HELP_ASSIGN_REF
- ;; size=262 bbWeight=0 PerfScore 0.00
-G_M47993_IG27:
- mov dword ptr [r14+0x98], r13d
- mov dword ptr [r14+0x9C], r12d
- mov rdi, r15
- mov rsi, r14
- mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- int3
- ;; size=33 bbWeight=0 PerfScore 0.00
-G_M47993_IG28:
+G_M47993_IG22:
mov rbx, bword ptr [rbp-0xD8]
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=20 bbWeight=0 PerfScore 0.00
-G_M47993_IG29:
+G_M47993_IG23:
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG36
+ jne G_M47993_IG30
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidXmlDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
- jmp G_M47993_IG37
- align [2 bytes for IG116]
- ;; size=42 bbWeight=0 PerfScore 0.00
-G_M47993_IG30:
+ jmp G_M47993_IG31
+ align [0 bytes for IG103]
+ ;; size=40 bbWeight=0 PerfScore 0.00
+G_M47993_IG24:
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidTextDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
mov r13d, dword ptr [r15+0x1E0]
lea r12, bword ptr [r15+0x188]
mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xF8], rax
mov ecx, dword ptr [r12+0x48]
sub ecx, dword ptr [r12+0x5C]
mov r12d, ecx
mov rcx, gword ptr [r15+0x1B8]
mov gword ptr [rbp-0x108], rcx
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0x100], rax
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [rax+0x10], rdi
+ mov r8, 0xD1FFAB1E ; ''
+ mov gword ptr [rax+0x10], r8
mov rdi, r14
mov rsi, rax
mov edx, r13d
mov ecx, r12d
mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
mov rdi, 0xD1FFAB1E
mov rcx, gword ptr [rbp-0xF8]
mov qword ptr [rcx+0x70], rdi
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov rax, gword ptr [rbp-0xF8]
mov gword ptr [rax+0x20], rdi
mov dword ptr [rax+0x74], 0xD1FFAB1E
lea rdi, bword ptr [rax+0x78]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov r14, gword ptr [rbp-0xF8]
lea rdi, bword ptr [r14+0x80]
mov rsi, gword ptr [rbp-0x100]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x88]
mov rsi, gword ptr [rbp-0x108]
call CORINFO_HELP_ASSIGN_REF
;; size=264 bbWeight=0 PerfScore 0.00
-G_M47993_IG31:
+G_M47993_IG25:
mov dword ptr [r14+0x98], r13d
mov dword ptr [r14+0x9C], r12d
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
int3
;; size=33 bbWeight=0 PerfScore 0.00
-G_M47993_IG32:
+G_M47993_IG26:
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG33
+ jne SHORT G_M47993_IG27
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidXmlDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
- jmp SHORT G_M47993_IG34
+ jmp SHORT G_M47993_IG28
;; size=33 bbWeight=0 PerfScore 0.00
-G_M47993_IG33:
+G_M47993_IG27:
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidTextDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
;; size=25 bbWeight=0 PerfScore 0.00
-G_M47993_IG34:
+G_M47993_IG28:
mov r13d, dword ptr [r15+0x1E0]
lea r12, bword ptr [r15+0x188]
mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xE0], rax
mov ecx, dword ptr [r12+0x48]
sub ecx, dword ptr [r12+0x5C]
mov r12d, ecx
mov rcx, gword ptr [r15+0x1B8]
mov gword ptr [rbp-0xF0], rcx
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0xE8], rax
mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [rax+0x10], rdi
+ mov r8, rdi
+ mov gword ptr [rax+0x10], r8
mov rdi, r14
mov rsi, rax
mov edx, r13d
mov ecx, r12d
mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
mov rdi, 0xD1FFAB1E
mov rcx, gword ptr [rbp-0xE0]
mov qword ptr [rcx+0x70], rdi
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov rax, gword ptr [rbp-0xE0]
mov gword ptr [rax+0x20], rdi
mov dword ptr [rax+0x74], 0xD1FFAB1E
lea rdi, bword ptr [rax+0x78]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov r14, gword ptr [rbp-0xE0]
lea rdi, bword ptr [r14+0x80]
mov rsi, gword ptr [rbp-0xE8]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x88]
mov rsi, gword ptr [rbp-0xF0]
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r14+0x98], r13d
mov dword ptr [r14+0x9C], r12d
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- ;; size=269 bbWeight=0 PerfScore 0.00
-G_M47993_IG35:
+ ;; size=272 bbWeight=0 PerfScore 0.00
+G_M47993_IG29:
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
int3
;; size=3 bbWeight=0 PerfScore 0.00
-G_M47993_IG36:
+G_M47993_IG30:
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidTextDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
;; size=25 bbWeight=0 PerfScore 0.00
-G_M47993_IG37:
+G_M47993_IG31:
mov r13d, dword ptr [r15+0x1E0]
lea r12, bword ptr [r15+0x188]
mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x110], rax
mov ecx, dword ptr [r12+0x48]
sub ecx, dword ptr [r12+0x5C]
mov r12d, ecx
mov rcx, gword ptr [r15+0x1B8]
mov gword ptr [rbp-0x120], rcx
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0x118], rax
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [rax+0x10], rdi
+ mov r8, 0xD1FFAB1E ; ''
+ mov gword ptr [rax+0x10], r8
mov rdi, r14
mov rsi, rax
mov edx, r13d
mov ecx, r12d
mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
mov rdi, 0xD1FFAB1E
mov rcx, gword ptr [rbp-0x110]
mov qword ptr [rcx+0x70], rdi
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov rax, gword ptr [rbp-0x110]
mov gword ptr [rax+0x20], rdi
mov dword ptr [rax+0x74], 0xD1FFAB1E
lea rdi, bword ptr [rax+0x78]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov r14, gword ptr [rbp-0x110]
lea rdi, bword ptr [r14+0x80]
mov rsi, gword ptr [rbp-0x118]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x88]
mov rsi, gword ptr [rbp-0x120]
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r14+0x98], r13d
mov dword ptr [r14+0x9C], r12d
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
;; size=269 bbWeight=0 PerfScore 0.00
-G_M47993_IG38:
+G_M47993_IG32:
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
int3
;; size=3 bbWeight=0 PerfScore 0.00
-G_M47993_IG39:
- cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG40
+G_M47993_IG33:
+ call CORINFO_HELP_RNGCHKFAIL
+ int3
+ ;; size=6 bbWeight=0 PerfScore 0.00
+G_M47993_IG34:
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidXmlDecl'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
- jmp SHORT G_M47993_IG41
- ;; size=33 bbWeight=0 PerfScore 0.00
-G_M47993_IG40:
- mov rdi, 0xD1FFAB1E ; 'Xml_InvalidTextDecl'
- mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
- call [rax]System.SR:GetResourceString(System.String):System.String
- mov r14, rax
- ;; size=25 bbWeight=0 PerfScore 0.00
-G_M47993_IG41:
mov r13d, dword ptr [r15+0x1E0]
- lea r12, bword ptr [r15+0x188]
+ lea rdi, bword ptr [r15+0x188]
+ mov r12d, dword ptr [rdi+0x48]
+ sub r12d, dword ptr [rdi+0x5C]
+ dec r12d
mov rdi, 0xD1FFAB1E ; System.Xml.XmlException
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x158], rax
- mov ecx, dword ptr [r12+0x48]
- sub ecx, dword ptr [r12+0x5C]
- mov r12d, ecx
+ mov gword ptr [rbp-0x128], rax
mov rcx, gword ptr [r15+0x1B8]
- mov gword ptr [rbp-0x168], rcx
+ mov gword ptr [rbp-0x138], rcx
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x160], rax
- mov rdi, 0xD1FFAB1E ; ''
+ mov gword ptr [rbp-0x130], rax
+ mov r8, 0xD1FFAB1E ; ''
+ mov rdi, r8
mov gword ptr [rax+0x10], rdi
mov rdi, r14
mov rsi, rax
mov edx, r13d
mov ecx, r12d
mov r8, 0xD1FFAB1E ; code for System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
call [r8]System.Xml.XmlException:CreateMessage(System.String,System.String[],int,int):System.String
mov rdi, 0xD1FFAB1E
- mov rcx, gword ptr [rbp-0x158]
+ mov rcx, gword ptr [rbp-0x128]
mov qword ptr [rcx+0x70], rdi
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
- mov rax, gword ptr [rbp-0x158]
+ mov rax, gword ptr [rbp-0x128]
mov gword ptr [rax+0x20], rdi
mov dword ptr [rax+0x74], 0xD1FFAB1E
lea rdi, bword ptr [rax+0x78]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
- mov r14, gword ptr [rbp-0x158]
+ mov r14, gword ptr [rbp-0x128]
lea rdi, bword ptr [r14+0x80]
- mov rsi, gword ptr [rbp-0x160]
+ mov rsi, gword ptr [rbp-0x130]
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x88]
- mov rsi, gword ptr [rbp-0x168]
+ mov rsi, gword ptr [rbp-0x138]
+ ;; size=260 bbWeight=0 PerfScore 0.00
+G_M47993_IG35:
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r14+0x98], r13d
mov dword ptr [r14+0x9C], r12d
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
- ;; size=269 bbWeight=0 PerfScore 0.00
-G_M47993_IG42:
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.Exception):this
int3
- ;; size=3 bbWeight=0 PerfScore 0.00
-G_M47993_IG43:
+ ;; size=38 bbWeight=0 PerfScore 0.00
+G_M47993_IG36:
mov rdi, 0xD1FFAB1E ; System.Text.StringBuilder
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- mov rdi, r14
+ mov r12, rax
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:.ctor():this
call [rax]System.Text.StringBuilder:.ctor():this
- mov rsi, r14
- jmp G_M47993_IG18
+ mov rsi, r12
+ jmp G_M47993_IG17
;; size=41 bbWeight=1 PerfScore 7.25
-G_M47993_IG44:
+G_M47993_IG37:
xor rsi, rsi
- jmp G_M47993_IG21
+ jmp G_M47993_IG20
;; size=7 bbWeight=4 PerfScore 9.00
-G_M47993_IG45:
+G_M47993_IG38:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0x48], xmm0
;; size=17 bbWeight=1 PerfScore 6.00
-G_M47993_IG46:
+G_M47993_IG39:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG47:
+G_M47993_IG40:
mov rdi, gword ptr [rbp-0x48]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG48
+ je SHORT G_M47993_IG41
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=35 bbWeight=4 PerfScore 32.00
-G_M47993_IG48:
+G_M47993_IG41:
mov rdi, gword ptr [rbp-0x48]
mov r14d, dword ptr [rdi+0x38]
mov rdi, gword ptr [r15+0x188]
mov esi, dword ptr [r15+0x1D0]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
cmp word ptr [rdi+2*rsi+0x10], 63
- jne G_M47993_IG73
+ jne G_M47993_IG62
mov rdi, gword ptr [rbx+0x08]
mov esi, dword ptr [rbx+0x28]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:set_Length(int):this
mov rdi, gword ptr [r15+0x188]
mov eax, dword ptr [r15+0x1D0]
inc eax
mov ecx, eax
cmp ecx, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
cmp word ptr [rdi+2*rcx+0x10], 62
- jne G_M47993_IG72
+ jne G_M47993_IG61
;; size=103 bbWeight=4 PerfScore 151.00
-G_M47993_IG49:
+G_M47993_IG42:
cmp dword ptr [rbx+0x24], 0
- je G_M47993_IG32
+ je G_M47993_IG26
lea rdi, bword ptr [r15+0x1D0]
add dword ptr [rdi], 2
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG50
+ jne SHORT G_M47993_IG43
mov r14, gword ptr [r15+0x18]
mov rdi, gword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:ToString():System.String:this
mov dword ptr [r14+0x54], -1
lea rdi, bword ptr [r14+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, gword ptr [rbx+0x08]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:set_Length(int):this
mov edi, dword ptr [r15+0x108]
mov dword ptr [r15+0x10C], edi
mov dword ptr [r15+0x108], 9
;; size=113 bbWeight=1 PerfScore 37.00
-G_M47993_IG50:
+G_M47993_IG43:
mov rsi, gword ptr [rbx+0x10]
test rsi, rsi
- jne G_M47993_IG66
+ jne G_M47993_IG55
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG30
+ jne G_M47993_IG24
cmp byte ptr [r15+0x185], 0
- je G_M47993_IG58
+ je G_M47993_IG47
mov rdi, gword ptr [r15+0x190]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x10]System.Text.Encoding:get_WebName():System.String:this
- test rax, rax
- je SHORT G_M47993_IG57
- ;; size=59 bbWeight=1 PerfScore 21.50
-G_M47993_IG51:
- mov esi, dword ptr [rax+0x08]
- cmp esi, 5
- jne SHORT G_M47993_IG53
- ;; size=8 bbWeight=0.50 PerfScore 1.62
-G_M47993_IG52:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov ecx, dword ptr [rax+0x12]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- je G_M47993_IG58
- ;; size=32 bbWeight=0.25 PerfScore 1.69
-G_M47993_IG53:
- cmp esi, 6
- jne SHORT G_M47993_IG55
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M47993_IG54:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov ecx, dword ptr [rax+0x14]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- je G_M47993_IG58
- ;; size=32 bbWeight=0.25 PerfScore 1.69
-G_M47993_IG55:
- cmp esi, 8
- jne SHORT G_M47993_IG57
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M47993_IG56:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- jne G_M47993_IG58
- ;; size=34 bbWeight=1 PerfScore 11.50
-G_M47993_IG57:
+ mov r14, rax
+ mov rdx, 0xD1FFAB1E ; 'utf-8'
+ cmp r14, rdx
+ je G_M47993_IG47
+ test r14, r14
+ je SHORT G_M47993_IG44
+ cmp dword ptr [r14+0x08], 5
+ jne SHORT G_M47993_IG44
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG47
+ ;; size=128 bbWeight=1 PerfScore 34.75
+G_M47993_IG44:
+ mov rdx, 0xD1FFAB1E ; 'utf-16'
+ cmp r14, rdx
+ je G_M47993_IG47
+ test r14, r14
+ je SHORT G_M47993_IG45
+ cmp dword ptr [r14+0x08], 6
+ jne SHORT G_M47993_IG45
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG47
+ ;; size=71 bbWeight=1 PerfScore 14.25
+G_M47993_IG45:
+ mov rdx, 0xD1FFAB1E ; 'utf-16BE'
+ cmp r14, rdx
+ je G_M47993_IG47
+ test r14, r14
+ je SHORT G_M47993_IG46
+ cmp dword ptr [r14+0x08], 8
+ jne SHORT G_M47993_IG46
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG47
+ ;; size=71 bbWeight=1 PerfScore 14.25
+G_M47993_IG46:
mov rsi, gword ptr [r15+0x190]
mov rdi, 0xD1FFAB1E ; System.Xml.Ucs4Encoding
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne SHORT G_M47993_IG58
+ jne SHORT G_M47993_IG47
mov rdi, 0xD1FFAB1E ; 'Xml_EncodingSwitchAfterResetState'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
mov rdi, gword ptr [r15+0x190]
mov rsi, 0xD1FFAB1E ; 'A'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
mov rdx, 0xD1FFAB1E ; 'UTF-8'
mov rdi, 0xD1FFAB1E ; 'UTF-16'
cmp eax, 1
cmovne rdx, rdi
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
;; size=131 bbWeight=1 PerfScore 24.50
-G_M47993_IG58:
+G_M47993_IG47:
mov rdi, gword ptr [r15+0x1A0]
test rdi, rdi
- je G_M47993_IG71
+ je G_M47993_IG60
;; size=16 bbWeight=1 PerfScore 3.25
-G_M47993_IG59:
+G_M47993_IG48:
mov rax, 0xD1FFAB1E ; System.Xml.SafeAsciiDecoder
cmp qword ptr [rdi], rax
- jne G_M47993_IG71
+ jne G_M47993_IG60
;; size=19 bbWeight=0.50 PerfScore 2.12
-G_M47993_IG60:
+G_M47993_IG49:
mov rdi, 0xD1FFAB1E ; System.Text.UTF8Encoding
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov byte ptr [r14+0x24], 1
mov dword ptr [r14+0x20], 0xFDE9
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
call [rax]System.Text.UTF8Encoding:SetDefaultFallbacks():this
mov word ptr [r14+0x25], 257
cmp byte ptr [r14+0x26], 0
- je SHORT G_M47993_IG61
+ je SHORT G_M47993_IG50
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
call [rax]System.Text.UTF8Encoding:SetDefaultFallbacks():this
;; size=75 bbWeight=1 PerfScore 15.50
-G_M47993_IG61:
+G_M47993_IG50:
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
call [rax]System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x58], rax
xor edi, edi
mov dword ptr [rbp-0x50], edi
test byte ptr [rbp-0x50], 4
- jne SHORT G_M47993_IG62
+ jne SHORT G_M47993_IG51
mov rdi, gword ptr [rbp-0x58]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG65
+ jne SHORT G_M47993_IG54
;; size=48 bbWeight=1 PerfScore 17.00
-G_M47993_IG62:
+G_M47993_IG51:
mov dword ptr [rbx+0x20], 2
lea rdi, bword ptr [rbx+0x50]
mov rsi, gword ptr [rbp-0x58]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x50]
mov dword ptr [rbx+0x58], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=69 bbWeight=1 PerfScore 15.50
-G_M47993_IG63:
+G_M47993_IG52:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x50]
vmovdqu xmmword ptr [rbp-0x58], xmm0
;; size=17 bbWeight=1 PerfScore 6.00
-G_M47993_IG64:
+G_M47993_IG53:
xor esi, esi
mov qword ptr [rdi+0x50], rsi
mov qword ptr [rdi+0x58], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG65:
+G_M47993_IG54:
mov rdi, gword ptr [rbp-0x58]
mov esi, dword ptr [rbp-0x50]
mov eax, dword ptr [rdi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
- je G_M47993_IG71
+ je G_M47993_IG60
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
- jmp G_M47993_IG71
+ jmp G_M47993_IG60
;; size=43 bbWeight=1 PerfScore 10.75
-G_M47993_IG66:
+G_M47993_IG55:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
call [rax]System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x68], rax
xor edi, edi
mov dword ptr [rbp-0x60], edi
test byte ptr [rbp-0x60], 4
- jne SHORT G_M47993_IG67
+ jne SHORT G_M47993_IG56
mov rdi, gword ptr [rbp-0x68]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG70
+ jne SHORT G_M47993_IG59
;; size=45 bbWeight=1 PerfScore 16.75
-G_M47993_IG67:
+G_M47993_IG56:
mov dword ptr [rbx+0x20], 3
lea rdi, bword ptr [rbx+0x50]
mov rsi, gword ptr [rbp-0x68]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x60]
mov dword ptr [rbx+0x58], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=69 bbWeight=1 PerfScore 15.50
-G_M47993_IG68:
+G_M47993_IG57:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x50]
vmovdqu xmmword ptr [rbp-0x68], xmm0
;; size=17 bbWeight=1 PerfScore 6.00
-G_M47993_IG69:
+G_M47993_IG58:
xor esi, esi
mov qword ptr [rdi+0x50], rsi
mov qword ptr [rdi+0x58], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG70:
+G_M47993_IG59:
mov rdi, gword ptr [rbp-0x68]
mov esi, dword ptr [rbp-0x60]
mov eax, dword ptr [rdi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
- je SHORT G_M47993_IG71
+ je SHORT G_M47993_IG60
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=34 bbWeight=1 PerfScore 8.75
-G_M47993_IG71:
+G_M47993_IG60:
mov byte ptr [r15+0x1EC], 0
mov esi, 1
- jmp G_M47993_IG173
+ jmp G_M47993_IG155
;; size=18 bbWeight=1 PerfScore 3.25
-G_M47993_IG72:
+G_M47993_IG61:
cmp eax, dword ptr [r15+0x1D4]
- je G_M47993_IG147
+ je G_M47993_IG133
mov rdi, r15
mov rsi, 0xD1FFAB1E ; ''>''
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
;; size=40 bbWeight=4 PerfScore 32.00
-G_M47993_IG73:
+G_M47993_IG62:
test r14d, r14d
- jne SHORT G_M47993_IG74
+ jne SHORT G_M47993_IG63
cmp dword ptr [rbx+0x24], 0
- je SHORT G_M47993_IG74
+ je SHORT G_M47993_IG63
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '?>'
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
;; size=38 bbWeight=4 PerfScore 37.00
-G_M47993_IG74:
+G_M47993_IG63:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ParseNameAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:ParseNameAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x78], rax
xor edi, edi
mov dword ptr [rbp-0x70], edi
test byte ptr [rbp-0x70], 4
- jne SHORT G_M47993_IG75
+ jne SHORT G_M47993_IG64
mov rdi, gword ptr [rbp-0x78]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG78
+ jne SHORT G_M47993_IG67
;; size=45 bbWeight=4 PerfScore 67.00
-G_M47993_IG75:
+G_M47993_IG64:
mov dword ptr [rbx+0x20], 4
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x70]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x78]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=69 bbWeight=4 PerfScore 62.00
-G_M47993_IG76:
+G_M47993_IG65:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0x78], xmm0
;; size=17 bbWeight=1 PerfScore 6.00
-G_M47993_IG77:
+G_M47993_IG66:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG78:
+G_M47993_IG67:
mov rdi, gword ptr [rbp-0x78]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG79
+ je SHORT G_M47993_IG68
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=35 bbWeight=4 PerfScore 32.00
-G_M47993_IG79:
+G_M47993_IG68:
mov rdi, gword ptr [rbp-0x78]
mov r14d, dword ptr [rdi+0x38]
xor rdi, rdi
mov gword ptr [rbx+0x18], rdi
mov rdi, gword ptr [r15+0x188]
mov esi, dword ptr [r15+0x1D0]
mov edx, esi
mov eax, r14d
sub eax, esi
test rdi, rdi
- jne SHORT G_M47993_IG80
+ jne SHORT G_M47993_IG69
or edx, eax
- jne G_M47993_IG28
+ jne G_M47993_IG22
xor rsi, rsi
xor edx, edx
- jmp SHORT G_M47993_IG81
+ jmp SHORT G_M47993_IG70
;; size=54 bbWeight=4 PerfScore 56.00
-G_M47993_IG80:
+G_M47993_IG69:
mov esi, edx
mov ecx, eax
add rsi, rcx
mov ecx, dword ptr [rdi+0x08]
cmp rsi, rcx
- ja G_M47993_IG28
+ ja G_M47993_IG22
mov esi, edx
lea rsi, bword ptr [rdi+2*rsi+0x10]
mov edx, eax
;; size=28 bbWeight=4 PerfScore 22.00
-G_M47993_IG81:
+G_M47993_IG70:
+ mov rdi, 0xD1FFAB1E
cmp edx, 7
- jne SHORT G_M47993_IG84
- ;; size=5 bbWeight=4 PerfScore 5.00
-G_M47993_IG82:
+ jne SHORT G_M47993_IG71
+ mov rax, rsi
+ mov rcx, qword ptr [rax]
+ mov rax, qword ptr [rax+0x06]
+ mov r8, qword ptr [rdi]
+ xor rcx, r8
+ xor rax, qword ptr [rdi+0x06]
+ or rax, rcx
+ sete dil
+ movzx rdi, dil
+ test edi, edi
+ jne G_M47993_IG73
+ ;; size=54 bbWeight=4 PerfScore 55.00
+G_M47993_IG71:
mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rsi]
- mov rax, 0xD1FFAB1E
- xor rax, qword ptr [rsi+0x06]
- or rdi, rax
- jne SHORT G_M47993_IG84
- ;; size=32 bbWeight=2 PerfScore 15.50
-G_M47993_IG83:
- cmp dword ptr [rbx+0x24], 0
- jne G_M47993_IG29
- jmp SHORT G_M47993_IG86
- ;; size=12 bbWeight=4 PerfScore 24.00
-G_M47993_IG84:
cmp edx, 8
- jne SHORT G_M47993_IG85
+ jne SHORT G_M47993_IG72
vmovups xmm0, xmmword ptr [rsi]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vptest xmm0, xmm0
+ vpcmpeqq xmm0, xmm0, xmmword ptr [rdi]
+ vpmovmskb edi, xmm0
+ cmp edi, 0xFFFF
sete dil
movzx rdi, dil
test edi, edi
- jne G_M47993_IG89
- ;; size=38 bbWeight=4 PerfScore 51.00
-G_M47993_IG85:
+ jne G_M47993_IG76
+ ;; size=50 bbWeight=4 PerfScore 53.00
+G_M47993_IG72:
+ mov rdi, 0xD1FFAB1E
cmp edx, 10
- jne G_M47993_IG29
+ jne G_M47993_IG23
vmovups xmm0, xmmword ptr [rsi]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD80]
vmovups xmm1, xmmword ptr [rsi+0x04]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD96]
+ vmovups xmm2, xmmword ptr [rdi]
+ vpxor xmm0, xmm2, xmm0
+ vpxor xmm1, xmm1, xmmword ptr [rdi+0x04]
vpor xmm0, xmm1, xmm0
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
- je G_M47993_IG29
- cmp dword ptr [rbx+0x24], 1
- je G_M47993_IG95
- jmp G_M47993_IG94
- ;; size=74 bbWeight=4 PerfScore 100.33
-G_M47993_IG86:
+ je G_M47993_IG23
+ mov r13d, dword ptr [rbx+0x24]
+ cmp r13d, 1
+ je G_M47993_IG82
+ jmp G_M47993_IG81
+ ;; size=85 bbWeight=4 PerfScore 111.67
+G_M47993_IG73:
+ cmp dword ptr [rbx+0x24], 0
+ jne G_M47993_IG23
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG98
+ jne G_M47993_IG85
mov edi, dword ptr [r15+0x114]
mov esi, dword ptr [r15+0x11C]
lea esi, [rdi+rsi+0x01]
mov rdi, gword ptr [r15+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
mov edx, esi
mov r13, gword ptr [rdi+8*rdx+0x10]
test r13, r13
- je SHORT G_M47993_IG87
+ je SHORT G_M47993_IG74
mov dword ptr [r13+0x5C], 1
- jmp SHORT G_M47993_IG88
- ;; size=63 bbWeight=4 PerfScore 86.00
-G_M47993_IG87:
+ jmp SHORT G_M47993_IG75
+ ;; size=73 bbWeight=4 PerfScore 102.00
+G_M47993_IG74:
mov rdi, r15
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
call [rax]System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
mov r13, rax
;; size=23 bbWeight=4 PerfScore 16.00
-G_M47993_IG88:
+G_M47993_IG75:
mov rdi, gword ptr [r15+0x28]
mov rsi, 0xD1FFAB1E ; 'version'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNameTable:Add(System.String):System.String:this
mov r12, rax
mov dword ptr [r13+0x50], 2
lea rdi, bword ptr [r13+0x08]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x10], rdi
+ mov rax, rdi
+ mov gword ptr [rbp-0x140], rax
+ mov gword ptr [r13+0x10], rax
lea rdi, bword ptr [r13+0x20]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x18], rdi
- mov gword ptr [r13+0x28], rdi
+ mov r12, gword ptr [rbp-0x140]
+ mov gword ptr [r13+0x18], r12
+ mov gword ptr [r13+0x28], r12
mov dword ptr [r13+0x54], -1
inc dword ptr [r15+0x11C]
lea rdi, bword ptr [rbx+0x18]
mov rsi, r13
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M47993_IG98
- ;; size=123 bbWeight=4 PerfScore 101.00
-G_M47993_IG89:
- cmp dword ptr [rbx+0x24], 1
- je SHORT G_M47993_IG90
+ jmp G_M47993_IG85
+ ;; size=130 bbWeight=4 PerfScore 109.00
+G_M47993_IG76:
+ mov edi, dword ptr [rbx+0x24]
+ cmp edi, 1
+ je SHORT G_M47993_IG77
cmp byte ptr [rbx+0x32], 0
- je G_M47993_IG29
- cmp dword ptr [rbx+0x24], 0
- jne G_M47993_IG29
- ;; size=26 bbWeight=4 PerfScore 48.00
-G_M47993_IG90:
+ je G_M47993_IG23
+ test edi, edi
+ jne G_M47993_IG23
+ ;; size=26 bbWeight=4 PerfScore 34.00
+G_M47993_IG77:
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG93
+ jne G_M47993_IG80
mov edi, dword ptr [r15+0x114]
mov esi, dword ptr [r15+0x11C]
lea esi, [rdi+rsi+0x01]
mov rdi, gword ptr [r15+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
mov edx, esi
mov r13, gword ptr [rdi+8*rdx+0x10]
test r13, r13
- je SHORT G_M47993_IG91
+ je SHORT G_M47993_IG78
mov dword ptr [r13+0x5C], 1
- jmp SHORT G_M47993_IG92
+ jmp SHORT G_M47993_IG79
;; size=63 bbWeight=4 PerfScore 86.00
-G_M47993_IG91:
+G_M47993_IG78:
mov rdi, r15
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
call [rax]System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
mov r13, rax
;; size=23 bbWeight=4 PerfScore 16.00
-G_M47993_IG92:
+G_M47993_IG79:
mov rdi, gword ptr [r15+0x28]
mov rsi, 0xD1FFAB1E ; 'encoding'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNameTable:Add(System.String):System.String:this
mov r12, rax
mov dword ptr [r13+0x50], 2
lea rdi, bword ptr [r13+0x08]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x10], rdi
+ mov rax, rdi
+ mov gword ptr [rbp-0x140], rax
+ mov gword ptr [r13+0x10], rax
lea rdi, bword ptr [r13+0x20]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x18], rdi
- mov gword ptr [r13+0x28], rdi
+ mov r12, gword ptr [rbp-0x140]
+ mov gword ptr [r13+0x18], r12
+ mov gword ptr [r13+0x28], r12
mov dword ptr [r13+0x54], -1
inc dword ptr [r15+0x11C]
lea rdi, bword ptr [rbx+0x18]
mov rsi, r13
call CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=118 bbWeight=4 PerfScore 93.00
-G_M47993_IG93:
+ ;; size=125 bbWeight=4 PerfScore 101.00
+G_M47993_IG80:
mov dword ptr [rbx+0x24], 1
- jmp G_M47993_IG98
+ jmp G_M47993_IG85
;; size=12 bbWeight=4 PerfScore 12.00
-G_M47993_IG94:
- cmp dword ptr [rbx+0x24], 2
- jne G_M47993_IG29
- ;; size=10 bbWeight=4 PerfScore 16.00
-G_M47993_IG95:
+G_M47993_IG81:
+ cmp r13d, 2
+ jne G_M47993_IG23
+ ;; size=10 bbWeight=4 PerfScore 5.00
+G_M47993_IG82:
cmp byte ptr [rbx+0x32], 0
- jne G_M47993_IG29
+ jne G_M47993_IG23
mov edi, dword ptr [r15+0x114]
mov esi, dword ptr [r15+0x11C]
lea esi, [rdi+rsi+0x01]
mov rdi, gword ptr [r15+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
mov edx, esi
mov r13, gword ptr [rdi+8*rdx+0x10]
test r13, r13
- je SHORT G_M47993_IG96
+ je SHORT G_M47993_IG83
mov dword ptr [r13+0x5C], 1
- jmp SHORT G_M47993_IG97
+ jmp SHORT G_M47993_IG84
;; size=63 bbWeight=4 PerfScore 86.00
-G_M47993_IG96:
+G_M47993_IG83:
mov rdi, r15
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
call [rax]System.Xml.XmlTextReaderImpl:AllocNode(int,int):System.Xml.XmlTextReaderImpl+NodeData:this
mov r13, rax
;; size=23 bbWeight=4 PerfScore 16.00
-G_M47993_IG97:
+G_M47993_IG84:
mov rdi, gword ptr [r15+0x28]
mov rsi, 0xD1FFAB1E ; 'standalone'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNameTable:Add(System.String):System.String:this
mov r12, rax
mov dword ptr [r13+0x50], 2
lea rdi, bword ptr [r13+0x08]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x10], rdi
+ mov rax, rdi
+ mov gword ptr [rbp-0x140], rax
+ mov gword ptr [r13+0x10], rax
lea rdi, bword ptr [r13+0x20]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r13+0x18], rdi
- mov gword ptr [r13+0x28], rdi
+ mov r12, gword ptr [rbp-0x140]
+ mov gword ptr [r13+0x18], r12
+ mov gword ptr [r13+0x28], r12
mov dword ptr [r13+0x54], -1
inc dword ptr [r15+0x11C]
lea rdi, bword ptr [rbx+0x18]
mov rsi, r13
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov dword ptr [rbx+0x24], 2
- ;; size=125 bbWeight=4 PerfScore 97.00
-G_M47993_IG98:
+ ;; size=132 bbWeight=4 PerfScore 105.00
+G_M47993_IG85:
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG99
+ jne SHORT G_M47993_IG86
mov rcx, gword ptr [rbx+0x18]
mov esi, dword ptr [r15+0x1E0]
lea rdx, bword ptr [r15+0x188]
mov edi, dword ptr [rdx+0x48]
sub edi, dword ptr [rdx+0x5C]
cmp byte ptr [rcx], cl
add rcx, 104
mov dword ptr [rcx], esi
mov dword ptr [rcx+0x04], edi
;; size=41 bbWeight=4 PerfScore 75.00
-G_M47993_IG99:
+G_M47993_IG86:
mov edx, dword ptr [r15+0x1D0]
mov ecx, r14d
sub ecx, edx
mov rsi, gword ptr [r15+0x188]
mov rdi, gword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this
mov dword ptr [r15+0x1D0], r14d
mov rsi, gword ptr [r15+0x188]
mov edi, dword ptr [r15+0x1D0]
cmp edi, dword ptr [rsi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
cmp word ptr [rsi+2*rdi+0x10], 61
- je G_M47993_IG105
+ je G_M47993_IG92
mov rsi, gword ptr [rbx+0x08]
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x88], rax
xor edi, edi
mov dword ptr [rbp-0x80], edi
test byte ptr [rbp-0x80], 4
- jne SHORT G_M47993_IG100
+ jne SHORT G_M47993_IG87
mov rdi, gword ptr [rbp-0x88]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG103
+ jne SHORT G_M47993_IG90
;; size=134 bbWeight=4 PerfScore 178.00
-G_M47993_IG100:
+G_M47993_IG87:
mov dword ptr [rbx+0x20], 5
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0x88]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x80]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x88]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=75 bbWeight=4 PerfScore 62.00
-G_M47993_IG101:
+G_M47993_IG88:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0x88], xmm0
;; size=20 bbWeight=1 PerfScore 6.00
-G_M47993_IG102:
+G_M47993_IG89:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG103:
+G_M47993_IG90:
mov rdi, gword ptr [rbp-0x88]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG104
+ je SHORT G_M47993_IG91
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=38 bbWeight=4 PerfScore 32.00
-G_M47993_IG104:
+G_M47993_IG91:
mov rdi, gword ptr [rbp-0x88]
mov edi, dword ptr [rdi+0x38]
mov rdi, gword ptr [r15+0x188]
mov esi, dword ptr [r15+0x1D0]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
cmp word ptr [rdi+2*rsi+0x10], 61
- je SHORT G_M47993_IG105
+ je SHORT G_M47993_IG92
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '='
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
;; size=68 bbWeight=4 PerfScore 76.00
-G_M47993_IG105:
+G_M47993_IG92:
mov rdi, gword ptr [rbx+0x08]
mov esi, dword ptr [rdi+0x18]
mov eax, esi
mov rcx, gword ptr [rdi+0x08]
cmp dword ptr [rcx+0x08], eax
- jbe SHORT G_M47993_IG106
+ jbe SHORT G_M47993_IG93
cmp eax, dword ptr [rcx+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
mov word ptr [rcx+2*rax+0x10], 61
inc esi
mov dword ptr [rdi+0x18], esi
- jmp SHORT G_M47993_IG107
+ jmp SHORT G_M47993_IG94
;; size=41 bbWeight=4 PerfScore 74.00
-G_M47993_IG106:
+G_M47993_IG93:
mov esi, 61
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
;; size=17 bbWeight=4 PerfScore 14.00
-G_M47993_IG107:
+G_M47993_IG94:
lea rsi, bword ptr [r15+0x1D0]
inc dword ptr [rsi]
mov rsi, gword ptr [r15+0x188]
mov edi, dword ptr [r15+0x1D0]
cmp edi, dword ptr [rsi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
movzx rsi, word ptr [rsi+2*rdi+0x10]
mov word ptr [rbx+0x30], si
movzx rsi, word ptr [rbx+0x30]
cmp esi, 34
- je G_M47993_IG113
+ je G_M47993_IG100
cmp esi, 39
- je G_M47993_IG113
+ je G_M47993_IG100
mov rsi, gword ptr [rbx+0x08]
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:EatWhitespacesAsync(System.Text.StringBuilder):System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x98], rax
xor edi, edi
mov dword ptr [rbp-0x90], edi
test byte ptr [rbp-0x90], 4
- jne SHORT G_M47993_IG108
+ jne SHORT G_M47993_IG95
mov rdi, gword ptr [rbp-0x98]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG111
+ jne SHORT G_M47993_IG98
;; size=124 bbWeight=4 PerfScore 151.00
-G_M47993_IG108:
+G_M47993_IG95:
mov dword ptr [rbx+0x20], 6
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0x98]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x90]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x98]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=78 bbWeight=4 PerfScore 62.00
-G_M47993_IG109:
+G_M47993_IG96:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0x98], xmm0
;; size=20 bbWeight=1 PerfScore 6.00
-G_M47993_IG110:
+G_M47993_IG97:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG111:
+G_M47993_IG98:
mov rdi, gword ptr [rbp-0x98]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG112
+ je SHORT G_M47993_IG99
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=38 bbWeight=4 PerfScore 32.00
-G_M47993_IG112:
+G_M47993_IG99:
mov rdi, gword ptr [rbp-0x98]
mov edi, dword ptr [rdi+0x38]
mov rdi, gword ptr [r15+0x188]
mov esi, dword ptr [r15+0x1D0]
cmp esi, dword ptr [rdi+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
movzx rdi, word ptr [rdi+2*rsi+0x10]
mov word ptr [rbx+0x30], di
movzx rdi, word ptr [rbx+0x30]
cmp edi, 34
- je SHORT G_M47993_IG113
+ je SHORT G_M47993_IG100
cmp edi, 39
- je SHORT G_M47993_IG113
+ je SHORT G_M47993_IG100
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '"'
mov rdx, 0xD1FFAB1E ; '''
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:ThrowUnexpectedToken(System.String,System.String):this
;; size=91 bbWeight=4 PerfScore 90.00
-G_M47993_IG113:
+G_M47993_IG100:
movzx rsi, word ptr [rbx+0x30]
mov rdi, gword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
lea rcx, bword ptr [r15+0x1D0]
inc dword ptr [rcx]
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG114
+ jne SHORT G_M47993_IG101
mov rcx, gword ptr [rbx+0x18]
movzx rdi, word ptr [rbx+0x30]
mov word ptr [rcx+0x64], di
mov rcx, gword ptr [rbx+0x18]
mov edi, dword ptr [r15+0x1E0]
lea rdx, bword ptr [r15+0x188]
mov esi, dword ptr [rdx+0x48]
sub esi, dword ptr [rdx+0x5C]
cmp byte ptr [rcx], cl
add rcx, 112
mov dword ptr [rcx], edi
mov dword ptr [rcx+0x04], esi
;; size=84 bbWeight=4 PerfScore 150.00
-G_M47993_IG114:
+G_M47993_IG101:
mov ecx, dword ptr [r15+0x1D0]
mov dword ptr [rbx+0x2C], ecx
;; size=10 bbWeight=4 PerfScore 12.00
-G_M47993_IG115:
+G_M47993_IG102:
mov r14, gword ptr [r15+0x188]
mov rcx, 0xD1FFAB1E ; static handle
- jmp SHORT G_M47993_IG117
+ jmp SHORT G_M47993_IG104
;; size=19 bbWeight=32 PerfScore 136.00
-G_M47993_IG116:
+G_M47993_IG103:
inc r13d
mov dword ptr [rbx+0x2C], r13d
;; size=7 bbWeight=64 PerfScore 80.00
-G_M47993_IG117:
+G_M47993_IG104:
mov r13d, dword ptr [rbx+0x2C]
mov edi, r13d
cmp edi, dword ptr [r14+0x08]
- jae G_M47993_IG23
+ jae G_M47993_IG33
movzx rdi, word ptr [r14+2*rdi+0x10]
test byte ptr [rdi+rcx], 128
- jne SHORT G_M47993_IG116
+ jne SHORT G_M47993_IG103
;; size=29 bbWeight=256 PerfScore 3136.00
-G_M47993_IG118:
+G_M47993_IG105:
mov rdi, gword ptr [r15+0x188]
mov rcx, rdi
mov edx, r13d
- mov r12d, dword ptr [rcx+0x08]
- cmp edx, r12d
- jae G_M47993_IG23
+ mov eax, dword ptr [rcx+0x08]
+ cmp edx, eax
+ jae G_M47993_IG33
movzx rcx, word ptr [rcx+2*rdx+0x10]
cmp cx, word ptr [rbx+0x30]
- jne G_M47993_IG140
- mov eax, dword ptr [rbx+0x24]
- cmp eax, 2
- ja G_M47993_IG139
+ jne G_M47993_IG122
+ mov r8d, dword ptr [rbx+0x24]
+ cmp r8d, 2
+ ja G_M47993_IG120
;; size=53 bbWeight=32 PerfScore 480.00
-G_M47993_IG119:
- mov esi, eax
- lea rax, [reloc @RWD112]
- mov eax, dword ptr [rax+4*rsi]
- lea rcx, G_M47993_IG02
- add rax, rcx
- jmp rax
- ;; size=24 bbWeight=24 PerfScore 144.00
-G_M47993_IG120:
- mov rsi, rdi
- mov eax, dword ptr [r15+0x1D0]
- mov ecx, eax
- test rsi, rsi
- jne SHORT G_M47993_IG121
- test ecx, ecx
- jne G_M47993_IG28
- xor rdx, rdx
- xor r8d, r8d
- jmp SHORT G_M47993_IG122
- ;; size=32 bbWeight=16 PerfScore 120.00
-G_M47993_IG121:
- cmp r12d, ecx
- jb G_M47993_IG28
- mov edx, ecx
- lea rdx, bword ptr [rsi+2*rdx+0x10]
- sub r12d, ecx
- mov r8d, r12d
- ;; size=22 bbWeight=16 PerfScore 48.00
-G_M47993_IG122:
- cmp r8d, 3
- jl SHORT G_M47993_IG126
- ;; size=6 bbWeight=16 PerfScore 20.00
-G_M47993_IG123:
- mov esi, dword ptr [rdx]
- xor esi, 0xD1FFAB1E
- mov ecx, dword ptr [rdx+0x02]
- xor ecx, 0xD1FFAB1E
- or esi, ecx
- jne SHORT G_M47993_IG126
- ;; size=21 bbWeight=8 PerfScore 46.00
-G_M47993_IG124:
+G_M47993_IG106:
+ mov esi, r8d
+ lea rcx, [reloc @RWD40]
+ mov ecx, dword ptr [rcx+4*rsi]
+ lea rdx, G_M47993_IG02
+ add rcx, rdx
+ jmp rcx
+ ;; size=25 bbWeight=24 PerfScore 144.00
+G_M47993_IG107:
+ mov esi, dword ptr [r15+0x1D0]
+ test rdi, rdi
+ jne SHORT G_M47993_IG108
+ test esi, esi
+ jne G_M47993_IG22
+ xor rcx, rcx
+ xor edx, edx
+ jmp SHORT G_M47993_IG109
+ ;; size=26 bbWeight=16 PerfScore 112.00
+G_M47993_IG108:
+ cmp eax, esi
+ jb G_M47993_IG22
+ mov ecx, esi
+ lea rcx, bword ptr [rdi+2*rcx+0x10]
+ sub eax, esi
+ mov edx, eax
+ ;; size=19 bbWeight=16 PerfScore 48.00
+G_M47993_IG109:
+ mov rdi, 0xD1FFAB1E
+ cmp edx, 3
+ jl SHORT G_M47993_IG111
+ mov esi, dword ptr [rcx]
+ mov eax, dword ptr [rcx+0x02]
+ mov ecx, dword ptr [rdi]
+ xor esi, ecx
+ xor eax, dword ptr [rdi+0x02]
+ or esi, eax
+ sete dil
+ movzx rdi, dil
+ test edi, edi
+ je SHORT G_M47993_IG111
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG125
- mov r12, gword ptr [rbx+0x18]
- mov rsi, rdi
+ jne SHORT G_M47993_IG110
+ mov r13, gword ptr [rbx+0x18]
+ mov rsi, gword ptr [r15+0x188]
+ mov edi, dword ptr [r15+0x1D0]
+ mov r12d, edi
+ mov eax, dword ptr [rbx+0x2C]
+ sub eax, edi
mov dword ptr [rbp-0xCC], eax
- sub r13d, eax
xor rdi, rdi
- mov gword ptr [r12+0x28], rdi
- lea rdi, bword ptr [r12+0x30]
+ mov gword ptr [r13+0x28], rdi
+ lea rdi, bword ptr [r13+0x30]
call CORINFO_HELP_ASSIGN_REF
- mov edx, dword ptr [rbp-0xCC]
- mov dword ptr [r12+0x54], edx
- mov dword ptr [r12+0x58], r13d
- ;; size=55 bbWeight=16 PerfScore 212.00
-G_M47993_IG125:
+ mov dword ptr [r13+0x54], r12d
+ mov r12d, dword ptr [rbp-0xCC]
+ mov dword ptr [r13+0x58], r12d
+ ;; size=109 bbWeight=16 PerfScore 524.00
+G_M47993_IG110:
mov dword ptr [rbx+0x24], 1
- jmp G_M47993_IG139
+ jmp G_M47993_IG120
;; size=12 bbWeight=16 PerfScore 48.00
-G_M47993_IG126:
- mov edx, r13d
- sub edx, eax
- mov esi, eax
+G_M47993_IG111:
+ mov edx, dword ptr [rbx+0x2C]
+ mov esi, dword ptr [r15+0x1D0]
+ sub edx, esi
+ mov rdi, gword ptr [r15+0x188]
call System.String:.ctor(ushort[],int,int):this
mov r13, rax
mov rdi, 0xD1FFAB1E ; 'Xml_InvalidVersionNumber'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov rsi, rax
mov rdi, r15
mov rdx, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
- jmp G_M47993_IG139
- ;; size=63 bbWeight=16 PerfScore 184.00
-G_M47993_IG127:
- mov eax, dword ptr [r15+0x1D0]
+ jmp G_M47993_IG120
+ ;; size=75 bbWeight=16 PerfScore 272.00
+G_M47993_IG112:
+ mov esi, dword ptr [r15+0x1D0]
mov edx, r13d
- sub edx, eax
- mov esi, eax
+ sub edx, esi
call System.String:.ctor(ushort[],int,int):this
mov r13, rax
mov rdi, r15
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:CheckEncoding(System.String):System.Text.Encoding:this
call [rax]System.Xml.XmlTextReaderImpl:CheckEncoding(System.String):System.Text.Encoding:this
lea rdi, bword ptr [rbx+0x10]
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG128
+ jne SHORT G_M47993_IG113
mov rdi, gword ptr [rbx+0x18]
mov dword ptr [rdi+0x54], -1
lea rdi, bword ptr [rdi+0x28]
mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
- ;; size=81 bbWeight=16 PerfScore 292.00
-G_M47993_IG128:
+ ;; size=79 bbWeight=16 PerfScore 288.00
+G_M47993_IG113:
mov dword ptr [rbx+0x24], 2
- jmp G_M47993_IG139
+ jmp G_M47993_IG120
;; size=12 bbWeight=16 PerfScore 48.00
-G_M47993_IG129:
- mov rsi, rdi
- mov eax, dword ptr [r15+0x1D0]
- mov ecx, eax
+G_M47993_IG114:
+ mov esi, dword ptr [r15+0x1D0]
+ mov ecx, esi
mov edx, r13d
- sub edx, eax
- test rsi, rsi
- jne SHORT G_M47993_IG130
+ sub edx, esi
+ test rdi, rdi
+ jne SHORT G_M47993_IG115
or ecx, edx
- jne G_M47993_IG28
- xor rcx, rcx
- xor r8d, r8d
- jmp SHORT G_M47993_IG131
- ;; size=37 bbWeight=16 PerfScore 128.00
-G_M47993_IG130:
- mov r8d, ecx
- mov r9d, edx
- add r8, r9
- mov r9d, r12d
- cmp r8, r9
- ja G_M47993_IG28
- cmp byte ptr [rsi], sil
- mov ecx, ecx
- lea rcx, bword ptr [rsi+2*rcx+0x10]
+ jne G_M47993_IG22
+ xor rsi, rsi
+ xor ecx, ecx
+ jmp SHORT G_M47993_IG116
+ ;; size=33 bbWeight=16 PerfScore 124.00
+G_M47993_IG115:
+ mov esi, ecx
mov r8d, edx
- ;; size=34 bbWeight=16 PerfScore 108.00
-G_M47993_IG131:
- cmp r8d, 3
- jne SHORT G_M47993_IG134
- ;; size=6 bbWeight=16 PerfScore 20.00
-G_M47993_IG132:
- mov esi, dword ptr [rcx]
- xor esi, 0xD1FFAB1E
- mov edx, dword ptr [rcx+0x02]
- xor edx, 0xD1FFAB1E
- or esi, edx
- jne SHORT G_M47993_IG134
- ;; size=21 bbWeight=8 PerfScore 46.00
-G_M47993_IG133:
- mov byte ptr [r15+0x184], 1
- jmp SHORT G_M47993_IG137
- ;; size=10 bbWeight=16 PerfScore 48.00
-G_M47993_IG134:
- cmp r8d, 2
- jne G_M47993_IG26
- ;; size=10 bbWeight=16 PerfScore 20.00
-G_M47993_IG135:
- cmp dword ptr [rcx], 0xD1FFAB1E
- jne G_M47993_IG26
- ;; size=12 bbWeight=8 PerfScore 32.00
-G_M47993_IG136:
+ add rsi, r8
+ mov eax, eax
+ cmp rsi, rax
+ ja G_M47993_IG22
+ cmp byte ptr [rdi], dil
+ mov esi, ecx
+ lea rsi, bword ptr [rdi+2*rsi+0x10]
+ mov ecx, edx
+ ;; size=31 bbWeight=16 PerfScore 108.00
+G_M47993_IG116:
+ mov rdi, 0xD1FFAB1E
+ cmp ecx, 3
+ jne SHORT G_M47993_IG117
+ mov rax, rsi
+ mov edx, dword ptr [rax]
+ mov eax, dword ptr [rax+0x02]
+ mov r8d, dword ptr [rdi]
+ xor edx, r8d
+ xor eax, dword ptr [rdi+0x02]
+ or eax, edx
+ sete dil
+ movzx rdi, dil
+ test edi, edi
+ jne G_M47993_IG121
+ ;; size=50 bbWeight=16 PerfScore 220.00
+G_M47993_IG117:
+ mov rdi, 0xD1FFAB1E
+ cmp ecx, 2
+ jne G_M47993_IG34
+ mov esi, dword ptr [rsi]
+ cmp esi, dword ptr [rdi]
+ sete dil
+ movzx rdi, dil
+ test edi, edi
+ je G_M47993_IG34
mov byte ptr [r15+0x184], 0
- ;; size=8 bbWeight=16 PerfScore 16.00
-G_M47993_IG137:
+ ;; size=47 bbWeight=16 PerfScore 160.00
+G_M47993_IG118:
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG138
+ jne SHORT G_M47993_IG119
mov r13, gword ptr [rbx+0x18]
- mov rsi, rdi
- mov r12d, eax
- mov ecx, dword ptr [rbx+0x2C]
- sub ecx, eax
- mov dword ptr [rbp-0xD0], ecx
+ mov rsi, gword ptr [r15+0x188]
+ mov edi, dword ptr [r15+0x1D0]
+ mov r12d, edi
+ mov eax, dword ptr [rbx+0x2C]
+ sub eax, edi
+ mov dword ptr [rbp-0xD0], eax
xor rdi, rdi
mov gword ptr [r13+0x28], rdi
lea rdi, bword ptr [r13+0x30]
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [r13+0x54], r12d
mov r12d, dword ptr [rbp-0xD0]
mov dword ptr [r13+0x58], r12d
- ;; size=57 bbWeight=16 PerfScore 248.00
-G_M47993_IG138:
+ ;; size=68 bbWeight=16 PerfScore 308.00
+G_M47993_IG119:
mov dword ptr [rbx+0x24], 3
;; size=7 bbWeight=16 PerfScore 16.00
-G_M47993_IG139:
+G_M47993_IG120:
mov ecx, dword ptr [rbx+0x2C]
mov edx, dword ptr [r15+0x1D0]
sub ecx, edx
mov rdi, gword ptr [rbx+0x08]
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this
movzx rsi, word ptr [rbx+0x30]
mov rdi, gword ptr [rbx+0x08]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
cmp dword ptr [rdi], edi
call [rax]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
mov edi, dword ptr [rbx+0x2C]
inc edi
mov dword ptr [r15+0x1D0], edi
- jmp G_M47993_IG20
+ jmp G_M47993_IG19
;; size=72 bbWeight=32 PerfScore 904.00
-G_M47993_IG140:
+G_M47993_IG121:
+ mov byte ptr [r15+0x184], 1
+ jmp G_M47993_IG118
+ ;; size=13 bbWeight=16 PerfScore 48.00
+G_M47993_IG122:
cmp r13d, dword ptr [r15+0x1D4]
- jne G_M47993_IG39
+ jne G_M47993_IG130
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0xA8], rax
xor edi, edi
mov dword ptr [rbp-0xA0], edi
test byte ptr [rbp-0xA0], 4
- jne SHORT G_M47993_IG141
+ jne SHORT G_M47993_IG123
mov rdi, gword ptr [rbp-0xA8]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG144
+ jne SHORT G_M47993_IG126
;; size=70 bbWeight=16 PerfScore 332.00
-G_M47993_IG141:
+G_M47993_IG123:
mov dword ptr [rbx+0x20], 7
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0xA8]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0xA0]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=78 bbWeight=16 PerfScore 248.00
-G_M47993_IG142:
+G_M47993_IG124:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0xA8], xmm0
;; size=20 bbWeight=1 PerfScore 6.00
-G_M47993_IG143:
+G_M47993_IG125:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG144:
+G_M47993_IG126:
mov rdi, gword ptr [rbp-0xA8]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG146
+ je SHORT G_M47993_IG128
;; size=24 bbWeight=32 PerfScore 144.00
-G_M47993_IG145:
+G_M47993_IG127:
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=14 bbWeight=16 PerfScore 56.00
-G_M47993_IG146:
+G_M47993_IG128:
mov rdi, gword ptr [rbp-0xA8]
cmp dword ptr [rdi+0x38], 0
- je G_M47993_IG24
- jmp G_M47993_IG115
- ;; size=22 bbWeight=32 PerfScore 224.00
-G_M47993_IG147:
+ jne G_M47993_IG102
+ ;; size=17 bbWeight=32 PerfScore 160.00
+G_M47993_IG129:
+ mov rdi, 0xD1FFAB1E ; 'Xml_UnclosedQuote'
+ mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
+ call [rax]System.SR:GetResourceString(System.String):System.String
+ mov rsi, rax
+ mov rdi, r15
+ mov r12, 0xD1FFAB1E ; ''
+ mov rdx, r12
+ mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
+ call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
+ jmp SHORT G_M47993_IG133
+ ;; size=55 bbWeight=4 PerfScore 39.00
+G_M47993_IG130:
+ cmp byte ptr [rbx+0x32], 0
+ jne SHORT G_M47993_IG131
+ mov rdi, 0xD1FFAB1E ; 'Xml_InvalidXmlDecl'
+ mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
+ call [rax]System.SR:GetResourceString(System.String):System.String
+ jmp SHORT G_M47993_IG132
+ ;; size=30 bbWeight=4 PerfScore 38.00
+G_M47993_IG131:
+ mov rdi, 0xD1FFAB1E ; 'Xml_InvalidTextDecl'
+ mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
+ call [rax]System.SR:GetResourceString(System.String):System.String
+ ;; size=22 bbWeight=4 PerfScore 14.00
+G_M47993_IG132:
+ mov rdi, r15
+ mov rsi, rax
+ mov r12, 0xD1FFAB1E ; ''
+ mov rdx, r12
+ mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
+ call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
+ ;; size=31 bbWeight=4 PerfScore 17.00
+G_M47993_IG133:
movzx rdi, byte ptr [r15+0x1ED]
test edi, edi
- jne G_M47993_IG153
+ jne G_M47993_IG139
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.XmlTextReaderImpl:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0xB8], rax
xor edi, edi
mov dword ptr [rbp-0xB0], edi
test byte ptr [rbp-0xB0], 4
- jne SHORT G_M47993_IG148
+ jne SHORT G_M47993_IG134
mov rdi, gword ptr [rbp-0xB8]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG151
+ jne SHORT G_M47993_IG137
;; size=73 bbWeight=4 PerfScore 80.00
-G_M47993_IG148:
+G_M47993_IG134:
mov dword ptr [rbx+0x20], 8
lea rdi, bword ptr [rbx+0x40]
mov rsi, gword ptr [rbp-0xB8]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0xB0]
mov dword ptr [rbx+0x48], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0xB8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=78 bbWeight=4 PerfScore 62.00
-G_M47993_IG149:
+G_M47993_IG135:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x40]
vmovdqu xmmword ptr [rbp-0xB8], xmm0
;; size=20 bbWeight=1 PerfScore 6.00
-G_M47993_IG150:
+G_M47993_IG136:
xor esi, esi
mov qword ptr [rdi+0x40], rsi
mov qword ptr [rdi+0x48], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG151:
+G_M47993_IG137:
mov rdi, gword ptr [rbp-0xB8]
mov esi, dword ptr [rdi+0x34]
and esi, 0xD1FFAB1E
cmp esi, 0xD1FFAB1E
- je SHORT G_M47993_IG152
+ je SHORT G_M47993_IG138
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=38 bbWeight=4 PerfScore 32.00
-G_M47993_IG152:
+G_M47993_IG138:
mov rax, gword ptr [rbp-0xB8]
cmp dword ptr [rax+0x38], 0
- jne SHORT G_M47993_IG154
+ jne SHORT G_M47993_IG140
;; size=13 bbWeight=4 PerfScore 20.00
-G_M47993_IG153:
+G_M47993_IG139:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xml_UnexpectedEOF1():System.String
call [rax]System.SR:get_Xml_UnexpectedEOF1():System.String
mov rsi, rax
mov rdi, r15
- mov rdx, 0xD1FFAB1E ; ''
+ mov r12, 0xD1FFAB1E ; ''
+ mov rdx, r12
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
- ;; size=40 bbWeight=4 PerfScore 29.00
-G_M47993_IG154:
+ ;; size=43 bbWeight=4 PerfScore 30.00
+G_M47993_IG140:
xor rdi, rdi
mov gword ptr [rbx+0x18], rdi
- jmp G_M47993_IG20
+ jmp G_M47993_IG19
;; size=11 bbWeight=8 PerfScore 26.00
-G_M47993_IG155:
+G_M47993_IG141:
mov rbx, bword ptr [rbp-0xD8]
cmp byte ptr [rbx+0x32], 0
- jne SHORT G_M47993_IG156
+ jne SHORT G_M47993_IG142
mov edi, dword ptr [r15+0x10C]
mov dword ptr [r15+0x108], edi
;; size=27 bbWeight=1 PerfScore 8.00
-G_M47993_IG156:
+G_M47993_IG142:
cmp byte ptr [r15+0x185], 0
- je G_M47993_IG164
+ je G_M47993_IG146
mov rdi, gword ptr [r15+0x190]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x10]System.Text.Encoding:get_WebName():System.String:this
- test rax, rax
- je SHORT G_M47993_IG163
- ;; size=36 bbWeight=1 PerfScore 14.25
-G_M47993_IG157:
- mov esi, dword ptr [rax+0x08]
- cmp esi, 5
- jne SHORT G_M47993_IG159
- ;; size=8 bbWeight=0.50 PerfScore 1.62
-G_M47993_IG158:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov ecx, dword ptr [rax+0x12]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- je G_M47993_IG164
- ;; size=32 bbWeight=0.25 PerfScore 1.69
-G_M47993_IG159:
- cmp esi, 6
- jne SHORT G_M47993_IG161
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M47993_IG160:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov ecx, dword ptr [rax+0x14]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- je G_M47993_IG164
- ;; size=32 bbWeight=0.25 PerfScore 1.69
-G_M47993_IG161:
- cmp esi, 8
- jne SHORT G_M47993_IG163
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M47993_IG162:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vptest xmm0, xmm0
- sete sil
- movzx rsi, sil
- test esi, esi
- jne G_M47993_IG164
- ;; size=34 bbWeight=1 PerfScore 11.50
-G_M47993_IG163:
+ mov r14, rax
+ mov rdx, 0xD1FFAB1E ; 'utf-8'
+ cmp r14, rdx
+ je G_M47993_IG146
+ test r14, r14
+ je SHORT G_M47993_IG143
+ cmp dword ptr [r14+0x08], 5
+ jne SHORT G_M47993_IG143
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG146
+ ;; size=105 bbWeight=1 PerfScore 27.50
+G_M47993_IG143:
+ mov rdx, 0xD1FFAB1E ; 'utf-16'
+ cmp r14, rdx
+ je G_M47993_IG146
+ test r14, r14
+ je SHORT G_M47993_IG144
+ cmp dword ptr [r14+0x08], 6
+ jne SHORT G_M47993_IG144
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG146
+ ;; size=71 bbWeight=1 PerfScore 14.25
+G_M47993_IG144:
+ mov rdx, 0xD1FFAB1E ; 'utf-16BE'
+ cmp r14, rdx
+ je G_M47993_IG146
+ test r14, r14
+ je SHORT G_M47993_IG145
+ cmp dword ptr [r14+0x08], 8
+ jne SHORT G_M47993_IG145
+ mov edx, dword ptr [r14+0x08]
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ lea rdi, bword ptr [r14+0x0C]
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ jne G_M47993_IG146
+ ;; size=71 bbWeight=1 PerfScore 14.25
+G_M47993_IG145:
mov rsi, gword ptr [r15+0x190]
mov rdi, 0xD1FFAB1E ; System.Xml.Ucs4Encoding
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne SHORT G_M47993_IG164
+ jne SHORT G_M47993_IG146
mov rdi, 0xD1FFAB1E ; 'Xml_EncodingSwitchAfterResetState'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r14, rax
mov rdi, gword ptr [r15+0x190]
mov rsi, 0xD1FFAB1E ; 'A'
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
mov rdx, 0xD1FFAB1E ; 'UTF-8'
mov rdi, 0xD1FFAB1E ; 'UTF-16'
cmp eax, 1
cmovne rdx, rdi
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
call [rax]System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this
;; size=131 bbWeight=1 PerfScore 24.50
-G_M47993_IG164:
+G_M47993_IG146:
mov rdi, gword ptr [r15+0x1A0]
test rdi, rdi
- je G_M47993_IG172
+ je G_M47993_IG154
;; size=16 bbWeight=1 PerfScore 3.25
-G_M47993_IG165:
+G_M47993_IG147:
mov rax, 0xD1FFAB1E ; System.Xml.SafeAsciiDecoder
cmp qword ptr [rdi], rax
- jne G_M47993_IG172
+ jne G_M47993_IG154
;; size=19 bbWeight=0.50 PerfScore 2.12
-G_M47993_IG166:
+G_M47993_IG148:
mov rdi, 0xD1FFAB1E ; System.Text.UTF8Encoding
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, r14
mov esi, 0xFDE9
mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:.ctor(int):this
call [rax]System.Text.Encoding:.ctor(int):this
mov word ptr [r14+0x25], 257
cmp byte ptr [r14+0x26], 0
- je SHORT G_M47993_IG167
+ je SHORT G_M47993_IG149
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
call [rax]System.Text.UTF8Encoding:SetDefaultFallbacks():this
;; size=67 bbWeight=1 PerfScore 13.75
-G_M47993_IG167:
+G_M47993_IG149:
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
call [rax]System.Xml.XmlTextReaderImpl:SwitchEncodingAsync(System.Text.Encoding):System.Threading.Tasks.Task:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0xC8], rax
xor edi, edi
mov dword ptr [rbp-0xC0], edi
test byte ptr [rbp-0xC0], 4
- jne SHORT G_M47993_IG168
+ jne SHORT G_M47993_IG150
mov rdi, gword ptr [rbp-0xC8]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M47993_IG171
+ jne SHORT G_M47993_IG153
;; size=60 bbWeight=1 PerfScore 17.00
-G_M47993_IG168:
+G_M47993_IG150:
mov dword ptr [rbx+0x20], 9
lea rdi, bword ptr [rbx+0x50]
mov rsi, gword ptr [rbp-0xC8]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0xC0]
mov dword ptr [rbx+0x58], esi
lea rsi, bword ptr [rbx+0x38]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0xC8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M47993_IG176
+ jmp G_M47993_IG158
;; size=78 bbWeight=1 PerfScore 15.50
-G_M47993_IG169:
+G_M47993_IG151:
mov rdi, bword ptr [rbp-0xD8]
vmovdqu xmm0, xmmword ptr [rdi+0x50]
vmovdqu xmmword ptr [rbp-0xC8], xmm0
;; size=20 bbWeight=1 PerfScore 6.00
-G_M47993_IG170:
+G_M47993_IG152:
xor esi, esi
mov qword ptr [rdi+0x50], rsi
mov qword ptr [rdi+0x58], rsi
mov dword ptr [rdi+0x20], -1
mov rbx, rdi
;; size=20 bbWeight=1 PerfScore 3.50
-G_M47993_IG171:
+G_M47993_IG153:
mov rdi, gword ptr [rbp-0xC8]
mov esi, dword ptr [rbp-0xC0]
mov eax, dword ptr [rdi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
- je SHORT G_M47993_IG172
+ je SHORT G_M47993_IG154
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=40 bbWeight=1 PerfScore 8.75
-G_M47993_IG172:
+G_M47993_IG154:
mov byte ptr [r15+0x1EC], 0
xor esi, esi
;; size=10 bbWeight=1 PerfScore 1.25
-G_M47993_IG173:
+G_M47993_IG155:
mov dword ptr [rbx+0x20], -2
xor rdi, rdi
mov gword ptr [rbx+0x08], rdi
;; size=13 bbWeight=1 PerfScore 2.25
-G_M47993_IG174:
+G_M47993_IG156:
mov gword ptr [rbx+0x10], rdi
lea rdi, bword ptr [rbx+0x38]
cmp gword ptr [rdi], 0
- jne SHORT G_M47993_IG175
+ jne SHORT G_M47993_IG157
mov rax, 0xD1FFAB1E ; const ptr
mov rcx, 0xD1FFAB1E ; const ptr
test esi, esi
mov rsi, gword ptr [rcx]
cmovne rsi, gword ptr [rax]
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp SHORT G_M47993_IG176
+ jmp SHORT G_M47993_IG158
;; size=50 bbWeight=1 PerfScore 14.25
-G_M47993_IG175:
+G_M47993_IG157:
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetExistingTaskResult(System.Threading.Tasks.Task`1[ubyte],ubyte)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetExistingTaskResult(System.Threading.Tasks.Task`1[ubyte],ubyte)
;; size=15 bbWeight=1 PerfScore 5.25
-G_M47993_IG176:
+G_M47993_IG158:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M47993_IG177:
- add rsp, 328
+G_M47993_IG159:
+ add rsp, 296
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M47993_IG178:
+G_M47993_IG160:
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+0x170]
+ lea rbp, [rbp+0x150]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M47993_IG179:
+G_M47993_IG161:
mov rbx, bword ptr [rbp-0xD8]
mov dword ptr [rbx+0x20], -2
xor rdi, rdi
mov gword ptr [rbx+0x08], rdi
;; size=20 bbWeight=0 PerfScore 0.00
-G_M47993_IG180:
+G_M47993_IG162:
mov gword ptr [rbx+0x10], rdi
lea rdi, bword ptr [rbx+0x38]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
- lea rax, G_M47993_IG176
+ lea rax, G_M47993_IG158
;; size=27 bbWeight=0 PerfScore 0.00
-G_M47993_IG181:
+G_M47993_IG163:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
RWD00 dd G_M47993_IG07 - G_M47993_IG02
- dd G_M47993_IG45 - G_M47993_IG02
- dd G_M47993_IG63 - G_M47993_IG02
- dd G_M47993_IG68 - G_M47993_IG02
- dd G_M47993_IG76 - G_M47993_IG02
- dd G_M47993_IG101 - G_M47993_IG02
- dd G_M47993_IG109 - G_M47993_IG02
- dd G_M47993_IG142 - G_M47993_IG02
- dd G_M47993_IG149 - G_M47993_IG02
- dd G_M47993_IG169 - G_M47993_IG02
-RWD40 dd 00000000h, 00000000h
-RWD48 dq 002D006600740075h, 0045004200360031h
-RWD64 dq 006F0063006E0065h, 0067006E00690064h
-RWD80 dq 006E006100740073h, 006F006C00610064h
-RWD96 dq 00610064006E0061h, 0065006E006F006Ch
-RWD112 dd G_M47993_IG120 - G_M47993_IG02
- dd G_M47993_IG127 - G_M47993_IG02
- dd G_M47993_IG129 - G_M47993_IG02
+ dd G_M47993_IG38 - G_M47993_IG02
+ dd G_M47993_IG52 - G_M47993_IG02
+ dd G_M47993_IG57 - G_M47993_IG02
+ dd G_M47993_IG65 - G_M47993_IG02
+ dd G_M47993_IG88 - G_M47993_IG02
+ dd G_M47993_IG96 - G_M47993_IG02
+ dd G_M47993_IG124 - G_M47993_IG02
+ dd G_M47993_IG135 - G_M47993_IG02
+ dd G_M47993_IG151 - G_M47993_IG02
+RWD40 dd G_M47993_IG107 - G_M47993_IG02
+ dd G_M47993_IG112 - G_M47993_IG02
+ dd G_M47993_IG114 - G_M47993_IG02
-; Total bytes of code 8072, prolog size 88, PerfScore 11161.50, instruction count 1692, allocated bytes for code 8072 (MethodHash=21f74486) for method System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505:MoveNext():this (FullOpts)
+; Total bytes of code 7913, prolog size 88, PerfScore 11927.70, instruction count 1680, allocated bytes for code 7913 (MethodHash=21f74486) for method System.Xml.XmlTextReaderImpl+<ParseXmlDeclarationAsync>d__505:MoveNext():this (FullOpts)
-155 (-13.01 % of base) - System.Xml.Xsl.XsltOld.ContainerAction:AddScript(System.Xml.Xsl.XsltOld.Compiler)
; Assembly listing for method System.Xml.Xsl.XsltOld.ContainerAction:AddScript(System.Xml.Xsl.XsltOld.Compiler) (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; 20 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T09] ( 5, 6 ) ref -> rbx class-hnd single-def <System.Xml.Xsl.XsltOld.Compiler>
; V01 loc0 [V01,T02] ( 17, 27.50) ref -> r15 class-hnd exact single-def <System.Xml.Xsl.XsltOld.NavigatorInput>
; V02 loc1 [V02,T10] ( 5, 8 ) int -> r14
-; V03 loc2 [V03,T25] ( 4, 5 ) ref -> r13 class-hnd <System.String>
-; V04 loc3 [V04,T07] ( 14, 13 ) ref -> r12 class-hnd exact <System.String>
+; V03 loc2 [V03,T22] ( 4, 5 ) ref -> r13 class-hnd <System.String>
+; V04 loc3 [V04,T07] ( 8, 14 ) ref -> r12 class-hnd exact <System.String>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V06 tmp1 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V07 tmp2 [V07,T34] ( 3, 0 ) ref -> rbx class-hnd exact single-def "dup spill" <System.String[]>
-; V08 tmp3 [V08,T36] ( 2, 0 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.String>
-; V09 tmp4 [V09,T37] ( 2, 0 ) ref -> rsi class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V07 tmp2 [V07,T25] ( 3, 0 ) ref -> rbx class-hnd exact single-def "dup spill" <System.String[]>
+; V08 tmp3 [V08,T27] ( 2, 0 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.String>
+; V09 tmp4 [V09,T28] ( 2, 0 ) ref -> rsi class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
; V10 tmp5 [V10,T00] ( 5, 28 ) ref -> rax class-hnd exact "impAppendStmt" <System.String>
; V11 tmp6 [V11,T04] ( 5, 20 ) ref -> rax class-hnd exact "impAppendStmt" <System.String>
-; V12 tmp7 [V12,T33] ( 4, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
-; V13 tmp8 [V13,T38] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
-; V14 tmp9 [V14,T39] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V15 tmp10 [V15,T40] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-;* V16 tmp11 [V16 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V17 tmp12 [V17,T27] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V18 tmp13 [V18 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V19 tmp14 [V19,T17] ( 2, 5 ) int -> rdi "spilling unroll qmark"
-;* V20 tmp15 [V20 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V21 tmp16 [V21,T28] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V22 tmp17 [V22 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V23 tmp18 [V23,T29] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V24 tmp19 [V24 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V25 tmp20 [V25,T30] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V26 tmp21 [V26 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V27 tmp22 [V27,T11] ( 2, 8 ) int -> rax "spilling unroll qmark"
-; V28 tmp23 [V28,T35] ( 3, 0 ) ref -> rbx class-hnd exact "dup spill" <System.String[]>
-; V29 tmp24 [V29,T41] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
-; V30 tmp25 [V30,T01] ( 5, 28 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V31 tmp26 [V31,T12] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
-; V32 tmp27 [V32,T14] ( 2, 8 ) byref -> rdi "impAppendStmt"
-; V33 tmp28 [V33,T05] ( 5, 20 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V34 tmp29 [V34,T13] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
-; V35 tmp30 [V35,T15] ( 2, 8 ) byref -> rdi "impAppendStmt"
-; V36 tmp31 [V36,T08] ( 3, 12 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V37 tmp32 [V37,T18] ( 3, 6 ) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
-; V38 tmp33 [V38,T06] ( 4, 16 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Xml.Xsl.XsltOld.InputScopeManager>
-; V39 tmp34 [V39,T19] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V40 tmp35 [V40,T03] ( 3, 24 ) ref -> rdi "argument with side effect"
-; V41 tmp36 [V41,T26] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V42 tmp37 [V42,T20] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V43 tmp38 [V43,T21] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V44 tmp39 [V44,T22] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V45 tmp40 [V45,T42] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V46 cse0 [V46,T16] ( 7, 7 ) int -> rax "CSE #02: moderate"
-; V47 cse1 [V47,T23] ( 3, 6 ) int -> rdx "CSE #01: moderate"
-; V48 cse2 [V48,T24] ( 3, 6 ) int -> rdx "CSE #09: moderate"
-; V49 rat0 [V49,T32] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V50 rat1 [V50,T31] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V12 tmp7 [V12,T24] ( 4, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
+; V13 tmp8 [V13,T29] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
+; V14 tmp9 [V14,T30] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V15 tmp10 [V15,T31] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V16 tmp11 [V16,T26] ( 3, 0 ) ref -> rbx class-hnd exact "dup spill" <System.String[]>
+; V17 tmp12 [V17,T32] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
+; V18 tmp13 [V18,T01] ( 5, 28 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+; V19 tmp14 [V19,T11] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+; V20 tmp15 [V20,T13] ( 2, 8 ) byref -> rdi "impAppendStmt"
+; V21 tmp16 [V21,T05] ( 5, 20 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+; V22 tmp17 [V22,T12] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+; V23 tmp18 [V23,T14] ( 2, 8 ) byref -> rdi "impAppendStmt"
+; V24 tmp19 [V24,T08] ( 3, 12 ) ref -> rax class-hnd exact "Inlining Arg" <System.String>
+; V25 tmp20 [V25,T15] ( 3, 6 ) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+; V26 tmp21 [V26,T06] ( 4, 16 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Xml.Xsl.XsltOld.InputScopeManager>
+; V27 tmp22 [V27,T16] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V28 tmp23 [V28,T03] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V29 tmp24 [V29,T23] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V30 tmp25 [V30,T17] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V31 tmp26 [V31,T18] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V32 tmp27 [V32,T19] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V33 tmp28 [V33,T33] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V34 cse0 [V34,T20] ( 3, 6 ) int -> rdx "CSE #01: moderate"
+; V35 cse1 [V35,T21] ( 3, 6 ) int -> rdx "CSE #02: moderate"
;
; Lcl frame size = 8
G_M43765_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
lea rbp, [rsp+0x30]
mov rbx, rdi
;; size=19 bbWeight=1 PerfScore 7.75
G_M43765_IG02:
mov r15, gword ptr [rbx+0x48]
xor r14d, r14d
xor r13, r13
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x60]
call [rax+0x38]System.Xml.XPath.XPathNavigator:MoveToFirstAttribute():ubyte:this
test eax, eax
- je G_M43765_IG17
+ je G_M43765_IG16
;; size=32 bbWeight=1 PerfScore 12.75
G_M43765_IG03:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
mov rdx, gword ptr [r15+0x30]
mov rsi, gword ptr [rdx+0x1A0]
cmp rax, rsi
je SHORT G_M43765_IG05
;; size=31 bbWeight=4 PerfScore 35.00
G_M43765_IG04:
test rax, rax
- je G_M43765_IG26
+ je G_M43765_IG11
test rsi, rsi
- je G_M43765_IG26
+ je G_M43765_IG11
mov edx, dword ptr [rax+0x08]
cmp edx, dword ptr [rsi+0x08]
- jne G_M43765_IG26
+ jne G_M43765_IG11
lea rdi, bword ptr [rax+0x0C]
add edx, edx
add rsi, 12
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 G_M43765_IG26
+ je G_M43765_IG11
;; size=60 bbWeight=2 PerfScore 28.00
G_M43765_IG05:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
mov r12, rax
- test r12, r12
- je G_M43765_IG31
- ;; size=27 bbWeight=2 PerfScore 10.00
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'jscript'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M43765_IG06
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'javascript'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je SHORT G_M43765_IG07
+ ;; size=86 bbWeight=2 PerfScore 28.50
G_M43765_IG06:
- mov eax, dword ptr [r12+0x08]
- cmp eax, 7
- jne SHORT G_M43765_IG08
- ;; size=10 bbWeight=1 PerfScore 3.25
+ xor r14d, r14d
+ jmp G_M43765_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.50
G_M43765_IG07:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [r12+0x0C]
- mov rcx, 0xD1FFAB1E
- xor rdi, rcx
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [r12+0x12]
- mov rdx, 0xD1FFAB1E
- xor rcx, rdx
- or rdi, rcx
- je G_M43765_IG20
- ;; size=65 bbWeight=0.50 PerfScore 4.38
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'c#'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M43765_IG08
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'csharp'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je SHORT G_M43765_IG09
+ ;; size=68 bbWeight=2 PerfScore 21.00
G_M43765_IG08:
- cmp eax, 10
- jne SHORT G_M43765_IG10
- ;; size=5 bbWeight=1 PerfScore 1.25
+ mov r14d, 2
+ jmp G_M43765_IG14
+ ;; size=11 bbWeight=2 PerfScore 4.50
G_M43765_IG09:
- vmovups xmm0, xmmword ptr [r12+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vmovups xmm1, xmmword ptr [r12+0x10]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD00]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- jmp G_M43765_IG19
- ;; size=68 bbWeight=0.50 PerfScore 11.29
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'vb'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M43765_IG10
+ mov rdi, r12
+ mov rsi, 0xD1FFAB1E ; 'visualbasic'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M43765_IG19
+ ;; size=72 bbWeight=2 PerfScore 21.00
G_M43765_IG10:
- cmp eax, 2
- jne SHORT G_M43765_IG12
- ;; size=5 bbWeight=1 PerfScore 1.25
+ mov r14d, 1
+ jmp G_M43765_IG14
+ ;; size=11 bbWeight=2 PerfScore 4.50
G_M43765_IG11:
- mov edi, dword ptr [r12+0x0C]
- or edi, 32
- cmp edi, 0xD1FFAB1E
+ mov rdi, r15
+ mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
+ call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
+ mov rdx, gword ptr [r15+0x30]
+ mov rsi, gword ptr [rdx+0x160]
+ cmp rax, rsi
+ je SHORT G_M43765_IG12
+ test rax, rax
+ je G_M43765_IG14
+ test rsi, rsi
+ je G_M43765_IG14
+ mov edx, dword ptr [rax+0x08]
+ cmp edx, dword ptr [rsi+0x08]
+ jne SHORT G_M43765_IG14
+ lea rdi, bword ptr [rax+0x0C]
+ add edx, edx
+ add rsi, 12
+ 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_M43765_IG14
- ;; size=16 bbWeight=0.50 PerfScore 1.75
+ ;; size=83 bbWeight=2 PerfScore 45.50
G_M43765_IG12:
- cmp eax, 6
- jne G_M43765_IG21
- ;; size=9 bbWeight=1 PerfScore 1.25
+ mov rdi, r15
+ mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
+ call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
+ mov rdi, rax
+ mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.PrefixQName:ValidatePrefix(System.String):ubyte
+ call [rax]System.Xml.Xsl.XsltOld.PrefixQName:ValidatePrefix(System.String):ubyte
+ test eax, eax
+ je G_M43765_IG20
+ mov rdi, r15
+ mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
+ call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
+ mov rdi, gword ptr [rbx+0x58]
+ cmp byte ptr [rdi], dil
+ cmp dword ptr [rax+0x08], 0
+ jne SHORT G_M43765_IG13
+ mov r13, gword ptr [rdi+0x10]
+ jmp SHORT G_M43765_IG14
+ ;; size=72 bbWeight=2 PerfScore 49.50
G_M43765_IG13:
- mov rcx, 0xD1FFAB1E
- or rcx, qword ptr [r12+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rcx, rdx
- mov edx, dword ptr [r12+0x14]
- or edx, 0xD1FFAB1E
- xor edx, 0xD1FFAB1E
- or rcx, rdx
- jne G_M43765_IG21
- ;; size=54 bbWeight=0.50 PerfScore 3.75
+ mov rsi, rax
+ mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.InputScopeManager:ResolveNonEmptyPrefix(System.String):System.String:this
+ call [rax]System.Xml.Xsl.XsltOld.InputScopeManager:ResolveNonEmptyPrefix(System.String):System.String:this
+ mov r13, rax
+ ;; size=18 bbWeight=2 PerfScore 7.50
G_M43765_IG14:
- mov r14d, 2
- ;; size=6 bbWeight=2 PerfScore 0.50
-G_M43765_IG15:
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x68]
call [rax]System.Xml.XPath.XPathNavigator:MoveToNextAttribute():ubyte:this
test eax, eax
jne G_M43765_IG03
;; size=21 bbWeight=4 PerfScore 41.00
-G_M43765_IG16:
+G_M43765_IG15:
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x70]
call [rax+0x08]System.Xml.XPath.XPathNavigator:MoveToParent():ubyte:this
;; size=14 bbWeight=0.50 PerfScore 4.50
-G_M43765_IG17:
+G_M43765_IG16:
test r13, r13
- je G_M43765_IG30
+ je SHORT G_M43765_IG18
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x70]
call [rax]System.Xml.XPath.XPathNavigator:MoveToFirstChild():ubyte:this
test eax, eax
- je G_M43765_IG33
+ je G_M43765_IG21
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XPath.XPathNavigator:get_NodeType():int:this
cmp eax, 4
- jne G_M43765_IG33
+ jne G_M43765_IG21
mov rdi, rbx
mov esi, r14d
mov rdx, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.Compiler:AddScript(int,System.String):this
call [rax]System.Xml.Xsl.XsltOld.Compiler:AddScript(int,System.String):this
mov rdi, gword ptr [r15+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x70]
call [rax+0x08]System.Xml.XPath.XPathNavigator:MoveToParent():ubyte:this
nop
- ;; size=89 bbWeight=1 PerfScore 35.00
-G_M43765_IG18:
+ ;; size=85 bbWeight=1 PerfScore 35.00
+G_M43765_IG17:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M43765_IG19:
- test edi, edi
- je G_M43765_IG10
- ;; size=8 bbWeight=2 PerfScore 2.50
-G_M43765_IG20:
- xor r14d, r14d
- jmp G_M43765_IG15
- ;; size=8 bbWeight=2 PerfScore 4.50
-G_M43765_IG21:
- cmp eax, 2
- jne SHORT G_M43765_IG23
- ;; size=5 bbWeight=1 PerfScore 1.25
-G_M43765_IG22:
- mov ecx, dword ptr [r12+0x0C]
- or ecx, 0xD1FFAB1E
- cmp ecx, 0xD1FFAB1E
- je SHORT G_M43765_IG25
- ;; size=19 bbWeight=0.50 PerfScore 1.75
-G_M43765_IG23:
- cmp eax, 11
- jne G_M43765_IG31
- ;; size=9 bbWeight=1 PerfScore 1.25
-G_M43765_IG24:
- vmovups xmm0, xmmword ptr [r12+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD48]
- vmovups xmm1, xmmword ptr [r12+0x12]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD00]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD64]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
- test eax, eax
- je G_M43765_IG31
- ;; size=69 bbWeight=2 PerfScore 43.67
-G_M43765_IG25:
- mov r14d, 1
- jmp G_M43765_IG15
- ;; size=11 bbWeight=2 PerfScore 4.50
-G_M43765_IG26:
- mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
- call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
- mov rdx, gword ptr [r15+0x30]
- mov rsi, gword ptr [rdx+0x160]
- cmp rax, rsi
- je SHORT G_M43765_IG27
- test rax, rax
- je G_M43765_IG15
- test rsi, rsi
- je G_M43765_IG15
- mov edx, dword ptr [rax+0x08]
- cmp edx, dword ptr [rsi+0x08]
- jne G_M43765_IG15
- lea rdi, bword ptr [rax+0x0C]
- add edx, edx
- add rsi, 12
- 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 G_M43765_IG15
- ;; size=91 bbWeight=2 PerfScore 45.50
-G_M43765_IG27:
- mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
- call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.PrefixQName:ValidatePrefix(System.String):ubyte
- call [rax]System.Xml.Xsl.XsltOld.PrefixQName:ValidatePrefix(System.String):ubyte
- test eax, eax
- je G_M43765_IG32
- mov rdi, r15
- mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
- call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
- mov rdi, gword ptr [rbx+0x58]
- cmp byte ptr [rdi], dil
- cmp dword ptr [rax+0x08], 0
- jne SHORT G_M43765_IG28
- mov r13, gword ptr [rdi+0x10]
- jmp SHORT G_M43765_IG29
- ;; size=72 bbWeight=2 PerfScore 49.50
-G_M43765_IG28:
- mov rsi, rax
- mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.InputScopeManager:ResolveNonEmptyPrefix(System.String):System.String:this
- call [rax]System.Xml.Xsl.XsltOld.InputScopeManager:ResolveNonEmptyPrefix(System.String):System.String:this
- mov r13, rax
- ;; size=18 bbWeight=2 PerfScore 7.50
-G_M43765_IG29:
- jmp G_M43765_IG15
- ;; size=5 bbWeight=2 PerfScore 4.00
-G_M43765_IG30:
+G_M43765_IG18:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_MissingAttribute():System.String
call [rax]System.SR:get_Xslt_MissingAttribute():System.String
mov r12, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
mov rdi, gword ptr [r15+0x30]
mov rsi, gword ptr [rdi+0x160]
lea rdi, bword ptr [rbx+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r12
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=85 bbWeight=0 PerfScore 0.00
-G_M43765_IG31:
+G_M43765_IG19:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_ScriptInvalidLanguage():System.String
call [rax]System.SR:get_Xslt_ScriptInvalidLanguage():System.String
mov r15, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx, rax
lea rdi, bword ptr [rbx+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=77 bbWeight=0 PerfScore 0.00
-G_M43765_IG32:
+G_M43765_IG20:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidAttrValue():System.String
call [rax]System.SR:get_Xslt_InvalidAttrValue():System.String
mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_LocalName():System.String:this
lea rdi, bword ptr [r14+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
call [rax]System.Xml.Xsl.XsltOld.NavigatorInput:get_Value():System.String:this
lea rdi, bword ptr [r14+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, rbx
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=119 bbWeight=0 PerfScore 0.00
-G_M43765_IG33:
+G_M43765_IG21:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_ScriptEmpty():System.String
call [rax]System.SR:get_Xslt_ScriptEmpty():System.String
mov rdi, rax
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=49 bbWeight=0 PerfScore 0.00
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 006100760061006Ah, 0069007200630073h
-RWD32 dq 0063007300610076h, 0074007000690072h
-RWD48 dq 0075007300690076h, 00610062006C0061h
-RWD64 dq 0062006C00610075h, 0063006900730061h
-
-; Total bytes of code 1191, prolog size 16, PerfScore 372.83, instruction count 271, allocated bytes for code 1191 (MethodHash=3f44550a) for method System.Xml.Xsl.XsltOld.ContainerAction:AddScript(System.Xml.Xsl.XsltOld.Compiler) (FullOpts)
+; Total bytes of code 1036, prolog size 16, PerfScore 354.75, instruction count 246, allocated bytes for code 1036 (MethodHash=3f44550a) for method System.Xml.Xsl.XsltOld.ContainerAction:AddScript(System.Xml.Xsl.XsltOld.Compiler) (FullOpts)
-133 (-13.74 % of base) - System.Xml.DtdParser+d__190:MoveNext():this
; Assembly listing for method System.Xml.DtdParser+<ScanEntity3Async>d__190:MoveNext():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; 18 single block inlinees; 14 inlinees without PGO data
+; 0 inlinees with PGO data; 25 single block inlinees; 12 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 16, 29 ) byref -> [rbp-0x40] this EH-live single-def
-; V01 loc0 [V01,T36] ( 2, 2 ) int -> rsi
-; V02 loc1 [V02,T01] ( 12, 29 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
-; V03 loc2 [V03,T18] ( 5, 5 ) int -> r15
+; V00 this [V00,T05] ( 15, 28 ) byref -> [rbp-0x38] this EH-live single-def
+; V01 loc0 [V01,T33] ( 2, 2 ) int -> rsi
+; V02 loc1 [V02,T00] ( 12, 29 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
+; V03 loc2 [V03,T15] ( 5, 5 ) int -> r15
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
; V05 loc4 [V05 ] ( 10, 37 ) struct (16) [rbp-0x30] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V06 loc5 [V06 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
; V08 OutArgs [V08 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ushort]>
-;* V11 tmp3 [V11,T40] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V12 tmp4 [V12,T42] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-; V13 tmp5 [V13,T02] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V12 tmp4 [V12,T37] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V13 tmp5 [V13,T01] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V14 tmp6 [V14 ] ( 0, 0 ) ref -> zero-ref
;* V15 tmp7 [V15 ] ( 0, 0 ) ref -> zero-ref
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref
;* V17 tmp9 [V17 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V19 tmp11 [V19,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V20 tmp12 [V20,T07] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V19 tmp11 [V19,T20] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V20 tmp12 [V20,T03] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V21 tmp13 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V22 tmp14 [V22 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V23 tmp15 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V24 tmp16 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V25 tmp17 [V25,T03] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V26 tmp18 [V26,T08] ( 2, 16 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V27 tmp19 [V27,T11] ( 5, 10 ) ref -> rax class-hnd single-def "Inlining Arg" <ushort[]>
-; V28 tmp20 [V28,T12] ( 5, 10 ) int -> rcx "Inlining Arg"
+; V25 tmp17 [V25,T02] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V26 tmp18 [V26,T04] ( 2, 16 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V27 tmp19 [V27,T08] ( 4, 8 ) ref -> rax class-hnd single-def "Inlining Arg" <ushort[]>
+; V28 tmp20 [V28,T07] ( 5, 10 ) int -> rcx "Inlining Arg"
;* V29 tmp21 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V30 tmp22 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
-; V31 tmp23 [V31,T20] ( 2, 4 ) byref -> rdx single-def "Inlining Arg"
-; V32 tmp24 [V32,T22] ( 2, 4 ) int -> rsi "Inlining Arg"
-; V33 tmp25 [V33,T13] ( 4, 8 ) byref -> rbx single-def "Inlining Arg"
-; V34 tmp26 [V34,T27] ( 3, 3 ) ref -> rsi class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[int]>
-;* V35 tmp27 [V35 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
-; V36 tmp28 [V36,T14] ( 4, 8 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[int]>
-;* V37 tmp29 [V37 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;* V38 tmp30 [V38 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V39 tmp31 [V39 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V40 tmp32 [V40,T05] ( 10, 20 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V41 tmp33 [V41,T09] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
-;* V42 tmp34 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
-; V43 tmp35 [V43,T23] ( 2, 4 ) int -> r13 "Inlining Arg"
-;* V44 tmp36 [V44,T37] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V45 tmp37 [V45 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V46 tmp38 [V46,T38] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V47 tmp39 [V47,T28] ( 3, 3 ) ref -> r14 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-; V48 tmp40 [V48,T26] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
-; V49 tmp41 [V49,T19] ( 5, 5 ) int -> [rbp-0x34] spill-single-def "Inline stloc first use temp"
-; V50 tmp42 [V50,T31] ( 3, 3 ) ubyte -> rax "Inline return value spill temp"
-; V51 tmp43 [V51,T00] ( 6, 41 ) int -> [rbp-0x38] "Inline stloc first use temp"
-; V52 tmp44 [V52,T04] ( 3, 24 ) int -> rax "Inline stloc first use temp"
-; V53 tmp45 [V53,T29] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
-; V54 tmp46 [V54 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
-; V55 tmp47 [V55 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
-; V56 tmp48 [V56,T34] ( 3, 2.50) byref -> rdx "field V10._reference (fldOffset=0x0)" P-INDEP
-; V57 tmp49 [V57,T32] ( 3, 3 ) int -> rsi "field V10._length (fldOffset=0x8)" P-INDEP
-; V58 tmp50 [V58,T15] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
-;* V59 tmp51 [V59,T25] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
-; V60 tmp52 [V60,T35] ( 2, 2 ) byref -> rdx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-; V61 tmp53 [V61,T39] ( 2, 2 ) int -> rsi "field V29._length (fldOffset=0x8)" P-INDEP
-;* V62 tmp54 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V63 tmp55 [V63 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
-;* V64 tmp56 [V64 ] ( 0, 0 ) ref -> zero-ref "field V37._source (fldOffset=0x0)" P-INDEP
-; V65 tmp57 [V65,T16] ( 3, 6 ) ref -> rsi single-def "arr expr"
-; V66 tmp58 [V66,T17] ( 3, 6 ) int -> rax "index expr"
-; V67 tmp59 [V67,T21] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V68 PSPSym [V68,T41] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
-; V69 cse0 [V69,T30] ( 3, 3 ) ref -> r14 "CSE #09: conservative"
-; V70 cse1 [V70,T33] ( 3, 3 ) int -> rsi "CSE #10: conservative"
-; V71 cse2 [V71,T10] ( 4, 11 ) byref -> rdi "CSE #11: moderate"
+; V31 tmp23 [V31,T16] ( 2, 4 ) byref -> rdx single-def "Inlining Arg"
+; V32 tmp24 [V32,T18] ( 2, 4 ) int -> rsi "Inlining Arg"
+;* V33 tmp25 [V33 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V34 tmp26 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V35 tmp27 [V35 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V36 tmp28 [V36,T27] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+;* V37 tmp29 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V38 tmp30 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V39 tmp31 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V40 tmp32 [V40 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V41 tmp33 [V41 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V42 tmp34 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp38 [V46,T11] ( 3, 6 ) byref -> rbx single-def "Inlining Arg"
+; V47 tmp39 [V47,T22] ( 3, 3 ) ref -> rsi class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[int]>
+;* V48 tmp40 [V48 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
+; V49 tmp41 [V49,T09] ( 4, 8 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[int]>
+;* V50 tmp42 [V50 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
+;* V51 tmp43 [V51 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V52 tmp44 [V52 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V53 tmp45 [V53,T12] ( 3, 6 ) ref -> r14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V54 tmp46 [V54,T06] ( 6, 12 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;* V55 tmp47 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+; V56 tmp48 [V56,T19] ( 2, 4 ) int -> r13 "Inlining Arg"
+;* V57 tmp49 [V57,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V58 tmp50 [V58 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
+; V59 tmp51 [V59 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
+; V60 tmp52 [V60,T23] ( 3, 3 ) byref -> rdx "field V10._reference (fldOffset=0x0)" P-INDEP
+; V61 tmp53 [V61,T28] ( 3, 3 ) int -> rsi "field V10._length (fldOffset=0x8)" P-INDEP
+;* V62 tmp54 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V63 tmp55 [V63 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+; V64 tmp56 [V64,T10] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
+;* V65 tmp57 [V65,T21] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
+; V66 tmp58 [V66,T31] ( 2, 2 ) byref -> rdx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+; V67 tmp59 [V67,T35] ( 2, 2 ) int -> rsi "field V29._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp60 [V68 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+;* V70 tmp62 [V70 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp63 [V71 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
+; V72 tmp64 [V72,T32] ( 2, 2 ) byref -> rax single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp65 [V73 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp66 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp67 [V75 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp68 [V76 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp69 [V77 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp70 [V78 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp71 [V79 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp72 [V80 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp73 [V81 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp74 [V82 ] ( 0, 0 ) byref -> zero-ref "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp75 [V83 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
+;* V84 tmp76 [V84 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V85 tmp77 [V85 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+;* V86 tmp78 [V86 ] ( 0, 0 ) ref -> zero-ref "field V50._source (fldOffset=0x0)" P-INDEP
+; V87 tmp79 [V87,T13] ( 3, 6 ) ref -> rsi single-def "arr expr"
+; V88 tmp80 [V88,T14] ( 3, 6 ) int -> rax "index expr"
+; V89 tmp81 [V89,T17] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V90 PSPSym [V90,T36] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
+; V91 cse0 [V91,T24] ( 3, 3 ) ref -> rbx "CSE #09: moderate"
+; V92 cse1 [V92,T29] ( 3, 3 ) int -> rsi "CSE #10: moderate"
+; V93 cse2 [V93,T25] ( 3, 3 ) byref -> rsi "CSE #01: moderate"
+; V94 cse3 [V94,T30] ( 3, 3 ) int -> rsi "CSE #03: moderate"
+; V95 cse4 [V95,T26] ( 3, 3 ) ref -> r14 "CSE #05: moderate"
;
; Lcl frame size = 48
G_M31456_IG01:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 48
lea rbp, [rsp+0x50]
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0x48], rsp
- mov bword ptr [rbp-0x40], rdi
+ mov bword ptr [rbp-0x38], rdi
;; size=31 bbWeight=1 PerfScore 9.00
G_M31456_IG02:
mov esi, dword ptr [rdi+0x08]
mov rbx, gword ptr [rdi]
;; size=6 bbWeight=1 PerfScore 4.00
G_M31456_IG03:
test esi, esi
- je G_M31456_IG13
+ je G_M31456_IG11
mov rsi, gword ptr [rbx+0x38]
mov eax, dword ptr [rbx+0x74]
cmp eax, dword ptr [rsi+0x08]
- jae SHORT G_M31456_IG09
+ jae SHORT G_M31456_IG07
cmp word ptr [rsi+2*rax+0x10], 78
- jne G_M31456_IG18
+ jne G_M31456_IG17
;; size=32 bbWeight=1 PerfScore 13.25
G_M31456_IG04:
mov eax, dword ptr [rbx+0x70]
sub eax, dword ptr [rbx+0x74]
cmp eax, 5
- jl SHORT G_M31456_IG11
+ jl SHORT G_M31456_IG09
;; size=11 bbWeight=8 PerfScore 50.00
G_M31456_IG05:
mov rax, gword ptr [rbx+0x38]
mov ecx, dword ptr [rbx+0x74]
inc ecx
test rax, rax
- jne G_M31456_IG17
+ jne G_M31456_IG16
test ecx, ecx
- jne SHORT G_M31456_IG10
+ jne SHORT G_M31456_IG08
xor rdx, rdx
xor esi, esi
;; size=26 bbWeight=1 PerfScore 7.25
G_M31456_IG06:
- cmp esi, 4
- jl G_M31456_IG18
- ;; size=9 bbWeight=1 PerfScore 1.25
-G_M31456_IG07:
mov rax, 0xD1FFAB1E
- cmp qword ptr [rdx], rax
- jne G_M31456_IG18
- ;; size=19 bbWeight=0.50 PerfScore 2.12
-G_M31456_IG08:
+ cmp esi, 4
+ jl G_M31456_IG17
+ mov rcx, qword ptr [rdx]
+ cmp rcx, qword ptr [rax]
+ sete al
+ movzx rax, al
+ test eax, eax
+ je G_M31456_IG17
add dword ptr [rbx+0x74], 5
mov rax, 0xD1FFAB1E
mov qword ptr [rbx+0x78], rax
mov r15d, 37
- jmp G_M31456_IG19
- align [0 bytes for IG25]
- ;; size=29 bbWeight=1 PerfScore 6.50
-G_M31456_IG09:
+ jmp G_M31456_IG18
+ ;; size=68 bbWeight=1 PerfScore 15.50
+G_M31456_IG07:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M31456_IG10:
+G_M31456_IG08:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M31456_IG11:
+G_M31456_IG09:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x30], rax
xor edi, edi
mov dword ptr [rbp-0x28], edi
test byte ptr [rbp-0x28], 4
- jne SHORT G_M31456_IG12
+ jne SHORT G_M31456_IG10
mov rdi, gword ptr [rbp-0x30]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- jne SHORT G_M31456_IG15
+ jne SHORT G_M31456_IG14
;; size=45 bbWeight=4 PerfScore 67.00
-G_M31456_IG12:
+G_M31456_IG10:
xor edi, edi
- mov rax, bword ptr [rbp-0x40]
+ mov rax, bword ptr [rbp-0x38]
mov dword ptr [rax+0x08], edi
lea rdi, bword ptr [rax+0x18]
mov rsi, gword ptr [rbp-0x30]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x28]
- mov rdi, bword ptr [rbp-0x40]
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x20], esi
lea rsi, bword ptr [rdi+0x10]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:GetStateMachineBox[System.Xml.DtdParser+<ScanEntity3Async>d__190](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:GetStateMachineBox[System.Xml.DtdParser+<ScanEntity3Async>d__190](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M31456_IG31
+ jmp G_M31456_IG24
;; size=72 bbWeight=4 PerfScore 70.00
-G_M31456_IG13:
- vmovdqu xmm0, xmmword ptr [rdi+0x18]
+G_M31456_IG11:
+ lea rsi, bword ptr [rdi+0x18]
+ ;; size=4 bbWeight=1 PerfScore 0.50
+G_M31456_IG12:
+ vmovdqu xmm0, xmmword ptr [rsi]
vmovdqu xmmword ptr [rbp-0x30], xmm0
- ;; size=10 bbWeight=1 PerfScore 5.00
-G_M31456_IG14:
- xor esi, esi
- mov qword ptr [rdi+0x18], rsi
- mov qword ptr [rdi+0x20], rsi
+ ;; size=9 bbWeight=1 PerfScore 5.00
+G_M31456_IG13:
+ xor eax, eax
+ mov qword ptr [rsi], rax
+ mov qword ptr [rsi+0x08], rax
mov dword ptr [rdi+0x08], -1
- ;; size=17 bbWeight=1 PerfScore 3.25
-G_M31456_IG15:
+ ;; size=16 bbWeight=1 PerfScore 3.25
+G_M31456_IG14:
mov rsi, gword ptr [rbp-0x30]
mov eax, dword ptr [rsi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
- je SHORT G_M31456_IG16
+ je SHORT G_M31456_IG15
mov rdi, rsi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=36 bbWeight=4 PerfScore 33.00
-G_M31456_IG16:
+G_M31456_IG15:
mov rsi, gword ptr [rbp-0x30]
cmp dword ptr [rsi+0x38], 0
- je SHORT G_M31456_IG18
+ je SHORT G_M31456_IG17
jmp G_M31456_IG04
;; size=15 bbWeight=4 PerfScore 28.00
-G_M31456_IG17:
- cmp dword ptr [rax+0x08], ecx
- jb G_M31456_IG10
+G_M31456_IG16:
+ mov esi, dword ptr [rax+0x08]
+ cmp esi, ecx
+ jb G_M31456_IG08
mov edx, ecx
lea rdx, bword ptr [rax+2*rdx+0x10]
- mov esi, dword ptr [rax+0x08]
sub esi, ecx
jmp G_M31456_IG06
- ;; size=26 bbWeight=1 PerfScore 9.50
-G_M31456_IG18:
+ ;; size=25 bbWeight=1 PerfScore 6.75
+G_M31456_IG17:
mov dword ptr [rbx+0x78], 31
mov r15d, 9
;; size=13 bbWeight=1 PerfScore 1.25
-G_M31456_IG19:
- mov rdi, bword ptr [rbp-0x40]
+G_M31456_IG18:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
lea rbx, bword ptr [rdi+0x10]
- cmp gword ptr [rbx], 0
- jne SHORT G_M31456_IG22
+ mov r14, gword ptr [rbx]
+ test r14, r14
+ jne SHORT G_M31456_IG21
test r15d, r15d
- jne SHORT G_M31456_IG20
+ jne SHORT G_M31456_IG19
mov rdi, 0xD1FFAB1E
mov esi, 97
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.Task`1[int]:s_defaultResultTask
mov rsi, gword ptr [rdi]
- jmp SHORT G_M31456_IG21
- ;; size=61 bbWeight=1 PerfScore 13.50
-G_M31456_IG20:
+ jmp SHORT G_M31456_IG20
+ ;; size=63 bbWeight=1 PerfScore 12.75
+G_M31456_IG19:
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
call CORINFO_HELP_NEWSFAST
mov rsi, rax
mov dword ptr [rsi+0x34], 0xD1FFAB1E
mov dword ptr [rsi+0x38], r15d
;; size=29 bbWeight=1 PerfScore 3.50
-G_M31456_IG21:
+G_M31456_IG20:
mov rdi, rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M31456_IG31
+ jmp G_M31456_IG24
;; size=13 bbWeight=1 PerfScore 3.25
-G_M31456_IG22:
- mov rbx, gword ptr [rbx]
+G_M31456_IG21:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M31456_IG35
- ;; size=22 bbWeight=1 PerfScore 6.25
-G_M31456_IG23:
+ je G_M31456_IG25
+ ;; size=19 bbWeight=1 PerfScore 4.25
+G_M31456_IG22:
mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
- mov r14, gword ptr [rdi]
- cmp byte ptr [r14+0x9D], 0
- je SHORT G_M31456_IG24
- mov rdi, rbx
+ mov rbx, gword ptr [rdi]
+ cmp byte ptr [rbx+0x9D], 0
+ je SHORT G_M31456_IG23
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:get_Id():int:this
cmp dword ptr [rdi], edi
call [rax]System.Threading.Tasks.Task:get_Id():int:this
mov r13d, eax
- movzx rsi, byte ptr [r14+0x9D]
+ movzx rsi, byte ptr [rbx+0x9D]
test esi, esi
- je SHORT G_M31456_IG24
+ je SHORT G_M31456_IG23
xor ecx, ecx
mov dword ptr [rsp], ecx
- mov rcx, qword ptr [r14+0x80]
- mov edx, dword ptr [r14+0x98]
- mov rdi, r14
+ mov rcx, qword ptr [rbx+0x80]
+ mov edx, dword ptr [rbx+0x98]
+ mov rdi, rbx
mov r8d, 4
mov r9d, 8
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
test eax, eax
- je SHORT G_M31456_IG24
- mov rdi, r14
+ je SHORT G_M31456_IG23
+ mov rdi, rbx
mov edx, r13d
mov esi, 15
mov ecx, 1
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
- ;; size=133 bbWeight=1 PerfScore 31.00
+ ;; size=131 bbWeight=1 PerfScore 31.00
+G_M31456_IG23:
+ mov rdi, r14
+ mov esi, r15d
+ mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[int]:TrySetResult(int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.Threading.Tasks.Task`1[int]:TrySetResult(int):ubyte:this
+ test eax, eax
+ je SHORT G_M31456_IG26
+ ;; size=24 bbWeight=1 PerfScore 8.00
G_M31456_IG24:
- mov eax, dword ptr [rbx+0x34]
- mov dword ptr [rbp-0x34], eax
- test eax, 0xD1FFAB1E
- jne G_M31456_IG34
- lea rdi, bword ptr [rbx+0x34]
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- lock
- cmpxchg dword ptr [rdi], ecx
- cmp eax, dword ptr [rbp-0x34]
- je SHORT G_M31456_IG29
- mov eax, dword ptr [rbx+0x34]
- ;; size=41 bbWeight=1 PerfScore 28.25
-G_M31456_IG25:
- test eax, 0xD1FFAB1E
- jne SHORT G_M31456_IG26
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- mov dword ptr [rbp-0x38], eax
- lock
- cmpxchg dword ptr [rdi], ecx
- mov ecx, dword ptr [rbp-0x38]
- cmp eax, ecx
- je SHORT G_M31456_IG27
- mov ecx, eax
- mov eax, ecx
- jmp SHORT G_M31456_IG25
- ;; size=35 bbWeight=8 PerfScore 204.00
-G_M31456_IG26:
- xor eax, eax
- jmp SHORT G_M31456_IG28
- ;; size=4 bbWeight=1 PerfScore 2.25
-G_M31456_IG27:
- mov eax, 1
- ;; size=5 bbWeight=1 PerfScore 0.25
-G_M31456_IG28:
- jmp SHORT G_M31456_IG33
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M31456_IG29:
- mov dword ptr [rbx+0x38], r15d
- mov eax, dword ptr [rbx+0x34]
- or eax, 0xD1FFAB1E
- xchg dword ptr [rdi], eax
- mov r14, gword ptr [rbx+0x28]
- test r14, r14
- je SHORT G_M31456_IG30
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- call [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- mov rdi, gword ptr [r14+0x10]
- test rdi, rdi
- je SHORT G_M31456_IG30
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- call [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- ;; size=59 bbWeight=1 PerfScore 36.50
-G_M31456_IG30:
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:FinishContinuations():this
- call [rax]System.Threading.Tasks.Task:FinishContinuations():this
- ;; size=15 bbWeight=1 PerfScore 3.50
-G_M31456_IG31:
- nop
- ;; size=1 bbWeight=1 PerfScore 0.25
-G_M31456_IG32:
add rsp, 48
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=1 PerfScore 3.75
-G_M31456_IG33:
- test eax, eax
- jne SHORT G_M31456_IG29
- ;; size=4 bbWeight=1 PerfScore 1.25
-G_M31456_IG34:
+G_M31456_IG25:
+ mov rdi, 0xD1FFAB1E
+ mov esi, 0x43C
+ call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ jmp G_M31456_IG22
+ ;; size=25 bbWeight=0 PerfScore 0.00
+G_M31456_IG26:
mov edi, 24
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
call [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-G_M31456_IG35:
- mov rdi, 0xD1FFAB1E
- mov esi, 0x43C
- call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- jmp G_M31456_IG23
- ;; size=25 bbWeight=0 PerfScore 0.00
-G_M31456_IG36:
+G_M31456_IG27:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 16
mov rbp, qword ptr [rdi+0x08]
mov qword ptr [rsp+0x08], rbp
lea rbp, [rbp+0x50]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M31456_IG37:
- mov rdi, bword ptr [rbp-0x40]
+G_M31456_IG28:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
add rdi, 16
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:SetException(System.Exception):this
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[int]:SetException(System.Exception):this
- lea rax, G_M31456_IG31
+ lea rax, G_M31456_IG24
;; size=34 bbWeight=0 PerfScore 0.00
-G_M31456_IG38:
+G_M31456_IG29:
add rsp, 16
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 968, prolog size 31, PerfScore 649.88, instruction count 248, allocated bytes for code 968 (MethodHash=db73851f) for method System.Xml.DtdParser+<ScanEntity3Async>d__190:MoveNext():this (FullOpts)
+; Total bytes of code 835, prolog size 31, PerfScore 380.25, instruction count 209, allocated bytes for code 835 (MethodHash=db73851f) for method System.Xml.DtdParser+<ScanEntity3Async>d__190:MoveNext():this (FullOpts)
-132 (-24.54 % of base) - System.TimeZoneInfo:IsUtcAlias(System.String):ubyte
; Assembly listing for method System.TimeZoneInfo:IsUtcAlias(System.String):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
-; partially interruptible
+; fully interruptible
; No PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T00] ( 18, 6.50) ref -> rdi class-hnd single-def <System.String>
-; V01 loc0 [V01,T01] ( 8, 5 ) ushort -> rax
+; V00 arg0 [V00,T00] ( 12, 8 ) ref -> rbx class-hnd single-def <System.String>
+; V01 loc0 [V01,T01] ( 8, 5 ) ushort -> rdi
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V04 tmp2 [V04,T08] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V06 tmp4 [V06,T09] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V08 tmp6 [V08,T04] ( 2, 2 ) int -> rax "spilling unroll qmark"
-;* V09 tmp7 [V09 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V10 tmp8 [V10,T05] ( 3, 1.75) int -> rdx "spilling unroll qmark"
-;* V11 tmp9 [V11 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V12 tmp10 [V12,T10] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V13 tmp11 [V13 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V14 tmp12 [V14,T11] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V15 tmp13 [V15 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V16 tmp14 [V16,T06] ( 3, 1.75) int -> rdx "spilling unroll qmark"
-;* V17 tmp15 [V17 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V18 tmp16 [V18,T07] ( 3, 1.75) int -> rdx "spilling unroll qmark"
-; V19 tmp17 [V19,T03] ( 4, 4 ) int -> rdx "Single return block return value"
-; V20 cse0 [V20,T02] ( 10, 4.75) int -> rcx "CSE #01: moderate"
-; V21 rat0 [V21,T12] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V22 rat1 [V22,T13] ( 3, 0.75) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V23 rat2 [V23,T14] ( 3, 0.75) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+;* V03 tmp1 [V03 ] ( 0, 0 ) int -> zero-ref "Single return block return value"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M2874_IG01:
push rbp
- mov rbp, rsp
- ;; size=4 bbWeight=1 PerfScore 1.25
+ push rbx
+ push rax
+ lea rbp, [rsp+0x10]
+ mov rbx, rdi
+ ;; size=11 bbWeight=1 PerfScore 3.75
G_M2874_IG02:
- mov ecx, dword ptr [rdi+0x08]
- test ecx, ecx
- je G_M2874_IG32
- movzx rax, word ptr [rdi+0x0C]
- cmp eax, 90
+ cmp dword ptr [rbx+0x08], 0
+ jbe G_M2874_IG15
+ movzx rdi, word ptr [rbx+0x0C]
+ cmp edi, 90
ja SHORT G_M2874_IG04
- ;; size=20 bbWeight=1 PerfScore 6.50
+ ;; size=19 bbWeight=1 PerfScore 7.25
G_M2874_IG03:
- cmp eax, 69
+ cmp edi, 69
je SHORT G_M2874_IG05
- cmp eax, 85
- je G_M2874_IG15
- cmp eax, 90
- je G_M2874_IG25
- jmp G_M2874_IG30
+ cmp edi, 85
+ je G_M2874_IG07
+ cmp edi, 90
+ je G_M2874_IG11
+ jmp G_M2874_IG13
;; size=28 bbWeight=0.50 PerfScore 2.88
G_M2874_IG04:
- cmp eax, 101
+ cmp edi, 101
je SHORT G_M2874_IG05
- cmp eax, 117
- je G_M2874_IG15
- cmp eax, 122
- je G_M2874_IG25
- jmp G_M2874_IG30
+ cmp edi, 117
+ je G_M2874_IG07
+ cmp edi, 122
+ je G_M2874_IG11
+ jmp G_M2874_IG13
;; size=28 bbWeight=0.50 PerfScore 2.88
G_M2874_IG05:
- cmp ecx, 7
- jne SHORT G_M2874_IG07
- ;; size=5 bbWeight=0.50 PerfScore 0.62
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Etc/UTC'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M2874_IG09
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Etc/UCT'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M2874_IG09
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Etc/Universal'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M2874_IG09
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Etc/Zulu'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=142 bbWeight=0.50 PerfScore 8.38
G_M2874_IG06:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [rdi+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rax, rdx
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rdi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rdx, rsi
- or rax, rdx
- je G_M2874_IG23
- ;; size=63 bbWeight=0.12 PerfScore 1.09
+ add rsp, 8
+ pop rbx
+ pop rbp
+ tail.jmp [rax]System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=9 bbWeight=0.50 PerfScore 1.62
G_M2874_IG07:
- cmp ecx, 7
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'UCT'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M2874_IG09
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'UTC'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
jne SHORT G_M2874_IG09
- ;; size=5 bbWeight=0.25 PerfScore 0.31
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Universal'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=96 bbWeight=0.50 PerfScore 5.75
G_M2874_IG08:
- mov rax, 0xD1FFAB1E
- or rax, qword ptr [rdi+0x0C]
- mov rdx, 0xD1FFAB1E
- xor rax, rdx
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rdi+0x12]
- mov rsi, 0xD1FFAB1E
- xor rdx, rsi
- or rax, rdx
- je G_M2874_IG23
- ;; size=63 bbWeight=0.12 PerfScore 1.09
+ add rsp, 8
+ pop rbx
+ pop rbp
+ tail.jmp [rax]System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=9 bbWeight=0.50 PerfScore 1.62
G_M2874_IG09:
- cmp ecx, 13
- jne SHORT G_M2874_IG11
- ;; size=5 bbWeight=0.25 PerfScore 0.31
-G_M2874_IG10:
- vmovups xmm0, xmmword ptr [rdi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vmovups xmm1, xmmword ptr [rdi+0x16]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete al
- movzx rax, al
- test eax, eax
- jne G_M2874_IG23
- ;; size=65 bbWeight=0.50 PerfScore 10.92
-G_M2874_IG11:
- cmp ecx, 8
- jne SHORT G_M2874_IG13
- ;; size=5 bbWeight=0.25 PerfScore 0.31
-G_M2874_IG12:
- vmovups xmm0, xmmword ptr [rdi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- jmp SHORT G_M2874_IG14
- ;; size=34 bbWeight=0.12 PerfScore 1.78
-G_M2874_IG13:
- xor edx, edx
- ;; size=2 bbWeight=0.25 PerfScore 0.06
-G_M2874_IG14:
- jmp G_M2874_IG28
- ;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M2874_IG15:
- cmp ecx, 3
- jne SHORT G_M2874_IG17
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M2874_IG16:
- mov edx, dword ptr [rdi+0x0C]
- or edx, 0xD1FFAB1E
- xor edx, 0xD1FFAB1E
- mov eax, dword ptr [rdi+0x0E]
- or eax, 0xD1FFAB1E
- xor eax, 0xD1FFAB1E
- or eax, edx
- je SHORT G_M2874_IG23
- ;; size=32 bbWeight=0.12 PerfScore 0.78
-G_M2874_IG17:
- cmp ecx, 3
- jne SHORT G_M2874_IG19
- ;; size=5 bbWeight=0.25 PerfScore 0.31
-G_M2874_IG18:
- mov eax, dword ptr [rdi+0x0C]
- or eax, 0xD1FFAB1E
- xor eax, 0xD1FFAB1E
- mov edx, dword ptr [rdi+0x0E]
- or edx, 0xD1FFAB1E
- xor edx, 0xD1FFAB1E
- or eax, edx
- je SHORT G_M2874_IG23
- ;; size=32 bbWeight=0.12 PerfScore 0.78
-G_M2874_IG19:
- cmp ecx, 9
- jne SHORT G_M2874_IG21
- ;; size=5 bbWeight=0.25 PerfScore 0.31
-G_M2874_IG20:
- vmovups xmm0, xmmword ptr [rdi+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD80]
- vmovups xmm1, xmmword ptr [rdi+0x0E]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dl
- movzx rdx, dl
- jmp SHORT G_M2874_IG22
- ;; size=59 bbWeight=0.12 PerfScore 2.82
-G_M2874_IG21:
- xor edx, edx
- ;; size=2 bbWeight=0.25 PerfScore 0.06
-G_M2874_IG22:
- jmp SHORT G_M2874_IG28
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M2874_IG23:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M2874_IG24:
+G_M2874_IG10:
+ add rsp, 8
+ pop rbx
pop rbp
ret
- ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M2874_IG25:
- cmp ecx, 4
- jne SHORT G_M2874_IG27
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M2874_IG26:
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rdi+0x0C]
- mov rax, 0xD1FFAB1E
- cmp rdx, rax
- sete dl
- movzx rdx, dl
- jmp SHORT G_M2874_IG28
- ;; size=35 bbWeight=0.12 PerfScore 0.88
-G_M2874_IG27:
- xor edx, edx
- ;; size=2 bbWeight=0.25 PerfScore 0.06
-G_M2874_IG28:
- movzx rax, dl
- ;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M2874_IG29:
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2874_IG11:
+ mov rdi, rbx
+ mov rsi, 0xD1FFAB1E ; 'Zulu'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=28 bbWeight=0.50 PerfScore 0.50
+G_M2874_IG12:
+ add rsp, 8
+ pop rbx
pop rbp
- ret
- ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M2874_IG30:
+ tail.jmp [rax]System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=9 bbWeight=0.50 PerfScore 1.62
+G_M2874_IG13:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M2874_IG31:
+G_M2874_IG14:
+ add rsp, 8
+ pop rbx
pop rbp
ret
- ;; size=2 bbWeight=0.50 PerfScore 0.75
-G_M2874_IG32:
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2874_IG15:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-RWD00 dq 0000002000200020h, 0020002000200020h
-RWD16 dq 002F006300740065h, 00760069006E0075h
-RWD32 dq 0020002000200020h, 0020002000200020h
-RWD48 dq 006500760069006Eh, 006C006100730072h
-RWD64 dq 002F006300740065h, 0075006C0075007Ah
-RWD80 dq 00760069006E0075h, 0061007300720065h
-
-; Total bytes of code 538, prolog size 4, PerfScore 41.90, instruction count 127, allocated bytes for code 538 (MethodHash=a723f4c5) for method System.TimeZoneInfo:IsUtcAlias(System.String):ubyte (FullOpts)
+; Total bytes of code 406, prolog size 11, PerfScore 38.75, instruction count 95, allocated bytes for code 406 (MethodHash=a723f4c5) for method System.TimeZoneInfo:IsUtcAlias(System.String):ubyte (FullOpts)
-130 (-5.25 % of base) - Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider:Load(System.Collections.IDictionary):this
; Assembly listing for method Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider:Load(System.Collections.IDictionary):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; 26 single block inlinees; 24 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 19, 35 ) ref -> rbx this class-hnd single-def <Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider>
-; V01 arg1 [V01,T64] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Collections.IDictionary>
+; V01 arg1 [V01,T60] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Collections.IDictionary>
; V02 loc0 [V02,T06] ( 10, 18 ) ref -> r14 class-hnd exact single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V03 loc1 [V03,T07] ( 7, 14 ) ref -> [rbp-0x40] class-hnd EH-live spill-single-def <System.Collections.IDictionaryEnumerator>
-; V04 loc2 [V04,T04] ( 18, 32 ) ref -> r15 class-hnd exact <System.String>
+; V04 loc2 [V04,T01] ( 18, 32 ) ref -> r15 class-hnd exact <System.String>
; V05 loc3 [V05,T08] ( 6, 14 ) ref -> r13 class-hnd exact <System.String>
;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op <System.Collections.DictionaryEntry>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V08 tmp1 [V08,T55] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
+; V08 tmp1 [V08,T51] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
;* V09 tmp2 [V09 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Collections.DictionaryEntry>
;* V10 tmp3 [V10 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Collections.DictionaryEntry>
-;* V11 tmp4 [V11 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V12 tmp5 [V12,T19] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V14 tmp7 [V14,T28] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-;* V15 tmp8 [V15 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V16 tmp9 [V16,T29] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V18 tmp11 [V18,T30] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-; V19 tmp12 [V19,T63] ( 6, 5 ) ref -> rax class-hnd "dup spill" <System.Collections.IDictionaryEnumerator>
-;* V20 tmp13 [V20 ] ( 0, 0 ) ref -> zero-ref
-;* V21 tmp14 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.OrdinalIgnoreCaseComparer>
-; V22 tmp15 [V22,T56] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
-; V23 tmp16 [V23,T57] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
-; V24 tmp17 [V24,T20] ( 5, 8 ) int -> [rbp-0x2C] spill-single-def "Inline stloc first use temp"
-;* V25 tmp18 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V26 tmp19 [V26,T24] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
-; V27 tmp20 [V27,T65] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
-; V28 tmp21 [V28,T33] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V29 tmp22 [V29,T34] ( 2, 8 ) byref -> rsi "Inlining Arg"
-;* V30 tmp23 [V30 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V31 tmp24 [V31,T11] ( 3, 12 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V32 tmp25 [V32,T35] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V33 tmp26 [V33 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V34 tmp27 [V34,T12] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
-; V35 tmp28 [V35,T36] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V36 tmp29 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V37 tmp30 [V37,T58] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
-; V38 tmp31 [V38,T59] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
-; V39 tmp32 [V39,T21] ( 5, 8 ) int -> [rbp-0x30] spill-single-def "Inline stloc first use temp"
-;* V40 tmp33 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V41 tmp34 [V41,T25] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
-; V42 tmp35 [V42,T66] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
-; V43 tmp36 [V43,T37] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V44 tmp37 [V44,T38] ( 2, 8 ) byref -> rsi "Inlining Arg"
-;* V45 tmp38 [V45 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V46 tmp39 [V46,T13] ( 3, 12 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V47 tmp40 [V47,T39] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V48 tmp41 [V48 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V49 tmp42 [V49,T14] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
-; V50 tmp43 [V50,T40] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V51 tmp44 [V51 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V52 tmp45 [V52,T60] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
-; V53 tmp46 [V53,T61] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
-; V54 tmp47 [V54,T22] ( 5, 8 ) int -> [rbp-0x34] spill-single-def "Inline stloc first use temp"
-;* V55 tmp48 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V56 tmp49 [V56,T26] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
-; V57 tmp50 [V57,T67] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
-; V58 tmp51 [V58,T41] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V59 tmp52 [V59,T42] ( 2, 8 ) byref -> rsi "Inlining Arg"
-;* V60 tmp53 [V60 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V61 tmp54 [V61,T15] ( 3, 12 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V62 tmp55 [V62,T43] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V63 tmp56 [V63 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V64 tmp57 [V64,T16] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
-; V65 tmp58 [V65,T44] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V66 tmp59 [V66 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V67 tmp60 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String>
-; V68 tmp61 [V68,T62] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
-; V69 tmp62 [V69,T23] ( 5, 8 ) int -> [rbp-0x38] spill-single-def "Inline stloc first use temp"
-;* V70 tmp63 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V71 tmp64 [V71,T27] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
-; V72 tmp65 [V72,T68] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
-; V73 tmp66 [V73,T45] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V74 tmp67 [V74,T46] ( 2, 8 ) byref -> rsi "Inlining Arg"
-;* V75 tmp68 [V75 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V76 tmp69 [V76,T17] ( 3, 12 ) ref -> r15 class-hnd exact "Inlining Arg" <System.String>
-; V77 tmp70 [V77,T47] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V78 tmp71 [V78 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V79 tmp72 [V79,T18] ( 3, 12 ) ref -> r15 class-hnd exact "Inlining Arg" <System.String>
-; V80 tmp73 [V80,T48] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-;* V81 tmp74 [V81 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V82 tmp75 [V82,T09] ( 4, 12 ) ref -> rax "field V06._key (fldOffset=0x0)" P-INDEP
-; V83 tmp76 [V83,T10] ( 4, 12 ) ref -> rdx "field V06._value (fldOffset=0x8)" P-INDEP
-;* V84 tmp77 [V84 ] ( 0, 0 ) ref -> zero-ref "field V09._key (fldOffset=0x0)" P-DEP
-;* V85 tmp78 [V85 ] ( 0, 0 ) ref -> zero-ref "field V09._value (fldOffset=0x8)" P-DEP
-;* V86 tmp79 [V86 ] ( 0, 0 ) ref -> zero-ref "field V10._key (fldOffset=0x0)" P-DEP
-;* V87 tmp80 [V87 ] ( 0, 0 ) ref -> zero-ref "field V10._value (fldOffset=0x8)" P-DEP
-; V88 tmp81 [V88,T49] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V89 tmp82 [V89,T50] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V90 tmp83 [V90,T51] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V91 tmp84 [V91,T52] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V92 tmp85 [V92,T53] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V93 tmp86 [V93,T54] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V94 PSPSym [V94,T69] ( 1, 1 ) long -> [rbp-0x60] do-not-enreg[V] "PSPSym"
-; V95 cse0 [V95,T01] ( 13, 30 ) int -> r12 "CSE #01: aggressive"
-; V96 cse1 [V96,T05] ( 11, 22 ) ref -> r12 multi-def "CSE #02: aggressive"
-; V97 rat0 [V97,T02] ( 4, 28 ) ref -> r15 "replacement local"
-; V98 rat1 [V98,T31] ( 3, 8 ) long -> rdi "CSE for expectedClsNode"
-; V99 rat2 [V99,T03] ( 4, 28 ) ref -> r13 "replacement local"
-; V100 rat3 [V100,T32] ( 3, 8 ) long -> rdi "CSE for expectedClsNode"
-; V101 rat4 [V101,T70] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V102 rat5 [V102,T71] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V103 rat6 [V103,T72] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V104 rat7 [V104,T73] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V11 tmp4 [V11,T59] ( 6, 5 ) ref -> rax class-hnd "dup spill" <System.Collections.IDictionaryEnumerator>
+;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref
+;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.OrdinalIgnoreCaseComparer>
+; V14 tmp7 [V14,T52] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
+; V15 tmp8 [V15,T53] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
+; V16 tmp9 [V16,T19] ( 5, 8 ) int -> [rbp-0x2C] spill-single-def "Inline stloc first use temp"
+;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V18 tmp11 [V18,T23] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
+; V19 tmp12 [V19,T61] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
+; V20 tmp13 [V20,T29] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V21 tmp14 [V21,T30] ( 2, 8 ) byref -> rsi "Inlining Arg"
+;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V23 tmp16 [V23,T11] ( 3, 12 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V24 tmp17 [V24,T31] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V25 tmp18 [V25 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V26 tmp19 [V26,T12] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
+; V27 tmp20 [V27,T32] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V28 tmp21 [V28 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V29 tmp22 [V29,T54] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
+; V30 tmp23 [V30,T55] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
+; V31 tmp24 [V31,T20] ( 5, 8 ) int -> [rbp-0x30] spill-single-def "Inline stloc first use temp"
+;* V32 tmp25 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V33 tmp26 [V33,T24] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
+; V34 tmp27 [V34,T62] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
+; V35 tmp28 [V35,T33] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V36 tmp29 [V36,T34] ( 2, 8 ) byref -> rsi "Inlining Arg"
+;* V37 tmp30 [V37 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V38 tmp31 [V38,T13] ( 3, 12 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V39 tmp32 [V39,T35] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V40 tmp33 [V40 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V41 tmp34 [V41,T14] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
+; V42 tmp35 [V42,T36] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V43 tmp36 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V44 tmp37 [V44,T56] ( 3, 6 ) ref -> r15 class-hnd exact "Inline stloc first use temp" <System.String>
+; V45 tmp38 [V45,T57] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
+; V46 tmp39 [V46,T21] ( 5, 8 ) int -> [rbp-0x34] spill-single-def "Inline stloc first use temp"
+;* V47 tmp40 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V48 tmp41 [V48,T25] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
+; V49 tmp42 [V49,T63] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
+; V50 tmp43 [V50,T37] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V51 tmp44 [V51,T38] ( 2, 8 ) byref -> rsi "Inlining Arg"
+;* V52 tmp45 [V52 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V53 tmp46 [V53,T15] ( 3, 12 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V54 tmp47 [V54,T39] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V55 tmp48 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V56 tmp49 [V56,T16] ( 3, 12 ) ref -> r13 class-hnd exact "Inlining Arg" <System.String>
+; V57 tmp50 [V57,T40] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V58 tmp51 [V58 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V59 tmp52 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String>
+; V60 tmp53 [V60,T58] ( 3, 6 ) ref -> r15 class-hnd "Inline return value spill temp" <System.String>
+; V61 tmp54 [V61,T22] ( 5, 8 ) int -> [rbp-0x38] spill-single-def "Inline stloc first use temp"
+;* V62 tmp55 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V63 tmp56 [V63,T26] ( 4, 8 ) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.String>
+; V64 tmp57 [V64,T64] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
+; V65 tmp58 [V65,T41] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V66 tmp59 [V66,T42] ( 2, 8 ) byref -> rsi "Inlining Arg"
+;* V67 tmp60 [V67 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V68 tmp61 [V68,T17] ( 3, 12 ) ref -> r15 class-hnd exact "Inlining Arg" <System.String>
+; V69 tmp62 [V69,T43] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V70 tmp63 [V70 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V71 tmp64 [V71,T18] ( 3, 12 ) ref -> r15 class-hnd exact "Inlining Arg" <System.String>
+; V72 tmp65 [V72,T44] ( 2, 8 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+;* V73 tmp66 [V73 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V74 tmp67 [V74,T09] ( 4, 12 ) ref -> rax "field V06._key (fldOffset=0x0)" P-INDEP
+; V75 tmp68 [V75,T10] ( 4, 12 ) ref -> rdx "field V06._value (fldOffset=0x8)" P-INDEP
+;* V76 tmp69 [V76 ] ( 0, 0 ) ref -> zero-ref "field V09._key (fldOffset=0x0)" P-DEP
+;* V77 tmp70 [V77 ] ( 0, 0 ) ref -> zero-ref "field V09._value (fldOffset=0x8)" P-DEP
+;* V78 tmp71 [V78 ] ( 0, 0 ) ref -> zero-ref "field V10._key (fldOffset=0x0)" P-DEP
+;* V79 tmp72 [V79 ] ( 0, 0 ) ref -> zero-ref "field V10._value (fldOffset=0x8)" P-DEP
+; V80 tmp73 [V80,T45] ( 2, 8 ) ref -> rdx "argument with side effect"
+; V81 tmp74 [V81,T46] ( 2, 8 ) ref -> rdx "argument with side effect"
+; V82 tmp75 [V82,T47] ( 2, 8 ) ref -> rsi "argument with side effect"
+; V83 tmp76 [V83,T48] ( 2, 8 ) ref -> rdx "argument with side effect"
+; V84 tmp77 [V84,T49] ( 2, 8 ) ref -> rdx "argument with side effect"
+; V85 tmp78 [V85,T50] ( 2, 8 ) ref -> rdx "argument with side effect"
+; V86 PSPSym [V86,T65] ( 1, 1 ) long -> [rbp-0x60] do-not-enreg[V] "PSPSym"
+; V87 cse0 [V87,T04] ( 12, 24 ) int -> r12 multi-def "CSE #01: aggressive"
+; V88 cse1 [V88,T05] ( 11, 22 ) ref -> r12 multi-def "CSE #02: aggressive"
+; V89 rat0 [V89,T02] ( 4, 28 ) ref -> r15 "replacement local"
+; V90 rat1 [V90,T27] ( 3, 8 ) long -> rdi "CSE for expectedClsNode"
+; V91 rat2 [V91,T03] ( 4, 28 ) ref -> r13 "replacement local"
+; V92 rat3 [V92,T28] ( 3, 8 ) long -> rdi "CSE for expectedClsNode"
;
; Lcl frame size = 56
G_M949_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
lea rbp, [rsp+0x60]
mov qword ptr [rbp-0x60], rsp
mov rbx, rdi
mov r15, rsi
;; size=29 bbWeight=1 PerfScore 8.25
G_M949_IG02:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2[System.String,System.String]
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdx, 0xD1FFAB1E ; const ptr
mov rdx, gword ptr [rdx]
mov rdi, r14
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
mov rdi, r15
mov r11, 0xD1FFAB1E ; code for System.Collections.IDictionary:GetEnumerator():System.Collections.IDictionaryEnumerator:this
call [r11]System.Collections.IDictionary:GetEnumerator():System.Collections.IDictionaryEnumerator:this
mov gword ptr [rbp-0x40], rax
;; size=68 bbWeight=1 PerfScore 12.00
G_M949_IG03:
mov rdi, rax
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je G_M949_IG42
;; size=24 bbWeight=1 PerfScore 4.75
G_M949_IG04:
mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; code for System.Collections.IDictionaryEnumerator:get_Entry():System.Collections.DictionaryEntry:this
call [r11]System.Collections.IDictionaryEnumerator:get_Entry():System.Collections.DictionaryEntry:this
mov r15, rax
test r15, r15
je SHORT G_M949_IG06
;; size=25 bbWeight=4 PerfScore 23.00
G_M949_IG05:
mov rdi, 0xD1FFAB1E ; System.String
cmp qword ptr [r15], rdi
jne G_M949_IG23
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG06:
mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; code for System.Collections.IDictionaryEnumerator:get_Entry():System.Collections.DictionaryEntry:this
call [r11]System.Collections.IDictionaryEnumerator:get_Entry():System.Collections.DictionaryEntry:this
mov r13, rdx
test r13, r13
je SHORT G_M949_IG08
;; size=25 bbWeight=4 PerfScore 23.00
G_M949_IG07:
mov rdi, 0xD1FFAB1E ; System.String
cmp qword ptr [r13], rdi
jne G_M949_IG22
;; size=20 bbWeight=2 PerfScore 8.50
G_M949_IG08:
- mov r12d, dword ptr [r15+0x08]
- cmp r12d, 13
- jl G_M949_IG26
- ;; size=14 bbWeight=4 PerfScore 13.00
-G_M949_IG09:
- vmovups xmm0, xmmword ptr [r15+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vmovups xmm1, xmmword ptr [r15+0x16]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
+ mov rdi, r15
+ mov rsi, 0xD1FFAB1E ; 'MYSQLCONNSTR_'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.String:StartsWith(System.String,int):ubyte:this
+ test eax, eax
je G_M949_IG26
- lea ecx, [r12-0x0D]
- mov dword ptr [rbp-0x2C], ecx
- test ecx, ecx
+ ;; size=40 bbWeight=4 PerfScore 33.00
+G_M949_IG09:
+ mov r12d, dword ptr [r15+0x08]
+ lea eax, [r12-0x0D]
+ mov dword ptr [rbp-0x2C], eax
+ test eax, eax
jne G_M949_IG25
mov r15, 0xD1FFAB1E ; ''
- ;; size=95 bbWeight=2 PerfScore 49.67
+ ;; size=30 bbWeight=2 PerfScore 10.00
G_M949_IG10:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
je G_M949_IG24
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG11:
mov rdx, 0xD1FFAB1E ; data for Microsoft.Extensions.Configuration.ConfigurationPath:KeyDelimiter
mov rdx, gword ptr [rdx]
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '__'
mov rax, 0xD1FFAB1E ; code for System.String:Replace(System.String,System.String):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Replace(System.String,System.String):System.String:this
mov r15, rax
mov rsi, r15
mov r12, 0xD1FFAB1E ; 'ConnectionStrings:'
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String):System.String
mov gword ptr [rbp-0x48], rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, rax
mov edx, 5
mov rcx, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rcx]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je SHORT G_M949_IG12
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, gword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, r13
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
;; size=154 bbWeight=2 PerfScore 73.50
G_M949_IG12:
mov rsi, r15
mov rdi, r12
mov rdx, 0xD1FFAB1E ; '_ProviderName'
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String,System.String):System.String
mov r13, rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, r13
mov edx, 5
mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je SHORT G_M949_IG13
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, 0xD1FFAB1E ; 'MySql.Data.MySqlClient'
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
;; size=116 bbWeight=2 PerfScore 52.00
G_M949_IG13:
mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
jne G_M949_IG04
jmp G_M949_IG42
;; size=30 bbWeight=4 PerfScore 30.00
G_M949_IG14:
mov rdi, r15
- mov edx, ecx
+ mov edx, eax
mov esi, 13
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=23 bbWeight=0 PerfScore 0.00
G_M949_IG15:
mov rdi, 0xD1FFAB1E
mov esi, 7
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M949_IG41
;; size=25 bbWeight=0 PerfScore 0.00
G_M949_IG16:
mov rdi, 0xD1FFAB1E
mov esi, 7
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M949_IG39
;; size=25 bbWeight=0 PerfScore 0.00
G_M949_IG17:
mov rdi, 0xD1FFAB1E
mov esi, 7
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M949_IG34
;; size=25 bbWeight=0 PerfScore 0.00
G_M949_IG18:
mov rdi, 0xD1FFAB1E
mov esi, 7
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M949_IG29
;; size=25 bbWeight=0 PerfScore 0.00
G_M949_IG19:
mov rdi, r15
mov edx, eax
mov esi, 16
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=23 bbWeight=0 PerfScore 0.00
G_M949_IG20:
mov rdi, r15
mov edx, eax
mov esi, 11
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=23 bbWeight=0 PerfScore 0.00
G_M949_IG21:
mov rdi, r15
mov edx, eax
mov esi, 14
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=23 bbWeight=0 PerfScore 0.00
G_M949_IG22:
mov rsi, rdx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=16 bbWeight=0 PerfScore 0.00
G_M949_IG23:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=16 bbWeight=0 PerfScore 0.00
G_M949_IG24:
mov rdi, 0xD1FFAB1E
mov esi, 7
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M949_IG11
;; size=25 bbWeight=0 PerfScore 0.00
G_M949_IG25:
cmp r12d, 13
jb G_M949_IG14
- mov edi, ecx
+ mov edi, eax
call System.String:FastAllocateString(int):System.String
mov r12, rax
mov edx, dword ptr [rbp-0x2C]
cmp byte ptr [r12], r12b
lea rdi, bword ptr [r12+0x0C]
lea rsi, bword ptr [r15+0x26]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r15, r12
jmp G_M949_IG10
;; size=59 bbWeight=2 PerfScore 27.00
G_M949_IG26:
- cmp r12d, 16
- jl G_M949_IG31
- vmovups ymm0, ymmword ptr [r15+0x0C]
- vpor ymm0, ymm0, ymmword ptr [reloc @RWD64]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD96]
- vptest ymm0, ymm0
- sete dil
- movzx rdi, dil
- test edi, edi
+ mov rdi, r15
+ mov rsi, 0xD1FFAB1E ; 'SQLAZURECONNSTR_'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
+ call [rax]System.String:StartsWith(System.String,int):ubyte:this
+ test eax, eax
je G_M949_IG31
+ mov r12d, dword ptr [r15+0x08]
lea eax, [r12-0x10]
mov dword ptr [rbp-0x30], eax
test eax, eax
jne SHORT G_M949_IG27
mov r15, 0xD1FFAB1E ; ''
jmp SHORT G_M949_IG28
- ;; size=77 bbWeight=2 PerfScore 45.50
+ ;; size=66 bbWeight=2 PerfScore 24.50
G_M949_IG27:
cmp r12d, 16
jb G_M949_IG19
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov r12, rax
mov edx, dword ptr [rbp-0x30]
cmp byte ptr [r12], r12b
lea rdi, bword ptr [r12+0x0C]
lea rsi, bword ptr [r15+0x2C]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r15, r12
;; size=54 bbWeight=2 PerfScore 23.00
G_M949_IG28:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
je G_M949_IG18
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG29:
mov rdx, 0xD1FFAB1E ; data for Microsoft.Extensions.Configuration.ConfigurationPath:KeyDelimiter
mov rdx, gword ptr [rdx]
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '__'
mov rax, 0xD1FFAB1E ; code for System.String:Replace(System.String,System.String):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Replace(System.String,System.String):System.String:this
mov r15, rax
mov rsi, r15
mov r12, 0xD1FFAB1E ; 'ConnectionStrings:'
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String):System.String
mov gword ptr [rbp-0x50], rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, rax
mov edx, 5
mov rcx, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rcx]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je SHORT G_M949_IG30
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, gword ptr [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, r13
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
;; size=154 bbWeight=2 PerfScore 73.50
G_M949_IG30:
mov rsi, r15
mov rdi, r12
mov rdx, 0xD1FFAB1E ; '_ProviderName'
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String,System.String):System.String
mov r13, rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, r13
mov edx, 5
mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je G_M949_IG13
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, 0xD1FFAB1E ; 'System.Data.SqlClient'
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
jmp G_M949_IG13
;; size=125 bbWeight=2 PerfScore 56.00
G_M949_IG31:
- cmp r12d, 11
- jl G_M949_IG36
- vmovups xmm0, xmmword ptr [r15+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD128]
- vmovups xmm1, xmmword ptr [r15+0x12]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
+ mov rdi, r15
+ mov rsi, 0xD1FFAB1E ; 'SQLCONNSTR_'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
+ call [rax]System.String:StartsWith(System.String,int):ubyte:this
+ test eax, eax
je G_M949_IG36
+ mov r12d, dword ptr [r15+0x08]
lea eax, [r12-0x0B]
mov dword ptr [rbp-0x34], eax
test eax, eax
jne SHORT G_M949_IG32
mov r15, 0xD1FFAB1E ; ''
jmp SHORT G_M949_IG33
- ;; size=103 bbWeight=2 PerfScore 56.17
+ ;; size=66 bbWeight=2 PerfScore 24.50
G_M949_IG32:
cmp r12d, 11
jb G_M949_IG20
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov r12, rax
mov edx, dword ptr [rbp-0x34]
cmp byte ptr [r12], r12b
lea rdi, bword ptr [r12+0x0C]
lea rsi, bword ptr [r15+0x22]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r15, r12
;; size=54 bbWeight=2 PerfScore 23.00
G_M949_IG33:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
je G_M949_IG17
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG34:
mov rdx, 0xD1FFAB1E ; data for Microsoft.Extensions.Configuration.ConfigurationPath:KeyDelimiter
mov rdx, gword ptr [rdx]
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '__'
mov rax, 0xD1FFAB1E ; code for System.String:Replace(System.String,System.String):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Replace(System.String,System.String):System.String:this
mov r15, rax
mov rsi, r15
mov r12, 0xD1FFAB1E ; 'ConnectionStrings:'
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String):System.String
mov gword ptr [rbp-0x58], rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, rax
mov edx, 5
mov rcx, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rcx]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je SHORT G_M949_IG35
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, gword ptr [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, r13
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
;; size=154 bbWeight=2 PerfScore 73.50
G_M949_IG35:
mov rsi, r15
mov rdi, r12
mov rdx, 0xD1FFAB1E ; '_ProviderName'
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String,System.String):System.String
mov r13, rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, r13
mov edx, 5
mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je G_M949_IG13
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, 0xD1FFAB1E ; 'System.Data.SqlClient'
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
jmp G_M949_IG13
;; size=125 bbWeight=2 PerfScore 56.00
G_M949_IG36:
- cmp r12d, 14
- jl G_M949_IG40
- vmovups xmm0, xmmword ptr [r15+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD144]
- vmovups xmm1, xmmword ptr [r15+0x18]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
+ mov rdi, r15
+ mov rsi, 0xD1FFAB1E ; 'CUSTOMCONNSTR_'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
+ call [rax]System.String:StartsWith(System.String,int):ubyte:this
+ test eax, eax
je G_M949_IG40
+ mov r12d, dword ptr [r15+0x08]
lea eax, [r12-0x0E]
mov dword ptr [rbp-0x38], eax
test eax, eax
jne SHORT G_M949_IG37
mov r15, 0xD1FFAB1E ; ''
jmp SHORT G_M949_IG38
- ;; size=103 bbWeight=2 PerfScore 56.17
+ ;; size=66 bbWeight=2 PerfScore 24.50
G_M949_IG37:
cmp r12d, 14
jb G_M949_IG21
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov r12, rax
mov edx, dword ptr [rbp-0x38]
cmp byte ptr [r12], r12b
lea rdi, bword ptr [r12+0x0C]
lea rsi, bword ptr [r15+0x28]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r15, r12
;; size=54 bbWeight=2 PerfScore 23.00
G_M949_IG38:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
je G_M949_IG16
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG39:
mov rdx, 0xD1FFAB1E ; data for Microsoft.Extensions.Configuration.ConfigurationPath:KeyDelimiter
mov rdx, gword ptr [rdx]
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '__'
mov rax, 0xD1FFAB1E ; code for System.String:Replace(System.String,System.String):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Replace(System.String,System.String):System.String:this
mov rsi, rax
mov r12, 0xD1FFAB1E ; 'ConnectionStrings:'
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String):System.String
mov r15, rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, r15
mov edx, 5
mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je G_M949_IG13
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, r13
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
jmp G_M949_IG13
;; size=158 bbWeight=2 PerfScore 74.00
G_M949_IG40:
mov rdx, 0xD1FFAB1E ; global ptr
test byte ptr [rdx], 1
je G_M949_IG15
;; size=19 bbWeight=2 PerfScore 8.50
G_M949_IG41:
mov rdx, 0xD1FFAB1E ; data for Microsoft.Extensions.Configuration.ConfigurationPath:KeyDelimiter
mov rdx, gword ptr [rdx]
mov rdi, r15
mov rsi, 0xD1FFAB1E ; '__'
mov rax, 0xD1FFAB1E ; code for System.String:Replace(System.String,System.String):System.String:this
call [rax]System.String:Replace(System.String,System.String):System.String:this
mov r15, rax
mov rsi, gword ptr [rbx+0x20]
mov rdi, r15
mov edx, 5
mov rax, 0xD1FFAB1E ; code for System.String:StartsWith(System.String,int):ubyte:this
cmp dword ptr [rdi], edi
call [rax]System.String:StartsWith(System.String,int):ubyte:this
test eax, eax
je G_M949_IG13
mov rsi, gword ptr [rbx+0x20]
mov esi, dword ptr [rsi+0x08]
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rsi, rax
mov rdi, r14
mov rdx, r13
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
jmp G_M949_IG13
;; size=128 bbWeight=2 PerfScore 60.00
G_M949_IG42:
mov rsi, gword ptr [rbp-0x40]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M949_IG44
;; size=31 bbWeight=1 PerfScore 5.75
G_M949_IG43:
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=16 bbWeight=0.50 PerfScore 1.75
G_M949_IG44:
lea rdi, bword ptr [rbx+0x10]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
nop
;; size=13 bbWeight=1 PerfScore 2.00
G_M949_IG45:
- vzeroupper
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
+ ;; size=15 bbWeight=1 PerfScore 4.25
G_M949_IG46:
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+0x60]
;; size=22 bbWeight=0 PerfScore 0.00
G_M949_IG47:
mov rsi, gword ptr [rbp-0x40]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M949_IG48
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=47 bbWeight=0 PerfScore 0.00
G_M949_IG48:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M949_IG49:
- vzeroupper
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0 PerfScore 0.00
-RWD00 dq 0020002000200020h, 0020002000200020h
-RWD16 dq 007100730079006Dh, 006E006F0063006Ch
-RWD32 dq 0020002000200020h, 0000002000200020h
-RWD48 dq 006E006E006F0063h, 005F007200740073h
-RWD64 dq 0020002000200020h, 0020002000200020h, 0020002000200020h, 0000002000200020h
-RWD96 dq 0061006C00710073h, 006500720075007Ah, 006E006E006F0063h, 005F007200740073h
-RWD128 dq 0063006C00710073h, 0073006E006E006Fh
-RWD144 dq 0074007300750063h, 006F0063006D006Fh
-
+ ;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2477, prolog size 29, PerfScore 1010.25, instruction count 536, allocated bytes for code 2477 (MethodHash=d533fc4a) for method Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider:Load(System.Collections.IDictionary):this (FullOpts)
+; Total bytes of code 2347, prolog size 29, PerfScore 905.25, instruction count 514, allocated bytes for code 2347 (MethodHash=d533fc4a) for method Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider:Load(System.Collections.IDictionary):this (FullOpts)
-124 (-6.39 % of base) - System.Net.HttpListenerRequest:FinishInitialization():this
; Assembly listing for method System.Net.HttpListenerRequest:FinishInitialization():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; 48 single block inlinees; 34 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 30, 17 ) ref -> rbx this class-hnd single-def <System.Net.HttpListenerRequest>
+; V00 this [V00,T00] ( 31, 17.50) ref -> rbx this class-hnd single-def <System.Net.HttpListenerRequest>
;* V01 loc0 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
-; V02 loc1 [V02,T28] ( 4, 2 ) ref -> r13 class-hnd <System.String>
+; V02 loc1 [V02,T23] ( 4, 2 ) ref -> r13 class-hnd <System.String>
; V03 loc2 [V03,T15] ( 6, 3 ) ref -> r12 ld-addr-op class-hnd <System.Uri>
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
-; V05 loc4 [V05,T64] ( 3, 1.50) ref -> r15 class-hnd exact single-def <System.String>
+; V05 loc4 [V05,T60] ( 3, 1.50) ref -> r15 class-hnd exact single-def <System.String>
; V06 loc5 [V06 ] ( 37, 18.50) struct (40) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-; V07 loc6 [V07,T26] ( 6, 2.25) ref -> rax class-hnd exact single-def <System.String>
+; V07 loc6 [V07,T24] ( 4, 2 ) ref -> r15 class-hnd exact single-def <System.String>
;* V08 loc7 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Net.HttpResponseStream>
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V10 tmp1 [V10,T32] ( 2, 2 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.String>
-; V11 tmp2 [V11,T33] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.String>
-; V12 tmp3 [V12,T34] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
-; V13 tmp4 [V13,T35] ( 2, 2 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.String>
-; V14 tmp5 [V14,T16] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V15 tmp6 [V15,T27] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V16 tmp7 [V16,T24] ( 4, 2.75) ref -> rsi single-def "spilling varStr"
-;* V17 tmp8 [V17,T74] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V18 tmp9 [V18,T17] ( 5, 3 ) ref -> rdi single-def "spilling varStr"
-;* V19 tmp10 [V19,T75] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V20 tmp11 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
-;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref
-; V22 tmp13 [V22,T69] ( 3, 1.50) int -> rdi
-;* V23 tmp14 [V23 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V24 tmp15 [V24,T63] ( 3, 1.75) int -> rdi "spilling unroll qmark"
-; V25 tmp16 [V25,T36] ( 2, 2 ) ref -> rbx class-hnd exact single-def "non-inline candidate call" <System.Net.HttpListenerContext>
-;* V26 tmp17 [V26 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V27 tmp18 [V27,T04] ( 4, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-;* V28 tmp19 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V29 tmp20 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V30 tmp21 [V30,T37] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
-; V31 tmp22 [V31,T53] ( 2, 2 ) int -> r14 "Inlining Arg"
-; V32 tmp23 [V32,T06] ( 3, 5 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Version>
-; V33 tmp24 [V33,T14] ( 3, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V34 tmp25 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V10 tmp1 [V10,T28] ( 2, 2 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.String>
+; V11 tmp2 [V11,T29] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.String>
+; V12 tmp3 [V12,T30] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
+; V13 tmp4 [V13,T31] ( 2, 2 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.String>
+;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref
+;* V15 tmp6 [V15 ] ( 0, 0 ) ref -> zero-ref single-def
+; V16 tmp7 [V16,T64] ( 3, 1.50) int -> rax
+; V17 tmp8 [V17,T32] ( 2, 2 ) ref -> rbx class-hnd exact single-def "non-inline candidate call" <System.Net.HttpListenerContext>
+;* V18 tmp9 [V18 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V19 tmp10 [V19,T04] ( 4, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+;* V20 tmp11 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V21 tmp12 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V22 tmp13 [V22,T33] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
+; V23 tmp14 [V23,T50] ( 2, 2 ) int -> r14 "Inlining Arg"
+; V24 tmp15 [V24,T06] ( 3, 5 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Version>
+; V25 tmp16 [V25,T14] ( 3, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V26 tmp17 [V26 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V27 tmp18 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+; V28 tmp19 [V28,T16] ( 3, 3 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
+; V29 tmp20 [V29,T65] ( 3, 1.50) ubyte -> rdi "Inline return value spill temp"
+; V30 tmp21 [V30,T17] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
+; V31 tmp22 [V31 ] ( 4, 2 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.UriFormatException>
+; V32 tmp23 [V32 ] ( 2, 1 ) struct ( 8) [rbp-0x60] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.UriCreationOptions>
+; V33 tmp24 [V33,T75] ( 2, 1 ) ubyte -> rdi "Inline return value spill temp"
+;* V34 tmp25 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
;* V35 tmp26 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-; V36 tmp27 [V36,T18] ( 3, 3 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
-; V37 tmp28 [V37,T70] ( 3, 1.50) ubyte -> rdi "Inline return value spill temp"
-; V38 tmp29 [V38,T19] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
-; V39 tmp30 [V39 ] ( 4, 2 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.UriFormatException>
-; V40 tmp31 [V40 ] ( 2, 1 ) struct ( 8) [rbp-0x60] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.UriCreationOptions>
-; V41 tmp32 [V41,T82] ( 2, 1 ) ubyte -> rdi "Inline return value spill temp"
-;* V42 tmp33 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
-;* V43 tmp34 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V36 tmp27 [V36 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V37 tmp28 [V37,T08] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+;* V38 tmp29 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp30 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V40 tmp31 [V40,T34] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
+; V41 tmp32 [V41,T51] ( 2, 2 ) int -> r14 "Inlining Arg"
+;* V42 tmp33 [V42,T76] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V43 tmp34 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
;* V44 tmp35 [V44 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V45 tmp36 [V45,T08] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V45 tmp36 [V45,T09] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
;* V46 tmp37 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V47 tmp38 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V48 tmp39 [V48,T38] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
-; V49 tmp40 [V49,T54] ( 2, 2 ) int -> r14 "Inlining Arg"
-;* V50 tmp41 [V50,T83] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V51 tmp42 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
-;* V52 tmp43 [V52 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V53 tmp44 [V53,T09] ( 4, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-;* V54 tmp45 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V55 tmp46 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V56 tmp47 [V56,T39] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
-; V57 tmp48 [V57,T55] ( 2, 2 ) int -> r14 "Inlining Arg"
-;* V58 tmp49 [V58 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp50 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V60 tmp51 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V61 tmp52 [V61 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V62 tmp53 [V62 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V63 tmp54 [V63,T29] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V64 tmp55 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V65 tmp56 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V66 tmp57 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V67 tmp58 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
-; V68 tmp59 [V68,T05] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
-;* V69 tmp60 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
-;* V70 tmp61 [V70 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp62 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V72 tmp63 [V72,T01] ( 7, 7 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.String>
-;* V73 tmp64 [V73 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V74 tmp65 [V74,T10] ( 4, 4 ) int -> rdx "Inlining Arg"
-;* V75 tmp66 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V76 tmp67 [V76,T40] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V77 tmp68 [V77,T56] ( 2, 2 ) int -> rsi "Inlining Arg"
-;* V78 tmp69 [V78,T84] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V79 tmp70 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V80 tmp71 [V80 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V81 tmp72 [V81,T41] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V82 tmp73 [V82,T57] ( 2, 2 ) long -> rdx "Inlining Arg"
-;* V83 tmp74 [V83 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V84 tmp75 [V84 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V85 tmp76 [V85,T11] ( 4, 4 ) int -> rdi "Inlining Arg"
-;* V86 tmp77 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V87 tmp78 [V87,T42] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V88 tmp79 [V88,T58] ( 2, 2 ) int -> rax "Inlining Arg"
-;* V89 tmp80 [V89,T85] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V90 tmp81 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V91 tmp82 [V91 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V92 tmp83 [V92,T43] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-;* V93 tmp84 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V94 tmp85 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V95 tmp86 [V95,T12] ( 4, 4 ) int -> rdx "Inlining Arg"
-;* V96 tmp87 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V97 tmp88 [V97,T44] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V98 tmp89 [V98,T59] ( 2, 2 ) int -> rsi "Inlining Arg"
-;* V99 tmp90 [V99,T86] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V100 tmp91 [V100 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V101 tmp92 [V101 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V102 tmp93 [V102 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V103 tmp94 [V103,T60] ( 2, 2 ) long -> rdx "Inlining Arg"
-;* V104 tmp95 [V104 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V105 tmp96 [V105 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V106 tmp97 [V106,T13] ( 4, 4 ) int -> rdi "Inlining Arg"
-;* V107 tmp98 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V108 tmp99 [V108,T45] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V109 tmp100 [V109,T61] ( 2, 2 ) int -> rax "Inlining Arg"
-;* V110 tmp101 [V110,T87] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V111 tmp102 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V112 tmp103 [V112 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V113 tmp104 [V113,T46] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-;* V114 tmp105 [V114 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V115 tmp106 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.IPEndPoint>
-; V116 tmp107 [V116,T47] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
-; V117 tmp108 [V117,T76] ( 2, 1 ) ref -> rax class-hnd single-def "Inline return value spill temp" <System.Uri>
-; V118 tmp109 [V118,T48] ( 2, 2 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V119 tmp110 [V119,T02] ( 7, 7 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.HttpListenerRequestUriBuilder>
-;* V120 tmp111 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Net.HttpListenerRequestUriBuilder>
-;* V121 tmp112 [V121 ] ( 0, 0 ) ref -> zero-ref single-def
-; V122 tmp113 [V122,T25] ( 5, 2.50) ref -> rsi
-; V123 tmp114 [V123,T20] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Version>
-; V124 tmp115 [V124,T49] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V125 tmp116 [V125,T93] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V126 tmp117 [V126 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
-;* V127 tmp118 [V127 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V128 tmp119 [V128 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-;* V129 tmp120 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
-;* V130 tmp121 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-; V131 tmp122 [V131,T07] ( 8, 4.50) byref -> r15 "field V01._reference (fldOffset=0x0)" P-INDEP
-; V132 tmp123 [V132,T03] ( 12, 6.50) int -> r14 "field V01._length (fldOffset=0x8)" P-INDEP
-; V133 tmp124 [V133,T30] ( 3, 2 ) byref -> r15 "field V26._reference (fldOffset=0x0)" P-INDEP
-; V134 tmp125 [V134,T31] ( 3, 2 ) int -> r14 "field V26._length (fldOffset=0x8)" P-INDEP
-; V135 tmp126 [V135,T77] ( 2, 1 ) byref -> r15 single-def "field V28._reference (fldOffset=0x0)" P-INDEP
-; V136 tmp127 [V136,T88] ( 2, 1 ) int -> r14 "field V28._length (fldOffset=0x8)" P-INDEP
-;* V137 tmp128 [V137 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V138 tmp129 [V138 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
-; V139 tmp130 [V139 ] ( 2, 1 ) ubyte -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V40._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP
-; V140 tmp131 [V140,T65] ( 3, 1.50) byref -> r15 "field V44._reference (fldOffset=0x0)" P-INDEP
-; V141 tmp132 [V141,T71] ( 3, 1.50) int -> r14 "field V44._length (fldOffset=0x8)" P-INDEP
-; V142 tmp133 [V142,T78] ( 2, 1 ) byref -> r15 single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-; V143 tmp134 [V143,T89] ( 2, 1 ) int -> r14 "field V46._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp135 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V145 tmp136 [V145 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
-; V146 tmp137 [V146,T66] ( 3, 1.50) byref -> r15 "field V52._reference (fldOffset=0x0)" P-INDEP
-; V147 tmp138 [V147,T72] ( 3, 1.50) int -> r14 "field V52._length (fldOffset=0x8)" P-INDEP
-; V148 tmp139 [V148,T79] ( 2, 1 ) byref -> r15 single-def "field V54._reference (fldOffset=0x0)" P-INDEP
-; V149 tmp140 [V149,T90] ( 2, 1 ) int -> r14 "field V54._length (fldOffset=0x8)" P-INDEP
-;* V150 tmp141 [V150 ] ( 0, 0 ) byref -> zero-ref single-def "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V151 tmp142 [V151 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
-;* V152 tmp143 [V152 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V153 tmp144 [V153 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
-;* V154 tmp145 [V154 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP
-;* V155 tmp146 [V155 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP
-;* V156 tmp147 [V156 ] ( 0, 0 ) byref -> zero-ref "field V64._reference (fldOffset=0x0)" P-INDEP
-;* V157 tmp148 [V157 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
-; V158 tmp149 [V158,T80] ( 2, 1 ) byref -> r15 single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-; V159 tmp150 [V159,T91] ( 2, 1 ) int -> r14 "field V65._length (fldOffset=0x8)" P-INDEP
-; V160 tmp151 [V160,T67] ( 3, 1.50) byref -> rdi "field V71._reference (fldOffset=0x0)" P-INDEP
-; V161 tmp152 [V161,T73] ( 3, 1.50) int -> rcx "field V71._length (fldOffset=0x8)" P-INDEP
-;* V162 tmp153 [V162 ] ( 0, 0 ) byref -> zero-ref "field V73._reference (fldOffset=0x0)" P-INDEP
-;* V163 tmp154 [V163 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
-;* V164 tmp155 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "field V75._reference (fldOffset=0x0)" P-INDEP
-;* V165 tmp156 [V165 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
-;* V166 tmp157 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp158 [V167 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
-;* V168 tmp159 [V168 ] ( 0, 0 ) byref -> zero-ref "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V169 tmp160 [V169 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
-;* V170 tmp161 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
-;* V171 tmp162 [V171 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-;* V172 tmp163 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V90._reference (fldOffset=0x0)" P-INDEP
-;* V173 tmp164 [V173 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
-;* V174 tmp165 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V93._reference (fldOffset=0x0)" P-INDEP
-;* V175 tmp166 [V175 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
-;* V176 tmp167 [V176 ] ( 0, 0 ) byref -> zero-ref "field V94._reference (fldOffset=0x0)" P-INDEP
-;* V177 tmp168 [V177 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp169 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp170 [V179 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp171 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V100._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp172 [V181 ] ( 0, 0 ) int -> zero-ref "field V100._length (fldOffset=0x8)" P-INDEP
-;* V182 tmp173 [V182 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
-;* V183 tmp174 [V183 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
-;* V184 tmp175 [V184 ] ( 0, 0 ) byref -> zero-ref single-def "field V107._reference (fldOffset=0x0)" P-INDEP
-;* V185 tmp176 [V185 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
-;* V186 tmp177 [V186 ] ( 0, 0 ) byref -> zero-ref single-def "field V111._reference (fldOffset=0x0)" P-INDEP
-;* V187 tmp178 [V187 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP
-; V188 tmp179 [V188,T50] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V189 tmp180 [V189,T21] ( 3, 3 ) ref -> rax single-def "argument with side effect"
-; V190 tmp181 [V190,T62] ( 2, 2 ) int -> rsi "argument with side effect"
-; V191 tmp182 [V191,T51] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V192 tmp183 [V192,T22] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V193 tmp184 [V193,T23] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V194 tmp185 [V194,T52] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-;* V195 cse0 [V195,T92] ( 0, 0 ) long -> zero-ref "CSE #08: conservative"
-; V196 cse1 [V196,T81] ( 2, 1 ) ref -> rsi "CSE #11: conservative"
-; V197 cse2 [V197,T68] ( 3, 1.50) ref -> rdi "CSE #09: conservative"
-; V198 rat0 [V198,T94] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V48 tmp39 [V48,T35] ( 2, 2 ) byref -> r15 single-def "Inlining Arg"
+; V49 tmp40 [V49,T52] ( 2, 2 ) int -> r14 "Inlining Arg"
+;* V50 tmp41 [V50 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V51 tmp42 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V52 tmp43 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V53 tmp44 [V53 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V54 tmp45 [V54 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V55 tmp46 [V55,T25] ( 4, 2 ) int -> rax "Inline return value spill temp"
+;* V56 tmp47 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V57 tmp48 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V58 tmp49 [V58 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V59 tmp50 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
+; V60 tmp51 [V60,T05] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
+;* V61 tmp52 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
+;* V62 tmp53 [V62 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V63 tmp54 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V64 tmp55 [V64,T01] ( 7, 7 ) ref -> r12 class-hnd exact single-def "Inlining Arg" <System.String>
+;* V65 tmp56 [V65 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V66 tmp57 [V66,T10] ( 4, 4 ) int -> rdx "Inlining Arg"
+;* V67 tmp58 [V67 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V68 tmp59 [V68,T36] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V69 tmp60 [V69,T53] ( 2, 2 ) int -> rsi "Inlining Arg"
+;* V70 tmp61 [V70,T77] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V71 tmp62 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V72 tmp63 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V73 tmp64 [V73,T37] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V74 tmp65 [V74,T54] ( 2, 2 ) long -> rdx "Inlining Arg"
+;* V75 tmp66 [V75 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V76 tmp67 [V76 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V77 tmp68 [V77,T11] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V78 tmp69 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V79 tmp70 [V79,T38] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V80 tmp71 [V80,T55] ( 2, 2 ) int -> rax "Inlining Arg"
+;* V81 tmp72 [V81,T78] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V82 tmp73 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V83 tmp74 [V83 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V84 tmp75 [V84,T39] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+;* V85 tmp76 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V86 tmp77 [V86 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V87 tmp78 [V87,T12] ( 4, 4 ) int -> rdx "Inlining Arg"
+;* V88 tmp79 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V89 tmp80 [V89,T40] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V90 tmp81 [V90,T56] ( 2, 2 ) int -> rsi "Inlining Arg"
+;* V91 tmp82 [V91,T79] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V92 tmp83 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V93 tmp84 [V93 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V94 tmp85 [V94 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V95 tmp86 [V95,T57] ( 2, 2 ) long -> rdx "Inlining Arg"
+;* V96 tmp87 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V97 tmp88 [V97 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V98 tmp89 [V98,T13] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V99 tmp90 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V100 tmp91 [V100,T41] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V101 tmp92 [V101,T58] ( 2, 2 ) int -> rax "Inlining Arg"
+;* V102 tmp93 [V102,T80] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V103 tmp94 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V104 tmp95 [V104 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V105 tmp96 [V105,T42] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+;* V106 tmp97 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V107 tmp98 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.IPEndPoint>
+; V108 tmp99 [V108,T43] ( 2, 2 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
+; V109 tmp100 [V109,T69] ( 2, 1 ) ref -> rax class-hnd single-def "Inline return value spill temp" <System.Uri>
+; V110 tmp101 [V110,T44] ( 2, 2 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V111 tmp102 [V111,T02] ( 7, 7 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Net.HttpListenerRequestUriBuilder>
+;* V112 tmp103 [V112 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Net.HttpListenerRequestUriBuilder>
+;* V113 tmp104 [V113 ] ( 0, 0 ) ref -> zero-ref single-def
+; V114 tmp105 [V114,T22] ( 5, 2.50) ref -> rsi
+; V115 tmp106 [V115,T18] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Version>
+; V116 tmp107 [V116,T45] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V117 tmp108 [V117,T86] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V118 tmp109 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
+;* V119 tmp110 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V120 tmp111 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+;* V121 tmp112 [V121 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
+;* V122 tmp113 [V122 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
+; V123 tmp114 [V123,T07] ( 8, 4.50) byref -> r15 "field V01._reference (fldOffset=0x0)" P-INDEP
+; V124 tmp115 [V124,T03] ( 12, 6.50) int -> r14 "field V01._length (fldOffset=0x8)" P-INDEP
+; V125 tmp116 [V125,T26] ( 3, 2 ) byref -> r15 "field V18._reference (fldOffset=0x0)" P-INDEP
+; V126 tmp117 [V126,T27] ( 3, 2 ) int -> r14 "field V18._length (fldOffset=0x8)" P-INDEP
+; V127 tmp118 [V127,T70] ( 2, 1 ) byref -> r15 single-def "field V20._reference (fldOffset=0x0)" P-INDEP
+; V128 tmp119 [V128,T81] ( 2, 1 ) int -> r14 "field V20._length (fldOffset=0x8)" P-INDEP
+;* V129 tmp120 [V129 ] ( 0, 0 ) byref -> zero-ref single-def "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V130 tmp121 [V130 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
+; V131 tmp122 [V131 ] ( 2, 1 ) ubyte -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V32._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP
+; V132 tmp123 [V132,T61] ( 3, 1.50) byref -> r15 "field V36._reference (fldOffset=0x0)" P-INDEP
+; V133 tmp124 [V133,T66] ( 3, 1.50) int -> r14 "field V36._length (fldOffset=0x8)" P-INDEP
+; V134 tmp125 [V134,T71] ( 2, 1 ) byref -> r15 single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+; V135 tmp126 [V135,T82] ( 2, 1 ) int -> r14 "field V38._length (fldOffset=0x8)" P-INDEP
+;* V136 tmp127 [V136 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V137 tmp128 [V137 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+; V138 tmp129 [V138,T62] ( 3, 1.50) byref -> r15 "field V44._reference (fldOffset=0x0)" P-INDEP
+; V139 tmp130 [V139,T67] ( 3, 1.50) int -> r14 "field V44._length (fldOffset=0x8)" P-INDEP
+; V140 tmp131 [V140,T72] ( 2, 1 ) byref -> r15 single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+; V141 tmp132 [V141,T83] ( 2, 1 ) int -> r14 "field V46._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp133 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp134 [V143 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp135 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp136 [V145 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp137 [V146 ] ( 0, 0 ) byref -> zero-ref single-def "field V52._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp138 [V147 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp139 [V148 ] ( 0, 0 ) byref -> zero-ref "field V56._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp140 [V149 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
+; V150 tmp141 [V150,T73] ( 2, 1 ) byref -> r15 single-def "field V57._reference (fldOffset=0x0)" P-INDEP
+; V151 tmp142 [V151,T84] ( 2, 1 ) int -> r14 "field V57._length (fldOffset=0x8)" P-INDEP
+; V152 tmp143 [V152,T63] ( 3, 1.50) byref -> rdi "field V63._reference (fldOffset=0x0)" P-INDEP
+; V153 tmp144 [V153,T68] ( 3, 1.50) int -> rcx "field V63._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp145 [V154 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp146 [V155 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp147 [V156 ] ( 0, 0 ) byref -> zero-ref single-def "field V67._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp148 [V157 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp149 [V158 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp150 [V159 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp151 [V160 ] ( 0, 0 ) byref -> zero-ref "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp152 [V161 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp153 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp154 [V163 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+;* V164 tmp155 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp156 [V165 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp157 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V85._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp158 [V167 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp159 [V168 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp160 [V169 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp161 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V88._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp162 [V171 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
+;* V172 tmp163 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V92._reference (fldOffset=0x0)" P-INDEP
+;* V173 tmp164 [V173 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP
+;* V174 tmp165 [V174 ] ( 0, 0 ) byref -> zero-ref "field V97._reference (fldOffset=0x0)" P-INDEP
+;* V175 tmp166 [V175 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
+;* V176 tmp167 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V177 tmp168 [V177 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
+;* V178 tmp169 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V103._reference (fldOffset=0x0)" P-INDEP
+;* V179 tmp170 [V179 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
+; V180 tmp171 [V180,T46] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V181 tmp172 [V181,T19] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+; V182 tmp173 [V182,T59] ( 2, 2 ) int -> rsi "argument with side effect"
+; V183 tmp174 [V183,T47] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V184 tmp175 [V184,T20] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V185 tmp176 [V185,T21] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V186 tmp177 [V186,T48] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V187 tmp178 [V187,T49] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+;* V188 cse0 [V188,T85] ( 0, 0 ) long -> zero-ref "CSE #08: moderate"
+; V189 cse1 [V189,T74] ( 2, 1 ) ref -> rsi "CSE #09: conservative"
;
; Lcl frame size = 72
G_M22163_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 72
lea rbp, [rsp+0x70]
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 rbx, rdi
;; size=42 bbWeight=1 PerfScore 11.58
G_M22163_IG02:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequest:get_UserHostName():System.String:this
call [rax]System.Net.HttpListenerRequest:get_UserHostName():System.String:this
test rax, rax
jne SHORT G_M22163_IG04
;; size=20 bbWeight=1 PerfScore 4.75
G_M22163_IG03:
xor r15, r15
xor r14d, r14d
jmp SHORT G_M22163_IG05
;; size=8 bbWeight=0.50 PerfScore 1.25
G_M22163_IG04:
lea r15, bword ptr [rax+0x0C]
mov r14d, dword ptr [rax+0x08]
;; size=8 bbWeight=0.50 PerfScore 1.25
G_M22163_IG05:
mov r13, gword ptr [rbx+0x20]
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M22163_IG51
+ je G_M22163_IG41
;; size=23 bbWeight=1 PerfScore 6.25
G_M22163_IG06:
mov rdi, 0xD1FFAB1E ; data for System.Net.HttpVersion:Version10
mov rdi, gword ptr [rdi]
test rdi, rdi
jne SHORT G_M22163_IG08
;; size=18 bbWeight=1 PerfScore 3.50
G_M22163_IG07:
test r13, r13
je SHORT G_M22163_IG10
jmp SHORT G_M22163_IG09
;; size=7 bbWeight=0.50 PerfScore 1.62
G_M22163_IG08:
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Version:CompareTo(System.Version):int:this
call [rax]System.Version:CompareTo(System.Version):int:this
test eax, eax
jge SHORT G_M22163_IG10
;; size=19 bbWeight=0.50 PerfScore 2.38
G_M22163_IG09:
test r14d, r14d
jne SHORT G_M22163_IG10
mov rdi, gword ptr [rbx+0x48]
mov rsi, 0xD1FFAB1E ; 'Invalid host name'
mov gword ptr [rdi+0x30], rsi
- jmp G_M22163_IG49
+ jmp G_M22163_IG39
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M22163_IG10:
xor r12, r12
mov r13, gword ptr [rbx+0x10]
cmp byte ptr [r13], r13b
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M22163_IG52
+ je G_M22163_IG42
;; size=30 bbWeight=0.50 PerfScore 4.75
G_M22163_IG11:
mov rdi, 0xD1FFAB1E ; data for System.Globalization.TextInfo:Invariant
mov rdi, gword ptr [rdi]
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Globalization.TextInfo:ToLower(System.String):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.TextInfo:ToLower(System.String):System.String:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequest:MaybeUri(System.String):ubyte
call [rax]System.Net.HttpListenerRequest:MaybeUri(System.String):ubyte
test eax, eax
je SHORT G_M22163_IG14
mov rdi, gword ptr [rbx+0x10]
test rdi, rdi
je SHORT G_M22163_IG12
xor r8, r8
mov gword ptr [rbp-0x58], r8
mov byte ptr [rbp-0x60], 0
lea r8, [rbp-0x60]
lea rcx, [rbp-0x58]
xor esi, esi
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Uri:CreateHelper(System.String,ubyte,int,byref,byref):System.Uri
call [rax]System.Uri:CreateHelper(System.String,ubyte,int,byref,byref):System.Uri
mov r12, rax
cmp gword ptr [rbp-0x58], 0
jne SHORT G_M22163_IG12
test r12, r12
setne dil
movzx rdi, dil
jmp SHORT G_M22163_IG13
;; size=119 bbWeight=0.50 PerfScore 15.25
G_M22163_IG12:
xor edi, edi
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M22163_IG13:
xor rax, rax
mov gword ptr [rbp-0x58], rax
test edi, edi
je SHORT G_M22163_IG14
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Uri:get_PathAndQuery():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Uri:get_PathAndQuery():System.String:this
mov r13, rax
jmp SHORT G_M22163_IG15
;; size=32 bbWeight=0.50 PerfScore 5.62
G_M22163_IG14:
mov r13, gword ptr [rbx+0x10]
;; size=4 bbWeight=0.50 PerfScore 1.00
G_M22163_IG15:
test r14d, r14d
jne SHORT G_M22163_IG17
mov rdi, gword ptr [rbx+0x48]
mov rdi, gword ptr [rdi+0x28]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x08]System.Object:ToString():System.String:this
test rax, rax
jne SHORT G_M22163_IG16
xor r15, r15
xor r14d, r14d
jmp SHORT G_M22163_IG17
;; size=53 bbWeight=0.50 PerfScore 11.25
G_M22163_IG16:
lea r15, bword ptr [rax+0x0C]
mov r14d, dword ptr [rax+0x08]
;; size=8 bbWeight=0.50 PerfScore 1.25
G_M22163_IG17:
test r12, r12
je SHORT G_M22163_IG19
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Uri:get_Host():System.String:this
call [rax]System.Uri:get_Host():System.String:this
test rax, rax
jne SHORT G_M22163_IG18
xor r15, r15
xor r14d, r14d
jmp SHORT G_M22163_IG19
;; size=33 bbWeight=0.50 PerfScore 4.25
G_M22163_IG18:
lea r15, bword ptr [rax+0x0C]
mov r14d, dword ptr [rax+0x08]
;; size=8 bbWeight=0.50 PerfScore 1.25
G_M22163_IG19:
mov rdi, r15
mov edx, r14d
mov esi, 58
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
jl SHORT G_M22163_IG20
cmp eax, r14d
- ja G_M22163_IG53
+ ja G_M22163_IG43
mov r14d, eax
;; size=39 bbWeight=0.50 PerfScore 3.38
G_M22163_IG20:
xor rdi, rdi
mov gword ptr [rbp-0x50], rdi
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x48], rax
test rax, rax
jne SHORT G_M22163_IG21
xor rdi, rdi
xor ecx, ecx
jmp SHORT G_M22163_IG22
;; size=51 bbWeight=0.50 PerfScore 5.88
G_M22163_IG21:
lea rdi, bword ptr [rax+0x10]
mov ecx, dword ptr [rax+0x08]
;; size=7 bbWeight=0.50 PerfScore 1.25
G_M22163_IG22:
mov bword ptr [rbp-0x38], rdi
mov dword ptr [rbp-0x30], ecx
xor edi, edi
mov dword ptr [rbp-0x40], edi
mov byte ptr [rbp-0x3C], 0
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequest:get_RequestScheme():System.String:this
call [rax]System.Net.HttpListenerRequest:get_RequestScheme():System.String:this
mov r12, rax
cmp byte ptr [rbp-0x3C], 0
jne SHORT G_M22163_IG23
test r12, r12
je SHORT G_M22163_IG23
mov edx, dword ptr [rbp-0x40]
cmp edx, dword ptr [rbp-0x30]
- ja G_M22163_IG53
+ ja G_M22163_IG43
mov rdi, bword ptr [rbp-0x38]
mov esi, edx
lea rdi, bword ptr [rdi+2*rsi]
mov esi, dword ptr [rbp-0x30]
sub esi, edx
cmp dword ptr [r12+0x08], esi
ja SHORT G_M22163_IG23
lea rsi, bword ptr [r12+0x0C]
mov edx, dword ptr [r12+0x08]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov edi, dword ptr [rbp-0x40]
add edi, dword ptr [r12+0x08]
mov dword ptr [rbp-0x40], edi
jmp SHORT G_M22163_IG24
;; size=117 bbWeight=0.50 PerfScore 18.12
G_M22163_IG23:
lea rdi, [rbp-0x50]
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
;; size=19 bbWeight=0.50 PerfScore 2.00
G_M22163_IG24:
mov edi, dword ptr [rbp-0x40]
cmp edi, dword ptr [rbp-0x30]
- ja G_M22163_IG53
+ ja G_M22163_IG43
mov rsi, bword ptr [rbp-0x38]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
mov eax, dword ptr [rbp-0x30]
sub eax, edi
cmp eax, 3
jb SHORT G_M22163_IG25
mov rdi, 0xD1FFAB1E
mov eax, dword ptr [rdi]
mov ecx, dword ptr [rdi+0x02]
mov dword ptr [rsi], eax
mov dword ptr [rsi+0x02], ecx
mov edi, dword ptr [rbp-0x40]
add edi, 3
mov dword ptr [rbp-0x40], edi
jmp SHORT G_M22163_IG26
;; size=63 bbWeight=0.50 PerfScore 9.38
G_M22163_IG25:
lea rdi, [rbp-0x50]
mov rsi, 0xD1FFAB1E ; '://'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
;; size=26 bbWeight=0.50 PerfScore 2.00
G_M22163_IG26:
mov edx, dword ptr [rbp-0x40]
cmp edx, dword ptr [rbp-0x30]
- ja G_M22163_IG53
+ ja G_M22163_IG43
mov rdi, bword ptr [rbp-0x38]
mov esi, edx
lea rdi, bword ptr [rdi+2*rsi]
mov esi, dword ptr [rbp-0x30]
sub esi, edx
cmp r14d, esi
ja SHORT G_M22163_IG27
mov edx, r14d
add rdx, rdx
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
add r14d, dword ptr [rbp-0x40]
mov dword ptr [rbp-0x40], r14d
jmp SHORT G_M22163_IG28
;; size=63 bbWeight=0.50 PerfScore 8.62
G_M22163_IG27:
mov rsi, r15
mov edx, r14d
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
;; size=22 bbWeight=0.50 PerfScore 2.12
G_M22163_IG28:
mov edi, dword ptr [rbp-0x40]
cmp edi, dword ptr [rbp-0x30]
- ja G_M22163_IG53
+ ja G_M22163_IG43
mov rsi, bword ptr [rbp-0x38]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
mov eax, dword ptr [rbp-0x30]
sub eax, edi
je SHORT G_M22163_IG29
mov rdi, 0xD1FFAB1E
movzx rax, word ptr [rdi]
mov word ptr [rsi], ax
mov edi, dword ptr [rbp-0x40]
inc edi
mov dword ptr [rbp-0x40], edi
jmp SHORT G_M22163_IG30
;; size=55 bbWeight=0.50 PerfScore 7.75
G_M22163_IG29:
lea rdi, [rbp-0x50]
mov rsi, 0xD1FFAB1E ; ':'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
;; size=26 bbWeight=0.50 PerfScore 2.00
G_M22163_IG30:
mov rdi, gword ptr [rbx+0x48]
mov rdi, gword ptr [rdi+0x28]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
mov esi, dword ptr [rax+0x10]
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
mov r15, rax
mov rdi, r15
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String):System.String
mov rdi, rax
lea rdx, bword ptr [rbx+0x18]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Uri:TryCreate(System.String,int,byref):ubyte
call [rax]System.Uri:TryCreate(System.String,int,byref):ubyte
test eax, eax
jne SHORT G_M22163_IG31
mov rbx, gword ptr [rbx+0x48]
mov rdx, r13
mov rsi, r15
mov rdi, 0xD1FFAB1E ; 'Invalid url: '
mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String,System.String):System.String
call [rax]System.String:Concat(System.String,System.String,System.String):System.String
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Net.WebUtility:HtmlEncode(System.String):System.String
call [rax]System.Net.WebUtility:HtmlEncode(System.String):System.String
lea rdi, bword ptr [rbx+0x30]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- jmp G_M22163_IG49
+ jmp G_M22163_IG39
;; size=170 bbWeight=0.50 PerfScore 21.25
G_M22163_IG31:
mov r14, gword ptr [rbx+0x10]
mov rdi, gword ptr [rbx+0x18]
mov rax, 0xD1FFAB1E ; code for System.Uri:get_Scheme():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Uri:get_Scheme():System.String:this
mov r15, rax
mov rdi, gword ptr [rbx+0x18]
mov rax, 0xD1FFAB1E ; code for System.Uri:get_Authority():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Uri:get_Authority():System.String:this
mov r13, rax
mov rdi, gword ptr [rbx+0x18]
mov rax, 0xD1FFAB1E ; code for System.Uri:get_LocalPath():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Uri:get_LocalPath():System.String:this
mov r12, rax
mov rdi, gword ptr [rbx+0x18]
mov rax, 0xD1FFAB1E ; code for System.Uri:get_Query():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Uri:get_Query():System.String:this
mov gword ptr [rbp-0x68], rax
mov rdi, 0xD1FFAB1E ; System.Net.HttpListenerRequestUriBuilder
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x70], rax
lea rdi, bword ptr [rax+0x08]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov r14, gword ptr [rbp-0x70]
lea rdi, bword ptr [r14+0x10]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [r14+0x18]
mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequestUriBuilder:AddSlashToAsteriskOnlyPath(System.String):System.String
call [rax]System.Net.HttpListenerRequestUriBuilder:AddSlashToAsteriskOnlyPath(System.String):System.String
lea rdi, bword ptr [r14+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov r15, gword ptr [rbp-0x68]
mov rsi, r15
mov rdi, 0xD1FFAB1E ; ''
test rsi, rsi
cmove rsi, rdi
lea rdi, bword ptr [r14+0x28]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r14
;; size=211 bbWeight=0.50 PerfScore 27.12
G_M22163_IG32:
mov rax, 0xD1FFAB1E ; code for System.Net.HttpListenerRequestUriBuilder:Build():System.Uri:this
call [rax]System.Net.HttpListenerRequestUriBuilder:Build():System.Uri:this
lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [rbx+0x20]
mov rdi, 0xD1FFAB1E ; data for System.Net.HttpVersion:Version11
mov rdi, gword ptr [rdi]
test rdi, rdi
je SHORT G_M22163_IG33
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_M22163_IG39
- ;; size=66 bbWeight=0.50 PerfScore 7.50
+ jg SHORT G_M22163_IG36
+ ;; size=62 bbWeight=0.50 PerfScore 7.50
G_M22163_IG33:
mov rdi, gword ptr [rbx+0x30]
mov rsi, 0xD1FFAB1E ; 'Transfer-Encoding'
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
- je SHORT G_M22163_IG37
- cmp dword ptr [rax+0x08], 7
- jne SHORT G_M22163_IG35
- ;; size=35 bbWeight=0.50 PerfScore 7.25
+ mov r15, rax
+ test r15, r15
+ je SHORT G_M22163_IG34
+ mov rdi, r15
+ mov rsi, 0xD1FFAB1E ; 'chunked'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ jmp SHORT G_M22163_IG35
+ ;; size=64 bbWeight=0.50 PerfScore 8.38
G_M22163_IG34:
- mov rdi, 0xD1FFAB1E
- or rdi, qword ptr [rax+0x0C]
- mov rsi, 0xD1FFAB1E
- xor rdi, rsi
- mov rsi, 0xD1FFAB1E
- or rsi, qword ptr [rax+0x12]
- mov rdx, 0xD1FFAB1E
- xor rsi, rdx
- or rdi, rsi
- sete dil
- movzx rdi, dil
- jmp SHORT G_M22163_IG36
- ;; size=67 bbWeight=0.12 PerfScore 1.38
-G_M22163_IG35:
- xor edi, edi
- ;; size=2 bbWeight=0.25 PerfScore 0.06
-G_M22163_IG36:
- jmp SHORT G_M22163_IG38
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M22163_IG37:
- xor edi, edi
+ xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M22163_IG38:
- mov byte ptr [rbx+0x5D], dil
- test rax, rax
- je SHORT G_M22163_IG39
+G_M22163_IG35:
+ mov byte ptr [rbx+0x5D], al
+ test r15, r15
+ je SHORT G_M22163_IG36
cmp byte ptr [rbx+0x5D], 0
- jne SHORT G_M22163_IG39
+ jne SHORT G_M22163_IG36
mov rdi, gword ptr [rbx+0x48]
mov rdi, gword ptr [rdi+0x28]
xor rsi, rsi
mov edx, 501
mov rax, 0xD1FFAB1E ; code for System.Net.HttpConnection:SendError(System.String,int):this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpConnection:SendError(System.String,int):this
- jmp G_M22163_IG49
- ;; size=49 bbWeight=0.50 PerfScore 9.50
-G_M22163_IG39:
+ jmp G_M22163_IG39
+ ;; size=48 bbWeight=0.50 PerfScore 9.50
+G_M22163_IG36:
cmp byte ptr [rbx+0x5D], 0
- jne G_M22163_IG46
+ jne SHORT G_M22163_IG38
cmp byte ptr [rbx+0x5C], 0
- jne G_M22163_IG46
+ jne SHORT G_M22163_IG38
mov rdi, gword ptr [rbx+0x38]
- mov rsi, rdi
- test rsi, rsi
- je SHORT G_M22163_IG42
- ;; size=32 bbWeight=0.50 PerfScore 5.75
-G_M22163_IG40:
- cmp dword ptr [rsi+0x08], 4
- jne SHORT G_M22163_IG42
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M22163_IG41:
- mov rdx, 0xD1FFAB1E
- or rdx, qword ptr [rsi+0x0C]
- mov rsi, 0xD1FFAB1E
- cmp rdx, rsi
- je SHORT G_M22163_IG45
- ;; size=29 bbWeight=0.12 PerfScore 0.59
-G_M22163_IG42:
- test rdi, rdi
- je SHORT G_M22163_IG46
- ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M22163_IG43:
- cmp dword ptr [rdi+0x08], 3
- jne SHORT G_M22163_IG46
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M22163_IG44:
- mov esi, dword ptr [rdi+0x0C]
- or esi, 0xD1FFAB1E
- xor esi, 0xD1FFAB1E
- mov edi, dword ptr [rdi+0x0E]
- or edi, 0xD1FFAB1E
- xor edi, 0xD1FFAB1E
- or edi, esi
- jne SHORT G_M22163_IG46
- ;; size=34 bbWeight=0.12 PerfScore 0.78
-G_M22163_IG45:
+ mov rsi, 0xD1FFAB1E ; 'POST'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M22163_IG37
+ mov rdi, gword ptr [rbx+0x38]
+ mov rsi, 0xD1FFAB1E ; 'PUT'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je SHORT G_M22163_IG38
+ ;; size=82 bbWeight=0.50 PerfScore 11.00
+G_M22163_IG37:
mov rdi, gword ptr [rbx+0x48]
mov rdi, gword ptr [rdi+0x28]
xor rsi, rsi
mov edx, 411
mov rax, 0xD1FFAB1E ; code for System.Net.HttpConnection:SendError(System.String,int):this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpConnection:SendError(System.String,int):this
- jmp G_M22163_IG49
- ;; size=34 bbWeight=0.50 PerfScore 6.38
-G_M22163_IG46:
+ jmp SHORT G_M22163_IG39
+ ;; size=31 bbWeight=0.50 PerfScore 6.38
+G_M22163_IG38:
mov rdi, gword ptr [rbx+0x30]
mov rsi, 0xD1FFAB1E ; 'Expect'
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
- je G_M22163_IG49
- ;; size=33 bbWeight=0.50 PerfScore 5.25
-G_M22163_IG47:
- cmp dword ptr [rax+0x08], 12
- jne SHORT G_M22163_IG49
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M22163_IG48:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD16]
- vmovups xmm1, xmmword ptr [rax+0x14]
- vpor xmm1, xmm1, xmmword ptr [reloc @RWD32]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- je SHORT G_M22163_IG49
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; '100-continue'
+ mov edx, 5
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je SHORT G_M22163_IG39
mov rdi, gword ptr [rbx+0x48]
mov rdi, gword ptr [rdi+0x28]
mov rax, 0xD1FFAB1E ; code for System.Net.HttpConnection:GetResponseStream():System.Net.HttpResponseStream:this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpConnection:GetResponseStream():System.Net.HttpResponseStream:this
mov rdi, rax
mov rcx, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rcx]
mov ecx, 25
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Net.HttpResponseStream:InternalWrite(ubyte[],int,int):this
cmp dword ptr [rdi], edi
call [rax]System.Net.HttpResponseStream:InternalWrite(ubyte[],int,int):this
- ;; size=122 bbWeight=0.50 PerfScore 20.67
-G_M22163_IG49:
+ ;; size=117 bbWeight=0.50 PerfScore 17.00
+G_M22163_IG39:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M22163_IG50:
+G_M22163_IG40:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M22163_IG51:
+G_M22163_IG41:
mov rdi, 0xD1FFAB1E
mov esi, 41
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M22163_IG06
;; size=25 bbWeight=0 PerfScore 0.00
-G_M22163_IG52:
+G_M22163_IG42:
mov rdi, 0xD1FFAB1E
mov esi, 659
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M22163_IG11
;; size=25 bbWeight=0 PerfScore 0.00
-G_M22163_IG53:
+G_M22163_IG43:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-RWD00 dq 0000000000000000h, 0020002000200020h
-RWD16 dq 002D003000300031h, 0074006E006F0063h
-RWD32 dq 0020002000200020h, 0020002000200020h
-RWD48 dq 0074006E006F0063h, 00650075006E0069h
-
-; Total bytes of code 1940, prolog size 39, PerfScore 265.81, instruction count 476, allocated bytes for code 1940 (MethodHash=d789a96c) for method System.Net.HttpListenerRequest:FinishInitialization():this (FullOpts)
+; Total bytes of code 1816, prolog size 39, PerfScore 255.83, instruction count 449, allocated bytes for code 1816 (MethodHash=d789a96c) for method System.Net.HttpListenerRequest:FinishInitialization():this (FullOpts)
-123 (-14.17 % of base) - System.Xml.DtdParser+d__200:MoveNext():this
; Assembly listing for method System.Xml.DtdParser+<EatPublicKeywordAsync>d__200:MoveNext():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; 15 single block inlinees; 13 inlinees without PGO data
+; 0 inlinees with PGO data; 22 single block inlinees; 11 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 16, 29 ) byref -> [rbp-0x40] this EH-live single-def
-; V01 loc0 [V01,T33] ( 2, 2 ) int -> rsi
-; V02 loc1 [V02,T01] ( 8, 25 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
-; V03 loc2 [V03,T15] ( 5, 5 ) ubyte -> r15
+; V00 this [V00,T05] ( 15, 28 ) byref -> [rbp-0x38] this EH-live single-def
+; V01 loc0 [V01,T32] ( 2, 2 ) int -> rsi
+; V02 loc1 [V02,T00] ( 8, 25 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
+; V03 loc2 [V03,T14] ( 5, 5 ) ubyte -> r15
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
; V05 loc4 [V05 ] ( 10, 37 ) struct (16) [rbp-0x30] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V06 loc5 [V06 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
; V08 OutArgs [V08 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ushort]>
-;* V11 tmp3 [V11,T37] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V12 tmp4 [V12,T39] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-; V13 tmp5 [V13,T02] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V12 tmp4 [V12,T36] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V13 tmp5 [V13,T01] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V14 tmp6 [V14 ] ( 0, 0 ) ref -> zero-ref
;* V15 tmp7 [V15 ] ( 0, 0 ) ref -> zero-ref
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref
;* V17 tmp9 [V17 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V19 tmp11 [V19,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V20 tmp12 [V20,T07] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V19 tmp11 [V19,T19] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V20 tmp12 [V20,T03] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V21 tmp13 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V22 tmp14 [V22 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V23 tmp15 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V24 tmp16 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V25 tmp17 [V25,T03] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V26 tmp18 [V26,T08] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V27 tmp19 [V27,T11] ( 5, 10 ) ref -> rsi class-hnd single-def "Inlining Arg" <ushort[]>
-; V28 tmp20 [V28,T12] ( 5, 10 ) int -> rax "Inlining Arg"
+; V25 tmp17 [V25,T02] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V26 tmp18 [V26,T04] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V27 tmp19 [V27,T08] ( 4, 8 ) ref -> rsi class-hnd single-def "Inlining Arg" <ushort[]>
+; V28 tmp20 [V28,T07] ( 5, 10 ) int -> rax "Inlining Arg"
;* V29 tmp21 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V30 tmp22 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
-; V31 tmp23 [V31,T17] ( 2, 4 ) byref -> rcx single-def "Inlining Arg"
-; V32 tmp24 [V32,T19] ( 2, 4 ) int -> rdx "Inlining Arg"
-; V33 tmp25 [V33,T13] ( 4, 8 ) byref -> rdi single-def "Inlining Arg"
-;* V34 tmp26 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
-;* V35 tmp27 [V35 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-; V36 tmp28 [V36,T31] ( 2, 2 ) ref -> rsi
-;* V37 tmp29 [V37 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
-; V38 tmp30 [V38,T05] ( 10, 20 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[ubyte]>
-; V39 tmp31 [V39,T09] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
-;* V40 tmp32 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
-; V41 tmp33 [V41,T20] ( 2, 4 ) int -> r13 "Inlining Arg"
-;* V42 tmp34 [V42,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V43 tmp35 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V44 tmp36 [V44,T35] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V45 tmp37 [V45,T25] ( 3, 3 ) ref -> r14 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-; V46 tmp38 [V46,T24] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
-; V47 tmp39 [V47,T16] ( 5, 5 ) int -> [rbp-0x34] spill-single-def "Inline stloc first use temp"
-; V48 tmp40 [V48,T28] ( 3, 3 ) ubyte -> rax "Inline return value spill temp"
-; V49 tmp41 [V49,T00] ( 6, 41 ) int -> [rbp-0x38] "Inline stloc first use temp"
-; V50 tmp42 [V50,T04] ( 3, 24 ) int -> rax "Inline stloc first use temp"
-; V51 tmp43 [V51,T26] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
-; V52 tmp44 [V52 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
-; V53 tmp45 [V53 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
-; V54 tmp46 [V54,T23] ( 4, 3 ) byref -> rcx "field V10._reference (fldOffset=0x0)" P-INDEP
-; V55 tmp47 [V55,T29] ( 3, 3 ) int -> rdx "field V10._length (fldOffset=0x8)" P-INDEP
-; V56 tmp48 [V56,T14] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
-;* V57 tmp49 [V57,T22] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
-; V58 tmp50 [V58,T32] ( 2, 2 ) byref -> rcx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-; V59 tmp51 [V59,T36] ( 2, 2 ) int -> rdx "field V29._length (fldOffset=0x8)" P-INDEP
-;* V60 tmp52 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
-; V62 tmp54 [V62,T18] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V63 PSPSym [V63,T38] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
-; V64 cse0 [V64,T27] ( 3, 3 ) ref -> r14 "CSE #09: conservative"
-; V65 cse1 [V65,T30] ( 3, 3 ) int -> rsi "CSE #10: conservative"
-; V66 cse2 [V66,T10] ( 4, 11 ) byref -> rdi "CSE #11: moderate"
+; V31 tmp23 [V31,T15] ( 2, 4 ) byref -> rcx single-def "Inlining Arg"
+; V32 tmp24 [V32,T17] ( 2, 4 ) int -> rdx "Inlining Arg"
+;* V33 tmp25 [V33 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V34 tmp26 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V35 tmp27 [V35 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V36 tmp28 [V36,T25] ( 2, 2 ) ubyte -> rsi "Inline return value spill temp"
+;* V37 tmp29 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V38 tmp30 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V39 tmp31 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V40 tmp32 [V40 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V41 tmp33 [V41 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V42 tmp34 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp38 [V46,T10] ( 3, 6 ) byref -> rdi single-def "Inlining Arg"
+;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
+;* V48 tmp40 [V48 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
+; V49 tmp41 [V49,T29] ( 2, 2 ) ref -> rsi
+;* V50 tmp42 [V50 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
+; V51 tmp43 [V51,T11] ( 3, 6 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[ubyte]>
+; V52 tmp44 [V52,T06] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;* V53 tmp45 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+; V54 tmp46 [V54,T18] ( 2, 4 ) int -> r13 "Inlining Arg"
+;* V55 tmp47 [V55,T33] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V56 tmp48 [V56 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
+; V57 tmp49 [V57 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
+; V58 tmp50 [V58,T21] ( 3, 3 ) byref -> rcx "field V10._reference (fldOffset=0x0)" P-INDEP
+; V59 tmp51 [V59,T26] ( 3, 3 ) int -> rdx "field V10._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp52 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+; V62 tmp54 [V62,T09] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
+;* V63 tmp55 [V63,T20] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
+; V64 tmp56 [V64,T30] ( 2, 2 ) byref -> rcx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+; V65 tmp57 [V65,T34] ( 2, 2 ) int -> rdx "field V29._length (fldOffset=0x8)" P-INDEP
+;* V66 tmp58 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V67 tmp59 [V67 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp60 [V68 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
+; V70 tmp62 [V70,T31] ( 2, 2 ) byref -> rsi single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp63 [V71 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp64 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp65 [V73 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp66 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp67 [V75 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp68 [V76 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp69 [V77 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp70 [V78 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp71 [V79 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp72 [V80 ] ( 0, 0 ) byref -> zero-ref "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp73 [V81 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp74 [V82 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp75 [V83 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+; V84 tmp76 [V84,T16] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V85 PSPSym [V85,T35] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
+; V86 cse0 [V86,T22] ( 3, 3 ) ref -> r14 "CSE #09: moderate"
+; V87 cse1 [V87,T27] ( 3, 3 ) int -> rsi "CSE #10: moderate"
+; V88 cse2 [V88,T23] ( 3, 3 ) byref -> rsi "CSE #01: moderate"
+; V89 cse3 [V89,T28] ( 3, 3 ) int -> rdx "CSE #03: moderate"
+; V90 cse4 [V90,T24] ( 3, 3 ) ref -> rbx "CSE #05: moderate"
+; V91 rat0 [V91,T12] ( 3, 6 ) byref -> rcx "ReplaceWithLclVar is creating a new local variable"
+; V92 rat1 [V92,T13] ( 3, 6 ) byref -> rsi "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 48
G_M65205_IG01:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 48
lea rbp, [rsp+0x50]
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0x48], rsp
- mov bword ptr [rbp-0x40], rdi
+ mov bword ptr [rbp-0x38], rdi
;; size=31 bbWeight=1 PerfScore 9.00
G_M65205_IG02:
mov esi, dword ptr [rdi+0x08]
mov rbx, gword ptr [rdi]
;; size=6 bbWeight=1 PerfScore 4.00
G_M65205_IG03:
test esi, esi
jne G_M65205_IG11
- ;; size=8 bbWeight=1 PerfScore 1.25
+ lea rsi, bword ptr [rdi+0x18]
+ ;; size=12 bbWeight=1 PerfScore 1.75
G_M65205_IG04:
- vmovdqu xmm0, xmmword ptr [rdi+0x18]
+ vmovdqu xmm0, xmmword ptr [rsi]
vmovdqu xmmword ptr [rbp-0x30], xmm0
- ;; size=10 bbWeight=1 PerfScore 5.00
+ ;; size=9 bbWeight=1 PerfScore 5.00
G_M65205_IG05:
- xor esi, esi
- mov qword ptr [rdi+0x18], rsi
- mov qword ptr [rdi+0x20], rsi
+ xor eax, eax
+ mov qword ptr [rsi], rax
+ mov qword ptr [rsi+0x08], rax
mov dword ptr [rdi+0x08], -1
jmp SHORT G_M65205_IG08
- align [0 bytes for IG23]
- ;; size=19 bbWeight=1 PerfScore 5.25
+ ;; size=18 bbWeight=1 PerfScore 5.25
G_M65205_IG06:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x30], rax
xor edi, edi
mov dword ptr [rbp-0x28], edi
test byte ptr [rbp-0x28], 4
jne SHORT G_M65205_IG07
mov rdi, gword ptr [rbp-0x30]
test dword ptr [rdi+0x34], 0xD1FFAB1E
jne SHORT G_M65205_IG08
;; size=45 bbWeight=4 PerfScore 67.00
G_M65205_IG07:
xor edi, edi
- mov r14, bword ptr [rbp-0x40]
+ mov r14, bword ptr [rbp-0x38]
mov dword ptr [r14+0x08], edi
lea rdi, bword ptr [r14+0x18]
mov rsi, gword ptr [rbp-0x30]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x28]
mov dword ptr [r14+0x20], esi
lea rsi, bword ptr [r14+0x10]
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.DtdParser+<EatPublicKeywordAsync>d__200](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.DtdParser+<EatPublicKeywordAsync>d__200](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M65205_IG29
+ jmp G_M65205_IG22
;; size=73 bbWeight=4 PerfScore 67.00
G_M65205_IG08:
mov rsi, gword ptr [rbp-0x30]
mov eax, dword ptr [rsi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
je SHORT G_M65205_IG09
mov rdi, rsi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=36 bbWeight=4 PerfScore 33.00
G_M65205_IG09:
mov rax, gword ptr [rbp-0x30]
cmp dword ptr [rax+0x38], 0
jne SHORT G_M65205_IG11
;; size=10 bbWeight=4 PerfScore 20.00
G_M65205_IG10:
xor r15d, r15d
- jmp SHORT G_M65205_IG19
- ;; size=5 bbWeight=1 PerfScore 2.25
+ jmp G_M65205_IG18
+ ;; size=8 bbWeight=1 PerfScore 2.25
G_M65205_IG11:
mov eax, dword ptr [rbx+0x70]
sub eax, dword ptr [rbx+0x74]
cmp eax, 6
jl G_M65205_IG06
;; size=15 bbWeight=8 PerfScore 50.00
G_M65205_IG12:
mov rsi, gword ptr [rbx+0x38]
mov eax, dword ptr [rbx+0x74]
inc eax
test rsi, rsi
jne SHORT G_M65205_IG13
test eax, eax
- jne SHORT G_M65205_IG17
+ jne SHORT G_M65205_IG16
xor rcx, rcx
xor edx, edx
jmp SHORT G_M65205_IG14
;; size=24 bbWeight=1 PerfScore 9.25
G_M65205_IG13:
- cmp dword ptr [rsi+0x08], eax
- jb SHORT G_M65205_IG17
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, eax
+ jb SHORT G_M65205_IG16
mov ecx, eax
lea rcx, bword ptr [rsi+2*rcx+0x10]
- mov edx, dword ptr [rsi+0x08]
sub edx, eax
- ;; size=17 bbWeight=1 PerfScore 7.50
+ ;; size=16 bbWeight=1 PerfScore 4.75
G_M65205_IG14:
+ mov rsi, 0xD1FFAB1E
cmp edx, 5
- jl SHORT G_M65205_IG16
- ;; size=5 bbWeight=1 PerfScore 1.25
+ jl SHORT G_M65205_IG15
+ mov rax, qword ptr [rcx]
+ mov rcx, qword ptr [rcx+0x02]
+ mov rdx, qword ptr [rsi]
+ xor rax, rdx
+ xor rcx, qword ptr [rsi+0x02]
+ or rax, rcx
+ sete sil
+ movzx rsi, sil
+ test esi, esi
+ jne SHORT G_M65205_IG17
+ ;; size=47 bbWeight=1 PerfScore 13.50
G_M65205_IG15:
- mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rcx]
- mov eax, dword ptr [rcx+0x06]
- xor eax, 0xD1FFAB1E
- or rsi, rax
- je SHORT G_M65205_IG18
- ;; size=26 bbWeight=0.50 PerfScore 3.38
-G_M65205_IG16:
xor r15d, r15d
- jmp SHORT G_M65205_IG19
+ jmp SHORT G_M65205_IG18
;; size=5 bbWeight=1 PerfScore 2.25
-G_M65205_IG17:
+G_M65205_IG16:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M65205_IG18:
+G_M65205_IG17:
add dword ptr [rbx+0x74], 6
mov r15d, 1
;; size=10 bbWeight=1 PerfScore 3.25
-G_M65205_IG19:
- mov rdi, bword ptr [rbp-0x40]
+G_M65205_IG18:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
add rdi, 16
- cmp gword ptr [rdi], 0
- jne SHORT G_M65205_IG20
+ mov rbx, gword ptr [rdi]
+ test rbx, rbx
+ jne SHORT G_M65205_IG19
mov rsi, 0xD1FFAB1E ; const ptr
mov rax, 0xD1FFAB1E ; const ptr
test r15d, r15d
mov rsi, gword ptr [rsi]
cmove rsi, gword ptr [rax]
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M65205_IG29
- ;; size=61 bbWeight=1 PerfScore 15.00
-G_M65205_IG20:
- mov rbx, gword ptr [rdi]
+ jmp G_M65205_IG22
+ ;; size=63 bbWeight=1 PerfScore 14.25
+G_M65205_IG19:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M65205_IG33
- ;; size=22 bbWeight=1 PerfScore 6.25
-G_M65205_IG21:
+ je G_M65205_IG23
+ ;; size=19 bbWeight=1 PerfScore 4.25
+G_M65205_IG20:
mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
mov r14, gword ptr [rdi]
cmp byte ptr [r14+0x9D], 0
- je SHORT G_M65205_IG22
+ je SHORT G_M65205_IG21
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:get_Id():int:this
cmp dword ptr [rdi], edi
call [rax]System.Threading.Tasks.Task:get_Id():int:this
mov r13d, eax
movzx rsi, byte ptr [r14+0x9D]
test esi, esi
- je SHORT G_M65205_IG22
+ je SHORT G_M65205_IG21
xor ecx, ecx
mov dword ptr [rsp], ecx
mov rcx, qword ptr [r14+0x80]
mov edx, dword ptr [r14+0x98]
mov rdi, r14
mov r8d, 4
mov r9d, 8
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
test eax, eax
- je SHORT G_M65205_IG22
+ je SHORT G_M65205_IG21
mov rdi, r14
mov edx, r13d
mov esi, 15
mov ecx, 1
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
;; size=133 bbWeight=1 PerfScore 31.00
-G_M65205_IG22:
- mov eax, dword ptr [rbx+0x34]
- mov dword ptr [rbp-0x34], eax
- test eax, 0xD1FFAB1E
- jne G_M65205_IG32
- lea rdi, bword ptr [rbx+0x34]
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- lock
- cmpxchg dword ptr [rdi], ecx
- cmp eax, dword ptr [rbp-0x34]
- je SHORT G_M65205_IG27
- mov eax, dword ptr [rbx+0x34]
- ;; size=41 bbWeight=1 PerfScore 28.25
-G_M65205_IG23:
- test eax, 0xD1FFAB1E
- jne SHORT G_M65205_IG24
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- mov dword ptr [rbp-0x38], eax
- lock
- cmpxchg dword ptr [rdi], ecx
- mov ecx, dword ptr [rbp-0x38]
- cmp eax, ecx
- je SHORT G_M65205_IG25
- mov ecx, eax
- mov eax, ecx
- jmp SHORT G_M65205_IG23
- ;; size=35 bbWeight=8 PerfScore 204.00
-G_M65205_IG24:
- xor eax, eax
- jmp SHORT G_M65205_IG26
- ;; size=4 bbWeight=1 PerfScore 2.25
-G_M65205_IG25:
- mov eax, 1
- ;; size=5 bbWeight=1 PerfScore 0.25
-G_M65205_IG26:
- jmp SHORT G_M65205_IG31
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M65205_IG27:
- mov byte ptr [rbx+0x38], r15b
- mov eax, dword ptr [rbx+0x34]
- or eax, 0xD1FFAB1E
- xchg dword ptr [rdi], eax
- mov r14, gword ptr [rbx+0x28]
- test r14, r14
- je SHORT G_M65205_IG28
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- call [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- mov rdi, gword ptr [r14+0x10]
- test rdi, rdi
- je SHORT G_M65205_IG28
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- call [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- ;; size=59 bbWeight=1 PerfScore 36.50
-G_M65205_IG28:
+G_M65205_IG21:
mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:FinishContinuations():this
- call [rax]System.Threading.Tasks.Task:FinishContinuations():this
- ;; size=15 bbWeight=1 PerfScore 3.50
-G_M65205_IG29:
- nop
- ;; size=1 bbWeight=1 PerfScore 0.25
-G_M65205_IG30:
+ mov esi, r15d
+ mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[ubyte]:TrySetResult(ubyte):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.Threading.Tasks.Task`1[ubyte]:TrySetResult(ubyte):ubyte:this
+ test eax, eax
+ je SHORT G_M65205_IG24
+ ;; size=24 bbWeight=1 PerfScore 8.00
+G_M65205_IG22:
add rsp, 48
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=1 PerfScore 3.75
-G_M65205_IG31:
- test eax, eax
- jne SHORT G_M65205_IG27
- ;; size=4 bbWeight=1 PerfScore 1.25
-G_M65205_IG32:
+G_M65205_IG23:
+ mov rdi, 0xD1FFAB1E
+ mov esi, 0x43C
+ call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ jmp G_M65205_IG20
+ ;; size=25 bbWeight=0 PerfScore 0.00
+G_M65205_IG24:
mov edi, 24
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
call [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-G_M65205_IG33:
- mov rdi, 0xD1FFAB1E
- mov esi, 0x43C
- call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- jmp G_M65205_IG21
- ;; size=25 bbWeight=0 PerfScore 0.00
-G_M65205_IG34:
+G_M65205_IG25:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 16
mov rbp, qword ptr [rdi+0x08]
mov qword ptr [rsp+0x08], rbp
lea rbp, [rbp+0x50]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M65205_IG35:
- mov rdi, bword ptr [rbp-0x40]
+G_M65205_IG26:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
add rdi, 16
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
- lea rax, G_M65205_IG29
+ lea rax, G_M65205_IG22
;; size=34 bbWeight=0 PerfScore 0.00
-G_M65205_IG36:
+G_M65205_IG27:
add rsp, 16
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 868, prolog size 31, PerfScore 624.88, instruction count 233, allocated bytes for code 871 (MethodHash=e9fd014a) for method System.Xml.DtdParser+<EatPublicKeywordAsync>d__200:MoveNext():this (FullOpts)
+; Total bytes of code 745, prolog size 31, PerfScore 358.50, instruction count 195, allocated bytes for code 745 (MethodHash=e9fd014a) for method System.Xml.DtdParser+<EatPublicKeywordAsync>d__200:MoveNext():this (FullOpts)
-123 (-14.17 % of base) - System.Xml.DtdParser+d__201:MoveNext():this
; Assembly listing for method System.Xml.DtdParser+<EatSystemKeywordAsync>d__201:MoveNext():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; 15 single block inlinees; 13 inlinees without PGO data
+; 0 inlinees with PGO data; 22 single block inlinees; 11 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 16, 29 ) byref -> [rbp-0x40] this EH-live single-def
-; V01 loc0 [V01,T33] ( 2, 2 ) int -> rsi
-; V02 loc1 [V02,T01] ( 8, 25 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
-; V03 loc2 [V03,T15] ( 5, 5 ) ubyte -> r15
+; V00 this [V00,T05] ( 15, 28 ) byref -> [rbp-0x38] this EH-live single-def
+; V01 loc0 [V01,T32] ( 2, 2 ) int -> rsi
+; V02 loc1 [V02,T00] ( 8, 25 ) ref -> rbx class-hnd exact single-def <System.Xml.DtdParser>
+; V03 loc2 [V03,T14] ( 5, 5 ) ubyte -> r15
;* V04 loc3 [V04 ] ( 0, 0 ) int -> zero-ref
; V05 loc4 [V05 ] ( 10, 37 ) struct (16) [rbp-0x30] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
;* V06 loc5 [V06 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
; V08 OutArgs [V08 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ushort]>
-;* V11 tmp3 [V11,T37] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V12 tmp4 [V12,T39] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-; V13 tmp5 [V13,T02] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V12 tmp4 [V12,T36] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V13 tmp5 [V13,T01] ( 3, 24 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V14 tmp6 [V14 ] ( 0, 0 ) ref -> zero-ref
;* V15 tmp7 [V15 ] ( 0, 0 ) ref -> zero-ref
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref
;* V17 tmp9 [V17 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1[int]>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]>
-;* V19 tmp11 [V19,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V20 tmp12 [V20,T07] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+;* V19 tmp11 [V19,T19] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V20 tmp12 [V20,T03] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
;* V21 tmp13 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V22 tmp14 [V22 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V23 tmp15 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V24 tmp16 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V25 tmp17 [V25,T03] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V26 tmp18 [V26,T08] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
-; V27 tmp19 [V27,T11] ( 5, 10 ) ref -> rsi class-hnd single-def "Inlining Arg" <ushort[]>
-; V28 tmp20 [V28,T12] ( 5, 10 ) int -> rax "Inlining Arg"
+; V25 tmp17 [V25,T02] ( 3, 24 ) ref -> rsi class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V26 tmp18 [V26,T04] ( 2, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[int]>
+; V27 tmp19 [V27,T08] ( 4, 8 ) ref -> rsi class-hnd single-def "Inlining Arg" <ushort[]>
+; V28 tmp20 [V28,T07] ( 5, 10 ) int -> rax "Inlining Arg"
;* V29 tmp21 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V30 tmp22 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ushort]>
-; V31 tmp23 [V31,T17] ( 2, 4 ) byref -> rcx single-def "Inlining Arg"
-; V32 tmp24 [V32,T19] ( 2, 4 ) int -> rdx "Inlining Arg"
-; V33 tmp25 [V33,T13] ( 4, 8 ) byref -> rdi single-def "Inlining Arg"
-;* V34 tmp26 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
-;* V35 tmp27 [V35 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-; V36 tmp28 [V36,T31] ( 2, 2 ) ref -> rsi
-;* V37 tmp29 [V37 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
-; V38 tmp30 [V38,T05] ( 10, 20 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[ubyte]>
-; V39 tmp31 [V39,T09] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
-;* V40 tmp32 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
-; V41 tmp33 [V41,T20] ( 2, 4 ) int -> r13 "Inlining Arg"
-;* V42 tmp34 [V42,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V43 tmp35 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V44 tmp36 [V44,T35] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V45 tmp37 [V45,T25] ( 3, 3 ) ref -> r14 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-; V46 tmp38 [V46,T24] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
-; V47 tmp39 [V47,T16] ( 5, 5 ) int -> [rbp-0x34] spill-single-def "Inline stloc first use temp"
-; V48 tmp40 [V48,T28] ( 3, 3 ) ubyte -> rax "Inline return value spill temp"
-; V49 tmp41 [V49,T00] ( 6, 41 ) int -> [rbp-0x38] "Inline stloc first use temp"
-; V50 tmp42 [V50,T04] ( 3, 24 ) int -> rax "Inline stloc first use temp"
-; V51 tmp43 [V51,T26] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
-; V52 tmp44 [V52 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
-; V53 tmp45 [V53 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
-; V54 tmp46 [V54,T23] ( 4, 3 ) byref -> rcx "field V10._reference (fldOffset=0x0)" P-INDEP
-; V55 tmp47 [V55,T29] ( 3, 3 ) int -> rdx "field V10._length (fldOffset=0x8)" P-INDEP
-; V56 tmp48 [V56,T14] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
-;* V57 tmp49 [V57,T22] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
-; V58 tmp50 [V58,T32] ( 2, 2 ) byref -> rcx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
-; V59 tmp51 [V59,T36] ( 2, 2 ) int -> rdx "field V29._length (fldOffset=0x8)" P-INDEP
-;* V60 tmp52 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
-; V62 tmp54 [V62,T18] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V63 PSPSym [V63,T38] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
-; V64 cse0 [V64,T27] ( 3, 3 ) ref -> r14 "CSE #09: conservative"
-; V65 cse1 [V65,T30] ( 3, 3 ) int -> rsi "CSE #10: conservative"
-; V66 cse2 [V66,T10] ( 4, 11 ) byref -> rdi "CSE #11: moderate"
+; V31 tmp23 [V31,T15] ( 2, 4 ) byref -> rcx single-def "Inlining Arg"
+; V32 tmp24 [V32,T17] ( 2, 4 ) int -> rdx "Inlining Arg"
+;* V33 tmp25 [V33 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V34 tmp26 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V35 tmp27 [V35 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V36 tmp28 [V36,T25] ( 2, 2 ) ubyte -> rsi "Inline return value spill temp"
+;* V37 tmp29 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V38 tmp30 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V39 tmp31 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V40 tmp32 [V40 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V41 tmp33 [V41 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V42 tmp34 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp38 [V46,T10] ( 3, 6 ) byref -> rdi single-def "Inlining Arg"
+;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task`1[ubyte]>
+;* V48 tmp40 [V48 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
+; V49 tmp41 [V49,T29] ( 2, 2 ) ref -> rsi
+;* V50 tmp42 [V50 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[ubyte]>
+; V51 tmp43 [V51,T11] ( 3, 6 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[ubyte]>
+; V52 tmp44 [V52,T06] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;* V53 tmp45 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
+; V54 tmp46 [V54,T18] ( 2, 4 ) int -> r13 "Inlining Arg"
+;* V55 tmp47 [V55,T33] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V56 tmp48 [V56 ] ( 7, 25 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
+; V57 tmp49 [V57 ] ( 5, 17 ) int -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V05.m_options (fldOffset=0x8)" P-DEP
+; V58 tmp50 [V58,T21] ( 3, 3 ) byref -> rcx "field V10._reference (fldOffset=0x0)" P-INDEP
+; V59 tmp51 [V59,T26] ( 3, 3 ) int -> rdx "field V10._length (fldOffset=0x8)" P-INDEP
+;* V60 tmp52 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+; V62 tmp54 [V62,T09] ( 2, 8 ) ref -> rax "field V18.m_task (fldOffset=0x0)" P-INDEP
+;* V63 tmp55 [V63,T20] ( 0, 0 ) int -> zero-ref "field V18.m_options (fldOffset=0x8)" P-INDEP
+; V64 tmp56 [V64,T30] ( 2, 2 ) byref -> rcx single-def "field V29._reference (fldOffset=0x0)" P-INDEP
+; V65 tmp57 [V65,T34] ( 2, 2 ) int -> rdx "field V29._length (fldOffset=0x8)" P-INDEP
+;* V66 tmp58 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V67 tmp59 [V67 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp60 [V68 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
+; V70 tmp62 [V70,T31] ( 2, 2 ) byref -> rsi single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp63 [V71 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp64 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp65 [V73 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp66 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp67 [V75 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp68 [V76 ] ( 0, 0 ) byref -> zero-ref single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp69 [V77 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp70 [V78 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp71 [V79 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp72 [V80 ] ( 0, 0 ) byref -> zero-ref "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp73 [V81 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp74 [V82 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp75 [V83 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+; V84 tmp76 [V84,T16] ( 2, 16 ) ref -> rsi "argument with side effect"
+; V85 PSPSym [V85,T35] ( 1, 1 ) long -> [rbp-0x48] do-not-enreg[V] "PSPSym"
+; V86 cse0 [V86,T22] ( 3, 3 ) ref -> r14 "CSE #09: moderate"
+; V87 cse1 [V87,T27] ( 3, 3 ) int -> rsi "CSE #10: moderate"
+; V88 cse2 [V88,T23] ( 3, 3 ) byref -> rsi "CSE #01: moderate"
+; V89 cse3 [V89,T28] ( 3, 3 ) int -> rdx "CSE #03: moderate"
+; V90 cse4 [V90,T24] ( 3, 3 ) ref -> rbx "CSE #05: moderate"
+; V91 rat0 [V91,T12] ( 3, 6 ) byref -> rcx "ReplaceWithLclVar is creating a new local variable"
+; V92 rat1 [V92,T13] ( 3, 6 ) byref -> rsi "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 48
G_M44912_IG01:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 48
lea rbp, [rsp+0x50]
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0x48], rsp
- mov bword ptr [rbp-0x40], rdi
+ mov bword ptr [rbp-0x38], rdi
;; size=31 bbWeight=1 PerfScore 9.00
G_M44912_IG02:
mov esi, dword ptr [rdi+0x08]
mov rbx, gword ptr [rdi]
;; size=6 bbWeight=1 PerfScore 4.00
G_M44912_IG03:
test esi, esi
jne G_M44912_IG11
- ;; size=8 bbWeight=1 PerfScore 1.25
+ lea rsi, bword ptr [rdi+0x18]
+ ;; size=12 bbWeight=1 PerfScore 1.75
G_M44912_IG04:
- vmovdqu xmm0, xmmword ptr [rdi+0x18]
+ vmovdqu xmm0, xmmword ptr [rsi]
vmovdqu xmmword ptr [rbp-0x30], xmm0
- ;; size=10 bbWeight=1 PerfScore 5.00
+ ;; size=9 bbWeight=1 PerfScore 5.00
G_M44912_IG05:
- xor esi, esi
- mov qword ptr [rdi+0x18], rsi
- mov qword ptr [rdi+0x20], rsi
+ xor eax, eax
+ mov qword ptr [rsi], rax
+ mov qword ptr [rsi+0x08], rax
mov dword ptr [rdi+0x08], -1
jmp SHORT G_M44912_IG08
- align [0 bytes for IG23]
- ;; size=19 bbWeight=1 PerfScore 5.25
+ ;; size=18 bbWeight=1 PerfScore 5.25
G_M44912_IG06:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
call [rax]System.Xml.DtdParser:ReadDataAsync():System.Threading.Tasks.Task`1[int]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x30], rax
xor edi, edi
mov dword ptr [rbp-0x28], edi
test byte ptr [rbp-0x28], 4
jne SHORT G_M44912_IG07
mov rdi, gword ptr [rbp-0x30]
test dword ptr [rdi+0x34], 0xD1FFAB1E
jne SHORT G_M44912_IG08
;; size=45 bbWeight=4 PerfScore 67.00
G_M44912_IG07:
xor edi, edi
- mov r14, bword ptr [rbp-0x40]
+ mov r14, bword ptr [rbp-0x38]
mov dword ptr [r14+0x08], edi
lea rdi, bword ptr [r14+0x18]
mov rsi, gword ptr [rbp-0x30]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov esi, dword ptr [rbp-0x28]
mov dword ptr [r14+0x20], esi
lea rsi, bword ptr [r14+0x10]
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.DtdParser+<EatSystemKeywordAsync>d__201](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:GetStateMachineBox[System.Xml.DtdParser+<EatSystemKeywordAsync>d__201](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x30]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
- jmp G_M44912_IG29
+ jmp G_M44912_IG22
;; size=73 bbWeight=4 PerfScore 67.00
G_M44912_IG08:
mov rsi, gword ptr [rbp-0x30]
mov eax, dword ptr [rsi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
je SHORT G_M44912_IG09
mov rdi, rsi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=36 bbWeight=4 PerfScore 33.00
G_M44912_IG09:
mov rax, gword ptr [rbp-0x30]
cmp dword ptr [rax+0x38], 0
jne SHORT G_M44912_IG11
;; size=10 bbWeight=4 PerfScore 20.00
G_M44912_IG10:
xor r15d, r15d
- jmp SHORT G_M44912_IG19
- ;; size=5 bbWeight=1 PerfScore 2.25
+ jmp G_M44912_IG18
+ ;; size=8 bbWeight=1 PerfScore 2.25
G_M44912_IG11:
mov eax, dword ptr [rbx+0x70]
sub eax, dword ptr [rbx+0x74]
cmp eax, 6
jl G_M44912_IG06
;; size=15 bbWeight=8 PerfScore 50.00
G_M44912_IG12:
mov rsi, gword ptr [rbx+0x38]
mov eax, dword ptr [rbx+0x74]
inc eax
test rsi, rsi
jne SHORT G_M44912_IG13
test eax, eax
- jne SHORT G_M44912_IG17
+ jne SHORT G_M44912_IG16
xor rcx, rcx
xor edx, edx
jmp SHORT G_M44912_IG14
;; size=24 bbWeight=1 PerfScore 9.25
G_M44912_IG13:
- cmp dword ptr [rsi+0x08], eax
- jb SHORT G_M44912_IG17
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, eax
+ jb SHORT G_M44912_IG16
mov ecx, eax
lea rcx, bword ptr [rsi+2*rcx+0x10]
- mov edx, dword ptr [rsi+0x08]
sub edx, eax
- ;; size=17 bbWeight=1 PerfScore 7.50
+ ;; size=16 bbWeight=1 PerfScore 4.75
G_M44912_IG14:
+ mov rsi, 0xD1FFAB1E
cmp edx, 5
- jl SHORT G_M44912_IG16
- ;; size=5 bbWeight=1 PerfScore 1.25
+ jl SHORT G_M44912_IG15
+ mov rax, qword ptr [rcx]
+ mov rcx, qword ptr [rcx+0x02]
+ mov rdx, qword ptr [rsi]
+ xor rax, rdx
+ xor rcx, qword ptr [rsi+0x02]
+ or rax, rcx
+ sete sil
+ movzx rsi, sil
+ test esi, esi
+ jne SHORT G_M44912_IG17
+ ;; size=47 bbWeight=1 PerfScore 13.50
G_M44912_IG15:
- mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rcx]
- mov eax, dword ptr [rcx+0x06]
- xor eax, 0xD1FFAB1E
- or rsi, rax
- je SHORT G_M44912_IG18
- ;; size=26 bbWeight=0.50 PerfScore 3.38
-G_M44912_IG16:
xor r15d, r15d
- jmp SHORT G_M44912_IG19
+ jmp SHORT G_M44912_IG18
;; size=5 bbWeight=1 PerfScore 2.25
-G_M44912_IG17:
+G_M44912_IG16:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M44912_IG18:
+G_M44912_IG17:
add dword ptr [rbx+0x74], 6
mov r15d, 1
;; size=10 bbWeight=1 PerfScore 3.25
-G_M44912_IG19:
- mov rdi, bword ptr [rbp-0x40]
+G_M44912_IG18:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
add rdi, 16
- cmp gword ptr [rdi], 0
- jne SHORT G_M44912_IG20
+ mov rbx, gword ptr [rdi]
+ test rbx, rbx
+ jne SHORT G_M44912_IG19
mov rsi, 0xD1FFAB1E ; const ptr
mov rax, 0xD1FFAB1E ; const ptr
test r15d, r15d
mov rsi, gword ptr [rsi]
cmove rsi, gword ptr [rax]
call CORINFO_HELP_CHECKED_ASSIGN_REF
- jmp G_M44912_IG29
- ;; size=61 bbWeight=1 PerfScore 15.00
-G_M44912_IG20:
- mov rbx, gword ptr [rdi]
+ jmp G_M44912_IG22
+ ;; size=63 bbWeight=1 PerfScore 14.25
+G_M44912_IG19:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M44912_IG33
- ;; size=22 bbWeight=1 PerfScore 6.25
-G_M44912_IG21:
+ je G_M44912_IG23
+ ;; size=19 bbWeight=1 PerfScore 4.25
+G_M44912_IG20:
mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
mov r14, gword ptr [rdi]
cmp byte ptr [r14+0x9D], 0
- je SHORT G_M44912_IG22
+ je SHORT G_M44912_IG21
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:get_Id():int:this
cmp dword ptr [rdi], edi
call [rax]System.Threading.Tasks.Task:get_Id():int:this
mov r13d, eax
movzx rsi, byte ptr [r14+0x9D]
test esi, esi
- je SHORT G_M44912_IG22
+ je SHORT G_M44912_IG21
xor ecx, ecx
mov dword ptr [rsp], ecx
mov rcx, qword ptr [r14+0x80]
mov edx, dword ptr [r14+0x98]
mov rdi, r14
mov r8d, 4
mov r9d, 8
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
test eax, eax
- je SHORT G_M44912_IG22
+ je SHORT G_M44912_IG21
mov rdi, r14
mov edx, r13d
mov esi, 15
mov ecx, 1
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
;; size=133 bbWeight=1 PerfScore 31.00
-G_M44912_IG22:
- mov eax, dword ptr [rbx+0x34]
- mov dword ptr [rbp-0x34], eax
- test eax, 0xD1FFAB1E
- jne G_M44912_IG32
- lea rdi, bword ptr [rbx+0x34]
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- lock
- cmpxchg dword ptr [rdi], ecx
- cmp eax, dword ptr [rbp-0x34]
- je SHORT G_M44912_IG27
- mov eax, dword ptr [rbx+0x34]
- ;; size=41 bbWeight=1 PerfScore 28.25
-G_M44912_IG23:
- test eax, 0xD1FFAB1E
- jne SHORT G_M44912_IG24
- mov ecx, eax
- or ecx, 0xD1FFAB1E
- mov dword ptr [rbp-0x38], eax
- lock
- cmpxchg dword ptr [rdi], ecx
- mov ecx, dword ptr [rbp-0x38]
- cmp eax, ecx
- je SHORT G_M44912_IG25
- mov ecx, eax
- mov eax, ecx
- jmp SHORT G_M44912_IG23
- ;; size=35 bbWeight=8 PerfScore 204.00
-G_M44912_IG24:
- xor eax, eax
- jmp SHORT G_M44912_IG26
- ;; size=4 bbWeight=1 PerfScore 2.25
-G_M44912_IG25:
- mov eax, 1
- ;; size=5 bbWeight=1 PerfScore 0.25
-G_M44912_IG26:
- jmp SHORT G_M44912_IG31
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M44912_IG27:
- mov byte ptr [rbx+0x38], r15b
- mov eax, dword ptr [rbx+0x34]
- or eax, 0xD1FFAB1E
- xchg dword ptr [rdi], eax
- mov r14, gword ptr [rbx+0x28]
- test r14, r14
- je SHORT G_M44912_IG28
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- call [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
- mov rdi, gword ptr [r14+0x10]
- test rdi, rdi
- je SHORT G_M44912_IG28
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- call [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
- ;; size=59 bbWeight=1 PerfScore 36.50
-G_M44912_IG28:
+G_M44912_IG21:
mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:FinishContinuations():this
- call [rax]System.Threading.Tasks.Task:FinishContinuations():this
- ;; size=15 bbWeight=1 PerfScore 3.50
-G_M44912_IG29:
- nop
- ;; size=1 bbWeight=1 PerfScore 0.25
-G_M44912_IG30:
+ mov esi, r15d
+ mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task`1[ubyte]:TrySetResult(ubyte):ubyte:this
+ cmp dword ptr [rdi], edi
+ call [rax]System.Threading.Tasks.Task`1[ubyte]:TrySetResult(ubyte):ubyte:this
+ test eax, eax
+ je SHORT G_M44912_IG24
+ ;; size=24 bbWeight=1 PerfScore 8.00
+G_M44912_IG22:
add rsp, 48
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=1 PerfScore 3.75
-G_M44912_IG31:
- test eax, eax
- jne SHORT G_M44912_IG27
- ;; size=4 bbWeight=1 PerfScore 1.25
-G_M44912_IG32:
+G_M44912_IG23:
+ mov rdi, 0xD1FFAB1E
+ mov esi, 0x43C
+ call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
+ jmp G_M44912_IG20
+ ;; size=25 bbWeight=0 PerfScore 0.00
+G_M44912_IG24:
mov edi, 24
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
call [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-G_M44912_IG33:
- mov rdi, 0xD1FFAB1E
- mov esi, 0x43C
- call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- jmp G_M44912_IG21
- ;; size=25 bbWeight=0 PerfScore 0.00
-G_M44912_IG34:
+G_M44912_IG25:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 16
mov rbp, qword ptr [rdi+0x08]
mov qword ptr [rsp+0x08], rbp
lea rbp, [rbp+0x50]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M44912_IG35:
- mov rdi, bword ptr [rbp-0x40]
+G_M44912_IG26:
+ mov rdi, bword ptr [rbp-0x38]
mov dword ptr [rdi+0x08], -2
add rdi, 16
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[ubyte]:SetException(System.Exception):this
- lea rax, G_M44912_IG29
+ lea rax, G_M44912_IG22
;; size=34 bbWeight=0 PerfScore 0.00
-G_M44912_IG36:
+G_M44912_IG27:
add rsp, 16
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 868, prolog size 31, PerfScore 624.88, instruction count 233, allocated bytes for code 871 (MethodHash=561e508f) for method System.Xml.DtdParser+<EatSystemKeywordAsync>d__201:MoveNext():this (FullOpts)
+; Total bytes of code 745, prolog size 31, PerfScore 358.50, instruction count 195, allocated bytes for code 745 (MethodHash=561e508f) for method System.Xml.DtdParser+<EatSystemKeywordAsync>d__201:MoveNext():this (FullOpts)