210 (4.42 % of base) - System.Data.DataTable:ReadXml(System.Xml.XmlReader,int,ubyte):int:this
; Assembly listing for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,int,ubyte):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 78 single block inlinees; 8 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T15] ( 28, 39.50) ref -> r14 this class-hnd single-def <System.Data.DataTable>
+; V00 this [V00,T15] ( 28, 39.50) ref -> [rbp-0x98] this class-hnd EH-live single-def <System.Data.DataTable>
; V01 arg1 [V01,T00] ( 63,169.50) ref -> rbx class-hnd single-def <System.Xml.XmlReader>
; V02 arg2 [V02,T02] ( 26, 98 ) int -> r15 single-def
-; V03 arg3 [V03,T27] ( 4, 10.50) ubyte -> r13 single-def
-; V04 loc0 [V04,T64] ( 6, 3.50) ref -> [rbp-0x90] do-not-enreg[M] class-hnd EH-live <System.IDisposable>
+; V03 arg3 [V03,T27] ( 4, 10.50) ubyte -> r14 single-def
+; V04 loc0 [V04,T64] ( 6, 3.50) ref -> [rbp-0xA0] do-not-enreg[M] class-hnd EH-live <System.IDisposable>
;* V05 loc1 [V05 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Data.DataTable+RowDiffIdUsageSection>
-; V06 loc2 [V06,T26] ( 4, 13 ) ubyte -> r12
-; V07 loc3 [V07,T53] ( 3, 5 ) ubyte -> [rbp-0x2C]
-; V08 loc4 [V08,T49] ( 4, 5.50) ubyte -> [rbp-0x30]
-; V09 loc5 [V09,T46] ( 4, 6 ) int -> [rbp-0x34]
-; V10 loc6 [V10,T33] ( 6, 11 ) int -> [rbp-0x38]
-; V11 loc7 [V11,T63] ( 9, 3.50) ubyte -> [rbp-0x3C]
-; V12 loc8 [V12,T43] ( 11, 7 ) ref -> [rbp-0x98] class-hnd exact spill-single-def <System.Xml.XmlDocument>
-; V13 loc9 [V13,T45] ( 5, 7 ) ref -> [rbp-0xA0] class-hnd <System.Data.XmlDataLoader>
+; V06 loc2 [V06,T26] ( 4, 13 ) ubyte -> r13
+; V07 loc3 [V07,T53] ( 3, 5 ) ubyte -> r12
+; V08 loc4 [V08,T49] ( 4, 5.50) ubyte -> [rbp-0x34]
+; V09 loc5 [V09,T46] ( 4, 6 ) int -> [rbp-0x38]
+; V10 loc6 [V10,T33] ( 6, 11 ) int -> [rbp-0x3C]
+; V11 loc7 [V11,T63] ( 9, 3.50) ubyte -> [rbp-0x40]
+; V12 loc8 [V12,T43] ( 11, 7 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def <System.Xml.XmlDocument>
+; V13 loc9 [V13,T45] ( 5, 7 ) ref -> [rbp-0xB0] class-hnd <System.Data.XmlDataLoader>
; V14 loc10 [V14,T48] ( 10, 5.50) int -> r15
-; V15 loc11 [V15,T25] ( 10, 15.50) ref -> [rbp-0xA8] class-hnd <System.Xml.XmlElement>
-; V16 loc12 [V16,T54] ( 3, 5 ) int -> [rbp-0x40] spill-single-def
-; V17 loc13 [V17,T20] ( 7, 20.50) int -> [rbp-0x44]
+; V15 loc11 [V15,T25] ( 10, 15.50) ref -> [rbp-0xB8] class-hnd <System.Xml.XmlElement>
+; V16 loc12 [V16,T54] ( 3, 5 ) int -> [rbp-0x44] spill-single-def
+; V17 loc13 [V17,T20] ( 7, 20.50) int -> [rbp-0x48]
;* V18 loc14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;# V19 OutArgs [V19 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V20 tmp1 [V20,T74] ( 3, 3 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+; V20 tmp1 [V20,T74] ( 3, 3 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
;* V21 tmp2 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V22 tmp3 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
-; V23 tmp4 [V23,T29] ( 3, 12 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
+; V23 tmp4 [V23,T29] ( 3, 12 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
; V24 tmp5 [V24,T08] ( 4, 64 ) ref -> rax "spilling varStr"
; V25 tmp6 [V25,T16] ( 2, 32 ) int -> rdi "spilling unroll qmark"
; V26 tmp7 [V26,T44] ( 7, 7 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
; V27 tmp8 [V27,T18] ( 4, 24 ) ref -> rax "spilling varStr"
; V28 tmp9 [V28,T34] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V29 tmp10 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
-; V30 tmp11 [V30,T21] ( 5, 20 ) ref -> [rbp-0xC0] class-hnd spill-single-def "dup spill" <System.Xml.XmlAttribute>
+; V30 tmp11 [V30,T21] ( 5, 20 ) ref -> [rbp-0xD0] class-hnd spill-single-def "dup spill" <System.Xml.XmlAttribute>
;* V31 tmp12 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
; V32 tmp13 [V32,T59] ( 4, 4 ) ref -> rax single-def "spilling varStr"
; V33 tmp14 [V33,T84] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V34 tmp15 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V35 tmp16 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Xml.XmlTextReader>
-; V36 tmp17 [V36,T75] ( 3, 3 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V37 tmp18 [V37,T76] ( 3, 3 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V36 tmp17 [V36,T75] ( 3, 3 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V37 tmp18 [V37,T76] ( 3, 3 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V38 tmp19 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V39 tmp20 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlElement>
-; V40 tmp21 [V40,T95] ( 3, 1.50) ref -> [rbp-0xD8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V41 tmp22 [V41,T96] ( 3, 1.50) ref -> [rbp-0xE0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V40 tmp21 [V40,T95] ( 3, 1.50) ref -> [rbp-0xE8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V41 tmp22 [V41,T96] ( 3, 1.50) ref -> [rbp-0xF0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
;* V42 tmp23 [V42 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V43 tmp24 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V44 tmp25 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V45 tmp26 [V45,T55] ( 10, 4.50) int -> [rbp-0x48] spill-single-def "Inline return value spill temp"
+; V45 tmp26 [V45,T55] ( 10, 4.50) int -> [rbp-0x4C] spill-single-def "Inline return value spill temp"
; V46 tmp27 [V46,T90] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
; V47 tmp28 [V47,T97] ( 3, 1.50) ref -> rsi class-hnd "Inline return value spill temp" <System.String>
-; V48 tmp29 [V48,T102] ( 2, 1 ) long -> [rbp-0x50] spill-single-def "Inline stloc first use temp"
-; V49 tmp30 [V49,T60] ( 4, 4 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "dup spill" <System.String>
+; V48 tmp29 [V48,T102] ( 2, 1 ) long -> [rbp-0x58] spill-single-def "Inline stloc first use temp"
+; V49 tmp30 [V49,T60] ( 4, 4 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "dup spill" <System.String>
;* V50 tmp31 [V50 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V51 tmp32 [V51 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V52 tmp33 [V52,T87] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-; V53 tmp34 [V53,T50] ( 6, 5 ) int -> [rbp-0x54] spill-single-def "Inlining Arg"
-; V54 tmp35 [V54,T86] ( 5, 2 ) int -> [rbp-0x58] spill-single-def "Inline stloc first use temp"
-; V55 tmp36 [V55,T103] ( 2, 1 ) long -> [rbp-0x60] spill-single-def "Inline stloc first use temp"
-; V56 tmp37 [V56,T61] ( 4, 4 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "dup spill" <System.String>
+; V53 tmp34 [V53,T50] ( 6, 5 ) int -> [rbp-0x5C] spill-single-def "Inlining Arg"
+; V54 tmp35 [V54,T86] ( 5, 2 ) int -> [rbp-0x60] spill-single-def "Inline stloc first use temp"
+; V55 tmp36 [V55,T103] ( 2, 1 ) long -> [rbp-0x68] spill-single-def "Inline stloc first use temp"
+; V56 tmp37 [V56,T61] ( 4, 4 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "dup spill" <System.String>
;* V57 tmp38 [V57 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V58 tmp39 [V58 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V59 tmp40 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Xml.XmlElement>
;* V60 tmp41 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
;* V61 tmp42 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
-; V62 tmp43 [V62,T35] ( 9, 9 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlElement>
+; V62 tmp43 [V62,T35] ( 9, 9 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlElement>
;* V63 tmp44 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Xml.XmlElement>
-; V64 tmp45 [V64,T51] ( 5, 5 ) ref -> [rbp-0x100] class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlName>
+; V64 tmp45 [V64,T51] ( 5, 5 ) ref -> [rbp-0x110] class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlName>
; V65 tmp46 [V65,T116] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V66 tmp47 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V67 tmp48 [V67,T65] ( 4, 3.50) ref -> rax single-def "spilling varStr"
; V68 tmp49 [V68,T70] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V69 tmp50 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V70 tmp51 [V70,T56] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V71 tmp52 [V71,T71] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V72 tmp53 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V73 tmp54 [V73 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V74 tmp55 [V74,T67] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V75 tmp56 [V75,T98] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V76 tmp57 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V77 tmp58 [V77,T57] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V78 tmp59 [V78,T72] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V79 tmp60 [V79,T77] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
-; V80 tmp61 [V80,T78] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V81 tmp62 [V81,T79] ( 3, 3 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V79 tmp60 [V79,T77] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+; V80 tmp61 [V80,T78] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V81 tmp62 [V81,T79] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V82 tmp63 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V83 tmp64 [V83,T68] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V84 tmp65 [V84,T99] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V85 tmp66 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V86 tmp67 [V86,T66] ( 4, 3.50) ref -> rax single-def "spilling varStr"
; V87 tmp68 [V87,T73] ( 2, 2 ) int -> rdx "spilling unroll qmark"
;* V88 tmp69 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V89 tmp70 [V89,T69] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V90 tmp71 [V90,T100] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V91 tmp72 [V91 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V92 tmp73 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V93 tmp74 [V93,T22] ( 5, 20 ) ref -> rax "spilling varStr"
;* V94 tmp75 [V94,T47] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V95 tmp76 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V96 tmp77 [V96,T24] ( 5, 18 ) ref -> rax "spilling varStr"
; V97 tmp78 [V97,T28] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-; V98 tmp79 [V98,T30] ( 3, 12 ) ref -> r12 class-hnd exact "NewObj constructor temp" <System.Xml.XmlDocument>
-; V99 tmp80 [V99,T31] ( 3, 12 ) ref -> [rbp-0x110] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V100 tmp81 [V100,T23] ( 5, 20 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V98 tmp79 [V98,T30] ( 3, 12 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Xml.XmlDocument>
+; V99 tmp80 [V99,T31] ( 3, 12 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V100 tmp81 [V100,T23] ( 5, 20 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V101 tmp82 [V101 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V102 tmp83 [V102,T06] ( 5, 80 ) ref -> rax "spilling varStr"
;* V103 tmp84 [V103,T19] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V104 tmp85 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V105 tmp86 [V105,T04] ( 4, 88 ) ref -> rax "spilling varStr"
; V106 tmp87 [V106,T11] ( 2, 32 ) int -> rdx "spilling unroll qmark"
;* V107 tmp88 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V108 tmp89 [V108,T05] ( 4, 88 ) ref -> rax "spilling varStr"
; V109 tmp90 [V109,T12] ( 2, 32 ) int -> rdi "spilling unroll qmark"
;* V110 tmp91 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V111 tmp92 [V111,T01] ( 5,104 ) ref -> rax "spilling varStr"
; V112 tmp93 [V112,T13] ( 2, 32 ) int -> rdi "spilling unroll qmark"
;* V113 tmp94 [V113 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V114 tmp95 [V114 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V115 tmp96 [V115,T07] ( 5, 80 ) ref -> rax "spilling varStr"
; V116 tmp97 [V116,T17] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V117 tmp98 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V118 tmp99 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
-; V119 tmp100 [V119,T80] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
+; V119 tmp100 [V119,T80] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
;* V120 tmp101 [V120 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V121 tmp102 [V121 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V122 tmp103 [V122 ] ( 0, 0 ) ref -> zero-ref "field V05._targetTable (fldOffset=0x0)" P-INDEP
; V123 tmp104 [V123,T91] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V124 tmp105 [V124,T81] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V125 tmp106 [V125,T92] ( 2, 2 ) ref -> [rbp-0x120] spill-single-def "argument with side effect"
-; V126 tmp107 [V126,T93] ( 2, 2 ) ref -> [rbp-0x128] spill-single-def "argument with side effect"
+; V124 tmp105 [V124,T81] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+; V125 tmp106 [V125,T92] ( 2, 2 ) ref -> [rbp-0x128] spill-single-def "argument with side effect"
+; V126 tmp107 [V126,T93] ( 2, 2 ) ref -> [rbp-0x130] spill-single-def "argument with side effect"
; V127 tmp108 [V127,T94] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
-; V128 tmp109 [V128,T36] ( 2, 8 ) ref -> [rbp-0x130] spill-single-def "argument with side effect"
+; V128 tmp109 [V128,T36] ( 2, 8 ) ref -> [rbp-0x138] spill-single-def "argument with side effect"
; V129 tmp110 [V129,T37] ( 2, 8 ) ref -> rdx "argument with side effect"
; V130 tmp111 [V130,T38] ( 2, 8 ) ref -> rsi "argument with side effect"
; V131 tmp112 [V131,T39] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V132 tmp113 [V132,T40] ( 2, 8 ) ref -> [rbp-0x138] spill-single-def "argument with side effect"
+; V132 tmp113 [V132,T40] ( 2, 8 ) ref -> [rbp-0x140] spill-single-def "argument with side effect"
; V133 tmp114 [V133,T41] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V134 tmp115 [V134,T82] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V134 tmp115 [V134,T82] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V135 tmp116 [V135,T117] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
; V136 tmp117 [V136,T118] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
; V137 tmp118 [V137,T85] ( 3, 2.25) ref -> rax single-def "argument with side effect"
-; V138 tmp119 [V138,T32] ( 3, 12 ) ref -> rdi "argument with side effect"
+; V138 tmp119 [V138,T32] ( 3, 12 ) ref -> rax "argument with side effect"
; V139 tmp120 [V139,T42] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V140 tmp121 [V140,T14] ( 3, 48 ) ref -> rdi "argument with side effect"
-; V141 tmp122 [V141,T83] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V140 tmp121 [V140,T14] ( 3, 48 ) ref -> rax "argument with side effect"
+; V141 tmp122 [V141,T83] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V142 tmp123 [V142,T119] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V143 PSPSym [V143,T104] ( 1, 1 ) long -> [rbp-0x150] do-not-enreg[V] "PSPSym"
-; V144 cse0 [V144,T09] ( 15, 60.50) long -> [rbp-0x68] multi-def "CSE #03: aggressive"
-; V145 cse1 [V145,T03] ( 26, 99.50) long -> [rbp-0x70] multi-def "CSE #07: aggressive"
-; V146 cse2 [V146,T58] ( 2, 4.25) long -> [rbp-0x78] spill-single-def hoist "CSE #12: conservative"
-; V147 cse3 [V147,T52] ( 4, 5 ) long -> [rbp-0x80] spill-single-def "CSE #14: conservative"
-; V148 cse4 [V148,T88] ( 4, 2 ) byref -> [rbp-0x140] spill-single-def "CSE #06: conservative"
+; V144 cse0 [V144,T09] ( 15, 60.50) long -> [rbp-0x70] multi-def "CSE #03: aggressive"
+; V145 cse1 [V145,T03] ( 26, 99.50) long -> [rbp-0x78] multi-def "CSE #07: aggressive"
+; V146 cse2 [V146,T58] ( 2, 4.25) long -> [rbp-0x80] spill-single-def hoist "CSE #12: conservative"
+; V147 cse3 [V147,T52] ( 4, 5 ) long -> [rbp-0x88] spill-single-def "CSE #14: conservative"
+; V148 cse4 [V148,T88] ( 4, 2 ) byref -> [rbp-0x148] spill-single-def "CSE #06: conservative"
; V149 cse5 [V149,T89] ( 4, 2 ) ref -> rdi "CSE #01: conservative"
-; V150 cse6 [V150,T10] ( 26, 60.25) long -> [rbp-0x88] multi-def "CSE #02: aggressive"
+; V150 cse6 [V150,T10] ( 26, 60.25) long -> [rbp-0x90] multi-def "CSE #02: aggressive"
; V151 rat0 [V151,T62] ( 5, 3.75) ref -> registers "replacement local"
; V152 rat1 [V152,T101] ( 3, 1.25) long -> rdi "CSE for expectedClsNode"
; V153 rat2 [V153,T109] ( 3, 12 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V154 rat3 [V154,T111] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V155 rat4 [V155,T112] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V156 rat5 [V156,T113] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V157 rat6 [V157,T114] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V158 rat7 [V158,T115] ( 3, 3 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V159 rat8 [V159,T110] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V160 rat9 [V160,T105] ( 3, 48 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V161 rat10 [V161,T106] ( 3, 48 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V162 rat11 [V162,T107] ( 3, 48 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V163 rat12 [V163,T108] ( 3, 48 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 296
G_M35848_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 296
lea rbp, [rsp+0x150]
mov qword ptr [rbp-0x150], rsp
- mov r14, rdi
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x98], rdi
mov rbx, rsi
mov r15d, edx
- mov r13d, ecx
- ;; size=44 bbWeight=1 PerfScore 8.75
+ mov r14d, ecx
+ ;; size=52 bbWeight=1 PerfScore 10.50
G_M35848_IG02:
- xor rdi, rdi
- mov gword ptr [rbp-0x90], rdi
+ xor rax, rax
+ mov gword ptr [rbp-0xA0], rax
;; size=9 bbWeight=1 PerfScore 1.25
G_M35848_IG03:
- mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.TypeLimiter:EnterRestrictedScope(System.Data.DataTable):System.IDisposable
call [rax]System.Data.TypeLimiter:EnterRestrictedScope(System.Data.DataTable):System.IDisposable
- mov gword ptr [rbp-0x90], rax
+ mov gword ptr [rbp-0xA0], rax
+ xor r13d, r13d
xor r12d, r12d
xor eax, eax
- mov dword ptr [rbp-0x2C], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x30], ecx
- mov dword ptr [rbp-0x34], -1
- mov dword ptr [rbp-0x38], r15d
+ mov dword ptr [rbp-0x34], eax
+ mov dword ptr [rbp-0x38], -1
+ mov dword ptr [rbp-0x3C], r15d
xor rdi, rdi
- mov gword ptr [r14+0x190], rdi
+ mov r8, gword ptr [rbp-0x98]
+ mov gword ptr [r8+0x190], rdi
test rbx, rbx
jne SHORT G_M35848_IG05
- ;; size=60 bbWeight=1 PerfScore 11.75
+ ;; size=62 bbWeight=1 PerfScore 11.50
G_M35848_IG04:
jmp G_M35848_IG110
;; size=5 bbWeight=0.50 PerfScore 1.00
G_M35848_IG05:
- mov rdi, gword ptr [r14+0x18]
+ mov rdi, gword ptr [r8+0x18]
test rdi, rdi
je SHORT G_M35848_IG06
movzx r9, byte ptr [rdi+0x98]
- mov dword ptr [rbp-0x3C], r9d
+ mov dword ptr [rbp-0x40], r9d
xor esi, esi
mov r10, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [r10]System.Data.DataSet:set_EnforceConstraints(ubyte):this
jmp SHORT G_M35848_IG07
;; size=38 bbWeight=0.50 PerfScore 5.88
G_M35848_IG06:
- mov rdi, r14
+ mov r8, gword ptr [rbp-0x98]
+ mov rdi, r8
mov rsi, 0xD1FFAB1E ; code for System.Data.DataTable:get_EnforceConstraints():ubyte:this
call [rsi]System.Data.DataTable:get_EnforceConstraints():ubyte:this
- mov dword ptr [rbp-0x3C], eax
- mov rdi, r14
+ mov dword ptr [rbp-0x40], eax
+ mov rdi, gword ptr [rbp-0x98]
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Data.DataTable:set_EnforceConstraints(ubyte):this
call [rcx]System.Data.DataTable:set_EnforceConstraints(ubyte):this
- ;; size=35 bbWeight=0.50 PerfScore 4.12
+ ;; size=46 bbWeight=0.50 PerfScore 5.00
G_M35848_IG07:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.Xml.XmlTextReader
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M35848_IG08
mov rdi, gword ptr [rbx+0x08]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:set_WhitespaceHandling(int):this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlTextReaderImpl:set_WhitespaceHandling(int):this
;; size=53 bbWeight=0.50 PerfScore 6.75
G_M35848_IG08:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xC0], rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xC8], rax
+ mov gword ptr [rbp-0xD8], rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xD0], rax
+ mov gword ptr [rbp-0xE0], rax
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
call [rcx]System.Xml.NameTable:.ctor():this
- mov rax, gword ptr [rbp-0xC8]
+ mov rax, gword ptr [rbp-0xD8]
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0xD0]
+ mov rsi, gword ptr [rbp-0xE0]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0xB0]
- mov rsi, gword ptr [rbp-0xC8]
+ mov rdi, gword ptr [rbp-0xC0]
+ mov rsi, gword ptr [rbp-0xD8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rax, gword ptr [rbp-0xB0]
- mov gword ptr [rbp-0x98], rax
- cmp dword ptr [rbp-0x38], 5
+ mov rax, gword ptr [rbp-0xC0]
+ mov gword ptr [rbp-0xA8], rax
+ cmp dword ptr [rbp-0x3C], 5
je SHORT G_M35848_IG09
mov rdi, rbx
mov rdx, qword ptr [rbx]
- mov qword ptr [rbp-0x88], rdx
+ mov qword ptr [rbp-0x90], rdx
mov rsi, qword ptr [rdx+0x40]
call [rsi+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 1
jne SHORT G_M35848_IG09
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx+0x20]System.Xml.XmlReader:get_Depth():int:this
- mov dword ptr [rbp-0x34], eax
+ mov dword ptr [rbp-0x38], eax
;; size=195 bbWeight=0.50 PerfScore 20.38
G_M35848_IG09:
mov rdi, rbx
mov rdx, qword ptr [rbx]
- mov qword ptr [rbp-0x88], rdx
+ mov qword ptr [rbp-0x90], rdx
mov rsi, qword ptr [rdx+0x90]
call [rsi+0x18]System.Xml.XmlReader:MoveToContent():int:this
- mov rdi, gword ptr [r14+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne SHORT G_M35848_IG10
- mov rdi, r14
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
call [rax]System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
test eax, eax
je SHORT G_M35848_IG10
mov rdi, rbx
- mov r14, qword ptr [rbp-0x88]
+ mov r14, qword ptr [rbp-0x90]
mov rax, qword ptr [r14+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=92 bbWeight=0.50 PerfScore 16.88
+ ;; size=113 bbWeight=0.50 PerfScore 18.38
G_M35848_IG10:
xor rax, rax
- mov gword ptr [rbp-0xA0], rax
+ mov gword ptr [rbp-0xB0], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x88]
+ mov rcx, qword ptr [rbp-0x90]
mov rsi, qword ptr [rcx+0x40]
mov rdx, rsi
- mov qword ptr [rbp-0x68], rdx
+ mov qword ptr [rbp-0x70], rdx
call [rdx+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 1
jne G_M35848_IG100
- cmp dword ptr [rbp-0x38], 5
+ cmp dword ptr [rbp-0x3C], 5
jne G_M35848_IG30
mov rcx, 0xD1FFAB1E
- mov bword ptr [rbp-0x140], rcx
+ mov bword ptr [rbp-0x148], rcx
mov rdi, rcx
mov esi, 58
mov edx, 16
mov r8, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- mov dword ptr [rbp-0x48], eax
+ mov dword ptr [rbp-0x4C], eax
cmp eax, -1
je SHORT G_M35848_IG11
test eax, eax
je SHORT G_M35848_IG11
cmp eax, 15
jne G_M35848_IG66
;; size=116 bbWeight=0.50 PerfScore 11.50
G_M35848_IG11:
mov rcx, 0xD1FFAB1E ; ''
- mov gword ptr [rbp-0xD8], rcx
+ mov gword ptr [rbp-0xE8], rcx
mov rdx, 0xD1FFAB1E ; 'ds_sqlXmlWraPPeR'
- mov gword ptr [rbp-0xE0], rdx
+ mov gword ptr [rbp-0xF0], rdx
;; size=34 bbWeight=0.50 PerfScore 1.25
G_M35848_IG12:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlElement
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xF8], rax
- mov r9, gword ptr [rbp-0x98]
+ mov gword ptr [rbp-0x108], rax
+ mov r9, gword ptr [rbp-0xA8]
mov rdi, gword ptr [r9+0x18]
- mov rsi, gword ptr [rbp-0xD8]
- mov rdx, gword ptr [rbp-0xE0]
+ mov rsi, gword ptr [rbp-0xE8]
+ mov rdx, gword ptr [rbp-0xF0]
mov rcx, 0xD1FFAB1E ; ''
xor r8, r8
mov r10, 0xD1FFAB1E ; code for System.Xml.DomNameTable:AddName(System.String,System.String,System.String,System.Xml.Schema.IXmlSchemaInfo):System.Xml.XmlName:this
cmp dword ptr [rdi], edi
call [r10]System.Xml.DomNameTable:AddName(System.String,System.String,System.String,System.Xml.Schema.IXmlSchemaInfo):System.Xml.XmlName:this
- mov gword ptr [rbp-0x100], rax
- mov rdi, gword ptr [rbp-0xF8]
- mov rsi, gword ptr [rbp-0x98]
+ mov gword ptr [rbp-0x110], rax
+ mov rdi, gword ptr [rbp-0x108]
+ mov rsi, gword ptr [rbp-0xA8]
mov rcx, 0xD1FFAB1E ; code for System.Xml.XmlNode:.ctor(System.Xml.XmlDocument):this
call [rcx]System.Xml.XmlNode:.ctor(System.Xml.XmlDocument):this
xor rdi, rdi
- mov rax, gword ptr [rbp-0xF8]
+ mov rax, gword ptr [rbp-0x108]
mov gword ptr [rax+0x10], rdi
;; size=121 bbWeight=0.50 PerfScore 11.25
G_M35848_IG13:
mov gword ptr [rax+0x08], rdi
- mov rcx, gword ptr [rbp-0x98]
+ mov rcx, gword ptr [rbp-0xA8]
cmp byte ptr [rcx+0x11D], 0
jne SHORT G_M35848_IG14
- mov rdx, gword ptr [rbp-0x100]
+ mov rdx, gword ptr [rbp-0x110]
mov rdi, gword ptr [rdx+0x08]
mov rsi, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CheckName(System.String)
call [rsi]System.Xml.XmlDocument:CheckName(System.String)
- mov rax, gword ptr [rbp-0x100]
+ mov rax, gword ptr [rbp-0x110]
mov rdi, gword ptr [rax+0x10]
mov rcx, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CheckName(System.String)
call [rcx]System.Xml.XmlDocument:CheckName(System.String)
;; size=66 bbWeight=0.50 PerfScore 9.25
G_M35848_IG14:
- mov rdx, gword ptr [rbp-0x100]
+ mov rdx, gword ptr [rbp-0x110]
mov rdi, gword ptr [rdx+0x10]
cmp dword ptr [rdi+0x08], 0
je G_M35848_IG109
- mov rax, gword ptr [rbp-0xF8]
+ mov rax, gword ptr [rbp-0x108]
lea rdi, bword ptr [rax+0x18]
mov rsi, rdx
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xF8]
+ mov rax, gword ptr [rbp-0x108]
lea rdi, bword ptr [rax+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0xA8]
cmp byte ptr [rax+0x11D], 0
jne SHORT G_M35848_IG15
mov rdi, rax
- mov rsi, gword ptr [rbp-0xF8]
+ mov rsi, gword ptr [rbp-0x108]
mov rcx, 0xD1FFAB1E ; code for System.Xml.XmlDocument:AddDefaultAttributes(System.Xml.XmlElement):this
call [rcx]System.Xml.XmlDocument:AddDefaultAttributes(System.Xml.XmlElement):this
- mov rax, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0xA8]
;; size=104 bbWeight=0.50 PerfScore 11.50
G_M35848_IG15:
mov rdi, rax
- mov rsi, gword ptr [rbp-0xF8]
+ mov rsi, gword ptr [rbp-0x108]
mov rcx, 0xD1FFAB1E ; code for System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
call [rcx]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
- mov rdi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0xA8]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:FindChild(int):System.Xml.XmlNode:this
call [rax]System.Xml.XmlNode:FindChild(int):System.Xml.XmlNode:this
mov rcx, rax
test rcx, rcx
je SHORT G_M35848_IG18
;; size=54 bbWeight=0.50 PerfScore 5.25
G_M35848_IG16:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlElement
cmp qword ptr [rcx], rdi
je SHORT G_M35848_IG18
;; size=15 bbWeight=0.25 PerfScore 1.06
G_M35848_IG17:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=0.12 PerfScore 0.47
G_M35848_IG18:
- mov gword ptr [rbp-0xA8], rcx
+ mov gword ptr [rbp-0xB8], rcx
;; size=7 bbWeight=0.50 PerfScore 0.50
G_M35848_IG19:
mov rdi, rbx
- mov esi, dword ptr [rbp-0x34]
+ mov esi, dword ptr [rbp-0x38]
mov rcx, 0xD1FFAB1E ; code for System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rcx]System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
test eax, eax
je G_M35848_IG28
;; size=26 bbWeight=0.50 PerfScore 2.88
G_M35848_IG20:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG72
;; size=19 bbWeight=4 PerfScore 22.00
G_M35848_IG21:
cmp dword ptr [rax+0x08], 6
jne G_M35848_IG72
;; size=10 bbWeight=1 PerfScore 4.00
G_M35848_IG22:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne G_M35848_IG72
;; size=31 bbWeight=0.50 PerfScore 3.38
G_M35848_IG23:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35848_IG72
;; size=25 bbWeight=2 PerfScore 15.00
G_M35848_IG24:
cmp dword ptr [rax+0x08], 34
jne G_M35848_IG72
;; size=10 bbWeight=1 PerfScore 4.00
G_M35848_IG25:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD00]
vmovups zmm1, zmmword ptr [rax+0x10]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD64], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je G_M35848_IG72
- mov edi, r12d
- or edi, dword ptr [rbp-0x2C]
+ mov edi, r13d
+ or edi, r12d
je G_M35848_IG98
- ;; size=79 bbWeight=2 PerfScore 43.50
+ ;; size=79 bbWeight=2 PerfScore 40.00
G_M35848_IG26:
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x88]
- mov rdx, qword ptr [rcx+0x80]
- call [rdx+0x30]System.Xml.XmlReader:Skip():this
+ mov rax, qword ptr [rbp-0x90]
+ mov rcx, qword ptr [rax+0x80]
+ call [rcx+0x30]System.Xml.XmlReader:Skip():this
;; size=20 bbWeight=8 PerfScore 50.00
G_M35848_IG27:
mov rdi, rbx
- mov esi, dword ptr [rbp-0x34]
+ mov esi, dword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rax]System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
test eax, eax
jne G_M35848_IG20
;; size=26 bbWeight=4 PerfScore 23.00
G_M35848_IG28:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
- mov rdi, gword ptr [rbp-0x98]
- mov rsi, gword ptr [rbp-0xA8]
+ mov rdi, gword ptr [rbp-0xA8]
+ mov rsi, gword ptr [rbp-0xB8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
call [rax]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
- cmp gword ptr [rbp-0xA0], 0
+ cmp gword ptr [rbp-0xB0], 0
jne G_M35848_IG29
mov rdi, 0xD1FFAB1E ; System.Data.XmlDataLoader
call CORINFO_HELP_NEWSFAST
mov rbx, rax
xor rdi, rdi
mov gword ptr [rbx+0x08], rdi
lea rdi, bword ptr [rbx+0x30]
- mov rsi, r14
+ mov rsi, gword ptr [rbp-0x98]
call CORINFO_HELP_ASSIGN_REF
mov byte ptr [rbx+0xA3], 1
mov rdi, 0xD1FFAB1E ; System.Collections.Hashtable
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
vmovss xmm0, dword ptr [reloc @RWD128]
- mov rdi, r13
+ mov rdi, r14
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
lea rdi, bword ptr [rbx+0x18]
- mov rsi, r13
+ mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
- mov r13d, dword ptr [rbp-0x30]
- mov byte ptr [rbx+0xA0], r13b
+ mov r14d, dword ptr [rbp-0x34]
+ mov byte ptr [rbx+0xA0], r14b
cmp r15d, 2
sete dil
mov byte ptr [rbx+0xA2], dil
- ;; size=179 bbWeight=0.50 PerfScore 15.75
+ ;; size=183 bbWeight=0.50 PerfScore 16.12
G_M35848_IG29:
cmp r15d, 4
jne G_M35848_IG99
- mov rdi, r14
- mov esi, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x98]
+ mov esi, dword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r15d, dword ptr [rbp-0x38]
+ mov r15d, dword ptr [rbp-0x3C]
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=37 bbWeight=0.50 PerfScore 4.38
+ ;; size=48 bbWeight=0.50 PerfScore 5.25
G_M35848_IG30:
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x68]
+ mov rcx, qword ptr [rbp-0x70]
call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG36
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M35848_IG31:
cmp dword ptr [rax+0x08], 8
jne G_M35848_IG36
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35848_IG32:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD144]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
je G_M35848_IG36
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
- mov qword ptr [rbp-0x70], rcx
+ mov qword ptr [rbp-0x78], rcx
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35848_IG36
;; size=63 bbWeight=0.50 PerfScore 10.00
G_M35848_IG33:
cmp dword ptr [rax+0x08], 41
jne G_M35848_IG36
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35848_IG34:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD192]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD256], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35848_IG36
cmp r15d, 4
je SHORT G_M35848_IG35
cmp r15d, 2
jne G_M35848_IG63
;; size=79 bbWeight=0.50 PerfScore 10.50
G_M35848_IG35:
- mov rdi, gword ptr [r14+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne G_M35848_IG64
mov rdi, rbx
- mov r12, qword ptr [rbp-0x70]
- call [r12+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
+ mov r13, qword ptr [rbp-0x78]
+ call [r13+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
test eax, eax
je G_M35848_IG108
mov rdi, rbx
- mov r14, qword ptr [rbp-0x88]
+ mov r14, qword ptr [rbp-0x90]
mov rax, qword ptr [r14+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
mov r15d, 4
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=77 bbWeight=0.50 PerfScore 13.12
+ ;; size=93 bbWeight=0.50 PerfScore 14.25
G_M35848_IG36:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG42
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M35848_IG37:
cmp dword ptr [rax+0x08], 6
jne G_M35848_IG42
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35848_IG38:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne G_M35848_IG42
;; size=31 bbWeight=0.12 PerfScore 0.84
G_M35848_IG39:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35848_IG42
;; size=25 bbWeight=0.50 PerfScore 3.75
G_M35848_IG40:
cmp dword ptr [rax+0x08], 34
jne G_M35848_IG42
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35848_IG41:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD00]
vmovups zmm1, zmmword ptr [rax+0x10]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD64], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je G_M35848_IG42
cmp r15d, 2
je G_M35848_IG61
cmp r15d, 3
je G_M35848_IG61
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov r13, rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x108], rax
- mov rdi, rax
- mov rcx, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
- call [rcx]System.Xml.NameTable:.ctor():this
- lea rdi, bword ptr [r12+0x08]
- mov rsi, gword ptr [rbp-0x108]
- call CORINFO_HELP_ASSIGN_REF
- mov rdi, r13
+ mov r12, rax
+ mov rdi, r12
+ mov rax, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
+ call [rax]System.Xml.NameTable:.ctor():this
+ lea rdi, bword ptr [r13+0x08]
mov rsi, r12
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, r14
+ mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rdi, r13
+ mov rdi, r14
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
jmp G_M35848_IG62
- ;; size=218 bbWeight=0.50 PerfScore 20.88
+ ;; size=209 bbWeight=0.50 PerfScore 20.12
G_M35848_IG42:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG48
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M35848_IG43:
cmp dword ptr [rax+0x08], 6
jne G_M35848_IG48
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35848_IG44:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M35848_IG48
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M35848_IG45:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M35848_IG48
;; size=21 bbWeight=0.50 PerfScore 3.75
G_M35848_IG46:
cmp dword ptr [rax+0x08], 32
jne SHORT G_M35848_IG48
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M35848_IG47:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD320]
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dl
movzx rdx, dl
test edx, edx
je SHORT G_M35848_IG48
cmp r15d, 2
je G_M35848_IG59
cmp r15d, 3
je G_M35848_IG59
- movzx rdx, r13b
- mov rdi, r14
+ movzx rdx, r14b
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
call [rax]System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
jmp G_M35848_IG60
- ;; size=87 bbWeight=0.50 PerfScore 10.50
+ ;; size=91 bbWeight=0.50 PerfScore 10.88
G_M35848_IG48:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M35848_IG52
;; size=15 bbWeight=0.50 PerfScore 2.75
G_M35848_IG49:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M35848_IG52
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M35848_IG50:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M35848_IG52
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M35848_IG51:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 18
jl SHORT G_M35848_IG52
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x10]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
jne G_M35848_IG101
;; size=72 bbWeight=0.50 PerfScore 15.88
G_M35848_IG52:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
- mov qword ptr [rbp-0x70], rcx
+ mov qword ptr [rbp-0x78], rcx
call [rcx+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
- mov gword ptr [rbp-0x120], rax
- mov rdi, rbx
- mov rcx, qword ptr [rbp-0x68]
- call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
mov gword ptr [rbp-0x128], rax
mov rdi, rbx
mov rcx, qword ptr [rbp-0x70]
+ call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
+ mov gword ptr [rbp-0x130], rax
+ mov rdi, rbx
+ mov rcx, qword ptr [rbp-0x78]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
mov rcx, rax
- mov rsi, gword ptr [rbp-0x120]
- mov rdx, gword ptr [rbp-0x128]
- mov rdi, gword ptr [rbp-0x98]
+ mov rsi, gword ptr [rbp-0x128]
+ mov rdx, gword ptr [rbp-0x130]
+ mov rdi, gword ptr [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
call [rax]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
- mov gword ptr [rbp-0xA8], rax
+ mov gword ptr [rbp-0xB8], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x88]
+ mov rcx, qword ptr [rbp-0x90]
mov rdx, qword ptr [rcx+0xA0]
call [rdx+0x38]System.Xml.XmlReader:get_HasAttributes():ubyte:this
test eax, eax
je G_M35848_IG58
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x70]
- mov qword ptr [rbp-0x80], rcx
+ mov qword ptr [rbp-0x88], rcx
call [rcx+0x20]System.Xml.XmlReader:get_AttributeCount():int:this
- mov dword ptr [rbp-0x40], eax
+ mov dword ptr [rbp-0x44], eax
xor ecx, ecx
test eax, eax
jle G_M35848_IG58
- ;; size=159 bbWeight=0.50 PerfScore 21.25
+ ;; size=162 bbWeight=0.50 PerfScore 21.25
G_M35848_IG53:
- mov rdx, qword ptr [rbp-0x88]
+ mov rdx, qword ptr [rbp-0x90]
mov r8, qword ptr [rdx+0x78]
- mov qword ptr [rbp-0x78], r8
+ mov qword ptr [rbp-0x80], r8
;; size=15 bbWeight=0.25 PerfScore 1.00
G_M35848_IG54:
mov rdi, rbx
- mov dword ptr [rbp-0x44], ecx
+ mov dword ptr [rbp-0x48], ecx
mov esi, ecx
call [r8+0x28]System.Xml.XmlReader:MoveToAttribute(int):this
mov rdi, rbx
- mov rax, qword ptr [rbp-0x70]
+ mov rax, qword ptr [rbp-0x78]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 29
jne SHORT G_M35848_IG56
;; size=27 bbWeight=4 PerfScore 51.00
G_M35848_IG55:
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x26]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD416], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35848_IG56
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x30]System.Xml.XmlReader:get_Name():System.String:this
- mov gword ptr [rbp-0x138], rax
+ mov gword ptr [rbp-0x140], rax
mov rdi, rbx
- mov esi, dword ptr [rbp-0x44]
- mov rcx, qword ptr [rbp-0x80]
+ mov esi, dword ptr [rbp-0x48]
+ mov rcx, qword ptr [rbp-0x88]
call [rcx+0x38]System.Xml.XmlReader:GetAttribute(int):System.String:this
mov rdx, rax
- mov rsi, gword ptr [rbp-0x138]
- mov rdi, gword ptr [rbp-0xA8]
- mov gword ptr [rbp-0xA8], rdi
+ mov rsi, gword ptr [rbp-0x140]
+ mov rdi, gword ptr [rbp-0xB8]
+ mov gword ptr [rbp-0xB8], rdi
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x88]
call [rax]System.Xml.XmlElement:SetAttribute(System.String,System.String):this
jmp G_M35848_IG57
- ;; size=117 bbWeight=2 PerfScore 88.50
+ ;; size=120 bbWeight=2 PerfScore 88.50
G_M35848_IG56:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
- mov gword ptr [rbp-0x130], rax
+ mov gword ptr [rbp-0x138], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x70]
+ mov rcx, qword ptr [rbp-0x78]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
mov rdx, rax
- mov rsi, gword ptr [rbp-0x130]
- mov rdi, gword ptr [rbp-0xA8]
- mov gword ptr [rbp-0xA8], rdi
+ mov rsi, gword ptr [rbp-0x138]
+ mov rdi, gword ptr [rbp-0xB8]
+ mov gword ptr [rbp-0xB8], rdi
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x90]
call [rax+0x10]System.Xml.XmlElement:SetAttributeNode(System.String,System.String):System.Xml.XmlAttribute:this
- mov gword ptr [rbp-0xC0], rax
+ mov gword ptr [rbp-0xD0], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x70]
+ mov rcx, qword ptr [rbp-0x78]
call [rcx+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xD0]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x60]
call [rax+0x28]System.Xml.XmlNode:set_Prefix(System.String):this
mov rdi, rbx
- mov esi, dword ptr [rbp-0x44]
- mov rax, qword ptr [rbp-0x80]
+ mov esi, dword ptr [rbp-0x48]
+ mov rax, qword ptr [rbp-0x88]
call [rax+0x38]System.Xml.XmlReader:GetAttribute(int):System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xD0]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
- ;; size=133 bbWeight=2 PerfScore 93.50
+ ;; size=136 bbWeight=2 PerfScore 93.50
G_M35848_IG57:
- mov esi, dword ptr [rbp-0x44]
+ mov esi, dword ptr [rbp-0x48]
inc esi
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x44]
cmp esi, edi
mov ecx, esi
- mov r8, qword ptr [rbp-0x78]
+ mov r8, qword ptr [rbp-0x80]
jl G_M35848_IG54
;; size=22 bbWeight=4 PerfScore 19.00
G_M35848_IG58:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x80]
call [rcx+0x10]System.Xml.XmlReader:Read():ubyte:this
jmp G_M35848_IG19
;; size=25 bbWeight=0.50 PerfScore 4.12
G_M35848_IG59:
mov rdi, rbx
- mov r13, qword ptr [rbp-0x88]
- mov rax, qword ptr [r13+0x80]
+ mov r14, qword ptr [rbp-0x90]
+ mov rax, qword ptr [r14+0x80]
call [rax+0x30]System.Xml.XmlReader:Skip():this
;; size=20 bbWeight=0.50 PerfScore 3.12
G_M35848_IG60:
- mov rdi, r14
- mov esi, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x98]
+ mov esi, dword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=23 bbWeight=0.50 PerfScore 3.25
+ ;; size=34 bbWeight=0.50 PerfScore 4.12
G_M35848_IG61:
mov rdi, rbx
- mov r13, qword ptr [rbp-0x88]
- mov rax, qword ptr [r13+0x80]
+ mov r14, qword ptr [rbp-0x90]
+ mov rax, qword ptr [r14+0x80]
call [rax+0x30]System.Xml.XmlReader:Skip():this
;; size=20 bbWeight=0.50 PerfScore 3.12
G_M35848_IG62:
- mov rdi, r14
- mov esi, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x98]
+ mov esi, dword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=23 bbWeight=0.50 PerfScore 3.25
+ ;; size=34 bbWeight=0.50 PerfScore 4.12
G_M35848_IG63:
mov rdi, rbx
- mov r13, qword ptr [rbp-0x88]
- mov rax, qword ptr [r13+0x80]
+ mov r14, qword ptr [rbp-0x90]
+ mov rax, qword ptr [r14+0x80]
call [rax+0x30]System.Xml.XmlReader:Skip():this
jmp SHORT G_M35848_IG65
;; size=22 bbWeight=0.50 PerfScore 4.12
G_M35848_IG64:
- mov rdi, r14
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
call [rax]System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
- ;; size=33 bbWeight=0.50 PerfScore 3.62
+ ;; size=37 bbWeight=0.50 PerfScore 4.00
G_M35848_IG65:
- mov rdi, r14
- mov esi, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x98]
+ mov esi, dword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=23 bbWeight=0.50 PerfScore 3.25
+ ;; size=34 bbWeight=0.50 PerfScore 4.12
G_M35848_IG66:
cmp eax, 16
ja G_M35848_IG103
cmp eax, 16
jne SHORT G_M35848_IG67
mov rsi, 0xD1FFAB1E ; 'ds_sqlXmlWraPPeR'
jmp SHORT G_M35848_IG68
;; size=26 bbWeight=0.50 PerfScore 2.38
G_M35848_IG67:
mov ecx, eax
- mov qword ptr [rbp-0x50], rcx
+ mov qword ptr [rbp-0x58], rcx
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov rsi, rax
- mov gword ptr [rbp-0xE8], rsi
+ mov gword ptr [rbp-0xF8], rsi
cmp byte ptr [rsi], sil
lea rdi, bword ptr [rsi+0x0C]
- mov rsi, bword ptr [rbp-0x140]
- mov rdx, qword ptr [rbp-0x50]
+ mov rsi, bword ptr [rbp-0x148]
+ mov rdx, qword ptr [rbp-0x58]
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov rsi, gword ptr [rbp-0xE8]
- mov eax, dword ptr [rbp-0x48]
+ mov rsi, gword ptr [rbp-0xF8]
+ mov eax, dword ptr [rbp-0x4C]
;; size=66 bbWeight=0.50 PerfScore 7.38
G_M35848_IG68:
- mov gword ptr [rbp-0xD8], rsi
+ mov gword ptr [rbp-0xE8], rsi
inc eax
- mov dword ptr [rbp-0x54], eax
+ mov dword ptr [rbp-0x5C], eax
test eax, eax
jne SHORT G_M35848_IG69
mov rdx, 0xD1FFAB1E ; 'ds_sqlXmlWraPPeR'
jmp SHORT G_M35848_IG70
;; size=28 bbWeight=0.50 PerfScore 2.88
G_M35848_IG69:
mov esi, eax
neg esi
add esi, 16
- mov dword ptr [rbp-0x58], esi
+ mov dword ptr [rbp-0x60], esi
test esi, esi
jne SHORT G_M35848_IG71
mov rdx, 0xD1FFAB1E ; ''
;; size=24 bbWeight=0.50 PerfScore 1.62
G_M35848_IG70:
mov rax, rdx
- mov gword ptr [rbp-0xE0], rax
+ mov gword ptr [rbp-0xF0], rax
jmp G_M35848_IG12
;; size=15 bbWeight=0.50 PerfScore 1.62
G_M35848_IG71:
cmp eax, 16
ja G_M35848_IG102
mov edx, esi
- mov qword ptr [rbp-0x60], rdx
+ mov qword ptr [rbp-0x68], rdx
mov edi, esi
call System.String:FastAllocateString(int):System.String
mov rdx, rax
- mov gword ptr [rbp-0xF0], rdx
- mov esi, dword ptr [rbp-0x54]
- mov rdi, bword ptr [rbp-0x140]
+ mov gword ptr [rbp-0x100], rdx
+ mov esi, dword ptr [rbp-0x5C]
+ mov rdi, bword ptr [rbp-0x148]
lea rsi, bword ptr [rdi+2*rsi]
cmp byte ptr [rdx], dl
lea rdi, bword ptr [rdx+0x0C]
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
lea rdx, [rax+rax]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov rdx, gword ptr [rbp-0xF0]
+ mov rdx, gword ptr [rbp-0x100]
jmp SHORT G_M35848_IG70
;; size=81 bbWeight=0.50 PerfScore 9.38
G_M35848_IG72:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG80
;; size=19 bbWeight=16 PerfScore 88.00
G_M35848_IG73:
cmp dword ptr [rax+0x08], 6
jne G_M35848_IG80
;; size=10 bbWeight=4 PerfScore 16.00
G_M35848_IG74:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
- jne SHORT G_M35848_IG80
- ;; size=27 bbWeight=2 PerfScore 13.50
+ jne G_M35848_IG80
+ ;; size=31 bbWeight=2 PerfScore 13.50
G_M35848_IG75:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M35848_IG80
;; size=21 bbWeight=16 PerfScore 120.00
G_M35848_IG76:
cmp dword ptr [rax+0x08], 32
jne SHORT G_M35848_IG80
;; size=6 bbWeight=4 PerfScore 16.00
G_M35848_IG77:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD320]
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dl
movzx rdx, dl
test edx, edx
je SHORT G_M35848_IG80
;; size=40 bbWeight=8 PerfScore 100.00
G_M35848_IG78:
cmp r15d, 2
je G_M35848_IG26
cmp r15d, 3
je G_M35848_IG26
;; size=20 bbWeight=16 PerfScore 40.00
G_M35848_IG79:
- movzx rdx, r13b
- mov rdi, r14
+ movzx rdx, r14b
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
- mov rcx, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
- call [rcx]System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
- mov r12d, 1
+ mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
+ call [rax]System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
+ mov r13d, 1
jmp G_M35848_IG27
- ;; size=33 bbWeight=8 PerfScore 50.00
+ ;; size=37 bbWeight=8 PerfScore 56.00
G_M35848_IG80:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35848_IG89
;; size=19 bbWeight=16 PerfScore 88.00
G_M35848_IG81:
cmp dword ptr [rax+0x08], 8
jne G_M35848_IG89
;; size=10 bbWeight=4 PerfScore 16.00
G_M35848_IG82:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD144]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
je G_M35848_IG89
;; size=34 bbWeight=8 PerfScore 92.00
G_M35848_IG83:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
- mov qword ptr [rbp-0x70], rcx
+ mov qword ptr [rbp-0x78], rcx
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35848_IG89
;; size=29 bbWeight=16 PerfScore 136.00
G_M35848_IG84:
cmp dword ptr [rax+0x08], 41
jne G_M35848_IG89
;; size=10 bbWeight=4 PerfScore 16.00
G_M35848_IG85:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD192]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD256], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35848_IG89
;; size=63 bbWeight=8 PerfScore 148.00
G_M35848_IG86:
cmp r15d, 4
je SHORT G_M35848_IG87
cmp r15d, 2
jne G_M35848_IG26
;; size=16 bbWeight=16 PerfScore 40.00
G_M35848_IG87:
- mov rdi, gword ptr [r14+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne G_M35848_IG97
- ;; size=26 bbWeight=8 PerfScore 98.00
+ ;; size=36 bbWeight=8 PerfScore 108.00
G_M35848_IG88:
mov rdi, rbx
- mov r12, qword ptr [rbp-0x70]
- call [r12+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
+ mov r13, qword ptr [rbp-0x78]
+ call [r13+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
test eax, eax
je G_M35848_IG108
mov rdi, rbx
- mov r13, qword ptr [rbp-0x88]
- mov rax, qword ptr [r13+0x80]
+ mov r14, qword ptr [rbp-0x90]
+ mov rax, qword ptr [r14+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
mov r15d, 4
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=51 bbWeight=0.50 PerfScore 7.00
+ ;; size=57 bbWeight=0.50 PerfScore 7.50
G_M35848_IG89:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M35848_IG93
;; size=15 bbWeight=16 PerfScore 88.00
G_M35848_IG90:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M35848_IG93
;; size=6 bbWeight=4 PerfScore 16.00
G_M35848_IG91:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
sete dil
movzx rdi, dil
test dil, dil
je SHORT G_M35848_IG93
;; size=38 bbWeight=2 PerfScore 16.50
G_M35848_IG92:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x90]
mov rcx, qword ptr [rax+0x48]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 18
jl SHORT G_M35848_IG93
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x10]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
jne G_M35848_IG104
;; size=72 bbWeight=8 PerfScore 254.00
G_M35848_IG93:
cmp r15d, 4
je G_M35848_IG26
;; size=10 bbWeight=16 PerfScore 20.00
G_M35848_IG94:
- mov dword ptr [rbp-0x2C], 1
+ mov r12d, 1
cmp r15d, 3
jne SHORT G_M35848_IG95
- mov rdi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0xA8]
mov rsi, rbx
- mov rcx, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
- call [rcx]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
+ mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
+ call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xA8]
- mov gword ptr [rbp-0xA8], rdi
+ mov rdi, gword ptr [rbp-0xB8]
+ mov gword ptr [rbp-0xB8], rdi
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
jmp G_M35848_IG27
- ;; size=67 bbWeight=2 PerfScore 36.00
+ ;; size=66 bbWeight=2 PerfScore 34.50
G_M35848_IG95:
- mov rdi, gword ptr [r14+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rcx, qword ptr [rdi]
- mov rcx, qword ptr [rcx+0x40]
- call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this
+ mov rdi, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
+ mov rax, qword ptr [rax+0x40]
+ call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
je G_M35848_IG108
- mov rax, gword ptr [rbp-0xA0]
+ mov rax, gword ptr [rbp-0xB0]
test rax, rax
jne SHORT G_M35848_IG96
mov rdi, 0xD1FFAB1E ; System.Data.XmlDataLoader
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xB8], rax
+ mov gword ptr [rbp-0xC8], rax
cmp r15d, 2
sete r8b
movzx r8, r8b
mov rdi, rax
- mov rsi, r14
- mov edx, dword ptr [rbp-0x30]
- mov rcx, gword ptr [rbp-0xA8]
+ mov rsi, gword ptr [rbp-0x98]
+ mov edx, dword ptr [rbp-0x34]
+ mov rcx, gword ptr [rbp-0xB8]
mov r9, 0xD1FFAB1E ; code for System.Data.XmlDataLoader:.ctor(System.Data.DataTable,ubyte,System.Xml.XmlElement,ubyte):this
call [r9]System.Data.XmlDataLoader:.ctor(System.Data.DataTable,ubyte,System.Xml.XmlElement,ubyte):this
- mov rax, gword ptr [rbp-0xB8]
- ;; size=108 bbWeight=2 PerfScore 50.00
+ mov rax, gword ptr [rbp-0xC8]
+ ;; size=122 bbWeight=2 PerfScore 54.00
G_M35848_IG96:
- mov gword ptr [rbp-0xA0], rax
+ mov gword ptr [rbp-0xB0], rax
mov rdi, rax
mov rsi, rbx
mov rcx, 0xD1FFAB1E ; code for System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
cmp dword ptr [rdi], edi
call [rcx]System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
jmp G_M35848_IG27
;; size=32 bbWeight=2 PerfScore 19.50
G_M35848_IG97:
- mov rdi, r14
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
call [rax]System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
- mov eax, 4
- mov dword ptr [rbp-0x38], eax
+ mov dword ptr [rbp-0x3C], 4
jmp G_M35848_IG27
- ;; size=31 bbWeight=8 PerfScore 56.00
+ ;; size=34 bbWeight=8 PerfScore 60.00
G_M35848_IG98:
cmp r15d, 2
je G_M35848_IG26
cmp r15d, 3
je G_M35848_IG26
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov r13, rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x110], rax
+ mov gword ptr [rbp-0x118], rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x118], rax
+ mov gword ptr [rbp-0x120], rax
mov dword ptr [rax+0x14], 31
mov esi, dword ptr [rax+0x14]
inc esi
movsxd rsi, esi
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable+Entry[]
call CORINFO_HELP_NEWARR_1_OBJ
- mov rcx, gword ptr [rbp-0x118]
+ mov rcx, gword ptr [rbp-0x120]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0x110]
+ mov rax, gword ptr [rbp-0x118]
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0x118]
+ mov rsi, gword ptr [rbp-0x120]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r12
- mov rsi, gword ptr [rbp-0x110]
+ mov rdi, r13
+ mov rsi, gword ptr [rbp-0x118]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rdi, r12
+ mov rdi, r13
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
- mov r12d, 1
+ mov r13d, 1
mov edi, 1
- mov dword ptr [rbp-0x30], edi
+ mov dword ptr [rbp-0x34], edi
jmp G_M35848_IG27
;; size=213 bbWeight=2 PerfScore 62.50
G_M35848_IG99:
cmp r15d, 3
jne SHORT G_M35848_IG100
- mov rdi, gword ptr [r14+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
je G_M35848_IG108
- ;; size=32 bbWeight=0.50 PerfScore 6.75
+ ;; size=42 bbWeight=0.50 PerfScore 7.38
G_M35848_IG100:
- mov rdi, r14
- mov esi, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x98]
+ mov esi, dword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r15d, dword ptr [rbp-0x38]
+ mov r15d, dword ptr [rbp-0x3C]
+ mov r8, gword ptr [rbp-0x98]
jmp G_M35848_IG110
- ;; size=27 bbWeight=0.50 PerfScore 3.75
+ ;; size=38 bbWeight=0.50 PerfScore 4.62
G_M35848_IG101:
- cmp gword ptr [r14+0x18], 0
+ mov r8, gword ptr [rbp-0x98]
+ cmp gword ptr [r8+0x18], 0
je SHORT G_M35848_IG106
jmp SHORT G_M35848_IG105
- ;; size=9 bbWeight=0 PerfScore 0.00
+ ;; size=16 bbWeight=0 PerfScore 0.00
G_M35848_IG102:
mov edi, 0x9A05
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
- mov esi, dword ptr [rbp-0x54]
- mov edx, dword ptr [rbp-0x58]
+ mov esi, dword ptr [rbp-0x5C]
+ mov edx, dword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=42 bbWeight=0 PerfScore 0.00
G_M35848_IG103:
mov edi, 0x9A05
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
- mov edx, dword ptr [rbp-0x48]
+ mov edx, dword ptr [rbp-0x4C]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=41 bbWeight=0 PerfScore 0.00
G_M35848_IG104:
- cmp gword ptr [r14+0x18], 0
+ mov r8, gword ptr [rbp-0x98]
+ cmp gword ptr [r8+0x18], 0
je SHORT G_M35848_IG106
- ;; size=7 bbWeight=0 PerfScore 0.00
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M35848_IG105:
- mov rdi, gword ptr [r14+0x18]
- mov ebx, dword ptr [rbp-0x3C]
+ mov r8, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [r8+0x18]
+ mov ebx, dword ptr [rbp-0x40]
mov byte ptr [rdi+0x98], bl
jmp SHORT G_M35848_IG107
- ;; size=15 bbWeight=0 PerfScore 0.00
+ ;; size=22 bbWeight=0 PerfScore 0.00
G_M35848_IG106:
- mov ebx, dword ptr [rbp-0x3C]
- mov byte ptr [r14+0x1CC], bl
- ;; size=10 bbWeight=0 PerfScore 0.00
+ mov r8, gword ptr [rbp-0x98]
+ mov ebx, dword ptr [rbp-0x40]
+ mov byte ptr [r8+0x1CC], bl
+ ;; size=17 bbWeight=0 PerfScore 0.00
G_M35848_IG107:
mov edi, 0x710A
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:DataSetUnsupportedSchema(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:DataSetUnsupportedSchema(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=44 bbWeight=0 PerfScore 0.00
G_M35848_IG108:
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:DataTableInferenceNotSupported():System.Exception
call [rax]System.Data.ExceptionBuilder:DataTableInferenceNotSupported():System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=21 bbWeight=0 PerfScore 0.00
G_M35848_IG109:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xdom_Empty_LocalName():System.String
call [rax]System.SR:get_Xdom_Empty_LocalName():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this
call [rax]System.ArgumentException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
G_M35848_IG110:
- cmp gword ptr [rbp-0x90], 0
+ cmp gword ptr [rbp-0xA0], 0
je SHORT G_M35848_IG112
;; size=10 bbWeight=1 PerfScore 3.00
G_M35848_IG111:
- mov rdi, gword ptr [rbp-0x90]
+ mov rdi, gword ptr [rbp-0xA0]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=20 bbWeight=0.50 PerfScore 2.12
+ mov r8, gword ptr [rbp-0x98]
+ ;; size=27 bbWeight=0.50 PerfScore 2.62
G_M35848_IG112:
mov eax, r15d
;; size=3 bbWeight=1 PerfScore 0.25
G_M35848_IG113:
vzeroupper
add rsp, 296
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
G_M35848_IG114:
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+0x150]
;; size=25 bbWeight=0 PerfScore 0.00
G_M35848_IG115:
- cmp gword ptr [rbp-0x90], 0
+ cmp gword ptr [rbp-0xA0], 0
je SHORT G_M35848_IG116
- mov rdi, gword ptr [rbp-0x90]
+ mov rdi, gword ptr [rbp-0xA0]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=30 bbWeight=0 PerfScore 0.00
G_M35848_IG116:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M35848_IG117:
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 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 00610064002D006Ch
RWD64 dq 00630073003A006Eh, 0061006D00650068h, 0069006D002D0073h, 0073006F00720063h, 002D00740066006Fh, 003A006D006F0063h, 002D006C006D0078h, 0061007400610064h
RWD128 dd 3F800000h ; 1
RWD132 dd 00000000h, 00000000h, 00000000h
RWD144 dq 0066006600690064h, 006D006100720067h
RWD160 dd 00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
dd 00000000h, 00000000h
RWD192 dq 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 00690064002D006Ch
RWD256 dq 006D002D00730061h, 006F007200630069h, 00740066006F0073h, 006D006F0063002Dh, 006C006D0078003Ah, 006600690064002Dh, 0061007200670066h, 00310076002D006Dh
RWD320 dq 0070007400740068h, 0077002F002F003Ah, 0077002E00770077h, 0072006F002E0033h, 00300032002F0067h, 0058002F00310030h, 00630053004C004Dh, 0061006D00650068h
RWD384 dq 002F003A00700074h, 007700770077002Fh, 002E00330077002Eh, 002F00670072006Fh
RWD416 dq 00670072006F002Eh, 003000300032002Fh, 006D0078002F0030h, 002F0073006E006Ch
-; Total bytes of code 4750, prolog size 44, PerfScore 2477.06, instruction count 1028, allocated bytes for code 4762 (MethodHash=313973f7) for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,int,ubyte):int:this (FullOpts)
+; Total bytes of code 4960, prolog size 52, PerfScore 2507.44, instruction count 1051, allocated bytes for code 4972 (MethodHash=313973f7) for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,int,ubyte):int:this (FullOpts)
205 (4.94 % of base) - System.Data.DataTable:ReadXml(System.Xml.XmlReader,ubyte):int:this
; Assembly listing for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,ubyte):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 78 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 31, 22 ) ref -> r15 this class-hnd single-def <System.Data.DataTable>
+; V00 this [V00,T02] ( 31, 22 ) ref -> [rbp-0x88] this class-hnd EH-live single-def <System.Data.DataTable>
; V01 arg1 [V01,T00] ( 70, 80.25) ref -> rbx class-hnd single-def <System.Xml.XmlReader>
-; V02 arg2 [V02,T43] ( 5, 5 ) ubyte -> r14 single-def
-; V03 loc0 [V03,T62] ( 6, 3.50) ref -> [rbp-0x80] do-not-enreg[M] class-hnd EH-live <System.IDisposable>
-; V04 loc1 [V04,T89] ( 3, 2 ) long -> [rbp-0x30] do-not-enreg[Z] EH-live
+; V02 arg2 [V02,T43] ( 5, 5 ) ubyte -> r15 single-def
+; V03 loc0 [V03,T62] ( 6, 3.50) ref -> [rbp-0x90] do-not-enreg[M] class-hnd EH-live <System.IDisposable>
+; V04 loc1 [V04,T89] ( 3, 2 ) long -> [rbp-0x38] do-not-enreg[Z] EH-live
;* V05 loc2 [V05 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Data.DataTable+RowDiffIdUsageSection>
-; V06 loc3 [V06,T44] ( 3, 7 ) ubyte -> r13
-; V07 loc4 [V07,T17] ( 7, 13.50) ubyte -> r12
+; V06 loc3 [V06,T44] ( 3, 7 ) ubyte -> r14
+; V07 loc4 [V07,T17] ( 7, 13.50) ubyte -> r13
;* V08 loc5 [V08 ] ( 0, 0 ) ubyte -> zero-ref
-; V09 loc6 [V09,T52] ( 4, 5.50) ubyte -> [rbp-0x34]
-; V10 loc7 [V10,T55] ( 3, 5 ) int -> [rbp-0x38] spill-single-def
-; V11 loc8 [V11,T46] ( 5, 6 ) int -> [rbp-0x3C]
-; V12 loc9 [V12,T60] ( 10, 4 ) ubyte -> [rbp-0x40]
-; V13 loc10 [V13,T63] ( 4, 3.50) ref -> [rbp-0x88] class-hnd exact spill-single-def <System.Xml.XmlDocument>
-; V14 loc11 [V14,T42] ( 5, 7 ) ref -> [rbp-0x90] class-hnd <System.Data.XmlDataLoader>
-; V15 loc12 [V15,T51] ( 10, 5.50) int -> r13
-; V16 loc13 [V16,T14] ( 9, 15 ) ref -> [rbp-0x98] class-hnd spill-single-def <System.Xml.XmlElement>
-; V17 loc14 [V17,T56] ( 3, 5 ) int -> [rbp-0x44] spill-single-def
-; V18 loc15 [V18,T06] ( 7, 20.50) int -> [rbp-0x48]
+; V09 loc6 [V09,T52] ( 4, 5.50) ubyte -> r12
+; V10 loc7 [V10,T55] ( 3, 5 ) int -> [rbp-0x3C] spill-single-def
+; V11 loc8 [V11,T46] ( 5, 6 ) int -> [rbp-0x40]
+; V12 loc9 [V12,T60] ( 10, 4 ) ubyte -> [rbp-0x44]
+; V13 loc10 [V13,T63] ( 4, 3.50) ref -> [rbp-0x98] class-hnd exact spill-single-def <System.Xml.XmlDocument>
+; V14 loc11 [V14,T42] ( 5, 7 ) ref -> [rbp-0xA0] class-hnd <System.Data.XmlDataLoader>
+; V15 loc12 [V15,T51] ( 10, 5.50) int -> r12
+; V16 loc13 [V16,T14] ( 9, 15 ) ref -> [rbp-0xA8] class-hnd spill-single-def <System.Xml.XmlElement>
+; V17 loc14 [V17,T56] ( 3, 5 ) int -> [rbp-0x48] spill-single-def
+; V18 loc15 [V18,T06] ( 7, 20.50) int -> [rbp-0x4C]
;* V19 loc16 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;# V20 OutArgs [V20 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V21 tmp1 [V21,T54] ( 3, 5 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-; V22 tmp2 [V22,T73] ( 3, 3 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+; V21 tmp1 [V21,T54] ( 3, 5 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+; V22 tmp2 [V22,T73] ( 3, 3 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
;* V23 tmp3 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V24 tmp4 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
; V25 tmp5 [V25,T47] ( 3, 6 ) int -> rax
-; V26 tmp6 [V26,T01] ( 10, 40 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
+; V26 tmp6 [V26,T01] ( 10, 40 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
; V27 tmp7 [V27,T13] ( 4, 16 ) ref -> rax "spilling varStr"
; V28 tmp8 [V28,T32] ( 2, 8 ) int -> rdi "spilling unroll qmark"
; V29 tmp9 [V29,T41] ( 7, 7 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
; V30 tmp10 [V30,T03] ( 4, 24 ) ref -> rax "spilling varStr"
; V31 tmp11 [V31,T33] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V32 tmp12 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
-; V33 tmp13 [V33,T07] ( 5, 20 ) ref -> [rbp-0xB0] class-hnd spill-single-def "dup spill" <System.Xml.XmlAttribute>
+; V33 tmp13 [V33,T07] ( 5, 20 ) ref -> [rbp-0xC0] class-hnd spill-single-def "dup spill" <System.Xml.XmlAttribute>
;* V34 tmp14 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
; V35 tmp15 [V35,T61] ( 4, 4 ) ref -> rax single-def "spilling varStr"
; V36 tmp16 [V36,T87] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V37 tmp17 [V37,T90] ( 3, 2 ) long -> rax "Inline return value spill temp"
-; V38 tmp18 [V38,T86] ( 2, 3 ) int -> r12 "Inlining Arg"
-; V39 tmp19 [V39,T74] ( 3, 3 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
+; V37 tmp17 [V37,T90] ( 3, 2 ) long -> r12 "Inline return value spill temp"
+; V38 tmp18 [V38,T86] ( 2, 3 ) int -> r13 "Inlining Arg"
+; V39 tmp19 [V39,T74] ( 3, 3 ) ref -> r12 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
; V40 tmp20 [V40,T75] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
;* V41 tmp21 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
-; V42 tmp22 [V42 ] ( 4, 2 ) struct (16) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.TwoObjects>
+; V42 tmp22 [V42 ] ( 4, 2 ) struct (16) [rbp-0x60] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.TwoObjects>
;* V43 tmp23 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V44 tmp24 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V45 tmp25 [V45 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
;* V46 tmp26 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V47 tmp27 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V48 tmp28 [V48 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
;* V49 tmp29 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V50 tmp30 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Xml.XmlTextReader>
-; V51 tmp31 [V51,T76] ( 3, 3 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V52 tmp32 [V52,T77] ( 3, 3 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V51 tmp31 [V51,T76] ( 3, 3 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V52 tmp32 [V52,T77] ( 3, 3 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V53 tmp33 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V54 tmp34 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V55 tmp35 [V55,T64] ( 4, 3.50) ref -> rax single-def "spilling varStr"
; V56 tmp36 [V56,T69] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V57 tmp37 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V58 tmp38 [V58,T57] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V59 tmp39 [V59,T70] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V60 tmp40 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V61 tmp41 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V62 tmp42 [V62,T66] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V63 tmp43 [V63,T97] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V64 tmp44 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V65 tmp45 [V65,T58] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V66 tmp46 [V66,T71] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V67 tmp47 [V67,T78] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
-; V68 tmp48 [V68,T79] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V69 tmp49 [V69,T80] ( 3, 3 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V67 tmp47 [V67,T78] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+; V68 tmp48 [V68,T79] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V69 tmp49 [V69,T80] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V70 tmp50 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V71 tmp51 [V71,T67] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V72 tmp52 [V72,T98] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V73 tmp53 [V73 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V74 tmp54 [V74,T65] ( 4, 3.50) ref -> rax single-def "spilling varStr"
; V75 tmp55 [V75,T72] ( 2, 2 ) int -> rdx "spilling unroll qmark"
;* V76 tmp56 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V77 tmp57 [V77,T68] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V78 tmp58 [V78,T99] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V79 tmp59 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V80 tmp60 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V81 tmp61 [V81,T05] ( 4, 22 ) ref -> rax "spilling varStr"
; V82 tmp62 [V82,T21] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V83 tmp63 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V84 tmp64 [V84,T10] ( 5, 18 ) ref -> rax "spilling varStr"
; V85 tmp65 [V85,T22] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V86 tmp66 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V87 tmp67 [V87,T18] ( 5, 12 ) ref -> rax "spilling varStr"
;* V88 tmp68 [V88,T48] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V89 tmp69 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V90 tmp70 [V90,T11] ( 5, 18 ) ref -> rax "spilling varStr"
; V91 tmp71 [V91,T23] ( 2, 8 ) int -> rdi "spilling unroll qmark"
-; V92 tmp72 [V92,T27] ( 3, 12 ) ref -> r12 class-hnd exact "NewObj constructor temp" <System.Xml.XmlDocument>
-; V93 tmp73 [V93,T28] ( 3, 12 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V92 tmp72 [V92,T27] ( 3, 12 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Xml.XmlDocument>
+; V93 tmp73 [V93,T28] ( 3, 12 ) ref -> r12 class-hnd exact "NewObj constructor temp" <System.Xml.XmlImplementation>
; V94 tmp74 [V94,T08] ( 5, 20 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
;* V95 tmp75 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V96 tmp76 [V96,T19] ( 5, 12 ) ref -> rax "spilling varStr"
;* V97 tmp77 [V97,T49] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V98 tmp78 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V99 tmp79 [V99,T15] ( 4, 14 ) ref -> rax "spilling varStr"
; V100 tmp80 [V100,T24] ( 2, 8 ) int -> rdx "spilling unroll qmark"
;* V101 tmp81 [V101 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V102 tmp82 [V102,T20] ( 5, 12 ) ref -> rax "spilling varStr"
;* V103 tmp83 [V103,T50] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V104 tmp84 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V105 tmp85 [V105 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V106 tmp86 [V106,T16] ( 4, 14 ) ref -> rax "spilling varStr"
; V107 tmp87 [V107,T25] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V108 tmp88 [V108 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V109 tmp89 [V109,T12] ( 5, 18 ) ref -> rax "spilling varStr"
; V110 tmp90 [V110,T26] ( 2, 8 ) int -> rdi "spilling unroll qmark"
;* V111 tmp91 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
; V112 tmp92 [V112,T29] ( 3, 12 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
; V113 tmp93 [V113,T30] ( 3, 12 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Data.DataRow]>
;* V114 tmp94 [V114 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
-; V115 tmp95 [V115,T81] ( 3, 3 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
+; V115 tmp95 [V115,T81] ( 3, 3 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
; V116 tmp96 [V116,T45] ( 6, 6 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
;* V117 tmp97 [V117 ] ( 0, 0 ) ref -> zero-ref "field V05._targetTable (fldOffset=0x0)" P-INDEP
;* V118 tmp98 [V118 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
;* V119 tmp99 [V119 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
;* V120 tmp100 [V120,T102] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
;* V121 tmp101 [V121,T103] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
; V122 tmp102 [V122,T91] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V123 tmp103 [V123,T92] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V124 tmp104 [V124,T82] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V124 tmp104 [V124,T82] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V125 tmp105 [V125,T93] ( 2, 2 ) ref -> [rbp-0xF0] spill-single-def "argument with side effect"
; V126 tmp106 [V126,T94] ( 2, 2 ) ref -> [rbp-0xF8] spill-single-def "argument with side effect"
; V127 tmp107 [V127,T95] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
; V128 tmp108 [V128,T34] ( 2, 8 ) ref -> [rbp-0x100] spill-single-def "argument with side effect"
; V129 tmp109 [V129,T35] ( 2, 8 ) ref -> rdx "argument with side effect"
; V130 tmp110 [V130,T36] ( 2, 8 ) ref -> rsi "argument with side effect"
; V131 tmp111 [V131,T37] ( 2, 8 ) ref -> rsi "argument with side effect"
; V132 tmp112 [V132,T38] ( 2, 8 ) ref -> [rbp-0x108] spill-single-def "argument with side effect"
; V133 tmp113 [V133,T39] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V134 tmp114 [V134,T31] ( 3, 12 ) ref -> rdi "argument with side effect"
+; V134 tmp114 [V134,T31] ( 3, 12 ) ref -> rcx "argument with side effect"
; V135 tmp115 [V135,T40] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V136 tmp116 [V136,T83] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V137 tmp117 [V137,T84] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V136 tmp116 [V136,T83] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+; V137 tmp117 [V137,T84] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V138 PSPSym [V138,T101] ( 1, 1 ) long -> [rbp-0x110] do-not-enreg[V] "PSPSym"
-; V139 cse0 [V139,T85] ( 3, 3 ) ref -> rdi "CSE #05: conservative"
+; V139 cse0 [V139,T85] ( 3, 3 ) ref -> rax "CSE #05: conservative"
;* V140 cse1 [V140,T100] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: conservative"
-; V141 cse2 [V141,T04] ( 17, 22.50) long -> [rbp-0x60] spill-single-def "CSE #09: aggressive"
-; V142 cse3 [V142,T09] ( 14, 19.50) long -> [rbp-0x68] spill-single-def "CSE #08: moderate"
-; V143 cse4 [V143,T59] ( 2, 4.25) long -> [rbp-0x70] spill-single-def hoist "CSE #14: conservative"
-; V144 cse5 [V144,T53] ( 4, 5 ) long -> [rbp-0x78] spill-single-def "CSE #16: conservative"
+; V141 cse2 [V141,T04] ( 17, 22.50) long -> [rbp-0x68] spill-single-def "CSE #09: aggressive"
+; V142 cse3 [V142,T09] ( 14, 19.50) long -> [rbp-0x70] spill-single-def "CSE #08: moderate"
+; V143 cse4 [V143,T59] ( 2, 4.25) long -> [rbp-0x78] spill-single-def hoist "CSE #14: conservative"
+; V144 cse5 [V144,T53] ( 4, 5 ) long -> [rbp-0x80] spill-single-def "CSE #16: conservative"
; V145 cse6 [V145,T88] ( 4, 2 ) ref -> rdi "CSE #06: conservative"
-; V146 cse7 [V146,T96] ( 3, 1.50) ref -> rdi "CSE #27: conservative"
+; V146 cse7 [V146,T96] ( 3, 1.50) ref -> rsi "CSE #27: conservative"
; V147 rat0 [V147,T112] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V148 rat1 [V148,T113] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V149 rat2 [V149,T114] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V150 rat3 [V150,T115] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V151 rat4 [V151,T116] ( 3, 3 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V152 rat5 [V152,T104] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V153 rat6 [V153,T105] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V154 rat7 [V154,T106] ( 3, 12 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V155 rat8 [V155,T107] ( 3, 12 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V156 rat9 [V156,T108] ( 3, 12 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V157 rat10 [V157,T109] ( 3, 12 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V158 rat11 [V158,T110] ( 3, 12 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V159 rat12 [V159,T111] ( 3, 12 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 232
G_M35671_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 232
lea rbp, [rsp+0x110]
xor eax, eax
+ mov qword ptr [rbp-0x60], rax
mov qword ptr [rbp-0x58], rax
- mov qword ptr [rbp-0x50], rax
mov qword ptr [rbp-0x110], rsp
- mov r15, rdi
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x88], rdi
mov rbx, rsi
- mov r14d, edx
- ;; size=51 bbWeight=1 PerfScore 10.75
+ mov r15d, edx
+ ;; size=59 bbWeight=1 PerfScore 12.50
G_M35671_IG02:
- xor rdi, rdi
- mov gword ptr [rbp-0x80], rdi
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
+ xor rax, rax
+ mov gword ptr [rbp-0x90], rax
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
je G_M35671_IG93
- ;; size=25 bbWeight=1 PerfScore 5.50
+ ;; size=28 bbWeight=1 PerfScore 5.50
G_M35671_IG03:
- mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- mov r13, rdi
- mov r12d, dword ptr [r15+0x1C0]
- cmp byte ptr [r13], r13b
- cmp byte ptr [rdi+0x9D], 0
+ mov rax, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
+ mov rax, gword ptr [rax]
+ mov r14, rax
+ mov r13d, dword ptr [rdi+0x1C0]
+ cmp byte ptr [r14], r14b
+ cmp byte ptr [rax+0x9D], 0
jne SHORT G_M35671_IG05
- ;; size=36 bbWeight=1 PerfScore 11.50
+ ;; size=35 bbWeight=1 PerfScore 11.50
G_M35671_IG04:
- xor eax, eax
+ xor r12d, r12d
jmp SHORT G_M35671_IG06
- ;; size=4 bbWeight=0.50 PerfScore 1.12
+ ;; size=5 bbWeight=0.50 PerfScore 1.12
G_M35671_IG05:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xB8], rax
- mov dword ptr [rax+0x08], r12d
+ mov r12, rax
+ mov dword ptr [r12+0x08], r13d
mov rdi, 0xD1FFAB1E ; System.Boolean
call CORINFO_HELP_NEWSFAST
- mov byte ptr [rax+0x08], r14b
+ mov byte ptr [rax+0x08], r15b
vxorps xmm0, xmm0, xmm0
- vmovdqu xmmword ptr [rbp-0x58], xmm0
- mov r12, gword ptr [rbp-0xB8]
- mov gword ptr [rbp-0x58], r12
- mov gword ptr [rbp-0x50], rax
- lea rdx, bword ptr [rbp-0x58]
+ vmovdqu xmmword ptr [rbp-0x60], xmm0
+ mov gword ptr [rbp-0x60], r12
+ mov gword ptr [rbp-0x58], rax
+ lea rdx, bword ptr [rbp-0x60]
mov ecx, 2
xor rdi, rdi
mov rsi, 0xD1FFAB1E ; '<ds.DataTable.ReadXml|INFO> {0}, denyResolving={1}'
mov rax, 0xD1FFAB1E ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
call [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
mov rsi, rax
- mov rdi, r13
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
call [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
- ;; size=120 bbWeight=0.50 PerfScore 9.04
+ mov r12, rax
+ ;; size=113 bbWeight=0.50 PerfScore 8.29
G_M35671_IG06:
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], r12
;; size=4 bbWeight=1 PerfScore 1.00
G_M35671_IG07:
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rax, 0xD1FFAB1E ; code for System.Data.TypeLimiter:EnterRestrictedScope(System.Data.DataTable):System.IDisposable
call [rax]System.Data.TypeLimiter:EnterRestrictedScope(System.Data.DataTable):System.IDisposable
- mov gword ptr [rbp-0x80], rax
+ mov gword ptr [rbp-0x90], rax
+ xor r14d, r14d
xor r13d, r13d
xor r12d, r12d
xor eax, eax
- mov dword ptr [rbp-0x34], eax
- xor ecx, ecx
- mov dword ptr [rbp-0x3C], ecx
+ mov dword ptr [rbp-0x40], eax
xor rdi, rdi
- mov gword ptr [r15+0x190], rdi
+ mov rcx, gword ptr [rbp-0x88]
+ mov gword ptr [rcx+0x190], rdi
test rbx, rbx
jne SHORT G_M35671_IG09
- ;; size=49 bbWeight=1 PerfScore 10.00
+ ;; size=61 bbWeight=1 PerfScore 10.75
G_M35671_IG08:
- xor r13d, r13d
+ xor r12d, r12d
jmp G_M35671_IG89
;; size=8 bbWeight=0.50 PerfScore 1.12
G_M35671_IG09:
- mov rdi, gword ptr [r15+0x18]
+ mov rdi, gword ptr [rcx+0x18]
test rdi, rdi
je SHORT G_M35671_IG10
movzx rdx, byte ptr [rdi+0x98]
- mov dword ptr [rbp-0x40], edx
+ mov dword ptr [rbp-0x44], edx
xor esi, esi
mov r8, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [r8]System.Data.DataSet:set_EnforceConstraints(ubyte):this
jmp SHORT G_M35671_IG11
;; size=36 bbWeight=0.50 PerfScore 5.88
G_M35671_IG10:
- mov rdi, r15
+ mov rcx, gword ptr [rbp-0x88]
+ mov rdi, rcx
mov rdx, 0xD1FFAB1E ; code for System.Data.DataTable:get_EnforceConstraints():ubyte:this
call [rdx]System.Data.DataTable:get_EnforceConstraints():ubyte:this
- mov dword ptr [rbp-0x40], eax
- mov rdi, r15
+ mov dword ptr [rbp-0x44], eax
+ mov rdi, gword ptr [rbp-0x88]
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Data.DataTable:set_EnforceConstraints(ubyte):this
call [rcx]System.Data.DataTable:set_EnforceConstraints(ubyte):this
- ;; size=35 bbWeight=0.50 PerfScore 4.12
+ ;; size=46 bbWeight=0.50 PerfScore 5.00
G_M35671_IG11:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.Xml.XmlTextReader
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M35671_IG12
mov rdi, gword ptr [rbx+0x08]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlTextReaderImpl:set_WhitespaceHandling(int):this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlTextReaderImpl:set_WhitespaceHandling(int):this
;; size=53 bbWeight=0.50 PerfScore 6.75
G_M35671_IG12:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xA0], rax
+ mov gword ptr [rbp-0xB0], rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xC0], rax
+ mov gword ptr [rbp-0xC8], rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xC8], rax
+ mov gword ptr [rbp-0xD0], rax
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
call [rcx]System.Xml.NameTable:.ctor():this
- mov rax, gword ptr [rbp-0xC0]
+ mov rax, gword ptr [rbp-0xC8]
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0xC8]
+ mov rsi, gword ptr [rbp-0xD0]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0xA0]
- mov rsi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xB0]
+ mov rsi, gword ptr [rbp-0xC8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rax, gword ptr [rbp-0xA0]
- mov gword ptr [rbp-0x88], rax
+ mov rax, gword ptr [rbp-0xB0]
+ mov gword ptr [rbp-0x98], rax
xor rcx, rcx
- mov gword ptr [rbp-0x90], rcx
+ mov gword ptr [rbp-0xA0], rcx
mov rdi, rbx
mov rdx, qword ptr [rbx]
mov rdx, qword ptr [rdx+0x90]
call [rdx+0x18]System.Xml.XmlReader:MoveToContent():int:this
- mov rdi, gword ptr [r15+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne SHORT G_M35671_IG14
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
call [rax]System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
test eax, eax
+ ;; size=225 bbWeight=0.50 PerfScore 23.88
+G_M35671_IG13:
je SHORT G_M35671_IG14
mov rdi, rbx
- ;; size=216 bbWeight=0.50 PerfScore 23.50
-G_M35671_IG13:
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
- xor r13d, r13d
+ xor r12d, r12d
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=21 bbWeight=0.50 PerfScore 4.62
+ ;; size=33 bbWeight=0.50 PerfScore 5.75
G_M35671_IG14:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x40]
- mov qword ptr [rbp-0x68], rax
+ mov qword ptr [rbp-0x70], rax
call [rax+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 1
jne G_M35671_IG79
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x48]
- mov qword ptr [rbp-0x60], rax
+ mov qword ptr [rbp-0x68], rax
call [rax+0x20]System.Xml.XmlReader:get_Depth():int:this
- mov dword ptr [rbp-0x38], eax
+ mov dword ptr [rbp-0x3C], eax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x68]
+ mov rcx, qword ptr [rbp-0x70]
call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG19
;; size=65 bbWeight=0.50 PerfScore 12.12
G_M35671_IG15:
cmp dword ptr [rax+0x08], 8
jne G_M35671_IG19
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35671_IG16:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
je G_M35671_IG19
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35671_IG19
;; size=52 bbWeight=0.50 PerfScore 8.50
G_M35671_IG17:
cmp dword ptr [rax+0x08], 41
jne G_M35671_IG19
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35671_IG18:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35671_IG19
- mov rdi, gword ptr [r15+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne G_M35671_IG82
mov rdi, rbx
- mov r13, qword ptr [rbp-0x60]
- call [r13+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
+ mov r12, qword ptr [rbp-0x68]
+ call [r12+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
test eax, eax
je G_M35671_IG88
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
- mov r13d, 4
+ mov r12d, 4
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=135 bbWeight=0.50 PerfScore 22.88
+ ;; size=153 bbWeight=0.50 PerfScore 24.00
G_M35671_IG19:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG25
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M35671_IG20:
cmp dword ptr [rax+0x08], 6
jne G_M35671_IG25
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35671_IG21:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne G_M35671_IG25
;; size=31 bbWeight=0.12 PerfScore 0.84
G_M35671_IG22:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35671_IG25
;; size=18 bbWeight=0.50 PerfScore 2.75
G_M35671_IG23:
cmp dword ptr [rax+0x08], 34
jne G_M35671_IG25
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35671_IG24:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD192]
vmovups zmm1, zmmword ptr [rax+0x10]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD256], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je G_M35671_IG25
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov r14, rax
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov r12, rax
- mov rdi, r12
+ mov r13, rax
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
call [rax]System.Xml.NameTable:.ctor():this
- lea rdi, bword ptr [r13+0x08]
- mov rsi, r12
- call CORINFO_HELP_ASSIGN_REF
- mov rdi, r14
+ lea rdi, bword ptr [r14+0x08]
mov rsi, r13
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, r15
+ mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rdi, r14
+ mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
- mov rdi, r15
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rbp-0x88]
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r13d, 1
+ mov r12d, 1
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=213 bbWeight=0.50 PerfScore 21.25
+ ;; size=224 bbWeight=0.50 PerfScore 22.12
G_M35671_IG25:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG31
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M35671_IG26:
cmp dword ptr [rax+0x08], 6
jne G_M35671_IG31
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M35671_IG27:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
- jne SHORT G_M35671_IG31
- ;; size=27 bbWeight=0.12 PerfScore 0.84
+ jne G_M35671_IG31
+ ;; size=31 bbWeight=0.12 PerfScore 0.84
G_M35671_IG28:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M35671_IG31
;; size=14 bbWeight=0.50 PerfScore 2.75
G_M35671_IG29:
cmp dword ptr [rax+0x08], 32
jne SHORT G_M35671_IG31
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M35671_IG30:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD320]
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dl
movzx rdx, dl
test edx, edx
je SHORT G_M35671_IG31
- movzx rdx, r14b
- mov rdi, r15
+ movzx rdx, r15b
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
call [rax]System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
- mov rdi, r15
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rbp-0x88]
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r13d, 1
+ mov r12d, 1
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=91 bbWeight=0.50 PerfScore 11.62
+ ;; size=106 bbWeight=0.50 PerfScore 12.88
G_M35671_IG31:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M35671_IG35
;; size=15 bbWeight=0.50 PerfScore 2.75
G_M35671_IG32:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M35671_IG35
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M35671_IG33:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M35671_IG35
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M35671_IG34:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 18
jl SHORT G_M35671_IG35
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x10]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
jne G_M35671_IG84
;; size=65 bbWeight=0.50 PerfScore 14.88
G_M35671_IG35:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
mov gword ptr [rbp-0xF0], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x68]
+ mov rcx, qword ptr [rbp-0x70]
call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
mov gword ptr [rbp-0xF8], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x60]
+ mov rcx, qword ptr [rbp-0x68]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
mov rcx, rax
mov rsi, gword ptr [rbp-0xF0]
mov rdx, gword ptr [rbp-0xF8]
- mov rdi, gword ptr [rbp-0x88]
+ mov rdi, gword ptr [rbp-0x98]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
call [rax]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
- mov gword ptr [rbp-0x98], rax
+ mov gword ptr [rbp-0xA8], rax
mov rdi, rbx
mov rcx, qword ptr [rbx]
mov rcx, qword ptr [rcx+0xA0]
call [rcx+0x38]System.Xml.XmlReader:get_HasAttributes():ubyte:this
test eax, eax
je G_M35671_IG41
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x70]
- mov qword ptr [rbp-0x78], rax
+ mov qword ptr [rbp-0x80], rax
call [rax+0x20]System.Xml.XmlReader:get_AttributeCount():int:this
- mov dword ptr [rbp-0x44], eax
+ mov dword ptr [rbp-0x48], eax
xor ecx, ecx
test eax, eax
jle G_M35671_IG41
;; size=140 bbWeight=0.50 PerfScore 20.75
G_M35671_IG36:
mov rdi, qword ptr [rbx]
mov rdx, qword ptr [rdi+0x78]
- mov qword ptr [rbp-0x70], rdx
+ mov qword ptr [rbp-0x78], rdx
;; size=11 bbWeight=0.25 PerfScore 1.25
G_M35671_IG37:
mov rdi, rbx
- mov dword ptr [rbp-0x48], ecx
+ mov dword ptr [rbp-0x4C], ecx
mov esi, ecx
call [rdx+0x28]System.Xml.XmlReader:MoveToAttribute(int):this
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 29
jne SHORT G_M35671_IG39
;; size=26 bbWeight=4 PerfScore 51.00
G_M35671_IG38:
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x26]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD416], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35671_IG39
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x30]System.Xml.XmlReader:get_Name():System.String:this
mov gword ptr [rbp-0x108], rax
mov rdi, rbx
- mov esi, dword ptr [rbp-0x48]
- mov rcx, qword ptr [rbp-0x78]
+ mov esi, dword ptr [rbp-0x4C]
+ mov rcx, qword ptr [rbp-0x80]
call [rcx+0x38]System.Xml.XmlReader:GetAttribute(int):System.String:this
mov rdx, rax
mov rsi, gword ptr [rbp-0x108]
- mov rdi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0xA8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x88]
call [rax]System.Xml.XmlElement:SetAttribute(System.String,System.String):this
jmp G_M35671_IG40
;; size=110 bbWeight=2 PerfScore 86.50
G_M35671_IG39:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
mov gword ptr [rbp-0x100], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x60]
+ mov rcx, qword ptr [rbp-0x68]
call [rcx]System.Xml.XmlReader:get_NamespaceURI():System.String:this
mov rdx, rax
mov rsi, gword ptr [rbp-0x100]
- mov rdi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0xA8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x90]
call [rax+0x10]System.Xml.XmlElement:SetAttributeNode(System.String,System.String):System.Xml.XmlAttribute:this
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xC0], rax
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x60]
+ mov rcx, qword ptr [rbp-0x68]
call [rcx+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xB0]
+ mov rdi, gword ptr [rbp-0xC0]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x60]
call [rax+0x28]System.Xml.XmlNode:set_Prefix(System.String):this
mov rdi, rbx
- mov esi, dword ptr [rbp-0x48]
- mov rax, qword ptr [rbp-0x78]
+ mov esi, dword ptr [rbp-0x4C]
+ mov rax, qword ptr [rbp-0x80]
call [rax+0x38]System.Xml.XmlReader:GetAttribute(int):System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xB0]
+ mov rdi, gword ptr [rbp-0xC0]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
;; size=126 bbWeight=2 PerfScore 91.50
G_M35671_IG40:
- mov esi, dword ptr [rbp-0x48]
+ mov esi, dword ptr [rbp-0x4C]
inc esi
- mov edi, dword ptr [rbp-0x44]
+ mov edi, dword ptr [rbp-0x48]
cmp esi, edi
mov ecx, esi
- mov rdx, qword ptr [rbp-0x70]
+ mov rdx, qword ptr [rbp-0x78]
jl G_M35671_IG37
;; size=22 bbWeight=4 PerfScore 19.00
G_M35671_IG41:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
mov rdi, rbx
- mov esi, dword ptr [rbp-0x38]
+ mov esi, dword ptr [rbp-0x3C]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rax]System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
test eax, eax
je G_M35671_IG62
;; size=42 bbWeight=0.50 PerfScore 6.50
G_M35671_IG42:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG48
;; size=19 bbWeight=4 PerfScore 22.00
G_M35671_IG43:
cmp dword ptr [rax+0x08], 8
jne G_M35671_IG48
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG44:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
je G_M35671_IG48
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35671_IG48
;; size=52 bbWeight=2 PerfScore 34.00
G_M35671_IG45:
cmp dword ptr [rax+0x08], 41
jne G_M35671_IG48
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG46:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35671_IG48
;; size=63 bbWeight=2 PerfScore 37.00
G_M35671_IG47:
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
call [rax]System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
- mov rdi, gword ptr [r15+0x18]
- test rdi, rdi
+ mov rdi, gword ptr [rbp-0x88]
+ mov rsi, gword ptr [rdi+0x18]
+ test rsi, rsi
je G_M35671_IG80
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, rsi
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataSet:set_EnforceConstraints(ubyte):this
jmp G_M35671_IG81
- ;; size=68 bbWeight=0.50 PerfScore 9.88
+ ;; size=82 bbWeight=0.50 PerfScore 10.88
G_M35671_IG48:
- mov edi, r12d
- or edi, r13d
+ mov edi, r13d
+ or edi, r14d
je G_M35671_IG55
;; size=12 bbWeight=4 PerfScore 6.00
G_M35671_IG49:
mov rdi, rbx
- mov rcx, qword ptr [rbp-0x68]
+ mov rcx, qword ptr [rbp-0x70]
call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG63
;; size=19 bbWeight=2 PerfScore 11.00
G_M35671_IG50:
cmp dword ptr [rax+0x08], 6
jne G_M35671_IG63
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG51:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne G_M35671_IG63
;; size=31 bbWeight=0.50 PerfScore 3.38
G_M35671_IG52:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35671_IG63
;; size=18 bbWeight=2 PerfScore 11.00
G_M35671_IG53:
cmp dword ptr [rax+0x08], 32
jne G_M35671_IG63
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG54:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD320]
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dl
movzx rdx, dl
test edx, edx
je G_M35671_IG63
- movzx rdx, r14b
- mov rdi, r15
+ movzx rdx, r15b
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
call [rax]System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this
- mov r12d, 1
+ mov r13d, 1
jmp G_M35671_IG61
- ;; size=77 bbWeight=2 PerfScore 37.50
+ ;; size=81 bbWeight=2 PerfScore 39.00
G_M35671_IG55:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG49
;; size=19 bbWeight=2 PerfScore 11.00
G_M35671_IG56:
cmp dword ptr [rax+0x08], 6
jne G_M35671_IG49
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG57:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne G_M35671_IG49
;; size=31 bbWeight=0.50 PerfScore 3.38
G_M35671_IG58:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M35671_IG49
;; size=18 bbWeight=2 PerfScore 11.00
G_M35671_IG59:
cmp dword ptr [rax+0x08], 34
jne G_M35671_IG49
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG60:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD192]
vmovups zmm1, zmmword ptr [rax+0x10]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD256], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je G_M35671_IG49
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov r13, rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xD0], rax
+ mov r12, rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xD8], rax
mov dword ptr [rax+0x14], 31
mov esi, dword ptr [rax+0x14]
inc esi
movsxd rsi, esi
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable+Entry[]
call CORINFO_HELP_NEWARR_1_OBJ
mov rcx, gword ptr [rbp-0xD8]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xD0]
- lea rdi, bword ptr [rax+0x08]
+ lea rdi, bword ptr [r12+0x08]
mov rsi, gword ptr [rbp-0xD8]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r12
- mov rsi, gword ptr [rbp-0xD0]
+ mov rdi, r13
+ mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
- mov rdi, r12
+ mov rdi, r13
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
+ mov r13d, 1
mov r12d, 1
- mov dword ptr [rbp-0x34], 1
- ;; size=254 bbWeight=2 PerfScore 90.00
+ ;; size=239 bbWeight=2 PerfScore 83.50
G_M35671_IG61:
mov rdi, rbx
- mov esi, dword ptr [rbp-0x38]
- mov rcx, 0xD1FFAB1E ; code for System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
- call [rcx]System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
+ mov esi, dword ptr [rbp-0x3C]
+ mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
+ call [rax]System.Data.DataTable:MoveToElement(System.Xml.XmlReader,int):ubyte
test eax, eax
jne G_M35671_IG42
;; size=26 bbWeight=4 PerfScore 23.00
G_M35671_IG62:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
- mov rdi, gword ptr [rbp-0x88]
- mov rsi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0x98]
+ mov rsi, gword ptr [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
call [rax]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
- test r12d, r12d
+ test r13d, r13d
jne G_M35671_IG78
- mov rdi, gword ptr [r15+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rdi+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne G_M35671_IG78
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
call [rax]System.Data.DataTable:IsEmptyXml(System.Xml.XmlReader):ubyte:this
test eax, eax
je G_M35671_IG88
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x80]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
- mov r13d, dword ptr [rbp-0x3C]
+ mov r12d, dword ptr [rbp-0x40]
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=127 bbWeight=0.50 PerfScore 18.75
+ ;; size=148 bbWeight=0.50 PerfScore 20.25
G_M35671_IG63:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M35671_IG67
;; size=15 bbWeight=2 PerfScore 11.00
G_M35671_IG64:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M35671_IG67
;; size=6 bbWeight=1 PerfScore 4.00
G_M35671_IG65:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M35671_IG67
;; size=27 bbWeight=0.50 PerfScore 3.38
G_M35671_IG66:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
cmp dword ptr [rax+0x08], 18
jl SHORT G_M35671_IG67
vmovups ymm0, ymmword ptr [rax+0x0C]
vpxor ymm0, ymm0, ymmword ptr [reloc @RWD320]
vmovups ymm1, ymmword ptr [rax+0x10]
vpternlogq ymm0, ymm1, ymmword ptr [reloc @RWD384], -10
vptest ymm0, ymm0
sete dil
movzx rdi, dil
test edi, edi
jne G_M35671_IG83
;; size=65 bbWeight=2 PerfScore 59.50
G_M35671_IG67:
mov rdi, rbx
- mov rax, qword ptr [rbp-0x68]
+ mov rax, qword ptr [rbp-0x70]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M35671_IG72
;; size=19 bbWeight=2 PerfScore 11.00
G_M35671_IG68:
cmp dword ptr [rax+0x08], 8
jne G_M35671_IG72
;; size=10 bbWeight=1 PerfScore 4.00
G_M35671_IG69:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35671_IG72
mov rdi, rbx
- mov rax, qword ptr [rbp-0x60]
+ mov rax, qword ptr [rbp-0x68]
call [rax]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M35671_IG72
;; size=44 bbWeight=2 PerfScore 34.00
G_M35671_IG70:
cmp dword ptr [rax+0x08], 41
jne SHORT G_M35671_IG72
;; size=6 bbWeight=1 PerfScore 4.00
G_M35671_IG71:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M35671_IG72
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
call [rax]System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
- mov dword ptr [rbp-0x3C], 4
+ mov dword ptr [rbp-0x40], 4
jmp G_M35671_IG61
- ;; size=93 bbWeight=2 PerfScore 50.50
+ ;; size=97 bbWeight=2 PerfScore 52.00
G_M35671_IG72:
- mov r13d, 1
- test r12d, r12d
+ mov r14d, 1
+ test r13d, r13d
jne SHORT G_M35671_IG73
- mov rdi, gword ptr [r15+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rcx, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x88]
+ mov rcx, gword ptr [rdi+0x30]
+ mov rcx, gword ptr [rcx+0x10]
+ mov rdi, rcx
+ mov rcx, qword ptr [rcx]
mov rcx, qword ptr [rcx+0x40]
call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jne SHORT G_M35671_IG73
- mov rdi, gword ptr [rbp-0x88]
+ mov rdi, gword ptr [rbp-0x98]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
call [rax]System.Xml.XmlDocument:ReadNode(System.Xml.XmlReader):System.Xml.XmlNode:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0x98]
+ mov rdi, gword ptr [rbp-0xA8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
jmp G_M35671_IG61
- ;; size=80 bbWeight=2 PerfScore 57.00
+ ;; size=90 bbWeight=2 PerfScore 59.50
G_M35671_IG73:
- mov rax, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0xA0]
test rax, rax
jne G_M35671_IG75
mov rdi, 0xD1FFAB1E ; System.Data.XmlDataLoader
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xA8], rax
+ mov gword ptr [rbp-0xB8], rax
xor rdi, rdi
mov gword ptr [rax+0x08], rdi
lea rdi, bword ptr [rax+0x30]
- mov rsi, r15
+ mov rsi, gword ptr [rbp-0x88]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB8]
mov byte ptr [rax+0xA3], 1
mov rdi, 0xD1FFAB1E ; System.Collections.Hashtable
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xE0], rax
vmovss xmm0, dword ptr [reloc @RWD448]
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rcx]System.Collections.Hashtable:.ctor(int,float):this
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB8]
lea rdi, bword ptr [rax+0x18]
mov rsi, gword ptr [rbp-0xE0]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
- mov ecx, dword ptr [rbp-0x34]
- mov byte ptr [rax+0xA0], cl
+ mov rax, gword ptr [rbp-0xB8]
+ mov byte ptr [rax+0xA0], r12b
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Stack`1[System.Data.DataRow]
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0xE8], rax
mov rdi, 0xD1FFAB1E ; System.Data.DataRow[]
mov esi, 50
call CORINFO_HELP_NEWARR_1_OBJ
mov rcx, gword ptr [rbp-0xE8]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB8]
lea rdi, bword ptr [rax+0x20]
mov rsi, gword ptr [rbp-0xE8]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
- ;; size=247 bbWeight=2 PerfScore 72.00
-G_M35671_IG74:
+ mov rax, gword ptr [rbp-0xB8]
lea rdi, bword ptr [rax+0x28]
- mov rsi, gword ptr [rbp-0x98]
+ ;; size=253 bbWeight=2 PerfScore 72.50
+G_M35671_IG74:
+ mov rsi, gword ptr [rbp-0xA8]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB8]
mov byte ptr [rax+0xA2], 0
- ;; size=30 bbWeight=2 PerfScore 9.00
+ ;; size=26 bbWeight=2 PerfScore 8.00
G_M35671_IG75:
- mov gword ptr [rbp-0x90], rax
+ mov gword ptr [rbp-0xA0], rax
mov rdi, rax
mov rsi, rbx
mov rcx, 0xD1FFAB1E ; code for System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
cmp dword ptr [rdi], edi
call [rcx]System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
- test r12d, r12d
+ test r13d, r13d
jne SHORT G_M35671_IG76
mov eax, 2
jmp SHORT G_M35671_IG77
;; size=39 bbWeight=2 PerfScore 22.50
G_M35671_IG76:
mov eax, 1
;; size=5 bbWeight=2 PerfScore 0.50
G_M35671_IG77:
- mov dword ptr [rbp-0x3C], eax
+ mov dword ptr [rbp-0x40], eax
jmp G_M35671_IG61
;; size=8 bbWeight=2 PerfScore 6.00
G_M35671_IG78:
- cmp gword ptr [rbp-0x90], 0
+ cmp gword ptr [rbp-0xA0], 0
jne SHORT G_M35671_IG79
mov rdi, 0xD1FFAB1E ; System.Data.XmlDataLoader
call CORINFO_HELP_NEWSFAST
mov rbx, rax
xor rdi, rdi
mov gword ptr [rbx+0x08], rdi
lea rdi, bword ptr [rbx+0x30]
- mov rsi, r15
+ mov rsi, gword ptr [rbp-0x88]
call CORINFO_HELP_ASSIGN_REF
mov byte ptr [rbx+0xA3], 1
mov rdi, 0xD1FFAB1E ; System.Collections.Hashtable
call CORINFO_HELP_NEWSFAST
- mov r14, rax
+ mov r15, rax
vmovss xmm0, dword ptr [reloc @RWD448]
- mov rdi, r14
+ mov rdi, r15
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
lea rdi, bword ptr [rbx+0x18]
- mov rsi, r14
+ mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
- mov r14d, dword ptr [rbp-0x34]
- mov byte ptr [rbx+0xA0], r14b
+ mov byte ptr [rbx+0xA0], r12b
mov byte ptr [rbx+0xA2], 0
- ;; size=126 bbWeight=0.50 PerfScore 10.75
+ ;; size=126 bbWeight=0.50 PerfScore 10.62
G_M35671_IG79:
- mov rdi, r15
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rbp-0x88]
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r13d, dword ptr [rbp-0x3C]
+ mov r12d, dword ptr [rbp-0x40]
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=27 bbWeight=0.50 PerfScore 3.75
+ ;; size=38 bbWeight=0.50 PerfScore 4.62
G_M35671_IG80:
- mov rdi, r15
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rbp-0x88]
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_EnforceConstraints(ubyte):this
call [rax]System.Data.DataTable:set_EnforceConstraints(ubyte):this
- ;; size=18 bbWeight=0.50 PerfScore 2.25
+ ;; size=22 bbWeight=0.50 PerfScore 2.62
G_M35671_IG81:
- mov r13d, 4
+ mov r12d, 4
+ mov rcx, gword ptr [rbp-0x88]
jmp G_M35671_IG89
- ;; size=11 bbWeight=0.50 PerfScore 1.12
+ ;; size=18 bbWeight=0.50 PerfScore 1.62
G_M35671_IG82:
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x88]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
call [rax]System.Data.DataTable:ReadXmlDiffgram(System.Xml.XmlReader):this
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataTable:ReadEndElement(System.Xml.XmlReader)
- mov rdi, r15
- mov esi, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rbp-0x88]
+ mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:RestoreConstraint(ubyte):this
call [rax]System.Data.DataTable:RestoreConstraint(ubyte):this
- mov r13d, 4
+ mov r12d, 4
+ mov rcx, gword ptr [rbp-0x88]
jmp SHORT G_M35671_IG89
- ;; size=59 bbWeight=0.50 PerfScore 7.00
+ ;; size=74 bbWeight=0.50 PerfScore 8.25
G_M35671_IG83:
- cmp gword ptr [r15+0x18], 0
+ mov rcx, gword ptr [rbp-0x88]
+ cmp gword ptr [rcx+0x18], 0
jne SHORT G_M35671_IG86
jmp SHORT G_M35671_IG85
- ;; size=9 bbWeight=0 PerfScore 0.00
+ ;; size=16 bbWeight=0 PerfScore 0.00
G_M35671_IG84:
- cmp gword ptr [r15+0x18], 0
+ mov rcx, gword ptr [rbp-0x88]
+ cmp gword ptr [rcx+0x18], 0
jne SHORT G_M35671_IG86
- ;; size=7 bbWeight=0 PerfScore 0.00
+ ;; size=14 bbWeight=0 PerfScore 0.00
G_M35671_IG85:
- mov ebx, dword ptr [rbp-0x40]
- mov byte ptr [r15+0x1CC], bl
+ mov ebx, dword ptr [rbp-0x44]
+ mov byte ptr [rcx+0x1CC], bl
jmp SHORT G_M35671_IG87
- ;; size=12 bbWeight=0 PerfScore 0.00
+ ;; size=11 bbWeight=0 PerfScore 0.00
G_M35671_IG86:
- mov rdi, gword ptr [r15+0x18]
- mov ebx, dword ptr [rbp-0x40]
+ mov rdi, gword ptr [rcx+0x18]
+ mov ebx, dword ptr [rbp-0x44]
mov byte ptr [rdi+0x98], bl
;; size=13 bbWeight=0 PerfScore 0.00
G_M35671_IG87:
mov edi, 0x710A
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:DataSetUnsupportedSchema(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:DataSetUnsupportedSchema(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=44 bbWeight=0 PerfScore 0.00
G_M35671_IG88:
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:DataTableInferenceNotSupported():System.Exception
call [rax]System.Data.ExceptionBuilder:DataTableInferenceNotSupported():System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=21 bbWeight=0 PerfScore 0.00
G_M35671_IG89:
- cmp gword ptr [rbp-0x80], 0
+ cmp gword ptr [rbp-0x90], 0
je SHORT G_M35671_IG91
- ;; size=7 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 3.00
G_M35671_IG90:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x90]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=17 bbWeight=0.50 PerfScore 2.12
+ ;; size=20 bbWeight=0.50 PerfScore 2.12
G_M35671_IG91:
mov rdi, 0xD1FFAB1E ; static handle
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
- mov eax, r13d
+ mov eax, r12d
;; size=40 bbWeight=1 PerfScore 10.00
G_M35671_IG92:
vzeroupper
add rsp, 232
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
G_M35671_IG93:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x88]
jmp G_M35671_IG03
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=27 bbWeight=0 PerfScore 0.00
G_M35671_IG94:
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+0x110]
;; size=25 bbWeight=0 PerfScore 0.00
G_M35671_IG95:
- cmp gword ptr [rbp-0x80], 0
+ cmp gword ptr [rbp-0x90], 0
je SHORT G_M35671_IG96
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x90]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=24 bbWeight=0 PerfScore 0.00
+ ;; size=30 bbWeight=0 PerfScore 0.00
G_M35671_IG96:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
;; size=53 bbWeight=0 PerfScore 0.00
G_M35671_IG97:
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 0066006600690064h, 006D006100720067h
RWD16 dd 00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
dd 00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
RWD64 dq 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 00690064002D006Ch
RWD128 dq 006D002D00730061h, 006F007200630069h, 00740066006F0073h, 006D006F0063002Dh, 006C006D0078003Ah, 006600690064002Dh, 0061007200670066h, 00310076002D006Dh
RWD192 dq 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 00610064002D006Ch
RWD256 dq 00630073003A006Eh, 0061006D00650068h, 0069006D002D0073h, 0073006F00720063h, 002D00740066006Fh, 003A006D006F0063h, 002D006C006D0078h, 0061007400610064h
RWD320 dq 0070007400740068h, 0077002F002F003Ah, 0077002E00770077h, 0072006F002E0033h, 00300032002F0067h, 0058002F00310030h, 00630053004C004Dh, 0061006D00650068h
RWD384 dq 002F003A00700074h, 007700770077002Fh, 002E00330077002Eh, 002F00670072006Fh
RWD416 dq 00670072006F002Eh, 003000300032002Fh, 006D0078002F0030h, 002F0073006E006Ch
RWD448 dd 3F800000h ; 1
-; Total bytes of code 4148, prolog size 51, PerfScore 1232.45, instruction count 907, allocated bytes for code 4162 (MethodHash=be8274a8) for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,ubyte):int:this (FullOpts)
+; Total bytes of code 4353, prolog size 59, PerfScore 1243.70, instruction count 927, allocated bytes for code 4367 (MethodHash=be8274a8) for method System.Data.DataTable:ReadXml(System.Xml.XmlReader,ubyte):int:this (FullOpts)
94 (7.54 % of base) - System.Diagnostics.Tracing.EventSource:WriteEventString(System.String):this
; Assembly listing for method System.Diagnostics.Tracing.EventSource:WriteEventString(System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 17 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 22, 13 ) ref -> rbx this class-hnd single-def <System.Diagnostics.Tracing.EventSource>
-; V01 arg1 [V01,T01] ( 6, 4 ) ref -> r15 class-hnd single-def <System.String>
+; V00 this [V00,T00] ( 22, 13 ) ref -> [rbp-0x90] this class-hnd EH-live single-def <System.Diagnostics.Tracing.EventSource>
+; V01 arg1 [V01,T01] ( 6, 4 ) ref -> rbx class-hnd single-def <System.String>
;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref
;* V03 loc1 [V03 ] ( 0, 0 ) long -> zero-ref
; V04 loc2 [V04 ] ( 5, 2.50) struct (24) [rbp-0x40] do-not-enreg[XS] addr-exposed ld-addr-op <System.Diagnostics.Tracing.EventSourceOptions>
-; V05 loc3 [V05,T31] ( 2, 1 ) ref -> r14 class-hnd exact single-def <System.Diagnostics.Tracing.TraceLoggingEventTypes>
+; V05 loc3 [V05,T31] ( 2, 1 ) ref -> r15 class-hnd exact single-def <System.Diagnostics.Tracing.TraceLoggingEventTypes>
;* V06 loc4 [V06 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op <System.Diagnostics.Tracing.EventSourceOptions>
;* V07 loc5 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.Diagnostics.Tracing.ManifestBuilder>
;* V08 loc6 [V08 ] ( 0, 0 ) long -> zero-ref
; V09 loc7 [V09 ] ( 3, 1.50) byref -> [rbp-0x48] must-init pinned
; V10 loc8 [V10 ] ( 3, 1.50) struct (16) [rbp-0x58] do-not-enreg[XS] addr-exposed ld-addr-op <System.Diagnostics.Tracing.EventDescriptor>
; V11 loc9 [V11 ] ( 6, 3 ) struct (16) [rbp-0x68] do-not-enreg[XS] addr-exposed ld-addr-op <System.Diagnostics.Tracing.EventProvider+EventData>
-; V12 loc10 [V12,T30] ( 4, 1 ) ref -> [rbp-0x90] class-hnd EH-live spill-single-def <System.Object>
+; V12 loc10 [V12,T30] ( 4, 1 ) ref -> [rbp-0x98] class-hnd EH-live spill-single-def <System.Object>
; V13 loc11 [V13 ] ( 5, 2 ) ubyte -> [rbp-0x70] do-not-enreg[X] addr-exposed ld-addr-op
;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.String>
;* V15 loc13 [V15 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Diagnostics.Tracing.EventParameterInfo>
; V16 loc14 [V16,T05] ( 7, 3.50) ref -> rax class-hnd single-def <ubyte[]>
;* V17 loc15 [V17 ] ( 0, 0 ) int -> zero-ref
; V18 loc16 [V18,T25] ( 3, 1.50) long -> rsi
; V19 loc17 [V19 ] ( 2, 1 ) ref -> [rbp-0x78] must-init pinned class-hnd <ubyte[]>
; V20 OutArgs [V20 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V21 tmp1 [V21,T26] ( 3, 1.50) long -> r14
-; V22 tmp2 [V22,T06] ( 3, 3 ) ref -> rdi class-hnd exact single-def "dup spill" <System.Diagnostics.Tracing.EventSource+OverrideEventProvider>
+; V21 tmp1 [V21,T26] ( 3, 1.50) long -> r15
+; V22 tmp2 [V22,T06] ( 3, 3 ) ref -> rsi class-hnd exact single-def "dup spill" <System.Diagnostics.Tracing.EventSource+OverrideEventProvider>
;* V23 tmp3 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
; V24 tmp4 [V24,T07] ( 3, 3 ) ref -> rax class-hnd exact single-def "dup spill" <System.Diagnostics.Tracing.EventParameterInfo[]>
-; V25 tmp5 [V25,T14] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Diagnostics.Tracing.EventPipeMetadataGenerator>
+; V25 tmp5 [V25,T14] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Diagnostics.Tracing.EventPipeMetadataGenerator>
; V26 tmp6 [V26,T27] ( 3, 1.50) int -> rdi
; V27 tmp7 [V27,T15] ( 2, 2 ) ref -> rsi class-hnd exact single-def "NewObj constructor temp" <System.Object>
-; V28 tmp8 [V28,T08] ( 3, 3 ) byref -> rdi single-def "impAppendStmt"
-; V29 tmp9 [V29,T16] ( 2, 2 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
+; V28 tmp8 [V28,T08] ( 3, 3 ) byref -> rdx single-def "impAppendStmt"
+; V29 tmp9 [V29,T16] ( 2, 2 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.String>
; V30 tmp10 [V30,T13] ( 3, 3 ) struct (16) [rbp-0x88] do-not-enreg[SFA] multireg-arg "impAppendStmt" <System.Guid>
-; V31 tmp11 [V31,T02] ( 6, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.ManifestBuilder>
+; V31 tmp11 [V31,T02] ( 6, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.ManifestBuilder>
; V32 tmp12 [V32,T03] ( 5, 5 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventAttribute>
-; V33 tmp13 [V33,T09] ( 3, 3 ) ref -> r13 class-hnd exact single-def "dup spill" <System.Object[]>
+; V33 tmp13 [V33,T09] ( 3, 3 ) ref -> r14 class-hnd exact single-def "dup spill" <System.Object[]>
;* V34 tmp14 [V34 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V35 tmp15 [V35,T28] ( 3, 1.50) int -> r15 "Inline stloc first use temp"
+; V35 tmp15 [V35,T28] ( 3, 1.50) int -> rbx "Inline stloc first use temp"
;* V36 tmp16 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V37 tmp17 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Diagnostics.Tracing.EventSource+OverrideEventProvider>
;* V38 tmp18 [V38 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V39 tmp19 [V39,T29] ( 3, 1.50) int -> rbx "Inline stloc first use temp"
+; V39 tmp19 [V39,T29] ( 3, 1.50) int -> r15 "Inline stloc first use temp"
; V40 tmp20 [V40 ] ( 4, 2 ) long -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V11.Ptr (fldOffset=0x0)" P-DEP
; V41 tmp21 [V41 ] ( 4, 2 ) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V11.Size (fldOffset=0x8)" P-DEP
; V42 tmp22 [V42 ] ( 4, 2 ) int -> [rbp-0x5C] do-not-enreg[X] addr-exposed "field V11.Reserved (fldOffset=0xc)" P-DEP
;* V43 tmp23 [V43,T33] ( 0, 0 ) ref -> zero-ref single-def "field V15.ParameterName (fldOffset=0x0)" P-INDEP
;* V44 tmp24 [V44,T34] ( 0, 0 ) ref -> zero-ref single-def "field V15.ParameterType (fldOffset=0x8)" P-INDEP
;* V45 tmp25 [V45,T35] ( 0, 0 ) ref -> zero-ref single-def "field V15.TypeInfo (fldOffset=0x10)" P-INDEP
;* V46 tmp26 [V46 ] ( 0, 0 ) long -> zero-ref "V06.[000..008)"
;* V47 tmp27 [V47 ] ( 0, 0 ) ubyte -> zero-ref "V06.[016..017)"
;* V48 tmp28 [V48 ] ( 0, 0 ) ubyte -> zero-ref "V06.[018..019)"
; V49 tmp29 [V49,T17] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V50 tmp30 [V50,T18] ( 2, 2 ) long -> r14 "Cast away GC"
-; V51 tmp31 [V51,T10] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V50 tmp30 [V50,T18] ( 2, 2 ) long -> r15 "Cast away GC"
+; V51 tmp31 [V51,T10] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V52 tmp32 [V52,T04] ( 4, 4 ) byref -> rdi single-def "BlockOp address local"
; V53 tmp33 [V53,T19] ( 2, 2 ) long -> rsi "Cast away GC"
; V54 tmp34 [V54,T11] ( 3, 3 ) ref -> rax single-def "argument with side effect"
-; V55 tmp35 [V55,T12] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V55 tmp35 [V55,T12] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V56 PSPSym [V56,T32] ( 1, 1 ) long -> [rbp-0xA0] do-not-enreg[V] "PSPSym"
-; V57 cse0 [V57,T24] ( 3, 1.50) ref -> r14 "CSE #01: moderate"
+; V57 cse0 [V57,T24] ( 3, 1.50) ref -> r15 "CSE #01: moderate"
; V58 rat0 [V58,T20] ( 2, 2 ) long -> rax "TLS field access"
; V59 rat1 [V59,T21] ( 2, 2 ) long -> rax "TLS access"
; V60 rat2 [V60,T22] ( 2, 2 ) long -> rax "TLS field access"
; V61 rat3 [V61,T23] ( 2, 2 ) long -> rax "TLS access"
;
-; Lcl frame size = 136
+; Lcl frame size = 144
G_M12525_IG01:
push rbp
push r15
push r14
push r13
- push r12
push rbx
- sub rsp, 136
+ sub rsp, 144
lea rbp, [rsp+0xB0]
xor eax, eax
mov qword ptr [rbp-0x48], rax
mov qword ptr [rbp-0x78], rax
mov qword ptr [rbp-0xA0], rsp
- mov rbx, rdi
- mov r15, rsi
- ;; size=48 bbWeight=1 PerfScore 10.50
+ mov qword ptr [rbp-0x28], rdi
+ mov gword ptr [rbp-0x90], rdi
+ mov rbx, rsi
+ ;; size=54 bbWeight=1 PerfScore 11.25
G_M12525_IG02:
- cmp gword ptr [rbx+0x30], 0
+ cmp gword ptr [rdi+0x30], 0
sete al
movzx rax, al
- cmp gword ptr [rbx+0x40], 0
+ cmp gword ptr [rdi+0x40], 0
sete cl
movzx rcx, cl
test eax, ecx
je SHORT G_M12525_IG04
;; size=26 bbWeight=1 PerfScore 9.75
G_M12525_IG03:
- add rsp, 136
+ add rsp, 144
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0.50 PerfScore 2.12
+ ;; size=16 bbWeight=0.50 PerfScore 1.88
G_M12525_IG04:
- test byte ptr [rbx+0x94], 8
+ test byte ptr [rdi+0x94], 8
je G_M12525_IG06
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x40], xmm0
vmovdqu xmmword ptr [rbp-0x38], xmm0
mov qword ptr [rbp-0x40], -1
mov byte ptr [rbp-0x30], 0
mov byte ptr [rbp-0x2E], 5
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:<WriteEventString>g__GetTrimSafeTraceLoggingEventTypes|80_0():System.Diagnostics.Tracing.TraceLoggingEventTypes
call [rax]System.Diagnostics.Tracing.EventSource:<WriteEventString>g__GetTrimSafeTraceLoggingEventTypes|80_0():System.Diagnostics.Tracing.TraceLoggingEventTypes
- mov r14, rax
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r13, rax
- lea rdi, bword ptr [r13+0x10]
- mov rsi, r15
+ mov r14, rax
+ lea rdi, bword ptr [r14+0x10]
+ mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
- mov gword ptr [rsp], r13
+ mov gword ptr [rsp], r14
lea rdx, [rbp-0x40]
- mov rdi, rbx
- mov rcx, r14
+ mov rdi, gword ptr [rbp-0x90]
+ mov rcx, r15
mov rsi, 0xD1FFAB1E ; 'EventSourceMessage'
xor r8d, r8d
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteMultiMergeInner(System.String,byref,System.Diagnostics.Tracing.TraceLoggingEventTypes,ulong,ulong,System.Object[]):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteMultiMergeInner(System.String,byref,System.Diagnostics.Tracing.TraceLoggingEventTypes,ulong,ulong,System.Object[]):this
nop
- ;; size=136 bbWeight=0.50 PerfScore 11.29
+ ;; size=140 bbWeight=0.50 PerfScore 11.67
G_M12525_IG05:
- add rsp, 136
+ add rsp, 144
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0.50 PerfScore 2.12
+ ;; size=16 bbWeight=0.50 PerfScore 1.88
G_M12525_IG06:
- cmp gword ptr [rbx+0x18], 0
- jne G_M12525_IG07
- cmp byte ptr [rbx+0x9F], 1
- jne G_M12525_IG07
- mov r14, gword ptr [rbx+0x08]
- mov r13, r14
- vmovups xmm0, xmmword ptr [rbx+0xA0]
+ mov rdi, gword ptr [rbp-0x90]
+ cmp gword ptr [rdi+0x18], 0
+ jne G_M12525_IG08
+ cmp byte ptr [rdi+0x9F], 1
+ jne G_M12525_IG08
+ mov r15, gword ptr [rdi+0x08]
+ mov r14, r15
+ vmovups xmm0, xmmword ptr [rdi+0xA0]
vmovups xmmword ptr [rbp-0x88], xmm0
mov rdi, 0xD1FFAB1E ; System.Diagnostics.Tracing.ManifestBuilder
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov r13, rax
xor edx, edx
mov dword ptr [rsp], edx
mov rdx, qword ptr [rbp-0x88]
mov rcx, qword ptr [rbp-0x80]
- mov r8, r14
- mov rdi, r12
- mov rsi, r13
+ mov r8, r15
+ mov rdi, r13
+ mov rsi, r14
xor r9, r9
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.ManifestBuilder:.ctor(System.String,System.Guid,System.String,System.Resources.ResourceManager,int):this
call [rax]System.Diagnostics.Tracing.ManifestBuilder:.ctor(System.String,System.Guid,System.String,System.Resources.ResourceManager,int):this
mov rdi, 0xD1FFAB1E ; System.Diagnostics.Tracing.EventAttribute
call CORINFO_HELP_NEWSFAST
mov rdi, 0xD1FFAB1E
mov qword ptr [rax+0x18], rdi
xor edi, edi
mov dword ptr [rax+0x1C], edi
mov dword ptr [rax+0x20], 0xFFFE
- mov rdi, r12
+ mov rdi, r13
mov rdx, rax
mov rsi, 0xD1FFAB1E ; 'EventSourceMessage'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.ManifestBuilder:StartEvent(System.String,System.Diagnostics.Tracing.EventAttribute):this
call [rax]System.Diagnostics.Tracing.ManifestBuilder:StartEvent(System.String,System.Diagnostics.Tracing.EventAttribute):this
- mov rdi, r12
+ mov rdi, r13
mov rsi, 0xD1FFAB1E ; 'System.String'
mov rdx, 0xD1FFAB1E ; 'message'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String):this
call [rax]System.Diagnostics.Tracing.ManifestBuilder:AddEventParameter(System.Type,System.String):this
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.ManifestBuilder:EndEvent():this
call [rax]System.Diagnostics.Tracing.ManifestBuilder:EndEvent():this
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.ManifestBuilder:CreateManifest():ubyte[]:this
call [rax]System.Diagnostics.Tracing.ManifestBuilder:CreateManifest():ubyte[]:this
+ ;; size=246 bbWeight=0.50 PerfScore 22.50
+G_M12525_IG07:
mov rsi, rax
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0x90]
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:SendManifest(ubyte[]):this
call [rax]System.Diagnostics.Tracing.EventSource:SendManifest(ubyte[]):this
- ;; size=257 bbWeight=0.50 PerfScore 23.88
-G_M12525_IG07:
- test r15, r15
- jne SHORT G_M12525_IG08
- xor r14d, r14d
- jmp SHORT G_M12525_IG09
- ;; size=10 bbWeight=0.50 PerfScore 1.75
+ mov rdi, gword ptr [rbp-0x90]
+ ;; size=29 bbWeight=0.50 PerfScore 2.75
G_M12525_IG08:
- lea rdi, bword ptr [r15+0x0C]
- mov bword ptr [rbp-0x48], rdi
- mov r14, bword ptr [rbp-0x48]
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ test rbx, rbx
+ jne SHORT G_M12525_IG09
+ xor r15d, r15d
+ jmp SHORT G_M12525_IG10
+ ;; size=10 bbWeight=0.50 PerfScore 1.75
G_M12525_IG09:
- xor edi, edi
- mov dword ptr [rsp], edi
+ lea rsi, bword ptr [rbx+0x0C]
+ mov bword ptr [rbp-0x48], rsi
+ mov r15, bword ptr [rbp-0x48]
+ ;; size=12 bbWeight=0.50 PerfScore 1.25
+G_M12525_IG10:
+ xor esi, esi
+ mov dword ptr [rsp], esi
mov qword ptr [rsp+0x08], -1
lea rdi, [rbp-0x58]
- xor esi, esi
+ ;; size=18 bbWeight=0.50 PerfScore 1.38
+G_M12525_IG11:
xor edx, edx
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventDescriptor:.ctor(int,ubyte,ubyte,ubyte,ubyte,int,long):this
call [rax]System.Diagnostics.Tracing.EventDescriptor:.ctor(int,ubyte,ubyte,ubyte,ubyte,int,long):this
vxorps xmm0, xmm0, xmm0
vmovups xmmword ptr [rbp-0x68], xmm0
- mov qword ptr [rbp-0x68], r14
- mov edi, dword ptr [r15+0x08]
+ mov qword ptr [rbp-0x68], r15
+ mov edi, dword ptr [rbx+0x08]
lea edi, [2*rdi+0x02]
mov dword ptr [rbp-0x60], edi
xor edi, edi
mov dword ptr [rbp-0x5C], edi
- mov rdi, gword ptr [rbx+0x30]
- test rdi, rdi
- je SHORT G_M12525_IG10
- mov rdi, gword ptr [rdi+0x08]
+ mov rdi, gword ptr [rbp-0x90]
+ mov rsi, gword ptr [rdi+0x30]
+ test rsi, rsi
+ je SHORT G_M12525_IG12
+ mov rax, gword ptr [rsi+0x08]
lea rsi, [rbp-0x68]
mov qword ptr [rsp], rsi
+ mov rdi, rax
lea rsi, [rbp-0x58]
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov r9d, 1
- mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,long,ulong,ulong,int,ulong):int:this
- mov r15d, eax
- test r15d, r15d
- je SHORT G_M12525_IG10
+ mov ebx, eax
+ test ebx, ebx
+ je SHORT G_M12525_IG12
mov rdi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; function address
call rax
add rax, 56
- mov dword ptr [rax+0x10], r15d
- ;; size=159 bbWeight=0.50 PerfScore 17.92
-G_M12525_IG10:
- cmp gword ptr [rbx+0x40], 0
- je G_M12525_IG23
- cmp qword ptr [rbx+0x88], 0
- jne G_M12525_IG22
- cmp gword ptr [rbx+0x38], 0
- jne SHORT G_M12525_IG11
+ mov dword ptr [rax+0x10], ebx
+ ;; size=145 bbWeight=0.50 PerfScore 17.04
+G_M12525_IG12:
+ mov rdi, gword ptr [rbp-0x90]
+ cmp gword ptr [rdi+0x40], 0
+ je G_M12525_IG25
+ cmp qword ptr [rdi+0x88], 0
+ jne G_M12525_IG24
+ cmp gword ptr [rdi+0x38], 0
+ jne SHORT G_M12525_IG13
mov rdi, 0xD1FFAB1E ; System.Object
call CORINFO_HELP_NEWSFAST
mov rsi, rax
- lea rdi, bword ptr [rbx+0x38]
- test rdi, rdi
- je G_M12525_IG25
+ mov rdi, gword ptr [rbp-0x90]
+ lea rdx, bword ptr [rdi+0x38]
+ test rdx, rdx
+ je G_M12525_IG27
+ mov rdi, rdx
xor rdx, rdx
call System.Threading.Interlocked:CompareExchangeObject(byref,System.Object,System.Object):System.Object
- ;; size=70 bbWeight=0.50 PerfScore 8.25
-G_M12525_IG11:
- mov rdi, gword ptr [rbx+0x38]
- mov gword ptr [rbp-0x90], rdi
- xor esi, esi
- mov dword ptr [rbp-0x70], esi
- ;; size=16 bbWeight=0.50 PerfScore 2.12
-G_M12525_IG12:
+ ;; size=87 bbWeight=0.50 PerfScore 9.38
+G_M12525_IG13:
+ mov rdi, gword ptr [rbp-0x90]
+ mov rsi, gword ptr [rdi+0x38]
+ mov gword ptr [rbp-0x98], rsi
+ xor eax, eax
+ mov dword ptr [rbp-0x70], eax
+ ;; size=23 bbWeight=0.50 PerfScore 2.62
+G_M12525_IG14:
cmp byte ptr [rbp-0x70], 0
- jne G_M12525_IG20
+ jne G_M12525_IG22
lea rsi, [rbp-0x70]
+ mov rdi, gword ptr [rbp-0x98]
call System.Threading.Monitor:ReliableEnter(System.Object,byref)
- cmp qword ptr [rbx+0x88], 0
- jne G_M12525_IG21
- mov rdi, 0xD1FFAB1E ; const ptr
- mov r15, gword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x90]
+ cmp qword ptr [rdi+0x88], 0
+ jne G_M12525_IG23
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rbx, gword ptr [rsi]
mov rdi, 0xD1FFAB1E ; System.Diagnostics.Tracing.EventParameterInfo[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_VC
lea rdi, bword ptr [rax+0x10]
mov rsi, 0xD1FFAB1E ; 'message'
mov gword ptr [rdi], rsi
mov rsi, 0xD1FFAB1E ; 'System.String'
mov gword ptr [rdi+0x08], rsi
xor rsi, rsi
mov gword ptr [rdi+0x10], rsi
- ;; size=103 bbWeight=0.50 PerfScore 8.25
-G_M12525_IG13:
+ ;; size=117 bbWeight=0.50 PerfScore 9.25
+G_M12525_IG15:
mov dword ptr [rsp], esi
mov gword ptr [rsp+0x08], rax
- mov rdi, r15
+ mov rdi, rbx
;; size=11 bbWeight=0.50 PerfScore 1.12
-G_M12525_IG14:
+G_M12525_IG16:
mov rdx, 0xD1FFAB1E ; 'EventSourceMessage'
mov rcx, -1
xor r8d, r8d
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventPipeMetadataGenerator:GenerateMetadata(int,System.String,long,uint,uint,int,System.Diagnostics.Tracing.EventParameterInfo[]):ubyte[]:this
call [rax]System.Diagnostics.Tracing.EventPipeMetadataGenerator:GenerateMetadata(int,System.String,long,uint,uint,int,System.Diagnostics.Tracing.EventParameterInfo[]):ubyte[]:this
test rax, rax
- jne SHORT G_M12525_IG15
+ jne SHORT G_M12525_IG17
xor edi, edi
- jmp SHORT G_M12525_IG16
+ jmp SHORT G_M12525_IG18
;; size=47 bbWeight=0.50 PerfScore 3.88
-G_M12525_IG15:
+G_M12525_IG17:
mov edi, dword ptr [rax+0x08]
;; size=3 bbWeight=0.50 PerfScore 1.00
-G_M12525_IG16:
+G_M12525_IG18:
mov gword ptr [rbp-0x78], rax
test rax, rax
- je SHORT G_M12525_IG17
+ je SHORT G_M12525_IG19
cmp dword ptr [rax+0x08], 0
- jne SHORT G_M12525_IG18
+ jne SHORT G_M12525_IG20
;; size=15 bbWeight=0.50 PerfScore 3.12
-G_M12525_IG17:
+G_M12525_IG19:
xor esi, esi
- jmp SHORT G_M12525_IG19
+ jmp SHORT G_M12525_IG21
;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M12525_IG18:
+G_M12525_IG20:
add rax, 16
mov rsi, rax
;; size=7 bbWeight=0.50 PerfScore 0.25
-G_M12525_IG19:
+G_M12525_IG21:
+ mov rbx, gword ptr [rbp-0x90]
mov rdx, gword ptr [rbx+0x40]
mov rax, gword ptr [rdx+0x08]
mov qword ptr [rsp], rsi
mov dword ptr [rsp+0x08], edi
mov rdi, rax
xor esi, esi
mov rdx, 0xD1FFAB1E ; 'EventSourceMessage'
mov rcx, -1
xor r8d, r8d
xor r9d, r9d
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x08]System.Diagnostics.Tracing.EventProviderImpl:DefineEventHandle(uint,System.String,long,uint,uint,ulong,uint):long:this
mov qword ptr [rbx+0x88], rax
xor rdi, rdi
mov gword ptr [rbp-0x78], rdi
- jmp SHORT G_M12525_IG21
- ;; size=72 bbWeight=0.50 PerfScore 9.38
-G_M12525_IG20:
+ jmp SHORT G_M12525_IG23
+ ;; size=79 bbWeight=0.50 PerfScore 9.88
+G_M12525_IG22:
mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException()
call [rax]System.Threading.Monitor:ThrowLockTakenException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M12525_IG21:
+G_M12525_IG23:
cmp byte ptr [rbp-0x70], 0
- je SHORT G_M12525_IG22
- mov rdi, gword ptr [rbp-0x90]
+ je SHORT G_M12525_IG24
+ mov rdi, gword ptr [rbp-0x98]
call System.Threading.Monitor:Exit(System.Object)
;; size=18 bbWeight=0.50 PerfScore 2.50
-G_M12525_IG22:
- mov rdi, gword ptr [rbx+0x40]
- mov rdi, gword ptr [rdi+0x08]
+G_M12525_IG24:
+ mov rdi, gword ptr [rbp-0x90]
+ mov rdx, gword ptr [rdi+0x40]
+ mov rax, gword ptr [rdx+0x08]
lea rdx, [rbp-0x68]
mov qword ptr [rsp], rdx
+ mov rdi, rax
+ mov rbx, gword ptr [rbp-0x90]
mov rdx, qword ptr [rbx+0x88]
lea rsi, [rbp-0x58]
xor ecx, ecx
xor r8d, r8d
mov r9d, 1
- mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Diagnostics.Tracing.EventProviderImpl:EventWriteTransfer(byref,long,ulong,ulong,int,ulong):int:this
- mov ebx, eax
- test ebx, ebx
- je SHORT G_M12525_IG23
+ mov r15d, eax
+ test r15d, r15d
+ je SHORT G_M12525_IG25
mov rdi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; function address
call rax
add rax, 56
- mov dword ptr [rax+0x10], ebx
- ;; size=82 bbWeight=0.50 PerfScore 11.00
-G_M12525_IG23:
+ mov dword ptr [rax+0x10], r15d
+ ;; size=102 bbWeight=0.50 PerfScore 12.12
+G_M12525_IG25:
+ mov rdi, gword ptr [rbp-0x90]
xor eax, eax
mov bword ptr [rbp-0x48], rax
- ;; size=6 bbWeight=0.50 PerfScore 0.62
-G_M12525_IG24:
- add rsp, 136
+ ;; size=13 bbWeight=0.50 PerfScore 1.12
+G_M12525_IG26:
+ add rsp, 144
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=0.50 PerfScore 2.12
-G_M12525_IG25:
+ ;; size=16 bbWeight=0.50 PerfScore 1.88
+G_M12525_IG27:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowNullReferenceException()
call [rax]System.ThrowHelper:ThrowNullReferenceException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M12525_IG26:
+G_M12525_IG28:
push rbp
push r15
push r14
push r13
- push r12
push rbx
- sub rsp, 24
+ sub rsp, 32
mov rbp, qword ptr [rdi+0x10]
mov qword ptr [rsp+0x10], rbp
lea rbp, [rbp+0xB0]
- ;; size=30 bbWeight=0 PerfScore 0.00
-G_M12525_IG27:
+ ;; size=28 bbWeight=0 PerfScore 0.00
+G_M12525_IG29:
cmp byte ptr [rbp-0x70], 0
- je SHORT G_M12525_IG28
- mov rdi, gword ptr [rbp-0x90]
+ je SHORT G_M12525_IG30
+ mov rdi, gword ptr [rbp-0x98]
call System.Threading.Monitor:Exit(System.Object)
;; size=18 bbWeight=0 PerfScore 0.00
-G_M12525_IG28:
+G_M12525_IG30:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M12525_IG29:
- add rsp, 24
+G_M12525_IG31:
+ add rsp, 32
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=15 bbWeight=0 PerfScore 0.00
+ ;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1246, prolog size 48, PerfScore 135.33, instruction count 301, allocated bytes for code 1246 (MethodHash=61c7cf12) for method System.Diagnostics.Tracing.EventSource:WriteEventString(System.String):this (FullOpts)
+; Total bytes of code 1340, prolog size 54, PerfScore 142.33, instruction count 310, allocated bytes for code 1340 (MethodHash=61c7cf12) for method System.Diagnostics.Tracing.EventSource:WriteEventString(System.String):this (FullOpts)
90 (5.14 % of base) - System.IO.FileSystemWatcher:WaitForChanged(int,int):System.IO.WaitForChangedResult:this
; Assembly listing for method System.IO.FileSystemWatcher:WaitForChanged(int,int):System.IO.WaitForChangedResult:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 27 single block inlinees; 13 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 34, 14.50) ref -> [rbp-0x30] this class-hnd EH-live single-def <System.IO.FileSystemWatcher>
-; V01 RetBuf [V01,T04] ( 6, 4 ) byref -> r15 single-def
-; V02 arg1 [V02,T09] ( 3, 3 ) int -> r14 single-def
-; V03 arg2 [V03,T10] ( 3, 3 ) int -> r13 single-def
+; V01 RetBuf [V01,T04] ( 6, 4 ) byref -> rbx single-def
+; V02 arg1 [V02,T09] ( 3, 3 ) int -> r15 single-def
+; V03 arg2 [V03,T10] ( 3, 3 ) int -> r14 single-def
; V04 loc0 [V04,T01] ( 19, 10.50) ref -> [rbp-0x38] class-hnd exact EH-live spill-single-def <System.IO.FileSystemWatcher+<>c__DisplayClass69_0>
; V05 loc1 [V05,T11] ( 10, 4 ) ref -> [rbp-0x40] do-not-enreg[M] class-hnd EH-live <System.IO.FileSystemEventHandler>
; V06 loc2 [V06,T20] ( 6, 3 ) ref -> [rbp-0x48] do-not-enreg[M] class-hnd EH-live <System.IO.RenamedEventHandler>
-; V07 loc3 [V07,T26] ( 3, 3 ) ubyte -> r14
+; V07 loc3 [V07,T26] ( 3, 3 ) ubyte -> r15
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.IO.FileSystemWatcher+<>c__DisplayClass69_0>
-; V10 tmp2 [V10,T06] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]>
-; V11 tmp3 [V11,T05] ( 6, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.IO.RenamedEventHandler>
-; V12 tmp4 [V12,T02] ( 10, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.IO.FileSystemEventHandler>
+; V10 tmp2 [V10,T06] ( 3, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]>
+; V11 tmp3 [V11,T05] ( 6, 6 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.IO.RenamedEventHandler>
+; V12 tmp4 [V12,T02] ( 10, 10 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.IO.FileSystemEventHandler>
; V13 tmp5 [V13,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]>
; V14 tmp6 [V14,T32] ( 4, 1.50) ref -> rax class-hnd "Inline return value spill temp" <System.Delegate>
; V15 tmp7 [V15,T21] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.IO.FileSystemEventHandler>
; V16 tmp8 [V16,T33] ( 4, 1.50) ref -> rax class-hnd "Inline return value spill temp" <System.Delegate>
; V17 tmp9 [V17,T22] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.IO.FileSystemEventHandler>
-; V18 tmp10 [V18,T34] ( 4, 1.50) ref -> r14 class-hnd "Inline return value spill temp" <System.Delegate>
+; V18 tmp10 [V18,T34] ( 4, 1.50) ref -> r15 class-hnd "Inline return value spill temp" <System.Delegate>
; V19 tmp11 [V19,T23] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.IO.FileSystemEventHandler>
; V20 tmp12 [V20,T35] ( 4, 1.50) ref -> rsi class-hnd "Inline return value spill temp" <System.Delegate>
; V21 tmp13 [V21,T24] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.IO.RenamedEventHandler>
-; V22 tmp14 [V22,T36] ( 2, 1 ) ubyte -> r12 "Inline return value spill temp"
-; V23 tmp15 [V23,T37] ( 3, 1.50) ubyte -> r12 "Inline return value spill temp"
+; V22 tmp14 [V22,T36] ( 2, 1 ) ubyte -> r13 "Inline return value spill temp"
+; V23 tmp15 [V23,T37] ( 3, 1.50) ubyte -> r13 "Inline return value spill temp"
; V24 tmp16 [V24,T25] ( 3, 3 ) ref -> rdi class-hnd single-def "dup spill" <System.ComponentModel.ISite>
;* V25 tmp17 [V25 ] ( 0, 0 ) ref -> zero-ref single-def
;* V26 tmp18 [V26 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V27 tmp19 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]>
; V28 tmp20 [V28,T08] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]>
;* V29 tmp21 [V29 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
;* V30 tmp22 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]>
;* V31 tmp23 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]>
;* V32 tmp24 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]>
;* V33 tmp25 [V33 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.IO.WaitForChangedResult>
-; V34 tmp26 [V34,T03] ( 9, 8 ) ref -> r14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]>
+; V34 tmp26 [V34,T03] ( 9, 8 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]>
;* V35 tmp27 [V35 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
;* V36 tmp28 [V36 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V37 tmp29 [V37 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
-; V38 tmp30 [V38,T38] ( 3, 1 ) ref -> r13 class-hnd single-def "Inline stloc first use temp" <System.AggregateException>
+; V38 tmp30 [V38,T38] ( 3, 1 ) ref -> r14 class-hnd single-def "Inline stloc first use temp" <System.AggregateException>
;* V39 tmp31 [V39,T47] ( 0, 0 ) ref -> zero-ref single-def "field V29._source (fldOffset=0x0)" P-INDEP
;* V40 tmp32 [V40,T49] ( 0, 0 ) ref -> zero-ref single-def "field V35._source (fldOffset=0x0)" P-INDEP
;* V41 tmp33 [V41 ] ( 0, 0 ) ref -> zero-ref "field V37._source (fldOffset=0x0)" P-INDEP
; V42 tmp34 [V42,T50] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V43 tmp35 [V43,T51] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V44 tmp36 [V44,T52] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V45 tmp37 [V45,T53] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V46 tmp38 [V46,T28] ( 3, 2 ) ref -> rax single-def "argument with side effect"
; V47 tmp39 [V47,T29] ( 3, 2 ) ref -> rax single-def "argument with side effect"
; V48 tmp40 [V48,T30] ( 3, 2 ) ref -> rax single-def "argument with side effect"
; V49 tmp41 [V49,T31] ( 3, 2 ) ref -> rax single-def "argument with side effect"
; V50 PSPSym [V50,T48] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
; V51 cse0 [V51,T27] ( 3, 2.50) int -> rdi "CSE #02: moderate"
; V52 rat0 [V52,T12] ( 4, 3.50) ref -> rcx "replacement local"
; V53 rat1 [V53,T39] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V54 rat2 [V54,T13] ( 4, 3.50) ref -> rcx "replacement local"
; V55 rat3 [V55,T40] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V56 rat4 [V56,T14] ( 4, 3.50) ref -> rax "replacement local"
; V57 rat5 [V57,T41] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V58 rat6 [V58,T15] ( 4, 3.50) ref -> rax "replacement local"
; V59 rat7 [V59,T42] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V60 rat8 [V60,T16] ( 4, 3.50) ref -> rsi "replacement local"
; V61 rat9 [V61,T43] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V62 rat10 [V62,T17] ( 4, 3.50) ref -> rsi "replacement local"
; V63 rat11 [V63,T44] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V64 rat12 [V64,T18] ( 4, 3.50) ref -> rsi "replacement local"
; V65 rat13 [V65,T45] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
; V66 rat14 [V66,T19] ( 4, 3.50) ref -> rsi "replacement local"
; V67 rat15 [V67,T46] ( 3, 1 ) long -> rdi "CSE for expectedClsNode"
;
-; Lcl frame size = 40
+; Lcl frame size = 48
G_M39231_IG01:
push rbp
push r15
push r14
push r13
- push r12
push rbx
- sub rsp, 40
+ sub rsp, 48
lea rbp, [rsp+0x50]
mov qword ptr [rbp-0x50], rsp
+ mov qword ptr [rbp-0x28], rdi
mov gword ptr [rbp-0x30], rdi
- mov rbx, rdi
- mov r15, rsi
- mov r14d, edx
- mov r13d, ecx
- ;; size=39 bbWeight=1 PerfScore 9.75
+ mov rbx, rsi
+ mov r15d, edx
+ mov r14d, ecx
+ ;; size=38 bbWeight=1 PerfScore 9.50
G_M39231_IG02:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemWatcher+<>c__DisplayClass69_0
call CORINFO_HELP_NEWSFAST
mov rsi, rax
mov gword ptr [rbp-0x38], rsi
- mov dword ptr [rsi+0x10], r14d
+ mov dword ptr [rsi+0x10], r15d
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TaskCompletionSource`1[System.IO.WaitForChangedResult]
call CORINFO_HELP_NEWSFAST
- mov r14, rax
+ mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[System.IO.WaitForChangedResult]
call CORINFO_HELP_NEWSFAST
mov dword ptr [rax+0x34], 0xD1FFAB1E
- lea rdi, bword ptr [r14+0x08]
+ lea rdi, bword ptr [r15+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [rbp-0x38]
lea rdi, bword ptr [rsi+0x08]
- mov rsi, r14
+ mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov gword ptr [rbp-0x40], rdi
;; size=100 bbWeight=1 PerfScore 13.00
G_M39231_IG03:
mov gword ptr [rbp-0x48], rdi
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 7
je G_M39231_IG19
;; size=18 bbWeight=1 PerfScore 6.00
G_M39231_IG04:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- lea rdi, bword ptr [r14+0x08]
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x08]
mov rsi, gword ptr [rbp-0x38]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; code for System.IO.FileSystemWatcher+<>c__DisplayClass69_0:<WaitForChanged>b__0(System.Object,System.IO.FileSystemEventArgs):this
- mov qword ptr [r14+0x18], rdi
- mov gword ptr [rbp-0x40], r14
+ mov qword ptr [r15+0x18], rdi
+ mov gword ptr [rbp-0x40], r15
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 1
je SHORT G_M39231_IG09
- mov rdi, gword ptr [rbx+0x30]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x30]
test rdi, rdi
jne SHORT G_M39231_IG05
- mov rax, r14
+ mov rax, r15
jmp SHORT G_M39231_IG06
- ;; size=73 bbWeight=0.50 PerfScore 8.38
+ ;; size=77 bbWeight=0.50 PerfScore 8.88
G_M39231_IG05:
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
call [rax]System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
;; size=15 bbWeight=0.50 PerfScore 1.75
G_M39231_IG06:
mov rcx, rax
test rcx, rcx
je SHORT G_M39231_IG08
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M39231_IG07:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rcx], rdi
jne G_M39231_IG63
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG08:
- lea rdi, bword ptr [rbx+0x30]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x30]
mov rsi, rcx
call CORINFO_HELP_ASSIGN_REF
- ;; size=12 bbWeight=0.50 PerfScore 0.88
+ ;; size=16 bbWeight=0.50 PerfScore 1.38
G_M39231_IG09:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 2
je SHORT G_M39231_IG14
- mov rdi, gword ptr [rbx+0x38]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x38]
test rdi, rdi
jne SHORT G_M39231_IG10
- mov rax, r14
+ mov rax, r15
jmp SHORT G_M39231_IG11
- ;; size=24 bbWeight=0.50 PerfScore 5.25
+ ;; size=28 bbWeight=0.50 PerfScore 5.75
G_M39231_IG10:
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
call [rax]System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
;; size=15 bbWeight=0.50 PerfScore 1.75
G_M39231_IG11:
mov rcx, rax
test rcx, rcx
je SHORT G_M39231_IG13
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M39231_IG12:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rcx], rdi
jne G_M39231_IG62
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG13:
- lea rdi, bword ptr [rbx+0x38]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x38]
mov rsi, rcx
call CORINFO_HELP_ASSIGN_REF
- ;; size=12 bbWeight=0.50 PerfScore 0.88
+ ;; size=16 bbWeight=0.50 PerfScore 1.38
G_M39231_IG14:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 4
je SHORT G_M39231_IG19
- mov rdi, gword ptr [rbx+0x28]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x28]
test rdi, rdi
jne SHORT G_M39231_IG15
jmp SHORT G_M39231_IG16
- ;; size=21 bbWeight=0.50 PerfScore 5.12
+ ;; size=25 bbWeight=0.50 PerfScore 5.62
G_M39231_IG15:
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
call [rax]System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
- mov r14, rax
+ mov r15, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M39231_IG16:
- mov rax, r14
+ mov rax, r15
test rax, rax
je SHORT G_M39231_IG18
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M39231_IG17:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rax], rdi
jne G_M39231_IG61
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG18:
- lea rdi, bword ptr [rbx+0x28]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=12 bbWeight=0.50 PerfScore 0.88
+ ;; size=16 bbWeight=0.50 PerfScore 1.38
G_M39231_IG19:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 8
- je SHORT G_M39231_IG25
- ;; size=10 bbWeight=1 PerfScore 5.00
+ je G_M39231_IG25
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M39231_IG20:
mov rdi, 0xD1FFAB1E ; System.IO.RenamedEventHandler
call CORINFO_HELP_NEWSFAST
- mov r14, rax
- lea rdi, bword ptr [r14+0x08]
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x08]
mov rsi, gword ptr [rbp-0x38]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; code for System.IO.FileSystemWatcher+<>c__DisplayClass69_0:<WaitForChanged>b__1(System.Object,System.IO.RenamedEventArgs):this
- mov qword ptr [r14+0x18], rdi
- mov gword ptr [rbp-0x48], r14
- mov rdi, gword ptr [rbx+0x40]
+ mov qword ptr [r15+0x18], rdi
+ mov gword ptr [rbp-0x48], r15
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x40]
test rdi, rdi
jne SHORT G_M39231_IG21
- mov rsi, r14
+ mov rsi, r15
jmp SHORT G_M39231_IG22
- ;; size=63 bbWeight=0.50 PerfScore 5.88
+ ;; size=67 bbWeight=0.50 PerfScore 6.38
G_M39231_IG21:
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
call [rax]System.MulticastDelegate:CombineImpl(System.Delegate):System.Delegate:this
mov rsi, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M39231_IG22:
mov rax, rsi
test rax, rax
je SHORT G_M39231_IG24
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M39231_IG23:
mov rdi, 0xD1FFAB1E ; System.IO.RenamedEventHandler
cmp qword ptr [rax], rdi
jne G_M39231_IG60
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG24:
- lea rdi, bword ptr [rbx+0x40]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x40]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
nop
- ;; size=13 bbWeight=0.50 PerfScore 1.00
+ ;; size=17 bbWeight=0.50 PerfScore 1.50
G_M39231_IG25:
- movzx rdi, byte ptr [rbx+0x69]
- mov r14d, edi
- test r14d, r14d
+ mov r8, gword ptr [rbp-0x30]
+ movzx rdi, byte ptr [r8+0x69]
+ mov r15d, edi
+ test r15d, r15d
jne SHORT G_M39231_IG28
- ;; size=13 bbWeight=1 PerfScore 3.50
+ ;; size=17 bbWeight=1 PerfScore 4.50
G_M39231_IG26:
cmp edi, 1
je SHORT G_M39231_IG28
- cmp byte ptr [rbx+0x6A], 0
+ cmp byte ptr [r8+0x6A], 0
jne SHORT G_M39231_IG27
- mov rdi, gword ptr [rbx+0x08]
+ mov rdi, gword ptr [r8+0x08]
test rdi, rdi
jne SHORT G_M39231_IG29
- xor r12d, r12d
+ xor r13d, r13d
jmp SHORT G_M39231_IG30
- ;; size=25 bbWeight=0.50 PerfScore 5.38
+ ;; size=26 bbWeight=0.50 PerfScore 5.38
G_M39231_IG27:
- mov byte ptr [rbx+0x69], 1
- ;; size=4 bbWeight=0.50 PerfScore 0.50
+ mov byte ptr [r8+0x69], 1
+ ;; size=5 bbWeight=0.50 PerfScore 0.50
G_M39231_IG28:
mov rsi, gword ptr [rbp-0x38]
mov rdi, gword ptr [rsi+0x08]
mov rdi, gword ptr [rdi+0x08]
cmp byte ptr [rdi], dil
- mov esi, r13d
+ mov esi, r14d
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:Wait(int,System.Threading.CancellationToken):ubyte:this
call [rax]System.Threading.Tasks.Task:Wait(int,System.Threading.CancellationToken):ubyte:this
- mov rdi, rbx
- mov esi, r14d
+ mov rdi, gword ptr [rbp-0x30]
+ mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.IO.FileSystemWatcher:set_EnableRaisingEvents(ubyte):this
call [rax]System.IO.FileSystemWatcher:set_EnableRaisingEvents(ubyte):this
jmp SHORT G_M39231_IG32
- ;; size=52 bbWeight=1 PerfScore 17.50
+ ;; size=53 bbWeight=1 PerfScore 18.25
G_M39231_IG29:
mov r11, 0xD1FFAB1E ; code for System.ComponentModel.ISite:get_DesignMode():ubyte:this
call [r11]System.ComponentModel.ISite:get_DesignMode():ubyte:this
- mov r12d, eax
- ;; size=16 bbWeight=0.50 PerfScore 1.75
+ mov r13d, eax
+ mov r8, gword ptr [rbp-0x30]
+ ;; size=20 bbWeight=0.50 PerfScore 2.25
G_M39231_IG30:
- test r12d, r12d
+ test r13d, r13d
jne SHORT G_M39231_IG27
- cmp byte ptr [rbx+0x6B], 0
+ cmp byte ptr [r8+0x6B], 0
jne SHORT G_M39231_IG31
- mov rdi, rbx
+ mov rdi, r8
mov rax, 0xD1FFAB1E ; code for System.IO.FileSystemWatcher:StartRaisingEvents():this
call [rax]System.IO.FileSystemWatcher:StartRaisingEvents():this
jmp SHORT G_M39231_IG28
- ;; size=28 bbWeight=0.50 PerfScore 5.38
+ ;; size=29 bbWeight=0.50 PerfScore 5.38
G_M39231_IG31:
- mov rdi, rbx
+ mov rdi, r8
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowObjectDisposedException(System.Object)
call [rax]System.ThrowHelper:ThrowObjectDisposedException(System.Object)
int3
;; size=16 bbWeight=0 PerfScore 0.00
G_M39231_IG32:
cmp gword ptr [rbp-0x48], 0
je SHORT G_M39231_IG36
;; size=7 bbWeight=1 PerfScore 3.00
G_M39231_IG33:
- mov rdi, gword ptr [rbx+0x40]
+ mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rdi+0x40]
mov rsi, gword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
test rsi, rsi
je SHORT G_M39231_IG35
- ;; size=28 bbWeight=0.50 PerfScore 3.88
+ ;; size=32 bbWeight=0.50 PerfScore 4.38
G_M39231_IG34:
mov rdi, 0xD1FFAB1E ; System.IO.RenamedEventHandler
cmp qword ptr [rsi], rdi
jne G_M39231_IG59
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG35:
- lea rdi, bword ptr [rbx+0x40]
+ mov rdi, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [rdi+0x40]
call CORINFO_HELP_ASSIGN_REF
- ;; size=9 bbWeight=0.50 PerfScore 0.75
+ ;; size=13 bbWeight=0.50 PerfScore 1.25
G_M39231_IG36:
cmp gword ptr [rbp-0x40], 0
je G_M39231_IG46
;; size=11 bbWeight=1 PerfScore 3.00
G_M39231_IG37:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 4
je SHORT G_M39231_IG40
- mov rdi, gword ptr [rbx+0x28]
+ mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rdi+0x28]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
test rsi, rsi
je SHORT G_M39231_IG39
- ;; size=38 bbWeight=0.50 PerfScore 6.38
+ ;; size=42 bbWeight=0.50 PerfScore 6.88
G_M39231_IG38:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rsi], rdi
jne G_M39231_IG58
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG39:
- lea rdi, bword ptr [rbx+0x28]
+ mov rdi, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [rdi+0x28]
call CORINFO_HELP_ASSIGN_REF
- ;; size=9 bbWeight=0.50 PerfScore 0.75
+ ;; size=13 bbWeight=0.50 PerfScore 1.25
G_M39231_IG40:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 2
je SHORT G_M39231_IG43
- mov rdi, gword ptr [rbx+0x38]
+ mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rdi+0x38]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
test rsi, rsi
je SHORT G_M39231_IG42
- ;; size=38 bbWeight=0.50 PerfScore 6.38
+ ;; size=42 bbWeight=0.50 PerfScore 6.88
G_M39231_IG41:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rsi], rdi
jne G_M39231_IG57
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG42:
- lea rdi, bword ptr [rbx+0x38]
+ mov rdi, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [rdi+0x38]
call CORINFO_HELP_ASSIGN_REF
- ;; size=9 bbWeight=0.50 PerfScore 0.75
+ ;; size=13 bbWeight=0.50 PerfScore 1.25
G_M39231_IG43:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 1
je SHORT G_M39231_IG46
- mov rdi, gword ptr [rbx+0x30]
+ mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rdi+0x30]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
test rsi, rsi
je SHORT G_M39231_IG45
- ;; size=38 bbWeight=0.50 PerfScore 6.38
+ ;; size=42 bbWeight=0.50 PerfScore 6.88
G_M39231_IG44:
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
cmp qword ptr [rsi], rdi
jne G_M39231_IG56
;; size=19 bbWeight=0.25 PerfScore 1.06
G_M39231_IG45:
- lea rdi, bword ptr [rbx+0x30]
+ mov rdi, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [rdi+0x30]
call CORINFO_HELP_ASSIGN_REF
- ;; size=9 bbWeight=0.50 PerfScore 0.75
+ ;; size=13 bbWeight=0.50 PerfScore 1.25
G_M39231_IG46:
mov rsi, gword ptr [rbp-0x38]
mov rdi, gword ptr [rsi+0x08]
mov rdi, gword ptr [rdi+0x08]
mov edi, dword ptr [rdi+0x34]
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
je SHORT G_M39231_IG50
;; size=29 bbWeight=1 PerfScore 8.50
G_M39231_IG47:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M39231_IG55
;; size=19 bbWeight=0.50 PerfScore 2.12
G_M39231_IG48:
mov rdi, 0xD1FFAB1E ; box for System.IO.WaitForChangedResult:TimedOutResult
mov rsi, gword ptr [rdi]
add rsi, 8
- mov rdi, r15
+ mov rdi, rbx
call CORINFO_HELP_ASSIGN_BYREF
call CORINFO_HELP_ASSIGN_BYREF
movsq
- mov rax, r15
+ mov rax, rbx
;; size=35 bbWeight=0.50 PerfScore 3.00
G_M39231_IG49:
- add rsp, 40
+ add rsp, 48
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=15 bbWeight=0.50 PerfScore 2.12
+ ;; size=13 bbWeight=0.50 PerfScore 1.88
G_M39231_IG50:
mov rdi, gword ptr [rsi+0x08]
- mov r14, gword ptr [rdi+0x08]
- mov edi, dword ptr [r14+0x34]
+ mov r15, gword ptr [rdi+0x08]
+ mov edi, dword ptr [r15+0x34]
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
je SHORT G_M39231_IG52
- test dword ptr [r14+0x34], 0xD1FFAB1E
+ test dword ptr [r15+0x34], 0xD1FFAB1E
jne SHORT G_M39231_IG51
- mov rdi, r14
+ mov rdi, r15
xor rdx, rdx
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this
call [rax]System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this
;; size=58 bbWeight=0.50 PerfScore 7.75
G_M39231_IG51:
- mov rdi, r14
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
call [rax]System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletionIfNecessary():ubyte:this
- mov edi, dword ptr [r14+0x34]
+ mov edi, dword ptr [r15+0x34]
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
je SHORT G_M39231_IG52
- mov rdi, r14
+ mov rdi, r15
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:GetExceptions(ubyte):System.AggregateException:this
call [rax]System.Threading.Tasks.Task:GetExceptions(ubyte):System.AggregateException:this
- mov r13, rax
- test r13, r13
+ mov r14, rax
+ test r14, r14
jne SHORT G_M39231_IG54
;; size=61 bbWeight=0.50 PerfScore 6.12
G_M39231_IG52:
- lea rsi, bword ptr [r14+0x38]
- mov rdi, r15
+ lea rsi, bword ptr [r15+0x38]
+ mov rdi, rbx
call CORINFO_HELP_ASSIGN_BYREF
call CORINFO_HELP_ASSIGN_BYREF
movsq
- mov rax, r15
+ mov rax, rbx
;; size=22 bbWeight=0.50 PerfScore 2.00
G_M39231_IG53:
- add rsp, 40
+ add rsp, 48
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=15 bbWeight=0.50 PerfScore 2.12
+ ;; size=13 bbWeight=0.50 PerfScore 1.88
G_M39231_IG54:
- mov rdi, r14
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:UpdateExceptionObservedStatus():this
call [rax]System.Threading.Tasks.Task:UpdateExceptionObservedStatus():this
- mov rdi, r13
+ mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=24 bbWeight=0 PerfScore 0.00
G_M39231_IG55:
mov rdi, 0xD1FFAB1E ; System.IO.WaitForChangedResult
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M39231_IG48
;; size=20 bbWeight=0 PerfScore 0.00
G_M39231_IG56:
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_M39231_IG57:
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_M39231_IG58:
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_M39231_IG59:
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_M39231_IG60:
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M39231_IG61:
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=16 bbWeight=0 PerfScore 0.00
G_M39231_IG62:
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_M39231_IG63:
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_M39231_IG64:
push rbp
push r15
push r14
push r13
- push r12
push rbx
- push rax
+ sub rsp, 16
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0x50]
- ;; size=22 bbWeight=0 PerfScore 0.00
+ ;; size=23 bbWeight=0 PerfScore 0.00
G_M39231_IG65:
cmp gword ptr [rbp-0x48], 0
je SHORT G_M39231_IG66
- mov rbx, gword ptr [rbp-0x30]
- mov rdi, gword ptr [rbx+0x40]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x40]
mov rsi, gword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.IO.RenamedEventHandler
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
- lea rdi, bword ptr [rbx+0x40]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x40]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=68 bbWeight=0 PerfScore 0.00
+ ;; size=72 bbWeight=0 PerfScore 0.00
G_M39231_IG66:
cmp gword ptr [rbp-0x40], 0
je G_M39231_IG69
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 4
je SHORT G_M39231_IG67
- mov rbx, gword ptr [rbp-0x30]
- mov rdi, gword ptr [rbx+0x28]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x28]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
- lea rdi, bword ptr [rbx+0x28]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=82 bbWeight=0 PerfScore 0.00
+ ;; size=86 bbWeight=0 PerfScore 0.00
G_M39231_IG67:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 2
je SHORT G_M39231_IG68
- mov rbx, gword ptr [rbp-0x30]
- mov rdi, gword ptr [rbx+0x38]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x38]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
- lea rdi, bword ptr [rbx+0x38]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x38]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=71 bbWeight=0 PerfScore 0.00
+ ;; size=75 bbWeight=0 PerfScore 0.00
G_M39231_IG68:
mov rsi, gword ptr [rbp-0x38]
test byte ptr [rsi+0x10], 1
je SHORT G_M39231_IG69
- mov rbx, gword ptr [rbp-0x30]
- mov rdi, gword ptr [rbx+0x30]
+ mov r8, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [r8+0x30]
mov rsi, gword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
call [rax]System.Delegate:Remove(System.Delegate,System.Delegate):System.Delegate
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.IO.FileSystemEventHandler
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
- lea rdi, bword ptr [rbx+0x30]
+ mov r8, gword ptr [rbp-0x30]
+ lea rdi, bword ptr [r8+0x30]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=71 bbWeight=0 PerfScore 0.00
+ ;; size=75 bbWeight=0 PerfScore 0.00
G_M39231_IG69:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M39231_IG70:
- add rsp, 8
+ add rsp, 16
pop rbx
- pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=15 bbWeight=0 PerfScore 0.00
+ ;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1750, prolog size 39, PerfScore 180.50, instruction count 428, allocated bytes for code 1750 (MethodHash=889766c0) for method System.IO.FileSystemWatcher:WaitForChanged(int,int):System.IO.WaitForChangedResult:this (FullOpts)
+; Total bytes of code 1840, prolog size 38, PerfScore 190.00, instruction count 445, allocated bytes for code 1840 (MethodHash=889766c0) for method System.IO.FileSystemWatcher:WaitForChanged(int,int):System.IO.WaitForChangedResult:this (FullOpts)
87 (9.02 % of base) - System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this
; Assembly listing for method System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 16 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T03] ( 3, 2.50) ref -> r15 this class-hnd single-def <System.Runtime.Loader.AssemblyLoadContext>
-; V01 arg1 [V01,T00] ( 7, 5 ) ref -> [rbp-0x90] class-hnd single-def <System.Reflection.AssemblyName>
+; V00 this [V00,T03] ( 3, 2.50) ref -> [rbp-0x98] this class-hnd single-def <System.Runtime.Loader.AssemblyLoadContext>
+; V01 arg1 [V01,T00] ( 7, 5 ) ref -> [rbp-0xA0] class-hnd single-def <System.Reflection.AssemblyName>
;* V02 loc0 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.String>
-; V03 loc1 [V03,T37] ( 2, 1 ) ref -> [rbp-0x98] class-hnd single-def <System.Runtime.Loader.AssemblyLoadContext>
-; V04 loc2 [V04,T19] ( 4, 2 ) ref -> [rbp-0xA0] class-hnd exact single-def <System.String>
-; V05 loc3 [V05,T01] ( 12, 6 ) ref -> r12 class-hnd <System.String>
-; V06 loc4 [V06,T16] ( 5, 2.50) ubyte -> [rbp-0x2C]
+; V03 loc1 [V03,T37] ( 2, 1 ) ref -> [rbp-0xA8] class-hnd single-def <System.Runtime.Loader.AssemblyLoadContext>
+; V04 loc2 [V04,T19] ( 4, 2 ) ref -> [rbp-0xB0] class-hnd exact single-def <System.String>
+; V05 loc3 [V05,T01] ( 12, 6 ) ref -> [rbp-0xB8] class-hnd <System.String>
+; V06 loc4 [V06,T16] ( 5, 2.50) ubyte -> [rbp-0x34]
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V08 tmp1 [V08,T12] ( 3, 3 ) ref -> rax single-def "spilling varStr"
; V09 tmp2 [V09,T13] ( 3, 3 ) byref -> rax single-def "clonning data ptr"
; V10 tmp3 [V10,T18] ( 2, 2 ) int -> rax "spilling unroll qmark"
; V11 tmp4 [V11,T11] ( 4, 3 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
; V12 tmp5 [V12,T14] ( 3, 3 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.AssemblyName>
-; V13 tmp6 [V13,T05] ( 4, 4 ) ref -> r15 class-hnd single-def "dup spill" <System.Reflection.Assembly>
-; V14 tmp7 [V14,T15] ( 3, 3 ) ref -> r12 class-hnd exact "impAppendStmt" <System.String>
+; V13 tmp6 [V13,T05] ( 4, 4 ) ref -> r13 class-hnd single-def "dup spill" <System.Reflection.Assembly>
+; V14 tmp7 [V14,T15] ( 3, 3 ) ref -> [rbp-0xC0] class-hnd exact "impAppendStmt" <System.String>
;* V15 tmp8 [V15 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V16 tmp9 [V16,T32] ( 3, 1.50) ref -> rbx
+; V16 tmp9 [V16,T32] ( 3, 1.50) ref -> r14
;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref
;* V18 tmp11 [V18 ] ( 0, 0 ) ref -> zero-ref single-def
;* V19 tmp12 [V19 ] ( 0, 0 ) ref -> zero-ref single-def
;* V20 tmp13 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
;* V21 tmp14 [V21 ] ( 0, 0 ) ref -> zero-ref single-def
; V22 tmp15 [V22,T40] ( 2, 1 ) int -> rsi
;* V23 tmp16 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V24 tmp17 [V24 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V25 tmp18 [V25,T20] ( 4, 2 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
; V26 tmp19 [V26,T02] ( 7, 6 ) int -> rdx "Inlining Arg"
; V27 tmp20 [V27,T41] ( 2, 1 ) long -> r12 "Inline stloc first use temp"
-; V28 tmp21 [V28,T06] ( 4, 4 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "dup spill" <System.String>
+; V28 tmp21 [V28,T06] ( 4, 4 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "dup spill" <System.String>
;* V29 tmp22 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V30 tmp23 [V30 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V31 tmp24 [V31,T07] ( 4, 4 ) ref -> rdi class-hnd single-def "dup spill" <System.Globalization.CultureInfo>
;* V32 tmp25 [V32 ] ( 0, 0 ) ref -> zero-ref single-def
;* V33 tmp26 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V34 tmp27 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V35 tmp28 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V36 tmp29 [V36,T23] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V37 tmp30 [V37,T28] ( 2, 2 ) int -> rsi "Inlining Arg"
-; V38 tmp31 [V38 ] ( 1, 0.50) struct ( 8) [rbp-0x38] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <Interop+ErrorInfo>
+; V36 tmp29 [V36,T23] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V37 tmp30 [V37,T28] ( 2, 2 ) int -> rdx "Inlining Arg"
+; V38 tmp31 [V38 ] ( 1, 0.50) struct ( 8) [rbp-0x40] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <Interop+ErrorInfo>
;* V39 tmp32 [V39 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V40 tmp33 [V40 ] ( 2, 1 ) byref -> [rbp-0x40] must-init pinned "Inline stloc first use temp"
+; V40 tmp33 [V40 ] ( 2, 1 ) byref -> [rbp-0x48] must-init pinned "Inline stloc first use temp"
;* V41 tmp34 [V41 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V42 tmp35 [V42 ] ( 0, 0 ) int -> zero-ref "Spill before store to pinned local"
-; V43 tmp36 [V43,T21] ( 4, 2 ) byref -> r12 "Inline return value spill temp"
+; V43 tmp36 [V43,T21] ( 4, 2 ) byref -> rdi "Inline return value spill temp"
; V44 tmp37 [V44,T22] ( 4, 2 ) ref -> rsi class-hnd "Inline return value spill temp" <System.String>
; V45 tmp38 [V45,T08] ( 4, 4 ) ref -> rdi class-hnd single-def "dup spill" <System.Globalization.CultureInfo>
;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
;* V47 tmp40 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V48 tmp41 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V49 tmp42 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
; V50 tmp43 [V50,T24] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
; V51 tmp44 [V51,T29] ( 2, 2 ) int -> rsi "Inlining Arg"
-; V52 tmp45 [V52 ] ( 1, 0.50) struct ( 8) [rbp-0x48] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <Interop+ErrorInfo>
+; V52 tmp45 [V52 ] ( 1, 0.50) struct ( 8) [rbp-0x50] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <Interop+ErrorInfo>
; V53 tmp46 [V53,T09] ( 3, 4 ) ref -> rax "Single return block return value"
; V54 FramesRoot [V54,T04] ( 6, 4 ) long -> r14 "Pinvoke FrameListRoot"
-; V55 PInvokeFrame [V55 ] ( 8, 6 ) struct (64) [rbp-0x88] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+; V55 PInvokeFrame [V55 ] ( 8, 6 ) struct (64) [rbp-0x90] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
;* V56 tmp49 [V56 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp50 [V57 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
;* V58 tmp51 [V58 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
;* V59 tmp52 [V59 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
-; V60 tmp53 [V60,T33] ( 3, 1.50) byref -> rdi "field V33._reference (fldOffset=0x0)" P-INDEP
-; V61 tmp54 [V61,T35] ( 3, 1.50) int -> rsi "field V33._length (fldOffset=0x8)" P-INDEP
-; V62 tmp55 [V62,T38] ( 2, 1 ) byref -> rdi single-def "field V34._reference (fldOffset=0x0)" P-INDEP
-; V63 tmp56 [V63,T42] ( 2, 1 ) int -> rsi "field V34._length (fldOffset=0x8)" P-INDEP
+; V60 tmp53 [V60,T33] ( 3, 1.50) byref -> rsi "field V33._reference (fldOffset=0x0)" P-INDEP
+; V61 tmp54 [V61,T35] ( 3, 1.50) int -> rdx "field V33._length (fldOffset=0x8)" P-INDEP
+; V62 tmp55 [V62,T38] ( 2, 1 ) byref -> rsi single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+; V63 tmp56 [V63,T42] ( 2, 1 ) int -> rdx "field V34._length (fldOffset=0x8)" P-INDEP
;* V64 tmp57 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp58 [V65 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
-; V66 tmp59 [V66 ] ( 1, 0.50) int -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V38._error (fldOffset=0x0)" P-DEP
-; V67 tmp60 [V67 ] ( 1, 0.50) int -> [rbp-0x34] do-not-enreg[X] addr-exposed "field V38._rawErrno (fldOffset=0x4)" P-DEP
+; V66 tmp59 [V66 ] ( 1, 0.50) int -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V38._error (fldOffset=0x0)" P-DEP
+; V67 tmp60 [V67 ] ( 1, 0.50) int -> [rbp-0x3C] do-not-enreg[X] addr-exposed "field V38._rawErrno (fldOffset=0x4)" P-DEP
; V68 tmp61 [V68,T34] ( 3, 1.50) byref -> rdi "field V47._reference (fldOffset=0x0)" P-INDEP
; V69 tmp62 [V69,T36] ( 3, 1.50) int -> rsi "field V47._length (fldOffset=0x8)" P-INDEP
; V70 tmp63 [V70,T39] ( 2, 1 ) byref -> rdi single-def "field V48._reference (fldOffset=0x0)" P-INDEP
; V71 tmp64 [V71,T43] ( 2, 1 ) int -> rsi "field V48._length (fldOffset=0x8)" P-INDEP
;* V72 tmp65 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V49._reference (fldOffset=0x0)" P-INDEP
;* V73 tmp66 [V73 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP
-; V74 tmp67 [V74 ] ( 1, 0.50) int -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V52._error (fldOffset=0x0)" P-DEP
-; V75 tmp68 [V75 ] ( 1, 0.50) int -> [rbp-0x44] do-not-enreg[X] addr-exposed "field V52._rawErrno (fldOffset=0x4)" P-DEP
+; V74 tmp67 [V74 ] ( 1, 0.50) int -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V52._error (fldOffset=0x0)" P-DEP
+; V75 tmp68 [V75 ] ( 1, 0.50) int -> [rbp-0x4C] do-not-enreg[X] addr-exposed "field V52._rawErrno (fldOffset=0x4)" P-DEP
; V76 tmp69 [V76,T25] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V77 tmp70 [V77,T30] ( 2, 2 ) long -> rdi "Cast away GC"
; V78 tmp71 [V78,T31] ( 2, 2 ) long -> rdi "argument with side effect"
; V79 tmp72 [V79,T26] ( 2, 2 ) ref -> r14 single-def "argument with side effect"
; V80 tmp73 [V80,T27] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V81 cse0 [V81,T10] ( 5, 3.50) ref -> rdi "CSE #01: aggressive"
; V82 cse1 [V82,T17] ( 5, 2.50) int -> rcx "CSE #02: moderate"
; V83 rat0 [V83,T44] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 136
+; Lcl frame size = 168
G_M16240_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 136
+ sub rsp, 168
vzeroupper
- lea rbp, [rsp+0xB0]
+ lea rbp, [rsp+0xD0]
xor eax, eax
- mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x48], rax
+ mov qword ptr [rbp-0x30], rdi
mov r15, rdi
mov rbx, rsi
- ;; size=40 bbWeight=1 PerfScore 9.50
+ ;; size=44 bbWeight=1 PerfScore 10.50
G_M16240_IG02:
- lea rdi, [rbp-0x80]
+ lea rdi, [rbp-0x88]
call CORINFO_HELP_INIT_PINVOKE_FRAME
mov r14, rax
mov rax, rsp
- mov qword ptr [rbp-0x68], rax
+ mov qword ptr [rbp-0x70], rax
mov rax, rbp
- mov qword ptr [rbp-0x58], rax
+ mov qword ptr [rbp-0x60], rax
mov rdi, gword ptr [rbx+0x08]
test rdi, rdi
je SHORT G_M16240_IG04
- ;; size=35 bbWeight=1 PerfScore 7.50
+ ;; size=38 bbWeight=1 PerfScore 7.50
G_M16240_IG03:
mov rax, rdi
mov ecx, dword ptr [rax+0x08]
cmp ecx, 10
jl SHORT G_M16240_IG04
mov edx, ecx
lea rax, bword ptr [rax+2*rdx-0x14]
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
vmovups xmm1, xmmword ptr [rax+0x10]
vpternlogq xmm0, xmm1, xmmword ptr [reloc @RWD16], -10
vptest xmm0, xmm0
sete al
movzx rax, al
test eax, eax
jne SHORT G_M16240_IG06
;; size=62 bbWeight=0.50 PerfScore 11.12
G_M16240_IG04:
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M16240_IG05:
- add rsp, 136
+ add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
G_M16240_IG06:
mov r13, rdi
mov edx, dword ptr [rdi+0x08]
add edx, -10
cmp ecx, edx
- jb G_M16240_IG29
+ jb G_M16240_IG30
test edx, edx
jne SHORT G_M16240_IG07
mov r12, 0xD1FFAB1E ; ''
jmp SHORT G_M16240_IG09
;; size=33 bbWeight=0.50 PerfScore 3.62
G_M16240_IG07:
cmp ecx, edx
jne SHORT G_M16240_IG08
mov r12, r13
jmp SHORT G_M16240_IG09
;; size=9 bbWeight=0.50 PerfScore 1.75
G_M16240_IG08:
mov r12d, edx
mov edi, edx
call System.String:FastAllocateString(int):System.String
- mov gword ptr [rbp-0xA8], rax
+ mov gword ptr [rbp-0xC8], rax
cmp byte ptr [rax], al
lea rdi, bword ptr [rax+0x0C]
lea rsi, bword ptr [r13+0x0C]
lea rdx, [r12+r12]
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov r12, gword ptr [rbp-0xA8]
+ mov r12, gword ptr [rbp-0xC8]
;; size=50 bbWeight=0.50 PerfScore 5.62
G_M16240_IG09:
mov rdi, 0xD1FFAB1E ; System.Reflection.AssemblyName
call CORINFO_HELP_NEWSFAST
mov r13, rax
mov rdi, r13
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Reflection.AssemblyName:.ctor(System.String):this
call [rax]System.Reflection.AssemblyName:.ctor(System.String):this
+ mov gword ptr [rbp-0x98], r15
mov rdi, r15
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyName(System.Reflection.AssemblyName):System.Reflection.Assembly:this
call [rax]System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyName(System.Reflection.AssemblyName):System.Reflection.Assembly:this
- mov r15, rax
- mov rdi, r15
+ mov r13, rax
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:GetLoadContext(System.Reflection.Assembly):System.Runtime.Loader.AssemblyLoadContext
call [rax]System.Runtime.Loader.AssemblyLoadContext:GetLoadContext(System.Reflection.Assembly):System.Runtime.Loader.AssemblyLoadContext
- mov r13, rax
- mov rdi, r15
- mov rax, qword ptr [r15]
+ mov r12, rax
+ mov rdi, r13
+ mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x48]
call [rax+0x30]System.Reflection.Assembly:get_Location():System.String:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.IO.Path:GetDirectoryName(System.String):System.String
call [rax]System.IO.Path:GetDirectoryName(System.String):System.String
- mov r15, rax
- test r15, r15
- mov gword ptr [rbp-0x98], r13
+ mov r13, rax
+ test r13, r13
+ mov gword ptr [rbp-0xA8], r12
+ mov r15, gword ptr [rbp-0x98]
je G_M16240_IG04
mov rdi, gword ptr [rbx+0x20]
test rdi, rdi
jne SHORT G_M16240_IG10
- mov r13, gword ptr [rbp-0x98]
- xor r12, r12
+ mov r12, gword ptr [rbp-0xA8]
+ xor rax, rax
+ mov gword ptr [rbp-0xC0], rax
jmp SHORT G_M16240_IG11
- ;; size=143 bbWeight=0.50 PerfScore 16.38
+ ;; size=164 bbWeight=0.50 PerfScore 17.88
G_M16240_IG10:
- mov r13, gword ptr [rbp-0x98]
+ mov r12, gword ptr [rbp-0xA8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Globalization.CultureInfo:get_Name():System.String:this
- mov r12, rax
- ;; size=20 bbWeight=0.50 PerfScore 4.12
+ mov gword ptr [rbp-0xC0], rax
+ ;; size=24 bbWeight=0.50 PerfScore 4.50
G_M16240_IG11:
- mov gword ptr [rbp-0x90], rbx
+ mov gword ptr [rbp-0xA0], rbx
mov rdi, gword ptr [rbx+0x08]
mov rsi, 0xD1FFAB1E ; '.dll'
- 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 rcx, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
+ call [rcx]System.String:Concat(System.String,System.String):System.String
mov rdx, rax
- mov rsi, r12
- mov gword ptr [rbp-0xA0], r15
- mov rdi, r15
+ mov rsi, gword ptr [rbp-0xC0]
+ mov gword ptr [rbp-0xB0], r13
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.IO.Path:Combine(System.String,System.String,System.String):System.String
call [rax]System.IO.Path:Combine(System.String,System.String,System.String):System.String
- mov r12, rax
- test r12, r12
+ mov rdi, rax
+ test rdi, rdi
jne SHORT G_M16240_IG12
- mov r15, gword ptr [rbp-0xA0]
- xor rdi, rdi
- xor esi, esi
+ mov r13, gword ptr [rbp-0xB0]
+ xor rsi, rsi
+ xor edx, edx
+ mov gword ptr [rbp-0xB8], rdi
jmp SHORT G_M16240_IG13
- ;; size=82 bbWeight=0.50 PerfScore 8.25
+ ;; size=93 bbWeight=0.50 PerfScore 9.12
G_M16240_IG12:
- mov r15, gword ptr [rbp-0xA0]
- lea rdi, bword ptr [r12+0x0C]
- mov esi, dword ptr [r12+0x08]
- ;; size=17 bbWeight=0.50 PerfScore 1.75
+ mov r13, gword ptr [rbp-0xB0]
+ lea rsi, bword ptr [rdi+0x0C]
+ mov gword ptr [rbp-0xB8], rdi
+ mov edx, dword ptr [rdi+0x08]
+ ;; size=21 bbWeight=0.50 PerfScore 2.25
G_M16240_IG13:
- lea rdx, [rbp-0x38]
+ mov rdi, rsi
+ mov esi, edx
+ lea rdx, [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.IO.FileSystem:FileExists(System.ReadOnlySpan`1[ushort],byref):ubyte
call [rax]System.IO.FileSystem:FileExists(System.ReadOnlySpan`1[ushort],byref):ubyte
test eax, eax
- jne G_M16240_IG25
+ jne SHORT G_M16240_IG14
call System.Runtime.Loader.AssemblyLoadContext:IsTracingEnabled():ubyte
test eax, eax
- je G_M16240_IG20
- test r12, r12
- je SHORT G_M16240_IG14
- add r12, 12
- mov gword ptr [rbp-0xA0], r15
- mov gword ptr [rbp-0x98], r13
- jmp SHORT G_M16240_IG15
- ;; size=62 bbWeight=0.50 PerfScore 6.38
+ je G_M16240_IG21
+ mov rdi, gword ptr [rbp-0xB8]
+ test rdi, rdi
+ je SHORT G_M16240_IG15
+ add rdi, 12
+ mov gword ptr [rbp-0x98], r15
+ mov gword ptr [rbp-0xB0], r13
+ mov gword ptr [rbp-0xA8], r12
+ jmp SHORT G_M16240_IG16
+ ;; size=77 bbWeight=0.50 PerfScore 7.62
G_M16240_IG14:
- xor r12d, r12d
- mov gword ptr [rbp-0xA0], r15
- mov gword ptr [rbp-0x98], r13
- ;; size=17 bbWeight=0.50 PerfScore 1.12
+ mov rbx, gword ptr [rbp-0xB8]
+ jmp G_M16240_IG26
+ ;; size=12 bbWeight=0.25 PerfScore 0.75
G_M16240_IG15:
- mov bword ptr [rbp-0x40], r12
- mov rdi, r12
+ xor edi, edi
+ mov gword ptr [rbp-0x98], r15
+ mov gword ptr [rbp-0xB0], r13
+ mov gword ptr [rbp-0xA8], r12
+ ;; size=23 bbWeight=0.50 PerfScore 1.62
+G_M16240_IG16:
+ mov bword ptr [rbp-0x48], rdi
mov esi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; function address
- mov qword ptr [rbp-0x70], rax
- lea rax, G_M16240_IG18
- mov qword ptr [rbp-0x60], rax
- lea rax, [rbp-0x80]
+ mov qword ptr [rbp-0x78], rax
+ lea rax, G_M16240_IG19
+ mov qword ptr [rbp-0x68], rax
+ lea rax, [rbp-0x88]
mov qword ptr [r14+0x08], rax
mov byte ptr [r14+0x04], 0
- ;; size=50 bbWeight=0.50 PerfScore 3.62
-G_M16240_IG16:
+ ;; size=50 bbWeight=0.50 PerfScore 3.50
+G_M16240_IG17:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:<TraceSatelliteSubdirectoryPathProbed>g____PInvoke|12_0(ulong,int):int
;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M16240_IG17:
+G_M16240_IG18:
call [rax]System.Runtime.Loader.AssemblyLoadContext:<TraceSatelliteSubdirectoryPathProbed>g____PInvoke|12_0(ulong,int):int
;; size=2 bbWeight=0.50 PerfScore 1.50
-G_M16240_IG18:
+G_M16240_IG19:
mov byte ptr [r14+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
- je SHORT G_M16240_IG19
+ je SHORT G_M16240_IG20
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=32 bbWeight=0.50 PerfScore 4.25
-G_M16240_IG19:
- mov rdi, qword ptr [rbp-0x78]
+G_M16240_IG20:
+ mov rdi, qword ptr [rbp-0x80]
mov qword ptr [r14+0x08], rdi
xor edi, edi
- mov bword ptr [rbp-0x40], rdi
- mov r13, gword ptr [rbp-0x98]
- mov r15, gword ptr [rbp-0xA0]
- ;; size=28 bbWeight=0.50 PerfScore 2.62
-G_M16240_IG20:
- mov rbx, gword ptr [rbp-0x90]
+ mov bword ptr [rbp-0x48], rdi
+ mov r12, gword ptr [rbp-0xA8]
+ mov r13, gword ptr [rbp-0xB0]
+ mov r15, gword ptr [rbp-0x98]
+ ;; size=35 bbWeight=0.50 PerfScore 3.12
+G_M16240_IG21:
+ mov rbx, gword ptr [rbp-0xA0]
mov rdi, gword ptr [rbx+0x20]
test rdi, rdi
- jne SHORT G_M16240_IG21
+ jne SHORT G_M16240_IG22
xor rsi, rsi
- jmp SHORT G_M16240_IG22
+ jmp SHORT G_M16240_IG23
;; size=20 bbWeight=0.50 PerfScore 3.25
-G_M16240_IG21:
+G_M16240_IG22:
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Globalization.CultureInfo:get_Name():System.String:this
mov rsi, rax
;; size=13 bbWeight=0.50 PerfScore 3.62
-G_M16240_IG22:
+G_M16240_IG23:
cmp byte ptr [rsi], sil
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Globalization.TextInfo:ToLower(System.String):System.String:this
call [rax]System.Globalization.TextInfo:ToLower(System.String):System.String:this
mov r14, rax
mov rdi, gword ptr [rbx+0x08]
mov rsi, 0xD1FFAB1E ; '.dll'
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 rdx, rax
mov rsi, r14
- mov rdi, r15
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.IO.Path:Combine(System.String,System.String,System.String):System.String
call [rax]System.IO.Path:Combine(System.String,System.String,System.String):System.String
- mov r12, rax
- test r12, r12
- jne SHORT G_M16240_IG23
+ mov rbx, rax
+ test rbx, rbx
+ jne SHORT G_M16240_IG24
xor rdi, rdi
xor esi, esi
- jmp SHORT G_M16240_IG24
+ jmp SHORT G_M16240_IG25
;; size=92 bbWeight=0.50 PerfScore 11.12
-G_M16240_IG23:
- lea rdi, bword ptr [r12+0x0C]
- mov esi, dword ptr [r12+0x08]
- ;; size=10 bbWeight=0.50 PerfScore 1.25
G_M16240_IG24:
- lea rdx, [rbp-0x48]
+ lea rdi, bword ptr [rbx+0x0C]
+ mov esi, dword ptr [rbx+0x08]
+ ;; size=7 bbWeight=0.50 PerfScore 1.25
+G_M16240_IG25:
+ lea rdx, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.IO.FileSystem:FileExists(System.ReadOnlySpan`1[ushort],byref):ubyte
call [rax]System.IO.FileSystem:FileExists(System.ReadOnlySpan`1[ushort],byref):ubyte
- mov ebx, eax
- mov eax, ebx
- ;; size=20 bbWeight=0.50 PerfScore 2.12
-G_M16240_IG25:
- mov dword ptr [rbp-0x2C], eax
- test eax, eax
- jne SHORT G_M16240_IG26
- xor rbx, rbx
- jmp SHORT G_M16240_IG27
- ;; size=11 bbWeight=0.50 PerfScore 2.25
+ mov r14d, eax
+ mov eax, r14d
+ ;; size=22 bbWeight=0.50 PerfScore 2.12
G_M16240_IG26:
- mov rdi, r13
- mov rsi, r12
+ mov dword ptr [rbp-0x34], eax
+ test eax, eax
+ jne SHORT G_M16240_IG27
+ xor r14, r14
+ jmp SHORT G_M16240_IG28
+ ;; size=12 bbWeight=0.50 PerfScore 2.25
+G_M16240_IG27:
+ mov rdi, r12
+ mov rsi, rbx
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyPath(System.String):System.Reflection.Assembly:this
cmp dword ptr [rdi], edi
call [rcx]System.Runtime.Loader.AssemblyLoadContext:LoadFromAssemblyPath(System.String):System.Reflection.Assembly:this
- mov rbx, rax
+ mov r14, rax
;; size=23 bbWeight=0.50 PerfScore 3.50
-G_M16240_IG27:
+G_M16240_IG28:
call System.Runtime.Loader.AssemblyLoadContext:IsTracingEnabled():ubyte
test eax, eax
- je SHORT G_M16240_IG28
+ je SHORT G_M16240_IG29
xor esi, esi
mov edi, 0xD1FFAB1E
- cmp dword ptr [rbp-0x2C], 0
+ cmp dword ptr [rbp-0x34], 0
cmove esi, edi
- mov rdi, r12
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Loader.AssemblyLoadContext:TraceSatelliteSubdirectoryPathProbed(System.String,int):ubyte
call [rax]System.Runtime.Loader.AssemblyLoadContext:TraceSatelliteSubdirectoryPathProbed(System.String,int):ubyte
;; size=38 bbWeight=0.50 PerfScore 4.25
-G_M16240_IG28:
- mov rax, rbx
+G_M16240_IG29:
+ mov rax, r14
jmp G_M16240_IG05
;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M16240_IG29:
+G_M16240_IG30:
mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=18 bbWeight=0 PerfScore 0.00
RWD00 dq 007300650072002Eh, 006300720075006Fh
RWD16 dq 0075006F00730065h, 0073006500630072h
-; Total bytes of code 965, prolog size 34, PerfScore 126.12, instruction count 237, allocated bytes for code 965 (MethodHash=4c2ac08f) for method System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts)
+; Total bytes of code 1052, prolog size 38, PerfScore 133.25, instruction count 250, allocated bytes for code 1052 (MethodHash=4c2ac08f) for method System.Runtime.Loader.AssemblyLoadContext:ResolveSatelliteAssembly(System.Reflection.AssemblyName):System.Reflection.Assembly:this (FullOpts)
84 (4.25 % of base) - System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this
; Assembly listing for method System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 40 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T15] ( 16, 21 ) ref -> rbx this class-hnd single-def <System.Data.DataView>
-; V01 arg1 [V01,T36] ( 4, 3.50) ref -> r13 class-hnd single-def <System.String>
-; V02 arg2 [V02,T29] ( 4, 6.50) ubyte -> r14 single-def
-; V03 arg3 [V03,T19] ( 11, 14 ) ref -> r15 class-hnd <System.String[]>
-; V04 loc0 [V04,T26] ( 10, 13 ) ref -> r12 class-hnd exact single-def <System.Data.DataTable>
-; V05 loc1 [V05,T13] ( 8, 25.29) ref -> [rbp-0x68] class-hnd exact spill-single-def <int[]>
-; V06 loc2 [V06,T25] ( 8, 15 ) ref -> [rbp-0x70] class-hnd exact spill-single-def <System.Collections.Generic.List`1[System.Object[]]>
+; V00 this [V00,T15] ( 16, 21 ) ref -> [rbp-0x68] this class-hnd EH-live single-def <System.Data.DataView>
+; V01 arg1 [V01,T36] ( 4, 3.50) ref -> r14 class-hnd single-def <System.String>
+; V02 arg2 [V02,T29] ( 4, 6.50) ubyte -> r15 single-def
+; V03 arg3 [V03,T19] ( 11, 14 ) ref -> rbx class-hnd <System.String[]>
+; V04 loc0 [V04,T26] ( 10, 13 ) ref -> r13 class-hnd exact single-def <System.Data.DataTable>
+; V05 loc1 [V05,T13] ( 8, 25.29) ref -> [rbp-0x70] class-hnd exact spill-single-def <int[]>
+; V06 loc2 [V06,T25] ( 8, 15 ) ref -> [rbp-0x78] class-hnd exact spill-single-def <System.Collections.Generic.List`1[System.Object[]]>
;* V07 loc3 [V07,T51] ( 0, 0 ) int -> zero-ref
-; V08 loc4 [V08,T16] ( 13, 21.04) int -> [rbp-0x2C]
-; V09 loc5 [V09,T20] ( 8, 16 ) ref -> [rbp-0x78] class-hnd <System.Data.DataColumn>
-; V10 loc6 [V10,T27] ( 6, 10 ) ref -> [rbp-0x80] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-; V11 loc7 [V11,T08] ( 5, 36 ) ref -> r13 class-hnd <System.Data.DataRowView>
-; V12 loc8 [V12,T11] ( 9, 29.16) ref -> r15 class-hnd exact <System.Object[]>
-; V13 loc9 [V13,T02] ( 12, 84.16) int -> rbx
+; V08 loc4 [V08,T16] ( 13, 21.04) int -> [rbp-0x34]
+; V09 loc5 [V09,T20] ( 8, 16 ) ref -> [rbp-0x80] class-hnd <System.Data.DataColumn>
+; V10 loc6 [V10,T27] ( 6, 10 ) ref -> [rbp-0x88] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+; V11 loc7 [V11,T08] ( 5, 36 ) ref -> r14 class-hnd <System.Data.DataRowView>
+; V12 loc8 [V12,T11] ( 9, 29.16) ref -> rbx class-hnd exact <System.Object[]>
+; V13 loc9 [V13,T02] ( 12, 84.16) int -> [rbp-0x38]
; V14 loc10 [V14,T46] ( 6, 2.50) ref -> rax class-hnd <System.IDisposable>
;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V16 tmp1 [V16,T37] ( 3, 5 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-; V17 tmp2 [V17,T32] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Data.DataTable>
+; V16 tmp1 [V16,T37] ( 3, 5 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+; V17 tmp2 [V17,T32] ( 3, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Data.DataTable>
;* V18 tmp3 [V18 ] ( 0, 0 ) ref -> zero-ref single-def
; V19 tmp4 [V19,T40] ( 4, 3.50) ref -> rsi
-; V20 tmp5 [V20,T33] ( 3, 6 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Object[]]>
-; V21 tmp6 [V21,T14] ( 6, 24 ) ref -> [rbp-0x90] class-hnd exact "non-inline candidate call" <System.Data.DataColumnCollection>
+; V20 tmp5 [V20,T33] ( 3, 6 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Object[]]>
+; V21 tmp6 [V21,T14] ( 6, 24 ) ref -> [rbp-0x98] class-hnd exact "non-inline candidate call" <System.Data.DataColumnCollection>
; V22 tmp7 [V22,T23] ( 4, 16 ) int -> rax "Strict ordering of exceptions for Array store"
;* V23 tmp8 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
; V24 tmp9 [V24,T03] ( 4, 64 ) ref -> rax class-hnd "Strict ordering of exceptions for Array store" <System.Object>
; V25 tmp10 [V25,T24] ( 2, 16 ) ref -> rsi class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V26 tmp11 [V26,T45] ( 2, 3 ) int -> [rbp-0x30] spill-single-def "Inlining Arg"
-; V27 tmp12 [V27,T41] ( 3, 3 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
+; V26 tmp11 [V26,T45] ( 2, 3 ) int -> r12 "Inlining Arg"
+; V27 tmp12 [V27,T41] ( 3, 3 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "Single-def Box Helper" <System.Int32>
; V28 tmp13 [V28,T42] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
;* V29 tmp14 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
-; V30 tmp15 [V30 ] ( 5, 2.50) struct (24) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.ThreeObjects>
+; V30 tmp15 [V30 ] ( 5, 2.50) struct (24) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.ThreeObjects>
;* V31 tmp16 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V32 tmp17 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V33 tmp18 [V33 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
;* V34 tmp19 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V35 tmp20 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V36 tmp21 [V36 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
;* V37 tmp22 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V38 tmp23 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V39 tmp24 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V40 tmp25 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V41 tmp26 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V42 tmp27 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V43 tmp28 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
;* V44 tmp29 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V45 tmp30 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataColumn>
;* V46 tmp31 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V47 tmp32 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
; V48 tmp33 [V48,T21] ( 4, 16 ) ref -> rax class-hnd "Inlining Arg" <System.Data.DataColumn>
;* V49 tmp34 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
-; V50 tmp35 [V50,T05] ( 4, 64 ) int -> [rbp-0x4C] "Inlining Arg"
-; V51 tmp36 [V51,T00] ( 6, 96 ) ref -> [rbp-0xA0] class-hnd "impAppendStmt" <System.Data.DataRow>
+; V50 tmp35 [V50,T05] ( 4, 64 ) int -> [rbp-0x54] "Inlining Arg"
+; V51 tmp36 [V51,T00] ( 6, 96 ) ref -> [rbp-0xA8] class-hnd "impAppendStmt" <System.Data.DataRow>
;* V52 tmp37 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Data.DataRow>
;* V53 tmp38 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataView>
-; V54 tmp39 [V54,T06] ( 4, 64 ) int -> [rbp-0x50] "Inlining Arg"
-; V55 tmp40 [V55,T04] ( 4, 64 ) ref -> [rbp-0xA8] class-hnd "non-inline candidate call" <System.Data.DataColumn>
+; V54 tmp39 [V54,T06] ( 4, 64 ) int -> [rbp-0x58] "Inlining Arg"
+; V55 tmp40 [V55,T04] ( 4, 64 ) ref -> [rbp-0xB0] class-hnd "non-inline candidate call" <System.Data.DataColumn>
; V56 tmp41 [V56,T09] ( 4, 32 ) int -> rax "Inline stloc first use temp"
; V57 tmp42 [V57,T34] ( 3, 6 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.Object[][]>
; V58 tmp43 [V58,T30] ( 4, 8 ) int -> rsi "Inline stloc first use temp"
;* V59 tmp44 [V59 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
;* V60 tmp45 [V60 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
;* V61 tmp46 [V61,T50] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V62 tmp47 [V62,T52] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
; V63 tmp48 [V63,T47] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V64 tmp49 [V64,T39] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V65 tmp50 [V65,T43] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V65 tmp50 [V65,T43] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V66 tmp51 [V66,T48] ( 2, 2 ) long -> rsi "argument with side effect"
-; V67 tmp52 [V67,T22] ( 4, 16 ) ref -> rdi "argument with side effect"
+; V67 tmp52 [V67,T22] ( 4, 16 ) ref -> r8 "argument with side effect"
; V68 tmp53 [V68,T54] ( 2, 0 ) ref -> rdi "argument with side effect"
; V69 tmp54 [V69,T18] ( 3, 18 ) ref -> rax "argument with side effect"
; V70 tmp55 [V70,T01] ( 6, 96 ) ref -> rdi "argument with side effect"
-; V71 PSPSym [V71,T49] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
-; V72 cse0 [V72,T44] ( 3, 3 ) ref -> rdi "CSE #05: conservative"
+; V71 PSPSym [V71,T49] ( 1, 1 ) long -> [rbp-0xC0] do-not-enreg[V] "PSPSym"
+; V72 cse0 [V72,T44] ( 3, 3 ) ref -> rax "CSE #05: conservative"
; V73 cse1 [V73,T07] ( 3, 47.52) ref -> rdi "CSE #13: moderate"
-; V74 cse2 [V74,T35] ( 3, 6 ) long -> [rbp-0x58] spill-single-def "CSE #12: moderate"
+; V74 cse2 [V74,T35] ( 3, 6 ) long -> r12 "CSE #12: moderate"
; V75 cse3 [V75,T53] ( 3, 0.48) ref -> rdi "CSE #15: conservative"
; V76 cse4 [V76,T12] ( 9, 25.58) int -> [rbp-0x5C] multi-def "CSE #10: moderate"
-; V77 cse5 [V77,T31] ( 6, 7.25) int -> r13 "CSE #08: moderate"
-; V78 cse6 [V78,T38] ( 3, 5 ) int -> [rbp-0x60] spill-single-def "CSE #06: moderate"
-; V79 rat0 [V79,T17] ( 6, 20.50) long -> r13 "Widened IV V07"
-; V80 rat1 [V80,T10] ( 5, 30 ) ref -> r13 "replacement local"
+; V77 cse5 [V77,T31] ( 6, 7.25) int -> r14 "CSE #08: moderate"
+; V78 cse6 [V78,T38] ( 3, 5 ) int -> r12 "CSE #06: moderate"
+; V79 rat0 [V79,T17] ( 6, 20.50) long -> r14 "Widened IV V07"
+; V80 rat1 [V80,T10] ( 5, 30 ) ref -> r14 "replacement local"
; V81 rat2 [V81,T28] ( 3, 10 ) long -> rdi "CSE for expectedClsNode"
;
-; Lcl frame size = 136
+; Lcl frame size = 152
G_M29704_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 136
- lea rbp, [rsp+0xB0]
+ sub rsp, 152
+ lea rbp, [rsp+0xC0]
vxorps xmm8, xmm8, xmm8
- vmovdqu xmmword ptr [rbp-0x48], xmm8
+ vmovdqa xmmword ptr [rbp-0x50], xmm8
xor eax, eax
- mov qword ptr [rbp-0x38], rax
- mov qword ptr [rbp-0xB0], rsp
- mov rbx, rdi
- mov r13, rsi
- mov r14d, edx
- mov r15, rcx
- ;; size=60 bbWeight=1 PerfScore 12.33
+ mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0xC0], rsp
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x68], rdi
+ mov r14, rsi
+ mov r15d, edx
+ mov rbx, rcx
+ ;; size=65 bbWeight=1 PerfScore 14.08
G_M29704_IG02:
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
je G_M29704_IG37
;; size=19 bbWeight=1 PerfScore 4.25
G_M29704_IG03:
- mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- mov r12, rdi
- mov eax, dword ptr [rbx+0xA8]
- mov dword ptr [rbp-0x30], eax
- cmp byte ptr [r12], r12b
- cmp byte ptr [rdi+0x9D], 0
+ mov rax, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
+ mov rax, gword ptr [rax]
+ mov r13, rax
+ mov r12d, dword ptr [rdi+0xA8]
+ cmp byte ptr [r13], r13b
+ cmp byte ptr [rax+0x9D], 0
je G_M29704_IG05
- ;; size=42 bbWeight=1 PerfScore 12.50
+ ;; size=40 bbWeight=1 PerfScore 11.50
G_M29704_IG04:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x98], rax
- mov edi, dword ptr [rbp-0x30]
- mov dword ptr [rax+0x08], edi
+ mov gword ptr [rbp-0xA0], rax
+ mov dword ptr [rax+0x08], r12d
mov rdi, 0xD1FFAB1E ; System.Boolean
call CORINFO_HELP_NEWSFAST
- mov byte ptr [rax+0x08], r14b
+ mov byte ptr [rax+0x08], r15b
vxorps xmm0, xmm0, xmm0
+ vmovdqu xmmword ptr [rbp-0x50], xmm0
vmovdqu xmmword ptr [rbp-0x48], xmm0
- vmovdqu xmmword ptr [rbp-0x40], xmm0
- mov rdx, gword ptr [rbp-0x98]
- mov gword ptr [rbp-0x48], rdx
- mov gword ptr [rbp-0x40], r13
- mov gword ptr [rbp-0x38], rax
- lea rdx, bword ptr [rbp-0x48]
+ mov r12, gword ptr [rbp-0xA0]
+ mov gword ptr [rbp-0x50], r12
+ mov gword ptr [rbp-0x48], r14
+ mov gword ptr [rbp-0x40], rax
+ lea rdx, bword ptr [rbp-0x50]
mov ecx, 3
xor rdi, rdi
mov rsi, 0xD1FFAB1E ; '<ds.DataView.ToTable|API> {0}, TableName='{1}', distinct={2}'
mov rax, 0xD1FFAB1E ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
call [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
mov rdx, rax
- mov rdi, r12
+ mov rdi, r13
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String):this
- ;; size=136 bbWeight=0.50 PerfScore 10.67
+ ;; size=134 bbWeight=0.50 PerfScore 10.17
G_M29704_IG05:
- test r15, r15
+ test rbx, rbx
je G_M29704_IG40
mov rdi, 0xD1FFAB1E ; System.Data.DataTable
call CORINFO_HELP_NEWFAST
- mov r12, rax
- mov rdi, r12
+ mov r13, rax
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:.ctor():this
call [rax]System.Data.DataTable:.ctor():this
- mov rsi, gword ptr [rbx+0x20]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
mov rsi, gword ptr [rsi+0x90]
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_Locale(System.Globalization.CultureInfo):this
call [rax]System.Data.DataTable:set_Locale(System.Globalization.CultureInfo):this
- mov rsi, gword ptr [rbx+0x20]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
movzx rsi, byte ptr [rsi+0x1C6]
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_CaseSensitive(ubyte):this
call [rax]System.Data.DataTable:set_CaseSensitive(ubyte):this
- mov rsi, r13
+ mov rsi, r14
test rsi, rsi
jne SHORT G_M29704_IG07
- ;; size=103 bbWeight=1 PerfScore 22.75
+ ;; size=111 bbWeight=1 PerfScore 24.75
G_M29704_IG06:
- mov rsi, gword ptr [rbx+0x20]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
mov rsi, gword ptr [rsi+0x70]
- ;; size=8 bbWeight=0.50 PerfScore 2.00
+ ;; size=12 bbWeight=0.50 PerfScore 2.50
G_M29704_IG07:
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_TableName(System.String):this
call [rax]System.Data.DataTable:set_TableName(System.String):this
- mov rdi, gword ptr [rbx+0x20]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rdi+0x20]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:get_Namespace():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTable:get_Namespace():System.String:this
mov rsi, rax
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_Namespace(System.String):this
call [rax]System.Data.DataTable:set_Namespace(System.String):this
- mov rsi, gword ptr [rbx+0x20]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
mov rsi, gword ptr [rsi+0x80]
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_Prefix(System.String):this
call [rax]System.Data.DataTable:set_Prefix(System.String):this
- cmp dword ptr [r15+0x08], 0
+ cmp dword ptr [rbx+0x08], 0
jne SHORT G_M29704_IG10
- ;; size=84 bbWeight=1 PerfScore 27.00
+ ;; size=91 bbWeight=1 PerfScore 29.00
G_M29704_IG08:
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rax, gword ptr [rdi+0x20]
+ mov rax, gword ptr [rax+0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
movsxd rsi, eax
mov rdi, 0xD1FFAB1E ; System.String[]
call CORINFO_HELP_NEWARR_1_OBJ
- mov r15, rax
- xor r13d, r13d
- mov eax, dword ptr [r15+0x08]
- mov dword ptr [rbp-0x60], eax
- test eax, eax
+ mov rbx, rax
+ xor r14d, r14d
+ mov r12d, dword ptr [rbx+0x08]
+ test r12d, r12d
jle SHORT G_M29704_IG10
- ;; size=57 bbWeight=0.50 PerfScore 9.62
+ ;; size=62 bbWeight=0.50 PerfScore 9.75
G_M29704_IG09:
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov esi, r13d
- mov rcx, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
+ mov rdi, gword ptr [rsi+0x30]
+ mov esi, r14d
+ mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
- call [rcx]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
+ call [rax]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
mov rsi, gword ptr [rax+0x20]
- lea rdi, bword ptr [r15+8*r13+0x10]
+ lea rdi, bword ptr [rbx+8*r14+0x10]
call CORINFO_HELP_ASSIGN_REF
- inc r13d
- mov esi, dword ptr [rbp-0x60]
- cmp esi, r13d
+ inc r14d
+ cmp r12d, r14d
jg SHORT G_M29704_IG09
- ;; size=50 bbWeight=4 PerfScore 68.00
+ ;; size=51 bbWeight=4 PerfScore 68.00
G_M29704_IG10:
- mov r13d, dword ptr [r15+0x08]
- mov eax, r13d
- mov qword ptr [rbp-0x58], rax
- mov rsi, rax
+ mov r14d, dword ptr [rbx+0x08]
+ mov r12d, r14d
+ mov rsi, r12
mov rdi, 0xD1FFAB1E ; int[]
call CORINFO_HELP_NEWARR_1_VC
- mov gword ptr [rbp-0x68], rax
+ mov gword ptr [rbp-0x70], rax
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Object[]]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x88], rax
+ mov gword ptr [rbp-0x90], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M29704_IG38
- ;; size=74 bbWeight=1 PerfScore 12.25
+ ;; size=70 bbWeight=1 PerfScore 11.25
G_M29704_IG11:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Object[]]:s_emptyArray
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [rax+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0x88]
- mov gword ptr [rbp-0x70], rax
+ mov rax, gword ptr [rbp-0x90]
+ mov gword ptr [rbp-0x78], rax
xor ecx, ecx
- test r13d, r13d
+ test r14d, r14d
jle G_M29704_IG14
;; size=44 bbWeight=1 PerfScore 7.25
G_M29704_IG12:
- mov rdx, gword ptr [rbp-0x68]
+ mov rdx, gword ptr [rbp-0x70]
mov r8d, dword ptr [rdx+0x08]
- cmp r13d, r8d
+ cmp r14d, r8d
jg G_M29704_IG15
;; size=17 bbWeight=0.25 PerfScore 1.06
G_M29704_IG13:
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov dword ptr [rbp-0x2C], ecx
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
+ mov r8, gword ptr [rsi+0x30]
+ mov rdi, r8
+ mov dword ptr [rbp-0x34], ecx
mov esi, ecx
- mov rsi, gword ptr [r15+8*rsi+0x10]
+ mov rsi, gword ptr [rbx+8*rsi+0x10]
mov r8, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [r8]System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
test rax, rax
je G_M29704_IG39
- mov rcx, gword ptr [r12+0x30]
- mov gword ptr [rbp-0x90], rcx
- mov gword ptr [rbp-0x78], rax
+ mov rcx, gword ptr [r13+0x30]
+ mov gword ptr [rbp-0x98], rcx
+ mov gword ptr [rbp-0x80], rax
mov rdi, rax
mov rdx, 0xD1FFAB1E ; code for System.Data.DataColumn:Clone():System.Data.DataColumn:this
call [rdx]System.Data.DataColumn:Clone():System.Data.DataColumn:this
- mov rcx, gword ptr [rbp-0x90]
+ mov rcx, gword ptr [rbp-0x98]
cmp byte ptr [rcx], cl
mov rdi, rcx
mov rdx, rax
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
call [rax]System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov rsi, gword ptr [rbp-0x78]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
+ mov rdi, gword ptr [rsi+0x30]
+ mov rsi, gword ptr [rbp-0x80]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:IndexOf(System.Data.DataColumn):int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:IndexOf(System.Data.DataColumn):int:this
- mov edi, dword ptr [rbp-0x2C]
+ mov edi, dword ptr [rbp-0x34]
mov ecx, edi
- mov rdx, gword ptr [rbp-0x68]
+ mov rdx, gword ptr [rbp-0x70]
mov dword ptr [rdx+4*rcx+0x10], eax
inc edi
- cmp r13d, edi
+ cmp r14d, edi
mov ecx, edi
jg G_M29704_IG13
- ;; size=157 bbWeight=3.96 PerfScore 184.14
+ ;; size=167 bbWeight=3.96 PerfScore 193.05
G_M29704_IG14:
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Data.DataView:GetEnumerator():System.Collections.IEnumerator:this
call [rax]System.Data.DataView:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x80], rax
+ mov gword ptr [rbp-0x88], rax
jmp G_M29704_IG16
- ;; size=24 bbWeight=1 PerfScore 6.50
+ ;; size=28 bbWeight=1 PerfScore 7.25
G_M29704_IG15:
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov dword ptr [rbp-0x2C], ecx
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
+ mov r8, gword ptr [rsi+0x30]
+ mov rdi, r8
+ mov dword ptr [rbp-0x34], ecx
mov esi, ecx
- mov rsi, gword ptr [r15+8*rsi+0x10]
+ mov rsi, gword ptr [rbx+8*rsi+0x10]
mov r8, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [r8]System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
test rax, rax
je G_M29704_IG39
- mov rcx, gword ptr [r12+0x30]
- mov gword ptr [rbp-0x90], rcx
- mov gword ptr [rbp-0x78], rax
+ mov rcx, gword ptr [r13+0x30]
+ mov gword ptr [rbp-0x98], rcx
+ mov gword ptr [rbp-0x80], rax
mov rdi, rax
mov rdx, 0xD1FFAB1E ; code for System.Data.DataColumn:Clone():System.Data.DataColumn:this
call [rdx]System.Data.DataColumn:Clone():System.Data.DataColumn:this
- mov rdi, gword ptr [rbp-0x90]
+ mov rdi, gword ptr [rbp-0x98]
cmp byte ptr [rdi], dil
mov rdx, rax
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
call [rax]System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x30]
- mov rsi, gword ptr [rbp-0x78]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x20]
+ mov rdi, gword ptr [rsi+0x30]
+ mov rsi, gword ptr [rbp-0x80]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:IndexOf(System.Data.DataColumn):int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:IndexOf(System.Data.DataColumn):int:this
- mov rcx, gword ptr [rbp-0x68]
+ mov rcx, gword ptr [rbp-0x70]
mov r8d, dword ptr [rcx+0x08]
mov edx, r8d
- mov esi, dword ptr [rbp-0x2C]
+ mov esi, dword ptr [rbp-0x34]
cmp esi, edx
jae G_M29704_IG41
mov edi, esi
mov dword ptr [rcx+4*rdi+0x10], eax
inc esi
- cmp r13d, esi
+ cmp r14d, esi
mov ecx, esi
jg G_M29704_IG15
jmp G_M29704_IG14
- ;; size=175 bbWeight=0.04 PerfScore 2.07
+ ;; size=185 bbWeight=0.04 PerfScore 2.16
G_M29704_IG16:
mov rdi, rax
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je G_M29704_IG33
;; size=24 bbWeight=1 PerfScore 4.75
G_M29704_IG17:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r13, rax
- test r13, r13
+ mov r14, rax
+ test r14, r14
je SHORT G_M29704_IG20
- ;; size=25 bbWeight=4 PerfScore 23.00
+ ;; size=28 bbWeight=4 PerfScore 23.00
G_M29704_IG18:
mov rdi, 0xD1FFAB1E ; System.Data.DataRowView
- cmp qword ptr [r13], rdi
+ cmp qword ptr [r14], rdi
je SHORT G_M29704_IG20
- ;; size=16 bbWeight=2 PerfScore 8.50
+ ;; size=15 bbWeight=2 PerfScore 8.50
G_M29704_IG19:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- mov r13, rax
+ mov r14, rax
;; size=18 bbWeight=1 PerfScore 3.75
G_M29704_IG20:
- mov rsi, qword ptr [rbp-0x58]
+ mov rsi, r12
mov rdi, 0xD1FFAB1E ; System.Object[]
call CORINFO_HELP_NEWARR_1_OBJ
- mov r15, rax
- xor ebx, ebx
- mov rax, gword ptr [rbp-0x68]
- mov edx, dword ptr [rax+0x08]
- mov ecx, edx
- test ecx, ecx
+ mov rbx, rax
+ xor eax, eax
+ mov rcx, gword ptr [rbp-0x70]
+ mov edx, dword ptr [rcx+0x08]
+ test edx, edx
jle G_M29704_IG27
- ;; size=41 bbWeight=4 PerfScore 29.00
+ ;; size=38 bbWeight=4 PerfScore 25.00
G_M29704_IG21:
- mov dword ptr [rbp-0x5C], ecx
- cmp dword ptr [r15+0x08], ecx
+ mov dword ptr [rbp-0x5C], edx
+ cmp dword ptr [rbx+0x08], edx
jl G_M29704_IG28
- ;; size=13 bbWeight=1 PerfScore 5.00
+ ;; size=12 bbWeight=1 PerfScore 5.00
G_M29704_IG22:
- mov esi, ebx
- mov edx, dword ptr [rax+4*rsi+0x10]
- mov dword ptr [rbp-0x4C], edx
- mov rdi, gword ptr [r13+0x10]
- mov gword ptr [rbp-0xA0], rdi
- mov rsi, gword ptr [r13+0x08]
+ mov dword ptr [rbp-0x38], eax
+ mov esi, eax
+ mov r8d, dword ptr [rcx+4*rsi+0x10]
+ mov dword ptr [rbp-0x54], r8d
+ mov rdi, gword ptr [r14+0x10]
+ mov gword ptr [rbp-0xA8], rdi
+ mov rsi, gword ptr [r14+0x08]
mov esi, dword ptr [rsi+0xA0]
- mov r9, 0xD1FFAB1E ; code for System.Data.DataRow:GetDefaultRowVersion(int):int:this
+ mov r10, 0xD1FFAB1E ; code for System.Data.DataRow:GetDefaultRowVersion(int):int:this
cmp dword ptr [rdi], edi
- call [r9]System.Data.DataRow:GetDefaultRowVersion(int):int:this
- mov dword ptr [rbp-0x50], eax
- mov rcx, gword ptr [rbp-0xA0]
+ call [r10]System.Data.DataRow:GetDefaultRowVersion(int):int:this
+ mov dword ptr [rbp-0x58], eax
+ mov rcx, gword ptr [rbp-0xA8]
mov rdi, gword ptr [rcx+0x10]
- mov esi, dword ptr [rbp-0x4C]
+ mov esi, dword ptr [rbp-0x54]
mov rdx, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rdx]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
- mov gword ptr [rbp-0xA8], rax
- mov rdi, gword ptr [rbp-0xA0]
- mov esi, dword ptr [rbp-0x50]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xA8]
+ mov esi, dword ptr [rbp-0x58]
mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:GetRecordFromVersion(int):int:this
call [rcx]System.Data.DataRow:GetRecordFromVersion(int):int:this
- mov rcx, gword ptr [rbp-0xA8]
+ mov rcx, gword ptr [rbp-0xB0]
mov rdi, gword ptr [rcx+0x60]
mov esi, eax
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x08]System.Data.Common.DataStorage:Get(int):System.Object:this
- mov edi, ebx
- lea rdi, bword ptr [r15+8*rdi+0x10]
+ mov edi, dword ptr [rbp-0x38]
+ lea rdi, bword ptr [rbx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- inc ebx
+ mov ecx, dword ptr [rbp-0x38]
+ inc ecx
mov eax, dword ptr [rbp-0x5C]
- cmp eax, ebx
+ cmp eax, ecx
mov dword ptr [rbp-0x5C], eax
jg SHORT G_M29704_IG26
- ;; size=155 bbWeight=15.84 PerfScore 795.96
+ ;; size=164 bbWeight=15.84 PerfScore 839.52
G_M29704_IG23:
- test r14b, r14b
+ test r15b, r15b
je SHORT G_M29704_IG25
;; size=5 bbWeight=4 PerfScore 5.00
G_M29704_IG24:
- mov rdi, gword ptr [rbp-0x70]
- mov rsi, r15
+ mov rdi, gword ptr [rbp-0x78]
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataView:RowExist(System.Collections.Generic.List`1[System.Object[]],System.Object[]):ubyte
call [rax]System.Data.DataView:RowExist(System.Collections.Generic.List`1[System.Object[]],System.Object[]):ubyte
test eax, eax
jne G_M29704_IG31
;; size=27 bbWeight=2 PerfScore 11.50
G_M29704_IG25:
- mov rdi, gword ptr [r12+0x28]
- mov rsi, r15
+ mov rdi, gword ptr [r13+0x28]
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataRowCollection:Add(System.Object[]):System.Data.DataRow:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataRowCollection:Add(System.Object[]):System.Data.DataRow:this
- mov r13, gword ptr [rbp-0x70]
- inc dword ptr [r13+0x14]
- mov rdi, gword ptr [r13+0x08]
- mov esi, dword ptr [r13+0x10]
+ mov r14, gword ptr [rbp-0x78]
+ inc dword ptr [r14+0x14]
+ mov rdi, gword ptr [r14+0x08]
+ mov esi, dword ptr [r14+0x10]
cmp dword ptr [rdi+0x08], esi
jbe G_M29704_IG30
lea edx, [rsi+0x01]
- mov dword ptr [r13+0x10], edx
+ mov dword ptr [r14+0x10], edx
movsxd rsi, esi
- mov rdx, r15
+ mov rdx, rbx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
jmp G_M29704_IG31
- ;; size=77 bbWeight=2 PerfScore 55.50
+ ;; size=76 bbWeight=2 PerfScore 55.50
G_M29704_IG26:
- mov rax, gword ptr [rbp-0x68]
+ mov eax, ecx
+ mov rcx, gword ptr [rbp-0x70]
jmp G_M29704_IG22
- ;; size=9 bbWeight=7.92 PerfScore 23.76
+ ;; size=11 bbWeight=7.92 PerfScore 25.74
G_M29704_IG27:
jmp SHORT G_M29704_IG23
;; size=2 bbWeight=2 PerfScore 4.00
G_M29704_IG28:
- mov esi, ebx
- mov esi, dword ptr [rax+4*rsi+0x10]
- mov dword ptr [rbp-0x4C], esi
- mov rdi, gword ptr [r13+0x10]
- mov gword ptr [rbp-0xA0], rdi
- mov rsi, gword ptr [r13+0x08]
+ mov dword ptr [rbp-0x38], eax
+ mov esi, eax
+ mov esi, dword ptr [rcx+4*rsi+0x10]
+ mov dword ptr [rbp-0x54], esi
+ mov rdi, gword ptr [r14+0x10]
+ mov gword ptr [rbp-0xA8], rdi
+ mov rsi, gword ptr [r14+0x08]
mov esi, dword ptr [rsi+0xA0]
- mov r9, 0xD1FFAB1E ; code for System.Data.DataRow:GetDefaultRowVersion(int):int:this
+ mov r10, 0xD1FFAB1E ; code for System.Data.DataRow:GetDefaultRowVersion(int):int:this
cmp dword ptr [rdi], edi
- call [r9]System.Data.DataRow:GetDefaultRowVersion(int):int:this
- mov dword ptr [rbp-0x50], eax
- mov rcx, gword ptr [rbp-0xA0]
+ call [r10]System.Data.DataRow:GetDefaultRowVersion(int):int:this
+ mov dword ptr [rbp-0x58], eax
+ mov rcx, gword ptr [rbp-0xA8]
mov rdi, gword ptr [rcx+0x10]
- mov esi, dword ptr [rbp-0x4C]
+ mov esi, dword ptr [rbp-0x54]
mov rdx, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rdx]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
- mov gword ptr [rbp-0xA8], rax
- mov rdi, gword ptr [rbp-0xA0]
- mov esi, dword ptr [rbp-0x50]
+ mov gword ptr [rbp-0xB0], rax
+ mov rdi, gword ptr [rbp-0xA8]
+ mov esi, dword ptr [rbp-0x58]
mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:GetRecordFromVersion(int):int:this
call [rcx]System.Data.DataRow:GetRecordFromVersion(int):int:this
- mov rdi, gword ptr [rbp-0xA8]
+ mov rdi, gword ptr [rbp-0xB0]
mov rdi, gword ptr [rdi+0x60]
mov esi, eax
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x08]System.Data.Common.DataStorage:Get(int):System.Object:this
- cmp ebx, dword ptr [r15+0x08]
+ mov ecx, dword ptr [rbp-0x38]
+ cmp ecx, dword ptr [rbx+0x08]
jae SHORT G_M29704_IG32
- mov edi, ebx
- lea rdi, bword ptr [r15+8*rdi+0x10]
+ mov dword ptr [rbp-0x38], ecx
+ mov edi, ecx
+ lea rdi, bword ptr [rbx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- inc ebx
- mov edi, dword ptr [rbp-0x5C]
- cmp edi, ebx
- mov dword ptr [rbp-0x5C], edi
+ mov edi, dword ptr [rbp-0x38]
+ inc edi
+ mov esi, dword ptr [rbp-0x5C]
+ cmp esi, edi
+ mov dword ptr [rbp-0x5C], esi
+ mov eax, edi
jle G_M29704_IG23
- ;; size=165 bbWeight=0.16 PerfScore 8.68
+ ;; size=178 bbWeight=0.16 PerfScore 9.36
G_M29704_IG29:
- mov rax, gword ptr [rbp-0x68]
+ mov rcx, gword ptr [rbp-0x70]
jmp G_M29704_IG28
;; size=9 bbWeight=0.08 PerfScore 0.24
G_M29704_IG30:
- mov rdi, r13
- mov rsi, r15
+ mov rdi, r14
+ mov rsi, rbx
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
nop
;; size=19 bbWeight=2 PerfScore 8.00
G_M29704_IG31:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
jne G_M29704_IG17
jmp SHORT G_M29704_IG33
- ;; size=27 bbWeight=4 PerfScore 30.00
+ ;; size=30 bbWeight=4 PerfScore 30.00
G_M29704_IG32:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M29704_IG33:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M29704_IG35
- ;; size=31 bbWeight=1 PerfScore 5.75
+ ;; size=34 bbWeight=1 PerfScore 5.75
G_M29704_IG34:
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_M29704_IG35:
- mov rax, r12
+ mov rax, r13
;; size=3 bbWeight=1 PerfScore 0.25
G_M29704_IG36:
- add rsp, 136
+ add rsp, 152
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
G_M29704_IG37:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x68]
jmp G_M29704_IG03
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M29704_IG38:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Object[]]
call CORINFO_HELP_GET_GCSTATIC_BASE
- mov rax, gword ptr [rbp-0x88]
+ mov rax, gword ptr [rbp-0x90]
jmp G_M29704_IG11
;; size=27 bbWeight=0 PerfScore 0.00
G_M29704_IG39:
- mov edi, dword ptr [rbp-0x2C]
- mov rdi, gword ptr [r15+8*rdi+0x10]
- mov rsi, gword ptr [rbx+0x20]
+ mov edi, dword ptr [rbp-0x34]
+ mov rdi, gword ptr [rbx+8*rdi+0x10]
+ mov rax, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rax+0x20]
mov rsi, gword ptr [rsi+0x70]
- mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:ColumnNotInTheUnderlyingTable(System.String,System.String):System.Exception
- call [rax]System.Data.ExceptionBuilder:ColumnNotInTheUnderlyingTable(System.String,System.String):System.Exception
+ mov rcx, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:ColumnNotInTheUnderlyingTable(System.String,System.String):System.Exception
+ call [rcx]System.Data.ExceptionBuilder:ColumnNotInTheUnderlyingTable(System.String,System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=37 bbWeight=0 PerfScore 0.00
+ ;; size=41 bbWeight=0 PerfScore 0.00
G_M29704_IG40:
mov edi, 0xD31B
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:ArgumentNull(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:ArgumentNull(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=44 bbWeight=0 PerfScore 0.00
G_M29704_IG41:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M29704_IG42:
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+0xB0]
+ lea rbp, [rbp+0xC0]
;; size=25 bbWeight=0 PerfScore 0.00
G_M29704_IG43:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M29704_IG44
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
+ ;; size=50 bbWeight=0 PerfScore 0.00
G_M29704_IG44:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M29704_IG45:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1978, prolog size 60, PerfScore 1411.04, instruction count 456, allocated bytes for code 1978 (MethodHash=42df8bf7) for method System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this (FullOpts)
+; Total bytes of code 2062, prolog size 65, PerfScore 1466.88, instruction count 475, allocated bytes for code 2062 (MethodHash=42df8bf7) for method System.Data.DataView:ToTable(System.String,ubyte,System.String[]):System.Data.DataTable:this (FullOpts)
77 (4.57 % of base) - System.Net.Http.Http2Connection:Abort(System.Exception):this
; Assembly listing for method System.Net.Http.Http2Connection:Abort(System.Exception):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 40 single block inlinees; 32 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T09] ( 12, 15 ) ref -> rbx this class-hnd single-def <System.Net.Http.Http2Connection>
-; V01 arg1 [V01,T23] ( 5, 5 ) ref -> r15 class-hnd single-def <System.Exception>
-; V02 loc0 [V02,T02] ( 8, 42 ) ref -> r13 class-hnd exact single-def <System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]>
-; V03 loc1 [V03 ] ( 57, 57 ) struct (40) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-; V04 loc2 [V04,T47] ( 4, 3 ) ref -> [rbp-0xC0] class-hnd EH-live spill-single-def <System.Collections.Generic.Dictionary`2[int,System.Net.Http.Http2Connection+Http2Stream]>
-; V05 loc3 [V05 ] ( 5, 5 ) ubyte -> [rbp-0x58] do-not-enreg[X] addr-exposed ld-addr-op
-; V06 loc4 [V06 ] ( 8, 22 ) struct (40) [rbp-0x80] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Net.Http.Http2Connection+Http2Stream]>
+; V00 this [V00,T09] ( 12, 15 ) ref -> [rbp-0xC0] this class-hnd EH-live single-def <System.Net.Http.Http2Connection>
+; V01 arg1 [V01,T23] ( 5, 5 ) ref -> rbx class-hnd single-def <System.Exception>
+; V02 loc0 [V02,T02] ( 8, 42 ) ref -> r14 class-hnd exact single-def <System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]>
+; V03 loc1 [V03 ] ( 57, 57 ) struct (40) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+; V04 loc2 [V04,T47] ( 4, 3 ) ref -> [rbp-0xC8] class-hnd EH-live spill-single-def <System.Collections.Generic.Dictionary`2[int,System.Net.Http.Http2Connection+Http2Stream]>
+; V05 loc3 [V05 ] ( 5, 5 ) ubyte -> [rbp-0x60] do-not-enreg[X] addr-exposed ld-addr-op
+; V06 loc4 [V06 ] ( 8, 22 ) struct (40) [rbp-0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Net.Http.Http2Connection+Http2Stream]>
;* V07 loc5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[int,System.Net.Http.Http2Connection+Http2Stream]>
;* V08 loc6 [V08 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Net.Http.Http2Connection+Http2Stream]>
;* V09 loc7 [V09 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Nullable`1[int]>
; V10 OutArgs [V10 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V11 tmp1 [V11,T24] ( 3, 6 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]>
+; V11 tmp1 [V11,T24] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]>
;* V12 tmp2 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.Http.Http2Connection+Http2Stream>
; V13 tmp3 [V13,T11] ( 2, 16 ) ref -> rsi class-hnd "impAppendStmt" <System.Exception>
;* V14 tmp4 [V14 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;* V15 tmp5 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V16 tmp6 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V17 tmp7 [V17,T14] ( 5, 10 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V18 tmp8 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V19 tmp9 [V19 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V20 tmp10 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V21 tmp11 [V21 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V22 tmp12 [V22,T18] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V23 tmp13 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V24 tmp14 [V24,T30] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
; V25 tmp15 [V25,T37] ( 2, 4 ) int -> rax "Inlining Arg"
;* V26 tmp16 [V26,T60] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V27 tmp17 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V28 tmp18 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V29 tmp19 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V30 tmp20 [V30 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V31 tmp21 [V31,T19] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V32 tmp22 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V33 tmp23 [V33,T31] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
; V34 tmp24 [V34,T38] ( 2, 4 ) int -> rax "Inlining Arg"
;* V35 tmp25 [V35,T61] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V36 tmp26 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V37 tmp27 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp28 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V39 tmp29 [V39 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V40 tmp30 [V40,T32] ( 2, 4 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.String>
+; V40 tmp30 [V40,T32] ( 2, 4 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.String>
;* V41 tmp31 [V41 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V42 tmp32 [V42,T28] ( 3, 6 ) int -> rsi "Inlining Arg"
;* V43 tmp33 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V44 tmp34 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V45 tmp35 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V46 tmp36 [V46 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V47 tmp37 [V47 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V48 tmp38 [V48 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V49 tmp39 [V49,T48] ( 3, 3 ) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]>
-; V50 tmp40 [V50,T25] ( 3, 6 ) ref -> rdi class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
-; V51 tmp41 [V51,T56] ( 2, 2 ) ref -> r12 single-def
+; V50 tmp40 [V50,T25] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
+; V51 tmp41 [V51,T56] ( 2, 2 ) ref -> r13 single-def
;* V52 tmp42 [V52 ] ( 0, 0 ) ref -> zero-ref single-def
;* V53 tmp43 [V53 ] ( 0, 0 ) ref -> zero-ref single-def
-; V54 tmp44 [V54,T52] ( 3, 3 ) int -> [rbp-0x84]
+; V54 tmp44 [V54,T52] ( 3, 3 ) int -> r12
; V55 tmp45 [V55,T39] ( 2, 4 ) int -> rcx "Inlining Arg"
;* V56 tmp46 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V57 tmp47 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V58 tmp48 [V58,T15] ( 5, 10 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V59 tmp49 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V60 tmp50 [V60 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V61 tmp51 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V62 tmp52 [V62 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V63 tmp53 [V63,T20] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V64 tmp54 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V65 tmp55 [V65,T33] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
; V66 tmp56 [V66,T40] ( 2, 4 ) int -> rax "Inlining Arg"
;* V67 tmp57 [V67,T62] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V68 tmp58 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V69 tmp59 [V69 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V70 tmp60 [V70 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V71 tmp61 [V71 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V72 tmp62 [V72,T21] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V73 tmp63 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V74 tmp64 [V74,T34] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
; V75 tmp65 [V75,T41] ( 2, 4 ) int -> rax "Inlining Arg"
;* V76 tmp66 [V76,T63] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V77 tmp67 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V78 tmp68 [V78 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V79 tmp69 [V79 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V80 tmp70 [V80 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V81 tmp71 [V81,T22] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V82 tmp72 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V83 tmp73 [V83,T35] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
; V84 tmp74 [V84,T42] ( 2, 4 ) int -> rax "Inlining Arg"
;* V85 tmp75 [V85,T64] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V86 tmp76 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V87 tmp77 [V87 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V88 tmp78 [V88 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V89 tmp79 [V89,T36] ( 2, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
-; V90 tmp80 [V90,T26] ( 3, 6 ) ref -> rdi class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
-; V91 tmp81 [V91,T57] ( 2, 2 ) ref -> r14 single-def
+; V89 tmp79 [V89,T36] ( 2, 4 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.String>
+; V90 tmp80 [V90,T26] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
+; V91 tmp81 [V91,T57] ( 2, 2 ) ref -> r15 single-def
;* V92 tmp82 [V92 ] ( 0, 0 ) ref -> zero-ref single-def
;* V93 tmp83 [V93 ] ( 0, 0 ) ref -> zero-ref single-def
-; V94 tmp84 [V94,T53] ( 3, 3 ) int -> r15
+; V94 tmp84 [V94,T53] ( 3, 3 ) int -> rbx
; V95 tmp85 [V95,T43] ( 2, 4 ) int -> rcx "Inlining Arg"
-; V96 tmp86 [V96,T27] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Net.Http.Http2Connection+Http2Stream]>
+; V96 tmp86 [V96,T27] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Net.Http.Http2Connection+Http2Stream]>
; V97 tmp87 [V97,T44] ( 2, 4 ) struct (40) [rbp-0xB0] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Net.Http.Http2Connection+Http2Stream]>
; V98 tmp88 [V98,T07] ( 3, 20 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.Net.Http.Http2Connection+Http2Stream[]>
; V99 tmp89 [V99,T04] ( 4, 24 ) int -> rsi "Inline stloc first use temp"
;* V100 tmp90 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
;* V101 tmp91 [V101 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Net.Http.Http2Connection+Http2Stream]>
;* V102 tmp92 [V102,T12] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V103 tmp93 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]>
; V104 tmp94 [V104,T10] ( 3, 16 ) ref -> rdx "field V07.value (fldOffset=0x0)" P-INDEP
;* V105 tmp95 [V105 ] ( 0, 0 ) int -> zero-ref "field V07.key (fldOffset=0x8)" P-INDEP
-; V106 tmp96 [V106,T03] ( 4, 25 ) ref -> r13 single-def "field V08._list (fldOffset=0x0)" P-INDEP
+; V106 tmp96 [V106,T03] ( 4, 25 ) ref -> r14 single-def "field V08._list (fldOffset=0x0)" P-INDEP
; V107 tmp97 [V107,T08] ( 2, 12 ) ref -> rdi "field V08._current (fldOffset=0x8)" P-INDEP
-; V108 tmp98 [V108,T00] ( 6, 41 ) int -> r14 "field V08._index (fldOffset=0x10)" P-INDEP
-; V109 tmp99 [V109,T17] ( 2, 9 ) int -> r15 "field V08._version (fldOffset=0x14)" P-INDEP
+; V108 tmp98 [V108,T00] ( 6, 41 ) int -> r15 "field V08._index (fldOffset=0x10)" P-INDEP
+; V109 tmp99 [V109,T17] ( 2, 9 ) int -> rbx "field V08._version (fldOffset=0x14)" P-INDEP
;* V110 tmp100 [V110,T45] ( 0, 0 ) ubyte -> zero-ref "field V09.hasValue (fldOffset=0x0)" P-INDEP
;* V111 tmp101 [V111,T46] ( 0, 0 ) int -> zero-ref "field V09.value (fldOffset=0x4)" P-INDEP
; V112 tmp102 [V112,T49] ( 3, 3 ) byref -> rdi "field V20._reference (fldOffset=0x0)" P-INDEP
; V113 tmp103 [V113,T54] ( 3, 3 ) int -> rsi "field V20._length (fldOffset=0x8)" P-INDEP
;* V114 tmp104 [V114 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
;* V115 tmp105 [V115 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
;* V116 tmp106 [V116 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP
;* V117 tmp107 [V117 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP
;* V118 tmp108 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "field V27._reference (fldOffset=0x0)" P-INDEP
;* V119 tmp109 [V119 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
;* V120 tmp110 [V120 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
;* V121 tmp111 [V121 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
;* V122 tmp112 [V122 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
;* V123 tmp113 [V123 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V124 tmp114 [V124 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V125 tmp115 [V125 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
;* V126 tmp116 [V126 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP
;* V127 tmp117 [V127 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
;* V128 tmp118 [V128 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
;* V129 tmp119 [V129 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
; V130 tmp120 [V130,T58] ( 2, 2 ) byref -> rdi single-def "field V43._reference (fldOffset=0x0)" P-INDEP
;* V131 tmp121 [V131 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
;* V132 tmp122 [V132 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
;* V133 tmp123 [V133 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
; V134 tmp124 [V134,T59] ( 2, 2 ) byref -> rdi single-def "field V46._reference (fldOffset=0x0)" P-INDEP
; V135 tmp125 [V135,T65] ( 2, 2 ) int -> rsi "field V46._length (fldOffset=0x8)" P-INDEP
-; V136 tmp126 [V136,T50] ( 3, 3 ) byref -> r12 "field V61._reference (fldOffset=0x0)" P-INDEP
-; V137 tmp127 [V137,T55] ( 3, 3 ) int -> rcx "field V61._length (fldOffset=0x8)" P-INDEP
+; V136 tmp126 [V136,T50] ( 3, 3 ) byref -> r13 "field V61._reference (fldOffset=0x0)" P-INDEP
+; V137 tmp127 [V137,T55] ( 3, 3 ) int -> r12 "field V61._length (fldOffset=0x8)" P-INDEP
;* V138 tmp128 [V138 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
;* V139 tmp129 [V139 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
;* V140 tmp130 [V140 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp131 [V141 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
;* V142 tmp132 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V68._reference (fldOffset=0x0)" P-INDEP
;* V143 tmp133 [V143 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
;* V144 tmp134 [V144 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP
;* V145 tmp135 [V145 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
;* V146 tmp136 [V146 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
;* V147 tmp137 [V147 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
;* V148 tmp138 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
;* V149 tmp139 [V149 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
;* V150 tmp140 [V150 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
;* V151 tmp141 [V151 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
;* V152 tmp142 [V152 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
;* V153 tmp143 [V153 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
;* V154 tmp144 [V154 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
;* V155 tmp145 [V155 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-; V156 tmp146 [V156,T51] ( 3, 3 ) ref -> r13 single-def "field V101._list (fldOffset=0x0)" P-INDEP
+; V156 tmp146 [V156,T51] ( 3, 3 ) ref -> r14 single-def "field V101._list (fldOffset=0x0)" P-INDEP
;* V157 tmp147 [V157 ] ( 0, 0 ) ref -> zero-ref single-def "field V101._current (fldOffset=0x8)" P-INDEP
;* V158 tmp148 [V158,T68] ( 0, 0 ) int -> zero-ref "field V101._index (fldOffset=0x10)" P-INDEP
-; V159 tmp149 [V159,T66] ( 2, 2 ) int -> r15 "field V101._version (fldOffset=0x14)" P-INDEP
+; V159 tmp149 [V159,T66] ( 2, 2 ) int -> rbx "field V101._version (fldOffset=0x14)" P-INDEP
;* V160 tmp150 [V160 ] ( 0, 0 ) ref -> zero-ref single-def "V14.[000..008)"
;* V161 tmp151 [V161 ] ( 0, 0 ) ref -> zero-ref single-def "V14.[008..016)"
;* V162 tmp152 [V162 ] ( 0, 0 ) int -> zero-ref "V14.[016..020)"
;* V163 tmp153 [V163 ] ( 0, 0 ) ubyte -> zero-ref "V14.[020..021)"
;* V164 tmp154 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "V14.[024..032)"
;* V165 tmp155 [V165 ] ( 0, 0 ) int -> zero-ref "V14.[032..036)"
;* V166 tmp156 [V166 ] ( 0, 0 ) ref -> zero-ref single-def "V97.[000..008)"
-; V167 tmp157 [V167,T67] ( 2, 2 ) int -> rsi "V97.[008..012)"
+; V167 tmp157 [V167,T67] ( 2, 2 ) int -> rax "V97.[008..012)"
;* V168 tmp158 [V168 ] ( 0, 0 ) int -> zero-ref "V97.[012..016)"
;* V169 tmp159 [V169 ] ( 0, 0 ) int -> zero-ref "V97.[016..020)"
; V170 tmp160 [V170,T01] ( 3, 48 ) ref -> rdx "arr expr"
; V171 tmp161 [V171,T05] ( 3, 24 ) struct ( 8) [rbp-0xB8] do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
-; V172 PSPSym [V172,T69] ( 1, 1 ) long -> [rbp-0xC8] do-not-enreg[V] "PSPSym"
-; V173 cse0 [V173,T29] ( 5, 5 ) ref -> r14 "CSE #06: conservative"
+; V172 PSPSym [V172,T69] ( 1, 1 ) long -> [rbp-0xD8] do-not-enreg[V] "PSPSym"
+; V173 cse0 [V173,T29] ( 5, 5 ) ref -> r15 "CSE #06: conservative"
; V174 cse1 [V174,T13] ( 2, 16 ) int -> rdx "CSE #17: moderate"
; V175 cse2 [V175,T06] ( 2, 16 ) int -> rdx "CSE #18: moderate"
-; V176 cse3 [V176,T16] ( 3, 10 ) long -> r12 "CSE #16: moderate"
+; V176 cse3 [V176,T16] ( 3, 10 ) long -> r13 "CSE #16: moderate"
;
-; Lcl frame size = 168
+; Lcl frame size = 184
G_M30523_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 168
- lea rbp, [rsp+0xD0]
+ sub rsp, 184
+ lea rbp, [rsp+0xE0]
vxorps xmm8, xmm8, xmm8
vmovdqu32 zmmword ptr [rbp-0xB0], zmm8
vmovdqu32 zmmword ptr [rbp-0x70], zmm8
- xor eax, eax
- mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0xC8], rsp
- mov rbx, rdi
- mov r15, rsi
- ;; size=69 bbWeight=1 PerfScore 13.83
+ mov qword ptr [rbp-0xD8], rsp
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0xC0], rdi
+ mov rbx, rsi
+ ;; size=71 bbWeight=1 PerfScore 14.33
G_M30523_IG02:
- mov rdi, 0xD1FFAB1E ; const ptr
- mov r14, gword ptr [rdi]
- cmp byte ptr [r14+0x9D], 0
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov r15, gword ptr [rsi]
+ cmp byte ptr [r15+0x9D], 0
je G_M30523_IG12
- xor rdi, rdi
- mov gword ptr [rbp-0x50], rdi
- mov rdi, 0xD1FFAB1E ; const ptr
- mov rdi, gword ptr [rdi]
+ xor rsi, rsi
+ mov gword ptr [rbp-0x58], rsi
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rdi, gword ptr [rsi]
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
+ mov gword ptr [rbp-0x50], rax
test rax, rax
jne SHORT G_M30523_IG03
xor rdi, rdi
xor esi, esi
jmp SHORT G_M30523_IG04
;; size=78 bbWeight=1 PerfScore 18.00
G_M30523_IG03:
lea rdi, bword ptr [rax+0x10]
mov esi, dword ptr [rax+0x08]
;; size=7 bbWeight=1 PerfScore 2.50
G_M30523_IG04:
- mov bword ptr [rbp-0x38], rdi
- mov dword ptr [rbp-0x30], esi
+ mov bword ptr [rbp-0x40], rdi
+ mov dword ptr [rbp-0x38], esi
xor edi, edi
- mov dword ptr [rbp-0x40], edi
- mov byte ptr [rbp-0x3C], 0
- cmp byte ptr [rbp-0x3C], 0
+ mov dword ptr [rbp-0x48], edi
+ mov byte ptr [rbp-0x44], 0
+ cmp byte ptr [rbp-0x44], 0
jne SHORT G_M30523_IG05
- mov edi, dword ptr [rbp-0x40]
- cmp edi, dword ptr [rbp-0x30]
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M30523_IG44
- mov rsi, bword ptr [rbp-0x38]
+ mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
- mov eax, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x38]
sub eax, edi
cmp eax, 14
jb SHORT G_M30523_IG05
mov rdi, 0xD1FFAB1E
vmovdqu xmm0, xmmword ptr [rdi]
vmovdqu xmm1, xmmword ptr [rdi+0x0C]
vmovdqu xmmword ptr [rsi], xmm0
vmovdqu xmmword ptr [rsi+0x0C], xmm1
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x48]
add edi, 14
- mov dword ptr [rbp-0x40], edi
+ mov dword ptr [rbp-0x48], edi
jmp SHORT G_M30523_IG06
;; size=93 bbWeight=1 PerfScore 32.00
G_M30523_IG05:
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; 'abortException'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
;; size=26 bbWeight=1 PerfScore 4.00
G_M30523_IG06:
- mov edi, dword ptr [rbp-0x40]
- cmp edi, dword ptr [rbp-0x30]
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M30523_IG44
- mov rsi, bword ptr [rbp-0x38]
+ mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
- mov eax, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x38]
sub eax, edi
cmp eax, 2
jb SHORT G_M30523_IG07
mov rdi, 0xD1FFAB1E
mov eax, dword ptr [rdi]
mov dword ptr [rsi], eax
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x48]
add edi, 2
- mov dword ptr [rbp-0x40], edi
+ mov dword ptr [rbp-0x48], edi
jmp SHORT G_M30523_IG08
;; size=57 bbWeight=1 PerfScore 15.75
G_M30523_IG07:
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
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=1 PerfScore 4.00
G_M30523_IG08:
- lea rdi, [rbp-0x50]
- mov rdx, r15
+ lea rdi, [rbp-0x58]
+ mov rdx, rbx
mov rsi, 0xD1FFAB1E ; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Exception](System.Exception):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
- mov esi, dword ptr [rbp-0x40]
- cmp esi, dword ptr [rbp-0x30]
+ mov esi, dword ptr [rbp-0x48]
+ cmp esi, dword ptr [rbp-0x38]
ja G_M30523_IG44
- mov rdi, bword ptr [rbp-0x38]
+ mov rdi, bword ptr [rbp-0x40]
call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
- mov r13, rax
- mov rsi, gword ptr [rbp-0x48]
+ mov r14, rax
+ mov rsi, gword ptr [rbp-0x50]
vxorps ymm0, ymm0, ymm0
- vmovdqu ymmword ptr [rbp-0x50], ymm0
- vmovdqu xmmword ptr [rbp-0x38], xmm0
+ vmovdqu ymmword ptr [rbp-0x58], ymm0
+ vmovdqu xmmword ptr [rbp-0x40], xmm0
test rsi, rsi
je SHORT G_M30523_IG09
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
;; size=103 bbWeight=1 PerfScore 20.83
G_M30523_IG09:
- mov rdi, gword ptr [rbx+0x48]
- mov r12, r14
- test rdi, rdi
+ mov rdi, gword ptr [rbp-0xC0]
+ mov rax, gword ptr [rdi+0x48]
+ mov r13, r15
+ test rax, rax
jne SHORT G_M30523_IG10
- xor eax, eax
- mov dword ptr [rbp-0x84], eax
+ xor r12d, r12d
jmp SHORT G_M30523_IG11
- ;; size=22 bbWeight=1 PerfScore 6.75
+ ;; size=24 bbWeight=1 PerfScore 6.75
G_M30523_IG10:
+ mov rdi, rax
mov rax, 0xD1FFAB1E
mov rax, qword ptr [rax]
call [rax+0x18]System.Object:GetHashCode():int:this
- mov dword ptr [rbp-0x84], eax
- ;; size=22 bbWeight=1 PerfScore 6.25
+ mov r12d, eax
+ ;; size=22 bbWeight=1 PerfScore 5.75
G_M30523_IG11:
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0xC0]
call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
mov ecx, eax
- mov gword ptr [rsp], r13
- mov rdi, r12
- mov edx, dword ptr [rbp-0x84]
+ mov gword ptr [rsp], r14
+ mov rdi, r13
+ mov edx, r12d
mov esi, 8
xor r8d, r8d
mov r9, 0xD1FFAB1E ; 'Abort'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
call [rax]System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
- ;; size=53 bbWeight=1 PerfScore 7.75
+ ;; size=54 bbWeight=1 PerfScore 7.75
G_M30523_IG12:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M30523_IG42
;; size=37 bbWeight=1 PerfScore 5.75
G_M30523_IG13:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]:s_emptyArray
mov rsi, gword ptr [rdi]
- lea rdi, bword ptr [r13+0x08]
+ lea rdi, bword ptr [r14+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbx+0x60]
- mov gword ptr [rbp-0xC0], rdi
- xor esi, esi
- mov dword ptr [rbp-0x58], esi
- ;; size=38 bbWeight=1 PerfScore 8.00
+ mov rdi, gword ptr [rbp-0xC0]
+ mov rsi, gword ptr [rdi+0x60]
+ mov gword ptr [rbp-0xC8], rsi
+ xor eax, eax
+ mov dword ptr [rbp-0x60], eax
+ ;; size=45 bbWeight=1 PerfScore 9.00
G_M30523_IG14:
- cmp byte ptr [rbp-0x58], 0
+ cmp byte ptr [rbp-0x60], 0
jne G_M30523_IG34
- lea rsi, [rbp-0x58]
+ lea rsi, [rbp-0x60]
+ mov rdi, gword ptr [rbp-0xC8]
call System.Threading.Monitor:ReliableEnter(System.Object,byref)
- cmp gword ptr [rbx+0x80], 0
+ mov rdi, gword ptr [rbp-0xC0]
+ cmp gword ptr [rdi+0x80], 0
je SHORT G_M30523_IG15
- cmp byte ptr [r14+0x9D], 0
+ cmp byte ptr [r15+0x9D], 0
je G_M30523_IG40
- mov rdi, 0xD1FFAB1E ; const ptr
- mov rdi, gword ptr [rdi]
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rdi, gword ptr [rsi]
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
test rax, rax
jne G_M30523_IG22
- xor r12, r12
- xor ecx, ecx
+ xor r13, r13
+ xor r12d, r12d
jmp G_M30523_IG23
- ;; size=92 bbWeight=1 PerfScore 22.00
+ ;; size=107 bbWeight=1 PerfScore 24.00
G_M30523_IG15:
- lea rdi, bword ptr [rbx+0x80]
- mov rsi, r15
+ mov rdi, gword ptr [rbp-0xC0]
+ lea rdi, bword ptr [rdi+0x80]
+ mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0xC0]
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:Shutdown():this
call [rax]System.Net.Http.Http2Connection:Shutdown():this
- mov rdi, gword ptr [rbx+0x60]
- mov esi, dword ptr [rdi+0x44]
+ mov rdi, gword ptr [rbp-0xC0]
+ mov rsi, gword ptr [rdi+0x60]
+ mov eax, dword ptr [rsi+0x44]
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x98], xmm0
- ;; size=49 bbWeight=1 PerfScore 10.58
+ ;; size=67 bbWeight=1 PerfScore 13.33
G_M30523_IG16:
vmovdqu ymm0, ymmword ptr [rbp-0xB0]
- vmovdqu ymmword ptr [rbp-0x80], ymm0
- mov rax, qword ptr [rbp-0x90]
- mov qword ptr [rbp-0x60], rax
- ;; size=24 bbWeight=1 PerfScore 7.00
+ vmovdqu ymmword ptr [rbp-0x88], ymm0
+ mov rcx, qword ptr [rbp-0x90]
+ mov qword ptr [rbp-0x68], rcx
+ ;; size=27 bbWeight=1 PerfScore 7.00
G_M30523_IG17:
- mov gword ptr [rbp-0x80], rdi
- mov dword ptr [rbp-0x78], esi
- xor edi, edi
- mov dword ptr [rbp-0x74], edi
- mov dword ptr [rbp-0x70], 2
- lea rdi, [rbp-0x80]
- mov r12, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2+Enumerator[int,System.Net.Http.Http2Connection+Http2Stream]
- mov rsi, r12
+ mov gword ptr [rbp-0x88], rsi
+ mov dword ptr [rbp-0x80], eax
+ xor esi, esi
+ mov dword ptr [rbp-0x7C], esi
+ mov dword ptr [rbp-0x78], 2
+ lea rdi, [rbp-0x88]
+ mov r13, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2+Enumerator[int,System.Net.Http.Http2Connection+Http2Stream]
+ mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this
call [rax]System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this
test eax, eax
je G_M30523_IG35
- ;; size=56 bbWeight=1 PerfScore 9.75
+ ;; size=62 bbWeight=1 PerfScore 9.75
G_M30523_IG18:
- mov rdx, gword ptr [rbp-0x68]
- inc dword ptr [r13+0x14]
- mov rdi, gword ptr [r13+0x08]
- mov esi, dword ptr [r13+0x10]
+ mov rdx, gword ptr [rbp-0x70]
+ inc dword ptr [r14+0x14]
+ mov rdi, gword ptr [r14+0x08]
+ mov esi, dword ptr [r14+0x10]
cmp dword ptr [rdi+0x08], esi
jbe SHORT G_M30523_IG20
;; size=21 bbWeight=8 PerfScore 96.00
G_M30523_IG19:
lea eax, [rsi+0x01]
- mov dword ptr [r13+0x10], eax
+ mov dword ptr [r14+0x10], eax
movsxd rsi, esi
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
jmp SHORT G_M30523_IG21
;; size=24 bbWeight=4 PerfScore 28.00
G_M30523_IG20:
- mov rdi, r13
+ mov rdi, r14
mov rsi, rdx
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_M30523_IG21:
- lea rdi, [rbp-0x80]
- mov rsi, r12
+ lea rdi, [rbp-0x88]
+ mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this
call [rax]System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this
test eax, eax
jne SHORT G_M30523_IG18
jmp G_M30523_IG35
- ;; size=28 bbWeight=8 PerfScore 58.00
+ ;; size=31 bbWeight=8 PerfScore 58.00
G_M30523_IG22:
- lea r12, bword ptr [rax+0x10]
- mov ecx, dword ptr [rax+0x08]
- ;; size=7 bbWeight=1 PerfScore 2.50
+ lea r13, bword ptr [rax+0x10]
+ mov r12d, dword ptr [rax+0x08]
+ ;; size=8 bbWeight=1 PerfScore 2.50
G_M30523_IG23:
xor rdi, rdi
- mov gword ptr [rbp-0x50], rdi
- mov gword ptr [rbp-0x48], rax
+ mov gword ptr [rbp-0x58], rdi
+ mov gword ptr [rbp-0x50], rax
;; size=10 bbWeight=1 PerfScore 2.25
G_M30523_IG24:
- mov dword ptr [rbp-0x40], edi
- mov byte ptr [rbp-0x3C], 0
- mov bword ptr [rbp-0x38], r12
- mov dword ptr [rbp-0x30], ecx
- mov edi, dword ptr [rbp-0x40]
- cmp edi, dword ptr [rbp-0x30]
+ mov dword ptr [rbp-0x48], edi
+ mov byte ptr [rbp-0x44], 0
+ mov bword ptr [rbp-0x40], r13
+ mov dword ptr [rbp-0x38], r12d
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M30523_IG33
- mov rsi, bword ptr [rbp-0x38]
+ mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
- mov eax, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x38]
sub eax, edi
cmp eax, 37
jb SHORT G_M30523_IG25
mov rdi, 0xD1FFAB1E
vmovdqu32 zmm0, zmmword ptr [rdi]
vmovdqu xmm1, xmmword ptr [rdi+0x3A]
vmovdqu32 zmmword ptr [rsi], zmm0
vmovdqu xmmword ptr [rsi+0x3A], xmm1
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x48]
add edi, 37
- mov dword ptr [rbp-0x40], edi
+ mov dword ptr [rbp-0x48], edi
jmp SHORT G_M30523_IG26
- ;; size=89 bbWeight=1 PerfScore 28.75
+ ;; size=90 bbWeight=1 PerfScore 28.75
G_M30523_IG25:
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; 'Abort called while already aborting. '
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=1 PerfScore 4.00
G_M30523_IG26:
- cmp byte ptr [rbp-0x3C], 0
+ cmp byte ptr [rbp-0x44], 0
jne SHORT G_M30523_IG27
- mov edi, dword ptr [rbp-0x40]
- cmp edi, dword ptr [rbp-0x30]
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M30523_IG33
- mov rsi, bword ptr [rbp-0x38]
+ mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
- mov eax, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x38]
sub eax, edi
cmp eax, 14
jb SHORT G_M30523_IG27
mov rdi, 0xD1FFAB1E
vmovdqu xmm0, xmmword ptr [rdi]
vmovdqu xmm1, xmmword ptr [rdi+0x0C]
vmovdqu xmmword ptr [rsi], xmm0
vmovdqu xmmword ptr [rsi+0x0C], xmm1
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x48]
add edi, 14
- mov dword ptr [rbp-0x40], edi
+ mov dword ptr [rbp-0x48], edi
jmp SHORT G_M30523_IG28
;; size=77 bbWeight=1 PerfScore 27.75
G_M30523_IG27:
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; 'abortException'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
;; size=26 bbWeight=1 PerfScore 4.00
G_M30523_IG28:
- mov edi, dword ptr [rbp-0x40]
- cmp edi, dword ptr [rbp-0x30]
+ mov edi, dword ptr [rbp-0x48]
+ cmp edi, dword ptr [rbp-0x38]
ja G_M30523_IG33
- mov rsi, bword ptr [rbp-0x38]
+ mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rsi, bword ptr [rsi+2*rax]
- mov eax, dword ptr [rbp-0x30]
+ mov eax, dword ptr [rbp-0x38]
sub eax, edi
je SHORT G_M30523_IG29
mov rdi, 0xD1FFAB1E
movzx rax, word ptr [rdi]
mov word ptr [rsi], ax
- mov edi, dword ptr [rbp-0x40]
+ mov edi, dword ptr [rbp-0x48]
inc edi
- mov dword ptr [rbp-0x40], edi
+ mov dword ptr [rbp-0x48], edi
jmp SHORT G_M30523_IG30
;; size=55 bbWeight=1 PerfScore 15.50
G_M30523_IG29:
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
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=1 PerfScore 4.00
G_M30523_IG30:
- lea rdi, [rbp-0x50]
- mov rdx, r15
+ lea rdi, [rbp-0x58]
+ mov rdx, rbx
mov rsi, 0xD1FFAB1E ; System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Exception](System.Exception):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.__Canon](System.__Canon):this
- lea rdi, [rbp-0x50]
+ lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
- mov r13, rax
- mov rdi, gword ptr [rbx+0x48]
- test rdi, rdi
+ mov r14, rax
+ mov rdi, gword ptr [rbp-0xC0]
+ mov rax, gword ptr [rdi+0x48]
+ test rax, rax
jne SHORT G_M30523_IG31
- xor r15d, r15d
+ xor ebx, ebx
jmp SHORT G_M30523_IG32
- ;; size=62 bbWeight=1 PerfScore 13.75
+ ;; size=68 bbWeight=1 PerfScore 14.75
G_M30523_IG31:
+ mov rdi, rax
mov rax, 0xD1FFAB1E
mov rax, qword ptr [rax]
call [rax+0x18]System.Object:GetHashCode():int:this
- mov r15d, eax
- ;; size=19 bbWeight=1 PerfScore 5.50
+ mov ebx, eax
+ ;; size=21 bbWeight=1 PerfScore 5.75
G_M30523_IG32:
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0xC0]
call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
mov ecx, eax
- mov gword ptr [rsp], r13
- mov rdi, r14
- mov edx, r15d
+ mov gword ptr [rsp], r14
+ mov rdi, r15
+ mov edx, ebx
mov esi, 8
xor r8d, r8d
mov r9, 0xD1FFAB1E ; 'Abort'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
call [rax]System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
jmp G_M30523_IG40
- ;; size=55 bbWeight=1 PerfScore 9.00
+ ;; size=58 bbWeight=1 PerfScore 9.75
G_M30523_IG33:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M30523_IG34:
mov rax, 0xD1FFAB1E ; code for System.Threading.Monitor:ThrowLockTakenException()
call [rax]System.Threading.Monitor:ThrowLockTakenException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M30523_IG35:
- cmp byte ptr [rbp-0x58], 0
+ cmp byte ptr [rbp-0x60], 0
je SHORT G_M30523_IG36
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
call System.Threading.Monitor:Exit(System.Object)
;; size=18 bbWeight=1 PerfScore 5.00
G_M30523_IG36:
- mov r15d, dword ptr [r13+0x14]
- xor r14d, r14d
+ mov ebx, dword ptr [r14+0x14]
+ xor r15d, r15d
jmp SHORT G_M30523_IG38
;; size=9 bbWeight=1 PerfScore 4.25
G_M30523_IG37:
- mov rsi, gword ptr [rbx+0x80]
+ mov rax, gword ptr [rbp-0xC0]
+ mov rsi, gword ptr [rax+0x80]
mov byte ptr [rbp-0xB8], 0
xor edx, edx
mov dword ptr [rbp-0xB4], edx
mov rdx, qword ptr [rbp-0xB8]
xor ecx, ecx
- mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this
+ mov r8, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this
cmp dword ptr [rdi], edi
- call [rax]System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this
- ;; size=45 bbWeight=4 PerfScore 47.00
+ call [r8]System.Net.Http.Http2Connection+Http2Stream:OnReset(System.Exception,System.Nullable`1[int],ubyte):this
+ ;; size=53 bbWeight=4 PerfScore 51.00
G_M30523_IG38:
- mov edx, dword ptr [r13+0x14]
- cmp r15d, edx
+ mov edx, dword ptr [r14+0x14]
+ cmp ebx, edx
jne SHORT G_M30523_IG43
- mov edx, dword ptr [r13+0x10]
- cmp r14d, edx
+ mov edx, dword ptr [r14+0x10]
+ cmp r15d, edx
jae SHORT G_M30523_IG39
- mov rdx, gword ptr [r13+0x08]
- cmp r14d, dword ptr [rdx+0x08]
+ mov rdx, gword ptr [r14+0x08]
+ cmp r15d, dword ptr [rdx+0x08]
jae SHORT G_M30523_IG45
- mov esi, r14d
+ mov esi, r15d
mov rdi, gword ptr [rdx+8*rsi+0x10]
- inc r14d
+ inc r15d
jmp SHORT G_M30523_IG37
- ;; size=41 bbWeight=8 PerfScore 136.00
+ ;; size=40 bbWeight=8 PerfScore 136.00
G_M30523_IG39:
vzeroupper
- add rsp, 168
+ add rsp, 184
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=8 PerfScore 42.00
G_M30523_IG40:
mov rdi, rsp
call G_M30523_IG46
;; size=8 bbWeight=1 PerfScore 1.25
G_M30523_IG41:
jmp SHORT G_M30523_IG39
;; size=2 bbWeight=1 PerfScore 2.00
G_M30523_IG42:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Net.Http.Http2Connection+Http2Stream]
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M30523_IG13
;; size=20 bbWeight=0 PerfScore 0.00
G_M30523_IG43:
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_M30523_IG44:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M30523_IG45:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M30523_IG46:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 24
mov rbp, qword ptr [rdi+0x08]
mov qword ptr [rsp+0x08], rbp
- lea rbp, [rbp+0xD0]
+ lea rbp, [rbp+0xE0]
;; size=30 bbWeight=1 PerfScore 9.75
G_M30523_IG47:
- cmp byte ptr [rbp-0x58], 0
+ cmp byte ptr [rbp-0x60], 0
je SHORT G_M30523_IG48
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
call System.Threading.Monitor:Exit(System.Object)
;; size=18 bbWeight=1 PerfScore 5.00
G_M30523_IG48:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M30523_IG49:
vzeroupper
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 5.25
-; Total bytes of code 1684, prolog size 69, PerfScore 766.50, instruction count 400, allocated bytes for code 1684 (MethodHash=4e2d88c4) for method System.Net.Http.Http2Connection:Abort(System.Exception):this (FullOpts)
+; Total bytes of code 1761, prolog size 71, PerfScore 778.25, instruction count 408, allocated bytes for code 1761 (MethodHash=4e2d88c4) for method System.Net.Http.Http2Connection:Abort(System.Exception):this (FullOpts)
70 (2.18 % of base) - System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this
; Assembly listing for method System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 44 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T26] ( 13, 9.50) ref -> r15 this class-hnd single-def <System.Data.DataSet>
+; V00 this [V00,T26] ( 13, 9.50) ref -> [rbp-0x78] this class-hnd EH-live single-def <System.Data.DataSet>
; V01 arg1 [V01,T14] ( 39, 30.50) ref -> rbx class-hnd single-def <System.Xml.XmlReader>
-; V02 loc0 [V02,T69] ( 3, 2 ) long -> [rbp-0x30] do-not-enreg[Z] EH-live
-; V03 loc1 [V03,T32] ( 5, 6.50) int -> r13
-; V04 loc2 [V04,T70] ( 3, 2 ) ubyte -> r12
-; V05 loc3 [V05,T31] ( 13, 7 ) ref -> [rbp-0x78] class-hnd <System.Data.DataSet>
-; V06 loc4 [V06,T68] ( 3, 2.50) ubyte -> [rbp-0x34] spill-single-def
-; V07 loc5 [V07,T18] ( 15, 26 ) ref -> [rbp-0x80] do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
+; V02 loc0 [V02,T69] ( 3, 2 ) long -> [rbp-0x38] do-not-enreg[Z] EH-live
+; V03 loc1 [V03,T32] ( 5, 6.50) int -> r14
+; V04 loc2 [V04,T70] ( 3, 2 ) ubyte -> r13
+; V05 loc3 [V05,T31] ( 13, 7 ) ref -> [rbp-0x80] class-hnd <System.Data.DataSet>
+; V06 loc4 [V06,T68] ( 3, 2.50) ubyte -> r12
+; V07 loc5 [V07,T18] ( 15, 26 ) ref -> [rbp-0x88] do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
; V08 loc6 [V08,T19] ( 22, 21.50) ref -> registers class-hnd <System.IDisposable>
-; V09 loc7 [V09,T83] ( 2, 1 ) ref -> [rbp-0x88] class-hnd spill-single-def <System.Xml.XmlElement>
-; V10 loc8 [V10,T48] ( 3, 4 ) ref -> r14 class-hnd <System.Data.DataTable>
-; V11 loc9 [V11,T17] ( 4, 28 ) ref -> r14 class-hnd <System.Data.DataTable>
-; V12 loc10 [V12,T02] ( 4, 276 ) ref -> r13 class-hnd <System.Data.DataRelation[]>
+; V09 loc7 [V09,T83] ( 2, 1 ) ref -> [rbp-0x90] class-hnd spill-single-def <System.Xml.XmlElement>
+; V10 loc8 [V10,T48] ( 3, 4 ) ref -> r15 class-hnd <System.Data.DataTable>
+; V11 loc9 [V11,T17] ( 4, 28 ) ref -> r15 class-hnd <System.Data.DataTable>
+; V12 loc10 [V12,T02] ( 4, 276 ) ref -> r14 class-hnd <System.Data.DataRelation[]>
;* V13 loc11 [V13,T13] ( 0, 0 ) ref -> zero-ref class-hnd <System.Data.DataRelation[]>
;* V14 loc12 [V14,T80] ( 0, 0 ) int -> zero-ref
-; V15 loc13 [V15,T05] ( 6, 176 ) ref -> [rbp-0x90] do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-; V16 loc14 [V16,T01] ( 2, 288 ) ref -> [rbp-0x98] class-hnd spill-single-def <System.Data.DataRow>
+; V15 loc13 [V15,T05] ( 6, 176 ) ref -> [rbp-0x98] do-not-enreg[Z] class-hnd exact EH-live <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+; V16 loc14 [V16,T01] ( 2, 288 ) ref -> [rbp-0xA0] class-hnd spill-single-def <System.Data.DataRow>
;* V17 loc15 [V17,T15] ( 0, 0 ) ref -> zero-ref class-hnd <System.Data.DataRelation[]>
;* V18 loc16 [V18,T16] ( 0, 0 ) int -> zero-ref
;* V19 loc17 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Data.DataRelation>
;# V20 OutArgs [V20 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V21 tmp1 [V21,T38] ( 3, 5 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+; V21 tmp1 [V21,T38] ( 3, 5 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
;* V22 tmp2 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.XMLDiffLoader>
-; V23 tmp3 [V23,T58] ( 3, 3 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+; V23 tmp3 [V23,T58] ( 3, 3 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
;* V24 tmp4 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V25 tmp5 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
-; V26 tmp6 [V26,T30] ( 8, 8 ) ref -> [rbp-0xA8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
-; V27 tmp7 [V27,T71] ( 3, 2 ) long -> r12 "Inline return value spill temp"
-; V28 tmp8 [V28,T67] ( 2, 3 ) int -> r13 "Inlining Arg"
+; V26 tmp6 [V26,T30] ( 8, 8 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.XmlDataLoader>
+; V27 tmp7 [V27,T71] ( 3, 2 ) long -> r13 "Inline return value spill temp"
+; V28 tmp8 [V28,T67] ( 2, 3 ) int -> r14 "Inlining Arg"
; V29 tmp9 [V29,T59] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Int32>
;* V30 tmp10 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
; V31 tmp11 [V31 ] ( 2, 2 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
;* V32 tmp12 [V32 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
;* V33 tmp13 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
;* V34 tmp14 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V35 tmp15 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V36 tmp16 [V36,T35] ( 4, 5.50) ref -> rax single-def "spilling varStr"
; V37 tmp17 [V37,T51] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V38 tmp18 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V39 tmp19 [V39,T42] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V40 tmp20 [V40,T52] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V41 tmp21 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V42 tmp22 [V42,T43] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V43 tmp23 [V43,T53] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V44 tmp24 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V45 tmp25 [V45,T44] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V46 tmp26 [V46,T54] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V47 tmp27 [V47,T60] ( 3, 3 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V48 tmp28 [V48,T61] ( 3, 3 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
-; V49 tmp29 [V49,T62] ( 3, 3 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
-; V50 tmp30 [V50,T63] ( 3, 3 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Data.DataRow]>
+; V47 tmp27 [V47,T60] ( 3, 3 ) ref -> [rbp-0xB8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V48 tmp28 [V48,T61] ( 3, 3 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+; V49 tmp29 [V49,T62] ( 3, 3 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
+; V50 tmp30 [V50,T63] ( 3, 3 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Data.DataRow]>
;* V51 tmp31 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V52 tmp32 [V52,T49] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V53 tmp33 [V53,T81] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V54 tmp34 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V55 tmp35 [V55,T45] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V56 tmp36 [V56,T55] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V57 tmp37 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V58 tmp38 [V58,T50] ( 5, 3 ) ref -> rax single-def "spilling varStr"
;* V59 tmp39 [V59,T82] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V60 tmp40 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V61 tmp41 [V61,T46] ( 5, 4.50) ref -> rax single-def "spilling varStr"
; V62 tmp42 [V62,T56] ( 2, 2 ) int -> rdi "spilling unroll qmark"
;* V63 tmp43 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
;* V64 tmp44 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
;* V65 tmp45 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataRowCollection>
-; V66 tmp46 [V66,T12] ( 4, 64 ) ref -> [rbp-0xD0] class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
+; V66 tmp46 [V66,T12] ( 4, 64 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inlining Arg" <System.Data.DataRowCollection+DataRowTree>
;* V67 tmp47 [V67 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
-; V68 tmp48 [V68,T08] ( 7, 112 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
+; V68 tmp48 [V68,T08] ( 7, 112 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Single-def Box Helper" <System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]>
;* V69 tmp49 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V70 tmp50 [V70,T47] ( 5, 4.50) ref -> rdi single-def "spilling varStr"
-; V71 tmp51 [V71,T57] ( 2, 2 ) int -> rdi "spilling unroll qmark"
+; V70 tmp50 [V70,T47] ( 5, 4.50) ref -> rsi single-def "spilling varStr"
+; V71 tmp51 [V71,T57] ( 2, 2 ) int -> rsi "spilling unroll qmark"
; V72 tmp52 [V72,T33] ( 6, 6 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
;* V73 tmp53 [V73,T86] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
;* V74 tmp54 [V74,T87] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V75 tmp55 [V75 ] ( 0, 0 ) ref -> zero-ref "V67.[000..008)"
;* V76 tmp56 [V76 ] ( 0, 0 ) ref -> zero-ref "V67.[008..016)"
; V77 tmp57 [V77,T20] ( 2, 16 ) int -> [rbp-0x44] spill-single-def "V67.[016..020)"
;* V78 tmp58 [V78 ] ( 0, 0 ) int -> zero-ref "V67.[020..024)"
; V79 tmp59 [V79,T21] ( 2, 16 ) int -> [rbp-0x48] spill-single-def "V67.[024..028)"
; V80 tmp60 [V80,T72] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V81 tmp61 [V81,T34] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V81 tmp61 [V81,T34] ( 3, 6 ) ref -> rcx single-def "argument with side effect"
; V82 tmp62 [V82,T27] ( 3, 9 ) ref -> rax "argument with side effect"
; V83 tmp63 [V83,T77] ( 2, 2 ) int -> rsi "argument with side effect"
-; V84 tmp64 [V84,T73] ( 2, 2 ) ref -> [rbp-0xE0] spill-single-def "argument with side effect"
-; V85 tmp65 [V85,T74] ( 2, 2 ) ref -> [rbp-0xE8] spill-single-def "argument with side effect"
+; V84 tmp64 [V84,T73] ( 2, 2 ) ref -> [rbp-0xE8] spill-single-def "argument with side effect"
+; V85 tmp65 [V85,T74] ( 2, 2 ) ref -> [rbp-0xF0] spill-single-def "argument with side effect"
; V86 tmp66 [V86,T75] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
; V87 tmp67 [V87,T78] ( 2, 2 ) int -> rsi "argument with side effect"
; V88 tmp68 [V88,T79] ( 2, 2 ) int -> rsi "argument with side effect"
; V89 tmp69 [V89,T76] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
; V90 tmp70 [V90,T64] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
; V91 tmp71 [V91,T28] ( 3, 9 ) ref -> rax "argument with side effect"
; V92 tmp72 [V92,T65] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
; V93 tmp73 [V93,T29] ( 3, 9 ) ref -> rax "argument with side effect"
; V94 tmp74 [V94,T09] ( 3, 96 ) ref -> rdi "argument with side effect"
; V95 tmp75 [V95,T07] ( 3, 144 ) ref -> rax "argument with side effect"
; V96 PSPSym [V96,T85] ( 1, 1 ) long -> [rbp-0x100] do-not-enreg[V] "PSPSym"
-; V97 cse0 [V97,T66] ( 3, 3 ) ref -> rdi "CSE #05: conservative"
+; V97 cse0 [V97,T66] ( 3, 3 ) ref -> rax "CSE #05: conservative"
;* V98 cse1 [V98,T84] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: conservative"
-; V99 cse2 [V99,T25] ( 16, 12.50) long -> r14 "CSE #07: moderate"
+; V99 cse2 [V99,T25] ( 16, 12.50) long -> r15 "CSE #07: moderate"
; V100 cse3 [V100,T36] ( 4, 5.50) long -> [rbp-0x50] spill-single-def "CSE #11: moderate"
; V101 cse4 [V101,T37] ( 8, 5 ) long -> [rbp-0x58] spill-single-def "CSE #08: moderate"
; V102 cse5 [V102,T03] ( 4, 276 ) int -> [rbp-0x5C] spill-single-def "CSE #12: aggressive"
-; V103 cse6 [V103,T06] ( 3, 160 ) byref -> [rbp-0xF0] spill-single-def "CSE #13: aggressive"
+; V103 cse6 [V103,T06] ( 3, 160 ) byref -> [rbp-0xF8] spill-single-def "CSE #13: aggressive"
; V104 rat0 [V104,T11] ( 5, 66 ) long -> [rbp-0x68] "Widened IV V14"
; V105 rat1 [V105,T00] ( 5,1056 ) long -> [rbp-0x70] "Widened IV V18"
; V106 rat2 [V106,T22] ( 5, 15 ) ref -> rcx "replacement local"
; V107 rat3 [V107,T39] ( 3, 5 ) long -> rdi "CSE for expectedClsNode"
-; V108 rat4 [V108,T23] ( 5, 15 ) ref -> r14 "replacement local"
+; V108 rat4 [V108,T23] ( 5, 15 ) ref -> r15 "replacement local"
; V109 rat5 [V109,T40] ( 3, 5 ) long -> rdi "CSE for expectedClsNode"
-; V110 rat6 [V110,T24] ( 5, 15 ) ref -> r14 "replacement local"
+; V110 rat6 [V110,T24] ( 5, 15 ) ref -> r15 "replacement local"
; V111 rat7 [V111,T41] ( 3, 5 ) long -> rdi "CSE for expectedClsNode"
; V112 rat8 [V112,T04] ( 5, 240 ) ref -> registers "replacement local"
; V113 rat9 [V113,T10] ( 3, 80 ) long -> rdi "CSE for expectedClsNode"
; V114 rat10 [V114,T88] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V115 rat11 [V115,T89] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V116 rat12 [V116,T90] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V117 rat13 [V117,T91] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V118 rat14 [V118,T92] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V119 rat15 [V119,T93] ( 3, 3 ) simd64 -> mm0 "ReplaceWithLclVar is creating a new local variable"
; V120 rat16 [V120,T94] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 216
G_M20677_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 216
lea rbp, [rsp+0x100]
xor eax, eax
mov qword ptr [rbp-0x40], rax
mov qword ptr [rbp-0x100], rsp
- mov r15, rdi
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x78], rdi
mov rbx, rsi
- ;; size=44 bbWeight=1 PerfScore 9.50
+ ;; size=49 bbWeight=1 PerfScore 11.25
G_M20677_IG02:
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
je G_M20677_IG84
;; size=19 bbWeight=1 PerfScore 4.25
G_M20677_IG03:
- mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- mov r14, rdi
- mov r13d, dword ptr [r15+0x94]
- cmp byte ptr [r14], r14b
- cmp byte ptr [rdi+0x9D], 0
+ mov rax, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
+ mov rax, gword ptr [rax]
+ mov r15, rax
+ mov r14d, dword ptr [rdi+0x94]
+ cmp byte ptr [r15], r15b
+ cmp byte ptr [rax+0x9D], 0
jne SHORT G_M20677_IG05
;; size=35 bbWeight=1 PerfScore 11.50
G_M20677_IG04:
- xor r12d, r12d
+ xor r13d, r13d
jmp SHORT G_M20677_IG06
;; size=5 bbWeight=0.50 PerfScore 1.12
G_M20677_IG05:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
- mov dword ptr [rax+0x08], r13d
+ mov dword ptr [rax+0x08], r14d
mov gword ptr [rbp-0x40], rax
lea rdx, bword ptr [rbp-0x40]
mov ecx, 1
xor rdi, rdi
mov rsi, 0xD1FFAB1E ; '<ds.DataSet.ReadXmlDiffgram|INFO> {0}'
mov rax, 0xD1FFAB1E ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
call [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
mov rsi, rax
- mov rdi, r14
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
call [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
- mov r12, rax
+ mov r13, rax
;; size=77 bbWeight=0.50 PerfScore 5.88
G_M20677_IG06:
- mov qword ptr [rbp-0x30], r12
+ mov qword ptr [rbp-0x38], r13
;; size=4 bbWeight=1 PerfScore 1.00
G_M20677_IG07:
mov rdi, rbx
mov rax, qword ptr [rbx]
- mov r14, qword ptr [rax+0x48]
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
- mov r13d, eax
- movzx r12, byte ptr [r15+0x98]
- mov rdi, r15
+ mov r15, qword ptr [rax+0x48]
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
+ mov r14d, eax
+ mov rdi, gword ptr [rbp-0x78]
+ movzx r13, byte ptr [rdi+0x98]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [rax]System.Data.DataSet:set_EnforceConstraints(ubyte):this
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x78]
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:IsEmpty():ubyte:this
call [rax]System.Data.DataSet:IsEmpty():ubyte:this
- mov dword ptr [rbp-0x34], eax
- test eax, eax
+ mov r12d, eax
+ test r12d, r12d
je SHORT G_M20677_IG09
- ;; size=64 bbWeight=1 PerfScore 19.00
+ ;; size=67 bbWeight=1 PerfScore 19.75
G_M20677_IG08:
- mov rcx, r15
+ mov rdi, gword ptr [rbp-0x78]
+ mov rax, rdi
jmp SHORT G_M20677_IG10
- ;; size=5 bbWeight=0.50 PerfScore 1.12
+ ;; size=9 bbWeight=0.50 PerfScore 1.62
G_M20677_IG09:
- mov rdi, r15
- mov rcx, qword ptr [r15]
- mov rcx, qword ptr [rcx+0x58]
- call [rcx+0x08]System.Data.DataSet:Clone():System.Data.DataSet:this
- mov gword ptr [rbp-0x78], rax
+ mov rdi, gword ptr [rbp-0x78]
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x58]
+ call [rax+0x08]System.Data.DataSet:Clone():System.Data.DataSet:this
+ mov gword ptr [rbp-0x80], rax
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
cmp dword ptr [rdi], edi
call [rcx]System.Data.DataSet:set_EnforceConstraints(ubyte):this
- mov rcx, gword ptr [rbp-0x78]
- ;; size=40 bbWeight=0.50 PerfScore 8.00
+ mov rax, gword ptr [rbp-0x80]
+ ;; size=41 bbWeight=0.50 PerfScore 8.38
G_M20677_IG10:
- mov gword ptr [rbp-0x78], rcx
- mov rdi, gword ptr [rcx+0x20]
- mov rdi, gword ptr [rdi+0x10]
- mov rdx, qword ptr [rdi]
- mov rdx, qword ptr [rdx+0x58]
- call [rdx]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
mov gword ptr [rbp-0x80], rax
- ;; size=25 bbWeight=1 PerfScore 13.00
+ mov rcx, gword ptr [rax+0x20]
+ mov rcx, gword ptr [rcx+0x10]
+ mov rdi, rcx
+ mov rcx, qword ptr [rcx]
+ mov rcx, qword ptr [rcx+0x58]
+ call [rcx]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
+ mov gword ptr [rbp-0x88], rax
+ ;; size=31 bbWeight=1 PerfScore 13.25
G_M20677_IG11:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je SHORT G_M20677_IG16
- ;; size=21 bbWeight=8 PerfScore 44.00
+ ;; size=24 bbWeight=8 PerfScore 44.00
G_M20677_IG12:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
mov rcx, rax
test rcx, rcx
je SHORT G_M20677_IG15
- ;; size=25 bbWeight=2 PerfScore 11.50
+ ;; size=28 bbWeight=2 PerfScore 11.50
G_M20677_IG13:
mov rdi, 0xD1FFAB1E ; System.Data.DataTable
cmp qword ptr [rcx], rdi
je SHORT G_M20677_IG15
;; size=15 bbWeight=1 PerfScore 4.25
G_M20677_IG14:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M20677_IG15:
mov rsi, gword ptr [rcx+0x28]
xor edi, edi
mov dword ptr [rsi+0x18], edi
jmp SHORT G_M20677_IG11
;; size=11 bbWeight=2 PerfScore 10.50
G_M20677_IG16:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M20677_IG18
- ;; size=31 bbWeight=1 PerfScore 5.75
+ ;; size=34 bbWeight=1 PerfScore 5.75
G_M20677_IG17:
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_M20677_IG18:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x90]
call [rax+0x18]System.Xml.XmlReader:MoveToContent():int:this
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x40]
mov qword ptr [rbp-0x58], rax
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M20677_IG21
;; size=38 bbWeight=1 PerfScore 16.75
G_M20677_IG19:
cmp dword ptr [rax+0x08], 8
jne SHORT G_M20677_IG21
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG20:
vmovups xmm0, xmmword ptr [rax+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
vptest xmm0, xmm0
sete dil
movzx rdi, dil
test edi, edi
jne SHORT G_M20677_IG24
;; size=30 bbWeight=0.50 PerfScore 5.75
G_M20677_IG21:
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je G_M20677_IG82
;; size=15 bbWeight=0.50 PerfScore 2.25
G_M20677_IG22:
cmp dword ptr [rax+0x08], 41
jne G_M20677_IG82
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M20677_IG23:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je G_M20677_IG82
;; size=67 bbWeight=0.50 PerfScore 9.25
G_M20677_IG24:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x80]
mov qword ptr [rbp-0x50], rax
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
mov rdi, rbx
mov rax, qword ptr [rbp-0x58]
call [rax+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 13
jne SHORT G_M20677_IG25
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
lea esi, [rax-0x01]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rax]System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
;; size=60 bbWeight=0.50 PerfScore 10.50
G_M20677_IG25:
- mov rax, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x80]
mov byte ptr [rax+0x9C], 1
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
- cmp eax, r13d
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
+ cmp eax, r14d
jle G_M20677_IG52
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M20677_IG28
;; size=38 bbWeight=0.50 PerfScore 5.50
G_M20677_IG26:
cmp dword ptr [rax+0x08], 41
jne SHORT G_M20677_IG28
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG27:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
jne G_M20677_IG36
;; size=67 bbWeight=0.50 PerfScore 9.25
G_M20677_IG28:
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M20677_IG31
;; size=11 bbWeight=0.50 PerfScore 2.25
G_M20677_IG29:
cmp dword ptr [rax+0x08], 36
jne SHORT G_M20677_IG31
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG30:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD192]
vmovups zmm1, zmmword ptr [rax+0x14]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD256], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
jne G_M20677_IG36
;; size=67 bbWeight=0.50 PerfScore 9.25
G_M20677_IG31:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xA0], rax
+ mov gword ptr [rbp-0xA8], rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xB8], rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xB8], rax
+ mov gword ptr [rbp-0xC0], rax
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Xml.NameTable:.ctor():this
call [rcx]System.Xml.NameTable:.ctor():this
- mov rax, gword ptr [rbp-0xB0]
+ mov rax, gword ptr [rbp-0xB8]
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0xB8]
+ mov rsi, gword ptr [rbp-0xC0]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0xA0]
- mov rsi, gword ptr [rbp-0xB0]
+ mov rdi, gword ptr [rbp-0xA8]
+ mov rsi, gword ptr [rbp-0xB8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
mov rdi, rbx
- call [r14+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
- mov gword ptr [rbp-0xE0], rax
+ call [r15+0x08]System.Xml.XmlReader:get_Prefix():System.String:this
+ mov gword ptr [rbp-0xE8], rax
mov rdi, rbx
mov rcx, qword ptr [rbp-0x58]
call [rcx+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
- mov gword ptr [rbp-0xE8], rax
+ mov gword ptr [rbp-0xF0], rax
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
mov rcx, rax
- mov rsi, gword ptr [rbp-0xE0]
- mov rdx, gword ptr [rbp-0xE8]
- mov rdi, gword ptr [rbp-0xA0]
+ mov rsi, gword ptr [rbp-0xE8]
+ mov rdx, gword ptr [rbp-0xF0]
+ mov rdi, gword ptr [rbp-0xA8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
call [rax]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
- mov gword ptr [rbp-0x88], rax
+ mov gword ptr [rbp-0x90], rax
mov rdi, rbx
mov rcx, qword ptr [rbp-0x50]
call [rcx+0x10]System.Xml.XmlReader:Read():ubyte:this
mov rdi, rbx
mov rax, qword ptr [rbp-0x58]
;; size=227 bbWeight=0.50 PerfScore 22.38
G_M20677_IG32:
call [rax+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 13
jne SHORT G_M20677_IG33
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
lea esi, [rax-0x01]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rax]System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
;; size=33 bbWeight=0.50 PerfScore 5.75
G_M20677_IG33:
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
dec eax
- cmp eax, r13d
+ cmp eax, r14d
jle G_M20677_IG35
mov rdi, 0xD1FFAB1E ; System.Data.XmlDataLoader
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xA8], rax
+ mov gword ptr [rbp-0xB0], rax
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.Collections.Hashtable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xC0], rax
+ mov gword ptr [rbp-0xC8], rax
vmovss xmm0, dword ptr [reloc @RWD320]
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rcx]System.Collections.Hashtable:.ctor(int,float):this
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB0]
lea rdi, bword ptr [rax+0x18]
- mov rsi, gword ptr [rbp-0xC0]
+ mov rsi, gword ptr [rbp-0xC8]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB0]
mov byte ptr [rax+0xA0], 0
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Stack`1[System.Data.DataRow]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xC8], rax
+ mov gword ptr [rbp-0xD0], rax
mov rdi, 0xD1FFAB1E ; System.Data.DataRow[]
mov esi, 50
call CORINFO_HELP_NEWARR_1_OBJ
- mov rcx, gword ptr [rbp-0xC8]
+ mov rcx, gword ptr [rbp-0xD0]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB0]
lea rdi, bword ptr [rax+0x20]
- mov rsi, gword ptr [rbp-0xC8]
+ mov rsi, gword ptr [rbp-0xD0]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xA8]
+ mov rax, gword ptr [rbp-0xB0]
lea rdi, bword ptr [rax+0x28]
;; size=232 bbWeight=0.50 PerfScore 17.75
G_M20677_IG34:
- mov rsi, gword ptr [rbp-0x88]
+ mov rsi, gword ptr [rbp-0x90]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0xA8]
+ mov rdi, gword ptr [rbp-0xB0]
mov word ptr [rdi+0xA1], 1
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
call [rax]System.Data.XmlDataLoader:LoadData(System.Xml.XmlReader):this
;; size=43 bbWeight=0.50 PerfScore 3.75
G_M20677_IG35:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataSet:ReadEndElement(System.Xml.XmlReader)
mov rdi, rbx
mov rax, qword ptr [rbp-0x58]
call [rax+0x28]System.Xml.XmlReader:get_NodeType():int:this
cmp eax, 13
jne SHORT G_M20677_IG36
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
lea esi, [rax-0x01]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
call [rax]System.Data.DataSet:MoveToElement(System.Xml.XmlReader,int):ubyte
;; size=55 bbWeight=0.50 PerfScore 8.12
G_M20677_IG36:
mov rdi, rbx
mov rax, qword ptr [rbp-0x58]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je SHORT G_M20677_IG42
;; size=15 bbWeight=0.50 PerfScore 2.75
G_M20677_IG37:
cmp dword ptr [rax+0x08], 6
jne SHORT G_M20677_IG42
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG38:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M20677_IG42
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M20677_IG39:
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M20677_IG42
;; size=11 bbWeight=0.50 PerfScore 2.25
G_M20677_IG40:
cmp dword ptr [rax+0x08], 41
jne SHORT G_M20677_IG42
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG41:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
jne G_M20677_IG48
;; size=67 bbWeight=0.50 PerfScore 9.25
G_M20677_IG42:
mov rdi, rbx
mov rax, qword ptr [rbp-0x58]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
test rax, rax
je G_M20677_IG49
;; size=19 bbWeight=0.50 PerfScore 2.75
G_M20677_IG43:
cmp dword ptr [rax+0x08], 6
jne G_M20677_IG49
;; size=10 bbWeight=0.25 PerfScore 1.00
G_M20677_IG44:
mov rdi, 0xD1FFAB1E
xor rdi, qword ptr [rax+0x0C]
mov eax, dword ptr [rax+0x14]
xor eax, 0xD1FFAB1E
or rdi, rax
jne SHORT G_M20677_IG49
;; size=27 bbWeight=0.12 PerfScore 0.84
G_M20677_IG45:
mov rdi, rbx
- call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
+ call [r15]System.Xml.XmlReader:get_NamespaceURI():System.String:this
test rax, rax
je SHORT G_M20677_IG49
;; size=11 bbWeight=0.50 PerfScore 2.25
G_M20677_IG46:
cmp dword ptr [rax+0x08], 41
jne SHORT G_M20677_IG49
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG47:
vmovups zmm0, zmmword ptr [rax+0x0C]
vpxorq zmm0, zmm0, zmmword ptr [reloc @RWD64]
vmovups zmm1, zmmword ptr [rax+0x1E]
vpternlogq zmm0, zmm1, zmmword ptr [reloc @RWD128], -10
vptestmq k1, zmm0, zmm0
kortestb k1, k1
sete dil
movzx rdi, dil
test edi, edi
je SHORT G_M20677_IG49
;; size=63 bbWeight=0.50 PerfScore 9.25
G_M20677_IG48:
mov rdi, 0xD1FFAB1E ; System.Data.XMLDiffLoader
call CORINFO_HELP_NEWSFAST
mov rdi, rax
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
mov rdx, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataSet,System.Xml.XmlReader):this
call [rax]System.Data.XMLDiffLoader:LoadDiffGram(System.Data.DataSet,System.Xml.XmlReader):this
;; size=37 bbWeight=0.50 PerfScore 3.00
G_M20677_IG49:
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
- cmp eax, r13d
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
+ cmp eax, r14d
jle SHORT G_M20677_IG51
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M20677_IG50:
mov rdi, rbx
mov rax, qword ptr [rbp-0x50]
call [rax+0x10]System.Xml.XmlReader:Read():ubyte:this
mov rdi, rbx
- call [r14+0x20]System.Xml.XmlReader:get_Depth():int:this
- cmp eax, r13d
+ call [r15+0x20]System.Xml.XmlReader:get_Depth():int:this
+ cmp eax, r14d
jg SHORT G_M20677_IG50
;; size=22 bbWeight=4 PerfScore 35.00
G_M20677_IG51:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:ReadEndElement(System.Xml.XmlReader)
call [rax]System.Data.DataSet:ReadEndElement(System.Xml.XmlReader)
;; size=15 bbWeight=0.50 PerfScore 1.75
G_M20677_IG52:
- mov rbx, gword ptr [rbp-0x78]
+ mov rbx, gword ptr [rbp-0x80]
mov rdi, gword ptr [rbx+0x20]
mov rdi, gword ptr [rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x80], rax
- ;; size=25 bbWeight=0.50 PerfScore 6.50
+ mov gword ptr [rbp-0x88], rax
+ ;; size=28 bbWeight=0.50 PerfScore 6.50
G_M20677_IG53:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je SHORT G_M20677_IG59
- ;; size=21 bbWeight=4 PerfScore 22.00
+ ;; size=24 bbWeight=4 PerfScore 22.00
G_M20677_IG54:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r14, rax
- test r14, r14
+ mov r15, rax
+ test r15, r15
je SHORT G_M20677_IG57
- ;; size=25 bbWeight=2 PerfScore 11.50
+ ;; size=28 bbWeight=2 PerfScore 11.50
G_M20677_IG55:
mov rdi, 0xD1FFAB1E ; System.Data.DataTable
- cmp qword ptr [r14], rdi
+ cmp qword ptr [r15], rdi
je SHORT G_M20677_IG57
;; size=15 bbWeight=1 PerfScore 4.25
G_M20677_IG56:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- mov r14, rax
+ mov r15, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M20677_IG57:
- mov rsi, gword ptr [r14+0x28]
+ mov rsi, gword ptr [r15+0x28]
cmp dword ptr [rsi+0x18], 0
jle SHORT G_M20677_IG53
;; size=10 bbWeight=2 PerfScore 12.00
G_M20677_IG58:
- mov rdi, gword ptr [r14+0x70]
+ mov rdi, gword ptr [r15+0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:RowInsertMissing(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:RowInsertMissing(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG59:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M20677_IG60
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=47 bbWeight=0.50 PerfScore 4.62
+ ;; size=50 bbWeight=0.50 PerfScore 4.62
G_M20677_IG60:
mov byte ptr [rbx+0x9C], 0
mov rdi, gword ptr [rbx+0x20]
mov rdi, gword ptr [rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x80], rax
- ;; size=28 bbWeight=0.50 PerfScore 6.50
+ mov gword ptr [rbp-0x88], rax
+ ;; size=31 bbWeight=0.50 PerfScore 6.50
G_M20677_IG61:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je G_M20677_IG76
- ;; size=25 bbWeight=4 PerfScore 22.00
+ ;; size=28 bbWeight=4 PerfScore 22.00
G_M20677_IG62:
- mov rdi, gword ptr [rbp-0x80]
+ mov rdi, gword ptr [rbp-0x88]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r14, rax
- test r14, r14
+ mov r15, rax
+ test r15, r15
je SHORT G_M20677_IG65
- ;; size=25 bbWeight=2 PerfScore 11.50
+ ;; size=28 bbWeight=2 PerfScore 11.50
G_M20677_IG63:
mov rdi, 0xD1FFAB1E ; System.Data.DataTable
- cmp qword ptr [r14], rdi
+ cmp qword ptr [r15], rdi
je SHORT G_M20677_IG65
;; size=15 bbWeight=1 PerfScore 4.25
G_M20677_IG64:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- mov r14, rax
+ mov r15, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M20677_IG65:
- mov r13, gword ptr [r14+0x110]
+ mov r14, gword ptr [r15+0x110]
xor eax, eax
- mov ecx, dword ptr [r13+0x08]
+ mov ecx, dword ptr [r14+0x08]
mov dword ptr [rbp-0x5C], ecx
test ecx, ecx
jle SHORT G_M20677_IG61
;; size=20 bbWeight=2 PerfScore 13.00
G_M20677_IG66:
mov qword ptr [rbp-0x68], rax
- mov rdi, gword ptr [r13+8*rax+0x10]
+ mov rdi, gword ptr [r14+8*rax+0x10]
mov rdx, qword ptr [rdi]
mov rdx, qword ptr [rdx+0x48]
call [rdx]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
- cmp rax, r14
+ cmp rax, r15
jne G_M20677_IG75
;; size=27 bbWeight=16 PerfScore 180.00
G_M20677_IG67:
- mov rdi, gword ptr [r14+0x28]
+ mov rdi, gword ptr [r15+0x28]
mov rax, gword ptr [rdi+0x10]
- mov gword ptr [rbp-0xD0], rax
+ mov gword ptr [rbp-0xD8], rax
mov ecx, dword ptr [rax+0x24]
mov dword ptr [rbp-0x44], ecx
mov edx, dword ptr [rax+0x20]
mov dword ptr [rbp-0x48], edx
mov rdi, 0xD1FFAB1E ; System.Data.RBTree`1+RBTreeEnumerator[System.Data.DataRow]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xD8], rax
+ mov gword ptr [rbp-0xE0], rax
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0xD0]
+ mov rsi, gword ptr [rbp-0xD8]
call CORINFO_HELP_ASSIGN_REF
xor rsi, rsi
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov gword ptr [rdi+0x10], rsi
mov esi, dword ptr [rbp-0x44]
mov dword ptr [rdi+0x18], esi
xor esi, esi
mov dword ptr [rdi+0x1C], esi
mov esi, dword ptr [rbp-0x48]
mov dword ptr [rdi+0x20], esi
- mov gword ptr [rbp-0x90], rdi
+ mov gword ptr [rbp-0x98], rdi
;; size=102 bbWeight=8 PerfScore 194.00
G_M20677_IG68:
- mov rsi, gword ptr [rbp-0x90]
+ mov rsi, gword ptr [rbp-0x98]
mov rsi, qword ptr [rsi]
- mov rax, gword ptr [rbp-0x90]
+ mov rax, gword ptr [rbp-0x98]
add rax, 8
- mov bword ptr [rbp-0xF0], rax
+ mov bword ptr [rbp-0xF8], rax
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Data.RBTree`1+RBTreeEnumerator[System.__Canon]:MoveNext():ubyte:this
call [rcx]System.Data.RBTree`1+RBTreeEnumerator[System.__Canon]:MoveNext():ubyte:this
test eax, eax
je G_M20677_IG74
;; size=51 bbWeight=64 PerfScore 640.00
G_M20677_IG69:
- mov rsi, gword ptr [rbp-0x90]
+ mov rsi, gword ptr [rbp-0x98]
mov rsi, qword ptr [rsi]
- mov rdi, bword ptr [rbp-0xF0]
+ mov rdi, bword ptr [rbp-0xF8]
mov rax, 0xD1FFAB1E ; code for System.Data.RBTree`1+RBTreeEnumerator[System.__Canon]:System.Collections.IEnumerator.get_Current():System.Object:this
call [rax]System.Data.RBTree`1+RBTreeEnumerator[System.__Canon]:System.Collections.IEnumerator.get_Current():System.Object:this
mov rcx, rax
test rcx, rcx
je SHORT G_M20677_IG72
;; size=37 bbWeight=32 PerfScore 280.00
G_M20677_IG70:
mov rdi, 0xD1FFAB1E ; System.Data.DataRow
cmp qword ptr [rcx], rdi
je SHORT G_M20677_IG72
;; size=15 bbWeight=16 PerfScore 68.00
G_M20677_IG71:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=8 PerfScore 30.00
G_M20677_IG72:
mov rax, rcx
- mov gword ptr [rbp-0x98], rax
+ mov gword ptr [rbp-0xA0], rax
xor ecx, ecx
;; size=12 bbWeight=32 PerfScore 48.00
G_M20677_IG73:
mov qword ptr [rbp-0x70], rcx
- mov rsi, gword ptr [r13+8*rcx+0x10]
+ mov rsi, gword ptr [r14+8*rcx+0x10]
mov rdi, rax
mov rdx, 0xD1FFAB1E ; code for System.Data.DataRow:CheckForLoops(System.Data.DataRelation):this
cmp dword ptr [rdi], edi
call [rdx]System.Data.DataRow:CheckForLoops(System.Data.DataRelation):this
mov rdi, qword ptr [rbp-0x70]
inc edi
cmp dword ptr [rbp-0x5C], edi
mov rcx, rdi
- mov rax, gword ptr [rbp-0x98]
+ mov rax, gword ptr [rbp-0xA0]
jg SHORT G_M20677_IG73
jmp G_M20677_IG68
;; size=52 bbWeight=256 PerfScore 4352.00
G_M20677_IG74:
- mov rdi, gword ptr [rbp-0x90]
+ mov rdi, gword ptr [rbp-0x98]
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=20 bbWeight=8 PerfScore 34.00
G_M20677_IG75:
mov rsi, qword ptr [rbp-0x68]
inc esi
mov edi, dword ptr [rbp-0x5C]
cmp edi, esi
mov rax, rsi
jg G_M20677_IG66
jmp G_M20677_IG61
;; size=25 bbWeight=16 PerfScore 92.00
G_M20677_IG76:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
mov rdi, rax
test rdi, rdi
je SHORT G_M20677_IG77
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=47 bbWeight=0.50 PerfScore 4.62
+ ;; size=50 bbWeight=0.50 PerfScore 4.62
G_M20677_IG77:
- cmp dword ptr [rbp-0x34], 0
+ test r12d, r12d
jne SHORT G_M20677_IG81
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x78]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:Merge(System.Data.DataSet):this
call [rax]System.Data.DataSet:Merge(System.Data.DataSet):this
- mov rdi, gword ptr [r15+0x38]
- test rdi, rdi
+ mov rdi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rdi+0x38]
+ test rsi, rsi
je SHORT G_M20677_IG80
- ;; size=33 bbWeight=0.50 PerfScore 5.00
+ ;; size=37 bbWeight=0.50 PerfScore 5.00
G_M20677_IG78:
- cmp dword ptr [rdi+0x08], 10
+ cmp dword ptr [rsi+0x08], 10
jne SHORT G_M20677_IG80
;; size=6 bbWeight=0.25 PerfScore 1.00
G_M20677_IG79:
- vmovups xmm0, xmmword ptr [rdi+0x0C]
+ vmovups xmm0, xmmword ptr [rsi+0x0C]
vpxor xmm0, xmm0, xmmword ptr [reloc @RWD336]
- vmovups xmm1, xmmword ptr [rdi+0x10]
+ vmovups xmm1, xmmword ptr [rsi+0x10]
vpternlogq xmm0, xmm1, xmmword ptr [reloc @RWD352], -10
vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
+ sete sil
+ movzx rsi, sil
+ test esi, esi
je SHORT G_M20677_IG80
mov rsi, gword ptr [rbx+0x38]
- lea rdi, bword ptr [r15+0x38]
+ lea rdi, bword ptr [rdi+0x38]
call CORINFO_HELP_ASSIGN_REF
;; size=59 bbWeight=0.50 PerfScore 10.50
G_M20677_IG80:
mov rdi, rbx
- mov esi, r12d
+ mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [rax]System.Data.DataSet:set_EnforceConstraints(ubyte):this
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M20677_IG81:
- mov rdi, r15
- mov esi, r12d
+ mov rdi, gword ptr [rbp-0x78]
+ mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [rax]System.Data.DataSet:set_EnforceConstraints(ubyte):this
nop
- ;; size=19 bbWeight=0.50 PerfScore 2.00
+ ;; size=20 bbWeight=0.50 PerfScore 2.38
G_M20677_IG82:
mov rdi, 0xD1FFAB1E ; static handle
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
;; size=38 bbWeight=1 PerfScore 10.00
G_M20677_IG83:
vzeroupper
add rsp, 216
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
G_M20677_IG84:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x78]
jmp G_M20677_IG03
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M20677_IG85:
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+0x100]
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG86:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
mov rdi, rax
test rdi, rdi
je SHORT G_M20677_IG87
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=47 bbWeight=0 PerfScore 0.00
+ ;; size=50 bbWeight=0 PerfScore 0.00
G_M20677_IG87:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M20677_IG88:
vzeroupper
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
G_M20677_IG89:
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+0x100]
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG90:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
mov rdi, rax
test rdi, rdi
je SHORT G_M20677_IG91
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=47 bbWeight=0 PerfScore 0.00
+ ;; size=50 bbWeight=0 PerfScore 0.00
G_M20677_IG91:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M20677_IG92:
vzeroupper
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
G_M20677_IG93:
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+0x100]
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG94:
- mov rsi, gword ptr [rbp-0x90]
+ mov rsi, gword ptr [rbp-0x98]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
nop
;; size=46 bbWeight=0 PerfScore 0.00
G_M20677_IG95:
vzeroupper
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
G_M20677_IG96:
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+0x100]
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG97:
- mov rsi, gword ptr [rbp-0x80]
+ mov rsi, gword ptr [rbp-0x88]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
mov rdi, rax
test rdi, rdi
je SHORT G_M20677_IG98
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- ;; size=47 bbWeight=0 PerfScore 0.00
+ ;; size=50 bbWeight=0 PerfScore 0.00
G_M20677_IG98:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M20677_IG99:
vzeroupper
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
G_M20677_IG100:
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+0x100]
;; size=25 bbWeight=0 PerfScore 0.00
G_M20677_IG101:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
;; size=53 bbWeight=0 PerfScore 0.00
G_M20677_IG102:
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 0066006600690064h, 006D006100720067h
RWD16 dd 00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
dd 00000000h, 00000000h, 00000000h, 00000000h, 00000000h, 00000000h
RWD64 dq 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 00690064002D006Ch
RWD128 dq 006D002D00730061h, 006F007200630069h, 00740066006F0073h, 006D006F0063002Dh, 006C006D0078003Ah, 006600690064002Dh, 0061007200670066h, 00310076002D006Dh
RWD192 dq 003A006E00720075h, 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 0073006D002D006Ch
RWD256 dq 0065006800630073h, 002D00730061006Dh, 007200630069006Dh, 0066006F0073006Fh, 006F0063002D0074h, 006D0078003A006Dh, 0073006D002D006Ch, 0061007400610064h
RWD320 dd 3F800000h ; 1
RWD324 dd 00000000h, 00000000h, 00000000h
RWD336 dq 004400770065004Eh, 0053006100740061h
RWD352 dq 0074006100440077h, 0074006500530061h
-; Total bytes of code 3215, prolog size 44, PerfScore 6442.81, instruction count 748, allocated bytes for code 3225 (MethodHash=f2c1af3a) for method System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
+; Total bytes of code 3285, prolog size 49, PerfScore 6446.81, instruction count 753, allocated bytes for code 3295 (MethodHash=f2c1af3a) for method System.Data.DataSet:ReadXmlDiffgram(System.Xml.XmlReader):this (FullOpts)
68 (4.10 % of base) - Microsoft.Win32.SafeHandles.SafeFileHandle:Init(System.String,int,int,int,int,long,byref,byref):ubyte:this
; Assembly listing for method Microsoft.Win32.SafeHandles.SafeFileHandle:Init(System.String,int,int,int,int,long,byref,byref):ubyte:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 25 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 16, 9.50) ref -> [rbp-0x150] this class-hnd single-def <Microsoft.Win32.SafeHandles.SafeFileHandle>
-; V01 arg1 [V01,T05] ( 12, 2.50) ref -> [rbp-0x158] class-hnd single-def <System.String>
+; V00 this [V00,T00] ( 16, 9.50) ref -> [rbp-0x158] this class-hnd single-def <Microsoft.Win32.SafeHandles.SafeFileHandle>
+; V01 arg1 [V01,T05] ( 12, 2.50) ref -> [rbp-0x160] class-hnd single-def <System.String>
; V02 arg2 [V02,T03] ( 5, 3.50) int -> r13 single-def
; V03 arg3 [V03,T02] ( 4, 4 ) int -> r14 single-def
; V04 arg4 [V04,T04] ( 4, 3.50) int -> r12 single-def
; V05 arg5 [V05,T01] ( 7, 5 ) int -> r15 single-def
; V06 arg6 [V06,T21] ( 3, 1 ) long -> [rbp+0x10] single-def
; V07 arg7 [V07,T19] ( 2, 1.50) byref -> [rbp+0x18] single-def
; V08 arg8 [V08,T20] ( 2, 1.50) byref -> [rbp+0x20] single-def
-; V09 loc0 [V09 ] ( 8, 4.50) struct (120) [rbp-0xA0] do-not-enreg[XSF] addr-exposed ld-addr-op <Interop+Sys+FileStatus>
-; V10 loc1 [V10,T11] ( 3, 2 ) ubyte -> [rbp-0xA4] ld-addr-op
+; V09 loc0 [V09 ] ( 8, 4.50) struct (120) [rbp-0xA8] do-not-enreg[XSF] addr-exposed ld-addr-op <Interop+Sys+FileStatus>
+; V10 loc1 [V10,T11] ( 3, 2 ) ubyte -> [rbp-0xAC] ld-addr-op
;* V11 loc2 [V11 ] ( 0, 0 ) int -> zero-ref
;* V12 loc3 [V12 ] ( 0, 0 ) int -> zero-ref
; V13 loc4 [V13,T17] ( 3, 1.50) ubyte -> rax
;* V14 loc5 [V14 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <Interop+ErrorInfo>
-; V15 loc6 [V15 ] ( 3, 1.50) struct (120) [rbp-0x120] do-not-enreg[XSF] addr-exposed ld-addr-op <Interop+Sys+FileStatus>
+; V15 loc6 [V15 ] ( 3, 1.50) struct (120) [rbp-0x128] do-not-enreg[XSF] addr-exposed ld-addr-op <Interop+Sys+FileStatus>
;* V16 loc7 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <Interop+ErrorInfo>
;* V17 loc8 [V17 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <Interop+ErrorInfo>
;* V18 loc9 [V18 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <Interop+ErrorInfo>
;# V19 OutArgs [V19 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V20 tmp1 [V20,T09] ( 3, 2.50) int -> [rbp-0x124] spill-single-def
+; V20 tmp1 [V20,T09] ( 3, 2.50) int -> [rbp-0x12C] spill-single-def
; V21 tmp2 [V21,T10] ( 4, 2 ) int -> rcx
-; V22 tmp3 [V22,T29] ( 3, 0 ) ref -> r14
+; V22 tmp3 [V22,T29] ( 3, 0 ) ref -> r15
; V23 tmp4 [V23,T30] ( 3, 0 ) ref -> rbx class-hnd exact single-def "Single-def Box Helper" <System.Int64>
-; V24 tmp5 [V24,T31] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.IO.IOException>
+; V24 tmp5 [V24,T31] ( 3, 0 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.IO.IOException>
; V25 tmp6 [V25,T12] ( 2, 2 ) int -> rax "dup spill"
;* V26 tmp7 [V26 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <Interop+ErrorInfo>
-; V27 tmp8 [V27,T33] ( 2, 0 ) struct ( 8) [rbp-0x130] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
+; V27 tmp8 [V27,T33] ( 2, 0 ) struct ( 8) [rbp-0x138] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
;* V28 tmp9 [V28 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <Interop+ErrorInfo>
;* V29 tmp10 [V29 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V30 tmp11 [V30 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <Interop+ErrorInfo>
; V31 tmp12 [V31,T06] ( 3, 3 ) int -> r14 "Inlining Arg"
-; V32 tmp13 [V32,T34] ( 2, 0 ) struct ( 8) [rbp-0x138] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
+; V32 tmp13 [V32,T34] ( 2, 0 ) struct ( 8) [rbp-0x140] do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
;* V33 tmp14 [V33 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <Interop+ErrorInfo>
; V34 tmp15 [V34,T07] ( 3, 3 ) int -> r14 "Inlining Arg"
; V35 tmp16 [V35,T13] ( 2, 2 ) long -> rax "Inlining Arg"
-; V36 tmp17 [V36,T22] ( 3, 1 ) struct ( 8) [rbp-0x140] do-not-enreg[SFR] multireg-ret ld-addr-op "Inline stloc first use temp" <Interop+ErrorInfo>
+; V36 tmp17 [V36,T22] ( 3, 1 ) struct ( 8) [rbp-0x148] do-not-enreg[SFR] multireg-ret ld-addr-op "Inline stloc first use temp" <Interop+ErrorInfo>
;* V37 tmp18 [V37 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <Interop+ErrorInfo>
-; V38 tmp19 [V38,T08] ( 3, 3 ) int -> r14 "Inlining Arg"
+; V38 tmp19 [V38,T08] ( 3, 3 ) int -> r15 "Inlining Arg"
;* V39 tmp20 [V39 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <Interop+ErrorInfo>
; V40 tmp21 [V40,T14] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V41 tmp22 [V41 ] ( 0, 0 ) int -> zero-ref "field V14._error (fldOffset=0x0)" P-INDEP
;* V42 tmp23 [V42 ] ( 0, 0 ) int -> zero-ref "field V14._rawErrno (fldOffset=0x4)" P-INDEP
;* V43 tmp24 [V43 ] ( 0, 0 ) int -> zero-ref "field V16._error (fldOffset=0x0)" P-INDEP
;* V44 tmp25 [V44 ] ( 0, 0 ) int -> zero-ref "field V16._rawErrno (fldOffset=0x4)" P-INDEP
;* V45 tmp26 [V45 ] ( 0, 0 ) int -> zero-ref "field V17._error (fldOffset=0x0)" P-INDEP
;* V46 tmp27 [V46 ] ( 0, 0 ) int -> zero-ref "field V17._rawErrno (fldOffset=0x4)" P-INDEP
;* V47 tmp28 [V47 ] ( 0, 0 ) int -> zero-ref "field V18._error (fldOffset=0x0)" P-INDEP
;* V48 tmp29 [V48 ] ( 0, 0 ) int -> zero-ref "field V18._rawErrno (fldOffset=0x4)" P-INDEP
;* V49 tmp30 [V49 ] ( 0, 0 ) int -> zero-ref "field V26._error (fldOffset=0x0)" P-INDEP
;* V50 tmp31 [V50 ] ( 0, 0 ) int -> zero-ref "field V26._rawErrno (fldOffset=0x4)" P-INDEP
;* V51 tmp32 [V51,T35] ( 0, 0 ) int -> zero-ref "field V28._error (fldOffset=0x0)" P-INDEP
;* V52 tmp33 [V52,T36] ( 0, 0 ) int -> zero-ref "field V28._rawErrno (fldOffset=0x4)" P-INDEP
; V53 tmp34 [V53,T24] ( 2, 1 ) int -> rbx "field V30._error (fldOffset=0x0)" P-INDEP
; V54 tmp35 [V54,T25] ( 2, 0.50) int -> r14 "field V30._rawErrno (fldOffset=0x4)" P-INDEP
-; V55 tmp36 [V55,T23] ( 3, 1 ) int -> r12 "field V33._error (fldOffset=0x0)" P-INDEP
+; V55 tmp36 [V55,T23] ( 3, 1 ) int -> rbx "field V33._error (fldOffset=0x0)" P-INDEP
; V56 tmp37 [V56,T26] ( 2, 0.50) int -> r14 "field V33._rawErrno (fldOffset=0x4)" P-INDEP
-; V57 tmp38 [V57,T15] ( 4, 1.50) int -> rbx "field V37._error (fldOffset=0x0)" P-INDEP
-; V58 tmp39 [V58,T27] ( 2, 0.50) int -> r14 "field V37._rawErrno (fldOffset=0x4)" P-INDEP
+; V57 tmp38 [V57,T15] ( 4, 1.50) int -> registers "field V37._error (fldOffset=0x0)" P-INDEP
+; V58 tmp39 [V58,T27] ( 2, 0.50) int -> registers "field V37._rawErrno (fldOffset=0x4)" P-INDEP
; V59 tmp40 [V59,T16] ( 4, 1.50) int -> rbx "field V39._error (fldOffset=0x0)" P-INDEP
;* V60 tmp41 [V60 ] ( 0, 0 ) int -> zero-ref "field V39._rawErrno (fldOffset=0x4)" P-INDEP
; V61 tmp42 [V61,T32] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
-; V62 tmp43 [V62,T28] ( 12, 0 ) struct ( 8) [rbp-0x148] do-not-enreg[SF] "by-value struct argument" <Interop+ErrorInfo>
+; V62 tmp43 [V62,T28] ( 12, 0 ) struct ( 8) [rbp-0x150] do-not-enreg[SF] "by-value struct argument" <Interop+ErrorInfo>
; V63 cse0 [V63,T18] ( 3, 1.50) int -> rdi "CSE #02: moderate"
;
; Lcl frame size = 312
G_M17444_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 312
vzeroupper
lea rbp, [rsp+0x160]
- mov gword ptr [rbp-0x158], rsi
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x160], rsi
mov rbx, rdi
mov r13d, edx
mov r14d, ecx
mov r12d, r8d
mov r15d, r9d
mov rcx, bword ptr [rbp+0x18]
mov rdx, bword ptr [rbp+0x20]
- ;; size=58 bbWeight=1 PerfScore 12.00
+ ;; size=62 bbWeight=1 PerfScore 13.00
G_M17444_IG02:
vxorps ymm0, ymm0, ymm0
- vmovdqu32 zmmword ptr [rbp-0xA0], zmm0
- vmovdqu32 zmmword ptr [rbp-0x68], zmm0
+ vmovdqu32 zmmword ptr [rbp-0xA8], zmm0
+ vmovdqu32 zmmword ptr [rbp-0x70], zmm0
xor r8d, r8d
mov bword ptr [rbp+0x18], rcx
mov qword ptr [rcx], -1
xor esi, esi
mov bword ptr [rbp+0x20], rdx
mov dword ptr [rdx], esi
test r14b, 2
- mov dword ptr [rbp-0xA4], r8d
+ mov dword ptr [rbp-0xAC], r8d
jne SHORT G_M17444_IG05
;; size=59 bbWeight=1 PerfScore 9.08
G_M17444_IG03:
- lea rsi, [rbp-0xA0]
+ lea rsi, [rbp-0xA8]
mov rdi, rbx
mov r8, 0xD1FFAB1E ; code for Interop+Sys:FStat(System.Runtime.InteropServices.SafeHandle,byref):int
call [r8]Interop+Sys:FStat(System.Runtime.InteropServices.SafeHandle,byref):int
test eax, eax
- jne G_M17444_IG48
- mov dword ptr [rbp-0xA4], 1
- mov edi, dword ptr [rbp-0x9C]
+ jne G_M17444_IG51
+ mov dword ptr [rbp-0xAC], 1
+ mov edi, dword ptr [rbp-0xA4]
and edi, 0xF000
cmp edi, 0x4000
- je G_M17444_IG47
+ je G_M17444_IG50
cmp edi, 0x8000
jne SHORT G_M17444_IG04
mov dword ptr [rbx+0x28], 1
;; size=80 bbWeight=0.50 PerfScore 5.50
G_M17444_IG04:
- mov rdi, qword ptr [rbp-0x90]
+ mov rdi, qword ptr [rbp-0x98]
mov rsi, bword ptr [rbp+0x18]
mov qword ptr [rsi], rdi
- mov edi, dword ptr [rbp-0x9C]
+ mov edi, dword ptr [rbp-0xA4]
and edi, 511
mov rsi, bword ptr [rbp+0x20]
mov dword ptr [rsi], edi
;; size=32 bbWeight=0.50 PerfScore 3.12
G_M17444_IG05:
test r15d, 0xD1FFAB1E
setne dil
mov byte ptr [rbx+0x30], dil
mov ecx, 2
mov edi, 1
test r12d, r12d
cmovne ecx, edi
mov esi, ecx
- mov dword ptr [rbp-0x124], esi
+ mov dword ptr [rbp-0x12C], esi
mov rdi, rbx
mov edx, r14d
mov rcx, 0xD1FFAB1E ; code for Microsoft.Win32.SafeHandles.SafeFileHandle:CanLockTheFile(int,int):ubyte:this
call [rcx]Microsoft.Win32.SafeHandles.SafeFileHandle:CanLockTheFile(int,int):ubyte:this
test eax, eax
je SHORT G_M17444_IG10
;; size=61 bbWeight=1 PerfScore 9.50
G_M17444_IG06:
- mov r14d, dword ptr [rbp-0x124]
+ mov r14d, dword ptr [rbp-0x12C]
mov esi, r14d
or esi, 4
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for Interop+Sys:FLock(Microsoft.Win32.SafeHandles.SafeFileHandle,int):int
call [rax]Interop+Sys:FLock(Microsoft.Win32.SafeHandles.SafeFileHandle,int):int
not eax
shr eax, 31
- mov gword ptr [rbp-0x150], rbx
+ mov gword ptr [rbp-0x158], rbx
mov byte ptr [rbx+0x17], al
test eax, eax
jne SHORT G_M17444_IG08
call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int
mov r14d, eax
mov edi, r14d
mov rax, 0xD1FFAB1E ; function address
;; size=68 bbWeight=0.50 PerfScore 5.38
G_M17444_IG07:
call rax ; Interop+Sys:ConvertErrorPlatformToPal(int):int
mov ebx, eax
mov rsi, 0xD1FFAB1E ; global ptr
cmp dword ptr [rsi], 0
je SHORT G_M17444_IG09
- jmp G_M17444_IG34
+ jmp G_M17444_IG37
;; size=24 bbWeight=0.50 PerfScore 4.75
G_M17444_IG08:
- mov rbx, gword ptr [rbp-0x150]
+ mov rbx, gword ptr [rbp-0x158]
jmp SHORT G_M17444_IG10
;; size=9 bbWeight=0.25 PerfScore 0.75
G_M17444_IG09:
cmp ebx, 0x10006
- mov rbx, gword ptr [rbp-0x150]
- je G_M17444_IG46
+ mov rbx, gword ptr [rbp-0x158]
+ je G_M17444_IG49
;; size=19 bbWeight=0.50 PerfScore 1.12
G_M17444_IG10:
cmp byte ptr [rbx+0x17], 0
- je G_M17444_IG18
+ je G_M17444_IG19
;; size=10 bbWeight=1 PerfScore 4.00
G_M17444_IG11:
test r15d, 0xD1FFAB1E
- je G_M17444_IG18
+ je G_M17444_IG19
test r12d, r12d
- jne G_M17444_IG18
+ jne G_M17444_IG19
cmp r13d, 4
- jne G_M17444_IG18
- mov r14d, dword ptr [rbp-0xA4]
+ jne G_M17444_IG19
+ mov r14d, dword ptr [rbp-0xAC]
test r14d, r14d
jne SHORT G_M17444_IG12
- lea rsi, [rbp-0xA0]
+ lea rsi, [rbp-0xA8]
+ mov gword ptr [rbp-0x158], rbx
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for Interop+Sys:FStat(System.Runtime.InteropServices.SafeHandle,byref):int
call [rax]Interop+Sys:FStat(System.Runtime.InteropServices.SafeHandle,byref):int
test eax, eax
- jne G_M17444_IG45
- ;; size=74 bbWeight=0.50 PerfScore 5.62
+ mov rbx, gword ptr [rbp-0x158]
+ jne G_M17444_IG48
+ ;; size=88 bbWeight=0.50 PerfScore 6.62
G_M17444_IG12:
- lea rsi, [rbp-0x120]
- mov rdi, gword ptr [rbp-0x158]
+ lea rsi, [rbp-0x128]
+ mov rdi, gword ptr [rbp-0x160]
mov rax, 0xD1FFAB1E ; code for Interop+Sys:Stat(System.String,byref):int
call [rax]Interop+Sys:Stat(System.String,byref):int
test eax, eax
jge SHORT G_M17444_IG17
+ mov gword ptr [rbp-0x158], rbx
call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int
mov r14d, eax
mov edi, r14d
mov rax, 0xD1FFAB1E ; function address
- ;; size=51 bbWeight=0.50 PerfScore 3.88
+ ;; size=58 bbWeight=0.50 PerfScore 4.38
G_M17444_IG13:
call rax ; Interop+Sys:ConvertErrorPlatformToPal(int):int
- mov r12d, eax
+ mov ebx, eax
mov rax, 0xD1FFAB1E ; global ptr
cmp dword ptr [rax], 0
- jne G_M17444_IG43
- ;; size=24 bbWeight=0.50 PerfScore 3.75
+ jne G_M17444_IG46
+ ;; size=23 bbWeight=0.50 PerfScore 3.75
G_M17444_IG14:
- cmp r12d, 0x1002D
- jne G_M17444_IG44
- ;; size=13 bbWeight=0.50 PerfScore 0.62
+ cmp ebx, 0x1002D
+ jne G_M17444_IG47
+ ;; size=12 bbWeight=0.50 PerfScore 0.62
G_M17444_IG15:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M17444_IG16:
add rsp, 312
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M17444_IG17:
- mov rax, qword ptr [rbp-0xB8]
- cmp rax, qword ptr [rbp-0x38]
+ mov rax, qword ptr [rbp-0xC0]
+ cmp rax, qword ptr [rbp-0x40]
+ mov gword ptr [rbp-0x158], rbx
jne SHORT G_M17444_IG15
- mov r12, qword ptr [rbp+0x10]
- mov rdi, qword ptr [rbp-0xC8]
- cmp rdi, qword ptr [rbp-0x48]
- mov qword ptr [rbp+0x10], r12
+ mov r14, qword ptr [rbp+0x10]
+ mov rdi, qword ptr [rbp-0xD0]
+ cmp rdi, qword ptr [rbp-0x50]
+ mov qword ptr [rbp+0x10], r14
jne SHORT G_M17444_IG15
- ;; size=34 bbWeight=0.50 PerfScore 5.00
+ ;; size=41 bbWeight=0.50 PerfScore 5.50
G_M17444_IG18:
+ mov rbx, gword ptr [rbp-0x158]
+ ;; size=7 bbWeight=0.25 PerfScore 0.25
+G_M17444_IG19:
test r15d, 0xD1FFAB1E
setne dil
mov byte ptr [rbx+0x16], dil
test r15d, 0xD1FFAB1E
- jne SHORT G_M17444_IG19
+ jne SHORT G_M17444_IG20
mov ecx, 2
xor edi, edi
test r15d, 0xD1FFAB1E
cmove ecx, edi
- jmp SHORT G_M17444_IG20
+ jmp SHORT G_M17444_IG21
;; size=43 bbWeight=0.50 PerfScore 3.25
-G_M17444_IG19:
+G_M17444_IG20:
mov ecx, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M17444_IG20:
+G_M17444_IG21:
test ecx, ecx
- je SHORT G_M17444_IG21
+ je SHORT G_M17444_IG22
mov rdi, rbx
xor esi, esi
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop+Sys:PosixFAdvise(Microsoft.Win32.SafeHandles.SafeFileHandle,long,long,int):int
call [rax]Interop+Sys:PosixFAdvise(Microsoft.Win32.SafeHandles.SafeFileHandle,long,long,int):int
cdqe
test rax, rax
- jge SHORT G_M17444_IG21
+ jge SHORT G_M17444_IG22
mov rax, 0xD1FFAB1E ; code for Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
call [rax]Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
- mov qword ptr [rbp-0x140], rax
- cmp dword ptr [rbp-0x140], 0x1003D
- jne G_M17444_IG42
+ mov qword ptr [rbp-0x148], rax
+ cmp dword ptr [rbp-0x148], 0x1003D
+ jne G_M17444_IG45
;; size=65 bbWeight=0.50 PerfScore 7.00
-G_M17444_IG21:
+G_M17444_IG22:
cmp r13d, 2
- je SHORT G_M17444_IG22
+ je SHORT G_M17444_IG23
cmp r13d, 5
- jne G_M17444_IG29
+ jne G_M17444_IG30
;; size=16 bbWeight=0.50 PerfScore 1.25
-G_M17444_IG22:
+G_M17444_IG23:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M17444_IG35
+ je G_M17444_IG38
;; size=19 bbWeight=0.50 PerfScore 2.12
-G_M17444_IG23:
+G_M17444_IG24:
mov rdi, 0xD1FFAB1E ; data for Microsoft.Win32.SafeHandles.SafeFileHandle:<DisableFileLocking>k__BackingField
cmp byte ptr [rdi], 0
- jne SHORT G_M17444_IG29
- mov gword ptr [rbp-0x150], rbx
+ jne SHORT G_M17444_IG30
+ mov gword ptr [rbp-0x158], rbx
mov rdi, rbx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for Interop+Sys:FTruncate(Microsoft.Win32.SafeHandles.SafeFileHandle,long):int
call [rax]Interop+Sys:FTruncate(Microsoft.Win32.SafeHandles.SafeFileHandle,long):int
test eax, eax
- jge SHORT G_M17444_IG25
+ jge SHORT G_M17444_IG26
call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int
- mov r14d, eax
- mov edi, r14d
+ mov r15d, eax
+ mov edi, r15d
mov rax, 0xD1FFAB1E ; function address
;; size=64 bbWeight=0.50 PerfScore 6.00
-G_M17444_IG24:
+G_M17444_IG25:
call rax ; Interop+Sys:ConvertErrorPlatformToPal(int):int
mov ebx, eax
mov rdi, 0xD1FFAB1E ; global ptr
cmp dword ptr [rdi], 0
- je SHORT G_M17444_IG26
- jmp G_M17444_IG36
+ je SHORT G_M17444_IG27
+ jmp G_M17444_IG39
;; size=24 bbWeight=0.50 PerfScore 4.75
-G_M17444_IG25:
- mov rbx, gword ptr [rbp-0x150]
- jmp SHORT G_M17444_IG29
- ;; size=9 bbWeight=0.25 PerfScore 0.75
G_M17444_IG26:
+ mov rbx, gword ptr [rbp-0x158]
+ jmp SHORT G_M17444_IG30
+ ;; size=9 bbWeight=0.25 PerfScore 0.75
+G_M17444_IG27:
cmp ebx, 0x10008
- je SHORT G_M17444_IG28
+ je SHORT G_M17444_IG29
cmp ebx, 0x1001C
- jne G_M17444_IG41
+ jne G_M17444_IG44
;; size=20 bbWeight=0.50 PerfScore 1.25
-G_M17444_IG27:
- mov rbx, gword ptr [rbp-0x150]
- jmp SHORT G_M17444_IG29
- ;; size=9 bbWeight=0.25 PerfScore 0.75
G_M17444_IG28:
- mov rbx, gword ptr [rbp-0x150]
- ;; size=7 bbWeight=0.25 PerfScore 0.25
+ mov rbx, gword ptr [rbp-0x158]
+ jmp SHORT G_M17444_IG30
+ ;; size=9 bbWeight=0.25 PerfScore 0.75
G_M17444_IG29:
- mov r12, qword ptr [rbp+0x10]
- test r12, r12
- jle SHORT G_M17444_IG32
- mov gword ptr [rbp-0x150], rbx
+ mov rbx, gword ptr [rbp-0x158]
+ ;; size=7 bbWeight=0.25 PerfScore 0.25
+G_M17444_IG30:
+ mov r14, qword ptr [rbp+0x10]
+ test r14, r14
+ jle SHORT G_M17444_IG35
+ mov gword ptr [rbp-0x158], rbx
mov rdi, rbx
- mov rdx, r12
+ mov rdx, r14
xor esi, esi
mov rax, 0xD1FFAB1E ; code for Interop+Sys:FAllocate(Microsoft.Win32.SafeHandles.SafeFileHandle,long,long):int
call [rax]Interop+Sys:FAllocate(Microsoft.Win32.SafeHandles.SafeFileHandle,long,long):int
test eax, eax
jge SHORT G_M17444_IG32
call System.Runtime.InteropServices.Marshal:GetLastPInvokeError():int
mov edi, eax
mov rax, 0xD1FFAB1E ; function address
;; size=57 bbWeight=0.50 PerfScore 5.00
-G_M17444_IG30:
+G_M17444_IG31:
call rax ; Interop+Sys:ConvertErrorPlatformToPal(int):int
mov ebx, eax
mov rax, 0xD1FFAB1E ; global ptr
cmp dword ptr [rax], 0
- jne SHORT G_M17444_IG37
- ;; size=19 bbWeight=0.50 PerfScore 3.75
-G_M17444_IG31:
+ je SHORT G_M17444_IG33
+ jmp SHORT G_M17444_IG40
+ ;; size=21 bbWeight=0.50 PerfScore 4.75
+G_M17444_IG32:
+ mov rbx, gword ptr [rbp-0x158]
+ jmp SHORT G_M17444_IG35
+ ;; size=9 bbWeight=0.25 PerfScore 0.75
+G_M17444_IG33:
cmp ebx, 0x10016
- je SHORT G_M17444_IG38
+ je SHORT G_M17444_IG41
cmp ebx, 0x10034
- je SHORT G_M17444_IG38
+ je SHORT G_M17444_IG41
;; size=16 bbWeight=0.50 PerfScore 1.25
-G_M17444_IG32:
+G_M17444_IG34:
+ mov rbx, gword ptr [rbp-0x158]
+ ;; size=7 bbWeight=0.25 PerfScore 0.25
+G_M17444_IG35:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M17444_IG33:
+G_M17444_IG36:
add rsp, 312
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
-G_M17444_IG34:
+G_M17444_IG37:
call CORINFO_HELP_POLL_GC
jmp G_M17444_IG09
;; size=10 bbWeight=0 PerfScore 0.00
-G_M17444_IG35:
+G_M17444_IG38:
mov rdi, 0xD1FFAB1E ; Microsoft.Win32.SafeHandles.SafeFileHandle
call CORINFO_HELP_GET_NONGCSTATIC_BASE
- jmp G_M17444_IG23
+ jmp G_M17444_IG24
;; size=20 bbWeight=0 PerfScore 0.00
-G_M17444_IG36:
+G_M17444_IG39:
call CORINFO_HELP_POLL_GC
- jmp G_M17444_IG26
+ jmp G_M17444_IG27
;; size=10 bbWeight=0 PerfScore 0.00
-G_M17444_IG37:
+G_M17444_IG40:
call CORINFO_HELP_POLL_GC
- jmp SHORT G_M17444_IG31
+ jmp SHORT G_M17444_IG33
;; size=7 bbWeight=0 PerfScore 0.00
-G_M17444_IG38:
- mov rdi, gword ptr [rbp-0x150]
+G_M17444_IG41:
+ mov rdi, gword ptr [rbp-0x158]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this
call [rax]System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this
- mov rdi, gword ptr [rbp-0x150]
- call System.GC:_SuppressFinalize(System.Object)
mov rdi, gword ptr [rbp-0x158]
+ call System.GC:_SuppressFinalize(System.Object)
+ mov rdi, gword ptr [rbp-0x160]
mov rax, 0xD1FFAB1E ; code for Interop+Sys:Unlink(System.String):int
call [rax]Interop+Sys:Unlink(System.String):int
cmp ebx, 0x10016
- jne SHORT G_M17444_IG39
+ jne SHORT G_M17444_IG42
mov rdi, 0xD1FFAB1E ; 'IO_FileTooLarge_Path_AllocationSize'
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_M17444_IG40
+ mov r15, rax
+ jmp SHORT G_M17444_IG43
;; size=90 bbWeight=0 PerfScore 0.00
-G_M17444_IG39:
+G_M17444_IG42:
mov rdi, 0xD1FFAB1E ; 'IO_DiskFull_Path_AllocationSize'
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 r15, rax
;; size=25 bbWeight=0 PerfScore 0.00
-G_M17444_IG40:
+G_M17444_IG43:
mov rdi, 0xD1FFAB1E ; System.Int64
call CORINFO_HELP_NEWSFAST
mov rbx, rax
- mov qword ptr [rbx+0x08], r12
+ mov qword ptr [rbx+0x08], r14
mov rdi, 0xD1FFAB1E ; System.IO.IOException
call CORINFO_HELP_NEWSFAST
- mov r15, rax
+ mov r14, rax
mov rdx, rbx
- mov rdi, r14
- mov rsi, gword ptr [rbp-0x158]
+ mov rdi, r15
+ mov rsi, gword ptr [rbp-0x160]
mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object,System.Object):System.String
call [rax]System.SR:Format(System.String,System.Object,System.Object):System.String
mov rsi, rax
- mov rdi, r15
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.IO.IOException:.ctor(System.String):this
call [rax]System.IO.IOException:.ctor(System.String):this
- mov rdi, r15
+ mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=92 bbWeight=0 PerfScore 0.00
-G_M17444_IG41:
- mov dword ptr [rbp-0x148], ebx
- mov dword ptr [rbp-0x144], r14d
- mov rdi, qword ptr [rbp-0x148]
- mov rsi, gword ptr [rbp-0x158]
+G_M17444_IG44:
+ mov r14d, r15d
+ mov r15d, ebx
+ mov rbx, gword ptr [rbp-0x158]
+ mov dword ptr [rbp-0x150], r15d
+ mov dword ptr [rbp-0x14C], r14d
+ mov rdi, qword ptr [rbp-0x150]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=50 bbWeight=0 PerfScore 0.00
-G_M17444_IG42:
- mov rdi, qword ptr [rbp-0x140]
- mov rsi, gword ptr [rbp-0x158]
+ ;; size=64 bbWeight=0 PerfScore 0.00
+G_M17444_IG45:
+ mov rdi, qword ptr [rbp-0x148]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=37 bbWeight=0 PerfScore 0.00
-G_M17444_IG43:
+G_M17444_IG46:
call CORINFO_HELP_POLL_GC
jmp G_M17444_IG14
;; size=10 bbWeight=0 PerfScore 0.00
-G_M17444_IG44:
- mov dword ptr [rbp-0x148], r12d
- mov dword ptr [rbp-0x144], r14d
- mov rdi, qword ptr [rbp-0x148]
- mov rsi, gword ptr [rbp-0x158]
+G_M17444_IG47:
+ mov dword ptr [rbp-0x150], ebx
+ mov dword ptr [rbp-0x14C], r14d
+ mov rdi, qword ptr [rbp-0x150]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=51 bbWeight=0 PerfScore 0.00
-G_M17444_IG45:
+ ;; size=50 bbWeight=0 PerfScore 0.00
+G_M17444_IG48:
mov rax, 0xD1FFAB1E ; code for Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
call [rax]Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
- mov qword ptr [rbp-0x138], rax
- mov rdi, qword ptr [rbp-0x138]
- mov rsi, gword ptr [rbp-0x158]
+ mov qword ptr [rbp-0x140], rax
+ mov rdi, qword ptr [rbp-0x140]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=56 bbWeight=0 PerfScore 0.00
-G_M17444_IG46:
- mov dword ptr [rbp-0x148], 0x10006
- mov dword ptr [rbp-0x144], r14d
- mov rdi, qword ptr [rbp-0x148]
- mov rsi, gword ptr [rbp-0x158]
+G_M17444_IG49:
+ mov dword ptr [rbp-0x150], 0x10006
+ mov dword ptr [rbp-0x14C], r14d
+ mov rdi, qword ptr [rbp-0x150]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=54 bbWeight=0 PerfScore 0.00
-G_M17444_IG47:
- mov dword ptr [rbp-0x148], 0x10002
- mov dword ptr [rbp-0x144], -1
- mov rdi, qword ptr [rbp-0x148]
- mov rsi, gword ptr [rbp-0x158]
+G_M17444_IG50:
+ mov dword ptr [rbp-0x150], 0x10002
+ mov dword ptr [rbp-0x14C], -1
+ mov rdi, qword ptr [rbp-0x150]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M17444_IG48:
+G_M17444_IG51:
mov rax, 0xD1FFAB1E ; code for Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
call [rax]Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
- mov qword ptr [rbp-0x130], rax
- mov rdi, qword ptr [rbp-0x130]
- mov rsi, gword ptr [rbp-0x158]
+ mov qword ptr [rbp-0x138], rax
+ mov rdi, qword ptr [rbp-0x138]
+ mov rsi, gword ptr [rbp-0x160]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
call [rax]Interop:GetExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=56 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1657, prolog size 28, PerfScore 116.08, instruction count 357, allocated bytes for code 1657 (MethodHash=39f3bbdb) for method Microsoft.Win32.SafeHandles.SafeFileHandle:Init(System.String,int,int,int,int,long,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1725, prolog size 32, PerfScore 121.33, instruction count 370, allocated bytes for code 1725 (MethodHash=39f3bbdb) for method Microsoft.Win32.SafeHandles.SafeFileHandle:Init(System.String,int,int,int,int,long,byref,byref):ubyte:this (FullOpts)
68 (2.54 % of base) - System.Data.DataTable:CloneTo(System.Data.DataTable,System.Data.DataSet,ubyte):System.Data.DataTable:this
; Assembly listing for method System.Data.DataTable:CloneTo(System.Data.DataTable,System.Data.DataSet,ubyte):System.Data.DataTable:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 49 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T08] ( 33, 56.50) ref -> r15 this class-hnd single-def <System.Data.DataTable>
+; V00 this [V00,T08] ( 33, 56.50) ref -> [rbp-0x38] this class-hnd EH-live single-def <System.Data.DataTable>
; V01 arg1 [V01,T07] ( 37, 57 ) ref -> rbx class-hnd single-def <System.Data.DataTable>
-; V02 arg2 [V02,T76] ( 3, 2.50) ref -> r13 class-hnd single-def <System.Data.DataSet>
-; V03 arg3 [V03,T74] ( 3, 3 ) ubyte -> r14 single-def
-; V04 loc0 [V04,T21] ( 8, 22.50) ref -> r12 class-hnd exact single-def <System.Data.DataColumnCollection>
-; V05 loc1 [V05,T51] ( 9, 11.25) ref -> r14 class-hnd single-def <System.Data.DataColumn[]>
-; V06 loc2 [V06,T28] ( 5, 17 ) int -> [rbp-0x2C]
-; V07 loc3 [V07,T24] ( 6, 20.50) int -> r14
-; V08 loc4 [V08,T73] ( 6, 5.29) ref -> r13 class-hnd exact single-def <System.Data.DataColumn[]>
-; V09 loc5 [V09,T23] ( 12, 20.54) int -> r12
-; V10 loc6 [V10,T22] ( 8, 21 ) int -> r13
-; V11 loc7 [V11,T41] ( 7, 14 ) ref -> r14 class-hnd <System.Data.ForeignKeyConstraint>
+; V02 arg2 [V02,T76] ( 3, 2.50) ref -> r14 class-hnd single-def <System.Data.DataSet>
+; V03 arg3 [V03,T74] ( 3, 3 ) ubyte -> r15 single-def
+; V04 loc0 [V04,T21] ( 8, 22.50) ref -> r13 class-hnd exact single-def <System.Data.DataColumnCollection>
+; V05 loc1 [V05,T51] ( 9, 11.25) ref -> r15 class-hnd single-def <System.Data.DataColumn[]>
+; V06 loc2 [V06,T28] ( 5, 17 ) int -> r12
+; V07 loc3 [V07,T24] ( 6, 20.50) int -> r15
+; V08 loc4 [V08,T73] ( 6, 5.29) ref -> r14 class-hnd exact single-def <System.Data.DataColumn[]>
+; V09 loc5 [V09,T23] ( 12, 20.54) int -> r13
+; V10 loc6 [V10,T22] ( 8, 21 ) int -> r12
+; V11 loc7 [V11,T41] ( 7, 14 ) ref -> r15 class-hnd <System.Data.ForeignKeyConstraint>
; V12 loc8 [V12,T67] ( 3, 6 ) ref -> rax class-hnd <System.Data.UniqueConstraint>
; V13 loc9 [V13,T68] ( 3, 6 ) ref -> rax class-hnd <System.Data.ForeignKeyConstraint>
-; V14 loc10 [V14,T53] ( 4, 8 ) ref -> r14 class-hnd <System.Data.Constraint>
-; V15 loc11 [V15,T13] ( 7, 34 ) ref -> r14 class-hnd <System.Data.UniqueConstraint>
-; V16 loc12 [V16,T14] ( 6, 32 ) ref -> r12 class-hnd <System.Data.Constraint>
-; V17 loc13 [V17,T12] ( 12, 47.50) ref -> [rbp-0x38] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
-; V18 loc14 [V18,T09] ( 3, 48 ) ref -> [rbp-0x40] class-hnd spill-single-def <System.Object>
+; V14 loc10 [V14,T53] ( 4, 8 ) ref -> r15 class-hnd <System.Data.Constraint>
+; V15 loc11 [V15,T13] ( 7, 34 ) ref -> r15 class-hnd <System.Data.UniqueConstraint>
+; V16 loc12 [V16,T14] ( 6, 32 ) ref -> r14 class-hnd <System.Data.Constraint>
+; V17 loc13 [V17,T12] ( 12, 47.50) ref -> [rbp-0x40] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
+; V18 loc14 [V18,T09] ( 3, 48 ) ref -> r13 class-hnd <System.Object>
; V19 loc15 [V19,T66] ( 12, 7.50) ref -> rax class-hnd <System.IDisposable>
-; V20 loc16 [V20,T26] ( 7, 19 ) int -> r13
-; V21 loc17 [V21,T42] ( 7, 14 ) ref -> r14 class-hnd <System.Data.ForeignKeyConstraint>
+; V20 loc16 [V20,T26] ( 7, 19 ) int -> r12
+; V21 loc17 [V21,T42] ( 7, 14 ) ref -> r15 class-hnd <System.Data.ForeignKeyConstraint>
; V22 loc18 [V22,T69] ( 3, 6 ) ref -> rax class-hnd <System.Data.UniqueConstraint>
; V23 loc19 [V23,T70] ( 3, 6 ) ref -> rax class-hnd <System.Data.ForeignKeyConstraint>
-; V24 loc20 [V24,T43] ( 3, 12 ) ref -> r14 class-hnd <System.Object>
+; V24 loc20 [V24,T43] ( 3, 12 ) ref -> r15 class-hnd <System.Object>
;# V25 OutArgs [V25 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V26 tmp1 [V26,T18] ( 3, 24 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "non-inline candidate call" <System.Data.DataColumnCollection>
;* V27 tmp2 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Data.PropertyCollection>
;* V28 tmp3 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.DataTable>
-; V29 tmp4 [V29,T29] ( 4, 16 ) ref -> r14 class-hnd exact "impAppendStmt" <System.Data.ConstraintCollection>
-; V30 tmp5 [V30,T44] ( 3, 12 ) ref -> r14 class-hnd exact "non-inline candidate call" <System.Data.ConstraintCollection>
+; V29 tmp4 [V29,T29] ( 4, 16 ) ref -> r15 class-hnd exact "impAppendStmt" <System.Data.ConstraintCollection>
+; V30 tmp5 [V30,T44] ( 3, 12 ) ref -> r15 class-hnd exact "non-inline candidate call" <System.Data.ConstraintCollection>
;* V31 tmp6 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.DataTable>
;* V32 tmp7 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.PropertyCollection>
;* V33 tmp8 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataColumnCollection>
; V34 tmp9 [V34,T30] ( 4, 16 ) ref -> rax class-hnd "Strict ordering of exceptions for Array store" <System.Data.DataColumn>
;* V35 tmp10 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.Data.DataColumnCollection>
-; V36 tmp11 [V36,T19] ( 3, 24 ) ref -> r13 class-hnd "non-inline candidate call" <System.Data.DataColumn>
+; V36 tmp11 [V36,T19] ( 3, 24 ) ref -> r14 class-hnd "non-inline candidate call" <System.Data.DataColumn>
;* V37 tmp12 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.RecordManager>
; V38 tmp13 [V38,T75] ( 3, 5 ) int -> rsi "Inlining Arg"
;* V39 tmp14 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.RecordManager>
; V40 tmp15 [V40,T34] ( 2, 16 ) ref -> rdx class-hnd "Inlining Arg" <System.Data.DataColumn>
;* V41 tmp16 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataColumn>
; V42 tmp17 [V42,T35] ( 2, 16 ) ref -> rdi class-hnd "Inlining Arg" <System.Data.DataColumn>
;* V43 tmp18 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataColumn>
;* V44 tmp19 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Data.PropertyCollection>
; V45 tmp20 [V45,T55] ( 2, 8 ) ref -> rdi class-hnd "dup spill" <System.Data.PropertyCollection>
; V46 tmp21 [V46,T52] ( 5, 10 ) ref -> rdi
-; V47 tmp22 [V47,T31] ( 4, 16 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.PropertyCollection>
+; V47 tmp22 [V47,T31] ( 4, 16 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
;* V48 tmp23 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
-; V49 tmp24 [V49,T04] ( 2, 64 ) ref -> rcx class-hnd "dup spill" <System.Data.PropertyCollection>
-; V50 tmp25 [V50,T00] ( 5, 72 ) ref -> [rbp-0x58]
-; V51 tmp26 [V51,T02] ( 4, 64 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.PropertyCollection>
+; V49 tmp24 [V49,T04] ( 2, 64 ) ref -> rax class-hnd "dup spill" <System.Data.PropertyCollection>
+; V50 tmp25 [V50,T00] ( 5, 72 ) ref -> [rbp-0x50]
+; V51 tmp26 [V51,T02] ( 4, 64 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.PropertyCollection>
;* V52 tmp27 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
;* V53 tmp28 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Data.PropertyCollection>
; V54 tmp29 [V54,T05] ( 2, 64 ) ref -> rdi class-hnd "dup spill" <System.Data.PropertyCollection>
; V55 tmp30 [V55,T01] ( 5, 72 ) ref -> rdi
-; V56 tmp31 [V56,T03] ( 4, 64 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.PropertyCollection>
+; V56 tmp31 [V56,T03] ( 4, 64 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Data.PropertyCollection>
;* V57 tmp32 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
;* V58 tmp33 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.ConstraintCollection>
-; V59 tmp34 [V59,T71] ( 2, 4 ) ubyte -> r14 "Inline return value spill temp"
-; V60 tmp35 [V60,T16] ( 7, 28 ) ref -> r12 class-hnd exact "Inlining Arg" <System.String>
+; V59 tmp34 [V59,T71] ( 2, 4 ) ubyte -> r15 "Inline return value spill temp"
+; V60 tmp35 [V60,T16] ( 7, 28 ) ref -> r14 class-hnd exact "Inlining Arg" <System.String>
; V61 tmp36 [V61,T72] ( 3, 6 ) int -> rax "Inline stloc first use temp"
; V62 tmp37 [V62,T25] ( 5, 20 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V63 tmp38 [V63,T54] ( 4, 8 ) ubyte -> r14 "Inline return value spill temp"
+; V63 tmp38 [V63,T54] ( 4, 8 ) ubyte -> r15 "Inline return value spill temp"
; V64 tmp39 [V64,T56] ( 2, 8 ) byref -> rdi "impAppendStmt"
; V65 tmp40 [V65,T45] ( 3, 12 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Data.ConstraintCollection>
; V66 tmp41 [V66,T57] ( 2, 8 ) ref -> rsi class-hnd "Inlining Arg" <System.Data.UniqueConstraint>
;* V67 tmp42 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.ConstraintCollection>
-; V68 tmp43 [V68,T36] ( 2, 16 ) ref -> r13 class-hnd "dup spill" <System.Data.PropertyCollection>
-; V69 tmp44 [V69,T27] ( 5, 18 ) ref -> r13
-; V70 tmp45 [V70,T32] ( 4, 16 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
+; V68 tmp43 [V68,T36] ( 2, 16 ) ref -> r14 class-hnd "dup spill" <System.Data.PropertyCollection>
+; V69 tmp44 [V69,T27] ( 5, 18 ) ref -> r14
+; V70 tmp45 [V70,T32] ( 4, 16 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
;* V71 tmp46 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
-; V72 tmp47 [V72,T15] ( 6, 30 ) ref -> rdi "argument with side effect"
+; V72 tmp47 [V72,T15] ( 6, 30 ) ref -> rax "argument with side effect"
; V73 tmp48 [V73,T17] ( 6, 27 ) ref -> rdi "argument with side effect"
; V74 tmp49 [V74,T37] ( 2, 16 ) ref -> rsi "argument with side effect"
-; V75 tmp50 [V75,T38] ( 2, 16 ) ref -> r13 "argument with side effect"
+; V75 tmp50 [V75,T38] ( 2, 16 ) ref -> r14 "argument with side effect"
; V76 tmp51 [V76,T39] ( 2, 16 ) ref -> rsi "argument with side effect"
; V77 tmp52 [V77,T33] ( 4, 16 ) ref -> rdi "argument with side effect"
-; V78 tmp53 [V78,T10] ( 3, 48 ) ref -> rdi "argument with side effect"
+; V78 tmp53 [V78,T10] ( 3, 48 ) ref -> rax "argument with side effect"
; V79 tmp54 [V79,T58] ( 2, 8 ) ref -> rsi "argument with side effect"
; V80 tmp55 [V80,T59] ( 2, 8 ) ref -> rsi "argument with side effect"
; V81 tmp56 [V81,T46] ( 3, 12 ) ref -> rax "argument with side effect"
; V82 tmp57 [V82,T60] ( 2, 8 ) ref -> rsi "argument with side effect"
; V83 tmp58 [V83,T61] ( 2, 8 ) ref -> rdi "argument with side effect"
; V84 tmp59 [V84,T06] ( 2, 64 ) ref -> rdx "argument with side effect"
; V85 tmp60 [V85,T47] ( 3, 12 ) ref -> rax "argument with side effect"
; V86 tmp61 [V86,T62] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V87 tmp62 [V87,T11] ( 3, 48 ) ref -> rdi "argument with side effect"
+; V87 tmp62 [V87,T11] ( 3, 48 ) ref -> rax "argument with side effect"
; V88 tmp63 [V88,T48] ( 3, 12 ) ref -> rax "argument with side effect"
; V89 tmp64 [V89,T49] ( 3, 12 ) ref -> rdi "argument with side effect"
; V90 tmp65 [V90,T63] ( 2, 8 ) ref -> rsi "argument with side effect"
; V91 tmp66 [V91,T50] ( 3, 12 ) ref -> rax "argument with side effect"
; V92 tmp67 [V92,T64] ( 2, 8 ) ref -> rsi "argument with side effect"
; V93 tmp68 [V93,T65] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V94 tmp69 [V94,T77] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V94 tmp69 [V94,T77] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V95 tmp70 [V95,T78] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V96 tmp71 [V96,T20] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V96 tmp71 [V96,T20] ( 3, 24 ) ref -> rax "argument with side effect"
; V97 tmp72 [V97,T40] ( 2, 16 ) ref -> rdx "argument with side effect"
; V98 PSPSym [V98,T79] ( 1, 1 ) long -> [rbp-0x70] do-not-enreg[V] "PSPSym"
;
; Lcl frame size = 72
G_M11796_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 72
lea rbp, [rsp+0x70]
mov qword ptr [rbp-0x70], rsp
- mov r15, rdi
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x38], rdi
mov rbx, rsi
- mov r13, rdx
- mov r14d, ecx
- ;; size=35 bbWeight=1 PerfScore 8.75
+ mov r14, rdx
+ mov r15d, ecx
+ ;; size=40 bbWeight=1 PerfScore 10.50
G_M11796_IG02:
- mov rsi, gword ptr [r15+0x70]
+ mov rsi, gword ptr [rdi+0x70]
lea rdi, bword ptr [rbx+0x70]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [r15+0x78]
+ mov rdi, gword ptr [rbp-0x38]
+ mov rsi, gword ptr [rdi+0x78]
lea rdi, bword ptr [rbx+0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [r15+0x80]
+ mov rdi, gword ptr [rbp-0x38]
+ mov rsi, gword ptr [rdi+0x80]
lea rdi, bword ptr [rbx+0x80]
call CORINFO_HELP_ASSIGN_REF
- movzx rdi, byte ptr [r15+0x1C4]
- mov byte ptr [rbx+0x1C4], dil
- mov rsi, gword ptr [r15+0x90]
+ mov rdi, gword ptr [rbp-0x38]
+ movzx rsi, byte ptr [rdi+0x1C4]
+ mov byte ptr [rbx+0x1C4], sil
+ mov rsi, gword ptr [rdi+0x90]
lea rdi, bword ptr [rbx+0x90]
call CORINFO_HELP_ASSIGN_REF
- movzx rdi, byte ptr [r15+0x1C5]
- mov byte ptr [rbx+0x1C5], dil
- mov rsi, gword ptr [r15+0x98]
+ mov rdi, gword ptr [rbp-0x38]
+ movzx rsi, byte ptr [rdi+0x1C5]
+ mov byte ptr [rbx+0x1C5], sil
+ mov rsi, gword ptr [rdi+0x98]
lea rdi, bword ptr [rbx+0x98]
call CORINFO_HELP_ASSIGN_REF
- mov edi, dword ptr [r15+0x1B0]
- mov dword ptr [rbx+0x1B0], edi
- mov rsi, gword ptr [r15+0xA0]
+ mov rdi, gword ptr [rbp-0x38]
+ mov esi, dword ptr [rdi+0x1B0]
+ mov dword ptr [rbx+0x1B0], esi
+ mov rsi, gword ptr [rdi+0xA0]
lea rdi, bword ptr [rbx+0xA0]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [r15+0xA8]
+ mov rdi, gword ptr [rbp-0x38]
+ mov rsi, gword ptr [rdi+0xA8]
lea rdi, bword ptr [rbx+0xA8]
call CORINFO_HELP_ASSIGN_REF
- movzx rdi, byte ptr [r15+0x1C6]
- mov byte ptr [rbx+0x1C6], dil
- movzx rdi, byte ptr [r15+0x1C7]
- mov byte ptr [rbx+0x1C7], dil
- mov rsi, gword ptr [r15+0x88]
+ mov rdi, gword ptr [rbp-0x38]
+ movzx rsi, byte ptr [rdi+0x1C6]
+ mov byte ptr [rbx+0x1C6], sil
+ movzx rsi, byte ptr [rdi+0x1C7]
+ mov byte ptr [rbx+0x1C7], sil
+ mov rsi, gword ptr [rdi+0x88]
lea rdi, bword ptr [rbx+0x88]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [r15+0xC8]
+ mov rdi, gword ptr [rbp-0x38]
+ mov rsi, gword ptr [rdi+0xC8]
lea rdi, bword ptr [rbx+0xC8]
- call CORINFO_HELP_ASSIGN_REF
- movzx rdi, byte ptr [r15+0x1C8]
- mov byte ptr [rbx+0x1C8], dil
- mov rdi, gword ptr [r15+0x50]
- mov esi, dword ptr [rdi+0x24]
- mov rdi, gword ptr [rbx+0x50]
- cmp esi, dword ptr [rdi+0x24]
- je SHORT G_M11796_IG04
- ;; size=263 bbWeight=1 PerfScore 59.50
+ ;; size=258 bbWeight=1 PerfScore 53.50
G_M11796_IG03:
+ call CORINFO_HELP_ASSIGN_REF
+ mov rdi, gword ptr [rbp-0x38]
+ movzx rsi, byte ptr [rdi+0x1C8]
+ mov byte ptr [rbx+0x1C8], sil
+ mov rsi, gword ptr [rdi+0x50]
+ mov esi, dword ptr [rsi+0x24]
+ mov rax, gword ptr [rbx+0x50]
+ cmp esi, dword ptr [rax+0x24]
+ je SHORT G_M11796_IG05
+ ;; size=40 bbWeight=1 PerfScore 15.00
+G_M11796_IG04:
mov rdi, gword ptr [rbx+0x50]
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:set_MinimumCapacity(int):this
cmp dword ptr [rdi], edi
call [rax]System.Data.RecordManager:set_MinimumCapacity(int):this
;; size=18 bbWeight=0.50 PerfScore 4.12
-G_M11796_IG04:
- mov esi, dword ptr [r15+0x1BC]
+G_M11796_IG05:
+ mov rdi, gword ptr [rbp-0x38]
+ mov esi, dword ptr [rdi+0x1BC]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_RemotingFormat(int):this
call [rax]System.Data.DataTable:set_RemotingFormat(int):this
- mov r12, gword ptr [r15+0x30]
- xor eax, eax
- mov dword ptr [rbp-0x2C], eax
- mov rdi, gword ptr [r12+0x10]
- mov rcx, qword ptr [rdi]
- mov rcx, qword ptr [rcx+0x40]
- call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this
+ mov rdi, gword ptr [rbp-0x38]
+ mov r13, gword ptr [rdi+0x30]
+ xor r12d, r12d
+ mov rax, gword ptr [r13+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
+ mov rax, qword ptr [rax+0x40]
+ call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle SHORT G_M11796_IG06
- ;; size=50 bbWeight=1 PerfScore 19.00
-G_M11796_IG05:
+ jle SHORT G_M11796_IG07
+ ;; size=57 bbWeight=1 PerfScore 20.25
+G_M11796_IG06:
mov rax, gword ptr [rbx+0x30]
mov gword ptr [rbp-0x48], rax
- mov rdi, r12
- mov esi, dword ptr [rbp-0x2C]
+ mov rdi, r13
+ mov esi, r12d
mov rcx, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
call [rcx]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:Clone():System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumn:Clone():System.Data.DataColumn:this
mov rdx, rax
mov rdi, gword ptr [rbp-0x48]
cmp byte ptr [rdi], dil
mov esi, -1
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
call [rax]System.Data.DataColumnCollection:AddAt(int,System.Data.DataColumn):this
- mov esi, dword ptr [rbp-0x2C]
- inc esi
- mov dword ptr [rbp-0x2C], esi
- mov rdi, gword ptr [r12+0x10]
- mov rax, qword ptr [rdi]
+ inc r12d
+ mov rax, gword ptr [r13+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- mov edi, dword ptr [rbp-0x2C]
- cmp eax, edi
- mov dword ptr [rbp-0x2C], edi
- jg SHORT G_M11796_IG05
- ;; size=103 bbWeight=4 PerfScore 145.00
-G_M11796_IG06:
- test r14b, r14b
- jne G_M11796_IG09
- ;; size=9 bbWeight=1 PerfScore 1.25
+ cmp eax, r12d
+ jg SHORT G_M11796_IG06
+ ;; size=95 bbWeight=4 PerfScore 127.00
G_M11796_IG07:
- test r13, r13
- jne G_M11796_IG09
- xor r14d, r14d
- mov rdi, gword ptr [r12+0x10]
+ test r15b, r15b
+ jne G_M11796_IG10
+ ;; size=9 bbWeight=1 PerfScore 1.25
+G_M11796_IG08:
+ test r14, r14
+ jne G_M11796_IG10
+ xor r15d, r15d
+ mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M11796_IG09
- ;; size=35 bbWeight=0.50 PerfScore 5.88
-G_M11796_IG08:
- mov r13, gword ptr [rbx+0x30]
- mov rdi, r12
- mov esi, r14d
+ jle G_M11796_IG10
+ ;; size=34 bbWeight=0.50 PerfScore 5.88
+G_M11796_IG09:
+ mov r14, gword ptr [rbx+0x30]
+ mov rdi, r13
+ mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
call [rax]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
mov rsi, gword ptr [rax+0x20]
- mov rdi, r13
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
- mov r13, rax
- mov rdi, r12
- mov esi, r14d
+ mov r14, rax
+ mov rdi, r13
+ mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
call [rax]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
mov rdi, rax
- cmp byte ptr [r13], r13b
+ cmp byte ptr [r14], r14b
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:get_Expression():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumn:get_Expression():System.String:this
mov rsi, rax
- mov rdi, r13
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_Expression(System.String):this
call [rax]System.Data.DataColumn:set_Expression(System.String):this
- inc r14d
- mov rdi, gword ptr [r12+0x10]
+ inc r15d
+ mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, r14d
- jg SHORT G_M11796_IG08
- ;; size=126 bbWeight=4 PerfScore 168.00
-G_M11796_IG09:
- mov rdi, r15
+ cmp eax, r15d
+ jg SHORT G_M11796_IG09
+ ;; size=124 bbWeight=4 PerfScore 168.00
+G_M11796_IG10:
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:get_PrimaryKey():System.Data.DataColumn[]:this
call [rax]System.Data.DataTable:get_PrimaryKey():System.Data.DataColumn[]:this
- mov r14, rax
- cmp dword ptr [r14+0x08], 0
- je SHORT G_M11796_IG14
- ;; size=25 bbWeight=1 PerfScore 7.75
-G_M11796_IG10:
- mov esi, dword ptr [r14+0x08]
+ mov r15, rax
+ cmp dword ptr [r15+0x08], 0
+ je SHORT G_M11796_IG15
+ ;; size=26 bbWeight=1 PerfScore 8.50
+G_M11796_IG11:
+ mov esi, dword ptr [r15+0x08]
mov rdi, 0xD1FFAB1E ; System.Data.DataColumn[]
call CORINFO_HELP_NEWARR_1_OBJ
- mov r13, rax
- xor r12d, r12d
- cmp dword ptr [r14+0x08], 0
- jle SHORT G_M11796_IG13
+ mov r14, rax
+ xor r13d, r13d
+ cmp dword ptr [r15+0x08], 0
+ jle SHORT G_M11796_IG14
;; size=32 bbWeight=0.50 PerfScore 3.88
-G_M11796_IG11:
- mov edi, dword ptr [r14+0x08]
- cmp edi, dword ptr [r13+0x08]
- jg G_M11796_IG22
- ;; size=14 bbWeight=0.25 PerfScore 1.50
G_M11796_IG12:
+ mov edi, dword ptr [r15+0x08]
+ cmp edi, dword ptr [r14+0x08]
+ jg G_M11796_IG23
+ ;; size=14 bbWeight=0.25 PerfScore 1.50
+G_M11796_IG13:
mov rdi, gword ptr [rbx+0x30]
- mov esi, r12d
- mov rsi, gword ptr [r14+8*rsi+0x10]
+ mov esi, r13d
+ mov rsi, gword ptr [r15+8*rsi+0x10]
mov esi, dword ptr [rsi+0xAC]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
- mov edi, r12d
- lea rdi, bword ptr [r13+8*rdi+0x10]
+ mov edi, r13d
+ lea rdi, bword ptr [r14+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- inc r12d
- cmp dword ptr [r14+0x08], r12d
- jg SHORT G_M11796_IG12
- ;; size=57 bbWeight=3.96 PerfScore 80.19
-G_M11796_IG13:
+ inc r13d
+ cmp dword ptr [r15+0x08], r13d
+ jg SHORT G_M11796_IG13
+ ;; size=57 bbWeight=3.96 PerfScore 76.23
+G_M11796_IG14:
mov rdi, rbx
- mov rsi, r13
+ mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:set_PrimaryKey(System.Data.DataColumn[]):this
call [rax]System.Data.DataTable:set_PrimaryKey(System.Data.DataColumn[]):this
;; size=18 bbWeight=0.50 PerfScore 1.88
-G_M11796_IG14:
- xor r13d, r13d
- jmp SHORT G_M11796_IG16
- ;; size=5 bbWeight=1 PerfScore 2.25
G_M11796_IG15:
- inc r13d
- ;; size=3 bbWeight=2 PerfScore 0.50
+ xor r12d, r12d
+ jmp SHORT G_M11796_IG17
+ ;; size=5 bbWeight=1 PerfScore 2.25
G_M11796_IG16:
- mov rdi, gword ptr [r15+0x38]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ inc r12d
+ ;; size=3 bbWeight=2 PerfScore 0.50
+G_M11796_IG17:
+ mov rdi, gword ptr [rbp-0x38]
+ mov rax, gword ptr [rdi+0x38]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, r13d
- jg G_M11796_IG23
- ;; size=27 bbWeight=8 PerfScore 98.00
-G_M11796_IG17:
- xor r13d, r13d
- jmp SHORT G_M11796_IG19
- ;; size=5 bbWeight=1 PerfScore 2.25
+ cmp eax, r12d
+ jg G_M11796_IG24
+ ;; size=34 bbWeight=8 PerfScore 108.00
G_M11796_IG18:
- inc r13d
- ;; size=3 bbWeight=2 PerfScore 0.50
+ xor r12d, r12d
+ jmp SHORT G_M11796_IG20
+ ;; size=5 bbWeight=1 PerfScore 2.25
G_M11796_IG19:
- mov rdi, gword ptr [r15+0x38]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+ inc r12d
+ ;; size=3 bbWeight=2 PerfScore 0.50
+G_M11796_IG20:
+ mov rdi, gword ptr [rbp-0x38]
+ mov rax, gword ptr [rdi+0x38]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, r13d
- jg G_M11796_IG35
- ;; size=27 bbWeight=8 PerfScore 98.00
-G_M11796_IG20:
- cmp gword ptr [r15+0x68], 0
- je G_M11796_IG48
- ;; size=11 bbWeight=1 PerfScore 4.00
+ cmp eax, r12d
+ jg G_M11796_IG36
+ ;; size=34 bbWeight=8 PerfScore 108.00
G_M11796_IG21:
- mov rdi, gword ptr [r15+0x68]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x38]
+ cmp gword ptr [rdi+0x68], 0
+ je G_M11796_IG50
+ ;; size=15 bbWeight=1 PerfScore 5.00
+G_M11796_IG22:
+ mov rax, gword ptr [rdi+0x68]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x50]
call [rax+0x28]System.Collections.Hashtable:get_Keys():System.Collections.ICollection:this
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
call [r11]System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x38], rax
- jmp G_M11796_IG43
- ;; size=39 bbWeight=0.50 PerfScore 7.75
-G_M11796_IG22:
+ mov gword ptr [rbp-0x40], rax
+ jmp G_M11796_IG45
+ ;; size=42 bbWeight=0.50 PerfScore 7.88
+G_M11796_IG23:
mov rdi, gword ptr [rbx+0x30]
- mov esi, r12d
- mov rsi, gword ptr [r14+8*rsi+0x10]
+ mov esi, r13d
+ mov rsi, gword ptr [r15+8*rsi+0x10]
mov esi, dword ptr [rsi+0xAC]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:get_Item(int):System.Data.DataColumn:this
- cmp r12d, dword ptr [r13+0x08]
- jae G_M11796_IG50
- mov edi, r12d
- lea rdi, bword ptr [r13+8*rdi+0x10]
+ cmp r13d, dword ptr [r14+0x08]
+ jae G_M11796_IG52
+ mov edi, r13d
+ lea rdi, bword ptr [r14+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- inc r12d
- cmp dword ptr [r14+0x08], r12d
- jg SHORT G_M11796_IG22
- jmp G_M11796_IG13
- ;; size=72 bbWeight=0.04 PerfScore 1.05
-G_M11796_IG23:
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ inc r13d
+ cmp dword ptr [r15+0x08], r13d
+ jg SHORT G_M11796_IG23
+ jmp G_M11796_IG14
+ ;; size=72 bbWeight=0.04 PerfScore 1.01
+G_M11796_IG24:
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.ForeignKeyConstraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- mov r14, rax
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ mov r15, rax
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.UniqueConstraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- test r14, r14
- je G_M11796_IG25
- mov rdi, r14
- mov rax, qword ptr [r14]
+ test r15, r15
+ je G_M11796_IG26
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x48]
call [rax]System.Data.Constraint:get_Table():System.Data.DataTable:this
- mov r12, rax
- mov rdi, r14
- mov rax, qword ptr [r14]
+ mov r14, rax
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Data.ForeignKeyConstraint:get_RelatedTable():System.Data.DataTable:this
- cmp r12, rax
- jne G_M11796_IG15
- mov rdi, r14
+ cmp r14, rax
+ jne G_M11796_IG16
+ mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.ForeignKeyConstraint:Clone(System.Data.DataTable):System.Data.ForeignKeyConstraint:this
call [rax]System.Data.ForeignKeyConstraint:Clone(System.Data.DataTable):System.Data.ForeignKeyConstraint:this
test rax, rax
- je G_M11796_IG15
+ je G_M11796_IG16
mov rdi, gword ptr [rbx+0x38]
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:FindConstraint(System.Data.Constraint):System.Data.Constraint:this
cmp dword ptr [rdi], edi
+ ;; size=195 bbWeight=2 PerfScore 109.00
+G_M11796_IG25:
call [rax]System.Data.ConstraintCollection:FindConstraint(System.Data.Constraint):System.Data.Constraint:this
- mov r14, rax
- test r14, r14
- je G_M11796_IG15
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ mov r15, rax
+ test r15, r15
+ je G_M11796_IG16
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Data.Constraint:get_ConstraintName():System.String:this
mov rsi, rax
- mov rdi, r14
- ;; size=241 bbWeight=2 PerfScore 146.50
-G_M11796_IG24:
- mov rax, qword ptr [r14]
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Data.Constraint:set_ConstraintName(System.String):this
- jmp G_M11796_IG15
- ;; size=15 bbWeight=2 PerfScore 18.00
-G_M11796_IG25:
+ jmp G_M11796_IG16
+ ;; size=73 bbWeight=2 PerfScore 61.50
+G_M11796_IG26:
test rax, rax
- je G_M11796_IG15
+ je G_M11796_IG16
mov rdi, rax
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.UniqueConstraint:Clone(System.Data.DataTable):System.Data.UniqueConstraint:this
call [rax]System.Data.UniqueConstraint:Clone(System.Data.DataTable):System.Data.UniqueConstraint:this
- mov r14, rax
- test r14, r14
- je G_M11796_IG15
+ mov r15, rax
+ test r15, r15
+ je G_M11796_IG16
mov rdi, gword ptr [rbx+0x38]
- mov rsi, r14
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:FindConstraint(System.Data.Constraint):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:FindConstraint(System.Data.Constraint):System.Data.Constraint:this
- mov r12, rax
- test r12, r12
- je G_M11796_IG15
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ mov r14, rax
+ test r14, r14
+ je G_M11796_IG16
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Data.Constraint:get_ConstraintName():System.String:this
mov rsi, rax
- mov rdi, r12
- mov rax, qword ptr [r12]
+ mov rdi, r14
+ mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Data.Constraint:set_ConstraintName(System.String):this
- mov rdi, gword ptr [r14+0x20]
+ mov rdi, gword ptr [r15+0x20]
test rdi, rdi
- jne SHORT G_M11796_IG26
+ jne SHORT G_M11796_IG28
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
- mov rdi, rax
- mov gword ptr [rbp-0x50], rdi
+ mov r13, rax
vmovss xmm0, dword ptr [reloc @RWD00]
+ mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
- lea rdi, bword ptr [r14+0x20]
- mov rsi, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [r15+0x20]
+ mov rsi, r13
+ ;; size=185 bbWeight=2 PerfScore 106.00
+G_M11796_IG27:
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x50]
- ;; size=193 bbWeight=2 PerfScore 111.00
-G_M11796_IG26:
+ mov rdi, r13
+ ;; size=8 bbWeight=2 PerfScore 2.50
+G_M11796_IG28:
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x28]System.Collections.Hashtable:get_Keys():System.Collections.ICollection:this
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
call [r11]System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x38], rax
+ mov gword ptr [rbp-0x40], rax
;; size=30 bbWeight=2 PerfScore 23.00
-G_M11796_IG27:
- mov rdi, gword ptr [rbp-0x38]
+G_M11796_IG29:
+ mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M11796_IG34
+ je G_M11796_IG35
;; size=25 bbWeight=2 PerfScore 11.00
-G_M11796_IG28:
- mov rdi, gword ptr [rbp-0x38]
+G_M11796_IG30:
+ mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov gword ptr [rbp-0x40], rax
- mov rcx, gword ptr [r12+0x20]
- test rcx, rcx
- je SHORT G_M11796_IG30
- ;; size=31 bbWeight=16 PerfScore 136.00
-G_M11796_IG29:
- mov rax, gword ptr [rbp-0x40]
- jmp SHORT G_M11796_IG31
- ;; size=6 bbWeight=8 PerfScore 24.00
-G_M11796_IG30:
+ mov r13, rax
+ mov rax, gword ptr [r14+0x20]
+ test rax, rax
+ jne SHORT G_M11796_IG32
+ ;; size=29 bbWeight=16 PerfScore 124.00
+G_M11796_IG31:
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
- mov rcx, rax
- mov gword ptr [rbp-0x60], rcx
+ mov gword ptr [rbp-0x58], rax
vmovss xmm0, dword ptr [reloc @RWD00]
- mov rdi, rcx
+ mov rdi, rax
xor esi, esi
- mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
- call [rax]System.Collections.Hashtable:.ctor(int,float):this
- lea rdi, bword ptr [r12+0x20]
- mov rsi, gword ptr [rbp-0x60]
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
+ call [rcx]System.Collections.Hashtable:.ctor(int,float):this
+ lea rdi, bword ptr [r14+0x20]
+ mov rsi, gword ptr [rbp-0x58]
call CORINFO_HELP_ASSIGN_REF
- mov rcx, gword ptr [rbp-0x60]
- mov gword ptr [rbp-0x58], rcx
- mov rax, gword ptr [rbp-0x40]
- mov rcx, gword ptr [rbp-0x58]
- ;; size=77 bbWeight=8 PerfScore 126.00
-G_M11796_IG31:
- mov rdi, gword ptr [r14+0x20]
+ mov rax, gword ptr [rbp-0x58]
+ mov gword ptr [rbp-0x50], rax
+ mov rax, gword ptr [rbp-0x50]
+ ;; size=69 bbWeight=8 PerfScore 116.00
+G_M11796_IG32:
+ mov rdi, gword ptr [r15+0x20]
test rdi, rdi
- mov gword ptr [rbp-0x58], rcx
- jne SHORT G_M11796_IG33
+ mov gword ptr [rbp-0x50], rax
+ jne SHORT G_M11796_IG34
;; size=13 bbWeight=16 PerfScore 68.00
-G_M11796_IG32:
+G_M11796_IG33:
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
mov rdi, rax
- mov gword ptr [rbp-0x68], rdi
+ mov gword ptr [rbp-0x60], rdi
vmovss xmm0, dword ptr [reloc @RWD00]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
- lea rdi, bword ptr [r14+0x20]
- mov rsi, gword ptr [rbp-0x68]
+ lea rdi, bword ptr [r15+0x20]
+ mov rsi, gword ptr [rbp-0x60]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x68]
- mov rax, gword ptr [rbp-0x40]
- ;; size=65 bbWeight=8 PerfScore 108.00
-G_M11796_IG33:
- mov rsi, rax
- mov rdx, qword ptr [rdi]
- mov rdx, qword ptr [rdx+0x48]
- call [rdx+0x20]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
+ mov rdi, gword ptr [rbp-0x60]
+ ;; size=61 bbWeight=8 PerfScore 100.00
+G_M11796_IG34:
+ mov rsi, r13
+ mov rcx, qword ptr [rdi]
+ mov rcx, qword ptr [rcx+0x48]
+ call [rcx+0x20]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov rdx, rax
- mov rsi, gword ptr [rbp-0x40]
- mov rdi, gword ptr [rbp-0x58]
+ mov rsi, r13
+ mov rdi, gword ptr [rbp-0x50]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x28]System.Collections.Hashtable:set_Item(System.Object,System.Object):this
- mov rdi, gword ptr [rbp-0x38]
+ 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_M11796_IG28
- ;; size=59 bbWeight=16 PerfScore 352.00
-G_M11796_IG34:
- mov rsi, gword ptr [rbp-0x38]
+ jne G_M11796_IG30
+ ;; size=58 bbWeight=16 PerfScore 340.00
+G_M11796_IG35:
+ 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 G_M11796_IG15
+ je G_M11796_IG16
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- jmp G_M11796_IG15
+ jmp G_M11796_IG16
;; size=56 bbWeight=2 PerfScore 22.50
-G_M11796_IG35:
- mov r14, gword ptr [rbx+0x38]
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+G_M11796_IG36:
+ mov r15, gword ptr [rbx+0x38]
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Data.Constraint:get_ConstraintName():System.String:this
- mov r12, rax
- cmp byte ptr [r14], r14b
- mov rdi, r14
- mov rsi, r12
+ mov r14, rax
+ cmp byte ptr [r15], r15b
+ mov rdi, r15
+ mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:InternalIndexOf(System.String):int:this
call [rax]System.Data.ConstraintCollection:InternalIndexOf(System.String):int:this
test eax, eax
- jge G_M11796_IG37
- ;; size=70 bbWeight=2 PerfScore 52.00
-G_M11796_IG36:
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ jge G_M11796_IG39
+ ;; size=74 bbWeight=2 PerfScore 54.00
+G_M11796_IG37:
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.ForeignKeyConstraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- mov r14, rax
- mov rdi, gword ptr [r15+0x38]
- mov esi, r13d
+ mov r15, rax
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x38]
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
cmp dword ptr [rdi], edi
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.UniqueConstraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- test r14, r14
- je G_M11796_IG42
- mov rdi, r14
- mov rax, qword ptr [r14]
+ test r15, r15
+ je G_M11796_IG44
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x48]
call [rax]System.Data.Constraint:get_Table():System.Data.DataTable:this
- mov r12, rax
- mov rdi, r14
- mov rax, qword ptr [r14]
+ mov r14, rax
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Data.ForeignKeyConstraint:get_RelatedTable():System.Data.DataTable:this
- cmp r12, rax
- jne G_M11796_IG18
- mov rdi, r14
+ cmp r14, rax
+ jne G_M11796_IG19
+ mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.ForeignKeyConstraint:Clone(System.Data.DataTable):System.Data.ForeignKeyConstraint:this
call [rax]System.Data.ForeignKeyConstraint:Clone(System.Data.DataTable):System.Data.ForeignKeyConstraint:this
test rax, rax
- je G_M11796_IG18
+ je G_M11796_IG19
mov rdi, gword ptr [rbx+0x38]
cmp byte ptr [rdi], dil
mov rsi, rax
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
+ ;; size=201 bbWeight=2 PerfScore 109.50
+G_M11796_IG38:
call [rax]System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
- jmp G_M11796_IG18
- ;; size=200 bbWeight=2 PerfScore 115.50
-G_M11796_IG37:
- mov rdi, gword ptr [r14+0x10]
+ jmp G_M11796_IG19
+ ;; size=7 bbWeight=2 PerfScore 10.00
+G_M11796_IG39:
+ mov rdi, gword ptr [r15+0x10]
mov esi, eax
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax+0x18]System.Collections.ArrayList:get_Item(int):System.Object:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.Constraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
mov rdi, rax
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Data.Constraint:get_ConstraintName():System.String:this
mov rsi, rax
- cmp r12, rsi
- jne SHORT G_M11796_IG38
- mov r14d, 1
- jmp SHORT G_M11796_IG41
+ cmp r14, rsi
+ jne SHORT G_M11796_IG40
+ mov r15d, 1
+ jmp SHORT G_M11796_IG43
;; size=70 bbWeight=2 PerfScore 48.00
-G_M11796_IG38:
- test r12, r12
- je SHORT G_M11796_IG39
+G_M11796_IG40:
+ test r14, r14
+ je SHORT G_M11796_IG41
test rsi, rsi
- je SHORT G_M11796_IG39
- mov edx, dword ptr [r12+0x08]
+ je SHORT G_M11796_IG41
+ mov edx, dword ptr [r14+0x08]
cmp edx, dword ptr [rsi+0x08]
- je SHORT G_M11796_IG40
- ;; size=20 bbWeight=2 PerfScore 17.00
-G_M11796_IG39:
- xor r14d, r14d
- jmp SHORT G_M11796_IG41
+ je SHORT G_M11796_IG42
+ ;; size=19 bbWeight=2 PerfScore 17.00
+G_M11796_IG41:
+ xor r15d, r15d
+ jmp SHORT G_M11796_IG43
;; size=5 bbWeight=2 PerfScore 4.50
-G_M11796_IG40:
- lea rdi, bword ptr [r12+0x0C]
- mov edx, dword ptr [r12+0x08]
+G_M11796_IG42:
+ lea rdi, bword ptr [r14+0x0C]
+ mov edx, dword ptr [r14+0x08]
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
- mov r14d, eax
- ;; size=31 bbWeight=2 PerfScore 13.00
-G_M11796_IG41:
- test r14d, r14d
- jne G_M11796_IG18
- jmp G_M11796_IG36
+ mov r15d, eax
+ ;; size=29 bbWeight=2 PerfScore 13.00
+G_M11796_IG43:
+ test r15d, r15d
+ jne G_M11796_IG19
+ jmp G_M11796_IG37
;; size=14 bbWeight=2 PerfScore 6.50
-G_M11796_IG42:
+G_M11796_IG44:
test rax, rax
- je G_M11796_IG18
- mov r14, gword ptr [rbx+0x38]
+ je G_M11796_IG19
+ mov r15, gword ptr [rbx+0x38]
mov rdi, rax
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.UniqueConstraint:Clone(System.Data.DataTable):System.Data.UniqueConstraint:this
call [rax]System.Data.UniqueConstraint:Clone(System.Data.DataTable):System.Data.UniqueConstraint:this
mov rsi, rax
- cmp byte ptr [r14], r14b
- mov rdi, r14
+ cmp byte ptr [r15], r15b
+ mov rdi, r15
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
call [rax]System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
- jmp G_M11796_IG18
+ jmp G_M11796_IG19
;; size=62 bbWeight=2 PerfScore 32.00
-G_M11796_IG43:
- mov rdi, gword ptr [rbp-0x38]
+G_M11796_IG45:
+ mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M11796_IG47
+ je G_M11796_IG49
;; size=25 bbWeight=0.50 PerfScore 2.75
-G_M11796_IG44:
- mov rdi, gword ptr [rbp-0x38]
+G_M11796_IG46:
+ mov rdi, gword ptr [rbp-0x40]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r14, rax
- mov r13, gword ptr [rbx+0x68]
- test r13, r13
- jne SHORT G_M11796_IG46
+ mov r15, rax
+ mov r14, gword ptr [rbx+0x68]
+ test r14, r14
+ jne SHORT G_M11796_IG48
;; size=29 bbWeight=4 PerfScore 31.00
-G_M11796_IG45:
+G_M11796_IG47:
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
vmovss xmm0, dword ptr [reloc @RWD00]
- mov rdi, r13
+ mov rdi, r14
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
lea rdi, bword ptr [rbx+0x68]
- mov rsi, r13
+ mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
;; size=55 bbWeight=2 PerfScore 20.00
-G_M11796_IG46:
- mov rdi, gword ptr [r15+0x68]
- mov rsi, r14
- mov rax, qword ptr [rdi]
+G_M11796_IG48:
+ mov rdi, gword ptr [rbp-0x38]
+ mov rax, gword ptr [rdi+0x68]
+ mov rdi, rax
+ mov rsi, r15
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x20]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov rdx, rax
- mov rsi, r14
- mov rdi, r13
- mov rax, qword ptr [r13]
+ mov rsi, r15
+ mov rdi, r14
+ mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x48]
call [rax+0x28]System.Collections.Hashtable:set_Item(System.Object,System.Object):this
- mov rdi, gword ptr [rbp-0x38]
+ 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_M11796_IG44
- ;; size=62 bbWeight=4 PerfScore 90.00
-G_M11796_IG47:
- mov rsi, gword ptr [rbp-0x38]
+ jne G_M11796_IG46
+ ;; size=68 bbWeight=4 PerfScore 95.00
+G_M11796_IG49:
+ 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_M11796_IG48
+ je SHORT G_M11796_IG50
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=47 bbWeight=0.50 PerfScore 4.62
-G_M11796_IG48:
+G_M11796_IG50:
+ mov rdi, gword ptr [rbp-0x38]
mov rax, rbx
- ;; size=3 bbWeight=1 PerfScore 0.25
-G_M11796_IG49:
+ ;; size=7 bbWeight=1 PerfScore 1.25
+G_M11796_IG51:
add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M11796_IG50:
+G_M11796_IG52:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M11796_IG51:
+G_M11796_IG53:
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+0x70]
;; size=22 bbWeight=0 PerfScore 0.00
-G_M11796_IG52:
- mov rsi, gword ptr [rbp-0x38]
+G_M11796_IG54:
+ 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_M11796_IG53
+ je SHORT G_M11796_IG55
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_M11796_IG53:
+G_M11796_IG55:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M11796_IG54:
+G_M11796_IG56:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M11796_IG55:
+G_M11796_IG57:
push rbp
push r15
push r14
push r13
push r12
push rbx
push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
lea rbp, [rbp+0x70]
;; size=22 bbWeight=0 PerfScore 0.00
-G_M11796_IG56:
- mov rsi, gword ptr [rbp-0x38]
+G_M11796_IG58:
+ 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_M11796_IG57
+ je SHORT G_M11796_IG59
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_M11796_IG57:
+G_M11796_IG59:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M11796_IG58:
+G_M11796_IG60:
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 3F800000h ; 1
-; Total bytes of code 2672, prolog size 35, PerfScore 2308.37, instruction count 640, allocated bytes for code 2672 (MethodHash=4a02d1eb) for method System.Data.DataTable:CloneTo(System.Data.DataTable,System.Data.DataSet,ubyte):System.Data.DataTable:this (FullOpts)
+; Total bytes of code 2740, prolog size 40, PerfScore 2269.74, instruction count 660, allocated bytes for code 2740 (MethodHash=4a02d1eb) for method System.Data.DataTable:CloneTo(System.Data.DataTable,System.Data.DataSet,ubyte):System.Data.DataTable:this (FullOpts)
68 (5.84 % of base) - System.Data.DataTable:set_TableName(System.String):this
; Assembly listing for method System.Data.DataTable:set_TableName(System.String):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 32 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T04] ( 25, 18 ) ref -> rbx this class-hnd single-def <System.Data.DataTable>
-; V01 arg1 [V01,T05] ( 17, 18 ) ref -> r15 class-hnd <System.String>
-; V02 loc0 [V02,T26] ( 3, 2 ) long -> [rbp-0x30] do-not-enreg[Z] EH-live
-; V03 loc1 [V03,T24] ( 3, 2.50) ref -> r14 class-hnd single-def <System.Globalization.CultureInfo>
-; V04 loc2 [V04,T11] ( 4, 5.50) ref -> r14 class-hnd single-def <System.Data.DataRelation[]>
-; V05 loc3 [V05,T12] ( 2, 4.50) ref -> r14 class-hnd <System.Data.DataRelation[]>
-; V06 loc4 [V06,T00] ( 10, 33 ) int -> r12
+; V00 this [V00,T04] ( 25, 18 ) ref -> [rbp-0x58] this class-hnd EH-live single-def <System.Data.DataTable>
+; V01 arg1 [V01,T05] ( 17, 18 ) ref -> rbx class-hnd <System.String>
+; V02 loc0 [V02,T26] ( 3, 2 ) long -> [rbp-0x38] do-not-enreg[Z] EH-live
+; V03 loc1 [V03,T24] ( 3, 2.50) ref -> r15 class-hnd single-def <System.Globalization.CultureInfo>
+; V04 loc2 [V04,T11] ( 4, 5.50) ref -> r15 class-hnd single-def <System.Data.DataRelation[]>
+; V05 loc3 [V05,T12] ( 2, 4.50) ref -> r15 class-hnd <System.Data.DataRelation[]>
+; V06 loc4 [V06,T00] ( 10, 33 ) int -> registers
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V08 tmp1 [V08,T13] ( 3, 5 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
-; V09 tmp2 [V09,T28] ( 2, 2 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.String>
+; V08 tmp1 [V08,T13] ( 3, 5 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+; V09 tmp2 [V09,T28] ( 2, 2 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.String>
;* V10 tmp3 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataTableCollection>
-; V11 tmp4 [V11,T01] ( 4, 32 ) ref -> [rbp-0x50] class-hnd spill-single-def "dup spill" <System.Data.DataRelation>
+; V11 tmp4 [V11,T01] ( 4, 32 ) ref -> [rbp-0x60] class-hnd spill-single-def "dup spill" <System.Data.DataRelation>
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataColumnCollection>
;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataTableCollection>
-; V14 tmp7 [V14,T27] ( 3, 2 ) long -> r12 "Inline return value spill temp"
-; V15 tmp8 [V15,T21] ( 2, 3 ) int -> r13 "Inlining Arg"
+; V14 tmp7 [V14,T27] ( 3, 2 ) long -> r13 "Inline return value spill temp"
+; V15 tmp8 [V15,T21] ( 2, 3 ) int -> r14 "Inlining Arg"
; V16 tmp9 [V16,T17] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Int32>
;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
-; V18 tmp11 [V18 ] ( 4, 2 ) struct (16) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.TwoObjects>
+; V18 tmp11 [V18 ] ( 4, 2 ) struct (16) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.TwoObjects>
;* V19 tmp12 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V20 tmp13 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[System.__Canon]>
;* V21 tmp14 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int32>
;* V22 tmp15 [V22 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
;* V23 tmp16 [V23 ] ( 0, 0 ) int -> zero-ref
;* V24 tmp17 [V24 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V25 tmp18 [V25,T15] ( 2, 4 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
-; V26 tmp19 [V26,T14] ( 5, 4.50) ref -> rdi
+; V25 tmp18 [V25,T15] ( 2, 4 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.String>
+; V26 tmp19 [V26,T14] ( 5, 4.50) ref -> rax
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V28 tmp21 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V29 tmp22 [V29 ] ( 0, 0 ) int -> zero-ref
;* V30 tmp23 [V30 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V31 tmp24 [V31,T29] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Globalization.CultureInfo>
-; V32 tmp25 [V32,T22] ( 5, 2.50) ref -> rdi
+; V31 tmp24 [V31,T29] ( 2, 2 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Globalization.CultureInfo>
+; V32 tmp25 [V32,T22] ( 5, 2.50) ref -> rax
;* V33 tmp26 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V36 tmp29 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
; V37 tmp30 [V37,T02] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Data.DataColumn]>
;* V38 tmp31 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V40 tmp33 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataSet>
; V42 tmp35 [V42,T18] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.PropertyChangedEventArgs>
;* V43 tmp36 [V43 ] ( 0, 0 ) int -> zero-ref
;* V44 tmp37 [V44 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V45 tmp38 [V45,T30] ( 2, 2 ) ref -> r13 class-hnd exact single-def "Inlining Arg" <System.String>
-; V46 tmp39 [V46,T23] ( 5, 2.50) ref -> rdi
+; V45 tmp38 [V45,T30] ( 2, 2 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.String>
+; V46 tmp39 [V46,T23] ( 5, 2.50) ref -> r15
; V47 tmp40 [V47,T19] ( 3, 3 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.PropertyChangedEventArgs>
-; V48 tmp41 [V48,T10] ( 6, 6 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
+; V48 tmp41 [V48,T10] ( 6, 6 ) ref -> rax class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
;* V49 tmp42 [V49 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
;* V50 tmp43 [V50 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V51 tmp44 [V51,T41] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP
;* V52 tmp45 [V52,T42] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
; V53 tmp46 [V53,T31] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V54 tmp47 [V54,T16] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V55 tmp48 [V55,T32] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
; V56 tmp49 [V56,T33] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V57 tmp50 [V57,T03] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V57 tmp50 [V57,T03] ( 3, 24 ) ref -> rax "argument with side effect"
; V58 tmp51 [V58,T34] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V59 tmp52 [V59,T35] ( 2, 2 ) ref -> r12 single-def "argument with side effect"
; V60 tmp53 [V60,T06] ( 2, 16 ) ref -> rdi "argument with side effect"
; V61 tmp54 [V61,T07] ( 2, 16 ) ref -> rdi "argument with side effect"
; V62 tmp55 [V62,T36] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V63 tmp56 [V63,T37] ( 2, 2 ) ref -> r13 single-def "argument with side effect"
-; V64 PSPSym [V64,T40] ( 1, 1 ) long -> [rbp-0x60] do-not-enreg[V] "PSPSym"
-; V65 cse0 [V65,T20] ( 3, 3 ) ref -> rdi "CSE #05: moderate"
+; V63 tmp56 [V63,T37] ( 2, 2 ) ref -> r14 single-def "argument with side effect"
+; V64 PSPSym [V64,T40] ( 1, 1 ) long -> [rbp-0x70] do-not-enreg[V] "PSPSym"
+; V65 cse0 [V65,T20] ( 3, 3 ) ref -> rax "CSE #05: moderate"
;* V66 cse1 [V66,T39] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: moderate"
-; V67 cse2 [V67,T08] ( 3, 12 ) long -> [rbp-0x48] spill-single-def "CSE #10: moderate"
-; V68 cse3 [V68,T09] ( 6, 10 ) int -> r13 "CSE #08: moderate"
+; V67 cse2 [V67,T08] ( 3, 12 ) long -> [rbp-0x50] spill-single-def "CSE #10: moderate"
+; V68 cse3 [V68,T09] ( 6, 10 ) int -> r14 "CSE #08: moderate"
; V69 cse4 [V69,T25] ( 4, 2 ) ref -> rax "CSE #06: conservative"
; V70 cse5 [V70,T38] ( 3, 1.50) ref -> rsi "CSE #11: conservative"
;
-; Lcl frame size = 56
+; Lcl frame size = 72
G_M27100_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 56
- lea rbp, [rsp+0x60]
+ sub rsp, 72
+ lea rbp, [rsp+0x70]
xor eax, eax
+ mov qword ptr [rbp-0x48], rax
mov qword ptr [rbp-0x40], rax
- mov qword ptr [rbp-0x38], rax
- mov qword ptr [rbp-0x60], rsp
- mov rbx, rdi
- mov r15, rsi
- ;; size=39 bbWeight=1 PerfScore 10.50
+ mov qword ptr [rbp-0x70], rsp
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x58], rdi
+ mov rbx, rsi
+ ;; size=44 bbWeight=1 PerfScore 12.25
G_M27100_IG02:
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
je G_M27100_IG26
;; size=19 bbWeight=1 PerfScore 4.25
G_M27100_IG03:
- mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- mov r14, rdi
- mov r13d, dword ptr [rbx+0x1C0]
- cmp byte ptr [r14], r14b
- cmp byte ptr [rdi+0x9D], 0
+ mov rax, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
+ mov rax, gword ptr [rax]
+ mov r15, rax
+ mov r14d, dword ptr [rdi+0x1C0]
+ cmp byte ptr [r15], r15b
+ cmp byte ptr [rax+0x9D], 0
jne SHORT G_M27100_IG05
;; size=35 bbWeight=1 PerfScore 11.50
G_M27100_IG04:
- xor r12d, r12d
+ xor r13d, r13d
jmp SHORT G_M27100_IG06
;; size=5 bbWeight=0.50 PerfScore 1.12
G_M27100_IG05:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
- mov dword ptr [rax+0x08], r13d
+ mov dword ptr [rax+0x08], r14d
vxorps xmm0, xmm0, xmm0
- vmovdqu xmmword ptr [rbp-0x40], xmm0
- mov gword ptr [rbp-0x40], rax
- mov gword ptr [rbp-0x38], r15
- lea rdx, bword ptr [rbp-0x40]
+ vmovdqu xmmword ptr [rbp-0x48], xmm0
+ mov gword ptr [rbp-0x48], rax
+ mov gword ptr [rbp-0x40], rbx
+ lea rdx, bword ptr [rbp-0x48]
mov ecx, 2
xor rdi, rdi
mov rsi, 0xD1FFAB1E ; '<ds.DataTable.set_TableName|API> {0}, value='{1}''
mov rax, 0xD1FFAB1E ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
call [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
mov rsi, rax
- mov rdi, r14
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
call [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
- mov r12, rax
+ mov r13, rax
;; size=90 bbWeight=0.50 PerfScore 7.04
G_M27100_IG06:
- mov qword ptr [rbp-0x30], r12
+ mov qword ptr [rbp-0x38], r13
;; size=4 bbWeight=1 PerfScore 1.00
G_M27100_IG07:
mov rax, 0xD1FFAB1E ; ''
- test r15, r15
- cmove r15, rax
- mov r14, gword ptr [rbx+0x90]
- mov r13, gword ptr [rbx+0x70]
- mov rdi, r14
- test rdi, rdi
+ test rbx, rbx
+ cmove rbx, rax
+ mov rdi, gword ptr [rbp-0x58]
+ mov r15, gword ptr [rdi+0x90]
+ mov r14, gword ptr [rdi+0x70]
+ mov rax, r15
+ test rax, rax
jne SHORT G_M27100_IG09
- ;; size=36 bbWeight=1 PerfScore 6.25
+ ;; size=40 bbWeight=1 PerfScore 7.25
G_M27100_IG08:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call [rax]System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
- mov rdi, rax
- ;; size=15 bbWeight=0.50 PerfScore 1.75
+ ;; size=12 bbWeight=0.50 PerfScore 1.62
G_M27100_IG09:
- mov rax, qword ptr [rdi]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x30]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this
mov rdi, rax
- mov rsi, r13
- mov rdx, r15
+ mov rsi, r14
+ mov rdx, rbx
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
test eax, eax
je G_M27100_IG15
- ;; size=46 bbWeight=1 PerfScore 15.50
+ ;; size=49 bbWeight=1 PerfScore 15.75
G_M27100_IG10:
- mov rax, gword ptr [rbx+0x18]
+ mov rdi, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rdi+0x18]
test rax, rax
je G_M27100_IG14
- cmp dword ptr [r15+0x08], 0
+ cmp dword ptr [rbx+0x08], 0
je G_M27100_IG23
- mov r14, gword ptr [rax+0x38]
- mov rdi, gword ptr [rax+0x50]
- test rdi, rdi
+ mov r15, gword ptr [rax+0x38]
+ mov rax, gword ptr [rax+0x50]
+ test rax, rax
jne SHORT G_M27100_IG11
mov rax, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call [rax]System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
- mov rdi, rax
- ;; size=52 bbWeight=0.50 PerfScore 8.00
+ ;; size=52 bbWeight=0.50 PerfScore 8.38
G_M27100_IG11:
- mov rax, qword ptr [rdi]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x30]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this
mov rdi, rax
- mov rsi, r15
- mov rdx, r14
+ mov rsi, rbx
+ mov rdx, r15
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
test eax, eax
jne SHORT G_M27100_IG12
- cmp byte ptr [rbx+0x1C4], 0
+ mov rdi, gword ptr [rbp-0x58]
+ cmp byte ptr [rdi+0x1C4], 0
je G_M27100_IG22
- ;; size=55 bbWeight=0.50 PerfScore 9.75
+ ;; size=62 bbWeight=0.50 PerfScore 10.38
G_M27100_IG12:
- mov r14, gword ptr [rbx+0x110]
- mov r13d, dword ptr [r14+0x08]
- test r13d, r13d
+ mov rdi, gword ptr [rbp-0x58]
+ mov r15, gword ptr [rdi+0x110]
+ mov r14d, dword ptr [r15+0x08]
+ test r14d, r14d
jne G_M27100_IG17
- mov rdi, gword ptr [rbx+0x18]
- mov r13, gword ptr [rdi+0x20]
- mov rdi, rbx
+ mov rax, gword ptr [rdi+0x18]
+ mov r14, gword ptr [rax+0x20]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:get_Namespace():System.String:this
call [rax]System.Data.DataTable:get_Namespace():System.String:this
mov rdx, rax
- mov rdi, r13
- mov rsi, r15
+ mov rdi, r14
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:RegisterName(System.String,System.String):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:RegisterName(System.String,System.String):this
- ;; size=66 bbWeight=0.50 PerfScore 9.88
+ ;; size=67 bbWeight=0.50 PerfScore 10.25
G_M27100_IG13:
- mov rsi, gword ptr [rbx+0x70]
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rdi+0x70]
cmp dword ptr [rsi+0x08], 0
je SHORT G_M27100_IG14
- mov rdi, gword ptr [rbx+0x18]
- mov rdi, gword ptr [rdi+0x20]
+ mov rax, gword ptr [rdi+0x18]
+ mov rdi, gword ptr [rax+0x20]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:UnregisterName(System.String):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:UnregisterName(System.String):this
- ;; size=32 bbWeight=0.50 PerfScore 8.12
+ ;; size=36 bbWeight=0.50 PerfScore 8.62
G_M27100_IG14:
mov rdi, 0xD1FFAB1E ; System.ComponentModel.PropertyChangedEventArgs
call CORINFO_HELP_NEWSFAST
mov rdi, 0xD1FFAB1E ; 'TableName'
mov gword ptr [rax+0x08], rdi
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0x58]
mov rsi, rax
- mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x18]System.Data.DataTable:OnPropertyChanging(System.ComponentModel.PropertyChangedEventArgs):this
- lea rdi, bword ptr [rbx+0x70]
- mov rsi, r15
+ mov rdi, gword ptr [rbp-0x58]
+ lea rdi, bword ptr [rdi+0x70]
+ mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
xor rax, rax
- mov gword ptr [rbx+0xB0], rax
+ mov rdi, gword ptr [rbp-0x58]
+ mov gword ptr [rdi+0xB0], rax
jmp G_M27100_IG24
- ;; size=71 bbWeight=0.50 PerfScore 7.50
+ ;; size=80 bbWeight=0.50 PerfScore 8.88
G_M27100_IG15:
- mov r13, gword ptr [rbx+0x70]
- mov rdi, r14
- test rdi, rdi
+ mov rdi, gword ptr [rbp-0x58]
+ mov r14, gword ptr [rdi+0x70]
+ test r15, r15
jne SHORT G_M27100_IG16
mov rax, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call [rax]System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
- mov rdi, rax
- ;; size=27 bbWeight=0.50 PerfScore 3.50
+ mov r15, rax
+ ;; size=28 bbWeight=0.50 PerfScore 3.88
G_M27100_IG16:
- mov rax, qword ptr [rdi]
+ mov rdi, r15
+ mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x48]
call [rax+0x30]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this
mov rdi, rax
- mov rsi, r13
- mov rdx, r15
+ mov rsi, r14
+ mov rdx, rbx
xor ecx, ecx
mov rax, 0xD1FFAB1E ; code for System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.CompareInfo:Compare(System.String,System.String,int):int:this
test eax, eax
je G_M27100_IG24
mov rdi, 0xD1FFAB1E ; System.ComponentModel.PropertyChangedEventArgs
call CORINFO_HELP_NEWSFAST
mov rdi, 0xD1FFAB1E ; 'TableName'
mov gword ptr [rax+0x08], rdi
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0x58]
mov rsi, rax
- mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x18]System.Data.DataTable:OnPropertyChanging(System.ComponentModel.PropertyChangedEventArgs):this
- lea rdi, bword ptr [rbx+0x70]
- mov rsi, r15
+ mov rdi, gword ptr [rbp-0x58]
+ lea rdi, bword ptr [rdi+0x70]
+ mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
- mov gword ptr [rbx+0xB0], rdi
+ mov r15, gword ptr [rbp-0x58]
+ mov gword ptr [r15+0xB0], rdi
jmp G_M27100_IG24
- ;; size=114 bbWeight=0.50 PerfScore 15.25
+ ;; size=126 bbWeight=0.50 PerfScore 16.75
G_M27100_IG17:
- xor r12d, r12d
- test r13d, r13d
+ xor r13d, r13d
+ test r14d, r14d
jle SHORT G_M27100_IG19
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M27100_IG18:
- mov edi, r12d
- mov rdi, gword ptr [r14+8*rdi+0x10]
- mov rax, qword ptr [rdi]
+ mov eax, r13d
+ mov rax, gword ptr [r15+8*rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
mov rdi, gword ptr [rax+0x30]
mov rdi, gword ptr [rdi+0x20]
cmp byte ptr [rdi], dil
- mov rsi, r15
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
test rax, rax
jne G_M27100_IG21
- inc r12d
- cmp r13d, r12d
+ inc r13d
+ cmp r14d, r13d
jg SHORT G_M27100_IG18
- ;; size=60 bbWeight=4 PerfScore 90.00
+ ;; size=63 bbWeight=4 PerfScore 91.00
G_M27100_IG19:
- mov rdi, gword ptr [rbx+0x18]
+ mov r13, gword ptr [rbp-0x58]
+ mov rdi, gword ptr [r13+0x18]
mov r12, gword ptr [rdi+0x20]
- mov rdi, rbx
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:get_Namespace():System.String:this
call [rax]System.Data.DataTable:get_Namespace():System.String:this
mov rdx, rax
mov rdi, r12
- mov rsi, r15
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:RegisterName(System.String,System.String):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:RegisterName(System.String,System.String):this
+ xor edi, edi
xor r12d, r12d
- test r13d, r13d
+ test r14d, r14d
jle G_M27100_IG13
- ;; size=58 bbWeight=0.50 PerfScore 8.00
+ ;; size=64 bbWeight=0.50 PerfScore 8.62
G_M27100_IG20:
+ mov r13, gword ptr [rbp-0x58]
mov edi, r12d
- mov rax, gword ptr [r14+8*rdi+0x10]
- mov gword ptr [rbp-0x50], rax
+ mov rax, gword ptr [r15+8*rdi+0x10]
+ mov gword ptr [rbp-0x60], rax
mov rdi, rax
mov rcx, qword ptr [rax]
mov rcx, qword ptr [rcx+0x48]
- mov qword ptr [rbp-0x48], rcx
+ mov qword ptr [rbp-0x50], rcx
call [rcx]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
mov rdi, gword ptr [rax+0x30]
- mov rsi, r15
+ mov rsi, rbx
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:RegisterColumnName(System.String,System.Data.DataColumn):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:RegisterColumnName(System.String,System.Data.DataColumn):this
- mov rdi, gword ptr [rbp-0x50]
- mov rcx, qword ptr [rbp-0x48]
+ mov rdi, gword ptr [rbp-0x60]
+ mov rcx, qword ptr [rbp-0x50]
call [rcx]System.Data.DataRelation:get_ParentTable():System.Data.DataTable:this
mov rdi, gword ptr [rax+0x30]
- mov rsi, gword ptr [rbx+0x70]
+ mov rsi, gword ptr [r13+0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:UnregisterName(System.String):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:UnregisterName(System.String):this
inc r12d
- cmp r13d, r12d
+ cmp r14d, r12d
jg SHORT G_M27100_IG20
jmp G_M27100_IG13
- ;; size=96 bbWeight=4 PerfScore 156.00
+ ;; size=100 bbWeight=4 PerfScore 160.00
G_M27100_IG21:
- mov rdi, r15
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:CannotAddDuplicate2(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:CannotAddDuplicate2(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=24 bbWeight=0 PerfScore 0.00
G_M27100_IG22:
- mov rdi, gword ptr [rbx+0x18]
+ mov r15, gword ptr [rbp-0x58]
+ mov rdi, gword ptr [r15+0x18]
mov rdi, gword ptr [rdi+0x38]
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:DatasetConflictingName(System.String):System.Exception
call [rax]System.Data.ExceptionBuilder:DatasetConflictingName(System.String):System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=29 bbWeight=0 PerfScore 0.00
+ ;; size=33 bbWeight=0 PerfScore 0.00
G_M27100_IG23:
mov rax, 0xD1FFAB1E ; code for System.Data.ExceptionBuilder:NoTableName():System.Exception
call [rax]System.Data.ExceptionBuilder:NoTableName():System.Exception
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=21 bbWeight=0 PerfScore 0.00
G_M27100_IG24:
- mov rdi, 0xD1FFAB1E ; static handle
- mov rdi, gword ptr [rdi]
- cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, 0xD1FFAB1E ; static handle
+ mov rax, gword ptr [rdx]
+ cmp byte ptr [rax], al
+ mov rdi, rax
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
- ;; size=38 bbWeight=1 PerfScore 10.00
+ ;; size=40 bbWeight=1 PerfScore 10.25
G_M27100_IG25:
- add rsp, 56
+ add rsp, 72
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
G_M27100_IG26:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x58]
jmp G_M27100_IG03
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M27100_IG27:
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]
+ lea rbp, [rbp+0x70]
;; size=22 bbWeight=0 PerfScore 0.00
G_M27100_IG28:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rax, gword ptr [rdi]
+ cmp byte ptr [rax], al
+ mov rdi, rax
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
- ;; size=53 bbWeight=0 PerfScore 0.00
+ ;; size=55 bbWeight=0 PerfScore 0.00
G_M27100_IG29:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1165, prolog size 39, PerfScore 389.92, instruction count 290, allocated bytes for code 1165 (MethodHash=f7779623) for method System.Data.DataTable:set_TableName(System.String):this (FullOpts)
+; Total bytes of code 1233, prolog size 44, PerfScore 403.79, instruction count 308, allocated bytes for code 1233 (MethodHash=f7779623) for method System.Data.DataTable:set_TableName(System.String):this (FullOpts)
65 (2.92 % of base) - System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this
; Assembly listing for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 50 single block inlinees; 11 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 22, 22 ) ref -> rbx this class-hnd single-def <System.Net.Security.SslStream>
-; V01 arg1 [V01,T19] ( 6, 6 ) ref -> r12 class-hnd single-def <System.Net.Security.RemoteCertificateValidationCallback>
-; V02 arg2 [V02,T18] ( 7, 7 ) ref -> r13 class-hnd single-def <System.Net.Security.SslCertificateTrust>
-; V03 arg3 [V03,T34] ( 3, 3 ) byref -> [rbp-0x50] single-def
-; V04 arg4 [V04,T11] ( 13, 13 ) byref -> r14 single-def
-; V05 arg5 [V05,T07] ( 5, 19 ) byref -> r15 single-def
-; V06 loc0 [V06,T33] ( 5, 5 ) ubyte -> r13
-; V07 loc1 [V07 ] ( 25, 39 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Security.Cryptography.X509Certificates.X509Chain>
-; V08 loc2 [V08,T15] ( 9, 9 ) ref -> [rbp-0x58] class-hnd spill-single-def <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V00 this [V00,T06] ( 22, 22 ) ref -> [rbp-0x58] this class-hnd EH-live single-def <System.Net.Security.SslStream>
+; V01 arg1 [V01,T19] ( 6, 6 ) ref -> r13 class-hnd single-def <System.Net.Security.RemoteCertificateValidationCallback>
+; V02 arg2 [V02,T18] ( 7, 7 ) ref -> r14 class-hnd single-def <System.Net.Security.SslCertificateTrust>
+; V03 arg3 [V03,T34] ( 3, 3 ) byref -> r12 single-def
+; V04 arg4 [V04,T11] ( 13, 13 ) byref -> r15 single-def
+; V05 arg5 [V05,T07] ( 5, 19 ) byref -> rbx single-def
+; V06 loc0 [V06,T33] ( 5, 5 ) ubyte -> r14
+; V07 loc1 [V07 ] ( 25, 39 ) ref -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Security.Cryptography.X509Certificates.X509Chain>
+; V08 loc2 [V08,T15] ( 9, 9 ) ref -> [rbp-0x60] class-hnd spill-single-def <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V09 loc3 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlyMemory`1[ubyte]>
-; V10 loc4 [V10,T78] ( 2, 2 ) ubyte -> [rbp-0x34] do-not-enreg[Z] EH-live
+; V10 loc4 [V10,T78] ( 2, 2 ) ubyte -> [rbp-0x3C] do-not-enreg[Z] EH-live
; V11 loc5 [V11,T13] ( 3, 10 ) ref -> rax class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509ChainStatus[]>
;* V12 loc6 [V12,T83] ( 0, 0 ) int -> zero-ref
;* V13 loc7 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
; V14 loc8 [V14,T08] ( 6, 20 ) int -> rbx
; V15 loc9 [V15,T00] ( 10, 66 ) int -> r15
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V17 tmp1 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
;* V18 tmp2 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
-; V19 tmp3 [V19,T63] ( 2, 4 ) int -> r13 "impAppendStmt"
+; V19 tmp3 [V19,T63] ( 2, 4 ) int -> r14 "impAppendStmt"
;* V20 tmp4 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Net.Security.SafeDeleteSslContext>
-; V21 tmp5 [V21,T38] ( 2, 4 ) ref -> [rbp-0x60] class-hnd spill-single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
+; V21 tmp5 [V21,T38] ( 2, 4 ) ref -> [rbp-0x68] class-hnd spill-single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
;* V22 tmp6 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Certificate2>
;* V23 tmp7 [V23 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V24 tmp8 [V24 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V25 tmp9 [V25 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V26 tmp10 [V26,T25] ( 3, 6 ) ref -> r12 class-hnd exact single-def "dup spill" <System.Object[]>
+; V26 tmp10 [V26,T25] ( 3, 6 ) ref -> r13 class-hnd exact single-def "dup spill" <System.Object[]>
; V27 tmp11 [V27,T39] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" <System.Security.Cryptography.X509Certificates.X509Certificate2>
; V28 tmp12 [V28,T40] ( 2, 4 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.Security.Cryptography.OidCollection>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref single-def
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref
; V31 tmp15 [V31,T69] ( 2, 2 ) ref -> rsi
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-; V33 tmp17 [V33,T26] ( 3, 6 ) ref -> rdi class-hnd single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
-; V34 tmp18 [V34,T27] ( 3, 6 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
+; V33 tmp17 [V33,T26] ( 3, 6 ) ref -> rax class-hnd single-def "impAppendStmt" <System.Security.Cryptography.X509Certificates.X509Chain>
+; V34 tmp18 [V34,T27] ( 3, 6 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Chain>
;* V35 tmp19 [V35 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ubyte]>
;* V36 tmp20 [V36 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V37 tmp21 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V38 tmp22 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
;* V39 tmp23 [V39 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
; V40 tmp24 [V40,T41] ( 2, 4 ) ref -> rdi class-hnd single-def "dup spill" <ubyte[]>
; V41 tmp25 [V41,T31] ( 5, 5 ) ref -> rdi
-; V42 tmp26 [V42,T28] ( 3, 6 ) ref -> [rbp-0x70] class-hnd spill-single-def "dup spill" <ubyte[]>
+; V42 tmp26 [V42,T28] ( 3, 6 ) ref -> [rbp-0x78] class-hnd spill-single-def "dup spill" <ubyte[]>
;* V43 tmp27 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V44 tmp28 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
-; V45 tmp29 [V45,T21] ( 6, 6 ) byref -> [rbp-0x78] "Inline stloc first use temp"
-; V46 tmp30 [V46,T24] ( 6, 6 ) int -> [rbp-0x38] "Inline stloc first use temp"
+; V45 tmp29 [V45,T21] ( 6, 6 ) byref -> [rbp-0x80] "Inline stloc first use temp"
+; V46 tmp30 [V46,T24] ( 6, 6 ) int -> [rbp-0x40] "Inline stloc first use temp"
;* V47 tmp31 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V48 tmp32 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V49 tmp33 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V50 tmp34 [V50 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V51 tmp35 [V51 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V52 tmp36 [V52 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V53 tmp37 [V53 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V54 tmp38 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V56 tmp40 [V56,T42] ( 2, 4 ) byref -> rdx single-def "Inlining Arg"
;* V57 tmp41 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V58 tmp42 [V58 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlyMemory`1[ubyte]>
-; V59 tmp43 [V59,T12] ( 6, 12 ) ref -> [rbp-0x80] class-hnd spill-single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
+; V59 tmp43 [V59,T12] ( 6, 12 ) ref -> [rbp-0x88] class-hnd spill-single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
; V60 tmp44 [V60,T43] ( 2, 4 ) ref -> rdi class-hnd single-def "dup spill" <ubyte[]>
; V61 tmp45 [V61,T32] ( 5, 5 ) ref -> rdi
-; V62 tmp46 [V62,T29] ( 3, 6 ) ref -> [rbp-0x88] class-hnd spill-single-def "dup spill" <ubyte[]>
+; V62 tmp46 [V62,T29] ( 3, 6 ) ref -> [rbp-0x90] class-hnd spill-single-def "dup spill" <ubyte[]>
;* V63 tmp47 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V64 tmp48 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlyMemory`1[ubyte]>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
; V66 tmp50 [V66,T22] ( 6, 6 ) byref -> rsi "Inline stloc first use temp"
; V67 tmp51 [V67,T20] ( 7, 7 ) int -> rcx "Inline stloc first use temp"
;* V68 tmp52 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V69 tmp53 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V70 tmp54 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V71 tmp55 [V71 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V72 tmp56 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V73 tmp57 [V73 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V74 tmp58 [V74 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V75 tmp59 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V76 tmp60 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V77 tmp61 [V77,T44] ( 2, 4 ) byref -> rsi single-def "Inlining Arg"
;* V78 tmp62 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V79 tmp63 [V79,T68] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
;* V80 tmp64 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V81 tmp65 [V81 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V83 tmp67 [V83 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V84 tmp68 [V84 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V85 tmp69 [V85 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
;* V86 tmp70 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V87 tmp71 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V88 tmp72 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V90 tmp74 [V90 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V91 tmp75 [V91 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
-; V92 tmp76 [V92,T45] ( 2, 4 ) ref -> r13 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
-; V93 tmp77 [V93,T46] ( 2, 4 ) ref -> [rbp-0x90] class-hnd spill-single-def "Inlining Arg" <System.FormattableString>
-; V94 tmp78 [V94,T47] ( 2, 4 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "non-inline candidate call" <System.String>
+; V92 tmp76 [V92,T45] ( 2, 4 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
+; V93 tmp77 [V93,T46] ( 2, 4 ) ref -> [rbp-0x98] class-hnd spill-single-def "Inlining Arg" <System.FormattableString>
+; V94 tmp78 [V94,T47] ( 2, 4 ) ref -> [rbp-0xA0] class-hnd exact spill-single-def "non-inline candidate call" <System.String>
;* V95 tmp79 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
; V96 tmp80 [V96,T70] ( 2, 2 ) ref -> rdi single-def
;* V97 tmp81 [V97,T84] ( 0, 0 ) int -> zero-ref
; V98 tmp82 [V98,T71] ( 2, 2 ) ref -> rdx single-def
;* V99 tmp83 [V99,T81] ( 0, 0 ) ref -> zero-ref single-def
; V100 tmp84 [V100,T48] ( 2, 4 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.String>
; V101 tmp85 [V101,T49] ( 2, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <System.Object>
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V103 tmp87 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
; V104 tmp88 [V104,T50] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
;* V105 tmp89 [V105 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.OidCollection>
; V107 tmp91 [V107,T51] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V108 tmp92 [V108 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V109 tmp93 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V110 tmp94 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V111 tmp95 [V111 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V112 tmp96 [V112 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V113 tmp97 [V113 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V114 tmp98 [V114 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Security.SslAuthenticationOptions>
;* V115 tmp99 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V116 tmp100 [V116 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V117 tmp101 [V117,T30] ( 3, 6 ) ref -> r12 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V118 tmp102 [V118,T72] ( 2, 2 ) ref -> [rbp-0xA0] spill-single-def
-; V119 tmp103 [V119,T73] ( 2, 2 ) ref -> [rbp-0xA8] spill-single-def
+; V117 tmp101 [V117,T30] ( 3, 6 ) ref -> r13 class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V118 tmp102 [V118,T72] ( 2, 2 ) ref -> [rbp-0xA8] spill-single-def
+; V119 tmp103 [V119,T73] ( 2, 2 ) ref -> [rbp-0xB0] spill-single-def
;* V120 tmp104 [V120 ] ( 0, 0 ) ref -> zero-ref single-def
;* V121 tmp105 [V121 ] ( 0, 0 ) ref -> zero-ref single-def
;* V122 tmp106 [V122 ] ( 0, 0 ) ref -> zero-ref single-def
;* V123 tmp107 [V123 ] ( 0, 0 ) ref -> zero-ref single-def
; V124 tmp108 [V124,T66] ( 3, 3 ) ref -> r8
; V125 tmp109 [V125,T74] ( 2, 2 ) ref -> rdi single-def
;* V126 tmp110 [V126,T85] ( 0, 0 ) int -> zero-ref
; V127 tmp111 [V127,T75] ( 2, 2 ) ref -> rdx single-def
;* V128 tmp112 [V128,T82] ( 0, 0 ) ref -> zero-ref single-def
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
;* V130 tmp114 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElement>
;* V131 tmp115 [V131 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Certificate2>
-; V132 tmp116 [V132,T09] ( 8, 16 ) ref -> r14 class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Chain>
+; V132 tmp116 [V132,T09] ( 8, 16 ) ref -> r12 class-hnd "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509Chain>
;* V133 tmp117 [V133 ] ( 0, 0 ) ref -> zero-ref "field V09._object (fldOffset=0x0)" P-INDEP
;* V134 tmp118 [V134 ] ( 0, 0 ) int -> zero-ref "field V09._index (fldOffset=0x8)" P-INDEP
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0xc)" P-INDEP
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "field V13._statusInformation (fldOffset=0x0)" P-INDEP
; V137 tmp121 [V137,T10] ( 2, 16 ) int -> rdx "field V13.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
;* V138 tmp122 [V138 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
;* V139 tmp123 [V139 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
;* V140 tmp124 [V140 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp125 [V141 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
;* V142 tmp126 [V142 ] ( 0, 0 ) ref -> zero-ref "field V39._object (fldOffset=0x0)" P-INDEP
;* V143 tmp127 [V143 ] ( 0, 0 ) int -> zero-ref "field V39._index (fldOffset=0x8)" P-INDEP
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0xc)" P-INDEP
; V145 tmp129 [V145,T16] ( 9, 9 ) ref -> rdi "field V44._object (fldOffset=0x0)" P-INDEP
;* V146 tmp130 [V146 ] ( 0, 0 ) int -> zero-ref "field V44._index (fldOffset=0x8)" P-INDEP
-; V147 tmp131 [V147,T36] ( 4, 4 ) int -> [rbp-0x3C] "field V44._length (fldOffset=0xc)" P-INDEP
+; V147 tmp131 [V147,T36] ( 4, 4 ) int -> [rbp-0x44] "field V44._length (fldOffset=0xc)" P-INDEP
;* V148 tmp132 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
;* V149 tmp133 [V149 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
;* V150 tmp134 [V150 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-DEP
;* V151 tmp135 [V151 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-DEP
; V152 tmp136 [V152,T76] ( 2, 2 ) byref -> rax "field V51._reference (fldOffset=0x0)" P-INDEP
; V153 tmp137 [V153,T79] ( 2, 2 ) int -> rsi "field V51._length (fldOffset=0x8)" P-INDEP
;* V154 tmp138 [V154 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
;* V155 tmp139 [V155 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
;* V156 tmp140 [V156 ] ( 0, 0 ) ref -> zero-ref "field V58._object (fldOffset=0x0)" P-INDEP
;* V157 tmp141 [V157 ] ( 0, 0 ) int -> zero-ref "field V58._index (fldOffset=0x8)" P-INDEP
;* V158 tmp142 [V158 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0xc)" P-INDEP
; V159 tmp143 [V159,T17] ( 9, 9 ) ref -> rdi "field V64._object (fldOffset=0x0)" P-INDEP
;* V160 tmp144 [V160 ] ( 0, 0 ) int -> zero-ref "field V64._index (fldOffset=0x8)" P-INDEP
-; V161 tmp145 [V161,T37] ( 4, 4 ) int -> [rbp-0x40] "field V64._length (fldOffset=0xc)" P-INDEP
+; V161 tmp145 [V161,T37] ( 4, 4 ) int -> [rbp-0x48] "field V64._length (fldOffset=0xc)" P-INDEP
;* V162 tmp146 [V162 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
;* V163 tmp147 [V163 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
;* V164 tmp148 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
;* V165 tmp149 [V165 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
;* V166 tmp150 [V166 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-DEP
;* V167 tmp151 [V167 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-DEP
; V168 tmp152 [V168,T77] ( 2, 2 ) byref -> rsi "field V72._reference (fldOffset=0x0)" P-INDEP
; V169 tmp153 [V169,T80] ( 2, 2 ) int -> rcx "field V72._length (fldOffset=0x8)" P-INDEP
;* V170 tmp154 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
;* V171 tmp155 [V171 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
;* V172 tmp156 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
;* V173 tmp157 [V173 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
;* V174 tmp158 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
;* V175 tmp159 [V175 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
;* V176 tmp160 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
;* V177 tmp161 [V177 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
;* V178 tmp162 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
;* V179 tmp163 [V179 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
;* V180 tmp164 [V180 ] ( 0, 0 ) byref -> zero-ref "field V88._reference (fldOffset=0x0)" P-INDEP
;* V181 tmp165 [V181 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
;* V182 tmp166 [V182 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
;* V183 tmp167 [V183 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
; V184 tmp168 [V184,T52] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V185 tmp169 [V185,T53] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V186 tmp170 [V186,T54] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V187 tmp171 [V187,T55] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V188 tmp172 [V188,T56] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V189 tmp173 [V189,T57] ( 2, 4 ) ref -> [rbp-0xB0] spill-single-def "argument with side effect"
+; V189 tmp173 [V189,T57] ( 2, 4 ) ref -> [rbp-0xB8] spill-single-def "argument with side effect"
; V190 tmp174 [V190,T58] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V191 tmp175 [V191,T59] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V192 tmp176 [V192,T60] ( 2, 4 ) ref -> r8 single-def "argument with side effect"
-; V193 tmp177 [V193,T61] ( 2, 4 ) ref -> [rbp-0xB8] spill-single-def "argument with side effect"
-; V194 tmp178 [V194,T64] ( 2, 4 ) int -> [rbp-0x44] spill-single-def "argument with side effect"
-; V195 tmp179 [V195,T65] ( 2, 4 ) int -> [rbp-0x48] spill-single-def "argument with side effect"
+; V193 tmp177 [V193,T61] ( 2, 4 ) ref -> [rbp-0xC0] spill-single-def "argument with side effect"
+; V194 tmp178 [V194,T64] ( 2, 4 ) int -> [rbp-0x4C] spill-single-def "argument with side effect"
+; V195 tmp179 [V195,T65] ( 2, 4 ) int -> [rbp-0x50] spill-single-def "argument with side effect"
; V196 tmp180 [V196,T62] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V197 tmp181 [V197,T04] ( 2, 32 ) ref -> rdi "argument with side effect"
; V198 tmp182 [V198,T01] ( 3, 48 ) ref -> rdi "argument with side effect"
; V199 tmp183 [V199,T05] ( 2, 32 ) ref -> rdi "argument with side effect"
; V200 tmp184 [V200,T02] ( 3, 48 ) ref -> rdi "argument with side effect"
; V201 PSPSym [V201,T86] ( 1, 1 ) long -> [rbp-0xD0] do-not-enreg[V] "PSPSym"
; V202 cse0 [V202,T67] ( 3, 3 ) ref -> rsi "CSE #03: conservative"
-; V203 cse1 [V203,T23] ( 6, 6 ) ref -> [rbp-0xC0] multi-def "CSE #01: conservative"
+; V203 cse1 [V203,T23] ( 6, 6 ) ref -> [rbp-0xC8] multi-def "CSE #01: conservative"
; V204 cse2 [V204,T35] ( 4, 4 ) ref -> rdi "CSE #04: conservative"
; V205 cse3 [V205,T14] ( 3, 10 ) int -> rcx "CSE #07: moderate"
; V206 rat0 [V206,T03] ( 5, 33 ) long -> rdi "Widened IV V12"
;
; Lcl frame size = 168
G_M4728_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 168
lea rbp, [rsp+0xD0]
xor eax, eax
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], rax
mov qword ptr [rbp-0xD0], rsp
- mov bword ptr [rbp-0x50], rcx
- mov rbx, rdi
- mov r12, rsi
- mov r13, rdx
- mov r14, r8
- mov r15, r9
- ;; size=57 bbWeight=1 PerfScore 11.25
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x58], rdi
+ mov r13, rsi
+ mov r14, rdx
+ mov r12, rcx
+ mov r15, r8
+ mov rbx, r9
+ ;; size=61 bbWeight=1 PerfScore 12.25
G_M4728_IG02:
xor ecx, ecx
- mov dword ptr [r14], ecx
+ mov dword ptr [r15], ecx
;; size=5 bbWeight=1 PerfScore 1.25
G_M4728_IG03:
- mov dword ptr [r15], ecx
- ;; size=3 bbWeight=1 PerfScore 1.00
+ mov dword ptr [rbx], ecx
+ ;; size=2 bbWeight=1 PerfScore 1.00
G_M4728_IG04:
- mov rcx, gword ptr [rbx+0x38]
+ mov rcx, gword ptr [rdi+0x38]
mov rcx, gword ptr [rcx+0x58]
- mov rdi, gword ptr [rbx+0x50]
- lea rdx, [rbp-0x30]
+ mov rdi, gword ptr [rdi+0x50]
+ lea rdx, [rbp-0x38]
mov esi, 1
- mov r8, 0xD1FFAB1E ; code for System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
- call [r8]System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
- mov gword ptr [rbp-0x58], rax
- cmp gword ptr [rbx+0x60], 0
+ mov rax, 0xD1FFAB1E ; code for System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
+ call [rax]System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2
+ mov gword ptr [rbp-0x60], rax
+ mov rdi, gword ptr [rbp-0x58]
+ cmp gword ptr [rdi+0x60], 0
je G_M4728_IG20
test rax, rax
je G_M4728_IG20
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
call [rcx]System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
- mov rax, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x60]
mov rdi, gword ptr [rax+0x58]
test rdi, rdi
jne SHORT G_M4728_IG05
mov rsi, gword ptr [rax+0x40]
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.ICertificatePal
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTINTERFACE
call [rcx]CORINFO_HELP_CHKCASTINTERFACE
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
call [r11]System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
- mov gword ptr [rbp-0x70], rax
- mov rax, gword ptr [rbp-0x58]
+ mov gword ptr [rbp-0x78], rax
+ mov rax, gword ptr [rbp-0x60]
lea rdi, bword ptr [rax+0x58]
- mov rsi, gword ptr [rbp-0x70]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x70]
- mov rax, gword ptr [rbp-0x58]
- ;; size=157 bbWeight=1 PerfScore 39.50
+ mov rdi, gword ptr [rbp-0x78]
+ mov rax, gword ptr [rbp-0x60]
+ ;; size=160 bbWeight=1 PerfScore 40.50
G_M4728_IG05:
test rdi, rdi
jne SHORT G_M4728_IG06
xor rdi, rdi
xor ecx, ecx
jmp SHORT G_M4728_IG07
;; size=11 bbWeight=1 PerfScore 3.75
G_M4728_IG06:
mov ecx, dword ptr [rdi+0x08]
- mov dword ptr [rbp-0x3C], ecx
- mov ecx, dword ptr [rbp-0x3C]
+ mov dword ptr [rbp-0x44], ecx
+ mov ecx, dword ptr [rbp-0x44]
;; size=9 bbWeight=1 PerfScore 4.00
G_M4728_IG07:
xor rdx, rdx
xor esi, esi
test rdi, rdi
- mov bword ptr [rbp-0x78], rdx
- mov dword ptr [rbp-0x38], esi
+ mov bword ptr [rbp-0x80], rdx
+ mov dword ptr [rbp-0x40], esi
je SHORT G_M4728_IG08
mov rdx, qword ptr [rdi]
test dword ptr [rdx], 0xD1FFAB1E
je SHORT G_M4728_IG09
lea rdx, bword ptr [rdi+0x10]
mov esi, dword ptr [rdi+0x08]
jmp SHORT G_M4728_IG10
;; size=36 bbWeight=1 PerfScore 14.25
G_M4728_IG08:
jmp SHORT G_M4728_IG11
- align [3 bytes for IG37]
- ;; size=5 bbWeight=0.50 PerfScore 1.00
+ align [11 bytes for IG37]
+ ;; size=13 bbWeight=0.50 PerfScore 1.00
G_M4728_IG09:
- mov dword ptr [rbp-0x3C], ecx
+ mov dword ptr [rbp-0x44], ecx
mov rdx, qword ptr [rdi]
mov rdx, qword ptr [rdx+0x40]
call [rdx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
mov esi, edx
mov ecx, esi
mov rdx, rax
mov esi, ecx
- mov rax, gword ptr [rbp-0x58]
- mov ecx, dword ptr [rbp-0x3C]
+ mov rax, gword ptr [rbp-0x60]
+ mov ecx, dword ptr [rbp-0x44]
;; size=29 bbWeight=1 PerfScore 11.00
G_M4728_IG10:
cmp ecx, esi
ja G_M4728_IG39
- mov bword ptr [rbp-0x78], rdx
- mov dword ptr [rbp-0x38], ecx
+ mov bword ptr [rbp-0x80], rdx
+ mov dword ptr [rbp-0x40], ecx
;; size=15 bbWeight=1 PerfScore 3.25
G_M4728_IG11:
- mov rcx, gword ptr [rbx+0x60]
- mov gword ptr [rbp-0x80], rcx
+ mov rdi, gword ptr [rbp-0x58]
+ mov rcx, gword ptr [rdi+0x60]
+ mov gword ptr [rbp-0x88], rcx
cmp byte ptr [rcx], cl
mov rdi, rcx
mov r8, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
call [r8]System.Security.Cryptography.X509Certificates.X509Certificate:ThrowIfInvalid():this
- mov rax, gword ptr [rbp-0x80]
+ mov rax, gword ptr [rbp-0x88]
mov rdi, gword ptr [rax+0x58]
test rdi, rdi
jne SHORT G_M4728_IG12
mov rsi, gword ptr [rax+0x40]
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.ICertificatePal
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTINTERFACE
call [rcx]CORINFO_HELP_CHKCASTINTERFACE
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
call [r11]System.Security.Cryptography.X509Certificates.ICertificatePalCore:get_RawData():ubyte[]:this
- mov gword ptr [rbp-0x88], rax
- mov rsi, gword ptr [rbp-0x80]
- lea rdi, bword ptr [rsi+0x58]
+ mov gword ptr [rbp-0x90], rax
mov rsi, gword ptr [rbp-0x88]
+ lea rdi, bword ptr [rsi+0x58]
+ mov rsi, gword ptr [rbp-0x90]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x88]
- ;; size=115 bbWeight=1 PerfScore 28.25
+ mov rdi, gword ptr [rbp-0x90]
+ ;; size=128 bbWeight=1 PerfScore 29.25
G_M4728_IG12:
test rdi, rdi
jne SHORT G_M4728_IG13
xor rdi, rdi
xor eax, eax
jmp SHORT G_M4728_IG14
;; size=11 bbWeight=1 PerfScore 3.75
G_M4728_IG13:
mov eax, dword ptr [rdi+0x08]
- mov dword ptr [rbp-0x40], eax
- mov eax, dword ptr [rbp-0x40]
+ mov dword ptr [rbp-0x48], eax
+ mov eax, dword ptr [rbp-0x48]
;; size=9 bbWeight=1 PerfScore 4.00
G_M4728_IG14:
xor rsi, rsi
xor ecx, ecx
test rdi, rdi
je SHORT G_M4728_IG17
mov rsi, qword ptr [rdi]
test dword ptr [rsi], 0xD1FFAB1E
je SHORT G_M4728_IG15
lea rsi, bword ptr [rdi+0x10]
mov ecx, dword ptr [rdi+0x08]
jmp SHORT G_M4728_IG16
;; size=29 bbWeight=1 PerfScore 12.25
G_M4728_IG15:
- mov dword ptr [rbp-0x40], eax
+ mov dword ptr [rbp-0x48], eax
mov rcx, qword ptr [rdi]
mov rcx, qword ptr [rcx+0x40]
call [rcx+0x28]System.Buffers.MemoryManager`1[ubyte]:GetSpan():System.Span`1[ubyte]:this
mov rsi, rax
mov ecx, edx
- mov eax, dword ptr [rbp-0x40]
+ mov eax, dword ptr [rbp-0x48]
;; size=21 bbWeight=1 PerfScore 9.50
G_M4728_IG16:
cmp eax, ecx
ja G_M4728_IG39
mov ecx, eax
;; size=10 bbWeight=1 PerfScore 1.50
G_M4728_IG17:
- cmp dword ptr [rbp-0x38], ecx
+ cmp dword ptr [rbp-0x40], ecx
jne SHORT G_M4728_IG19
mov edx, ecx
- mov rdi, bword ptr [rbp-0x78]
+ mov rdi, bword ptr [rbp-0x80]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
je SHORT G_M4728_IG18
- mov rdi, gword ptr [rbp-0x58]
+ mov rdi, gword ptr [rbp-0x60]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
- mov dword ptr [rbp-0x34], 1
+ mov dword ptr [rbp-0x3C], 1
jmp G_M4728_IG45
;; size=57 bbWeight=1 PerfScore 20.00
G_M4728_IG18:
- mov rax, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x60]
jmp SHORT G_M4728_IG20
;; size=6 bbWeight=0.50 PerfScore 1.50
G_M4728_IG19:
- mov rax, gword ptr [rbp-0x58]
+ mov rax, gword ptr [rbp-0x60]
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M4728_IG20:
- lea rdi, bword ptr [rbx+0x60]
+ mov rdi, gword ptr [rbp-0x58]
+ lea rdi, bword ptr [rdi+0x60]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- cmp gword ptr [rbx+0x60], 0
+ mov rdi, gword ptr [rbp-0x58]
+ cmp gword ptr [rdi+0x60], 0
jne G_M4728_IG24
mov rsi, 0xD1FFAB1E ; const ptr
- mov r13, gword ptr [rsi]
- cmp byte ptr [r13+0x9D], 0
+ mov r14, gword ptr [rsi]
+ cmp byte ptr [r14+0x9D], 0
je G_M4728_IG22
- mov rsi, gword ptr [rbx+0x38]
+ mov rsi, gword ptr [rdi+0x38]
cmp byte ptr [rsi+0x6E], 0
je G_M4728_IG22
mov rsi, 0xD1FFAB1E ; global ptr
test byte ptr [rsi], 1
je G_M4728_IG38
- ;; size=83 bbWeight=1 PerfScore 22.25
+ ;; size=91 bbWeight=1 PerfScore 24.25
G_M4728_IG21:
mov rsi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Object]:Value
mov rsi, gword ptr [rsi]
mov rdi, 0xD1FFAB1E ; 'Remote certificate required, but no remote certificate received'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov gword ptr [rbp-0x90], rax
- mov rdi, rbx
+ mov gword ptr [rbp-0x98], rax
+ mov rdi, gword ptr [rbp-0x58]
mov rcx, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rcx]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov gword ptr [rbp-0x98], rax
- mov rdi, gword ptr [rbp-0x90]
+ mov gword ptr [rbp-0xA0], rax
+ mov rdi, gword ptr [rbp-0x98]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
- mov rdi, r13
- mov r13, gword ptr [rbp-0x98]
- mov rdx, r13
+ mov rdi, r14
+ mov r14, gword ptr [rbp-0xA0]
+ mov rdx, r14
mov esi, 2
mov rcx, 0xD1FFAB1E ; 'VerifyRemoteCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
- ;; size=126 bbWeight=1 PerfScore 21.00
+ ;; size=127 bbWeight=1 PerfScore 21.75
G_M4728_IG22:
- or dword ptr [r14], 1
- ;; size=4 bbWeight=1 PerfScore 3.00
+ mov rdi, gword ptr [rbp-0x58]
+ or dword ptr [r15], 1
+ ;; size=8 bbWeight=1 PerfScore 4.00
G_M4728_IG23:
- test r12, r12
+ test r13, r13
je G_M4728_IG31
- mov rdx, gword ptr [rbx+0x60]
- mov r8d, dword ptr [r14]
- mov rsi, rbx
- mov rcx, gword ptr [rbp-0x30]
- mov rdi, gword ptr [r12+0x08]
- call [r12+0x18]System.Net.Security.RemoteCertificateValidationCallback:Invoke(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,int):ubyte:this
- mov r13d, eax
+ mov rdx, gword ptr [rdi+0x60]
+ mov r8d, dword ptr [r15]
+ mov rsi, rdi
+ mov rcx, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [r13+0x08]
+ call [r13+0x18]System.Net.Security.RemoteCertificateValidationCallback:Invoke(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,int):ubyte:this
+ mov r14d, eax
jmp G_M4728_IG33
- ;; size=41 bbWeight=1 PerfScore 13.75
+ ;; size=39 bbWeight=1 PerfScore 13.75
G_M4728_IG24:
- cmp gword ptr [rbp-0x30], 0
+ cmp gword ptr [rbp-0x38], 0
jne SHORT G_M4728_IG25
mov rdi, 0xD1FFAB1E ; System.Security.Cryptography.X509Certificates.X509Chain
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x68], rax
+ mov gword ptr [rbp-0x70], rax
mov rdi, 0xD1FFAB1E ; System.Object
call CORINFO_HELP_NEWSFAST
- mov rcx, gword ptr [rbp-0x68]
+ mov rcx, gword ptr [rbp-0x70]
lea rdi, bword ptr [rcx+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x68]
- mov gword ptr [rbp-0x30], rdi
- ;; size=65 bbWeight=1 PerfScore 11.25
+ mov rdi, gword ptr [rbp-0x70]
+ mov gword ptr [rbp-0x38], rdi
+ mov rdi, gword ptr [rbp-0x58]
+ ;; size=69 bbWeight=1 PerfScore 12.25
G_M4728_IG25:
- mov rdi, gword ptr [rbx+0x38]
- mov rsi, gword ptr [rdi+0x58]
+ mov rsi, gword ptr [rdi+0x38]
+ mov rsi, gword ptr [rsi+0x58]
test rsi, rsi
je SHORT G_M4728_IG26
- mov rdi, gword ptr [rbp-0x30]
- cmp byte ptr [rdi], dil
- lea rdi, bword ptr [rdi+0x08]
+ mov rax, gword ptr [rbp-0x38]
+ cmp byte ptr [rax], al
+ lea rdi, bword ptr [rax+0x08]
call CORINFO_HELP_ASSIGN_REF
jmp G_M4728_IG29
- ;; size=34 bbWeight=1 PerfScore 12.75
+ ;; size=33 bbWeight=1 PerfScore 12.75
G_M4728_IG26:
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
- mov rsi, gword ptr [rbx+0x38]
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rax+0x38]
mov esi, dword ptr [rsi+0x64]
- mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
+ mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
cmp dword ptr [rdi], edi
- call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
- mov rdi, gword ptr [rbp-0x30]
+ call [rcx]System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationMode(int):this
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov esi, 2
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationFlag(int):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_RevocationFlag(int):this
- test r13, r13
+ test r14, r14
je G_M4728_IG29
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_TrustMode(int):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:set_TrustMode(int):this
- cmp gword ptr [r13+0x08], 0
+ cmp gword ptr [r14+0x08], 0
je SHORT G_M4728_IG28
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
- mov gword ptr [rbp-0xB0], rax
- mov rdi, gword ptr [r13+0x08]
- ;; size=184 bbWeight=1 PerfScore 67.75
+ mov gword ptr [rbp-0xB8], rax
+ ;; size=184 bbWeight=1 PerfScore 66.75
G_M4728_IG27:
+ mov rdi, gword ptr [r14+0x08]
mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rcx]System.Security.Cryptography.X509Certificates.X509Store:get_Certificates():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xB0]
+ mov rdi, gword ptr [rbp-0xB8]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
- ;; size=38 bbWeight=1 PerfScore 13.75
+ ;; size=42 bbWeight=1 PerfScore 15.75
G_M4728_IG28:
- cmp gword ptr [r13+0x10], 0
+ cmp gword ptr [r14+0x10], 0
je SHORT G_M4728_IG29
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_CustomTrustStore():System.Security.Cryptography.X509Certificates.X509Certificate2Collection:this
mov rdi, rax
- mov rsi, gword ptr [r13+0x10]
+ mov rsi, gword ptr [r14+0x10]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate2Collection:AddRange(System.Security.Cryptography.X509Certificates.X509Certificate2Collection):this
;; size=63 bbWeight=1 PerfScore 26.25
G_M4728_IG29:
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rax+0x10], 0
jne SHORT G_M4728_IG30
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainPolicy:get_ApplicationPolicy():System.Security.Cryptography.OidCollection:this
mov rdi, rax
- mov rsi, gword ptr [rbx+0x38]
- mov rax, 0xD1FFAB1E ; const ptr
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rax+0x38]
mov rcx, 0xD1FFAB1E ; const ptr
+ mov rdx, 0xD1FFAB1E ; const ptr
cmp byte ptr [rsi+0x6D], 0
- mov rsi, gword ptr [rcx]
- cmovne rsi, gword ptr [rax]
- mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
+ mov rsi, gword ptr [rdx]
+ cmovne rsi, gword ptr [rcx]
+ mov rcx, 0xD1FFAB1E ; code for System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
cmp dword ptr [rdi], edi
- call [rax]System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
- ;; size=128 bbWeight=1 PerfScore 48.50
+ call [rcx]System.Security.Cryptography.OidCollection:Add(System.Security.Cryptography.Oid):int:this
+ ;; size=132 bbWeight=1 PerfScore 49.50
G_M4728_IG30:
- mov r13d, dword ptr [r14]
- mov rax, gword ptr [rbp-0x30]
- mov gword ptr [rbp-0x60], rax
- mov rcx, gword ptr [rbx+0x60]
- mov gword ptr [rbp-0xB8], rcx
- mov rdi, gword ptr [rbx+0x38]
- movzx rdx, byte ptr [rdi+0x6F]
- mov dword ptr [rbp-0x44], edx
- movzx rsi, byte ptr [rdi+0x6D]
- mov dword ptr [rbp-0x48], esi
+ mov r14d, dword ptr [r15]
+ mov rax, gword ptr [rbp-0x38]
+ mov gword ptr [rbp-0x68], rax
+ mov rcx, gword ptr [rbp-0x58]
+ mov rdx, gword ptr [rcx+0x60]
+ mov gword ptr [rbp-0xC0], rdx
+ mov rdi, gword ptr [rcx+0x38]
+ movzx rsi, byte ptr [rdi+0x6F]
+ mov dword ptr [rbp-0x4C], esi
+ movzx r8, byte ptr [rdi+0x6D]
+ mov dword ptr [rbp-0x50], r8d
mov rdi, gword ptr [rdi+0x08]
- mov r8, 0xD1FFAB1E ; code for System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
- call [r8]System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
+ mov r9, 0xD1FFAB1E ; code for System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
+ call [r9]System.Net.Security.TargetHostNameHelper:NormalizeHostName(System.String):System.String
mov r8, rax
- mov rsi, gword ptr [rbp-0xB8]
- mov edx, dword ptr [rbp-0x44]
- mov ecx, dword ptr [rbp-0x48]
- mov rdi, gword ptr [rbp-0x60]
+ mov rsi, gword ptr [rbp-0xC0]
+ mov edx, dword ptr [rbp-0x4C]
+ mov ecx, dword ptr [rbp-0x50]
+ mov rdi, gword ptr [rbp-0x68]
mov rax, 0xD1FFAB1E ; code for System.Net.Security.CertificateValidation:BuildChainAndVerifyProperties(System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte,ubyte,System.String):int
call [rax]System.Net.Security.CertificateValidation:BuildChainAndVerifyProperties(System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate2,ubyte,ubyte,System.String):int
- or eax, r13d
- mov dword ptr [r14], eax
+ or eax, r14d
+ mov dword ptr [r15], eax
+ mov rdi, gword ptr [rbp-0x58]
jmp G_M4728_IG23
- ;; size=101 bbWeight=1 PerfScore 31.00
+ ;; size=111 bbWeight=1 PerfScore 33.00
G_M4728_IG31:
- mov rdx, gword ptr [rbx+0x38]
+ mov rdx, gword ptr [rdi+0x38]
cmp byte ptr [rdx+0x6E], 0
jne SHORT G_M4728_IG32
- and dword ptr [r14], -2
+ and dword ptr [r15], -2
;; size=14 bbWeight=1 PerfScore 9.00
G_M4728_IG32:
- cmp dword ptr [r14], 0
- sete r13b
- movzx r13, r13b
+ cmp dword ptr [r15], 0
+ sete r14b
+ movzx r14, r14b
;; size=12 bbWeight=1 PerfScore 4.25
G_M4728_IG33:
mov rdx, 0xD1FFAB1E ; const ptr
mov rdx, gword ptr [rdx]
mov rax, rdx
- mov gword ptr [rbp-0xC0], rax
+ mov gword ptr [rbp-0xC8], rax
cmp byte ptr [rax+0x9D], 0
je G_M4728_IG36
- mov edx, dword ptr [r14]
- mov rdi, rbx
- mov rsi, r12
- mov ecx, r13d
- mov r8, gword ptr [rbp-0x30]
+ mov edx, dword ptr [r15]
+ mov rdi, gword ptr [rbp-0x58]
+ mov rsi, r13
+ mov ecx, r14d
+ mov r8, gword ptr [rbp-0x38]
mov r9, 0xD1FFAB1E ; code for System.Net.Security.SslStream:LogCertificateValidation(System.Net.Security.RemoteCertificateValidationCallback,int,ubyte,System.Security.Cryptography.X509Certificates.X509Chain):this
call [r9]System.Net.Security.SslStream:LogCertificateValidation(System.Net.Security.RemoteCertificateValidationCallback,int,ubyte,System.Security.Cryptography.X509Certificates.X509Chain):this
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r12, rax
- mov rsi, gword ptr [rbx+0x60]
- lea rdi, bword ptr [r12+0x10]
+ mov r13, rax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rax+0x60]
+ lea rdi, bword ptr [r13+0x10]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, r12
+ mov rsi, r13
mov rdi, 0xD1FFAB1E ; 'Cert validation, remote cert = {0}'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
call [rax]System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
- mov r12, rax
- mov rax, gword ptr [rbp-0xC0]
- mov gword ptr [rbp-0xA0], rax
- mov rdi, rbx
+ mov r13, rax
+ mov rax, gword ptr [rbp-0xC8]
+ mov gword ptr [rbp-0xA8], rax
+ mov rdi, gword ptr [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:IdOf(System.Object):System.String
call [rax]System.Net.NetEventSource:IdOf(System.Object):System.String
- mov gword ptr [rbp-0xA8], rax
- test r12, r12
+ mov gword ptr [rbp-0xB0], rax
+ test r13, r13
jne SHORT G_M4728_IG34
mov r8, 0xD1FFAB1E ; ''
jmp SHORT G_M4728_IG35
- ;; size=183 bbWeight=1 PerfScore 33.75
+ ;; size=188 bbWeight=1 PerfScore 36.25
G_M4728_IG34:
- mov rdi, r12
+ mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:Format(System.FormattableString):System.String
call [rax]System.Net.NetEventSource:Format(System.FormattableString):System.String
mov r8, rax
;; size=18 bbWeight=1 PerfScore 3.75
G_M4728_IG35:
- mov r12, gword ptr [rbp-0xA0]
- mov rdi, r12
- mov rdx, gword ptr [rbp-0xA8]
+ mov r13, gword ptr [rbp-0xA8]
+ mov rdi, r13
+ mov rdx, gword ptr [rbp-0xB0]
mov esi, 1
mov rcx, 0xD1FFAB1E ; 'VerifyRemoteCertificate'
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
;; size=44 bbWeight=1 PerfScore 6.00
G_M4728_IG36:
- test r13d, r13d
+ test r14d, r14d
jne SHORT G_M4728_IG40
- mov esi, dword ptr [r14]
- mov rdi, rbx
- mov rdx, gword ptr [rbp-0x30]
- mov rcx, bword ptr [rbp-0x50]
+ mov esi, dword ptr [r15]
+ mov rdi, gword ptr [rbp-0x58]
+ mov rdx, gword ptr [rbp-0x38]
+ mov rcx, r12
mov rax, 0xD1FFAB1E ; code for System.Net.Security.SslStream:CreateFatalHandshakeAlertToken(int,System.Security.Cryptography.X509Certificates.X509Chain,byref):this
call [rax]System.Net.Security.SslStream:CreateFatalHandshakeAlertToken(int,System.Security.Cryptography.X509Certificates.X509Chain,byref):this
- cmp gword ptr [rbp-0x30], 0
+ cmp gword ptr [rbp-0x38], 0
je SHORT G_M4728_IG40
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
xor edi, edi
mov ecx, dword ptr [rax+0x08]
test ecx, ecx
jle SHORT G_M4728_IG40
;; size=65 bbWeight=1 PerfScore 22.50
G_M4728_IG37:
mov rdx, rdi
shl rdx, 4
mov edx, dword ptr [rax+rdx+0x18]
- or dword ptr [r15], edx
+ or dword ptr [rbx], edx
inc edi
cmp ecx, edi
jg SHORT G_M4728_IG37
jmp SHORT G_M4728_IG40
- ;; size=22 bbWeight=8 PerfScore 74.00
+ ;; size=21 bbWeight=8 PerfScore 74.00
G_M4728_IG38:
mov rdi, 0xD1FFAB1E ; System.Array+EmptyArray`1[System.Object]
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M4728_IG21
;; size=20 bbWeight=0 PerfScore 0.00
G_M4728_IG39:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M4728_IG40:
- cmp gword ptr [rbp-0x30], 0
+ cmp gword ptr [rbp-0x38], 0
je G_M4728_IG43
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov ebx, dword ptr [rdi+0x08]
xor r15d, r15d
test ebx, ebx
jle SHORT G_M4728_IG42
;; size=43 bbWeight=1 PerfScore 15.75
G_M4728_IG41:
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov rdi, gword ptr [rax+0x08]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
inc r15d
cmp r15d, ebx
jl SHORT G_M4728_IG41
;; size=64 bbWeight=8 PerfScore 198.00
G_M4728_IG42:
- mov r14, gword ptr [rbp-0x30]
- mov rdi, r14
+ mov r12, gword ptr [rbp-0x38]
+ mov rdi, r12
mov esi, 1
- mov rax, qword ptr [r14]
+ mov rax, qword ptr [r12]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Security.Cryptography.X509Certificates.X509Chain:Dispose(ubyte):this
- mov rdi, r14
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.GC:SuppressFinalize(System.Object)
call [rax]System.GC:SuppressFinalize(System.Object)
- ;; size=37 bbWeight=1 PerfScore 12.00
+ ;; size=38 bbWeight=1 PerfScore 12.00
G_M4728_IG43:
- mov eax, r13d
+ mov eax, r14d
;; size=3 bbWeight=1 PerfScore 0.25
G_M4728_IG44:
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
G_M4728_IG45:
mov rdi, rsp
call G_M4728_IG49
;; size=8 bbWeight=1 PerfScore 1.25
G_M4728_IG46:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M4728_IG47:
- mov eax, dword ptr [rbp-0x34]
+ mov eax, dword ptr [rbp-0x3C]
;; size=3 bbWeight=1 PerfScore 1.00
G_M4728_IG48:
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
G_M4728_IG49:
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+0xD0]
;; size=25 bbWeight=1 PerfScore 10.50
G_M4728_IG50:
- cmp gword ptr [rbp-0x30], 0
+ cmp gword ptr [rbp-0x38], 0
je G_M4728_IG53
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, gword ptr [rax+0x08]
mov ebx, dword ptr [rdi+0x08]
xor r15d, r15d
test ebx, ebx
jle SHORT G_M4728_IG52
;; size=43 bbWeight=1 PerfScore 15.75
G_M4728_IG51:
- mov rdi, gword ptr [rbp-0x30]
+ mov rdi, gword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
mov rdi, rax
mov esi, r15d
mov rax, 0xD1FFAB1E ; code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
cmp dword ptr [rdi], edi
call [rax]System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
mov rdi, gword ptr [rax+0x08]
mov esi, 1
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x48]
call [rax]System.Security.Cryptography.X509Certificates.X509Certificate:Dispose(ubyte):this
inc r15d
cmp r15d, ebx
jl SHORT G_M4728_IG51
;; size=64 bbWeight=8 PerfScore 198.00
G_M4728_IG52:
- mov r14, gword ptr [rbp-0x30]
- mov rdi, r14
+ mov r12, gword ptr [rbp-0x38]
+ mov rdi, r12
mov esi, 1
- mov rax, qword ptr [r14]
+ mov rax, qword ptr [r12]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Security.Cryptography.X509Certificates.X509Chain:Dispose(ubyte):this
- mov rdi, r14
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.GC:SuppressFinalize(System.Object)
call [rax]System.GC:SuppressFinalize(System.Object)
- ;; size=37 bbWeight=1 PerfScore 12.00
+ ;; size=38 bbWeight=1 PerfScore 12.00
G_M4728_IG53:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M4728_IG54:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-; Total bytes of code 2227, prolog size 57, PerfScore 1073.75, instruction count 542, allocated bytes for code 2227 (MethodHash=c943ed87) for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 2292, prolog size 61, PerfScore 1088.00, instruction count 554, allocated bytes for code 2292 (MethodHash=c943ed87) for method System.Net.Security.SslStream:VerifyRemoteCertificate(System.Net.Security.RemoteCertificateValidationCallback,System.Net.Security.SslCertificateTrust,byref,byref,byref):ubyte:this (FullOpts)
53 (2.67 % of base) - System.Data.DataTable:MergeRow(System.Data.DataRow,System.Data.DataRow,ubyte,System.Data.Index):System.Data.DataRow:this
; Assembly listing for method System.Data.DataTable:MergeRow(System.Data.DataRow,System.Data.DataRow,ubyte,System.Data.Index):System.Data.DataRow:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 14 single block inlinees; 11 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 25, 13.50) ref -> r15 this class-hnd single-def <System.Data.DataTable>
+; V00 this [V00,T06] ( 25, 13.50) ref -> [rbp-0x68] this class-hnd EH-live single-def <System.Data.DataTable>
; V01 arg1 [V01,T01] ( 26, 26.50) ref -> rbx class-hnd single-def <System.Data.DataRow>
-; V02 arg2 [V02,T00] ( 47, 32 ) ref -> [rbp-0x68] do-not-enreg[Z] class-hnd EH-live <System.Data.DataRow>
-; V03 arg3 [V03,T12] ( 6, 4 ) ubyte -> r14 single-def
-; V04 arg4 [V04,T13] ( 4, 3 ) ref -> r13 class-hnd single-def <System.Data.Index>
-; V05 loc0 [V05,T36] ( 3, 1 ) int -> [rbp-0x2C] do-not-enreg[Z] EH-live
-; V06 loc1 [V06,T18] ( 4, 2 ) int -> r12
+; V02 arg2 [V02,T00] ( 47, 32 ) ref -> [rbp-0x70] do-not-enreg[Z] class-hnd EH-live <System.Data.DataRow>
+; V03 arg3 [V03,T12] ( 6, 4 ) ubyte -> r15 single-def
+; V04 arg4 [V04,T13] ( 4, 3 ) ref -> r14 class-hnd single-def <System.Data.Index>
+; V05 loc0 [V05,T36] ( 3, 1 ) int -> [rbp-0x34] do-not-enreg[Z] EH-live
+; V06 loc1 [V06,T18] ( 4, 2 ) int -> r13
;* V07 loc2 [V07 ] ( 0, 0 ) int -> zero-ref
-; V08 loc3 [V08,T11] ( 13, 6.50) int -> [rbp-0x30]
-; V09 loc4 [V09,T09] ( 17, 8.50) int -> [rbp-0x34]
-; V10 loc5 [V10,T08] ( 4, 9 ) ref -> r13 class-hnd single-def <System.Data.DataColumn[]>
+; V08 loc3 [V08,T11] ( 13, 6.50) int -> [rbp-0x38]
+; V09 loc4 [V09,T09] ( 17, 8.50) int -> [rbp-0x3C]
+; V10 loc5 [V10,T08] ( 4, 9 ) ref -> r15 class-hnd single-def <System.Data.DataColumn[]>
;* V11 loc6 [V11,T41] ( 0, 0 ) int -> zero-ref
; V12 loc7 [V12,T10] ( 2, 8 ) ref -> r12 class-hnd <System.Data.DataColumn>
; V13 OutArgs [V13 ] ( 1, 1 ) struct (24) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V14 tmp1 [V14,T31] ( 3, 1.50) int -> [rbp-0x38]
+; V14 tmp1 [V14,T31] ( 3, 1.50) int -> r12
;* V15 tmp2 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.RecordManager>
;* V16 tmp3 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V17 tmp4 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataColumnCollection>
;* V18 tmp5 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.RecordManager>
;* V19 tmp6 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.RecordManager>
;* V20 tmp7 [V20 ] ( 0, 0 ) int -> zero-ref
;* V21 tmp8 [V21 ] ( 0, 0 ) int -> zero-ref
; V22 tmp9 [V22,T37] ( 2, 1 ) int -> rdi
;* V23 tmp10 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
;* V24 tmp11 [V24 ] ( 0, 0 ) ref -> zero-ref single-def
;* V25 tmp12 [V25 ] ( 0, 0 ) int -> zero-ref
;* V26 tmp13 [V26 ] ( 0, 0 ) int -> zero-ref
;* V27 tmp14 [V27 ] ( 0, 0 ) ref -> zero-ref single-def
;* V28 tmp15 [V28 ] ( 0, 0 ) ref -> zero-ref single-def
;* V29 tmp16 [V29 ] ( 0, 0 ) int -> zero-ref
;* V30 tmp17 [V30 ] ( 0, 0 ) int -> zero-ref
; V31 tmp18 [V31,T38] ( 2, 1 ) int -> r8
;* V32 tmp19 [V32 ] ( 0, 0 ) ref -> zero-ref single-def
;* V33 tmp20 [V33 ] ( 0, 0 ) ref -> zero-ref single-def
;* V34 tmp21 [V34 ] ( 0, 0 ) int -> zero-ref
;* V35 tmp22 [V35 ] ( 0, 0 ) int -> zero-ref
;* V36 tmp23 [V36 ] ( 0, 0 ) ref -> zero-ref single-def
;* V37 tmp24 [V37 ] ( 0, 0 ) ref -> zero-ref single-def
;* V38 tmp25 [V38 ] ( 0, 0 ) int -> zero-ref
;* V39 tmp26 [V39 ] ( 0, 0 ) int -> zero-ref
; V40 tmp27 [V40,T39] ( 2, 1 ) int -> r8
;* V41 tmp28 [V41 ] ( 0, 0 ) int -> zero-ref
; V42 tmp29 [V42,T32] ( 3, 1.50) int -> registers
-; V43 tmp30 [V43,T19] ( 4, 2 ) int -> [rbp-0x3C]
+; V43 tmp30 [V43,T19] ( 4, 2 ) int -> r12
;* V44 tmp31 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.RecordManager>
-; V45 tmp32 [V45,T15] ( 3, 3 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.Data.RecordManager>
-; V46 tmp33 [V46,T16] ( 3, 3 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.Data.RecordManager>
-; V47 tmp34 [V47,T20] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Data.DataTable>
-; V48 tmp35 [V48,T26] ( 2, 2 ) int -> rdx "Inlining Arg"
-; V49 tmp36 [V49,T21] ( 2, 2 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Data.DataTable>
+; V45 tmp32 [V45,T15] ( 3, 3 ) ref -> rsi class-hnd exact single-def "impAppendStmt" <System.Data.RecordManager>
+; V46 tmp33 [V46,T16] ( 3, 3 ) ref -> rsi class-hnd exact single-def "impAppendStmt" <System.Data.RecordManager>
+; V47 tmp34 [V47,T20] ( 2, 2 ) ref -> rdx class-hnd single-def "Inlining Arg" <System.Data.DataTable>
+; V48 tmp35 [V48,T26] ( 2, 2 ) int -> rcx "Inlining Arg"
+; V49 tmp36 [V49,T21] ( 2, 2 ) ref -> rcx class-hnd single-def "Inlining Arg" <System.Data.DataTable>
; V50 tmp37 [V50,T27] ( 2, 2 ) int -> rdx "Inlining Arg"
; V51 tmp38 [V51 ] ( 4, 1.50) ref -> [rbp-0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Exception>
; V52 tmp39 [V52 ] ( 4, 1.50) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Exception>
; V53 tmp40 [V53 ] ( 4, 1.50) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Exception>
; V54 tmp41 [V54 ] ( 4, 1.50) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Exception>
-; V55 tmp42 [V55,T33] ( 2, 1 ) ubyte -> r15 "Inline return value spill temp"
-; V56 tmp43 [V56,T34] ( 3, 1.50) ubyte -> r15 "Inline return value spill temp"
+; V55 tmp42 [V55,T33] ( 2, 1 ) ubyte -> r14 "Inline return value spill temp"
+; V56 tmp43 [V56,T34] ( 3, 1.50) ubyte -> r14 "Inline return value spill temp"
; V57 tmp44 [V57,T17] ( 3, 3 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Data.DataError>
-; V58 tmp45 [V58,T28] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" <System.Data.DataColumn[]>
+; V58 tmp45 [V58,T28] ( 3, 1.50) ref -> r15 class-hnd "Inline return value spill temp" <System.Data.DataColumn[]>
;* V59 tmp46 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V60 tmp47 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataColumn>
-; V61 tmp48 [V61,T02] ( 3, 24 ) ref -> [rbp-0x70] class-hnd spill-single-def "Inlining Arg" <System.Data.DataColumn>
+; V61 tmp48 [V61,T02] ( 3, 24 ) ref -> [rbp-0x78] class-hnd spill-single-def "Inlining Arg" <System.Data.DataColumn>
; V62 tmp49 [V62,T07] ( 3, 12 ) ref -> rax class-hnd exact "NewObj constructor temp" <System.Data.DataError>
-; V63 tmp50 [V63,T22] ( 2, 2 ) ref -> r14 single-def "argument with side effect"
+; V63 tmp50 [V63,T22] ( 2, 2 ) ref -> r15 single-def "argument with side effect"
; V64 tmp51 [V64,T23] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
; V65 tmp52 [V65,T24] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V66 tmp53 [V66,T25] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V67 tmp54 [V67,T04] ( 2, 16 ) ref -> rdi "argument with side effect"
; V68 tmp55 [V68,T05] ( 2, 16 ) ref -> rdx "argument with side effect"
-; V69 PSPSym [V69,T40] ( 1, 1 ) long -> [rbp-0x78] do-not-enreg[V] "PSPSym"
+; V69 PSPSym [V69,T40] ( 1, 1 ) long -> [rbp-0x88] do-not-enreg[V] "PSPSym"
; V70 cse0 [V70,T35] ( 3, 1.50) int -> rdx "CSE #01: conservative"
; V71 cse1 [V71,T29] ( 3, 1.50) ref -> rdi "CSE #05: conservative"
-; V72 cse2 [V72,T30] ( 3, 1.50) ref -> rdi "CSE #08: conservative"
-; V73 cse3 [V73,T14] ( 3, 5 ) int -> r14 "CSE #07: moderate"
-; V74 rat0 [V74,T03] ( 6, 20.50) long -> r15 "Widened IV V11"
+; V72 cse2 [V72,T30] ( 3, 1.50) ref -> rax "CSE #08: conservative"
+; V73 cse3 [V73,T14] ( 3, 5 ) int -> r13 "CSE #07: moderate"
+; V74 rat0 [V74,T03] ( 6, 20.50) long -> r14 "Widened IV V11"
;
-; Lcl frame size = 104
+; Lcl frame size = 120
G_M1561_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 104
- lea rbp, [rsp+0x90]
+ sub rsp, 120
+ lea rbp, [rsp+0xA0]
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
- mov qword ptr [rbp-0x78], rsp
- mov gword ptr [rbp-0x68], rdx
- mov r15, rdi
+ mov qword ptr [rbp-0x88], rsp
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x68], rdi
+ mov gword ptr [rbp-0x70], rdx
mov rbx, rsi
- mov r14d, ecx
- mov r13, r8
- ;; size=52 bbWeight=1 PerfScore 12.08
+ mov r15d, ecx
+ mov r14, r8
+ ;; size=60 bbWeight=1 PerfScore 13.83
G_M1561_IG02:
- cmp gword ptr [rbp-0x68], 0
+ cmp gword ptr [rbp-0x70], 0
jne G_M1561_IG07
;; size=11 bbWeight=1 PerfScore 3.00
G_M1561_IG03:
- mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:NewEmptyRow():System.Data.DataRow:this
call [rax]System.Data.DataTable:NewEmptyRow():System.Data.DataRow:this
- mov gword ptr [rbp-0x68], rax
- mov rdi, gword ptr [r15+0x50]
- mov rsi, gword ptr [rbx+0x08]
- mov edx, dword ptr [rbx+0x38]
- cmp byte ptr [rdi], dil
+ mov gword ptr [rbp-0x70], rax
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x50]
+ mov rdx, gword ptr [rbx+0x08]
+ mov ecx, dword ptr [rbx+0x38]
+ cmp byte ptr [rsi], sil
+ mov rdi, rsi
+ mov rsi, rdx
+ mov edx, ecx
mov ecx, -1
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov dword ptr [rdi+0x38], eax
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov edi, dword ptr [rdi+0x38]
- mov rsi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov dword ptr [rsi+0x3C], edi
mov edi, dword ptr [rbx+0x38]
mov edx, dword ptr [rbx+0x3C]
cmp edi, edx
je SHORT G_M1561_IG04
- mov rdi, gword ptr [r15+0x50]
- mov rsi, gword ptr [rbx+0x08]
- cmp byte ptr [rdi], dil
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rdi+0x50]
+ mov rcx, gword ptr [rbx+0x08]
+ cmp byte ptr [rsi], sil
+ mov rdi, rsi
+ mov rsi, rcx
mov ecx, -1
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov dword ptr [rdi+0x3C], eax
- ;; size=116 bbWeight=0.50 PerfScore 20.88
+ ;; size=135 bbWeight=0.50 PerfScore 22.38
G_M1561_IG04:
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov rdx, -1
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:InsertRow(System.Data.DataRow,long):this
call [rax]System.Data.DataTable:InsertRow(System.Data.DataRow,long):this
- ;; size=29 bbWeight=0.50 PerfScore 2.38
+ ;; size=30 bbWeight=0.50 PerfScore 2.75
G_M1561_IG05:
cmp gword ptr [rbx+0x20], 0
je SHORT G_M1561_IG08
;; size=7 bbWeight=1 PerfScore 4.00
G_M1561_IG06:
mov rdi, gword ptr [rbx+0x20]
mov rax, gword ptr [rdi+0x08]
cmp dword ptr [rax+0x08], 0
jne SHORT G_M1561_IG09
cmp dword ptr [rdi+0x18], 0
- setne r15b
- movzx r15, r15b
+ setne r14b
+ movzx r14, r14b
jmp SHORT G_M1561_IG10
;; size=28 bbWeight=0.50 PerfScore 7.12
G_M1561_IG07:
- mov rdi, gword ptr [rbp-0x68]
- mov edi, dword ptr [rdi+0x40]
- mov dword ptr [rbp-0x2C], edi
- mov rdi, gword ptr [rbp-0x68]
- mov dword ptr [rdi+0x40], -1
+ mov rax, gword ptr [rbp-0x70]
+ mov eax, dword ptr [rax+0x40]
+ mov dword ptr [rbp-0x34], eax
+ mov rax, gword ptr [rbp-0x70]
+ mov dword ptr [rax+0x40], -1
jmp G_M1561_IG21
;; size=26 bbWeight=0.50 PerfScore 4.00
G_M1561_IG08:
- test r14b, r14b
+ test r15b, r15b
jne G_M1561_IG19
- mov rdi, gword ptr [rbp-0x68]
- mov rdi, gword ptr [rdi+0x20]
- test rdi, rdi
+ mov rax, gword ptr [rbp-0x70]
+ mov rax, gword ptr [rax+0x20]
+ test rax, rax
je G_M1561_IG19
+ mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.DataError:Clear():this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataError:Clear():this
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:RowErrorChanged():this
call [rax]System.Data.DataRow:RowErrorChanged():this
jmp G_M1561_IG19
- ;; size=61 bbWeight=0.50 PerfScore 9.00
+ ;; size=64 bbWeight=0.50 PerfScore 9.12
G_M1561_IG09:
- mov r15d, 1
+ mov r14d, 1
;; size=6 bbWeight=0.50 PerfScore 0.12
G_M1561_IG10:
- test r15d, r15d
+ test r14d, r14d
je SHORT G_M1561_IG08
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowError():System.String:this
call [rax]System.Data.DataRow:get_RowError():System.String:this
cmp dword ptr [rax+0x08], 0
jne SHORT G_M1561_IG11
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowError():System.String:this
call [rax]System.Data.DataRow:get_RowError():System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:set_RowError(System.String):this
call [rax]System.Data.DataRow:set_RowError(System.String):this
jmp SHORT G_M1561_IG12
;; size=63 bbWeight=0.50 PerfScore 9.75
G_M1561_IG11:
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowError():System.String:this
call [rax]System.Data.DataRow:get_RowError():System.String:this
- mov r14, rax
+ mov r15, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowError():System.String:this
call [rax]System.Data.DataRow:get_RowError():System.String:this
mov rdx, rax
- mov rdi, r14
+ mov rdi, r15
mov rsi, 0xD1FFAB1E ; ' ]:[ '
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 rsi, rax
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:set_RowError(System.String):this
call [rax]System.Data.DataRow:set_RowError(System.String):this
;; size=81 bbWeight=0.50 PerfScore 8.25
G_M1561_IG12:
mov rdi, gword ptr [rbx+0x20]
test rdi, rdi
je SHORT G_M1561_IG13
mov rax, 0xD1FFAB1E ; code for System.Data.DataError:GetColumnsInError():System.Data.DataColumn[]:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataError:GetColumnsInError():System.Data.DataColumn[]:this
- mov r13, rax
+ mov r15, rax
jmp SHORT G_M1561_IG15
;; size=28 bbWeight=0.50 PerfScore 5.88
G_M1561_IG13:
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M1561_IG46
+ je G_M1561_IG44
;; size=19 bbWeight=0.50 PerfScore 2.12
G_M1561_IG14:
mov rdi, 0xD1FFAB1E ; data for System.Array+EmptyArray`1[System.Data.DataColumn]:Value
- mov r13, gword ptr [rdi]
+ mov r15, gword ptr [rdi]
;; size=13 bbWeight=0.50 PerfScore 1.12
G_M1561_IG15:
- xor r15d, r15d
- mov r14d, dword ptr [r13+0x08]
- test r14d, r14d
+ xor r14d, r14d
+ mov r13d, dword ptr [r15+0x08]
+ test r13d, r13d
jle G_M1561_IG19
;; size=16 bbWeight=0.50 PerfScore 1.75
G_M1561_IG16:
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rdi, gword ptr [rdi+0x08]
mov rdi, gword ptr [rdi+0x30]
- mov rsi, gword ptr [r13+8*r15+0x10]
+ mov rsi, gword ptr [r15+8*r14+0x10]
mov rsi, gword ptr [rsi+0x20]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
mov r12, rax
- mov rax, gword ptr [r13+8*r15+0x10]
- mov gword ptr [rbp-0x70], rax
+ mov rax, gword ptr [r15+8*r14+0x10]
+ mov gword ptr [rbp-0x78], rax
mov rdi, rbx
mov rsi, rax
mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:CheckColumn(System.Data.DataColumn):this
call [rcx]System.Data.DataRow:CheckColumn(System.Data.DataColumn):this
cmp gword ptr [rbx+0x20], 0
jne SHORT G_M1561_IG18
;; size=72 bbWeight=4 PerfScore 105.00
G_M1561_IG17:
mov rdi, 0xD1FFAB1E ; System.Data.DataError
call CORINFO_HELP_NEWSFAST
mov rdi, 0xD1FFAB1E ; ''
mov gword ptr [rax+0x08], rdi
lea rdi, bword ptr [rbx+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
;; size=41 bbWeight=2 PerfScore 8.50
G_M1561_IG18:
mov rdi, gword ptr [rbx+0x20]
- mov rsi, gword ptr [rbp-0x70]
+ mov rsi, gword ptr [rbp-0x78]
mov rax, 0xD1FFAB1E ; code for System.Data.DataError:GetColumnError(System.Data.DataColumn):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataError:GetColumnError(System.Data.DataColumn):System.String:this
mov rdx, rax
mov rsi, r12
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:SetColumnError(System.Data.DataColumn,System.String):this
call [rax]System.Data.DataRow:SetColumnError(System.Data.DataColumn,System.String):this
- inc r15d
- cmp r14d, r15d
+ inc r14d
+ cmp r13d, r14d
jg G_M1561_IG16
;; size=56 bbWeight=4 PerfScore 62.00
G_M1561_IG19:
- mov rax, gword ptr [rbp-0x68]
+ mov rax, gword ptr [rbp-0x70]
;; size=4 bbWeight=1 PerfScore 1.00
G_M1561_IG20:
- add rsp, 104
+ add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
G_M1561_IG21:
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
call [rax]System.Data.DataRow:get_RowState():int:this
- mov r12d, eax
- cmp r12d, 4
+ mov r13d, eax
+ cmp r13d, 4
je SHORT G_M1561_IG22
- mov rdi, gword ptr [rbp-0x68]
- mov eax, dword ptr [rdi+0x38]
- mov dword ptr [rbp-0x38], eax
+ mov rdi, gword ptr [rbp-0x70]
+ mov r12d, dword ptr [rdi+0x38]
jmp SHORT G_M1561_IG23
- ;; size=37 bbWeight=0.50 PerfScore 5.88
+ ;; size=35 bbWeight=0.50 PerfScore 5.38
G_M1561_IG22:
- mov rax, gword ptr [rbp-0x68]
- mov eax, dword ptr [rax+0x3C]
- mov dword ptr [rbp-0x38], eax
- ;; size=10 bbWeight=0.50 PerfScore 2.00
+ mov rdi, gword ptr [rbp-0x70]
+ mov r12d, dword ptr [rdi+0x3C]
+ ;; size=8 bbWeight=0.50 PerfScore 1.50
G_M1561_IG23:
- mov rdi, gword ptr [rbp-0x68]
- mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
- call [rcx]System.Data.DataRow:get_RowState():int:this
+ mov rdi, gword ptr [rbp-0x70]
+ mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
+ call [rax]System.Data.DataRow:get_RowState():int:this
cmp eax, 2
jne SHORT G_M1561_IG24
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataRow:get_RowState():int:this
cmp eax, 2
jne SHORT G_M1561_IG24
- mov rdi, gword ptr [rbp-0x68]
- mov eax, dword ptr [rdi+0x38]
- test r14b, r14b
- jne G_M1561_IG36
- mov rax, gword ptr [rbp-0x68]
- mov eax, dword ptr [rax+0x3C]
- mov dword ptr [rbp-0x3C], eax
- jmp G_M1561_IG37
- ;; size=74 bbWeight=0.50 PerfScore 11.75
+ mov rdi, gword ptr [rbp-0x70]
+ mov r12d, dword ptr [rdi+0x38]
+ test r15b, r15b
+ jne G_M1561_IG34
+ mov rdi, gword ptr [rbp-0x70]
+ mov r12d, dword ptr [rdi+0x3C]
+ jmp G_M1561_IG35
+ ;; size=73 bbWeight=0.50 PerfScore 11.25
G_M1561_IG24:
cmp dword ptr [rbx+0x3C], -1
jne SHORT G_M1561_IG25
- mov rdi, gword ptr [rbp-0x68]
- mov eax, dword ptr [rdi+0x38]
- mov dword ptr [rbp-0x34], eax
- test r14b, r14b
- je G_M1561_IG31
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
+ mov edi, dword ptr [rdi+0x38]
+ mov dword ptr [rbp-0x3C], edi
+ test r15b, r15b
+ je G_M1561_IG29
+ mov rdi, gword ptr [rbp-0x70]
mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
call [rcx]System.Data.DataRow:get_RowState():int:this
cmp eax, 2
- je G_M1561_IG32
- mov rdi, gword ptr [rbp-0x68]
+ je G_M1561_IG30
+ mov rdi, gword ptr [rbp-0x70]
mov eax, dword ptr [rdi+0x3C]
- jmp G_M1561_IG33
+ jmp G_M1561_IG31
;; size=62 bbWeight=0.50 PerfScore 9.88
G_M1561_IG25:
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
mov eax, dword ptr [rdi+0x38]
- mov dword ptr [rbp-0x34], eax
- mov rdi, gword ptr [rbp-0x68]
- mov ecx, dword ptr [rdi+0x3C]
- mov dword ptr [rbp-0x30], ecx
- mov rdi, gword ptr [rbp-0x68]
- mov rdx, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
- call [rdx]System.Data.DataRow:get_RowState():int:this
+ mov r12d, eax
+ mov rdi, gword ptr [rbp-0x70]
+ mov eax, dword ptr [rdi+0x3C]
+ mov dword ptr [rbp-0x38], eax
+ mov rdi, gword ptr [rbp-0x70]
+ mov rcx, 0xD1FFAB1E ; code for System.Data.DataRow:get_RowState():int:this
+ call [rcx]System.Data.DataRow:get_RowState():int:this
cmp eax, 2
jne SHORT G_M1561_IG26
- mov rdi, gword ptr [r15+0x50]
- mov rsi, r15
- mov edx, dword ptr [rbp-0x34]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rdi+0x50]
+ mov rsi, gword ptr [rbp-0x68]
+ mov edx, r12d
mov ecx, -1
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov dword ptr [rbp-0x30], eax
- ;; size=73 bbWeight=0.50 PerfScore 12.12
+ mov dword ptr [rbp-0x38], eax
+ ;; size=78 bbWeight=0.50 PerfScore 12.25
G_M1561_IG26:
- mov rdi, gword ptr [r15+0x50]
+ mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rsi+0x50]
mov rsi, gword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x38]
- mov ecx, dword ptr [rbp-0x34]
+ mov ecx, r12d
mov r8, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
call [r8]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov dword ptr [rbp-0x34], eax
- test r14b, r14b
- jne SHORT G_M1561_IG28
- mov rdi, gword ptr [r15+0x50]
+ mov r12d, eax
+ test r15b, r15b
+ jne SHORT G_M1561_IG27
+ mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rsi+0x50]
mov rsi, gword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x3C]
- mov ecx, dword ptr [rbp-0x30]
- mov r8, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
+ mov ecx, dword ptr [rbp-0x38]
+ mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
- call [r8]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov dword ptr [rbp-0x30], eax
- mov eax, dword ptr [rbp-0x34]
- ;; size=72 bbWeight=0.50 PerfScore 15.38
+ call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
+ mov dword ptr [rbp-0x38], eax
+ ;; size=76 bbWeight=0.50 PerfScore 15.12
G_M1561_IG27:
- mov r10d, dword ptr [rbp-0x30]
- cmp r10d, -1
- je SHORT G_M1561_IG30
- mov dword ptr [rbp-0x34], eax
+ mov eax, dword ptr [rbp-0x38]
+ cmp eax, -1
+ je SHORT G_M1561_IG28
mov dword ptr [rsp], -1
mov dword ptr [rsp+0x08], 1
lea rdi, [rbp-0x58]
mov qword ptr [rsp+0x10], rdi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
- mov edx, r10d
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
+ mov edx, eax
mov ecx, 2
mov r8d, 1
xor r9d, r9d
- mov r10, 0xD1FFAB1E ; code for System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
- call [r10]System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
+ mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
+ call [rax]System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
cmp gword ptr [rbp-0x58], 0
- je SHORT G_M1561_IG29
- jmp G_M1561_IG42
- ;; size=86 bbWeight=0.50 PerfScore 8.62
-G_M1561_IG28:
- mov eax, dword ptr [rbp-0x34]
- jmp SHORT G_M1561_IG27
- ;; size=5 bbWeight=0.25 PerfScore 0.75
-G_M1561_IG29:
+ jne G_M1561_IG40
xor rdi, rdi
mov gword ptr [rbp-0x58], rdi
- jmp G_M1561_IG38
- ;; size=11 bbWeight=0.50 PerfScore 1.62
-G_M1561_IG30:
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
- mov edx, eax
+ jmp G_M1561_IG36
+ ;; size=90 bbWeight=0.50 PerfScore 9.12
+G_M1561_IG28:
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
+ mov edx, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
call [rax]System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
cmp dword ptr [rdi+0x3C], -1
- je G_M1561_IG39
+ je G_M1561_IG37
mov dword ptr [rsp], -1
mov dword ptr [rsp+0x08], 1
lea rdi, [rbp-0x60]
mov qword ptr [rsp+0x10], rdi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov edx, -1
mov ecx, 2
mov r8d, 1
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
call [rax]System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
cmp gword ptr [rbp-0x60], 0
- jne G_M1561_IG41
+ jne G_M1561_IG39
xor rdi, rdi
mov gword ptr [rbp-0x60], rdi
- jmp G_M1561_IG39
- ;; size=119 bbWeight=0.50 PerfScore 12.50
-G_M1561_IG31:
- mov eax, dword ptr [rbp-0x34]
+ jmp G_M1561_IG37
+ ;; size=122 bbWeight=0.50 PerfScore 13.25
+G_M1561_IG29:
+ mov eax, dword ptr [rbp-0x3C]
mov r8d, -1
- mov dword ptr [rbp-0x30], r8d
- jmp SHORT G_M1561_IG34
+ mov dword ptr [rbp-0x38], r8d
+ jmp SHORT G_M1561_IG32
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M1561_IG32:
- mov eax, dword ptr [rbp-0x34]
- mov rdi, gword ptr [r15+0x50]
- mov rsi, r15
- mov dword ptr [rbp-0x34], eax
+G_M1561_IG30:
+ mov eax, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rdi+0x50]
+ mov rsi, gword ptr [rbp-0x68]
+ mov dword ptr [rbp-0x3C], eax
mov edx, eax
mov ecx, -1
mov r8, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
call [r8]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
mov r8d, eax
mov eax, r8d
- ;; size=41 bbWeight=0.50 PerfScore 5.75
-G_M1561_IG33:
- mov dword ptr [rbp-0x30], eax
- mov eax, dword ptr [rbp-0x34]
+ ;; size=46 bbWeight=0.50 PerfScore 6.62
+G_M1561_IG31:
+ mov dword ptr [rbp-0x38], eax
+ mov eax, dword ptr [rbp-0x3C]
;; size=6 bbWeight=0.50 PerfScore 1.00
-G_M1561_IG34:
- mov rdi, gword ptr [r15+0x50]
+G_M1561_IG32:
+ mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rsi+0x50]
mov rsi, gword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x38]
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- cmp r12d, 4
- mov r9d, dword ptr [rbp-0x30]
+ cmp r13d, 4
+ mov r9d, dword ptr [rbp-0x38]
mov edi, eax
cmove edi, r9d
- mov esi, dword ptr [rbp-0x38]
- cmp esi, edi
- je SHORT G_M1561_IG35
+ cmp r12d, edi
+ je SHORT G_M1561_IG33
mov r8d, 1
mov edi, 2
cmp r9d, -1
cmovne r8d, edi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov edx, r9d
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetMergeRecords(System.Data.DataRow,int,int,int):this
call [rax]System.Data.DataTable:SetMergeRecords(System.Data.DataRow,int,int,int):this
- mov rdi, r13
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.Index:Reset():this
cmp dword ptr [rdi], edi
call [rax]System.Data.Index:Reset():this
- jmp G_M1561_IG39
- ;; size=113 bbWeight=0.50 PerfScore 15.50
-G_M1561_IG35:
+ jmp G_M1561_IG37
+ ;; size=116 bbWeight=0.50 PerfScore 15.88
+G_M1561_IG33:
mov r8d, 1
mov edi, 2
cmp r9d, -1
cmovne r8d, edi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov edx, r9d
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetMergeRecords(System.Data.DataRow,int,int,int):this
call [rax]System.Data.DataTable:SetMergeRecords(System.Data.DataRow,int,int,int):this
- jmp G_M1561_IG39
- ;; size=48 bbWeight=0.50 PerfScore 4.00
-G_M1561_IG36:
- mov rdi, gword ptr [r15+0x50]
- mov rsi, r15
- mov edx, eax
+ jmp G_M1561_IG37
+ ;; size=49 bbWeight=0.50 PerfScore 4.38
+G_M1561_IG34:
+ mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rdi+0x50]
+ mov rsi, gword ptr [rbp-0x68]
+ mov edx, r12d
mov ecx, -1
mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov dword ptr [rbp-0x3C], eax
- ;; size=31 bbWeight=0.50 PerfScore 5.00
-G_M1561_IG37:
- mov rdi, gword ptr [r15+0x50]
+ mov r12d, eax
+ ;; size=37 bbWeight=0.50 PerfScore 5.50
+G_M1561_IG35:
+ mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rsi+0x50]
mov rsi, gword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x38]
- mov rcx, gword ptr [rbp-0x68]
+ mov rcx, gword ptr [rbp-0x70]
mov ecx, dword ptr [rcx+0x38]
- mov r8, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
+ mov rax, 0xD1FFAB1E ; code for System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
cmp dword ptr [rdi], edi
- call [r8]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
- mov dword ptr [rbp-0x34], eax
- mov edx, dword ptr [rbp-0x3C]
- cmp edx, -1
- je G_M1561_IG40
+ call [rax]System.Data.RecordManager:CopyRecord(System.Data.DataTable,int,int):int:this
+ mov dword ptr [rbp-0x3C], eax
+ cmp r12d, -1
+ je G_M1561_IG38
mov dword ptr [rsp], -1
mov dword ptr [rsp+0x08], 1
lea rdi, [rbp-0x48]
mov qword ptr [rsp+0x10], rdi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
+ mov edx, r12d
mov ecx, 2
mov r8d, 1
xor r9d, r9d
mov r10, 0xD1FFAB1E ; code for System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
call [r10]System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
cmp gword ptr [rbp-0x48], 0
- jne G_M1561_IG44
+ jne G_M1561_IG42
xor rdi, rdi
mov gword ptr [rbp-0x48], rdi
- ;; size=123 bbWeight=0.50 PerfScore 15.75
-G_M1561_IG38:
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
- mov edx, dword ptr [rbp-0x34]
+ mov r12d, dword ptr [rbp-0x3C]
+ ;; size=132 bbWeight=0.50 PerfScore 16.75
+G_M1561_IG36:
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
+ mov edx, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
call [rax]System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
- ;; size=22 bbWeight=0.50 PerfScore 2.75
-G_M1561_IG39:
- cmp r12d, 4
- jne G_M1561_IG45
- mov rdi, gword ptr [rbp-0x68]
+ ;; size=23 bbWeight=0.50 PerfScore 2.75
+G_M1561_IG37:
+ cmp r13d, 4
+ jne G_M1561_IG43
+ mov rdi, gword ptr [rbp-0x70]
cmp dword ptr [rdi+0x38], -1
- je G_M1561_IG45
- mov rdi, r13
+ je G_M1561_IG43
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.Index:Reset():this
cmp dword ptr [rdi], edi
call [rax]System.Data.Index:Reset():this
- jmp G_M1561_IG45
+ jmp G_M1561_IG43
;; size=46 bbWeight=0.50 PerfScore 7.38
-G_M1561_IG40:
- mov eax, dword ptr [rbp-0x34]
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+G_M1561_IG38:
+ mov eax, dword ptr [rbp-0x3C]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov edx, eax
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
call [rax]System.Data.DataTable:SetOldRecord(System.Data.DataRow,int):this
- mov rdi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x70]
cmp dword ptr [rdi+0x3C], -1
- je SHORT G_M1561_IG39
+ je SHORT G_M1561_IG37
mov dword ptr [rsp], -1
mov dword ptr [rsp+0x08], 1
lea rdi, [rbp-0x50]
mov qword ptr [rsp+0x10], rdi
- mov rdi, r15
- mov rsi, gword ptr [rbp-0x68]
+ mov rdi, gword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x70]
mov edx, -1
mov ecx, 2
mov r8d, 1
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
call [rax]System.Data.DataTable:SetNewRecordWorker(System.Data.DataRow,int,int,ubyte,ubyte,int,ubyte,byref):this
cmp gword ptr [rbp-0x50], 0
- jne SHORT G_M1561_IG43
+ jne SHORT G_M1561_IG41
xor rdi, rdi
mov gword ptr [rbp-0x50], rdi
- jmp G_M1561_IG39
- ;; size=114 bbWeight=0.50 PerfScore 13.00
-G_M1561_IG41:
+ jmp G_M1561_IG37
+ ;; size=116 bbWeight=0.50 PerfScore 13.75
+G_M1561_IG39:
mov rdi, gword ptr [rbp-0x60]
call CORINFO_HELP_THROW
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M1561_IG42:
+G_M1561_IG40:
mov rdi, gword ptr [rbp-0x58]
call CORINFO_HELP_THROW
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M1561_IG43:
+G_M1561_IG41:
mov rdi, gword ptr [rbp-0x50]
call CORINFO_HELP_THROW
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M1561_IG44:
+G_M1561_IG42:
mov rdi, gword ptr [rbp-0x48]
call CORINFO_HELP_THROW
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M1561_IG45:
- mov rdi, gword ptr [rbp-0x68]
- mov eax, dword ptr [rbp-0x2C]
+G_M1561_IG43:
+ mov rdi, gword ptr [rbp-0x70]
+ mov eax, dword ptr [rbp-0x34]
mov dword ptr [rdi+0x40], eax
jmp G_M1561_IG05
;; size=15 bbWeight=0.50 PerfScore 2.50
-G_M1561_IG46:
+G_M1561_IG44:
mov rdi, 0xD1FFAB1E ; System.Array+EmptyArray`1[System.Data.DataColumn]
call CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M1561_IG14
;; size=20 bbWeight=0 PerfScore 0.00
-G_M1561_IG47:
+G_M1561_IG45:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 40
mov rbp, qword ptr [rdi+0x18]
mov qword ptr [rsp+0x18], rbp
- lea rbp, [rbp+0x90]
+ lea rbp, [rbp+0xA0]
;; size=30 bbWeight=0 PerfScore 0.00
-G_M1561_IG48:
- mov rax, gword ptr [rbp-0x68]
- mov ecx, dword ptr [rbp-0x2C]
+G_M1561_IG46:
+ mov rax, gword ptr [rbp-0x70]
+ mov ecx, dword ptr [rbp-0x34]
mov dword ptr [rax+0x40], ecx
;; size=10 bbWeight=0 PerfScore 0.00
-G_M1561_IG49:
+G_M1561_IG47:
add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1982, prolog size 52, PerfScore 427.46, instruction count 483, allocated bytes for code 1982 (MethodHash=56caf9e6) for method System.Data.DataTable:MergeRow(System.Data.DataRow,System.Data.DataRow,ubyte,System.Data.Index):System.Data.DataRow:this (FullOpts)
+; Total bytes of code 2035, prolog size 60, PerfScore 432.33, instruction count 490, allocated bytes for code 2035 (MethodHash=56caf9e6) for method System.Data.DataTable:MergeRow(System.Data.DataRow,System.Data.DataRow,ubyte,System.Data.Index):System.Data.DataRow:this (FullOpts)
52 (1.01 % of base) - System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this
; Assembly listing for method System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 103 single block inlinees; 28 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T26] ( 23, 22 ) ref -> [rbp-0x108] this class-hnd EH-live single-def <System.DirectoryServices.Protocols.LdapConnection>
-; V01 arg1 [V01,T25] ( 26, 22.25) ref -> [rbp-0x110] class-hnd single-def <System.DirectoryServices.Protocols.DirectoryRequest>
-; V02 arg2 [V02,T60] ( 9, 9 ) byref -> [rbp-0x118] single-def
-; V03 loc0 [V03,T28] ( 13, 20 ) long -> [rbp-0x30] do-not-enreg[M] EH-live
-; V04 loc1 [V04,T09] ( 13, 41 ) ref -> [rbp-0x120] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapControl[]>
-; V05 loc2 [V05,T29] ( 13, 20 ) long -> [rbp-0x38] do-not-enreg[M] EH-live
-; V06 loc3 [V06,T10] ( 13, 41 ) ref -> [rbp-0x128] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapControl[]>
-; V07 loc4 [V07,T42] ( 6, 19 ) ref -> [rbp-0x130] class-hnd exact EH-live spill-single-def <System.Collections.ArrayList>
-; V08 loc5 [V08,T27] ( 8, 22 ) ref -> [rbp-0x138] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapMod[]>
-; V09 loc6 [V09,T53] ( 8, 15 ) long -> [rbp-0x40] do-not-enreg[M] EH-live
-; V10 loc7 [V10,T30] ( 6, 20 ) int -> [rbp-0x44] do-not-enreg[M] EH-live
-; V11 loc8 [V11,T70] ( 7, 7 ) ref -> [rbp-0x140] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.BerVal>
-; V12 loc9 [V12,T54] ( 7, 14 ) long -> [rbp-0x50] do-not-enreg[M] EH-live
-; V13 loc10 [V13,T31] ( 6, 20 ) int -> [rbp-0x54] do-not-enreg[M] EH-live
+; V00 this [V00,T26] ( 23, 22 ) ref -> [rbp-0x110] this class-hnd EH-live single-def <System.DirectoryServices.Protocols.LdapConnection>
+; V01 arg1 [V01,T25] ( 26, 22.25) ref -> [rbp-0x118] class-hnd single-def <System.DirectoryServices.Protocols.DirectoryRequest>
+; V02 arg2 [V02,T60] ( 9, 9 ) byref -> [rbp-0x120] single-def
+; V03 loc0 [V03,T28] ( 13, 20 ) long -> [rbp-0x38] do-not-enreg[M] EH-live
+; V04 loc1 [V04,T09] ( 13, 41 ) ref -> [rbp-0x128] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapControl[]>
+; V05 loc2 [V05,T29] ( 13, 20 ) long -> [rbp-0x40] do-not-enreg[M] EH-live
+; V06 loc3 [V06,T10] ( 13, 41 ) ref -> [rbp-0x130] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapControl[]>
+; V07 loc4 [V07,T42] ( 6, 19 ) ref -> [rbp-0x138] class-hnd exact EH-live spill-single-def <System.Collections.ArrayList>
+; V08 loc5 [V08,T27] ( 8, 22 ) ref -> [rbp-0x140] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.LdapMod[]>
+; V09 loc6 [V09,T53] ( 8, 15 ) long -> [rbp-0x48] do-not-enreg[M] EH-live
+; V10 loc7 [V10,T30] ( 6, 20 ) int -> [rbp-0x4C] do-not-enreg[M] EH-live
+; V11 loc8 [V11,T70] ( 7, 7 ) ref -> [rbp-0x148] do-not-enreg[M] class-hnd EH-live <System.DirectoryServices.Protocols.BerVal>
+; V12 loc9 [V12,T54] ( 7, 14 ) long -> [rbp-0x58] do-not-enreg[M] EH-live
+; V13 loc10 [V13,T31] ( 6, 20 ) int -> [rbp-0x5C] do-not-enreg[M] EH-live
; V14 loc11 [V14,T59] ( 11, 11 ) int -> r13
-; V15 loc12 [V15,T44] ( 3, 17 ) int -> [rbp-0x58] spill-single-def
-; V16 loc13 [V16,T63] ( 3, 10 ) long -> [rbp-0x60] spill-single-def
+; V15 loc12 [V15,T44] ( 3, 17 ) int -> [rbp-0x60] spill-single-def
+; V16 loc13 [V16,T63] ( 3, 10 ) long -> [rbp-0x68] spill-single-def
;* V17 loc14 [V17,T147] ( 0, 0 ) int -> zero-ref
;* V18 loc15 [V18 ] ( 0, 0 ) long -> zero-ref
-; V19 loc16 [V19,T64] ( 3, 10 ) long -> [rbp-0x68] spill-single-def
+; V19 loc16 [V19,T64] ( 3, 10 ) long -> [rbp-0x70] spill-single-def
;* V20 loc17 [V20,T148] ( 0, 0 ) int -> zero-ref
;* V21 loc18 [V21 ] ( 0, 0 ) long -> zero-ref
; V22 loc19 [V22,T126] ( 3, 3 ) ref -> rax class-hnd single-def <System.DirectoryServices.Protocols.CompareRequest>
; V23 loc20 [V23,T71] ( 7, 7 ) ref -> r13 class-hnd single-def <System.DirectoryServices.Protocols.DirectoryAttribute>
-; V24 loc21 [V24,T68] ( 8, 8 ) ref -> [rbp-0x148] class-hnd <ubyte[]>
-; V25 loc22 [V25,T133] ( 2, 2 ) ref -> [rbp-0x150] class-hnd exact spill-single-def <System.String>
-; V26 loc23 [V26,T95] ( 4, 4 ) ref -> [rbp-0x158] class-hnd spill-single-def <System.Uri>
+; V24 loc21 [V24,T68] ( 8, 8 ) ref -> [rbp-0x150] class-hnd <ubyte[]>
+; V25 loc22 [V25,T133] ( 2, 2 ) ref -> [rbp-0x158] class-hnd exact spill-single-def <System.String>
+; V26 loc23 [V26,T95] ( 4, 4 ) ref -> [rbp-0x160] class-hnd spill-single-def <System.Uri>
; V27 loc24 [V27,T127] ( 3, 3 ) ref -> rsi class-hnd single-def <ubyte[]>
-; V28 loc25 [V28,T65] ( 3, 10 ) long -> [rbp-0x70] spill-single-def
-; V29 loc26 [V29,T67] ( 2, 9 ) int -> [rbp-0x74] spill-single-def
+; V28 loc25 [V28,T65] ( 3, 10 ) long -> [rbp-0x78] spill-single-def
+; V29 loc26 [V29,T67] ( 2, 9 ) int -> [rbp-0x7C] spill-single-def
; V30 loc27 [V30,T134] ( 3, 2.50) int -> rcx
;* V31 loc28 [V31 ] ( 0, 0 ) long -> zero-ref
; V32 loc29 [V32,T96] ( 4, 4 ) ref -> rax class-hnd single-def <System.DirectoryServices.Protocols.ExtendedRequest>
; V33 loc30 [V33,T137] ( 2, 2 ) ref -> rbx class-hnd exact single-def <System.String>
; V34 loc31 [V34,T72] ( 7, 7 ) ref -> r13 class-hnd single-def <ubyte[]>
; V35 loc32 [V35,T43] ( 11, 18 ) ref -> r13 class-hnd single-def <System.DirectoryServices.Protocols.SearchRequest>
; V36 loc33 [V36,T94] ( 5, 4 ) ref -> rbx class-hnd single-def <System.Object>
; V37 loc34 [V37,T138] ( 2, 2 ) ref -> rbx class-hnd exact single-def <System.String>
-; V38 loc35 [V38,T141] ( 2, 2 ) int -> [rbp-0x78] spill-single-def
-; V39 loc36 [V39,T142] ( 2, 2 ) int -> [rbp-0x7C] spill-single-def
-; V40 loc37 [V40,T145] ( 3, 1 ) int -> [rbp-0x80] EH-live spill-single-def
-; V41 loc38 [V41,T66] ( 3, 10 ) long -> [rbp-0x88] spill-single-def
-; V42 loc39 [V42,T08] ( 7, 42 ) int -> [rbp-0x8C]
+; V38 loc35 [V38,T141] ( 2, 2 ) int -> [rbp-0x80] spill-single-def
+; V39 loc36 [V39,T142] ( 2, 2 ) int -> [rbp-0x84] spill-single-def
+; V40 loc37 [V40,T145] ( 3, 1 ) int -> [rbp-0x88] EH-live spill-single-def
+; V41 loc38 [V41,T66] ( 3, 10 ) long -> [rbp-0x90] spill-single-def
+; V42 loc39 [V42,T08] ( 7, 42 ) int -> [rbp-0x94]
;* V43 loc40 [V43 ] ( 0, 0 ) long -> zero-ref
;* V44 loc41 [V44 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.TimeSpan>
-; V45 loc42 [V45,T146] ( 2, 1 ) int -> [rbp-0x90] must-init EH-live single-def
+; V45 loc42 [V45,T146] ( 2, 1 ) int -> [rbp-0x98] must-init EH-live single-def
; V46 loc43 [V46,T19] ( 5, 33 ) int -> rbx
; V47 loc44 [V47,T36] ( 3, 20 ) long -> rax
;* V48 loc45 [V48,T149] ( 0, 0 ) int -> zero-ref
; V49 loc46 [V49,T20] ( 5, 33 ) int -> rbx
; V50 loc47 [V50,T37] ( 3, 20 ) long -> rax
;* V51 loc48 [V51,T150] ( 0, 0 ) int -> zero-ref
; V52 loc49 [V52,T21] ( 5, 33 ) int -> rbx
; V53 loc50 [V53,T38] ( 3, 20 ) long -> rax
; V54 loc51 [V54,T22] ( 5, 33 ) int -> rbx
; V55 loc52 [V55,T23] ( 5, 33 ) int -> r12
; V56 loc53 [V56,T39] ( 3, 20 ) long -> rax
; V57 OutArgs [V57 ] ( 1, 1 ) struct (40) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V58 tmp1 [V58,T80] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
; V59 tmp2 [V59,T98] ( 4, 4 ) int -> rdi
;* V60 tmp3 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V61 tmp4 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
; V62 tmp5 [V62,T155] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.NotSupportedException>
; V63 tmp6 [V63,T86] ( 5, 5 ) int -> rdi
; V64 tmp7 [V64,T99] ( 3, 4 ) ref -> rdi class-hnd single-def "impAppendStmt" <System.DirectoryServices.Protocols.LdapSessionOptions>
; V65 tmp8 [V65,T100] ( 2, 4 ) ref -> rdi class-hnd exact single-def "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
; V66 tmp9 [V66,T101] ( 2, 4 ) ref -> rsi class-hnd exact single-def "impAppendStmt" <System.String>
; V67 tmp10 [V67,T119] ( 2, 4 ) int -> r9 "impAppendStmt"
; V68 tmp11 [V68,T156] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V69 tmp12 [V69,T55] ( 6, 12 ) ref -> [rbp-0x160] class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
+; V69 tmp12 [V69,T55] ( 6, 12 ) ref -> [rbp-0x168] class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
; V70 tmp13 [V70,T73] ( 4, 7 ) ref -> rax single-def "ISINST eval op1"
;* V71 tmp14 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.String>
; V72 tmp15 [V72,T157] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V73 tmp16 [V73,T56] ( 6, 12 ) ref -> [rbp-0x168] class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
+; V73 tmp16 [V73,T56] ( 6, 12 ) ref -> [rbp-0x170] class-hnd exact spill-single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
;* V74 tmp17 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V75 tmp18 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V76 tmp19 [V76,T61] ( 5, 10 ) ref -> [rbp-0x170] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
-; V77 tmp20 [V77,T62] ( 5, 10 ) ref -> [rbp-0x178] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
+; V76 tmp19 [V76,T61] ( 5, 10 ) ref -> [rbp-0x178] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
+; V77 tmp20 [V77,T62] ( 5, 10 ) ref -> [rbp-0x180] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
; V78 tmp21 [V78,T158] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
; V79 tmp22 [V79,T159] ( 3, 0 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V80 tmp23 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V81 tmp24 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V82 tmp25 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V83 tmp26 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V84 tmp27 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.DirectoryServices.Protocols.ConnectionHandle>
; V85 tmp28 [V85,T05] ( 4, 52 ) ref -> r15 "inline UNBOX clone1"
;* V86 tmp29 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.LdapDirectoryIdentifier>
;* V87 tmp30 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V88 tmp31 [V88,T15] ( 3, 40 ) long -> rdi "Inlining Arg"
; V89 tmp32 [V89,T45] ( 3, 16 ) long -> rdi
; V90 tmp33 [V90,T01] ( 4, 64 ) long -> rbx "dup spill"
;* V91 tmp34 [V91 ] ( 0, 0 ) long -> zero-ref
;* V92 tmp35 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.LdapControl>
;* V93 tmp36 [V93 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V94 tmp37 [V94,T16] ( 3, 40 ) long -> rdi "Inlining Arg"
; V95 tmp38 [V95,T46] ( 3, 16 ) long -> rdi
; V96 tmp39 [V96,T02] ( 4, 64 ) long -> rbx "dup spill"
;* V97 tmp40 [V97 ] ( 0, 0 ) long -> zero-ref
;* V98 tmp41 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.LdapControl>
;* V99 tmp42 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.DeleteRequest>
;* V100 tmp43 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V101 tmp44 [V101 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyDNRequest>
;* V102 tmp45 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyDNRequest>
;* V103 tmp46 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyDNRequest>
;* V104 tmp47 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyDNRequest>
;* V105 tmp48 [V105 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V106 tmp49 [V106 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V107 tmp50 [V107 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V108 tmp51 [V108,T84] ( 3, 6 ) long -> rdi "Inlining Arg"
; V109 tmp52 [V109,T120] ( 2, 4 ) int -> rax "Inlining Arg"
;* V110 tmp53 [V110 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V111 tmp54 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V112 tmp55 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V113 tmp56 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V114 tmp57 [V114 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V115 tmp58 [V115 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V116 tmp59 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V117 tmp60 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.CompareRequest>
;* V118 tmp61 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V119 tmp62 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.AddRequest>
;* V120 tmp63 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyRequest>
;* V121 tmp64 [V121 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V122 tmp65 [V122,T17] ( 3, 40 ) long -> rdi "Inlining Arg"
; V123 tmp66 [V123,T47] ( 3, 16 ) long -> rdi
; V124 tmp67 [V124,T03] ( 4, 64 ) long -> rbx "dup spill"
;* V125 tmp68 [V125 ] ( 0, 0 ) long -> zero-ref
;* V126 tmp69 [V126 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.LdapMod>
;* V127 tmp70 [V127 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.AddRequest>
;* V128 tmp71 [V128 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V129 tmp72 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ModifyRequest>
;* V130 tmp73 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V131 tmp74 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V132 tmp75 [V132 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V133 tmp76 [V133 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V134 tmp77 [V134 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V135 tmp78 [V135 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V136 tmp79 [V136 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Specialized.StringCollection>
;* V137 tmp80 [V137 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Specialized.StringCollection>
;* V138 tmp81 [V138 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V139 tmp82 [V139,T81] ( 3, 6 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.LdapSessionOptions>
; V140 tmp83 [V140,T121] ( 2, 4 ) int -> rdx "Inlining Arg"
-; V141 tmp84 [V141 ] ( 2, 2 ) int -> [rbp-0x98] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
-; V142 tmp85 [V142,T160] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.ObjectDisposedException>
+; V141 tmp84 [V141 ] ( 2, 2 ) int -> [rbp-0xA0] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
+; V142 tmp85 [V142,T160] ( 3, 0 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.ObjectDisposedException>
; V143 tmp86 [V143,T161] ( 2, 0 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
;* V144 tmp87 [V144 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V145 tmp88 [V145 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
-; V146 tmp89 [V146 ] ( 6, 6 ) struct ( 8) [rbp-0xA0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
+; V146 tmp89 [V146 ] ( 6, 6 ) struct ( 8) [rbp-0xA8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
;* V147 tmp90 [V147 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V148 tmp91 [V148,T122] ( 2, 4 ) int -> rdx "Inlining Arg"
; V149 tmp92 [V149,T93] ( 7, 4 ) ref -> rdi class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.LdapSessionOptions>
-; V150 tmp93 [V150 ] ( 4, 2 ) int -> [rbp-0xA8] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
-; V151 tmp94 [V151,T153] ( 6, 0 ) ref -> r15 class-hnd exact "NewObj constructor temp" <System.ObjectDisposedException>
+; V150 tmp93 [V150 ] ( 4, 2 ) int -> [rbp-0xB0] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
+; V151 tmp94 [V151,T153] ( 6, 0 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.ObjectDisposedException>
; V152 tmp95 [V152,T154] ( 4, 0 ) ref -> rbx class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V153 tmp96 [V153 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V154 tmp97 [V154 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V155 tmp98 [V155,T49] ( 2, 16 ) long -> rdi "Inlining Arg"
; V156 tmp99 [V156,T50] ( 2, 16 ) long -> rdi "Inlining Arg"
;* V157 tmp100 [V157 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V158 tmp101 [V158,T51] ( 2, 16 ) long -> rdi "Inlining Arg"
; V159 tmp102 [V159,T52] ( 2, 16 ) long -> rdi "Inlining Arg"
;* V160 tmp103 [V160 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V161 tmp104 [V161,T18] ( 3, 40 ) long -> rdi "Inlining Arg"
; V162 tmp105 [V162,T123] ( 2, 4 ) long -> rdi "Inlining Arg"
;* V163 tmp106 [V163 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V164 tmp107 [V164,T124] ( 2, 4 ) int -> rax "Single return block return value"
; V165 FramesRoot [V165,T00] ( 14, 98 ) long -> r13 "Pinvoke FrameListRoot"
-; V166 PInvokeFrame[V166 ] ( 16,100 ) struct (64) [rbp-0xE8] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
+; V166 PInvokeFrame[V166 ] ( 16,100 ) struct (64) [rbp-0xF0] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
; V167 tmp110 [V167,T131] ( 3, 3 ) long -> r8 single-def "field V44._ticks (fldOffset=0x0)" P-INDEP
; V168 tmp111 [V168,T139] ( 2, 2 ) byref -> rsi single-def "field V110._reference (fldOffset=0x0)" P-INDEP
; V169 tmp112 [V169,T143] ( 2, 2 ) int -> rax single-def "field V110._length (fldOffset=0x8)" P-INDEP
;* V170 tmp113 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V111._reference (fldOffset=0x0)" P-INDEP
;* V171 tmp114 [V171 ] ( 0, 0 ) int -> zero-ref single-def "field V111._length (fldOffset=0x8)" P-INDEP
; V172 tmp115 [V172,T140] ( 2, 2 ) byref -> rdi single-def "field V112._reference (fldOffset=0x0)" P-INDEP
;* V173 tmp116 [V173 ] ( 0, 0 ) int -> zero-ref single-def "field V112._length (fldOffset=0x8)" P-INDEP
;* V174 tmp117 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V113._reference (fldOffset=0x0)" P-INDEP
;* V175 tmp118 [V175 ] ( 0, 0 ) int -> zero-ref single-def "field V113._length (fldOffset=0x8)" P-INDEP
; V176 tmp119 [V176,T144] ( 2, 2 ) int -> r13 single-def "field V145.tv_sec (fldOffset=0x0)" P-INDEP
;* V177 tmp120 [V177,T151] ( 0, 0 ) int -> zero-ref single-def "field V145.tv_usec (fldOffset=0x4)" P-INDEP
-; V178 tmp121 [V178 ] ( 5, 5 ) int -> [rbp-0xA0] do-not-enreg[X] addr-exposed "field V146.tv_sec (fldOffset=0x0)" P-DEP
-; V179 tmp122 [V179 ] ( 2, 2 ) int -> [rbp-0x9C] do-not-enreg[X] addr-exposed "field V146.tv_usec (fldOffset=0x4)" P-DEP
+; V178 tmp121 [V178 ] ( 5, 5 ) int -> [rbp-0xA8] do-not-enreg[X] addr-exposed "field V146.tv_sec (fldOffset=0x0)" P-DEP
+; V179 tmp122 [V179 ] ( 2, 2 ) int -> [rbp-0xA4] do-not-enreg[X] addr-exposed "field V146.tv_usec (fldOffset=0x4)" P-DEP
; V180 tmp123 [V180,T87] ( 3, 4.50) ref -> rax single-def "argument with side effect"
; V181 tmp124 [V181,T162] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V182 tmp125 [V182,T82] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
; V183 tmp126 [V183,T07] ( 3, 48 ) ref -> rdi "argument with side effect"
; V184 tmp127 [V184,T24] ( 3, 32 ) ref -> rax "argument with side effect"
; V185 tmp128 [V185,T163] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V186 tmp129 [V186,T164] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V187 tmp130 [V187,T165] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V188 tmp131 [V188,T166] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V189 tmp132 [V189,T102] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V190 tmp133 [V190,T103] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V191 tmp134 [V191,T104] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V192 tmp135 [V192,T105] ( 2, 4 ) ref -> r13 single-def "argument with side effect"
; V193 tmp136 [V193,T106] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V194 tmp137 [V194,T107] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
+; V194 tmp137 [V194,T107] ( 2, 4 ) ref -> r13 single-def "argument with side effect"
; V195 tmp138 [V195,T83] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
; V196 tmp139 [V196,T108] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V197 tmp140 [V197,T109] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V198 tmp141 [V198,T167] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V199 tmp142 [V199,T110] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V200 tmp143 [V200,T111] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V201 tmp144 [V201,T112] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
+; V201 tmp144 [V201,T112] ( 2, 4 ) ref -> [rbp-0x188] spill-single-def "argument with side effect"
; V202 tmp145 [V202,T168] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V203 tmp146 [V203,T169] ( 2, 0 ) ref -> rsi single-def "argument with side effect"
; V204 tmp147 [V204,T113] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V205 tmp148 [V205,T114] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V206 tmp149 [V206,T115] ( 2, 4 ) ref -> rcx single-def "argument with side effect"
; V207 tmp150 [V207,T125] ( 2, 4 ) int -> r8 "argument with side effect"
; V208 tmp151 [V208,T116] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
; V209 tmp152 [V209,T117] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V210 tmp153 [V210,T118] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V211 PSPSym [V211,T152] ( 1, 1 ) long -> [rbp-0x188] do-not-enreg[V] "PSPSym"
-; V212 cse0 [V212,T97] ( 4, 4 ) ref -> [rbp-0x180] spill-single-def "CSE #09: conservative"
+; V211 PSPSym [V211,T152] ( 1, 1 ) long -> [rbp-0x198] do-not-enreg[V] "PSPSym"
+; V212 cse0 [V212,T97] ( 4, 4 ) ref -> [rbp-0x190] spill-single-def "CSE #09: conservative"
; V213 cse1 [V213,T57] ( 3, 12 ) long -> rdi "CSE #27: conservative"
; V214 cse2 [V214,T58] ( 3, 12 ) long -> rdi "CSE #34: conservative"
; V215 cse3 [V215,T34] ( 3, 20 ) ref -> rdi "CSE #26: moderate"
; V216 cse4 [V216,T35] ( 3, 20 ) ref -> rdi "CSE #33: moderate"
; V217 cse5 [V217,T40] ( 3, 20 ) long -> rdi "CSE #24: moderate"
; V218 cse6 [V218,T41] ( 3, 20 ) long -> rdi "CSE #31: moderate"
; V219 cse7 [V219,T128] ( 3, 3 ) ref -> rdi "CSE #16: conservative"
; V220 cse8 [V220,T129] ( 3, 3 ) ref -> rsi "CSE #17: conservative"
; V221 cse9 [V221,T130] ( 3, 3 ) ref -> rdx "CSE #19: conservative"
; V222 cse10 [V222,T132] ( 3, 3 ) long -> rdi "CSE #37: conservative"
; V223 cse11 [V223,T32] ( 6, 20 ) int -> r15 multi-def "CSE #21: moderate"
; V224 cse12 [V224,T33] ( 6, 20 ) int -> r15 multi-def "CSE #28: moderate"
-; V225 rat0 [V225,T11] ( 6, 41 ) long -> [rbp-0xF0] "Widened IV V17"
-; V226 rat1 [V226,T12] ( 6, 41 ) long -> [rbp-0xF8] "Widened IV V20"
-; V227 rat2 [V227,T06] ( 8, 49.50) long -> [rbp-0x100] "Widened IV V30"
+; V225 rat0 [V225,T11] ( 6, 41 ) long -> [rbp-0xF8] "Widened IV V17"
+; V226 rat1 [V226,T12] ( 6, 41 ) long -> [rbp-0x100] "Widened IV V20"
+; V227 rat2 [V227,T06] ( 8, 49.50) long -> [rbp-0x108] "Widened IV V30"
; V228 rat3 [V228,T13] ( 6, 41 ) long -> rbx "Widened IV V48"
; V229 rat4 [V229,T14] ( 6, 41 ) long -> rbx "Widened IV V51"
; V230 rat5 [V230,T69] ( 5, 7.50) ref -> rcx "replacement local"
; V231 rat6 [V231,T135] ( 3, 2.50) long -> rdi "CSE for expectedClsNode"
-; V232 rat7 [V232,T75] ( 4, 6.50) ref -> rax "replacement local"
+; V232 rat7 [V232,T75] ( 4, 6.50) ref -> rcx "replacement local"
; V233 rat8 [V233,T88] ( 3, 4.50) long -> rdi "CSE for expectedClsNode"
; V234 rat9 [V234,T76] ( 4, 6.50) ref -> rcx "replacement local"
; V235 rat10 [V235,T89] ( 3, 4.50) long -> rdi "CSE for expectedClsNode"
; V236 rat11 [V236,T77] ( 4, 6.50) ref -> rcx "replacement local"
; V237 rat12 [V237,T90] ( 3, 4.50) long -> rdi "CSE for expectedClsNode"
; V238 rat13 [V238,T78] ( 4, 6.50) ref -> rax "replacement local"
; V239 rat14 [V239,T91] ( 3, 4.50) long -> rdi "CSE for expectedClsNode"
; V240 rat15 [V240,T79] ( 4, 6.50) ref -> rax "replacement local"
; V241 rat16 [V241,T92] ( 3, 4.50) long -> rdi "CSE for expectedClsNode"
; V242 rat17 [V242,T74] ( 4, 7 ) ref -> rax "replacement local"
; V243 rat18 [V243,T136] ( 3, 2 ) long -> rdi "CSE for expectedClsNode"
; V244 rat19 [V244,T04] ( 4, 56 ) ref -> rdi "replacement local"
; V245 rat20 [V245,T48] ( 3, 16 ) long -> rcx "CSE for expectedClsNode"
; V246 rat21 [V246,T85] ( 3, 6 ) long -> rdx "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 392
+; Lcl frame size = 408
G_M38734_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 392
+ sub rsp, 408
vzeroupper
- lea rbp, [rsp+0x1B0]
+ lea rbp, [rsp+0x1C0]
vxorps xmm8, xmm8, xmm8
- vmovdqu xmmword ptr [rbp-0xA8], xmm8
+ vmovdqa xmmword ptr [rbp-0xB0], xmm8
xor eax, eax
- mov qword ptr [rbp-0x98], rax
- mov dword ptr [rbp-0x90], eax
- mov qword ptr [rbp-0x188], rsp
- mov gword ptr [rbp-0x108], rdi
- mov bword ptr [rbp-0x118], rdx
+ mov qword ptr [rbp-0xA0], rax
+ mov dword ptr [rbp-0x98], eax
+ mov qword ptr [rbp-0x198], rsp
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x110], rdi
+ mov bword ptr [rbp-0x120], rdx
mov r15, rdi
mov rbx, rsi
- ;; size=83 bbWeight=1 PerfScore 15.83
+ ;; size=87 bbWeight=1 PerfScore 16.83
G_M38734_IG02:
- lea rdi, [rbp-0xE0]
+ lea rdi, [rbp-0xE8]
call CORINFO_HELP_INIT_PINVOKE_FRAME
mov r13, rax
mov rdi, rsp
- mov qword ptr [rbp-0xC8], rdi
+ mov qword ptr [rbp-0xD0], rdi
mov rdi, rbp
- mov qword ptr [rbp-0xB8], rdi
- mov r14, bword ptr [rbp-0x118]
+ mov qword ptr [rbp-0xC0], rdi
+ mov r14, bword ptr [rbp-0x120]
xor edi, edi
- mov qword ptr [rbp-0x30], rdi
+ mov qword ptr [rbp-0x38], rdi
;; size=48 bbWeight=1 PerfScore 6.50
G_M38734_IG03:
- mov gword ptr [rbp-0x120], rdi
+ mov gword ptr [rbp-0x128], rdi
;; size=7 bbWeight=1 PerfScore 1.00
G_M38734_IG04:
- mov qword ptr [rbp-0x38], rdi
+ mov qword ptr [rbp-0x40], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M38734_IG05:
- mov gword ptr [rbp-0x128], rdi
+ mov gword ptr [rbp-0x130], rdi
mov rdi, 0xD1FFAB1E ; System.Collections.ArrayList
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov rdi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [r12+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov gword ptr [rbp-0x130], r12
+ mov gword ptr [rbp-0x138], r12
xor rdi, rdi
- mov gword ptr [rbp-0x138], rdi
+ mov gword ptr [rbp-0x140], rdi
;; size=64 bbWeight=1 PerfScore 8.50
G_M38734_IG06:
- mov qword ptr [rbp-0x40], rdi
+ mov qword ptr [rbp-0x48], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M38734_IG07:
- mov dword ptr [rbp-0x44], edi
+ mov dword ptr [rbp-0x4C], edi
;; size=3 bbWeight=1 PerfScore 1.00
G_M38734_IG08:
- mov gword ptr [rbp-0x140], rdi
+ mov gword ptr [rbp-0x148], rdi
;; size=7 bbWeight=1 PerfScore 1.00
G_M38734_IG09:
- mov qword ptr [rbp-0x50], rdi
+ mov qword ptr [rbp-0x58], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M38734_IG10:
- mov dword ptr [rbp-0x54], edi
+ mov dword ptr [rbp-0x5C], edi
cmp byte ptr [r15+0x48], 0
- mov r12, gword ptr [rbp-0x130]
+ mov r12, gword ptr [rbp-0x138]
jne SHORT G_M38734_IG11
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:Connect():this
call [rax]System.DirectoryServices.Protocols.LdapConnection:Connect():this
mov byte ptr [r15+0x48], 1
;; size=37 bbWeight=1 PerfScore 10.50
G_M38734_IG11:
cmp byte ptr [r15+0x49], 0
je SHORT G_M38734_IG16
cmp byte ptr [r15+0x46], 0
je SHORT G_M38734_IG12
cmp byte ptr [r15+0x47], 0
je SHORT G_M38734_IG16
;; size=21 bbWeight=1 PerfScore 12.00
G_M38734_IG12:
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.DirectoryServices.Protocols.DirectoryConnection:get_Directory():System.DirectoryServices.Protocols.DirectoryIdentifier:this
mov rcx, rax
test rcx, rcx
je SHORT G_M38734_IG15
;; size=21 bbWeight=1 PerfScore 8.75
G_M38734_IG13:
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.LdapDirectoryIdentifier
cmp qword ptr [rcx], rdi
je SHORT G_M38734_IG15
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M38734_IG14:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=0.25 PerfScore 0.94
G_M38734_IG15:
cmp byte ptr [rcx+0x14], 0
jne SHORT G_M38734_IG16
mov rsi, gword ptr [r15+0x08]
mov rdi, r15
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:BindHelper(System.Net.NetworkCredential,ubyte):this
call [rax]System.DirectoryServices.Protocols.LdapConnection:BindHelper(System.Net.NetworkCredential,ubyte):this
- mov r15, gword ptr [rbp-0x108]
+ mov r15, gword ptr [rbp-0x110]
;; size=34 bbWeight=1 PerfScore 10.75
G_M38734_IG16:
- mov gword ptr [rbp-0x110], rbx
+ mov gword ptr [rbp-0x118], rbx
mov rdi, gword ptr [rbx+0x10]
mov esi, 1
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[]
call [rax]System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[]
- mov gword ptr [rbp-0x120], rax
+ mov gword ptr [rbp-0x128], rax
mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.Marshal:SizeOf[System.DirectoryServices.Protocols.LdapControl]():int
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int
call [rax]System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int
- mov dword ptr [rbp-0x58], eax
- cmp gword ptr [rbp-0x120], 0
+ mov dword ptr [rbp-0x60], eax
+ cmp gword ptr [rbp-0x128], 0
je G_M38734_IG27
- mov rdi, gword ptr [rbp-0x120]
+ mov rdi, gword ptr [rbp-0x128]
mov edi, dword ptr [rdi+0x08]
inc edi
mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
call [rcx]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
- mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0x60], rax
+ mov qword ptr [rbp-0x38], rax
+ mov qword ptr [rbp-0x68], rax
xor ecx, ecx
- mov qword ptr [rbp-0xF0], rcx
- mov rdi, gword ptr [rbp-0x120]
+ mov qword ptr [rbp-0xF8], rcx
+ mov rdi, gword ptr [rbp-0x128]
cmp dword ptr [rdi+0x08], 0
jle SHORT G_M38734_IG19
;; size=128 bbWeight=1 PerfScore 29.75
G_M38734_IG17:
- movsxd rdi, dword ptr [rbp-0x58]
+ movsxd rdi, dword ptr [rbp-0x60]
test rdi, rdi
jne SHORT G_M38734_IG20
;; size=9 bbWeight=8 PerfScore 34.00
G_M38734_IG18:
mov edi, 1
- mov bword ptr [rbp-0x118], r14
+ mov bword ptr [rbp-0x120], r14
jmp SHORT G_M38734_IG21
;; size=14 bbWeight=4 PerfScore 13.00
G_M38734_IG19:
- mov bword ptr [rbp-0x118], r14
- mov r14, qword ptr [rbp-0x60]
+ mov bword ptr [rbp-0x120], r14
+ mov r14, qword ptr [rbp-0x68]
jmp G_M38734_IG26
;; size=16 bbWeight=0.50 PerfScore 2.00
G_M38734_IG20:
- mov bword ptr [rbp-0x118], r14
+ mov bword ptr [rbp-0x120], r14
;; size=7 bbWeight=4 PerfScore 4.00
G_M38734_IG21:
mov rsi, 0xD1FFAB1E ; function address
- mov qword ptr [rbp-0xD0], rsi
+ mov qword ptr [rbp-0xD8], rsi
lea rsi, G_M38734_IG24
- mov qword ptr [rbp-0xC0], rsi
- lea rsi, [rbp-0xE0]
+ mov qword ptr [rbp-0xC8], rsi
+ lea rsi, [rbp-0xE8]
mov qword ptr [r13+0x08], rsi
mov byte ptr [r13+0x04], 0
;; size=47 bbWeight=8 PerfScore 46.00
G_M38734_IG22:
mov rsi, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong
;; size=10 bbWeight=8 PerfScore 2.00
G_M38734_IG23:
call [rsi]Interop+Sys:Malloc(ulong):ulong
;; size=2 bbWeight=8 PerfScore 24.00
G_M38734_IG24:
mov byte ptr [r13+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M38734_IG25
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=32 bbWeight=8 PerfScore 68.00
G_M38734_IG25:
- mov rdi, qword ptr [rbp-0xD8]
+ mov rdi, qword ptr [rbp-0xE0]
mov qword ptr [r13+0x08], rdi
mov rbx, rax
test rbx, rbx
- je G_M38734_IG96
- mov rdi, gword ptr [rbp-0x120]
- mov r15, qword ptr [rbp-0xF0]
+ je G_M38734_IG97
+ mov rdi, gword ptr [rbp-0x128]
+ mov r15, qword ptr [rbp-0xF8]
mov rdi, gword ptr [rdi+8*r15+0x10]
mov rsi, rbx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
call [rax]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
movsxd rdi, r15d
- mov r14, qword ptr [rbp-0x60]
+ mov r14, qword ptr [rbp-0x68]
mov qword ptr [r14+8*rdi], rbx
inc r15d
- mov rdi, gword ptr [rbp-0x120]
+ mov rdi, gword ptr [rbp-0x128]
cmp dword ptr [rdi+0x08], r15d
- mov qword ptr [rbp-0xF0], r15
+ mov qword ptr [rbp-0xF8], r15
jg G_M38734_IG31
;; size=97 bbWeight=8 PerfScore 158.00
G_M38734_IG26:
- mov rdi, gword ptr [rbp-0x120]
+ mov rdi, gword ptr [rbp-0x128]
mov edi, dword ptr [rdi+0x08]
xor esi, esi
mov qword ptr [r14+8*rdi], rsi
- mov r12, gword ptr [rbp-0x130]
- mov r14, bword ptr [rbp-0x118]
- mov r15, gword ptr [rbp-0x108]
+ mov r12, gword ptr [rbp-0x138]
+ mov r14, bword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x110]
;; size=37 bbWeight=1 PerfScore 7.25
G_M38734_IG27:
- mov rbx, gword ptr [rbp-0x110]
+ mov rbx, gword ptr [rbp-0x118]
mov rdi, gword ptr [rbx+0x10]
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[]
call [rcx]System.DirectoryServices.Protocols.LdapConnection:BuildControlArray(System.DirectoryServices.Protocols.DirectoryControlCollection,ubyte):System.DirectoryServices.Protocols.LdapControl[]
- mov gword ptr [rbp-0x128], rax
- cmp gword ptr [rbp-0x128], 0
- mov rbx, gword ptr [rbp-0x110]
+ mov gword ptr [rbp-0x130], rax
+ cmp gword ptr [rbp-0x130], 0
+ mov rbx, gword ptr [rbp-0x118]
je G_M38734_IG39
- mov rdi, gword ptr [rbp-0x128]
+ mov rdi, gword ptr [rbp-0x130]
mov edi, dword ptr [rdi+0x08]
inc edi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
call [rax]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
- mov qword ptr [rbp-0x38], rax
- mov qword ptr [rbp-0x68], rax
+ mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x70], rax
xor ecx, ecx
- mov qword ptr [rbp-0xF8], rcx
- mov rdi, gword ptr [rbp-0x128]
+ mov qword ptr [rbp-0x100], rcx
+ mov rdi, gword ptr [rbp-0x130]
cmp dword ptr [rdi+0x08], 0
jle SHORT G_M38734_IG30
;; size=107 bbWeight=1 PerfScore 26.25
G_M38734_IG28:
- movsxd rdi, dword ptr [rbp-0x58]
+ movsxd rdi, dword ptr [rbp-0x60]
test rdi, rdi
jne SHORT G_M38734_IG32
;; size=9 bbWeight=8 PerfScore 34.00
G_M38734_IG29:
mov edi, 1
- mov gword ptr [rbp-0x110], rbx
- mov bword ptr [rbp-0x118], r14
+ mov gword ptr [rbp-0x118], rbx
+ mov bword ptr [rbp-0x120], r14
jmp SHORT G_M38734_IG33
;; size=21 bbWeight=4 PerfScore 17.00
G_M38734_IG30:
- mov gword ptr [rbp-0x110], rbx
- mov bword ptr [rbp-0x118], r14
- mov r14, qword ptr [rbp-0x68]
+ mov gword ptr [rbp-0x118], rbx
+ mov bword ptr [rbp-0x120], r14
+ mov r14, qword ptr [rbp-0x70]
jmp G_M38734_IG38
;; size=23 bbWeight=0.50 PerfScore 2.50
G_M38734_IG31:
- mov r12, gword ptr [rbp-0x130]
- mov r14, bword ptr [rbp-0x118]
- mov r15, gword ptr [rbp-0x108]
+ mov r12, gword ptr [rbp-0x138]
+ mov r14, bword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x110]
jmp G_M38734_IG17
;; size=26 bbWeight=4 PerfScore 20.00
G_M38734_IG32:
- mov gword ptr [rbp-0x110], rbx
- mov bword ptr [rbp-0x118], r14
+ mov gword ptr [rbp-0x118], rbx
+ mov bword ptr [rbp-0x120], r14
;; size=14 bbWeight=4 PerfScore 8.00
G_M38734_IG33:
mov rsi, 0xD1FFAB1E ; function address
- mov qword ptr [rbp-0xD0], rsi
+ mov qword ptr [rbp-0xD8], rsi
lea rsi, G_M38734_IG36
- mov qword ptr [rbp-0xC0], rsi
- lea rsi, [rbp-0xE0]
+ mov qword ptr [rbp-0xC8], rsi
+ lea rsi, [rbp-0xE8]
mov qword ptr [r13+0x08], rsi
mov byte ptr [r13+0x04], 0
;; size=47 bbWeight=8 PerfScore 46.00
G_M38734_IG34:
mov rsi, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong
;; size=10 bbWeight=8 PerfScore 2.00
G_M38734_IG35:
call [rsi]Interop+Sys:Malloc(ulong):ulong
;; size=2 bbWeight=8 PerfScore 24.00
G_M38734_IG36:
mov byte ptr [r13+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M38734_IG37
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=32 bbWeight=8 PerfScore 68.00
G_M38734_IG37:
- mov rdi, qword ptr [rbp-0xD8]
+ mov rdi, qword ptr [rbp-0xE0]
mov qword ptr [r13+0x08], rdi
mov rbx, rax
test rbx, rbx
- je G_M38734_IG96
- mov rdi, gword ptr [rbp-0x128]
- mov r15, qword ptr [rbp-0xF8]
+ je G_M38734_IG97
+ mov rdi, gword ptr [rbp-0x130]
+ mov r15, qword ptr [rbp-0x100]
mov rdi, gword ptr [rdi+8*r15+0x10]
mov rsi, rbx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
call [rax]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
movsxd rsi, r15d
- mov r14, qword ptr [rbp-0x68]
+ mov r14, qword ptr [rbp-0x70]
mov qword ptr [r14+8*rsi], rbx
inc r15d
- mov rsi, gword ptr [rbp-0x128]
+ mov rsi, gword ptr [rbp-0x130]
cmp dword ptr [rsi+0x08], r15d
- mov qword ptr [rbp-0xF8], r15
+ mov qword ptr [rbp-0x100], r15
jg SHORT G_M38734_IG40
;; size=93 bbWeight=8 PerfScore 158.00
G_M38734_IG38:
- mov rsi, gword ptr [rbp-0x128]
+ mov rsi, gword ptr [rbp-0x130]
mov esi, dword ptr [rsi+0x08]
xor edi, edi
mov qword ptr [r14+8*rsi], rdi
- mov rbx, gword ptr [rbp-0x110]
- mov r12, gword ptr [rbp-0x130]
- mov r14, bword ptr [rbp-0x118]
- mov r15, gword ptr [rbp-0x108]
+ mov rbx, gword ptr [rbp-0x118]
+ mov r12, gword ptr [rbp-0x138]
+ mov r14, bword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x110]
;; size=44 bbWeight=1 PerfScore 8.25
G_M38734_IG39:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.DeleteRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M38734_IG41
mov rdi, gword ptr [r15+0x28]
mov rsi, gword ptr [rbx+0x18]
- mov rdx, qword ptr [rbp-0x30]
- mov rcx, qword ptr [rbp-0x38]
+ mov rdx, qword ptr [rbp-0x38]
+ mov rcx, qword ptr [rbp-0x40]
mov r8, r14
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_delete_ext(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,byref):int
call [rax]Interop+Ldap:ldap_delete_ext(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,byref):int
mov r13d, eax
jmp SHORT G_M38734_IG42
;; size=66 bbWeight=1 PerfScore 16.75
G_M38734_IG40:
- mov rbx, gword ptr [rbp-0x110]
- mov r12, gword ptr [rbp-0x130]
- mov r14, bword ptr [rbp-0x118]
- mov r15, gword ptr [rbp-0x108]
+ mov rbx, gword ptr [rbp-0x118]
+ mov r12, gword ptr [rbp-0x138]
+ mov r14, bword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x110]
jmp G_M38734_IG28
;; size=33 bbWeight=4 PerfScore 24.00
G_M38734_IG41:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.ModifyDNRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M38734_IG43
mov rdi, gword ptr [r15+0x28]
mov rsi, gword ptr [rbx+0x18]
mov rdx, gword ptr [rbx+0x28]
mov rcx, gword ptr [rbx+0x20]
cmp byte ptr [rbx+0x30], 0
setne r8b
movzx r8, r8b
- mov r9, qword ptr [rbp-0x38]
+ mov r9, qword ptr [rbp-0x40]
mov qword ptr [rsp], r9
mov bword ptr [rsp+0x08], r14
- mov r9, qword ptr [rbp-0x30]
+ mov r9, qword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_rename(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.String,System.String,int,long,long,byref):int
call [rax]Interop+Ldap:ldap_rename(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.String,System.String,int,long,long,byref):int
mov r13d, eax
;; size=90 bbWeight=1 PerfScore 24.75
G_M38734_IG42:
mov esi, 112
cmp r13d, 85
cmove r13d, esi
- mov dword ptr [rbp-0x90], r13d
- jmp G_M38734_IG107
+ mov dword ptr [rbp-0x98], r13d
+ jmp G_M38734_IG108
;; size=25 bbWeight=1 PerfScore 3.75
G_M38734_IG43:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.CompareRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je G_M38734_IG46
mov r13, gword ptr [rax+0x20]
test r13, r13
- je G_M38734_IG106
+ je G_M38734_IG107
mov rdi, gword ptr [r13+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
cmp eax, 1
- jne G_M38734_IG105
+ jne G_M38734_IG106
mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
test rax, rax
jne G_M38734_IG89
;; size=96 bbWeight=1 PerfScore 23.50
G_M38734_IG44:
mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Uri
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- mov gword ptr [rbp-0x158], rax
+ mov gword ptr [rbp-0x160], rax
test rax, rax
je G_M38734_IG91
mov rdi, 0xD1FFAB1E ; System.Text.UTF8Encoding
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x170], rax
+ mov gword ptr [rbp-0x178], rax
mov byte ptr [rax+0x24], 1
mov dword ptr [rax+0x20], 0xFDE9
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
call [rcx]System.Text.UTF8Encoding:SetDefaultFallbacks():this
- mov rdi, gword ptr [rbp-0x158]
+ mov rdi, gword ptr [rbp-0x160]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x08]System.Object:ToString():System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0x170]
+ mov rdi, gword ptr [rbp-0x178]
mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this
- mov gword ptr [rbp-0x148], rax
+ mov gword ptr [rbp-0x150], rax
;; size=152 bbWeight=1 PerfScore 31.00
G_M38734_IG45:
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.BerVal
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x168], rax
+ mov gword ptr [rbp-0x170], rax
xor edi, edi
mov qword ptr [rax+0x10], rdi
- mov rsi, gword ptr [rbp-0x148]
+ mov rsi, gword ptr [rbp-0x150]
mov edi, dword ptr [rsi+0x08]
mov dword ptr [rax+0x08], edi
- mov gword ptr [rbp-0x148], rsi
+ mov gword ptr [rbp-0x150], rsi
mov edi, dword ptr [rsi+0x08]
mov rcx, 0xD1FFAB1E ; code for System.Runtime.InteropServices.NativeMemory:Alloc(ulong):ulong
call [rcx]System.Runtime.InteropServices.NativeMemory:Alloc(ulong):ulong
- mov rsi, gword ptr [rbp-0x168]
+ mov rsi, gword ptr [rbp-0x170]
mov qword ptr [rsi+0x10], rax
- mov gword ptr [rbp-0x140], rsi
+ mov gword ptr [rbp-0x148], rsi
mov rdi, qword ptr [rsi+0x10]
- mov rsi, gword ptr [rbp-0x148]
+ mov rsi, gword ptr [rbp-0x150]
mov eax, dword ptr [rsi+0x08]
test rdi, rdi
jne G_M38734_IG92
- jmp G_M38734_IG104
+ jmp G_M38734_IG105
;; size=109 bbWeight=1 PerfScore 25.00
G_M38734_IG46:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.AddRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
- mov gword ptr [rbp-0x180], rax
+ mov gword ptr [rbp-0x190], rax
test rax, rax
jne SHORT G_M38734_IG47
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.ModifyRequest
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rcx]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M38734_IG50
;; size=67 bbWeight=1 PerfScore 11.00
G_M38734_IG47:
- cmp gword ptr [rbp-0x180], 0
+ cmp gword ptr [rbp-0x190], 0
je G_M38734_IG68
mov rcx, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.AddRequest
cmp qword ptr [rcx], rdi
je SHORT G_M38734_IG49
;; size=32 bbWeight=1 PerfScore 7.50
G_M38734_IG48:
mov rsi, rbx
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rcx]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=0.25 PerfScore 0.94
G_M38734_IG49:
mov rdi, gword ptr [rcx+0x20]
mov rsi, r12
mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[]
call [rcx]System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[]
- mov gword ptr [rbp-0x138], rax
+ mov gword ptr [rbp-0x140], rax
jmp G_M38734_IG71
;; size=31 bbWeight=1 PerfScore 8.50
G_M38734_IG50:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.ExtendedRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je G_M38734_IG52
mov rbx, gword ptr [rax+0x20]
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.ExtendedRequest:get_RequestValue():ubyte[]:this
call [rax]System.DirectoryServices.Protocols.ExtendedRequest:get_RequestValue():ubyte[]:this
mov r13, rax
test r13, r13
je SHORT G_M38734_IG51
cmp dword ptr [r13+0x08], 0
je SHORT G_M38734_IG51
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.BerVal
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x160], rax
+ mov gword ptr [rbp-0x168], rax
xor edi, edi
mov qword ptr [rax+0x10], rdi
mov edi, dword ptr [r13+0x08]
mov dword ptr [rax+0x08], edi
mov edi, dword ptr [r13+0x08]
mov rcx, 0xD1FFAB1E ; code for System.Runtime.InteropServices.NativeMemory:Alloc(ulong):ulong
call [rcx]System.Runtime.InteropServices.NativeMemory:Alloc(ulong):ulong
- mov rdx, gword ptr [rbp-0x160]
+ mov rdx, gword ptr [rbp-0x168]
mov qword ptr [rdx+0x10], rax
- mov gword ptr [rbp-0x140], rdx
+ mov gword ptr [rbp-0x148], rdx
mov rdx, qword ptr [rdx+0x10]
mov ecx, dword ptr [r13+0x08]
mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:CopyToNative[ubyte](ubyte[],int,long,int)
call [rax]System.Runtime.InteropServices.Marshal:CopyToNative[ubyte](ubyte[],int,long,int)
;; size=162 bbWeight=1 PerfScore 38.50
G_M38734_IG51:
mov rdi, gword ptr [r15+0x28]
mov rsi, rbx
- mov rdx, gword ptr [rbp-0x140]
- mov rcx, qword ptr [rbp-0x30]
- mov r8, qword ptr [rbp-0x38]
+ mov rdx, gword ptr [rbp-0x148]
+ mov rcx, qword ptr [rbp-0x38]
+ mov r8, qword ptr [rbp-0x40]
mov r9, r14
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_extended_operation(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.DirectoryServices.Protocols.BerVal,long,long,byref):int
call [rax]Interop+Ldap:ldap_extended_operation(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.DirectoryServices.Protocols.BerVal,long,long,byref):int
mov r13d, eax
jmp G_M38734_IG42
;; size=45 bbWeight=1 PerfScore 11.00
G_M38734_IG52:
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.SearchRequest
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
mov r13, rax
test r13, r13
- je G_M38734_IG102
+ je G_M38734_IG103
mov rbx, gword ptr [r13+0x28]
test rbx, rbx
je SHORT G_M38734_IG53
mov rsi, rbx
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M38734_IG101
+ jne G_M38734_IG102
;; size=80 bbWeight=1 PerfScore 13.50
G_M38734_IG53:
mov rax, rbx
test rax, rax
je SHORT G_M38734_IG55
;; size=8 bbWeight=1 PerfScore 1.50
G_M38734_IG54:
mov rdi, 0xD1FFAB1E ; System.String
cmp qword ptr [rax], rdi
- jne G_M38734_IG100
+ jne G_M38734_IG101
;; size=19 bbWeight=0.50 PerfScore 2.12
G_M38734_IG55:
mov rbx, rax
mov rdi, gword ptr [r13+0x20]
test rdi, rdi
je SHORT G_M38734_IG56
mov rdi, gword ptr [rdi+0x08]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
mov edi, eax
jmp SHORT G_M38734_IG57
;; size=30 bbWeight=1 PerfScore 14.75
G_M38734_IG56:
xor edi, edi
;; size=2 bbWeight=1 PerfScore 0.25
G_M38734_IG57:
- mov dword ptr [rbp-0x54], edi
+ mov dword ptr [rbp-0x5C], edi
test edi, edi
je G_M38734_IG63
inc edi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
call [rax]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
- mov qword ptr [rbp-0x50], rax
- mov qword ptr [rbp-0x88], rax
+ mov qword ptr [rbp-0x58], rax
+ mov qword ptr [rbp-0x90], rax
xor ecx, ecx
- cmp dword ptr [rbp-0x54], 0
+ cmp dword ptr [rbp-0x5C], 0
jle SHORT G_M38734_IG60
;; size=44 bbWeight=1 PerfScore 11.00
G_M38734_IG58:
mov rdi, gword ptr [r13+0x20]
mov rdi, gword ptr [rdi+0x08]
- mov dword ptr [rbp-0x8C], ecx
+ mov dword ptr [rbp-0x94], ecx
mov esi, ecx
mov rdx, qword ptr [rdi]
mov rdx, qword ptr [rdx+0x48]
call [rdx+0x18]System.Collections.ArrayList:get_Item(int):System.Object:this
mov rdi, rax
test rdi, rdi
je SHORT G_M38734_IG61
;; size=34 bbWeight=8 PerfScore 110.00
G_M38734_IG59:
mov rcx, 0xD1FFAB1E ; System.String
cmp qword ptr [rdi], rcx
je SHORT G_M38734_IG61
- jmp G_M38734_IG99
+ jmp G_M38734_IG100
;; size=20 bbWeight=4 PerfScore 25.00
G_M38734_IG60:
mov edx, ecx
- mov rsi, qword ptr [rbp-0x88]
+ mov rsi, qword ptr [rbp-0x90]
jmp SHORT G_M38734_IG62
;; size=11 bbWeight=0.50 PerfScore 1.62
G_M38734_IG61:
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StringToHGlobalAnsi(System.String):long
call [rax]System.Runtime.InteropServices.Marshal:StringToHGlobalAnsi(System.String):long
- mov edx, dword ptr [rbp-0x8C]
+ mov edx, dword ptr [rbp-0x94]
movsxd rdi, edx
- mov rsi, qword ptr [rbp-0x88]
+ mov rsi, qword ptr [rbp-0x90]
mov qword ptr [rsi+8*rdi], rax
inc edx
- cmp edx, dword ptr [rbp-0x54]
+ cmp edx, dword ptr [rbp-0x5C]
jl SHORT G_M38734_IG64
;; size=39 bbWeight=8 PerfScore 78.00
G_M38734_IG62:
movsxd rax, edx
xor edx, edx
mov qword ptr [rsi+8*rax], rdx
;; size=9 bbWeight=1 PerfScore 1.50
G_M38734_IG63:
mov ecx, dword ptr [r13+0x30]
- mov dword ptr [rbp-0x78], ecx
+ mov dword ptr [rbp-0x80], ecx
mov r8, qword ptr [r13+0x40]
mov rdx, 0xD1FFAB1E
mov rax, rdx
imul rdx:rax, r8
add rdx, r8
mov rax, rdx
shr rax, 63
sar rdx, 23
add rax, rdx
- mov dword ptr [rbp-0x7C], eax
+ mov dword ptr [rbp-0x84], eax
mov rdi, gword ptr [r15+0x38]
cmp byte ptr [rdi], dil
mov esi, 2
mov rdx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapSessionOptions:GetIntValueHelper(int):int:this
call [rdx]System.DirectoryServices.Protocols.LdapSessionOptions:GetIntValueHelper(int):int:this
- mov dword ptr [rbp-0x80], eax
+ mov dword ptr [rbp-0x88], eax
mov rdi, gword ptr [r15+0x38]
mov edx, dword ptr [r13+0x34]
mov rsi, gword ptr [rdi+0x08]
cmp byte ptr [rsi+0x45], 0
je SHORT G_M38734_IG65
- jmp G_M38734_IG98
- ;; size=97 bbWeight=1 PerfScore 32.75
+ jmp G_M38734_IG99
+ ;; size=103 bbWeight=1 PerfScore 32.75
G_M38734_IG64:
mov ecx, edx
jmp G_M38734_IG58
;; size=7 bbWeight=4 PerfScore 9.00
G_M38734_IG65:
- mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0xA0], edx
mov rdi, gword ptr [rsi+0x28]
- lea rdx, [rbp-0x98]
+ lea rdx, [rbp-0xA0]
mov esi, 2
mov rcx, 0xD1FFAB1E ; code for Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
call [rcx]Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
mov edi, eax
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
call [rax]System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
nop
;; size=49 bbWeight=1 PerfScore 10.75
G_M38734_IG66:
mov rdi, gword ptr [r15+0x28]
mov rsi, gword ptr [r13+0x18]
movzx r9, byte ptr [r13+0x3C]
mov edx, dword ptr [r13+0x38]
- mov r13d, dword ptr [rbp-0x7C]
- mov dword ptr [rbp-0xA0], r13d
+ mov r13d, dword ptr [rbp-0x84]
+ mov dword ptr [rbp-0xA8], r13d
xor ecx, ecx
- mov dword ptr [rbp-0x9C], ecx
+ mov dword ptr [rbp-0xA4], ecx
mov ecx, -1
- cmp dword ptr [rbp-0xA0], 0
- cmovg ecx, dword ptr [rbp-0xA0]
- mov dword ptr [rbp-0xA0], ecx
- mov rcx, qword ptr [rbp-0x30]
- mov qword ptr [rsp], rcx
+ cmp dword ptr [rbp-0xA8], 0
+ cmovg ecx, dword ptr [rbp-0xA8]
+ mov dword ptr [rbp-0xA8], ecx
mov rcx, qword ptr [rbp-0x38]
+ mov qword ptr [rsp], rcx
+ mov rcx, qword ptr [rbp-0x40]
mov qword ptr [rsp+0x08], rcx
- lea rcx, [rbp-0xA0]
+ lea rcx, [rbp-0xA8]
mov qword ptr [rsp+0x10], rcx
mov dword ptr [rsp+0x18], edx
mov bword ptr [rsp+0x20], r14
- mov edx, dword ptr [rbp-0x78]
+ mov edx, dword ptr [rbp-0x80]
mov rcx, rbx
- mov r8, qword ptr [rbp-0x50]
+ mov r8, qword ptr [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_search(System.DirectoryServices.Protocols.ConnectionHandle,System.String,int,System.String,long,ubyte,long,long,byref,int,byref):int
call [rax]Interop+Ldap:ldap_search(System.DirectoryServices.Protocols.ConnectionHandle,System.String,int,System.String,long,ubyte,long,long,byref,int,byref):int
mov r13d, eax
- ;; size=124 bbWeight=1 PerfScore 29.75
+ ;; size=127 bbWeight=1 PerfScore 29.75
G_M38734_IG67:
mov rdi, gword ptr [r15+0x38]
mov rdx, gword ptr [rdi+0x08]
cmp byte ptr [rdx+0x45], 0
- jne G_M38734_IG97
- mov eax, dword ptr [rbp-0x80]
- mov dword ptr [rbp-0xA8], eax
+ jne G_M38734_IG98
+ mov eax, dword ptr [rbp-0x88]
+ mov dword ptr [rbp-0xB0], eax
mov rdi, gword ptr [rdx+0x28]
- lea rdx, [rbp-0xA8]
+ lea rdx, [rbp-0xB0]
mov esi, 2
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
call [rax]Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
mov edi, eax
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
call [rax]System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
+ mov r15, gword ptr [rbp-0x110]
jmp G_M38734_IG42
- ;; size=74 bbWeight=1 PerfScore 21.50
+ ;; size=84 bbWeight=1 PerfScore 22.50
G_M38734_IG68:
mov rcx, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.ModifyRequest
cmp qword ptr [rcx], rdi
je SHORT G_M38734_IG70
;; size=18 bbWeight=1 PerfScore 4.50
G_M38734_IG69:
- mov gword ptr [rbp-0x110], rbx
+ mov gword ptr [rbp-0x118], rbx
mov rsi, rbx
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rcx]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
- mov rbx, gword ptr [rbp-0x110]
+ mov rbx, gword ptr [rbp-0x118]
;; size=32 bbWeight=0.25 PerfScore 1.44
G_M38734_IG70:
mov rdi, gword ptr [rcx+0x20]
mov rsi, r12
mov rcx, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[]
call [rcx]System.DirectoryServices.Protocols.LdapConnection:BuildAttributes(System.Collections.CollectionBase,System.Collections.ArrayList):System.DirectoryServices.Protocols.LdapMod[]
- mov gword ptr [rbp-0x138], rax
- mov r12, gword ptr [rbp-0x130]
+ mov gword ptr [rbp-0x140], rax
+ mov r12, gword ptr [rbp-0x138]
;; size=33 bbWeight=1 PerfScore 7.50
G_M38734_IG71:
- cmp gword ptr [rbp-0x138], 0
+ cmp gword ptr [rbp-0x140], 0
je SHORT G_M38734_IG72
- mov rdi, gword ptr [rbp-0x138]
+ mov rdi, gword ptr [rbp-0x140]
mov edi, dword ptr [rdi+0x08]
inc edi
jmp SHORT G_M38734_IG73
;; size=24 bbWeight=1 PerfScore 8.25
G_M38734_IG72:
mov edi, 1
;; size=5 bbWeight=1 PerfScore 0.25
G_M38734_IG73:
- mov dword ptr [rbp-0x44], edi
+ mov dword ptr [rbp-0x4C], edi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
call [rax]System.DirectoryServices.Protocols.Utility:AllocHGlobalIntPtrArray(int):long
- mov qword ptr [rbp-0x40], rax
- mov qword ptr [rbp-0x70], rax
+ mov qword ptr [rbp-0x48], rax
+ mov qword ptr [rbp-0x78], rax
mov rdi, 0xD1FFAB1E ; System.Runtime.InteropServices.Marshal:SizeOf[System.DirectoryServices.Protocols.LdapMod]():int
mov rcx, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int
call [rcx]System.Runtime.InteropServices.Marshal:SizeOf[System.__Canon]():int
- mov dword ptr [rbp-0x74], eax
+ mov dword ptr [rbp-0x7C], eax
xor ecx, ecx
xor edx, edx
- mov qword ptr [rbp-0x100], rdx
- mov edi, dword ptr [rbp-0x44]
+ mov qword ptr [rbp-0x108], rdx
+ mov edi, dword ptr [rbp-0x4C]
dec edi
test edi, edi
jle G_M38734_IG83
;; size=72 bbWeight=1 PerfScore 14.75
G_M38734_IG74:
movsxd rdi, eax
test rdi, rdi
jne SHORT G_M38734_IG76
;; size=8 bbWeight=8 PerfScore 12.00
G_M38734_IG75:
mov edi, 1
- mov gword ptr [rbp-0x110], rbx
- mov bword ptr [rbp-0x118], r14
+ mov gword ptr [rbp-0x118], rbx
+ mov bword ptr [rbp-0x120], r14
jmp SHORT G_M38734_IG77
;; size=21 bbWeight=4 PerfScore 17.00
G_M38734_IG76:
- mov gword ptr [rbp-0x110], rbx
- mov bword ptr [rbp-0x118], r14
+ mov gword ptr [rbp-0x118], rbx
+ mov bword ptr [rbp-0x120], r14
;; size=14 bbWeight=4 PerfScore 8.00
G_M38734_IG77:
mov rcx, 0xD1FFAB1E ; function address
- mov qword ptr [rbp-0xD0], rcx
+ mov qword ptr [rbp-0xD8], rcx
lea rcx, G_M38734_IG80
- mov qword ptr [rbp-0xC0], rcx
- lea rcx, [rbp-0xE0]
+ mov qword ptr [rbp-0xC8], rcx
+ lea rcx, [rbp-0xE8]
mov qword ptr [r13+0x08], rcx
mov byte ptr [r13+0x04], 0
;; size=47 bbWeight=8 PerfScore 46.00
G_M38734_IG78:
mov rcx, 0xD1FFAB1E ; code for Interop+Sys:Malloc(ulong):ulong
;; size=10 bbWeight=8 PerfScore 2.00
G_M38734_IG79:
call [rcx]Interop+Sys:Malloc(ulong):ulong
;; size=2 bbWeight=8 PerfScore 24.00
G_M38734_IG80:
mov byte ptr [r13+0x04], 1
mov rcx, 0xD1FFAB1E ; function address
cmp dword ptr [rcx], 0
je SHORT G_M38734_IG81
mov rdi, 0xD1FFAB1E
call [rdi]CORINFO_HELP_STOP_FOR_GC
;; size=32 bbWeight=8 PerfScore 68.00
G_M38734_IG81:
- mov rdi, qword ptr [rbp-0xD8]
+ mov rdi, qword ptr [rbp-0xE0]
mov qword ptr [r13+0x08], rdi
mov rbx, rax
test rbx, rbx
- je G_M38734_IG96
- mov rdi, gword ptr [rbp-0x138]
- mov r15, qword ptr [rbp-0x100]
+ je G_M38734_IG97
+ mov rdi, gword ptr [rbp-0x140]
+ mov r15, qword ptr [rbp-0x108]
cmp r15d, dword ptr [rdi+0x08]
- jae G_M38734_IG95
- mov rdi, gword ptr [rbp-0x138]
+ jae G_M38734_IG96
+ mov rdi, gword ptr [rbp-0x140]
mov rdi, gword ptr [rdi+8*r15+0x10]
mov rsi, rbx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
call [rax]System.Runtime.InteropServices.Marshal:StructureToPtr(System.Object,long,ubyte)
movsxd rsi, r15d
- mov r14, qword ptr [rbp-0x70]
+ mov r14, qword ptr [rbp-0x78]
mov qword ptr [r14+8*rsi], rbx
inc r15d
- mov esi, dword ptr [rbp-0x44]
+ mov esi, dword ptr [rbp-0x4C]
dec esi
cmp r15d, esi
- mov qword ptr [rbp-0x100], r15
- mov eax, dword ptr [rbp-0x74]
- mov rbx, gword ptr [rbp-0x110]
- mov r12, gword ptr [rbp-0x130]
- mov r14, bword ptr [rbp-0x118]
- mov r15, gword ptr [rbp-0x108]
+ mov qword ptr [rbp-0x108], r15
+ mov eax, dword ptr [rbp-0x7C]
+ mov rbx, gword ptr [rbp-0x118]
+ mov r12, gword ptr [rbp-0x138]
+ mov r14, bword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x110]
jl G_M38734_IG74
;; size=142 bbWeight=8 PerfScore 218.00
G_M38734_IG82:
- mov rcx, qword ptr [rbp-0x100]
+ mov rcx, qword ptr [rbp-0x108]
;; size=7 bbWeight=0.50 PerfScore 0.50
G_M38734_IG83:
movsxd rsi, ecx
xor edi, edi
- mov r13, qword ptr [rbp-0x70]
+ mov r13, qword ptr [rbp-0x78]
mov qword ptr [r13+8*rsi], rdi
- cmp gword ptr [rbp-0x180], 0
+ cmp gword ptr [rbp-0x190], 0
je SHORT G_M38734_IG86
- mov r15, gword ptr [r15+0x28]
+ mov r13, gword ptr [r15+0x28]
mov rax, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.AddRequest
cmp qword ptr [rax], rdi
je SHORT G_M38734_IG85
;; size=46 bbWeight=1 PerfScore 12.00
G_M38734_IG84:
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
;; size=15 bbWeight=0.25 PerfScore 0.88
G_M38734_IG85:
mov rsi, gword ptr [rax+0x18]
- mov rdi, r15
- mov rdx, qword ptr [rbp-0x40]
- mov rcx, qword ptr [rbp-0x30]
- mov r8, qword ptr [rbp-0x38]
+ mov rdi, r13
+ mov rdx, qword ptr [rbp-0x48]
+ mov rcx, qword ptr [rbp-0x38]
+ mov r8, qword ptr [rbp-0x40]
mov r9, r14
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_add(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,long,byref):int
call [rax]Interop+Ldap:ldap_add(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,long,byref):int
mov r13d, eax
jmp G_M38734_IG42
;; size=42 bbWeight=1 PerfScore 11.00
G_M38734_IG86:
mov r13, gword ptr [r15+0x28]
mov rax, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.ModifyRequest
cmp qword ptr [rax], rdi
je SHORT G_M38734_IG88
;; size=22 bbWeight=1 PerfScore 6.50
G_M38734_IG87:
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
;; size=15 bbWeight=0.25 PerfScore 0.88
G_M38734_IG88:
mov rsi, gword ptr [rax+0x18]
mov rdi, r13
- mov rdx, qword ptr [rbp-0x40]
- mov rcx, qword ptr [rbp-0x30]
- mov r8, qword ptr [rbp-0x38]
+ mov rdx, qword ptr [rbp-0x48]
+ mov rcx, qword ptr [rbp-0x38]
+ mov r8, qword ptr [rbp-0x40]
mov r9, r14
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_modify(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,long,byref):int
call [rax]Interop+Ldap:ldap_modify(System.DirectoryServices.Protocols.ConnectionHandle,System.String,long,long,long,byref):int
mov r13d, eax
jmp G_M38734_IG42
;; size=42 bbWeight=1 PerfScore 11.00
G_M38734_IG89:
mov rdi, 0xD1FFAB1E ; System.String
cmp qword ptr [rax], rdi
jne G_M38734_IG44
;; size=19 bbWeight=0.50 PerfScore 2.12
G_M38734_IG90:
- mov gword ptr [rbp-0x150], rax
+ mov gword ptr [rbp-0x158], rax
mov rdi, 0xD1FFAB1E ; System.Text.UTF8Encoding
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x178], rax
+ mov gword ptr [rbp-0x180], rax
mov byte ptr [rax+0x24], 1
mov dword ptr [rax+0x20], 0xFDE9
mov rdi, rax
mov rcx, 0xD1FFAB1E ; code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
call [rcx]System.Text.UTF8Encoding:SetDefaultFallbacks():this
- mov rdi, gword ptr [rbp-0x178]
- mov rsi, gword ptr [rbp-0x150]
+ mov rdi, gword ptr [rbp-0x180]
+ mov rsi, gword ptr [rbp-0x158]
mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this
mov rsi, rax
- mov gword ptr [rbp-0x148], rsi
+ mov gword ptr [rbp-0x150], rsi
jmp G_M38734_IG45
;; size=96 bbWeight=1 PerfScore 17.25
G_M38734_IG91:
mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
call [rax]System.DirectoryServices.Protocols.DirectoryAttribute:get_Item(int):System.Object:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; ubyte[]
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFARRAY
call [rax]CORINFO_HELP_ISINSTANCEOFARRAY
mov rsi, rax
test rsi, rsi
- je G_M38734_IG103
- mov gword ptr [rbp-0x148], rsi
+ je G_M38734_IG104
+ mov gword ptr [rbp-0x150], rsi
jmp G_M38734_IG45
;; size=66 bbWeight=1 PerfScore 12.00
G_M38734_IG92:
mov edx, dword ptr [rsi+0x08]
add rsi, 16
mov edx, eax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov r15, gword ptr [r15+0x28]
- mov rax, rbx
+ mov rax, gword ptr [r15+0x28]
+ mov gword ptr [rbp-0x188], rax
+ mov rcx, rbx
mov rdi, 0xD1FFAB1E ; System.DirectoryServices.Protocols.CompareRequest
- cmp qword ptr [rax], rdi
- je SHORT G_M38734_IG94
- ;; size=43 bbWeight=1 PerfScore 12.25
+ cmp qword ptr [rcx], rdi
+ je SHORT G_M38734_IG95
+ ;; size=50 bbWeight=1 PerfScore 13.25
G_M38734_IG93:
mov rsi, rbx
- mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
- call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- ;; size=15 bbWeight=0.25 PerfScore 0.88
+ mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ call [rcx]CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ mov rcx, rax
+ mov rax, gword ptr [rbp-0x188]
+ ;; size=25 bbWeight=0.25 PerfScore 1.19
G_M38734_IG94:
- mov rsi, gword ptr [rax+0x18]
+ mov rsi, gword ptr [rcx+0x18]
mov bword ptr [rsp], r14
- mov rdi, r15
+ mov rdi, rax
mov rdx, gword ptr [r13+0x10]
- mov rcx, gword ptr [rbp-0x140]
- mov r8, qword ptr [rbp-0x30]
- mov r9, qword ptr [rbp-0x38]
+ mov rcx, gword ptr [rbp-0x148]
+ mov r8, qword ptr [rbp-0x38]
+ mov r9, qword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_compare(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.String,System.DirectoryServices.Protocols.BerVal,long,long,byref):int
call [rax]Interop+Ldap:ldap_compare(System.DirectoryServices.Protocols.ConnectionHandle,System.String,System.String,System.DirectoryServices.Protocols.BerVal,long,long,byref):int
mov r13d, eax
jmp G_M38734_IG42
;; size=50 bbWeight=1 PerfScore 13.75
G_M38734_IG95:
+ mov rax, gword ptr [rbp-0x188]
+ jmp SHORT G_M38734_IG94
+ ;; size=9 bbWeight=0.50 PerfScore 1.50
+G_M38734_IG96:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M38734_IG96:
+G_M38734_IG97:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowOutOfMemoryException()
call [rax]System.ThrowHelper:ThrowOutOfMemoryException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M38734_IG97:
+G_M38734_IG98:
call System.Object:GetType():System.Type:this
mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.ObjectDisposedException
call CORINFO_HELP_NEWSFAST
- mov r15, rax
+ mov r14, rax
mov rdi, rbx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetCachedName(int):System.String:this
call [rax]System.RuntimeType:GetCachedName(int):System.String:this
mov rsi, rax
- mov rdi, r15
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.ObjectDisposedException:.ctor(System.String):this
call [rax]System.ObjectDisposedException:.ctor(System.String):this
- mov rdi, r15
+ mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=70 bbWeight=0 PerfScore 0.00
-G_M38734_IG98:
+G_M38734_IG99:
call System.Object:GetType():System.Type:this
mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.ObjectDisposedException
call CORINFO_HELP_NEWSFAST
- mov r15, rax
+ mov r14, rax
mov rdi, rbx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetCachedName(int):System.String:this
call [rax]System.RuntimeType:GetCachedName(int):System.String:this
mov rsi, rax
- mov rdi, r15
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.ObjectDisposedException:.ctor(System.String):this
call [rax]System.ObjectDisposedException:.ctor(System.String):this
- mov rdi, r15
+ mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=70 bbWeight=0 PerfScore 0.00
-G_M38734_IG99:
+G_M38734_IG100:
mov rsi, rax
mov rdi, rcx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=19 bbWeight=0 PerfScore 0.00
-G_M38734_IG100:
+G_M38734_IG101:
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS
call [rax]CORINFO_HELP_CHKCASTCLASS
int3
;; size=16 bbWeight=0 PerfScore 0.00
-G_M38734_IG101:
+G_M38734_IG102:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_InvalidLdapSearchRequestFilter():System.String
call [rax]System.SR:get_InvalidLdapSearchRequestFilter():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this
call [rax]System.ArgumentException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M38734_IG102:
+G_M38734_IG103:
mov rdi, 0xD1FFAB1E ; System.NotSupportedException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_InvliadRequestType():System.String
call [rax]System.SR:get_InvliadRequestType():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.NotSupportedException:.ctor(System.String):this
call [rax]System.NotSupportedException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M38734_IG103:
+G_M38734_IG104:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_ValidValueType():System.String
call [rax]System.SR:get_ValidValueType():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this
call [rax]System.ArgumentException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M38734_IG104:
+G_M38734_IG105:
mov edi, 0xD61
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
call [rax]System.ArgumentNullException:Throw(System.String)
int3
;; size=36 bbWeight=0 PerfScore 0.00
-G_M38734_IG105:
+G_M38734_IG106:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_WrongNumValuesCompare():System.String
call [rax]System.SR:get_WrongNumValuesCompare():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this
call [rax]System.ArgumentException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M38734_IG106:
+G_M38734_IG107:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_WrongAssertionCompare():System.String
call [rax]System.SR:get_WrongAssertionCompare():System.String
mov rsi, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.ArgumentException:.ctor(System.String):this
call [rax]System.ArgumentException:.ctor(System.String):this
mov rdi, rbx
call CORINFO_HELP_THROW
int3
;; size=57 bbWeight=0 PerfScore 0.00
-G_M38734_IG107:
+G_M38734_IG108:
mov rdi, rsp
- call G_M38734_IG115
+ call G_M38734_IG116
;; size=8 bbWeight=1 PerfScore 1.25
-G_M38734_IG108:
+G_M38734_IG109:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M38734_IG109:
- mov r13d, dword ptr [rbp-0x90]
+G_M38734_IG110:
+ mov r13d, dword ptr [rbp-0x98]
mov eax, r13d
;; size=10 bbWeight=1 PerfScore 1.25
-G_M38734_IG110:
- add rsp, 392
+G_M38734_IG111:
+ add rsp, 408
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M38734_IG111:
+G_M38734_IG112:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
vzeroupper
mov rbp, qword ptr [rdi+0x28]
mov qword ptr [rsp+0x28], rbp
- lea rbp, [rbp+0x1B0]
+ lea rbp, [rbp+0x1C0]
;; size=33 bbWeight=0 PerfScore 0.00
-G_M38734_IG112:
- mov r15, gword ptr [rbp-0x108]
+G_M38734_IG113:
+ mov r15, gword ptr [rbp-0x110]
mov rdi, gword ptr [r15+0x38]
mov rdx, gword ptr [rdi+0x08]
cmp byte ptr [rdx+0x45], 0
- jne SHORT G_M38734_IG114
- mov eax, dword ptr [rbp-0x80]
- mov dword ptr [rbp-0xA8], eax
+ jne SHORT G_M38734_IG115
+ mov eax, dword ptr [rbp-0x88]
+ mov dword ptr [rbp-0xB0], eax
mov rdi, gword ptr [rdi+0x08]
mov rdi, gword ptr [rdi+0x28]
- lea rdx, [rbp-0xA8]
+ lea rdx, [rbp-0xB0]
mov esi, 2
mov rax, 0xD1FFAB1E ; code for Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
call [rax]Interop+Ldap:ldap_set_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
mov edi, eax
mov rax, 0xD1FFAB1E ; code for System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
call [rax]System.DirectoryServices.Protocols.ErrorChecking:CheckAndSetLdapError(int)
nop
- ;; size=77 bbWeight=0 PerfScore 0.00
-G_M38734_IG113:
+ ;; size=80 bbWeight=0 PerfScore 0.00
+G_M38734_IG114:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M38734_IG114:
+G_M38734_IG115:
call System.Object:GetType():System.Type:this
mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.ObjectDisposedException
call CORINFO_HELP_NEWSFAST
- mov r15, rax
+ mov r14, rax
mov rdi, rbx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetCachedName(int):System.String:this
call [rax]System.RuntimeType:GetCachedName(int):System.String:this
mov rsi, rax
- mov rdi, r15
+ mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.ObjectDisposedException:.ctor(System.String):this
call [rax]System.ObjectDisposedException:.ctor(System.String):this
- mov rdi, r15
+ mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=70 bbWeight=0 PerfScore 0.00
-G_M38734_IG115:
+G_M38734_IG116:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
vzeroupper
mov rbp, qword ptr [rdi+0x28]
mov qword ptr [rsp+0x28], rbp
- lea rbp, [rbp+0x1B0]
+ lea rbp, [rbp+0x1C0]
;; size=33 bbWeight=1 PerfScore 10.75
-G_M38734_IG116:
- cmp qword ptr [rbp-0x30], 0
- je SHORT G_M38734_IG121
+G_M38734_IG117:
+ cmp qword ptr [rbp-0x38], 0
+ je SHORT G_M38734_IG122
xor ebx, ebx
- mov rsi, gword ptr [rbp-0x120]
+ mov rsi, gword ptr [rbp-0x128]
mov r15d, dword ptr [rsi+0x08]
test r15d, r15d
- jle SHORT G_M38734_IG120
+ jle SHORT G_M38734_IG121
;; size=25 bbWeight=1 PerfScore 7.50
-G_M38734_IG117:
+G_M38734_IG118:
lea esi, [8*rbx]
- mov rdi, qword ptr [rbp-0x30]
+ mov rdi, qword ptr [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M38734_IG119
+ je SHORT G_M38734_IG120
;; size=28 bbWeight=8 PerfScore 48.00
-G_M38734_IG118:
+G_M38734_IG119:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=4 PerfScore 5.00
-G_M38734_IG119:
+G_M38734_IG120:
inc ebx
cmp r15d, ebx
- jg SHORT G_M38734_IG117
+ jg SHORT G_M38734_IG118
;; size=7 bbWeight=8 PerfScore 12.00
-G_M38734_IG120:
- mov rdi, qword ptr [rbp-0x30]
+G_M38734_IG121:
+ mov rdi, qword ptr [rbp-0x38]
call Interop+Sys:Free(ulong)
;; size=9 bbWeight=1 PerfScore 2.00
-G_M38734_IG121:
- cmp gword ptr [rbp-0x120], 0
- je SHORT G_M38734_IG127
+G_M38734_IG122:
+ cmp gword ptr [rbp-0x128], 0
+ je SHORT G_M38734_IG128
xor ebx, ebx
- mov rdi, gword ptr [rbp-0x120]
+ mov rdi, gword ptr [rbp-0x128]
mov r15d, dword ptr [rdi+0x08]
test r15d, r15d
- jle SHORT G_M38734_IG127
+ jle SHORT G_M38734_IG128
;; size=28 bbWeight=1 PerfScore 7.50
-G_M38734_IG122:
- mov rdi, gword ptr [rbp-0x120]
+G_M38734_IG123:
+ mov rdi, gword ptr [rbp-0x128]
mov rdi, gword ptr [rdi+8*rbx+0x10]
mov rdi, qword ptr [rdi+0x10]
test rdi, rdi
- je SHORT G_M38734_IG124
+ je SHORT G_M38734_IG125
;; size=21 bbWeight=8 PerfScore 50.00
-G_M38734_IG123:
+G_M38734_IG124:
call Interop+Sys:Free(ulong)
;; size=5 bbWeight=4 PerfScore 4.00
-G_M38734_IG124:
- mov rdi, gword ptr [rbp-0x120]
+G_M38734_IG125:
+ mov rdi, gword ptr [rbp-0x128]
mov rdi, gword ptr [rdi+8*rbx+0x10]
mov rdi, gword ptr [rdi+0x08]
test rdi, rdi
- je SHORT G_M38734_IG126
+ je SHORT G_M38734_IG127
;; size=21 bbWeight=8 PerfScore 50.00
-G_M38734_IG125:
+G_M38734_IG126:
mov rdi, qword ptr [rdi+0x10]
test rdi, rdi
- je SHORT G_M38734_IG126
+ je SHORT G_M38734_IG127
call Interop+Sys:Free(ulong)
;; size=14 bbWeight=4 PerfScore 17.00
-G_M38734_IG126:
+G_M38734_IG127:
inc ebx
cmp r15d, ebx
- jg SHORT G_M38734_IG122
+ jg SHORT G_M38734_IG123
;; size=7 bbWeight=8 PerfScore 12.00
-G_M38734_IG127:
- cmp qword ptr [rbp-0x38], 0
- je SHORT G_M38734_IG132
+G_M38734_IG128:
+ cmp qword ptr [rbp-0x40], 0
+ je SHORT G_M38734_IG133
xor ebx, ebx
- mov rsi, gword ptr [rbp-0x128]
+ mov rsi, gword ptr [rbp-0x130]
mov r15d, dword ptr [rsi+0x08]
test r15d, r15d
- jle SHORT G_M38734_IG131
+ jle SHORT G_M38734_IG132
;; size=25 bbWeight=1 PerfScore 7.50
-G_M38734_IG128:
+G_M38734_IG129:
lea esi, [8*rbx]
- mov rdi, qword ptr [rbp-0x38]
+ mov rdi, qword ptr [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M38734_IG130
+ je SHORT G_M38734_IG131
;; size=28 bbWeight=8 PerfScore 48.00
-G_M38734_IG129:
+G_M38734_IG130:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=4 PerfScore 5.00
-G_M38734_IG130:
+G_M38734_IG131:
inc ebx
cmp r15d, ebx
- jg SHORT G_M38734_IG128
+ jg SHORT G_M38734_IG129
;; size=7 bbWeight=8 PerfScore 12.00
-G_M38734_IG131:
- mov rdi, qword ptr [rbp-0x38]
+G_M38734_IG132:
+ mov rdi, qword ptr [rbp-0x40]
call Interop+Sys:Free(ulong)
;; size=9 bbWeight=1 PerfScore 2.00
-G_M38734_IG132:
- cmp gword ptr [rbp-0x128], 0
- je SHORT G_M38734_IG138
+G_M38734_IG133:
+ cmp gword ptr [rbp-0x130], 0
+ je SHORT G_M38734_IG139
xor ebx, ebx
- mov rdi, gword ptr [rbp-0x128]
+ mov rdi, gword ptr [rbp-0x130]
mov r15d, dword ptr [rdi+0x08]
test r15d, r15d
- jle SHORT G_M38734_IG138
+ jle SHORT G_M38734_IG139
;; size=28 bbWeight=1 PerfScore 7.50
-G_M38734_IG133:
- mov rdi, gword ptr [rbp-0x128]
+G_M38734_IG134:
+ mov rdi, gword ptr [rbp-0x130]
mov rdi, gword ptr [rdi+8*rbx+0x10]
mov rdi, qword ptr [rdi+0x10]
test rdi, rdi
- je SHORT G_M38734_IG135
+ je SHORT G_M38734_IG136
;; size=21 bbWeight=8 PerfScore 50.00
-G_M38734_IG134:
+G_M38734_IG135:
call Interop+Sys:Free(ulong)
;; size=5 bbWeight=4 PerfScore 4.00
-G_M38734_IG135:
- mov rdi, gword ptr [rbp-0x128]
+G_M38734_IG136:
+ mov rdi, gword ptr [rbp-0x130]
mov rdi, gword ptr [rdi+8*rbx+0x10]
mov rdi, gword ptr [rdi+0x08]
test rdi, rdi
- je SHORT G_M38734_IG137
+ je SHORT G_M38734_IG138
;; size=21 bbWeight=8 PerfScore 50.00
-G_M38734_IG136:
+G_M38734_IG137:
mov rdi, qword ptr [rdi+0x10]
test rdi, rdi
- je SHORT G_M38734_IG137
+ je SHORT G_M38734_IG138
call Interop+Sys:Free(ulong)
;; size=14 bbWeight=4 PerfScore 17.00
-G_M38734_IG137:
+G_M38734_IG138:
inc ebx
cmp r15d, ebx
- jg SHORT G_M38734_IG133
+ jg SHORT G_M38734_IG134
;; size=7 bbWeight=8 PerfScore 12.00
-G_M38734_IG138:
- cmp qword ptr [rbp-0x40], 0
- je SHORT G_M38734_IG143
+G_M38734_IG139:
+ cmp qword ptr [rbp-0x48], 0
+ je SHORT G_M38734_IG144
xor ebx, ebx
- mov esi, dword ptr [rbp-0x44]
+ mov esi, dword ptr [rbp-0x4C]
dec esi
test esi, esi
- jle SHORT G_M38734_IG142
+ jle SHORT G_M38734_IG143
;; size=18 bbWeight=1 PerfScore 5.75
-G_M38734_IG139:
+G_M38734_IG140:
lea esi, [8*rbx]
- mov rdi, qword ptr [rbp-0x40]
+ mov rdi, qword ptr [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M38734_IG141
+ je SHORT G_M38734_IG142
;; size=28 bbWeight=8 PerfScore 48.00
-G_M38734_IG140:
+G_M38734_IG141:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=4 PerfScore 5.00
-G_M38734_IG141:
+G_M38734_IG142:
inc ebx
- mov edi, dword ptr [rbp-0x44]
+ mov edi, dword ptr [rbp-0x4C]
dec edi
cmp ebx, edi
- jl SHORT G_M38734_IG139
+ jl SHORT G_M38734_IG140
;; size=11 bbWeight=8 PerfScore 22.00
-G_M38734_IG142:
- mov rdi, qword ptr [rbp-0x40]
+G_M38734_IG143:
+ mov rdi, qword ptr [rbp-0x48]
call Interop+Sys:Free(ulong)
;; size=9 bbWeight=1 PerfScore 2.00
-G_M38734_IG143:
+G_M38734_IG144:
xor ebx, ebx
- mov r12, gword ptr [rbp-0x130]
+ mov r12, gword ptr [rbp-0x138]
cmp dword ptr [r12+0x10], 0
- jle SHORT G_M38734_IG149
+ jle SHORT G_M38734_IG150
;; size=17 bbWeight=1 PerfScore 5.25
-G_M38734_IG144:
+G_M38734_IG145:
mov rdi, r12
mov esi, ebx
mov rax, 0xD1FFAB1E ; code for System.Collections.ArrayList:get_Item(int):System.Object:this
call [rax]System.Collections.ArrayList:get_Item(int):System.Object:this
mov r15, rax
mov rsi, 0xD1FFAB1E ; System.IntPtr
cmp qword ptr [r15], rsi
- je SHORT G_M38734_IG146
+ je SHORT G_M38734_IG147
;; size=35 bbWeight=8 PerfScore 66.00
-G_M38734_IG145:
+G_M38734_IG146:
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.IntPtr
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_UNBOX
call [rax]CORINFO_HELP_UNBOX
;; size=25 bbWeight=2 PerfScore 7.50
-G_M38734_IG146:
+G_M38734_IG147:
mov rdi, qword ptr [r15+0x08]
test rdi, rdi
- je SHORT G_M38734_IG148
+ je SHORT G_M38734_IG149
;; size=9 bbWeight=8 PerfScore 26.00
-G_M38734_IG147:
+G_M38734_IG148:
call Interop+Sys:Free(ulong)
;; size=5 bbWeight=4 PerfScore 4.00
-G_M38734_IG148:
+G_M38734_IG149:
inc ebx
cmp ebx, dword ptr [r12+0x10]
- jl SHORT G_M38734_IG144
+ jl SHORT G_M38734_IG145
;; size=9 bbWeight=8 PerfScore 34.00
-G_M38734_IG149:
- cmp gword ptr [rbp-0x140], 0
- je SHORT G_M38734_IG150
- mov rdi, gword ptr [rbp-0x140]
+G_M38734_IG150:
+ cmp gword ptr [rbp-0x148], 0
+ je SHORT G_M38734_IG151
+ mov rdi, gword ptr [rbp-0x148]
mov rdi, qword ptr [rdi+0x10]
test rdi, rdi
- je SHORT G_M38734_IG150
+ je SHORT G_M38734_IG151
call Interop+Sys:Free(ulong)
;; size=31 bbWeight=1 PerfScore 8.25
-G_M38734_IG150:
- cmp qword ptr [rbp-0x50], 0
- je SHORT G_M38734_IG155
+G_M38734_IG151:
+ cmp qword ptr [rbp-0x58], 0
+ je SHORT G_M38734_IG156
xor r12d, r12d
- cmp dword ptr [rbp-0x54], 0
- jle SHORT G_M38734_IG154
+ cmp dword ptr [rbp-0x5C], 0
+ jle SHORT G_M38734_IG155
;; size=16 bbWeight=1 PerfScore 6.25
-G_M38734_IG151:
+G_M38734_IG152:
lea esi, [8*r12]
- mov rdi, qword ptr [rbp-0x50]
+ mov rdi, qword ptr [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
call [rax]System.Runtime.InteropServices.Marshal:ReadInt64(long,int):long
test rax, rax
- je SHORT G_M38734_IG153
+ je SHORT G_M38734_IG154
;; size=29 bbWeight=8 PerfScore 48.00
-G_M38734_IG152:
+G_M38734_IG153:
mov rdi, rax
call Interop+Sys:Free(ulong)
;; size=8 bbWeight=4 PerfScore 5.00
-G_M38734_IG153:
+G_M38734_IG154:
inc r12d
- cmp r12d, dword ptr [rbp-0x54]
- jl SHORT G_M38734_IG151
+ cmp r12d, dword ptr [rbp-0x5C]
+ jl SHORT G_M38734_IG152
;; size=9 bbWeight=8 PerfScore 26.00
-G_M38734_IG154:
- mov rdi, qword ptr [rbp-0x50]
+G_M38734_IG155:
+ mov rdi, qword ptr [rbp-0x58]
call Interop+Sys:Free(ulong)
;; size=9 bbWeight=1 PerfScore 2.00
-G_M38734_IG155:
+G_M38734_IG156:
nop
;; size=1 bbWeight=1 PerfScore 0.25
-G_M38734_IG156:
+G_M38734_IG157:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-; Total bytes of code 5126, prolog size 83, PerfScore 2779.02, instruction count 1126, allocated bytes for code 5126 (MethodHash=c30a68b1) for method System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this (FullOpts)
+; Total bytes of code 5178, prolog size 87, PerfScore 2783.83, instruction count 1133, allocated bytes for code 5178 (MethodHash=c30a68b1) for method System.DirectoryServices.Protocols.LdapConnection:SendRequestHelper(System.DirectoryServices.Protocols.DirectoryRequest,byref):int:this (FullOpts)
51 (6.29 % of base) - System.Data.DataColumn:Clone():System.Data.DataColumn:this
; Assembly listing for method System.Data.DataColumn:Clone():System.Data.DataColumn:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 23, 24.50) ref -> rbx this class-hnd single-def <System.Data.DataColumn>
-; V01 loc0 [V01,T02] ( 20, 23 ) ref -> r15 class-hnd single-def <System.Data.DataColumn>
-; V02 loc1 [V02,T08] ( 6, 9 ) ref -> [rbp-0x28] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-; V03 loc2 [V03,T07] ( 3, 12 ) ref -> r14 class-hnd <System.Object>
+; V00 this [V00,T00] ( 23, 24.50) ref -> [rbp-0x28] this class-hnd EH-live single-def <System.Data.DataColumn>
+; V01 loc0 [V01,T02] ( 20, 23 ) ref -> rbx class-hnd single-def <System.Data.DataColumn>
+; V02 loc1 [V02,T08] ( 6, 9 ) ref -> [rbp-0x30] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+; V03 loc2 [V03,T07] ( 3, 12 ) ref -> r15 class-hnd <System.Object>
; V04 loc3 [V04,T18] ( 6, 1.50) ref -> rax class-hnd <System.IDisposable>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V06 tmp1 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp2 [V07 ] ( 0, 0 ) ref -> zero-ref
; V08 tmp3 [V08,T16] ( 3, 2 ) int -> rsi
;* V09 tmp4 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.PropertyCollection>
; V10 tmp5 [V10,T11] ( 2, 4 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.RuntimeType>
;* V11 tmp6 [V11 ] ( 0, 0 ) ref -> zero-ref single-def "ISINST eval op1"
; V12 tmp7 [V12,T12] ( 2, 4 ) ref -> rdi class-hnd "spilling qmarkNull" <System.RuntimeType>
;* V13 tmp8 [V13 ] ( 0, 0 ) ref -> zero-ref single-def
;* V14 tmp9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V15 tmp10 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V16 tmp11 [V16,T05] ( 2, 16 ) ref -> r13 class-hnd "dup spill" <System.Data.PropertyCollection>
-; V17 tmp12 [V17,T03] ( 5, 18 ) ref -> r13
-; V18 tmp13 [V18,T04] ( 4, 16 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
+; V16 tmp11 [V16,T05] ( 2, 16 ) ref -> r14 class-hnd "dup spill" <System.Data.PropertyCollection>
+; V17 tmp12 [V17,T03] ( 5, 18 ) ref -> r14
+; V18 tmp13 [V18,T04] ( 4, 16 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
;* V19 tmp14 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
; V20 tmp15 [V20,T10] ( 3, 4.50) ref -> rax single-def "argument with side effect"
-; V21 tmp16 [V21,T14] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V21 tmp16 [V21,T14] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V22 tmp17 [V22,T17] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V23 tmp18 [V23,T01] ( 3, 24 ) ref -> rdi "argument with side effect"
+; V23 tmp18 [V23,T01] ( 3, 24 ) ref -> rax "argument with side effect"
; V24 tmp19 [V24,T06] ( 2, 16 ) ref -> rdx "argument with side effect"
;* V25 tmp20 [V25 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V26 tmp21 [V26 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-; V27 PSPSym [V27,T19] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[V] "PSPSym"
-; V28 rat0 [V28,T09] ( 5, 7.50) ref -> r15 "replacement local"
+; V27 PSPSym [V27,T19] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[V] "PSPSym"
+; V28 rat0 [V28,T09] ( 5, 7.50) ref -> rbx "replacement local"
; V29 rat1 [V29,T15] ( 3, 2.50) long -> rdi "CSE for expectedClsNode"
-; V30 rat2 [V30,T13] ( 2, 4 ) ref -> r14 "Spilling to split statement for tree"
+; V30 rat2 [V30,T13] ( 2, 4 ) ref -> r15 "Spilling to split statement for tree"
;
-; Lcl frame size = 16
+; Lcl frame size = 40
G_M332_IG01:
push rbp
push r15
push r14
- push r13
push rbx
- sub rsp, 16
- lea rbp, [rsp+0x30]
- mov qword ptr [rbp-0x30], rsp
- mov rbx, rdi
- ;; size=24 bbWeight=1 PerfScore 7.00
+ sub rsp, 40
+ lea rbp, [rsp+0x40]
+ mov qword ptr [rbp-0x40], rsp
+ mov qword ptr [rbp-0x20], rdi
+ mov gword ptr [rbp-0x28], rdi
+ ;; size=27 bbWeight=1 PerfScore 7.75
G_M332_IG02:
- mov rdi, rbx
call System.Object:GetType():System.Type:this
mov rdi, rax
mov esi, 1
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.RuntimeType:CreateInstanceDefaultCtor(ubyte,ubyte):System.Object:this
call [rax]System.RuntimeType:CreateInstanceDefaultCtor(ubyte,ubyte):System.Object:this
- mov r15, rax
- test r15, r15
+ mov rbx, rax
+ test rbx, rbx
je SHORT G_M332_IG05
- ;; size=41 bbWeight=1 PerfScore 6.75
+ ;; size=38 bbWeight=1 PerfScore 6.50
G_M332_IG03:
mov rdi, 0xD1FFAB1E ; System.Data.DataColumn
- cmp qword ptr [r15], rdi
+ cmp qword ptr [rbx], rdi
je SHORT G_M332_IG05
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M332_IG04:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- mov r15, rax
+ mov rbx, rax
;; size=18 bbWeight=0.25 PerfScore 0.94
G_M332_IG05:
- mov rsi, gword ptr [rbx+0x88]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x88]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_SimpleType(System.Data.SimpleType):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumn:set_SimpleType(System.Data.SimpleType):this
- movzx rdi, byte ptr [rbx+0xC0]
- mov byte ptr [r15+0xC0], dil
- cmp gword ptr [rbx+0x68], 0
+ mov rdi, gword ptr [rbp-0x28]
+ movzx rax, byte ptr [rdi+0xC0]
+ mov byte ptr [rbx+0xC0], al
+ cmp gword ptr [rdi+0x68], 0
je SHORT G_M332_IG07
- ;; size=46 bbWeight=1 PerfScore 15.50
+ ;; size=52 bbWeight=1 PerfScore 17.50
G_M332_IG06:
- mov rdi, gword ptr [rbx+0x68]
+ mov rdi, gword ptr [rdi+0x68]
mov rax, 0xD1FFAB1E ; code for System.Data.AutoIncrementValue:Clone():System.Data.AutoIncrementValue:this
cmp dword ptr [rdi], edi
call [rax]System.Data.AutoIncrementValue:Clone():System.Data.AutoIncrementValue:this
- lea rdi, bword ptr [r15+0x68]
+ lea rdi, bword ptr [rbx+0x68]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- ;; size=30 bbWeight=0.50 PerfScore 5.00
+ mov rdi, gword ptr [rbp-0x28]
+ ;; size=34 bbWeight=0.50 PerfScore 5.50
G_M332_IG07:
- mov rsi, gword ptr [rbx+0x18]
- lea rdi, bword ptr [r15+0x18]
+ mov rsi, gword ptr [rdi+0x18]
+ lea rdi, bword ptr [rbx+0x18]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [rbx+0x20]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x20]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_ColumnName(System.String):this
call [rax]System.Data.DataColumn:set_ColumnName(System.String):this
- mov rsi, gword ptr [rbx+0x70]
- lea rdi, bword ptr [r15+0x70]
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x70]
+ lea rdi, bword ptr [rbx+0x70]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [rbx+0x78]
- lea rdi, bword ptr [r15+0x78]
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x78]
+ lea rdi, bword ptr [rbx+0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [rbx+0x28]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x28]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_DataType(System.Type):this
call [rax]System.Data.DataColumn:set_DataType(System.Type):this
- mov rsi, gword ptr [rbx+0x30]
- lea rdi, bword ptr [r15+0x30]
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x30]
+ lea rdi, bword ptr [rbx+0x30]
call CORINFO_HELP_ASSIGN_REF
- mov r14, gword ptr [rbx+0x30]
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
+ mov rdi, gword ptr [rbp-0x28]
+ mov r15, gword ptr [rdi+0x30]
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
je G_M332_IG21
- ;; size=113 bbWeight=1 PerfScore 31.25
+ ;; size=137 bbWeight=1 PerfScore 37.25
G_M332_IG08:
- mov rdi, 0xD1FFAB1E ; data for System.DBNull:Value
- cmp r14, gword ptr [rdi]
+ mov rax, 0xD1FFAB1E ; data for System.DBNull:Value
+ cmp r15, gword ptr [rax]
je SHORT G_M332_IG11
;; size=15 bbWeight=1 PerfScore 4.25
G_M332_IG09:
- cmp byte ptr [r15+0xC4], 0
+ cmp byte ptr [rbx+0xC4], 0
je SHORT G_M332_IG10
- mov rdi, gword ptr [rbx+0x30]
+ mov rdi, gword ptr [rdi+0x30]
mov rax, 0xD1FFAB1E ; code for System.Data.Common.DataStorage:IsObjectSqlNull(System.Object):ubyte
call [rax]System.Data.Common.DataStorage:IsObjectSqlNull(System.Object):ubyte
test eax, eax
+ mov rdi, gword ptr [rbp-0x28]
jne SHORT G_M332_IG11
- ;; size=30 bbWeight=0.50 PerfScore 5.25
+ ;; size=33 bbWeight=0.50 PerfScore 5.75
G_M332_IG10:
xor esi, esi
jmp SHORT G_M332_IG12
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M332_IG11:
mov esi, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M332_IG12:
- mov byte ptr [r15+0xC8], sil
- mov esi, dword ptr [rbx+0xB0]
- mov dword ptr [r15+0xB0], esi
- movzx rsi, byte ptr [rbx+0xC1]
- mov byte ptr [r15+0xC1], sil
- mov esi, dword ptr [rbx+0xA8]
- mov rdi, r15
+ mov byte ptr [rbx+0xC8], sil
+ mov esi, dword ptr [rdi+0xB0]
+ mov dword ptr [rbx+0xB0], esi
+ movzx rsi, byte ptr [rdi+0xC1]
+ mov byte ptr [rbx+0xC1], sil
+ mov esi, dword ptr [rdi+0xA8]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_MaxLength(int):this
call [rax]System.Data.DataColumn:set_MaxLength(int):this
- mov rsi, gword ptr [rbx+0x90]
- lea rdi, bword ptr [r15+0x90]
+ mov rdi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rdi+0x90]
+ lea rdi, bword ptr [rbx+0x90]
call CORINFO_HELP_ASSIGN_REF
- mov edi, dword ptr [rbx+0xA4]
- mov dword ptr [r15+0xA4], edi
- cmp gword ptr [rbx+0x58], 0
+ mov rdi, gword ptr [rbp-0x28]
+ mov eax, dword ptr [rdi+0xA4]
+ mov dword ptr [rbx+0xA4], eax
+ cmp gword ptr [rdi+0x58], 0
je G_M332_IG19
- ;; size=99 bbWeight=1 PerfScore 23.00
+ ;; size=105 bbWeight=1 PerfScore 25.00
G_M332_IG13:
- mov rdi, gword ptr [rbx+0x58]
- mov rax, qword ptr [rdi]
+ mov rax, gword ptr [rdi+0x58]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x50]
call [rax+0x28]System.Collections.Hashtable:get_Keys():System.Collections.ICollection:this
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
call [r11]System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
- mov gword ptr [rbp-0x28], rax
- ;; size=34 bbWeight=0.50 PerfScore 6.75
+ mov gword ptr [rbp-0x30], rax
+ ;; size=37 bbWeight=0.50 PerfScore 6.88
G_M332_IG14:
mov rdi, rax
mov r11, 0xD1FFAB1E ; function address
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
je G_M332_IG18
;; size=24 bbWeight=0.50 PerfScore 2.38
G_M332_IG15:
- mov rdi, gword ptr [rbp-0x28]
+ mov rdi, gword ptr [rbp-0x30]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r14, rax
- mov r13, gword ptr [r15+0x58]
- test r13, r13
+ mov r15, rax
+ mov r14, gword ptr [rbx+0x58]
+ test r14, r14
jne SHORT G_M332_IG17
;; size=29 bbWeight=4 PerfScore 31.00
G_M332_IG16:
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
- mov r13, rax
+ mov r14, rax
vmovss xmm0, dword ptr [reloc @RWD00]
- mov rdi, r13
+ mov rdi, r14
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
- lea rdi, bword ptr [r15+0x58]
- mov rsi, r13
+ lea rdi, bword ptr [rbx+0x58]
+ mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
;; size=55 bbWeight=2 PerfScore 20.00
G_M332_IG17:
- mov rdi, gword ptr [rbx+0x58]
- mov rsi, r14
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x28]
+ mov rax, gword ptr [rdi+0x58]
+ mov rdi, rax
+ mov rsi, r15
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x20]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov rdx, rax
- mov rsi, r14
- mov rdi, r13
- mov rax, qword ptr [r13]
+ mov rsi, r15
+ mov rdi, r14
+ mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x48]
call [rax+0x28]System.Collections.Hashtable:set_Item(System.Object,System.Object):this
- mov rdi, gword ptr [rbp-0x28]
+ mov rdi, gword ptr [rbp-0x30]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
jne G_M332_IG15
- ;; size=62 bbWeight=4 PerfScore 90.00
+ ;; size=68 bbWeight=4 PerfScore 95.00
G_M332_IG18:
- mov rsi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rbp-0x30]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M332_IG19
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=47 bbWeight=0.50 PerfScore 4.62
G_M332_IG19:
- mov rax, r15
- ;; size=3 bbWeight=1 PerfScore 0.25
+ mov rdi, gword ptr [rbp-0x28]
+ mov rax, rbx
+ ;; size=7 bbWeight=1 PerfScore 1.25
G_M332_IG20:
- add rsp, 16
+ add rsp, 40
pop rbx
- pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=13 bbWeight=1 PerfScore 3.75
+ ;; size=11 bbWeight=1 PerfScore 3.25
G_M332_IG21:
mov rdi, 0xD1FFAB1E ; System.DBNull
call CORINFO_HELP_GET_GCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x28]
jmp G_M332_IG08
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M332_IG22:
push rbp
push r15
push r14
- push r13
push rbx
- sub rsp, 16
+ push rax
mov rbp, qword ptr [rdi]
mov qword ptr [rsp], rbp
- lea rbp, [rbp+0x30]
- ;; size=23 bbWeight=0 PerfScore 0.00
+ lea rbp, [rbp+0x40]
+ ;; size=18 bbWeight=0 PerfScore 0.00
G_M332_IG23:
- mov rsi, gword ptr [rbp-0x28]
+ mov rsi, gword ptr [rbp-0x30]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
je SHORT G_M332_IG24
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_M332_IG24:
nop
;; size=1 bbWeight=0 PerfScore 0.00
G_M332_IG25:
- add rsp, 16
+ add rsp, 8
pop rbx
- pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=13 bbWeight=0 PerfScore 0.00
+ ;; size=11 bbWeight=0 PerfScore 0.00
RWD00 dd 3F800000h ; 1
-; Total bytes of code 811, prolog size 24, PerfScore 261.06, instruction count 188, allocated bytes for code 811 (MethodHash=ca1dfeb3) for method System.Data.DataColumn:Clone():System.Data.DataColumn:this (FullOpts)
+; Total bytes of code 862, prolog size 27, PerfScore 278.19, instruction count 201, allocated bytes for code 862 (MethodHash=ca1dfeb3) for method System.Data.DataColumn:Clone():System.Data.DataColumn:this (FullOpts)
50 (3.57 % of base) - System.Net.Http.Http2Connection:WriteHeaderCollection(System.Net.Http.HttpRequestMessage,System.Net.Http.Headers.HttpHeaders,byref):int:this
; Assembly listing for method System.Net.Http.Http2Connection:WriteHeaderCollection(System.Net.Http.HttpRequestMessage,System.Net.Http.Headers.HttpHeaders,byref):int:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 18 single block inlinees; 9 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T10] ( 10, 14 ) ref -> rbx this class-hnd single-def <System.Net.Http.Http2Connection>
; V01 arg1 [V01,T25] ( 4, 6 ) ref -> r14 class-hnd single-def <System.Net.Http.HttpRequestMessage>
; V02 arg2 [V02,T30] ( 5, 5 ) ref -> r13 class-hnd single-def <System.Net.Http.Headers.HttpHeaders>
; V03 arg3 [V03,T13] ( 7, 12 ) byref -> r15 single-def
; V04 loc0 [V04,T21] ( 4, 9 ) ref -> r12 class-hnd exact single-def <System.Net.Http.HeaderEncodingSelector`1[System.Net.Http.HttpRequestMessage]>
-; V05 loc1 [V05,T22] ( 3, 9 ) byref -> [rbp-0x48] spill-single-def
+; V05 loc1 [V05,T22] ( 3, 9 ) byref -> [rbp-0x50] spill-single-def
;* V06 loc2 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[System.Net.Http.Headers.HeaderEntry]>
-; V07 loc3 [V07,T33] ( 4, 6 ) int -> [rbp-0x2C]
+; V07 loc3 [V07,T33] ( 4, 6 ) int -> [rbp-0x34]
;* V08 loc4 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[System.Net.Http.Headers.HeaderEntry]>
;* V09 loc5 [V09,T56] ( 0, 0 ) int -> zero-ref
;* V10 loc6 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Net.Http.Headers.HeaderEntry>
; V11 loc7 [V11,T20] ( 4, 10 ) int -> rax
;* V12 loc8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[System.String]>
-; V13 loc9 [V13,T43] ( 2, 6 ) ref -> [rbp-0x50] class-hnd <System.Text.Encoding>
-; V14 loc10 [V14,T31] ( 2, 4 ) ref -> [rbp-0x58] class-hnd exact <System.Net.Http.Headers.KnownHeader>
+; V13 loc9 [V13,T43] ( 2, 6 ) ref -> [rbp-0x58] class-hnd <System.Text.Encoding>
+; V14 loc10 [V14,T31] ( 2, 4 ) ref -> [rbp-0x60] class-hnd exact <System.Net.Http.Headers.KnownHeader>
;* V15 loc11 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
;* V16 loc12 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[System.String]>
;* V17 loc13 [V17,T53] ( 0, 0 ) int -> zero-ref
-; V18 loc14 [V18,T02] ( 5, 46 ) ref -> [rbp-0x60] class-hnd spill-single-def <System.String>
+; V18 loc14 [V18,T02] ( 5, 46 ) ref -> [rbp-0x68] class-hnd spill-single-def <System.String>
; V19 OutArgs [V19 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V20 tmp1 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[System.__Canon]>
-; V21 tmp2 [V21,T15] ( 5, 12 ) ref -> [rbp-0x68]
+; V21 tmp2 [V21,T15] ( 5, 12 ) ref -> [rbp-0x70]
;* V22 tmp3 [V22 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V23 tmp4 [V23,T34] ( 3, 6 ) ref -> rcx
;* V24 tmp5 [V24 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
; V25 tmp6 [V25,T01] ( 2, 32 ) int -> rsi "spilling unroll qmark"
;* V26 tmp7 [V26 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V27 tmp8 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
; V28 tmp9 [V28,T49] ( 3, 3 ) ref -> rdi class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnectionPool>
; V29 tmp10 [V29,T55] ( 2, 1 ) ref -> r12 single-def
;* V30 tmp11 [V30 ] ( 0, 0 ) ref -> zero-ref single-def
;* V31 tmp12 [V31 ] ( 0, 0 ) ref -> zero-ref single-def
-; V32 tmp13 [V32,T54] ( 3, 1.50) int -> [rbp-0x30]
+; V32 tmp13 [V32,T54] ( 3, 1.50) int -> [rbp-0x38]
; V33 tmp14 [V33,T51] ( 2, 2 ) int -> rcx "Inlining Arg"
;* V34 tmp15 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Net.Http.Headers.HeaderEntry]>
; V35 tmp16 [V35,T32] ( 4, 6 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.Net.Http.Headers.HeaderEntry[]>
; V36 tmp17 [V36,T45] ( 4, 5 ) int -> r13 "Inlining Arg"
; V37 tmp18 [V37,T04] ( 4, 24 ) ref -> r8 class-hnd "Inlining Arg" <System.String[]>
;* V38 tmp19 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[System.String]>
;* V39 tmp20 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[System.String]>
;* V40 tmp21 [V40 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.String]>
;* V41 tmp22 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V42 tmp23 [V42 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V43 tmp24 [V43,T23] ( 4, 8.50) ref -> r10 class-hnd "Inline return value spill temp" <System.String>
;* V44 tmp25 [V44 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
;* V45 tmp26 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Http.Headers.KnownHeader>
;* V46 tmp27 [V46,T18] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Net.Http.Headers.KnownHeader>
;* V47 tmp28 [V47 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
;* V48 tmp29 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.String>
;* V49 tmp30 [V49 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
;* V50 tmp31 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Http.Headers.KnownHeader>
; V51 tmp32 [V51,T11] ( 4, 16 ) ref -> rsi class-hnd "Inlining Arg" <ubyte[]>
;* V52 tmp33 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V53 tmp34 [V53,T12] ( 4, 16 ) ref -> rdx class-hnd "Inlining Arg" <ubyte[]>
;* V54 tmp35 [V54 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V55 tmp36 [V55,T35] ( 3, 6 ) ref -> rcx class-hnd "Inline return value spill temp" <ubyte[]>
;* V56 tmp37 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Net.Http.Headers.HttpHeaderParser>
; V57 tmp38 [V57,T26] ( 4, 8 ) ref -> r10 class-hnd "Inline return value spill temp" <System.Net.Http.Headers.HttpHeaderParser>
;* V58 tmp39 [V58 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
; V59 tmp40 [V59,T17] ( 3, 12 ) ref -> rcx class-hnd "spilling qmarkNull" <System.Net.Http.Headers.KnownHeader>
;* V60 tmp41 [V60 ] ( 0, 0 ) ref -> zero-ref
; V61 tmp42 [V61,T24] ( 4, 8.50) ref -> rsi class-hnd "Inline return value spill temp" <System.String>
;* V62 tmp43 [V62 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
;* V63 tmp44 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Net.Http.Headers.KnownHeader>
; V64 tmp45 [V64,T14] ( 2, 4 ) ref -> rdi class-hnd exact "Inline stloc first use temp" <System.Net.Http.Headers.KnownHeader>
;* V65 tmp46 [V65 ] ( 0, 0 ) ref -> zero-ref "ISINST eval op1"
;* V66 tmp47 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.String>
;* V67 tmp48 [V67 ] ( 0, 0 ) byref -> zero-ref single-def "field V06._reference (fldOffset=0x0)" P-INDEP
;* V68 tmp49 [V68 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
-; V69 tmp50 [V69,T46] ( 2, 5 ) byref -> [rbp-0x70] spill-single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+; V69 tmp50 [V69,T46] ( 2, 5 ) byref -> [rbp-0x78] spill-single-def "field V08._reference (fldOffset=0x0)" P-INDEP
; V70 tmp51 [V70,T39] ( 3, 6 ) int -> r13 "field V08._length (fldOffset=0x8)" P-INDEP
; V71 tmp52 [V71,T29] ( 2, 8 ) ref -> rsi "field V10.Value (fldOffset=0x0)" P-INDEP
-; V72 tmp53 [V72,T03] ( 20, 41 ) ref -> [rbp-0x78] "field V10.Key (fldOffset=0x8)" P-INDEP
+; V72 tmp53 [V72,T03] ( 20, 41 ) ref -> [rbp-0x80] "field V10.Key (fldOffset=0x8)" P-INDEP
;* V73 tmp54 [V73 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
;* V74 tmp55 [V74 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
; V75 tmp56 [V75,T08] ( 2, 18 ) byref -> r8 "field V16._reference (fldOffset=0x0)" P-INDEP
; V76 tmp57 [V76,T07] ( 3, 20 ) int -> rax "field V16._length (fldOffset=0x8)" P-INDEP
;* V77 tmp58 [V77 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
;* V78 tmp59 [V78 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V79 tmp60 [V79 ] ( 0, 0 ) byref -> zero-ref "field V22._reference (fldOffset=0x0)" P-INDEP
;* V80 tmp61 [V80 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
;* V81 tmp62 [V81 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
;* V82 tmp63 [V82 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
; V83 tmp64 [V83,T50] ( 3, 2 ) byref -> registers "field V34._reference (fldOffset=0x0)" P-INDEP
; V84 tmp65 [V84,T48] ( 4, 3 ) int -> registers "field V34._length (fldOffset=0x8)" P-INDEP
; V85 tmp66 [V85,T27] ( 3, 8 ) byref -> r8 "field V38._reference (fldOffset=0x0)" P-INDEP
; V86 tmp67 [V86,T28] ( 3, 8 ) int -> rax "field V38._length (fldOffset=0x8)" P-INDEP
;* V87 tmp68 [V87 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP
;* V88 tmp69 [V88 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
-; V89 tmp70 [V89,T19] ( 4, 10 ) byref -> [rbp-0x80] "field V40._reference (fldOffset=0x0)" P-INDEP
-; V90 tmp71 [V90,T16] ( 5, 12 ) int -> [rbp-0x34] "field V40._length (fldOffset=0x8)" P-INDEP
+; V89 tmp70 [V89,T19] ( 4, 10 ) byref -> [rbp-0x88] "field V40._reference (fldOffset=0x0)" P-INDEP
+; V90 tmp71 [V90,T16] ( 5, 12 ) int -> [rbp-0x3C] "field V40._length (fldOffset=0x8)" P-INDEP
; V91 tmp72 [V91,T36] ( 3, 6 ) byref -> registers "field V52._reference (fldOffset=0x0)" P-INDEP
; V92 tmp73 [V92,T40] ( 3, 6 ) int -> registers "field V52._length (fldOffset=0x8)" P-INDEP
; V93 tmp74 [V93,T37] ( 3, 6 ) byref -> rdi "field V54._reference (fldOffset=0x0)" P-INDEP
; V94 tmp75 [V94,T41] ( 3, 6 ) int -> rdx "field V54._length (fldOffset=0x8)" P-INDEP
; V95 tmp76 [V95,T05] ( 3, 24 ) byref -> rdi "BlockOp address local"
;* V96 cse0 [V96,T52] ( 0, 0 ) byref -> zero-ref "CSE #05: moderate"
; V97 cse1 [V97,T06] ( 7, 21 ) long -> rdi multi-def "CSE #02: aggressive"
; V98 cse2 [V98,T44] ( 5, 5 ) long -> rdx multi-def "CSE #03: moderate"
-; V99 rat0 [V99,T09] ( 5, 17 ) long -> [rbp-0x40] "Widened IV V09"
+; V99 rat0 [V99,T09] ( 5, 17 ) long -> [rbp-0x48] "Widened IV V09"
; V100 rat1 [V100,T00] ( 5, 66 ) long -> rdi "Widened IV V17"
; V101 rat2 [V101,T47] ( 3, 4 ) byref -> rax "TLS field access"
; V102 rat3 [V102,T42] ( 3, 6 ) long -> rax "TLS access"
; V103 rat4 [V103,T38] ( 3, 6 ) byref -> rax "ThreadStaticBlockBase access"
; V104 rat5 [V104,T57] ( 3, 48 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 104
G_M9838_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 104
lea rbp, [rsp+0x90]
+ mov qword ptr [rbp-0x30], rdi
mov rbx, rdi
mov r14, rsi
mov r13, rdx
mov r15, rcx
- ;; size=34 bbWeight=1 PerfScore 7.75
+ ;; size=38 bbWeight=1 PerfScore 8.75
G_M9838_IG02:
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi+0x9D], 0
je SHORT G_M9838_IG06
;; size=22 bbWeight=1 PerfScore 6.25
G_M9838_IG03:
mov rdi, gword ptr [rbx+0x48]
mov rax, 0xD1FFAB1E ; const ptr
mov r12, gword ptr [rax]
test rdi, rdi
jne SHORT G_M9838_IG04
xor eax, eax
- mov dword ptr [rbp-0x30], eax
+ mov dword ptr [rbp-0x38], eax
jmp SHORT G_M9838_IG05
align [0 bytes for IG37]
;; size=29 bbWeight=0.50 PerfScore 4.38
G_M9838_IG04:
mov rax, 0xD1FFAB1E
mov rax, qword ptr [rax]
call [rax+0x18]System.Object:GetHashCode():int:this
- mov dword ptr [rbp-0x30], eax
+ mov dword ptr [rbp-0x38], eax
;; size=19 bbWeight=0.50 PerfScore 3.12
G_M9838_IG05:
mov rdi, rbx
call System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
mov ecx, eax
mov rdi, 0xD1FFAB1E ; ''
mov gword ptr [rsp], rdi
mov rdi, r12
- mov edx, dword ptr [rbp-0x30]
+ mov edx, dword ptr [rbp-0x38]
mov esi, 8
xor r8d, r8d
mov r9, 0xD1FFAB1E ; 'WriteHeaderCollection'
mov rax, 0xD1FFAB1E ; code for System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
call [rax]System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
;; size=60 bbWeight=0.50 PerfScore 4.00
G_M9838_IG06:
mov rdi, gword ptr [rbx+0x48]
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpConnectionPool:get_Settings():System.Net.Http.HttpConnectionSettings:this
cmp dword ptr [rdi], edi
call [rax]System.Net.Http.HttpConnectionPool:get_Settings():System.Net.Http.HttpConnectionSettings:this
mov r12, gword ptr [rax+0x38]
mov rdi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; function address
call rax
cmp dword ptr [rax], 13
jle G_M9838_IG55
mov rdi, gword ptr [rax+0x08]
mov rax, bword ptr [rdi+0x68]
test rax, rax
je G_M9838_IG55
;; size=70 bbWeight=1 PerfScore 23.00
G_M9838_IG07:
lea rcx, bword ptr [rax+0x10]
- mov bword ptr [rbp-0x48], rcx
+ mov bword ptr [rbp-0x50], rcx
cmp byte ptr [r13], r13b
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Headers.HttpHeaders:GetEntriesArray():System.Net.Http.Headers.HeaderEntry[]:this
call [rax]System.Net.Http.Headers.HttpHeaders:GetEntriesArray():System.Net.Http.Headers.HeaderEntry[]:this
mov r13d, dword ptr [r13+0x10]
test rax, rax
jne SHORT G_M9838_IG09
;; size=36 bbWeight=1 PerfScore 11.25
G_M9838_IG08:
test r13d, r13d
je SHORT G_M9838_IG10
jmp G_M9838_IG58
;; size=10 bbWeight=0.50 PerfScore 1.62
G_M9838_IG09:
cmp dword ptr [rax+0x08], r13d
jb G_M9838_IG58
add rax, 16
jmp SHORT G_M9838_IG12
;; size=16 bbWeight=0.50 PerfScore 3.12
G_M9838_IG10:
xor rax, rax
xor r13, r13
;; size=5 bbWeight=0.50 PerfScore 0.25
G_M9838_IG11:
mov ecx, eax
mov rax, r13
mov r13d, ecx
;; size=8 bbWeight=0.50 PerfScore 0.38
G_M9838_IG12:
mov ecx, r13d
shl ecx, 5
- mov dword ptr [rbp-0x2C], ecx
- mov bword ptr [rbp-0x70], rax
+ mov dword ptr [rbp-0x34], ecx
+ mov bword ptr [rbp-0x78], rax
xor r8d, r8d
test r13d, r13d
jle G_M9838_IG26
;; size=25 bbWeight=1 PerfScore 4.25
G_M9838_IG13:
- mov qword ptr [rbp-0x40], r8
+ mov qword ptr [rbp-0x48], r8
mov rdi, r8
shl rdi, 4
add rdi, rax
mov rsi, gword ptr [rdi]
mov r9, gword ptr [rdi+0x08]
- mov gword ptr [rbp-0x78], r9
+ mov gword ptr [rbp-0x80], r9
mov rdi, r9
- mov rdx, bword ptr [rbp-0x48]
+ mov rdx, bword ptr [rbp-0x50]
mov r10, 0xD1FFAB1E ; code for System.Net.Http.Headers.HttpHeaders:GetStoreValuesIntoStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref):int
call [r10]System.Net.Http.Headers.HttpHeaders:GetStoreValuesIntoStringArray(System.Net.Http.Headers.HeaderDescriptor,System.Object,byref):int
- mov rcx, bword ptr [rbp-0x48]
+ mov rcx, bword ptr [rbp-0x50]
mov r8, gword ptr [rcx]
test r8, r8
jne SHORT G_M9838_IG15
;; size=57 bbWeight=4 PerfScore 63.00
G_M9838_IG14:
test eax, eax
je SHORT G_M9838_IG16
jmp G_M9838_IG58
;; size=9 bbWeight=2 PerfScore 6.50
G_M9838_IG15:
cmp dword ptr [r8+0x08], eax
jb G_M9838_IG58
add r8, 16
jmp SHORT G_M9838_IG17
;; size=16 bbWeight=2 PerfScore 12.50
G_M9838_IG16:
xor r8, r8
xor eax, eax
;; size=5 bbWeight=2 PerfScore 1.00
G_M9838_IG17:
- mov bword ptr [rbp-0x80], r8
- mov dword ptr [rbp-0x34], eax
+ mov bword ptr [rbp-0x88], r8
+ mov dword ptr [rbp-0x3C], eax
test r12, r12
jne SHORT G_M9838_IG19
- ;; size=12 bbWeight=4 PerfScore 13.00
+ ;; size=15 bbWeight=4 PerfScore 13.00
G_M9838_IG18:
- mov eax, dword ptr [rbp-0x34]
- mov r8, bword ptr [rbp-0x80]
+ mov eax, dword ptr [rbp-0x3C]
+ mov r8, bword ptr [rbp-0x88]
xor r9, r9
jmp SHORT G_M9838_IG22
- ;; size=12 bbWeight=2 PerfScore 8.50
+ ;; size=15 bbWeight=2 PerfScore 8.50
G_M9838_IG19:
- mov eax, dword ptr [rbp-0x34]
- mov r8, bword ptr [rbp-0x80]
- cmp gword ptr [rbp-0x78], 0
- jne SHORT G_M9838_IG28
- ;; size=14 bbWeight=2 PerfScore 10.00
+ mov eax, dword ptr [rbp-0x3C]
+ mov r8, bword ptr [rbp-0x88]
+ cmp gword ptr [rbp-0x80], 0
+ jne G_M9838_IG28
+ ;; size=21 bbWeight=2 PerfScore 10.00
G_M9838_IG20:
xor r10, r10
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
- ;; size=10 bbWeight=4 PerfScore 9.00
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
+ ;; size=13 bbWeight=4 PerfScore 9.00
G_M9838_IG21:
mov rsi, r10
mov rdx, r14
mov rdi, gword ptr [r12+0x08]
call [r12+0x18]System.Net.Http.HeaderEncodingSelector`1[System.__Canon]:Invoke(System.String,System.__Canon):System.Text.Encoding:this
mov r9, rax
- mov eax, dword ptr [rbp-0x34]
- mov r8, bword ptr [rbp-0x80]
- ;; size=26 bbWeight=2 PerfScore 15.50
+ mov eax, dword ptr [rbp-0x3C]
+ mov r8, bword ptr [rbp-0x88]
+ ;; size=29 bbWeight=2 PerfScore 15.50
G_M9838_IG22:
mov r10, r9
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
test rsi, rsi
jne G_M9838_IG32
;; size=16 bbWeight=4 PerfScore 10.00
G_M9838_IG23:
xor rsi, rsi
;; size=2 bbWeight=4 PerfScore 1.00
G_M9838_IG24:
mov rdx, r8
mov ecx, eax
mov rdi, rbx
mov r8, r9
mov r9, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this
call [rax]System.Net.Http.Http2Connection:WriteLiteralHeader(System.String,System.ReadOnlySpan`1[System.String],System.Text.Encoding,byref):this
;; size=26 bbWeight=2 PerfScore 9.00
G_M9838_IG25:
- mov rax, qword ptr [rbp-0x40]
+ mov rax, qword ptr [rbp-0x48]
inc eax
mov rcx, rax
cmp ecx, r13d
mov r8, rcx
- mov rax, bword ptr [rbp-0x70]
+ mov rax, bword ptr [rbp-0x78]
jl G_M9838_IG13
;; size=25 bbWeight=4 PerfScore 16.00
G_M9838_IG26:
- mov eax, dword ptr [rbp-0x2C]
+ mov eax, dword ptr [rbp-0x34]
;; size=3 bbWeight=1 PerfScore 1.00
G_M9838_IG27:
add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
G_M9838_IG28:
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
mov rdi, qword ptr [rsi]
mov rdx, 0xD1FFAB1E ; System.Net.Http.Headers.KnownHeader
cmp rdi, rdx
je SHORT G_M9838_IG31
;; size=22 bbWeight=1 PerfScore 4.50
G_M9838_IG29:
mov rdx, 0xD1FFAB1E ; System.String
cmp rdi, rdx
- mov gword ptr [rbp-0x78], rsi
+ mov gword ptr [rbp-0x80], rsi
jne G_M9838_IG20
;; size=23 bbWeight=8 PerfScore 20.00
G_M9838_IG30:
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
mov r10, rsi
- mov gword ptr [rbp-0x78], rsi
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
+ mov gword ptr [rbp-0x80], rsi
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
jmp G_M9838_IG21
- ;; size=23 bbWeight=0.50 PerfScore 3.12
+ ;; size=26 bbWeight=0.50 PerfScore 3.12
G_M9838_IG31:
mov r10, gword ptr [rsi+0x08]
- mov gword ptr [rbp-0x78], rsi
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
+ mov gword ptr [rbp-0x80], rsi
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
jmp G_M9838_IG21
- ;; size=20 bbWeight=2 PerfScore 14.00
+ ;; size=23 bbWeight=2 PerfScore 14.00
G_M9838_IG32:
mov rdi, qword ptr [rsi]
mov rdx, 0xD1FFAB1E ; System.Net.Http.Headers.KnownHeader
cmp rdi, rdx
je SHORT G_M9838_IG35
je G_M9838_IG54
;; size=24 bbWeight=1 PerfScore 4.50
G_M9838_IG33:
mov r10, 0xD1FFAB1E ; System.String
cmp rdi, r10
jne G_M9838_IG23
;; size=19 bbWeight=8 PerfScore 12.00
G_M9838_IG34:
jmp G_M9838_IG24
;; size=5 bbWeight=0.50 PerfScore 1.00
G_M9838_IG35:
mov rdx, rsi
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M9838_IG56
;; size=22 bbWeight=2 PerfScore 9.00
G_M9838_IG36:
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:Host
cmp rsi, gword ptr [rdi]
je G_M9838_IG25
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:Connection
cmp rsi, gword ptr [rdi]
je G_M9838_IG25
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:Upgrade
cmp rsi, gword ptr [rdi]
je G_M9838_IG25
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:ProxyConnection
cmp rsi, gword ptr [rdi]
- mov gword ptr [rbp-0x68], r9
- mov gword ptr [rbp-0x50], r10
+ mov gword ptr [rbp-0x70], r9
+ mov gword ptr [rbp-0x58], r10
je G_M9838_IG25
mov rdi, gword ptr [rsi+0x08]
- mov r11d, dword ptr [rbp-0x2C]
+ mov r11d, dword ptr [rbp-0x34]
add r11d, dword ptr [rdi+0x08]
- mov dword ptr [rbp-0x2C], r11d
+ mov dword ptr [rbp-0x34], r11d
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:TE
cmp rsi, gword ptr [rdi]
jne SHORT G_M9838_IG41
xor edi, edi
test eax, eax
jle G_M9838_IG25
;; size=125 bbWeight=2 PerfScore 63.50
G_M9838_IG37:
mov r9, gword ptr [r8+8*rdi]
- mov gword ptr [rbp-0x60], r9
+ mov gword ptr [rbp-0x68], r9
test r9, r9
je G_M9838_IG51
;; size=17 bbWeight=16 PerfScore 68.00
G_M9838_IG38:
cmp dword ptr [r9+0x08], 8
jne G_M9838_IG51
;; size=11 bbWeight=4 PerfScore 16.00
G_M9838_IG39:
vmovups xmm0, xmmword ptr [r9+0x0C]
vmovups xmm1, xmmword ptr [reloc @RWD00]
vpternlogq xmm0, xmm1, xmmword ptr [reloc @RWD16], 86
vptest xmm0, xmm0
sete sil
movzx rsi, sil
test esi, esi
je G_M9838_IG51
;; size=46 bbWeight=8 PerfScore 116.00
G_M9838_IG40:
mov rsi, gword ptr [rdx+0x28]
test rsi, rsi
jne G_M9838_IG52
xor rsi, rsi
xor edx, edx
jmp G_M9838_IG53
;; size=22 bbWeight=2 PerfScore 11.50
G_M9838_IG41:
mov rdi, 0xD1FFAB1E ; data for System.Net.Http.Headers.KnownHeaders:ContentLength
- mov gword ptr [rbp-0x78], rsi
+ mov gword ptr [rbp-0x80], rsi
cmp rsi, gword ptr [rdi]
jne SHORT G_M9838_IG42
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
mov rdi, r14
mov rdx, 0xD1FFAB1E ; code for System.Net.Http.HttpRequestMessage:get_IsExtendedConnectRequest():ubyte:this
cmp dword ptr [rdi], edi
call [rdx]System.Net.Http.HttpRequestMessage:get_IsExtendedConnectRequest():ubyte:this
test eax, eax
- mov eax, dword ptr [rbp-0x34]
- mov r8, bword ptr [rbp-0x80]
+ mov eax, dword ptr [rbp-0x3C]
+ mov r8, bword ptr [rbp-0x88]
jne G_M9838_IG25
- ;; size=58 bbWeight=2 PerfScore 34.00
+ ;; size=64 bbWeight=2 PerfScore 34.00
G_M9838_IG42:
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
mov rdx, gword ptr [rsi+0x28]
test rdx, rdx
jne SHORT G_M9838_IG43
xor rdi, rdi
xor edx, edx
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
jmp SHORT G_M9838_IG44
- ;; size=26 bbWeight=2 PerfScore 17.50
+ ;; size=29 bbWeight=2 PerfScore 17.50
G_M9838_IG43:
lea rdi, bword ptr [rdx+0x10]
mov edx, dword ptr [rdx+0x08]
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
- ;; size=14 bbWeight=2 PerfScore 9.00
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
+ ;; size=17 bbWeight=2 PerfScore 9.00
G_M9838_IG44:
mov rsi, rdi
mov rdi, rbx
mov rcx, r15
mov r10, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this
call [r10]System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this
- mov eax, dword ptr [rbp-0x34]
+ mov eax, dword ptr [rbp-0x3C]
cmp eax, 1
jg SHORT G_M9838_IG45
xor rcx, rcx
jmp SHORT G_M9838_IG49
;; size=34 bbWeight=2 PerfScore 17.00
G_M9838_IG45:
- mov rsi, gword ptr [rbp-0x78]
+ mov rsi, gword ptr [rbp-0x80]
mov rcx, rsi
test rcx, rcx
jne SHORT G_M9838_IG46
xor r10, r10
jmp SHORT G_M9838_IG47
;; size=17 bbWeight=2 PerfScore 9.50
G_M9838_IG46:
mov r10, gword ptr [rcx+0x10]
;; size=4 bbWeight=2 PerfScore 4.00
G_M9838_IG47:
test r10, r10
jne SHORT G_M9838_IG50
mov rsi, 0xD1FFAB1E ; global ptr
test byte ptr [rsi], 1
je G_M9838_IG57
;; size=24 bbWeight=2 PerfScore 11.00
G_M9838_IG48:
mov rsi, 0xD1FFAB1E ; data for System.Net.Http.Headers.HttpHeaderParser:DefaultSeparatorBytes
mov rcx, gword ptr [rsi]
;; size=13 bbWeight=2 PerfScore 4.50
G_M9838_IG49:
- mov rsi, bword ptr [rbp-0x80]
+ mov rsi, bword ptr [rbp-0x88]
mov edx, eax
mov rdi, rbx
- mov r8, gword ptr [rbp-0x68]
+ mov r8, gword ptr [rbp-0x70]
mov r9, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:WriteLiteralHeaderValues(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,byref):this
call [rax]System.Net.Http.Http2Connection:WriteLiteralHeaderValues(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,byref):this
jmp G_M9838_IG25
- ;; size=33 bbWeight=2 PerfScore 16.00
+ ;; size=36 bbWeight=2 PerfScore 16.00
G_M9838_IG50:
mov rcx, gword ptr [r10+0x10]
jmp SHORT G_M9838_IG49
;; size=6 bbWeight=2 PerfScore 8.00
G_M9838_IG51:
inc edi
cmp edi, eax
jl G_M9838_IG37
jmp G_M9838_IG25
;; size=15 bbWeight=16 PerfScore 56.00
G_M9838_IG52:
lea rdx, bword ptr [rsi+0x10]
mov esi, dword ptr [rsi+0x08]
mov edi, esi
mov rsi, rdx
mov edx, edi
;; size=14 bbWeight=2 PerfScore 6.50
G_M9838_IG53:
mov rdi, rbx
mov rcx, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this
call [rax]System.Net.Http.Http2Connection:WriteBytes(System.ReadOnlySpan`1[ubyte],byref):this
mov rdi, rbx
- mov rsi, gword ptr [rbp-0x60]
- mov rdx, gword ptr [rbp-0x50]
+ mov rsi, gword ptr [rbp-0x68]
+ mov rdx, gword ptr [rbp-0x58]
mov rcx, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http2Connection:WriteLiteralHeaderValue(System.String,System.Text.Encoding,byref):this
call [rax]System.Net.Http.Http2Connection:WriteLiteralHeaderValue(System.String,System.Text.Encoding,byref):this
jmp G_M9838_IG25
;; size=49 bbWeight=2 PerfScore 23.00
G_M9838_IG54:
mov rdi, rsi
mov rsi, gword ptr [rdi+0x08]
jmp G_M9838_IG24
;; size=12 bbWeight=2 PerfScore 8.50
G_M9838_IG55:
mov edi, 13
call CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
jmp G_M9838_IG07
;; size=15 bbWeight=0 PerfScore 0.00
G_M9838_IG56:
- mov gword ptr [rbp-0x78], rsi
- mov gword ptr [rbp-0x68], r9
- mov dword ptr [rbp-0x34], eax
- mov bword ptr [rbp-0x80], r8
- mov gword ptr [rbp-0x58], rdx
- mov gword ptr [rbp-0x50], r10
+ mov gword ptr [rbp-0x80], rsi
+ mov gword ptr [rbp-0x70], r9
+ mov dword ptr [rbp-0x3C], eax
+ mov bword ptr [rbp-0x88], r8
+ mov gword ptr [rbp-0x60], rdx
+ mov gword ptr [rbp-0x58], r10
mov rdi, 0xD1FFAB1E ; System.Net.Http.Headers.KnownHeaders
call CORINFO_HELP_GET_GCSTATIC_BASE
- mov eax, dword ptr [rbp-0x34]
- mov rdx, gword ptr [rbp-0x58]
- mov rsi, gword ptr [rbp-0x78]
- mov r8, bword ptr [rbp-0x80]
- mov r9, gword ptr [rbp-0x68]
- mov r10, gword ptr [rbp-0x50]
+ mov eax, dword ptr [rbp-0x3C]
+ mov rdx, gword ptr [rbp-0x60]
+ mov rsi, gword ptr [rbp-0x80]
+ mov r8, bword ptr [rbp-0x88]
+ mov r9, gword ptr [rbp-0x70]
+ mov r10, gword ptr [rbp-0x58]
jmp G_M9838_IG36
- ;; size=66 bbWeight=0 PerfScore 0.00
+ ;; size=72 bbWeight=0 PerfScore 0.00
G_M9838_IG57:
- mov dword ptr [rbp-0x34], eax
+ mov dword ptr [rbp-0x3C], eax
mov rdi, 0xD1FFAB1E ; System.Net.Http.Headers.HttpHeaderParser
call CORINFO_HELP_GET_GCSTATIC_BASE
- mov eax, dword ptr [rbp-0x34]
+ mov eax, dword ptr [rbp-0x3C]
jmp G_M9838_IG48
;; size=26 bbWeight=0 PerfScore 0.00
G_M9838_IG58:
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 0069006100720074h, 007300720065006Ch
-; Total bytes of code 1400, prolog size 34, PerfScore 817.25, instruction count 344, allocated bytes for code 1400 (MethodHash=72aed991) for method System.Net.Http.Http2Connection:WriteHeaderCollection(System.Net.Http.HttpRequestMessage,System.Net.Http.Headers.HttpHeaders,byref):int:this (FullOpts)
+; Total bytes of code 1450, prolog size 38, PerfScore 818.25, instruction count 345, allocated bytes for code 1450 (MethodHash=72aed991) for method System.Net.Http.Http2Connection:WriteHeaderCollection(System.Net.Http.HttpRequestMessage,System.Net.Http.Headers.HttpHeaders,byref):int:this (FullOpts)
47 (1.83 % of base) - System.Data.DataSet:Clone():System.Data.DataSet:this
; Assembly listing for method System.Data.DataSet:Clone():System.Data.DataSet:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 50 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T31] ( 18, 18.50) ref -> rbx this class-hnd single-def <System.Data.DataSet>
-; V01 loc0 [V01,T66] ( 3, 2 ) long -> [rbp-0x30] do-not-enreg[Z] EH-live
-; V02 loc1 [V02,T03] ( 25, 62 ) ref -> r15 class-hnd single-def <System.Data.DataSet>
-; V03 loc2 [V03,T14] ( 11, 32 ) ref -> r14 class-hnd exact single-def <System.Data.DataTableCollection>
-; V04 loc3 [V04,T48] ( 6, 11.25) ref -> r13 class-hnd single-def <System.Data.DataRelationCollection>
-; V05 loc4 [V05,T29] ( 6, 21 ) int -> r13
-; V06 loc5 [V06,T44] ( 3, 12 ) ref -> r12 class-hnd <System.Data.DataTable>
-; V07 loc6 [V07,T28] ( 6, 25 ) int -> r13
-; V08 loc7 [V08,T06] ( 6, 56 ) ref -> r12 class-hnd exact <System.Data.ConstraintCollection>
-; V09 loc8 [V09,T01] ( 7, 84 ) int -> [rbp-0x34]
+; V00 this [V00,T31] ( 18, 18.50) ref -> [rbp-0x50] this class-hnd EH-live single-def <System.Data.DataSet>
+; V01 loc0 [V01,T66] ( 3, 2 ) long -> [rbp-0x38] do-not-enreg[Z] EH-live
+; V02 loc1 [V02,T03] ( 25, 62 ) ref -> rbx class-hnd single-def <System.Data.DataSet>
+; V03 loc2 [V03,T14] ( 11, 32 ) ref -> r15 class-hnd exact single-def <System.Data.DataTableCollection>
+; V04 loc3 [V04,T48] ( 6, 11.25) ref -> r14 class-hnd single-def <System.Data.DataRelationCollection>
+; V05 loc4 [V05,T29] ( 6, 21 ) int -> r14
+; V06 loc5 [V06,T44] ( 3, 12 ) ref -> r13 class-hnd <System.Data.DataTable>
+; V07 loc6 [V07,T28] ( 6, 25 ) int -> r14
+; V08 loc7 [V08,T06] ( 6, 56 ) ref -> r13 class-hnd exact <System.Data.ConstraintCollection>
+; V09 loc8 [V09,T01] ( 7, 84 ) int -> r12
; V10 loc9 [V10,T11] ( 5, 40 ) ref -> [rbp-0x58] class-hnd spill-single-def <System.Data.ForeignKeyConstraint>
-; V11 loc10 [V11,T36] ( 5, 17 ) int -> r12
+; V11 loc10 [V11,T36] ( 5, 17 ) int -> r13
; V12 loc11 [V12,T37] ( 4, 16 ) ref -> [rbp-0x60] class-hnd spill-single-def <System.Data.DataRelation>
; V13 loc12 [V13,T35] ( 10, 19 ) ref -> [rbp-0x68] do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
-; V14 loc13 [V14,T55] ( 3, 6 ) ref -> r13 class-hnd <System.Object>
+; V14 loc13 [V14,T55] ( 3, 6 ) ref -> r14 class-hnd <System.Object>
; V15 loc14 [V15,T49] ( 18, 10 ) ref -> rax class-hnd <System.IDisposable>
-; V16 loc15 [V16,T26] ( 5, 28 ) ref -> rbx class-hnd <System.Data.DataTable>
+; V16 loc15 [V16,T26] ( 5, 28 ) ref -> r14 class-hnd <System.Data.DataTable>
; V17 loc16 [V17,T27] ( 5, 28 ) ref -> [rbp-0x70] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
; V18 loc17 [V18,T15] ( 4, 32 ) ref -> r13 class-hnd <System.Data.DataColumn>
-; V19 loc18 [V19,T30] ( 6, 21 ) int -> rbx
+; V19 loc18 [V19,T30] ( 6, 21 ) int -> r14
;* V20 loc19 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Data.DataSet>
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T59] ( 3, 5 ) ref -> r15 class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
+; V22 tmp1 [V22,T59] ( 3, 5 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.Data.DataCommonEventSource>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.DataTable>
; V24 tmp3 [V24,T07] ( 3, 48 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "non-inline candidate call" <System.Data.ConstraintCollection>
; V25 tmp4 [V25,T17] ( 2, 32 ) ref -> r12 class-hnd exact "impAppendStmt" <System.Data.DataTableCollection>
; V26 tmp5 [V26,T18] ( 2, 32 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "impAppendStmt" <System.String>
;* V27 tmp6 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Data.DataColumnCollection>
;* V28 tmp7 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.DataTable>
;* V29 tmp8 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Data.PropertyCollection>
-; V30 tmp9 [V30,T67] ( 3, 2 ) long -> r13 "Inline return value spill temp"
-; V31 tmp10 [V31,T65] ( 2, 3 ) int -> r14 "Inlining Arg"
+; V30 tmp9 [V30,T67] ( 3, 2 ) long -> r14 "Inline return value spill temp"
+; V31 tmp10 [V31,T65] ( 2, 3 ) int -> r15 "Inlining Arg"
; V32 tmp11 [V32,T62] ( 3, 3 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" <System.Int32>
;* V33 tmp12 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
; V34 tmp13 [V34 ] ( 2, 2 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Object>
;* V35 tmp14 [V35 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Object]>
;* V36 tmp15 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
-; V37 tmp16 [V37,T32] ( 3, 20 ) ref -> [rbp-0x88] class-hnd spill-single-def "Inlining Arg" <System.Data.DataTable>
+; V37 tmp16 [V37,T32] ( 3, 20 ) ref -> r12 class-hnd "Inlining Arg" <System.Data.DataTable>
; V38 tmp17 [V38,T39] ( 2, 16 ) ref -> rsi class-hnd exact "dup spill" <System.String>
; V39 tmp18 [V39,T43] ( 4, 14 ) ref -> rsi
-; V40 tmp19 [V40,T45] ( 3, 12 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Data.DataTable]>
+; V40 tmp19 [V40,T45] ( 3, 12 ) ref -> [rbp-0x88] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Data.DataTable]>
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
;* V42 tmp21 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
; V43 tmp22 [V43,T19] ( 2, 32 ) ref -> rsi class-hnd "Inlining Arg" <System.Data.Constraint>
-; V44 tmp23 [V44,T52] ( 2, 8 ) ref -> r12 class-hnd "dup spill" <System.Data.PropertyCollection>
-; V45 tmp24 [V45,T50] ( 5, 10 ) ref -> r12
-; V46 tmp25 [V46,T38] ( 4, 16 ) ref -> r12 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
+; V44 tmp23 [V44,T52] ( 2, 8 ) ref -> r13 class-hnd "dup spill" <System.Data.PropertyCollection>
+; V45 tmp24 [V45,T50] ( 5, 10 ) ref -> r13
+; V46 tmp25 [V46,T38] ( 4, 16 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Data.PropertyCollection>
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Data.PropertyCollection>
;* V48 tmp27 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataTableCollection>
;* V49 tmp28 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Data.DataColumnCollection>
; V50 tmp29 [V50,T20] ( 2, 32 ) ref -> rdx class-hnd exact "dup spill" <System.String>
; V51 tmp30 [V51,T16] ( 4, 32 ) ref -> rdx
-; V52 tmp31 [V52,T08] ( 3, 48 ) ref -> [rbp-0x98] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Data.DataTable]>
+; V52 tmp31 [V52,T08] ( 3, 48 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Data.DataTable]>
;* V53 tmp32 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Data.DataTable>
; V54 tmp33 [V54,T09] ( 3, 48 ) ref -> r12 class-hnd "Inlining Arg" <System.Data.DataColumn>
; V55 tmp34 [V55,T54] ( 6, 6 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Data.DataCommonEventSource>
;* V56 tmp35 [V56,T72] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp36 [V57,T73] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
; V58 tmp37 [V58,T68] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V59 tmp38 [V59,T56] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V60 tmp39 [V60,T23] ( 6, 30 ) ref -> rdi "argument with side effect"
+; V60 tmp39 [V60,T23] ( 6, 30 ) ref -> rax "argument with side effect"
; V61 tmp40 [V61,T40] ( 2, 16 ) ref -> rdi "argument with side effect"
; V62 tmp41 [V62,T24] ( 6, 30 ) ref -> rdi "argument with side effect"
; V63 tmp42 [V63,T00] ( 6,120 ) ref -> rdi "argument with side effect"
; V64 tmp43 [V64,T02] ( 2, 64 ) ref -> rsi "argument with side effect"
; V65 tmp44 [V65,T12] ( 3, 36 ) ref -> rax "argument with side effect"
; V66 tmp45 [V66,T10] ( 3, 48 ) ref -> rax "argument with side effect"
; V67 tmp46 [V67,T41] ( 2, 16 ) ref -> rdi "argument with side effect"
-; V68 tmp47 [V68,T63] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V68 tmp47 [V68,T63] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V69 tmp48 [V69,T69] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V70 tmp49 [V70,T46] ( 3, 12 ) ref -> rdi "argument with side effect"
+; V70 tmp49 [V70,T46] ( 3, 12 ) ref -> rax "argument with side effect"
; V71 tmp50 [V71,T53] ( 2, 8 ) ref -> rdx "argument with side effect"
-; V72 tmp51 [V72,T57] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V72 tmp51 [V72,T57] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V73 tmp52 [V73,T51] ( 3, 9 ) ref -> rax "argument with side effect"
; V74 tmp53 [V74,T47] ( 3, 12 ) ref -> rdi "argument with side effect"
; V75 tmp54 [V75,T13] ( 3, 36 ) ref -> rax "argument with side effect"
; V76 tmp55 [V76,T21] ( 2, 32 ) ref -> rdi "argument with side effect"
; V77 tmp56 [V77,T22] ( 2, 32 ) ref -> rsi "argument with side effect"
; V78 tmp57 [V78,T25] ( 6, 30 ) ref -> rdi "argument with side effect"
; V79 PSPSym [V79,T71] ( 1, 1 ) long -> [rbp-0xB0] do-not-enreg[V] "PSPSym"
-; V80 cse0 [V80,T64] ( 3, 3 ) ref -> rdi "CSE #05: conservative"
+; V80 cse0 [V80,T64] ( 3, 3 ) ref -> rax "CSE #05: conservative"
;* V81 cse1 [V81,T70] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: conservative"
; V82 cse2 [V82,T61] ( 2, 4.25) long -> [rbp-0x48] spill-single-def hoist "CSE #09: conservative"
-; V83 cse3 [V83,T58] ( 3, 6 ) long -> [rbp-0x50] spill-single-def "CSE #10: conservative"
+; V83 cse3 [V83,T58] ( 3, 6 ) long -> r12 "CSE #10: conservative"
; V84 rat0 [V84,T04] ( 5, 60 ) ref -> registers "replacement local"
; V85 rat1 [V85,T33] ( 3, 20 ) long -> rdi "CSE for expectedClsNode"
-; V86 rat2 [V86,T42] ( 5, 15 ) ref -> rbx "replacement local"
+; V86 rat2 [V86,T42] ( 5, 15 ) ref -> r14 "replacement local"
; V87 rat3 [V87,T60] ( 3, 5 ) long -> rdi "CSE for expectedClsNode"
; V88 rat4 [V88,T05] ( 5, 60 ) ref -> r13 "replacement local"
; V89 rat5 [V89,T34] ( 3, 20 ) long -> rdi "CSE for expectedClsNode"
-; TEMP_02 byref -> [rbp-0xA0]
-; TEMP_01 ref -> [rbp-0xA8]
+; TEMP_02 byref -> [rbp-0x98]
+; TEMP_01 ref -> [rbp-0xA0]
;
; Lcl frame size = 136
G_M29612_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 136
lea rbp, [rsp+0xB0]
xor eax, eax
mov qword ptr [rbp-0x40], rax
+ mov qword ptr [rbp-0x98], rax
mov qword ptr [rbp-0xA0], rax
- mov qword ptr [rbp-0xA8], rax
mov qword ptr [rbp-0xB0], rsp
- mov rbx, rdi
- ;; size=55 bbWeight=1 PerfScore 11.25
+ mov qword ptr [rbp-0x30], rdi
+ mov gword ptr [rbp-0x50], rdi
+ ;; size=60 bbWeight=1 PerfScore 13.00
G_M29612_IG02:
- mov rdi, 0xD1FFAB1E ; global ptr
- test byte ptr [rdi], 1
- je G_M29612_IG56
+ mov rax, 0xD1FFAB1E ; global ptr
+ test byte ptr [rax], 1
+ je G_M29612_IG57
;; size=19 bbWeight=1 PerfScore 4.25
G_M29612_IG03:
- mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
- mov rdi, gword ptr [rdi]
- mov r15, rdi
- mov r14d, dword ptr [rbx+0x94]
- cmp byte ptr [r15], r15b
- cmp byte ptr [rdi+0x9D], 0
+ mov rax, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
+ mov rax, gword ptr [rax]
+ mov rbx, rax
+ mov r15d, dword ptr [rdi+0x94]
+ cmp byte ptr [rbx], bl
+ cmp byte ptr [rax+0x9D], 0
jne SHORT G_M29612_IG05
- ;; size=35 bbWeight=1 PerfScore 11.50
+ ;; size=34 bbWeight=1 PerfScore 11.50
G_M29612_IG04:
- xor r13d, r13d
+ xor r14d, r14d
jmp SHORT G_M29612_IG06
;; size=5 bbWeight=0.50 PerfScore 1.12
G_M29612_IG05:
mov rdi, 0xD1FFAB1E ; System.Int32
call CORINFO_HELP_NEWSFAST
- mov dword ptr [rax+0x08], r14d
+ mov dword ptr [rax+0x08], r15d
mov gword ptr [rbp-0x40], rax
lea rdx, bword ptr [rbp-0x40]
mov ecx, 1
xor rdi, rdi
mov rsi, 0xD1FFAB1E ; '<ds.DataSet.Clone|API> {0}'
mov rax, 0xD1FFAB1E ; code for System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
call [rax]System.String:FormatHelper(System.IFormatProvider,System.String,System.ReadOnlySpan`1[System.Object]):System.String
mov rsi, rax
- mov rdi, r15
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataCommonEventSource:EnterScope(System.String):long:this
call [rax]System.Data.DataCommonEventSource:EnterScope(System.String):long:this
- mov r13, rax
+ mov r14, rax
;; size=77 bbWeight=0.50 PerfScore 5.88
G_M29612_IG06:
- mov qword ptr [rbp-0x30], r13
+ mov qword ptr [rbp-0x38], r14
;; size=4 bbWeight=1 PerfScore 1.00
G_M29612_IG07:
- mov rdi, rbx
+ mov rdi, gword ptr [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:CreateInstanceOfThisType():System.Data.DataSet:this
call [rax]System.Data.DataSet:CreateInstanceOfThisType():System.Data.DataSet:this
- mov r15, rax
- mov rdi, gword ptr [r15+0x20]
+ mov rbx, rax
+ mov rdi, gword ptr [rbx+0x20]
mov rdi, gword ptr [rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
jle SHORT G_M29612_IG09
- ;; size=40 bbWeight=1 PerfScore 16.00
+ ;; size=41 bbWeight=1 PerfScore 16.75
G_M29612_IG08:
- mov rdi, r15
- mov rax, qword ptr [r15]
+ mov rdi, rbx
+ mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x58]
call [rax+0x38]System.Data.DataSet:Reset():this
;; size=13 bbWeight=0.50 PerfScore 3.62
G_M29612_IG09:
- mov rsi, gword ptr [rbx+0x38]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ mov rsi, gword ptr [rdi+0x38]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_DataSetName(System.String):this
call [rax]System.Data.DataSet:set_DataSetName(System.String):this
- movzx rsi, byte ptr [rbx+0x99]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ movzx rsi, byte ptr [rdi+0x99]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_CaseSensitive(ubyte):this
call [rax]System.Data.DataSet:set_CaseSensitive(ubyte):this
- mov rsi, gword ptr [rbx+0x50]
- lea rdi, bword ptr [r15+0x50]
+ mov rdi, gword ptr [rbp-0x50]
+ mov rsi, gword ptr [rdi+0x50]
+ lea rdi, bword ptr [rbx+0x50]
call CORINFO_HELP_ASSIGN_REF
- movzx rsi, byte ptr [rbx+0x9A]
- mov byte ptr [r15+0x9A], sil
- movzx rsi, byte ptr [rbx+0x98]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ movzx rsi, byte ptr [rdi+0x9A]
+ mov byte ptr [rbx+0x9A], sil
+ movzx rsi, byte ptr [rdi+0x98]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_EnforceConstraints(ubyte):this
call [rax]System.Data.DataSet:set_EnforceConstraints(ubyte):this
- mov rsi, gword ptr [rbx+0x48]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ mov rsi, gword ptr [rdi+0x48]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_Namespace(System.String):this
call [rax]System.Data.DataSet:set_Namespace(System.String):this
- mov rsi, gword ptr [rbx+0x40]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ mov rsi, gword ptr [rdi+0x40]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_Prefix(System.String):this
call [rax]System.Data.DataSet:set_Prefix(System.String):this
- mov esi, dword ptr [rbx+0x90]
- mov rdi, r15
+ mov rdi, gword ptr [rbp-0x50]
+ mov esi, dword ptr [rdi+0x90]
+ mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataSet:set_RemotingFormat(int):this
call [rax]System.Data.DataSet:set_RemotingFormat(int):this
- mov byte ptr [r15+0xA0], 1
- mov r14, gword ptr [rbx+0x20]
- xor r13d, r13d
- mov rdi, gword ptr [r14+0x10]
- mov rax, qword ptr [rdi]
+ mov byte ptr [rbx+0xA0], 1
+ mov rdi, gword ptr [rbp-0x50]
+ mov r15, gword ptr [rdi+0x20]
+ xor r14d, r14d
+ mov rax, gword ptr [r15+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M29612_IG14
- ;; size=189 bbWeight=1 PerfScore 53.00
+ ;; size=217 bbWeight=1 PerfScore 60.25
G_M29612_IG10:
- mov rdi, r14
- mov esi, r13d
+ jle G_M29612_IG15
+ ;; size=6 bbWeight=1 PerfScore 1.00
+G_M29612_IG11:
+ mov rdi, r15
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
mov rdi, rax
- mov rsi, r15
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:Clone(System.Data.DataSet):System.Data.DataTable:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTable:Clone(System.Data.DataSet):System.Data.DataTable:this
- mov r12, rax
- mov rdi, r14
- mov esi, r13d
+ mov r13, rax
+ mov rdi, r15
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
- mov gword ptr [rbp-0x88], rax
- mov rsi, gword ptr [rax+0x78]
+ mov r12, rax
+ mov rsi, gword ptr [r12+0x78]
test rsi, rsi
- jne SHORT G_M29612_IG13
- ;; size=75 bbWeight=4 PerfScore 75.00
-G_M29612_IG11:
+ jne SHORT G_M29612_IG14
+ ;; size=72 bbWeight=4 PerfScore 72.00
+G_M29612_IG12:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Data.DataTable]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x90], rax
+ mov gword ptr [rbp-0x88], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M29612_IG53
+ je G_M29612_IG54
;; size=41 bbWeight=2 PerfScore 13.00
-G_M29612_IG12:
+G_M29612_IG13:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Data.DataTable]:s_emptyArray
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [rax+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x88]
- mov rsi, gword ptr [rbp-0x90]
+ mov rdi, r12
+ mov rsi, gword ptr [rbp-0x88]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:GetInheritedNamespace(System.Collections.Generic.List`1[System.Data.DataTable]):System.String:this
call [rax]System.Data.DataTable:GetInheritedNamespace(System.Collections.Generic.List`1[System.Data.DataTable]):System.String:this
mov rsi, rax
- ;; size=51 bbWeight=2 PerfScore 18.50
-G_M29612_IG13:
- lea rdi, bword ptr [r12+0x78]
+ ;; size=47 bbWeight=2 PerfScore 17.00
+G_M29612_IG14:
+ lea rdi, bword ptr [r13+0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [r15+0x20]
- mov rsi, r12
+ mov rdi, gword ptr [rbx+0x20]
+ mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:Add(System.Data.DataTable):this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:Add(System.Data.DataTable):this
- inc r13d
- mov rdi, gword ptr [r14+0x10]
- mov rax, qword ptr [rdi]
+ inc r14d
+ mov rax, gword ptr [r15+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, r13d
- jg G_M29612_IG10
- ;; size=57 bbWeight=4 PerfScore 82.00
-G_M29612_IG14:
- xor r13d, r13d
- mov rdi, gword ptr [r14+0x10]
+ cmp eax, r14d
+ jg G_M29612_IG11
+ ;; size=59 bbWeight=4 PerfScore 83.00
+G_M29612_IG15:
+ xor r14d, r14d
+ mov rdi, gword ptr [r15+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M29612_IG23
+ jle G_M29612_IG24
;; size=25 bbWeight=1 PerfScore 10.50
-G_M29612_IG15:
- mov rdi, r14
- mov esi, r13d
+G_M29612_IG16:
+ mov rdi, r15
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
- mov r12, gword ptr [rax+0x38]
- xor eax, eax
- mov dword ptr [rbp-0x34], eax
- mov rdi, gword ptr [r12+0x10]
- mov rcx, qword ptr [rdi]
- mov rcx, qword ptr [rcx+0x40]
- call [rcx+0x30]System.Collections.ArrayList:get_Count():int:this
+ mov r13, gword ptr [rax+0x38]
+ xor r12d, r12d
+ mov rdi, gword ptr [r13+0x10]
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x40]
+ call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle G_M29612_IG22
- ;; size=50 bbWeight=4 PerfScore 69.00
-G_M29612_IG16:
- mov rdi, r12
- mov esi, dword ptr [rbp-0x34]
+ jle G_M29612_IG23
+ ;; size=47 bbWeight=4 PerfScore 65.00
+G_M29612_IG17:
+ mov rdi, r13
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rsi, rax
mov rdi, 0xD1FFAB1E ; System.Data.UniqueConstraint
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M29612_IG21
- ;; size=52 bbWeight=16 PerfScore 152.00
-G_M29612_IG17:
- mov rdi, r12
- mov esi, dword ptr [rbp-0x34]
+ jne G_M29612_IG22
+ ;; size=52 bbWeight=16 PerfScore 140.00
+G_M29612_IG18:
+ mov rdi, r13
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
call [rax]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rcx, rax
test rcx, rcx
- je SHORT G_M29612_IG20
- ;; size=26 bbWeight=8 PerfScore 48.00
-G_M29612_IG18:
+ je SHORT G_M29612_IG21
+ ;; size=26 bbWeight=8 PerfScore 42.00
+G_M29612_IG19:
mov rdi, 0xD1FFAB1E ; System.Data.ForeignKeyConstraint
cmp qword ptr [rcx], rdi
- je SHORT G_M29612_IG20
+ je SHORT G_M29612_IG21
;; size=15 bbWeight=4 PerfScore 17.00
-G_M29612_IG19:
+G_M29612_IG20:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov rcx, rax
;; size=18 bbWeight=2 PerfScore 7.50
-G_M29612_IG20:
+G_M29612_IG21:
mov rax, rcx
mov gword ptr [rbp-0x58], rax
mov rdi, rax
mov rcx, qword ptr [rax]
mov rcx, qword ptr [rcx+0x48]
call [rcx]System.Data.Constraint:get_Table():System.Data.DataTable:this
- mov gword ptr [rbp-0xA8], rax
+ mov gword ptr [rbp-0xA0], rax
mov rdi, gword ptr [rbp-0x58]
mov rcx, qword ptr [rdi]
mov rcx, qword ptr [rcx+0x58]
call [rcx+0x08]System.Data.ForeignKeyConstraint:get_RelatedTable():System.Data.DataTable:this
- cmp gword ptr [rbp-0xA8], rax
- je SHORT G_M29612_IG21
- mov rdi, gword ptr [r15+0x20]
- mov esi, r13d
+ cmp gword ptr [rbp-0xA0], rax
+ je SHORT G_M29612_IG22
+ mov rdi, gword ptr [rbx+0x20]
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
mov rax, gword ptr [rax+0x38]
mov gword ptr [rbp-0x78], rax
- mov rdi, r12
- mov esi, dword ptr [rbp-0x34]
+ mov rdi, r13
+ mov esi, r12d
mov rcx, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
call [rcx]System.Data.ConstraintCollection:get_Item(int):System.Data.Constraint:this
mov rdi, rax
- mov rsi, r15
+ mov rsi, rbx
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x18]System.Data.Constraint:Clone(System.Data.DataSet):System.Data.Constraint:this
mov rsi, rax
mov rdi, gword ptr [rbp-0x78]
cmp byte ptr [rdi], dil
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
call [rax]System.Data.ConstraintCollection:Add(System.Data.Constraint,ubyte):this
- ;; size=139 bbWeight=8 PerfScore 414.00
-G_M29612_IG21:
- mov esi, dword ptr [rbp-0x34]
- inc esi
- mov dword ptr [rbp-0x34], esi
- mov rdi, gword ptr [r12+0x10]
+ ;; size=139 bbWeight=8 PerfScore 408.00
+G_M29612_IG22:
+ inc r12d
+ mov rdi, gword ptr [r13+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- mov edi, dword ptr [rbp-0x34]
- cmp eax, edi
- mov dword ptr [rbp-0x34], edi
- jg G_M29612_IG16
- ;; size=37 bbWeight=16 PerfScore 232.00
-G_M29612_IG22:
- inc r13d
- mov rdi, gword ptr [r14+0x10]
+ cmp eax, r12d
+ jg G_M29612_IG17
+ ;; size=26 bbWeight=16 PerfScore 168.00
+G_M29612_IG23:
+ inc r14d
+ mov rdi, gword ptr [r15+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, r13d
- jg G_M29612_IG15
+ cmp eax, r14d
+ jg G_M29612_IG16
;; size=26 bbWeight=4 PerfScore 42.00
-G_M29612_IG23:
- mov r13, gword ptr [rbx+0x28]
- xor r12d, r12d
- mov rdi, r13
- mov rax, qword ptr [r13]
- mov rax, qword ptr [rax+0x40]
- mov qword ptr [rbp-0x50], rax
- call [rax+0x20]System.Data.InternalDataCollectionBase:get_Count():int:this
- test eax, eax
- jle SHORT G_M29612_IG26
- ;; size=29 bbWeight=1 PerfScore 11.75
G_M29612_IG24:
- mov rdi, qword ptr [r13]
+ mov rdi, gword ptr [rbp-0x50]
+ mov r14, gword ptr [rdi+0x28]
+ xor r13d, r13d
+ mov rdi, r14
+ mov rax, qword ptr [r14]
+ mov r12, qword ptr [rax+0x40]
+ call [r12+0x20]System.Data.InternalDataCollectionBase:get_Count():int:this
+ test eax, eax
+ jle SHORT G_M29612_IG27
+ ;; size=30 bbWeight=1 PerfScore 11.75
+G_M29612_IG25:
+ mov rdi, qword ptr [r14]
mov rax, qword ptr [rdi+0x48]
mov qword ptr [rbp-0x48], rax
- ;; size=12 bbWeight=0.25 PerfScore 1.25
-G_M29612_IG25:
- mov rdi, r13
- mov esi, r12d
+ ;; size=11 bbWeight=0.25 PerfScore 1.25
+G_M29612_IG26:
+ mov rdi, r14
+ mov esi, r13d
call [rax+0x10]System.Data.DataRelationCollection:get_Item(int):System.Data.DataRelation:this
mov rdi, rax
- mov rsi, r15
+ mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Data.DataRelation:Clone(System.Data.DataSet):System.Data.DataRelation:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataRelation:Clone(System.Data.DataSet):System.Data.DataRelation:this
mov gword ptr [rbp-0x60], rax
mov byte ptr [rax+0x6E], 0
- mov rdi, gword ptr [r15+0x28]
+ mov rdi, gword ptr [rbx+0x28]
mov rsi, rax
mov rcx, 0xD1FFAB1E ; code for System.Data.DataRelationCollection:Add(System.Data.DataRelation):this
cmp dword ptr [rdi], edi
call [rcx]System.Data.DataRelationCollection:Add(System.Data.DataRelation):this
mov rdi, gword ptr [rbp-0x60]
mov byte ptr [rdi+0x6E], 1
- inc r12d
- mov rdi, r13
- mov rax, qword ptr [rbp-0x50]
- call [rax+0x20]System.Data.InternalDataCollectionBase:get_Count():int:this
- cmp eax, r12d
+ inc r13d
+ mov rdi, r14
+ call [r12+0x20]System.Data.InternalDataCollectionBase:get_Count():int:this
+ cmp eax, r13d
mov rax, qword ptr [rbp-0x48]
- jg SHORT G_M29612_IG25
- ;; size=88 bbWeight=4 PerfScore 118.00
-G_M29612_IG26:
- cmp gword ptr [rbx+0x30], 0
- je G_M29612_IG32
- ;; size=11 bbWeight=1 PerfScore 4.00
+ jg SHORT G_M29612_IG26
+ ;; size=86 bbWeight=4 PerfScore 114.00
G_M29612_IG27:
- mov rdi, gword ptr [rbx+0x30]
- mov rax, qword ptr [rdi]
+ mov rdi, gword ptr [rbp-0x50]
+ cmp gword ptr [rdi+0x30], 0
+ je G_M29612_IG33
+ ;; size=15 bbWeight=1 PerfScore 5.00
+G_M29612_IG28:
+ mov rax, gword ptr [rdi+0x30]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x50]
call [rax+0x28]System.Collections.Hashtable:get_Keys():System.Collections.ICollection:this
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
call [r11]System.Collections.IEnumerable:GetEnumerator():System.Collections.IEnumerator:this
mov gword ptr [rbp-0x68], rax
- ;; size=34 bbWeight=0.50 PerfScore 6.75
-G_M29612_IG28:
+ ;; size=37 bbWeight=0.50 PerfScore 6.88
+G_M29612_IG29:
mov rdi, gword ptr [rbp-0x68]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M29612_IG31
+ je G_M29612_IG32
;; size=25 bbWeight=4 PerfScore 22.00
-G_M29612_IG29:
+G_M29612_IG30:
mov rdi, gword ptr [rbp-0x68]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov r13, rax
- mov r12, gword ptr [r15+0x30]
- test r12, r12
- jne SHORT G_M29612_IG30
+ mov r14, rax
+ mov r13, gword ptr [rbx+0x30]
+ test r13, r13
+ jne SHORT G_M29612_IG31
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
call CORINFO_HELP_NEWSFAST
- mov r12, rax
+ mov r13, rax
vmovss xmm0, dword ptr [reloc @RWD00]
- mov rdi, r12
+ mov rdi, r13
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Collections.Hashtable:.ctor(int,float):this
call [rax]System.Collections.Hashtable:.ctor(int,float):this
- lea rdi, bword ptr [r15+0x30]
- mov rsi, r12
+ lea rdi, bword ptr [rbx+0x30]
+ mov rsi, r13
call CORINFO_HELP_ASSIGN_REF
;; size=84 bbWeight=2 PerfScore 35.50
-G_M29612_IG30:
- mov rdi, gword ptr [rbx+0x30]
- mov rsi, r13
- mov rax, qword ptr [rdi]
+G_M29612_IG31:
+ mov rdi, gword ptr [rbp-0x50]
+ mov rax, gword ptr [rdi+0x30]
+ mov rdi, rax
+ mov rsi, r14
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x48]
call [rax+0x20]System.Collections.Hashtable:get_Item(System.Object):System.Object:this
mov rdx, rax
- mov rsi, r13
- mov rdi, r12
- mov rax, qword ptr [r12]
+ mov rsi, r14
+ mov rdi, r13
+ mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x48]
call [rax+0x28]System.Collections.Hashtable:set_Item(System.Object,System.Object):this
- jmp G_M29612_IG28
- ;; size=42 bbWeight=2 PerfScore 38.00
-G_M29612_IG31:
+ jmp G_M29612_IG29
+ ;; size=49 bbWeight=2 PerfScore 40.50
+G_M29612_IG32:
mov rsi, gword ptr [rbp-0x68]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je SHORT G_M29612_IG32
+ je SHORT G_M29612_IG33
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=47 bbWeight=0.50 PerfScore 4.62
-G_M29612_IG32:
- mov rdi, gword ptr [rbx+0x20]
- mov rdi, gword ptr [rdi+0x10]
- mov rax, qword ptr [rdi]
+G_M29612_IG33:
+ mov rdi, gword ptr [rbp-0x50]
+ mov rax, gword ptr [rdi+0x20]
+ mov rax, gword ptr [rax+0x10]
+ mov rdi, rax
+ mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x58]
call [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
mov gword ptr [rbp-0x68], rax
- ;; size=21 bbWeight=1 PerfScore 12.00
-G_M29612_IG33:
+ ;; size=28 bbWeight=1 PerfScore 13.25
+G_M29612_IG34:
mov rdi, gword ptr [rbp-0x68]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M29612_IG48
+ je G_M29612_IG49
;; size=25 bbWeight=8 PerfScore 44.00
-G_M29612_IG34:
+G_M29612_IG35:
mov rdi, gword ptr [rbp-0x68]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
- mov rbx, rax
- test rbx, rbx
- je SHORT G_M29612_IG37
+ mov r14, rax
+ test r14, r14
+ je SHORT G_M29612_IG38
;; size=25 bbWeight=2 PerfScore 11.50
-G_M29612_IG35:
+G_M29612_IG36:
mov rdi, 0xD1FFAB1E ; System.Data.DataTable
- cmp qword ptr [rbx], rdi
- je SHORT G_M29612_IG37
+ cmp qword ptr [r14], rdi
+ je SHORT G_M29612_IG38
;; size=15 bbWeight=1 PerfScore 4.25
-G_M29612_IG36:
+G_M29612_IG37:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
- mov rbx, rax
+ mov r14, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
-G_M29612_IG37:
- mov rdi, gword ptr [rbx+0x30]
+G_M29612_IG38:
+ mov rdi, gword ptr [r14+0x30]
mov rdi, gword ptr [rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax]System.Collections.ArrayList:GetEnumerator():System.Collections.IEnumerator:this
mov gword ptr [rbp-0x70], rax
;; size=21 bbWeight=2 PerfScore 24.00
-G_M29612_IG38:
+G_M29612_IG39:
mov rdi, gword ptr [rbp-0x70]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:MoveNext():ubyte:this
call [r11]System.Collections.IEnumerator:MoveNext():ubyte:this
test eax, eax
- je G_M29612_IG47
+ je G_M29612_IG48
;; size=25 bbWeight=16 PerfScore 88.00
-G_M29612_IG39:
+G_M29612_IG40:
mov rdi, gword ptr [rbp-0x70]
mov r11, 0xD1FFAB1E ; code for System.Collections.IEnumerator:get_Current():System.Object:this
call [r11]System.Collections.IEnumerator:get_Current():System.Object:this
mov r13, rax
test r13, r13
- je SHORT G_M29612_IG42
+ je SHORT G_M29612_IG43
;; size=25 bbWeight=8 PerfScore 46.00
-G_M29612_IG40:
+G_M29612_IG41:
mov rdi, 0xD1FFAB1E ; System.Data.DataColumn
cmp qword ptr [r13], rdi
- je SHORT G_M29612_IG42
+ je SHORT G_M29612_IG43
;; size=16 bbWeight=4 PerfScore 17.00
-G_M29612_IG41:
+G_M29612_IG42:
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
call [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
mov r13, rax
;; size=18 bbWeight=2 PerfScore 7.50
-G_M29612_IG42:
+G_M29612_IG43:
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:get_Expression():System.String:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumn:get_Expression():System.String:this
cmp dword ptr [rax+0x08], 0
- je SHORT G_M29612_IG38
- mov r12, gword ptr [r15+0x20]
- mov rax, gword ptr [rbx+0x70]
+ je SHORT G_M29612_IG39
+ mov r12, gword ptr [rbx+0x20]
+ mov rax, gword ptr [r14+0x70]
mov gword ptr [rbp-0x80], rax
- mov rdx, gword ptr [rbx+0x78]
+ mov rdx, gword ptr [r14+0x78]
test rdx, rdx
- jne SHORT G_M29612_IG43
+ jne SHORT G_M29612_IG44
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Data.DataTable]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x98], rax
+ mov gword ptr [rbp-0x90], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- jne SHORT G_M29612_IG44
- jmp G_M29612_IG46
+ jne SHORT G_M29612_IG45
+ jmp G_M29612_IG47
;; size=86 bbWeight=8 PerfScore 218.00
-G_M29612_IG43:
+G_M29612_IG44:
mov rax, gword ptr [rbp-0x80]
- jmp SHORT G_M29612_IG45
+ jmp SHORT G_M29612_IG46
;; size=6 bbWeight=4 PerfScore 12.00
-G_M29612_IG44:
+G_M29612_IG45:
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.List`1[System.Data.DataTable]:s_emptyArray
mov rsi, gword ptr [rdi]
lea rdi, bword ptr [rax+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, rbx
- mov rsi, gword ptr [rbp-0x98]
+ mov rdi, r14
+ mov rsi, gword ptr [rbp-0x90]
mov rax, 0xD1FFAB1E ; code for System.Data.DataTable:GetInheritedNamespace(System.Collections.Generic.List`1[System.Data.DataTable]):System.String:this
call [rax]System.Data.DataTable:GetInheritedNamespace(System.Collections.Generic.List`1[System.Data.DataTable]):System.String:this
mov rdx, rax
mov rax, gword ptr [rbp-0x80]
;; size=51 bbWeight=8 PerfScore 76.00
-G_M29612_IG45:
+G_M29612_IG46:
mov rdi, r12
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(System.String,System.String):System.Data.DataTable:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:get_Item(System.String,System.String):System.Data.DataTable:this
mov rdi, gword ptr [rax+0x30]
mov rsi, gword ptr [r13+0x20]
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataColumnCollection:get_Item(System.String):System.Data.DataColumn:this
mov r12, rax
cmp byte ptr [r12], r12b
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:get_Expression():System.String:this
call [rax]System.Data.DataColumn:get_Expression():System.String:this
mov rsi, rax
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Data.DataColumn:set_Expression(System.String):this
call [rax]System.Data.DataColumn:set_Expression(System.String):this
- jmp G_M29612_IG38
+ jmp G_M29612_IG39
;; size=87 bbWeight=8 PerfScore 236.00
-G_M29612_IG46:
+G_M29612_IG47:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Data.DataTable]
call CORINFO_HELP_GET_GCSTATIC_BASE
- mov rax, gword ptr [rbp-0x98]
- jmp G_M29612_IG44
+ mov rax, gword ptr [rbp-0x90]
+ jmp G_M29612_IG45
;; size=27 bbWeight=0 PerfScore 0.00
-G_M29612_IG47:
+G_M29612_IG48:
mov rsi, gword ptr [rbp-0x70]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je G_M29612_IG33
+ je G_M29612_IG34
mov rdi, rax
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
- jmp G_M29612_IG33
+ jmp G_M29612_IG34
;; size=56 bbWeight=2 PerfScore 22.50
-G_M29612_IG48:
+G_M29612_IG49:
mov rsi, gword ptr [rbp-0x68]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je SHORT G_M29612_IG50
+ je SHORT G_M29612_IG51
;; size=31 bbWeight=1 PerfScore 5.75
-G_M29612_IG49:
+G_M29612_IG50:
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_M29612_IG50:
- xor ebx, ebx
- mov rdi, gword ptr [r14+0x10]
+G_M29612_IG51:
+ xor r14d, r14d
+ mov rdi, gword ptr [r15+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
test eax, eax
- jle SHORT G_M29612_IG52
- ;; size=20 bbWeight=1 PerfScore 10.50
-G_M29612_IG51:
- mov rdi, gword ptr [r15+0x20]
- mov esi, ebx
+ jle SHORT G_M29612_IG53
+ ;; size=21 bbWeight=1 PerfScore 10.50
+G_M29612_IG52:
+ mov rdi, gword ptr [rbx+0x20]
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
cmp dword ptr [rdi], edi
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
lea rdi, bword ptr [rax+0x78]
- mov bword ptr [rbp-0xA0], rdi
- mov rdi, r14
- mov esi, ebx
+ mov bword ptr [rbp-0x98], rdi
+ mov rdi, r15
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
call [rax]System.Data.DataTableCollection:get_Item(int):System.Data.DataTable:this
mov rsi, gword ptr [rax+0x78]
- mov rdi, bword ptr [rbp-0xA0]
+ mov rdi, bword ptr [rbp-0x98]
call CORINFO_HELP_ASSIGN_REF
- inc ebx
- mov rdi, gword ptr [r14+0x10]
+ inc r14d
+ mov rdi, gword ptr [r15+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Collections.ArrayList:get_Count():int:this
- cmp eax, ebx
- jg SHORT G_M29612_IG51
- ;; size=84 bbWeight=4 PerfScore 113.00
-G_M29612_IG52:
- mov byte ptr [r15+0xA0], 0
- jmp SHORT G_M29612_IG54
- ;; size=10 bbWeight=1 PerfScore 3.00
+ cmp eax, r14d
+ jg SHORT G_M29612_IG52
+ ;; size=88 bbWeight=4 PerfScore 113.00
G_M29612_IG53:
+ mov byte ptr [rbx+0xA0], 0
+ jmp SHORT G_M29612_IG55
+ ;; size=9 bbWeight=1 PerfScore 3.00
+G_M29612_IG54:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Data.DataTable]
call CORINFO_HELP_GET_GCSTATIC_BASE
- mov rax, gword ptr [rbp-0x90]
- jmp G_M29612_IG12
+ mov rax, gword ptr [rbp-0x88]
+ jmp G_M29612_IG13
;; size=27 bbWeight=0 PerfScore 0.00
-G_M29612_IG54:
+G_M29612_IG55:
mov rdi, 0xD1FFAB1E ; static handle
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
- mov rax, r15
+ mov rax, rbx
;; size=40 bbWeight=1 PerfScore 10.00
-G_M29612_IG55:
+G_M29612_IG56:
add rsp, 136
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M29612_IG56:
+G_M29612_IG57:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
+ mov rdi, gword ptr [rbp-0x50]
jmp G_M29612_IG03
- ;; size=20 bbWeight=0 PerfScore 0.00
-G_M29612_IG57:
+ ;; size=24 bbWeight=0 PerfScore 0.00
+G_M29612_IG58:
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+0xB0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M29612_IG58:
+G_M29612_IG59:
mov rsi, gword ptr [rbp-0x68]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je SHORT G_M29612_IG59
+ je SHORT G_M29612_IG60
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_M29612_IG59:
+G_M29612_IG60:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M29612_IG60:
+G_M29612_IG61:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M29612_IG61:
+G_M29612_IG62:
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+0xB0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M29612_IG62:
+G_M29612_IG63:
mov rsi, gword ptr [rbp-0x70]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je SHORT G_M29612_IG63
+ je SHORT G_M29612_IG64
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_M29612_IG63:
+G_M29612_IG64:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M29612_IG64:
+G_M29612_IG65:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M29612_IG65:
+G_M29612_IG66:
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+0xB0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M29612_IG66:
+G_M29612_IG67:
mov rsi, gword ptr [rbp-0x68]
mov rdi, 0xD1FFAB1E ; System.IDisposable
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFINTERFACE
call [rax]CORINFO_HELP_ISINSTANCEOFINTERFACE
test rax, rax
- je SHORT G_M29612_IG67
+ je SHORT G_M29612_IG68
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_M29612_IG67:
+G_M29612_IG68:
nop
;; size=1 bbWeight=0 PerfScore 0.00
-G_M29612_IG68:
+G_M29612_IG69:
add rsp, 8
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M29612_IG69:
+G_M29612_IG70:
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+0xB0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M29612_IG70:
+G_M29612_IG71:
mov rdi, 0xD1FFAB1E ; System.Data.DataCommonEventSource
call CORINFO_HELP_GET_NONGCSTATIC_BASE
mov rdi, 0xD1FFAB1E ; data for System.Data.DataCommonEventSource:Log
mov rdi, gword ptr [rdi]
cmp byte ptr [rdi], dil
- mov rdx, qword ptr [rbp-0x30]
+ mov rdx, qword ptr [rbp-0x38]
mov esi, 3
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,long):this
nop
;; size=53 bbWeight=0 PerfScore 0.00
-G_M29612_IG71:
+G_M29612_IG72:
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 3F800000h ; 1
-; Total bytes of code 2566, prolog size 55, PerfScore 2498.88, instruction count 616, allocated bytes for code 2566 (MethodHash=cf758c53) for method System.Data.DataSet:Clone():System.Data.DataSet:this (FullOpts)
+; Total bytes of code 2613, prolog size 60, PerfScore 2415.00, instruction count 628, allocated bytes for code 2613 (MethodHash=cf758c53) for method System.Data.DataSet:Clone():System.Data.DataSet:this (FullOpts)