385 (24.15 % of base) - System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
; Assembly listing for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 34 single block inlinees; 24 inlinees without PGO data
+; 0 inlinees with PGO data; 44 single block inlinees; 32 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T12] ( 3, 3 ) ref -> rdi this class-hnd single-def <System.Security.Cryptography.Xml.RSAKeyValue>
+; V00 this [V00,T14] ( 3, 3 ) ref -> rdi this class-hnd single-def <System.Security.Cryptography.Xml.RSAKeyValue>
; V01 arg1 [V01,T00] ( 11, 11 ) ref -> rbx class-hnd single-def <System.Xml.XmlDocument>
; V02 loc0 [V02 ] ( 3, 3 ) struct (64) [rbp-0x68] do-not-enreg[XS] must-init addr-exposed <System.Security.Cryptography.RSAParameters>
-; V03 loc1 [V03,T13] ( 4, 4 ) ref -> r14 class-hnd single-def <System.Xml.XmlElement>
-; V04 loc2 [V04,T09] ( 5, 5 ) ref -> r13 class-hnd single-def <System.Xml.XmlElement>
-; V05 loc3 [V05,T14] ( 4, 4 ) ref -> [rbp-0xA8] class-hnd spill-single-def <System.Xml.XmlElement>
-;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Xml.XmlElement>
+; V03 loc1 [V03,T15] ( 4, 4 ) ref -> r14 class-hnd single-def <System.Xml.XmlElement>
+; V04 loc2 [V04,T11] ( 5, 5 ) ref -> r13 class-hnd single-def <System.Xml.XmlElement>
+; V05 loc3 [V05,T16] ( 4, 4 ) ref -> [rbp-0xA8] class-hnd spill-single-def <System.Xml.XmlElement>
+; V06 loc4 [V06,T17] ( 4, 4 ) ref -> r15 class-hnd single-def <System.Xml.XmlElement>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-; V09 tmp2 [V09,T40] ( 3, 2 ) ref -> r13 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V10 tmp3 [V10,T41] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V09 tmp2 [V09,T48] ( 3, 2 ) ref -> r13 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V10 tmp3 [V10,T49] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
;* V11 tmp4 [V11 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
;* V12 tmp5 [V12 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V13 tmp6 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V14 tmp7 [V14,T03] ( 10, 5.50) int -> r14 "Inline return value spill temp"
-; V15 tmp8 [V15,T16] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
-;* V16 tmp9 [V16,T58] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V17 tmp10 [V17 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V18 tmp11 [V18 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V19 tmp12 [V19,T61] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
-;* V20 tmp13 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V21 tmp14 [V21,T31] ( 4, 2 ) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V22 tmp15 [V22,T64] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
-; V23 tmp16 [V23,T46] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V24 tmp17 [V24,T47] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-;* V25 tmp18 [V25 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V26 tmp19 [V26,T32] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-; V27 tmp20 [V27,T06] ( 6, 5 ) int -> r14 "Inlining Arg"
-; V28 tmp21 [V28,T28] ( 5, 2 ) int -> r12 single-def "Inline stloc first use temp"
-;* V29 tmp22 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V30 tmp23 [V30,T33] ( 4, 2 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V31 tmp24 [V31,T65] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
-; V32 tmp25 [V32,T48] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V33 tmp26 [V33,T49] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
-;* V34 tmp27 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V35 tmp28 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-; V36 tmp29 [V36,T42] ( 3, 2 ) ref -> [rbp-0xB8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V37 tmp30 [V37,T43] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;* V38 tmp31 [V38 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
-;* V39 tmp32 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V40 tmp33 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V41 tmp34 [V41,T04] ( 10, 5.50) int -> [rbp-0x6C] spill-single-def "Inline return value spill temp"
-; V42 tmp35 [V42,T17] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
-;* V43 tmp36 [V43,T59] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V44 tmp37 [V44 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V45 tmp38 [V45 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V46 tmp39 [V46,T62] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
-;* V47 tmp40 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V48 tmp41 [V48,T34] ( 4, 2 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V49 tmp42 [V49,T66] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
-; V50 tmp43 [V50,T50] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V51 tmp44 [V51,T51] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-;* V52 tmp45 [V52 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V53 tmp46 [V53,T35] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-; V54 tmp47 [V54,T07] ( 6, 5 ) int -> [rbp-0x70] spill-single-def "Inlining Arg"
-; V55 tmp48 [V55,T29] ( 5, 2 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp"
-;* V56 tmp49 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V57 tmp50 [V57,T36] ( 4, 2 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V58 tmp51 [V58,T67] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
-; V59 tmp52 [V59,T52] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V60 tmp53 [V60,T53] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
-;* V61 tmp54 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V62 tmp55 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
-; V63 tmp56 [V63,T44] ( 3, 2 ) ref -> [rbp-0xD0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V64 tmp57 [V64,T45] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;* V65 tmp58 [V65 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
-;* V66 tmp59 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V67 tmp60 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V68 tmp61 [V68,T05] ( 10, 5.50) int -> [rbp-0x78] spill-single-def "Inline return value spill temp"
-; V69 tmp62 [V69,T18] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
-;* V70 tmp63 [V70,T60] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V71 tmp64 [V71 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V72 tmp65 [V72 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V73 tmp66 [V73,T63] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
+; V14 tmp7 [V14,T03] ( 10, 5.50) int -> r14 single-def "Inline return value spill temp"
+; V15 tmp8 [V15,T18] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
+; V16 tmp9 [V16,T72] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+;* V17 tmp10 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V18 tmp11 [V18,T36] ( 4, 2 ) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" <System.String>
+; V19 tmp12 [V19,T76] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
+; V20 tmp13 [V20,T56] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V21 tmp14 [V21,T57] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+;* V22 tmp15 [V22 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V23 tmp16 [V23,T37] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
+; V24 tmp17 [V24,T07] ( 6, 5 ) int -> r14 "Inlining Arg"
+; V25 tmp18 [V25,T32] ( 5, 2 ) int -> r12 single-def "Inline stloc first use temp"
+;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V27 tmp20 [V27,T38] ( 4, 2 ) ref -> [rbp-0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V28 tmp21 [V28,T77] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
+; V29 tmp22 [V29,T58] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V30 tmp23 [V30,T59] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
+;* V31 tmp24 [V31 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V32 tmp25 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+; V33 tmp26 [V33,T50] ( 3, 2 ) ref -> [rbp-0xB8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V34 tmp27 [V34,T51] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V35 tmp28 [V35 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
+;* V36 tmp29 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V37 tmp30 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V38 tmp31 [V38,T04] ( 10, 5.50) int -> [rbp-0x6C] spill-single-def "Inline return value spill temp"
+; V39 tmp32 [V39,T19] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
+; V40 tmp33 [V40,T73] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
+;* V41 tmp34 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V42 tmp35 [V42,T39] ( 4, 2 ) ref -> [rbp-0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V43 tmp36 [V43,T78] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
+; V44 tmp37 [V44,T60] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V45 tmp38 [V45,T61] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+;* V46 tmp39 [V46 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V47 tmp40 [V47,T40] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
+; V48 tmp41 [V48,T08] ( 6, 5 ) int -> [rbp-0x70] spill-single-def "Inlining Arg"
+; V49 tmp42 [V49,T33] ( 5, 2 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp"
+;* V50 tmp43 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V51 tmp44 [V51,T41] ( 4, 2 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V52 tmp45 [V52,T79] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
+; V53 tmp46 [V53,T62] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V54 tmp47 [V54,T63] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
+;* V55 tmp48 [V55 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V56 tmp49 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+; V57 tmp50 [V57,T52] ( 3, 2 ) ref -> [rbp-0xD0] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V58 tmp51 [V58,T53] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V59 tmp52 [V59 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
+;* V60 tmp53 [V60 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V61 tmp54 [V61 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V62 tmp55 [V62,T05] ( 10, 5.50) int -> [rbp-0x78] spill-single-def "Inline return value spill temp"
+; V63 tmp56 [V63,T20] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
+; V64 tmp57 [V64,T74] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
+;* V65 tmp58 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V66 tmp59 [V66,T42] ( 4, 2 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V67 tmp60 [V67,T80] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
+; V68 tmp61 [V68,T64] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V69 tmp62 [V69,T65] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+;* V70 tmp63 [V70 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V71 tmp64 [V71,T43] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
+; V72 tmp65 [V72,T09] ( 6, 5 ) int -> [rbp-0x7C] spill-single-def "Inlining Arg"
+; V73 tmp66 [V73,T34] ( 5, 2 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp"
;* V74 tmp67 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V75 tmp68 [V75,T37] ( 4, 2 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V76 tmp69 [V76,T68] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
-; V77 tmp70 [V77,T54] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V78 tmp71 [V78,T55] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V75 tmp68 [V75,T44] ( 4, 2 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V76 tmp69 [V76,T81] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
+; V77 tmp70 [V77,T66] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V78 tmp71 [V78,T67] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
;* V79 tmp72 [V79 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V80 tmp73 [V80,T38] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-; V81 tmp74 [V81,T08] ( 6, 5 ) int -> [rbp-0x7C] spill-single-def "Inlining Arg"
-; V82 tmp75 [V82,T30] ( 5, 2 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp"
-;* V83 tmp76 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V84 tmp77 [V84,T39] ( 4, 2 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V85 tmp78 [V85,T69] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
-; V86 tmp79 [V86,T56] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V87 tmp80 [V87,T57] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
-;* V88 tmp81 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V89 tmp82 [V89,T15] ( 4, 4 ) ref -> r15 class-hnd single-def "Inline return value spill temp" <System.Xml.XmlElement>
-; V90 tmp83 [V90 ] ( 3, 3 ) ref -> [rbp-0x88] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V91 tmp84 [V91 ] ( 3, 3 ) ref -> [rbp-0x90] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V92 tmp85 [V92,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
-; V93 tmp86 [V93,T70] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V94 tmp87 [V94,T71] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V95 tmp88 [V95,T72] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V96 tmp89 [V96,T73] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V97 tmp90 [V97,T74] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V98 tmp91 [V98,T75] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V99 tmp92 [V99,T19] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V100 tmp93 [V100,T20] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V101 tmp94 [V101,T21] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V102 tmp95 [V102,T22] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
-; V103 cse0 [V103,T11] ( 5, 5 ) long -> r15 "CSE #08: moderate"
-; V104 cse1 [V104,T26] ( 3, 3 ) long -> [rbp-0x98] spill-single-def "CSE #11: moderate"
-; V105 cse2 [V105,T27] ( 3, 3 ) long -> [rbp-0xA0] spill-single-def "CSE #13: moderate"
-; V106 cse3 [V106,T23] ( 4, 3 ) byref -> r15 "CSE #03: moderate"
-; V107 cse4 [V107,T24] ( 4, 3 ) byref -> r13 "CSE #05: moderate"
-; V108 cse5 [V108,T25] ( 4, 3 ) byref -> [rbp-0xE8] spill-single-def "CSE #10: moderate"
-; V109 cse6 [V109,T10] ( 5, 5 ) ref -> r12 "CSE #06: moderate"
-; V110 cse7 [V110,T01] ( 12, 6 ) ref -> registers multi-def "CSE #02: aggressive"
+;* V80 tmp73 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
+; V81 tmp74 [V81,T54] ( 3, 2 ) ref -> [rbp-0xE8] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V82 tmp75 [V82,T55] ( 3, 2 ) ref -> rdx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V83 tmp76 [V83 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
+;* V84 tmp77 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V85 tmp78 [V85 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V86 tmp79 [V86,T06] ( 10, 5.50) int -> [rbp-0x84] spill-single-def "Inline return value spill temp"
+; V87 tmp80 [V87,T21] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
+; V88 tmp81 [V88,T75] ( 3, 1.50) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
+;* V89 tmp82 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V90 tmp83 [V90,T45] ( 4, 2 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V91 tmp84 [V91,T82] ( 2, 1 ) long -> rdx single-def "Inline stloc first use temp"
+; V92 tmp85 [V92,T68] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V93 tmp86 [V93,T69] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+;* V94 tmp87 [V94 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V95 tmp88 [V95,T46] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
+; V96 tmp89 [V96,T10] ( 6, 5 ) int -> [rbp-0x88] spill-single-def "Inlining Arg"
+; V97 tmp90 [V97,T35] ( 5, 2 ) int -> [rbp-0x8C] spill-single-def "Inline stloc first use temp"
+;* V98 tmp91 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V99 tmp92 [V99,T47] ( 4, 2 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V100 tmp93 [V100,T83] ( 2, 1 ) long -> rdi single-def "Inline stloc first use temp"
+; V101 tmp94 [V101,T70] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V102 tmp95 [V102,T71] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
+;* V103 tmp96 [V103 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V104 tmp97 [V104,T02] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
+; V105 tmp98 [V105,T84] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V106 tmp99 [V106,T85] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V107 tmp100 [V107,T86] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V108 tmp101 [V108,T87] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V109 tmp102 [V109,T88] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V110 tmp103 [V110,T89] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V111 tmp104 [V111,T22] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V112 tmp105 [V112,T23] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V113 tmp106 [V113,T90] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V114 tmp107 [V114,T91] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V115 tmp108 [V115,T24] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V116 tmp109 [V116,T25] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
+; V117 cse0 [V117,T13] ( 5, 5 ) long -> r15 "CSE #08: moderate"
+; V118 cse1 [V118,T30] ( 3, 3 ) long -> [rbp-0x98] spill-single-def "CSE #13: moderate"
+; V119 cse2 [V119,T31] ( 3, 3 ) long -> [rbp-0xA0] spill-single-def "CSE #15: moderate"
+; V120 cse3 [V120,T26] ( 4, 3 ) byref -> r15 "CSE #03: moderate"
+; V121 cse4 [V121,T27] ( 4, 3 ) byref -> r13 "CSE #05: moderate"
+; V122 cse5 [V122,T28] ( 4, 3 ) byref -> [rbp-0x100] spill-single-def "CSE #10: moderate"
+; V123 cse6 [V123,T29] ( 4, 3 ) byref -> [rbp-0x108] spill-single-def "CSE #12: moderate"
+; V124 cse7 [V124,T12] ( 5, 5 ) ref -> r12 "CSE #06: moderate"
+; V125 cse8 [V125,T01] ( 16, 8 ) ref -> registers multi-def "CSE #02: aggressive"
;
-; Lcl frame size = 200
+; Lcl frame size = 232
G_M26937_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 200
- lea rbp, [rsp+0xF0]
- vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0x90], ymm8
- vmovdqu ymmword ptr [rbp-0x70], ymm8
- vmovdqu ymmword ptr [rbp-0x50], ymm8
+ sub rsp, 232
+ lea rbp, [rsp+0x110]
xor eax, eax
+ mov qword ptr [rbp-0x68], rax
+ vxorps xmm8, xmm8, xmm8
+ vmovdqu ymmword ptr [rbp-0x60], ymm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
mov qword ptr [rbp-0x30], rax
mov rbx, rsi
- ;; size=57 bbWeight=1 PerfScore 14.58
+ ;; size=53 bbWeight=1 PerfScore 13.58
G_M26937_IG02:
mov rdi, gword ptr [rdi+0x08]
lea rsi, [rbp-0x68]
xor edx, edx
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x20]System.Security.Cryptography.RSA:ExportParameters(ubyte):System.Security.Cryptography.RSAParameters:this
cmp byte ptr [rbx], bl
mov r15, 0xD1FFAB1E
mov rdi, r15
mov esi, 58
mov edx, 8
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r14d, eax
cmp r14d, -1
je SHORT G_M26937_IG04
;; size=66 bbWeight=1 PerfScore 18.50
G_M26937_IG03:
test r14d, r14d
je SHORT G_M26937_IG04
cmp r14d, 7
jne SHORT G_M26937_IG05
;; size=11 bbWeight=0.50 PerfScore 1.25
G_M26937_IG04:
mov r13, 0xD1FFAB1E ; ''
mov rdx, 0xD1FFAB1E ; 'KeyValue'
jmp G_M26937_IG10
;; size=25 bbWeight=0.50 PerfScore 1.25
G_M26937_IG05:
cmp r14d, 8
- ja G_M26937_IG30
+ ja G_M26937_IG37
cmp r14d, 8
jne SHORT G_M26937_IG06
mov r13, 0xD1FFAB1E ; 'KeyValue'
jmp SHORT G_M26937_IG07
;; size=28 bbWeight=0.50 PerfScore 2.38
G_M26937_IG06:
mov edi, r14d
call System.String:FastAllocateString(int):System.String
mov r13, rax
mov edx, r14d
cmp byte ptr [r13], r13b
lea rdi, bword ptr [r13+0x0C]
mov rsi, r15
add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
;; size=40 bbWeight=0.50 PerfScore 4.50
G_M26937_IG07:
inc r14d
jne SHORT G_M26937_IG08
mov rdx, 0xD1FFAB1E ; 'KeyValue'
jmp SHORT G_M26937_IG10
;; size=17 bbWeight=0.50 PerfScore 1.75
G_M26937_IG08:
mov r12d, r14d
neg r12d
add r12d, 8
jne SHORT G_M26937_IG09
mov rdx, 0xD1FFAB1E ; ''
jmp SHORT G_M26937_IG10
;; size=24 bbWeight=0.50 PerfScore 2.00
G_M26937_IG09:
cmp r14d, 8
- ja G_M26937_IG31
+ ja G_M26937_IG38
mov edi, r12d
call System.String:FastAllocateString(int):System.String
mov rdx, rax
mov gword ptr [rbp-0xB0], rdx
mov edi, r12d
cmp byte ptr [rdx], dl
lea rsi, bword ptr [rdx+0x0C]
mov eax, r14d
lea rax, bword ptr [r15+2*rax]
lea rdx, [rdi+rdi]
mov rdi, rsi
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r14, gword ptr [rbp-0xB0]
mov rdx, r14
;; size=76 bbWeight=0.50 PerfScore 6.88
G_M26937_IG10:
mov rdi, rbx
mov rsi, r13
mov r12, 0xD1FFAB1E ; 'http://www.w3.org/2000/09/xmldsig#'
mov rcx, r12
mov rax, qword ptr [rbx]
mov r15, qword ptr [rax+0x98]
call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
mov r14, rax
mov r13, 0xD1FFAB1E
mov rdi, r13
mov esi, 58
mov edx, 11
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov dword ptr [rbp-0x6C], eax
cmp eax, -1
je SHORT G_M26937_IG12
;; size=79 bbWeight=1 PerfScore 14.75
G_M26937_IG11:
test eax, eax
je SHORT G_M26937_IG12
cmp eax, 10
jne SHORT G_M26937_IG13
;; size=9 bbWeight=0.50 PerfScore 1.25
G_M26937_IG12:
mov rdx, 0xD1FFAB1E ; ''
mov r13, rdx
mov rdx, 0xD1FFAB1E ; 'RSAKeyValue'
jmp G_M26937_IG19
;; size=28 bbWeight=0.50 PerfScore 1.38
G_M26937_IG13:
cmp eax, 11
- ja G_M26937_IG32
+ ja G_M26937_IG39
cmp eax, 11
jne SHORT G_M26937_IG14
mov rcx, 0xD1FFAB1E ; 'RSAKeyValue'
jmp SHORT G_M26937_IG15
;; size=26 bbWeight=0.50 PerfScore 2.38
G_M26937_IG14:
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov rcx, rax
mov gword ptr [rbp-0xC0], rcx
mov edx, dword ptr [rbp-0x6C]
cmp byte ptr [rcx], cl
lea rdi, bword ptr [rcx+0x0C]
mov rsi, r13
add rdx, rdx
mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [r8]System.SpanHelpers:Memmove(byref,byref,ulong)
mov rcx, gword ptr [rbp-0xC0]
mov eax, dword ptr [rbp-0x6C]
;; size=55 bbWeight=0.50 PerfScore 6.38
G_M26937_IG15:
mov gword ptr [rbp-0xB8], rcx
lea edx, [rax+0x01]
mov dword ptr [rbp-0x70], edx
test edx, edx
jne SHORT G_M26937_IG16
mov rcx, gword ptr [rbp-0xB8]
mov rdx, 0xD1FFAB1E ; 'RSAKeyValue'
jmp SHORT G_M26937_IG18
;; size=36 bbWeight=0.50 PerfScore 3.50
G_M26937_IG16:
mov rcx, gword ptr [rbp-0xB8]
mov esi, edx
neg esi
add esi, 11
mov dword ptr [rbp-0x74], esi
test esi, esi
jne SHORT G_M26937_IG17
mov rdx, 0xD1FFAB1E ; ''
jmp SHORT G_M26937_IG18
;; size=33 bbWeight=0.50 PerfScore 3.12
G_M26937_IG17:
cmp edx, 11
- ja G_M26937_IG33
+ ja G_M26937_IG40
mov gword ptr [rbp-0xB8], rcx
mov edi, esi
call System.String:FastAllocateString(int):System.String
mov rdx, rax
mov gword ptr [rbp-0xC8], rdx
mov edi, dword ptr [rbp-0x74]
cmp byte ptr [rdx], dl
lea rsi, bword ptr [rdx+0x0C]
mov eax, dword ptr [rbp-0x70]
lea rax, bword ptr [r13+2*rax]
lea rdx, [rdi+rdi]
mov rdi, rsi
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r13, gword ptr [rbp-0xC8]
mov rdx, r13
mov rcx, gword ptr [rbp-0xB8]
;; size=89 bbWeight=0.50 PerfScore 9.38
G_M26937_IG18:
mov r13, rcx
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M26937_IG19:
mov rdi, rbx
mov rsi, r13
mov rcx, r12
call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
mov r13, rax
mov rax, 0xD1FFAB1E
- mov bword ptr [rbp-0xE8], rax
+ mov bword ptr [rbp-0x100], rax
mov rdi, rax
mov esi, 58
mov edx, 7
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov dword ptr [rbp-0x78], eax
cmp eax, -1
je SHORT G_M26937_IG21
;; size=66 bbWeight=1 PerfScore 11.50
G_M26937_IG20:
test eax, eax
je SHORT G_M26937_IG21
cmp eax, 6
jne SHORT G_M26937_IG22
;; size=9 bbWeight=0.50 PerfScore 1.25
G_M26937_IG21:
mov rdx, 0xD1FFAB1E ; ''
mov rcx, rdx
mov rdx, 0xD1FFAB1E ; 'Modulus'
jmp G_M26937_IG27
;; size=28 bbWeight=0.50 PerfScore 1.38
G_M26937_IG22:
cmp eax, 7
- ja G_M26937_IG34
+ ja G_M26937_IG41
cmp eax, 7
jne SHORT G_M26937_IG23
mov rcx, 0xD1FFAB1E ; 'Modulus'
jmp SHORT G_M26937_IG24
;; size=26 bbWeight=0.50 PerfScore 2.38
G_M26937_IG23:
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov rcx, rax
mov gword ptr [rbp-0xD8], rcx
mov edx, dword ptr [rbp-0x78]
cmp byte ptr [rcx], cl
lea rdi, bword ptr [rcx+0x0C]
- mov r8, bword ptr [rbp-0xE8]
+ mov r8, bword ptr [rbp-0x100]
mov rsi, r8
add rdx, rdx
mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [r9]System.SpanHelpers:Memmove(byref,byref,ulong)
mov rcx, gword ptr [rbp-0xD8]
mov eax, dword ptr [rbp-0x78]
;; size=62 bbWeight=0.50 PerfScore 6.88
G_M26937_IG24:
mov gword ptr [rbp-0xD0], rcx
lea edx, [rax+0x01]
mov dword ptr [rbp-0x7C], edx
test edx, edx
jne SHORT G_M26937_IG25
mov rcx, gword ptr [rbp-0xD0]
mov rdx, 0xD1FFAB1E ; 'Modulus'
jmp G_M26937_IG27
;; size=39 bbWeight=0.50 PerfScore 3.50
G_M26937_IG25:
mov rcx, gword ptr [rbp-0xD0]
mov esi, edx
neg esi
add esi, 7
mov dword ptr [rbp-0x80], esi
test esi, esi
jne SHORT G_M26937_IG26
mov rdx, 0xD1FFAB1E ; ''
jmp SHORT G_M26937_IG27
;; size=33 bbWeight=0.50 PerfScore 3.12
G_M26937_IG26:
cmp edx, 7
- ja G_M26937_IG35
+ ja G_M26937_IG42
mov gword ptr [rbp-0xD0], rcx
mov edi, esi
call System.String:FastAllocateString(int):System.String
mov rdx, rax
mov gword ptr [rbp-0xE0], rdx
mov edi, dword ptr [rbp-0x80]
cmp byte ptr [rdx], dl
lea rsi, bword ptr [rdx+0x0C]
mov eax, dword ptr [rbp-0x7C]
- mov r8, bword ptr [rbp-0xE8]
+ mov r8, bword ptr [rbp-0x100]
lea rax, bword ptr [r8+2*rax]
lea rdx, [rdi+rdi]
mov rdi, rsi
mov rsi, 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-0xE0]
mov rcx, gword ptr [rbp-0xD0]
;; size=92 bbWeight=0.50 PerfScore 9.00
G_M26937_IG27:
mov rdi, rbx
mov rsi, rcx
mov rcx, r12
call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
mov gword ptr [rbp-0xA8], rax
mov rdi, gword ptr [rbp-0x40]
mov rcx, 0xD1FFAB1E ; code for System.Convert:ToBase64String(ubyte[]):System.String
call [rcx]System.Convert:ToBase64String(ubyte[]):System.String
mov rsi, rax
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x90]
mov qword ptr [rbp-0x98], rax
call [rax]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this
mov rsi, rax
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
mov rdi, r13
mov rsi, gword ptr [rbp-0xA8]
mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x58]
mov qword ptr [rbp-0xA0], rax
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
- lea rdx, [rbp-0x90]
- lea rsi, [rbp-0x88]
- mov rdi, 0xD1FFAB1E ; 'Exponent'
- mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:SplitName(System.String,byref,byref)
- call [rax]System.Xml.XmlNode:SplitName(System.String,byref,byref)
+ mov rax, 0xD1FFAB1E
+ mov bword ptr [rbp-0x108], rax
+ mov rdi, rax
+ mov esi, 58
+ mov edx, 8
+ mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ mov dword ptr [rbp-0x84], eax
+ cmp eax, -1
+ je SHORT G_M26937_IG29
+ ;; size=162 bbWeight=1 PerfScore 42.50
+G_M26937_IG28:
+ test eax, eax
+ je SHORT G_M26937_IG29
+ cmp eax, 7
+ jne SHORT G_M26937_IG30
+ ;; size=9 bbWeight=0.50 PerfScore 1.25
+G_M26937_IG29:
+ mov rdx, 0xD1FFAB1E ; ''
+ mov rcx, rdx
+ mov rdx, 0xD1FFAB1E ; 'Exponent'
+ jmp G_M26937_IG35
+ ;; size=28 bbWeight=0.50 PerfScore 1.38
+G_M26937_IG30:
+ cmp eax, 8
+ ja G_M26937_IG43
+ cmp eax, 8
+ jne SHORT G_M26937_IG31
+ mov rcx, 0xD1FFAB1E ; 'Exponent'
+ jmp SHORT G_M26937_IG32
+ ;; size=26 bbWeight=0.50 PerfScore 2.38
+G_M26937_IG31:
+ mov edi, eax
+ call System.String:FastAllocateString(int):System.String
+ mov rcx, rax
+ mov gword ptr [rbp-0xF0], rcx
+ mov edx, dword ptr [rbp-0x84]
+ cmp byte ptr [rcx], cl
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, bword ptr [rbp-0x108]
+ mov rsi, r8
+ add rdx, rdx
+ mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
+ call [r9]System.SpanHelpers:Memmove(byref,byref,ulong)
+ mov rcx, gword ptr [rbp-0xF0]
+ mov eax, dword ptr [rbp-0x84]
+ ;; size=68 bbWeight=0.50 PerfScore 6.88
+G_M26937_IG32:
+ mov gword ptr [rbp-0xE8], rcx
+ lea edx, [rax+0x01]
+ mov dword ptr [rbp-0x88], edx
+ test edx, edx
+ jne SHORT G_M26937_IG33
+ mov rcx, gword ptr [rbp-0xE8]
+ mov rdx, 0xD1FFAB1E ; 'Exponent'
+ jmp G_M26937_IG35
+ ;; size=42 bbWeight=0.50 PerfScore 3.50
+G_M26937_IG33:
+ mov rcx, gword ptr [rbp-0xE8]
+ mov esi, edx
+ neg esi
+ add esi, 8
+ mov dword ptr [rbp-0x8C], esi
+ test esi, esi
+ jne SHORT G_M26937_IG34
+ mov rdx, 0xD1FFAB1E ; ''
+ jmp SHORT G_M26937_IG35
+ ;; size=36 bbWeight=0.50 PerfScore 3.12
+G_M26937_IG34:
+ cmp edx, 8
+ ja G_M26937_IG44
+ mov gword ptr [rbp-0xE8], rcx
+ mov edi, esi
+ call System.String:FastAllocateString(int):System.String
+ mov rdx, rax
+ mov gword ptr [rbp-0xF8], rdx
+ mov edi, dword ptr [rbp-0x8C]
+ cmp byte ptr [rdx], dl
+ lea rsi, bword ptr [rdx+0x0C]
+ mov eax, dword ptr [rbp-0x88]
+ mov r8, bword ptr [rbp-0x108]
+ lea rax, bword ptr [r8+2*rax]
+ lea rdx, [rdi+rdi]
+ mov rdi, rsi
+ mov rsi, 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-0xF8]
+ mov rcx, gword ptr [rbp-0xE8]
+ ;; size=98 bbWeight=0.50 PerfScore 9.00
+G_M26937_IG35:
mov rdi, rbx
- mov rsi, gword ptr [rbp-0x88]
- mov rdx, gword ptr [rbp-0x90]
+ mov rsi, rcx
mov rcx, r12
call [r15+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
mov r15, rax
- xor rdi, rdi
- mov gword ptr [rbp-0x88], rdi
- ;; size=181 bbWeight=1 PerfScore 46.50
-G_M26937_IG28:
- mov gword ptr [rbp-0x90], rdi
mov rdi, gword ptr [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Convert:ToBase64String(ubyte[]):System.String
call [rax]System.Convert:ToBase64String(ubyte[]):System.String
mov rsi, rax
mov rdi, rbx
mov rbx, qword ptr [rbp-0x98]
call [rbx]System.Xml.XmlDocument:CreateTextNode(System.String):System.Xml.XmlText:this
mov rsi, rax
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
mov rdi, r13
mov rsi, r15
mov rbx, qword ptr [rbp-0xA0]
call [rbx+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
mov rdi, r14
mov rsi, r13
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
mov rax, r14
- ;; size=89 bbWeight=1 PerfScore 29.50
-G_M26937_IG29:
- add rsp, 200
+ ;; size=98 bbWeight=1 PerfScore 32.50
+G_M26937_IG36:
+ add rsp, 232
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M26937_IG30:
+G_M26937_IG37:
mov edi, 0x19E1
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov edx, r14d
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_M26937_IG31:
+G_M26937_IG38:
mov edi, 0x19E1
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov esi, r14d
mov edx, r12d
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_M26937_IG32:
+G_M26937_IG39:
mov edi, 0x28BD
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov edx, dword ptr [rbp-0x6C]
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_M26937_IG33:
+G_M26937_IG40:
mov edi, 0x28BD
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov esi, dword ptr [rbp-0x70]
mov edx, dword ptr [rbp-0x74]
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_M26937_IG34:
+G_M26937_IG41:
mov edi, 0x28D5
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov edx, dword ptr [rbp-0x78]
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_M26937_IG35:
+G_M26937_IG42:
mov edi, 0x28D5
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov esi, dword ptr [rbp-0x7C]
mov edx, dword ptr [rbp-0x80]
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_M26937_IG43:
+ mov edi, 0x28E5
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rdi, rax
+ mov edx, dword ptr [rbp-0x84]
+ xor esi, esi
+ mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+ call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+ int3
+ ;; size=44 bbWeight=0 PerfScore 0.00
+G_M26937_IG44:
+ mov edi, 0x28E5
+ mov rsi, 0xD1FFAB1E
+ call CORINFO_HELP_STRCNS
+ mov rdi, rax
+ mov esi, dword ptr [rbp-0x88]
+ mov edx, dword ptr [rbp-0x8C]
+ mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+ call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
+ int3
+ ;; size=48 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1594, prolog size 54, PerfScore 214.58, instruction count 367, allocated bytes for code 1594 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
+; Total bytes of code 1979, prolog size 50, PerfScore 240.08, instruction count 451, allocated bytes for code 1979 (MethodHash=823f96c6) for method System.Security.Cryptography.Xml.RSAKeyValue:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
308 (2.73 % of base) - System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this
; Assembly listing for method System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 172 single block inlinees; 62 inlinees without PGO data
+; 0 inlinees with PGO data; 186 single block inlinees; 78 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T17] ( 23, 75.50) ref -> r15 this class-hnd single-def <System.Text.RegularExpressions.RegexFindOptimizations>
+; V00 this [V00,T23] ( 23, 75.50) ref -> r15 this class-hnd single-def <System.Text.RegularExpressions.RegexFindOptimizations>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
-; V02 arg2 [V02,T39] ( 45, 24 ) byref -> r13 single-def
-; V03 arg3 [V03,T129] ( 3, 2.50) int -> r12 single-def
-; V04 loc0 [V04,T193] ( 3, 1.50) int -> rsi
+; V02 arg2 [V02,T45] ( 45, 24 ) byref -> r13 single-def
+; V03 arg3 [V03,T135] ( 3, 2.50) int -> r12 single-def
+; V04 loc0 [V04,T208] ( 3, 1.50) int -> rdi
;* V05 loc1 [V05 ] ( 0, 0 ) int -> zero-ref
;* V06 loc2 [V06 ] ( 0, 0 ) int -> zero-ref
-; V07 loc3 [V07,T194] ( 3, 1.50) int -> rax
-; V08 loc4 [V08,T195] ( 3, 1.50) int -> rax
+; V07 loc3 [V07,T209] ( 3, 1.50) int -> rax
+; V08 loc4 [V08,T210] ( 3, 1.50) int -> rax
;* V09 loc5 [V09 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op <System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet>
;* V10 loc6 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ushort]>
;* V11 loc7 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <ushort[]>
;* V12 loc8 [V12 ] ( 0, 0 ) int -> zero-ref
;* V13 loc9 [V13 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] ld-addr-op <System.Nullable`1[System.ValueTuple`2[ushort,ushort]]>
;* V14 loc10 [V14 ] ( 0, 0 ) ushort -> zero-ref
;* V15 loc11 [V15 ] ( 0, 0 ) ushort -> zero-ref
;* V16 loc12 [V16 ] ( 0, 0 ) int -> zero-ref
-; V17 loc13 [V17,T97] ( 3, 6.50) byref -> r15 single-def
-; V18 loc14 [V18,T196] ( 2, 1 ) int -> rsi
+; V17 loc13 [V17,T107] ( 3, 6.50) byref -> r15 single-def
+; V18 loc14 [V18,T211] ( 2, 1 ) int -> rsi
;* V19 loc15 [V19 ] ( 0, 0 ) int -> zero-ref
-; V20 loc16 [V20,T197] ( 3, 1.50) int -> rax
-; V21 loc17 [V21,T06] ( 11,135.50) ref -> r12 class-hnd single-def <System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]>
+; V20 loc16 [V20,T212] ( 3, 1.50) int -> rax
+; V21 loc17 [V21,T07] ( 11,135.50) ref -> r12 class-hnd single-def <System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]>
;* V22 loc18 [V22 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] <System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet>
-; V23 loc19 [V23,T76] ( 6, 13.50) int -> [rbp-0x2C]
+; V23 loc19 [V23,T88] ( 6, 13.50) int -> [rbp-0x2C]
;* V24 loc20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <ushort[]>
-; V25 loc21 [V25,T25] ( 10, 57.50) int -> [rbp-0x30]
-; V26 loc22 [V26,T60] ( 5, 20 ) int -> [rbp-0x34]
+; V25 loc21 [V25,T28] ( 10, 57.50) int -> [rbp-0x30]
+; V26 loc22 [V26,T65] ( 5, 20 ) int -> [rbp-0x34]
;* V27 loc23 [V27 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ushort]>
;* V28 loc24 [V28 ] ( 0, 0 ) int -> zero-ref
-;* V29 loc25 [V29,T151] ( 0, 0 ) int -> zero-ref
+;* V29 loc25 [V29,T166] ( 0, 0 ) int -> zero-ref
;* V30 loc26 [V30 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] <System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet>
-; V31 loc27 [V31,T15] ( 7, 80 ) ushort -> [rbp-0x38] spill-single-def
-; V32 loc28 [V32,T98] ( 3, 6.50) byref -> [rbp-0xE0] spill-single-def
-; V33 loc29 [V33,T33] ( 8, 33.50) int -> [rbp-0x3C]
-; V34 loc30 [V34,T19] ( 13, 72 ) ushort -> [rbp-0x40]
-;* V35 loc31 [V35,T188] ( 0, 0 ) int -> zero-ref
+; V31 loc27 [V31,T18] ( 7, 80 ) ushort -> [rbp-0x38] spill-single-def
+; V32 loc28 [V32,T108] ( 3, 6.50) byref -> [rbp-0xE0] spill-single-def
+; V33 loc29 [V33,T39] ( 8, 33.50) int -> [rbp-0x3C]
+; V34 loc30 [V34,T17] ( 14, 80 ) ushort -> [rbp-0x40]
+;* V35 loc31 [V35,T203] ( 0, 0 ) int -> zero-ref
;* V36 loc32 [V36 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] <System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet>
-; V37 loc33 [V37,T59] ( 3, 20.50) ref -> [rbp-0xE8] class-hnd single-def <System.Text.RegularExpressions.RegexNode>
+; V37 loc33 [V37,T64] ( 3, 20.50) ref -> [rbp-0xE8] class-hnd single-def <System.Text.RegularExpressions.RegexNode>
;* V38 loc34 [V38 ] ( 0, 0 ) struct (24) zero-ref <System.ValueTuple`4[ushort,System.String,int,ushort[]]>
-; V39 loc35 [V39,T56] ( 7, 21 ) int -> [rbp-0x44]
+; V39 loc35 [V39,T61] ( 7, 21 ) int -> [rbp-0x44]
;* V40 loc36 [V40 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[S] ld-addr-op <System.Nullable`1[System.ValueTuple`2[System.Text.RegularExpressions.RegexNode,System.ValueTuple`4[ushort,System.String,int,ushort[]]]]>
;* V41 loc37 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ushort]>
-; V42 loc38 [V42,T61] ( 5, 20 ) int -> [rbp-0x48]
-; V43 loc39 [V43,T91] ( 2, 8 ) int -> rdi
+; V42 loc38 [V42,T66] ( 5, 20 ) int -> [rbp-0x48]
+; V43 loc39 [V43,T99] ( 2, 8 ) int -> rdi
; V44 OutArgs [V44 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V45 tmp1 [V45 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V46 tmp2 [V46 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V47 tmp3 [V47 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] "dup spill" <System.ValueTuple`2[System.Text.RegularExpressions.RegexNode,System.ValueTuple`4[ushort,System.String,int,ushort[]]]>
;* V48 tmp4 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V49 tmp5 [V49 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V50 tmp6 [V50,T84] ( 4, 10 ) int -> rax
-; V51 tmp7 [V51,T05] ( 4,137 ) int -> [rbp-0x4C] spill-single-def "dup spill"
+;* V49 tmp5 [V49 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V50 tmp6 [V50,T92] ( 4, 10 ) int -> rax
+; V51 tmp7 [V51,T06] ( 4,137 ) int -> [rbp-0x4C] spill-single-def "dup spill"
;* V52 tmp8 [V52 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V53 tmp9 [V53 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V54 tmp10 [V54 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V55 tmp11 [V55 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V56 tmp12 [V56 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V57 tmp13 [V57,T45] ( 3, 24 ) int -> rdi "Span.get_Item index"
-; V58 tmp14 [V58,T12] ( 3, 96 ) int -> rdi "Span.get_Item index"
+; V57 tmp13 [V57,T47] ( 3, 24 ) int -> rdi "Span.get_Item index"
+; V58 tmp14 [V58,T14] ( 3, 96 ) int -> rdi "Span.get_Item index"
;* V59 tmp15 [V59 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V60 tmp16 [V60,T79] ( 4, 12 ) int -> rax
+; V60 tmp16 [V60,T91] ( 4, 12 ) int -> rax
; V61 tmp17 [V61,T02] ( 3,192 ) int -> rdi "Span.get_Item index"
;* V62 tmp18 [V62 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V63 tmp19 [V63,T178] ( 2, 2 ) int -> rdi "impAppendStmt"
+; V63 tmp19 [V63,T191] ( 2, 2 ) int -> rdi "impAppendStmt"
;* V64 tmp20 [V64 ] ( 0, 0 ) struct (16) zero-ref "location for address-of(RValue)" <System.ValueTuple`3[ushort,System.String,int]>
;* V65 tmp21 [V65 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V66 tmp22 [V66 ] ( 0, 0 ) struct (16) zero-ref "location for address-of(RValue)" <System.ValueTuple`3[ushort,System.String,int]>
;* V67 tmp23 [V67 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V68 tmp24 [V68,T179] ( 2, 2 ) int -> rsi "impAppendStmt"
+; V68 tmp24 [V68,T192] ( 2, 2 ) int -> rsi "impAppendStmt"
;* V69 tmp25 [V69 ] ( 0, 0 ) struct (16) zero-ref "location for address-of(RValue)" <System.ValueTuple`3[ushort,System.String,int]>
;* V70 tmp26 [V70 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V71 tmp27 [V71 ] ( 0, 0 ) struct (16) zero-ref "location for address-of(RValue)" <System.ValueTuple`3[ushort,System.String,int]>
;* V72 tmp28 [V72 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[ushort,ushort]>
-; V73 tmp29 [V73,T167] ( 4, 2 ) int -> rax
+; V73 tmp29 [V73,T181] ( 4, 2 ) int -> rax
;* V74 tmp30 [V74 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V75 tmp31 [V75 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V76 tmp32 [V76,T168] ( 4, 2 ) int -> rax
+; V76 tmp32 [V76,T182] ( 4, 2 ) int -> rax
;* V77 tmp33 [V77 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V78 tmp34 [V78 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V79 tmp35 [V79 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V80 tmp36 [V80 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V81 tmp37 [V81 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V82 tmp38 [V82 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V83 tmp39 [V83 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V84 tmp40 [V84 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V85 tmp41 [V85 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V86 tmp42 [V86 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V87 tmp43 [V87 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V88 tmp44 [V88 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V89 tmp45 [V89 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V90 tmp46 [V90 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V91 tmp47 [V91 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V92 tmp48 [V92,T135] ( 4, 4 ) int -> rsi "Inlining Arg"
+; V92 tmp48 [V92,T141] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V93 tmp49 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V94 tmp50 [V94,T171] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V95 tmp51 [V95,T180] ( 2, 2 ) int -> rdx "Inlining Arg"
+; V94 tmp50 [V94,T184] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
+; V95 tmp51 [V95,T193] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V96 tmp52 [V96 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V97 tmp53 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V98 tmp54 [V98,T235] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V99 tmp55 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V100 tmp56 [V100 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V101 tmp57 [V101,T236] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V102 tmp58 [V102 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V103 tmp59 [V103,T198] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V104 tmp60 [V104 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V105 tmp61 [V105 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V106 tmp62 [V106 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V107 tmp63 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V108 tmp64 [V108,T136] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V98 tmp54 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V99 tmp55 [V99 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V100 tmp56 [V100 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V101 tmp57 [V101,T213] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V102 tmp58 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V103 tmp59 [V103,T142] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V104 tmp60 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V105 tmp61 [V105,T185] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V106 tmp62 [V106,T194] ( 2, 2 ) int -> rdx "Inlining Arg"
+;* V107 tmp63 [V107 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V108 tmp64 [V108,T139] ( 4, 4 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
;* V109 tmp65 [V109 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V110 tmp66 [V110,T172] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V111 tmp67 [V111,T181] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V112 tmp68 [V112 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V113 tmp69 [V113,T133] ( 4, 4 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
-;* V114 tmp70 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V115 tmp71 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V116 tmp72 [V116,T173] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
-; V117 tmp73 [V117,T182] ( 2, 2 ) int -> rax "Inlining Arg"
-;* V118 tmp74 [V118 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V119 tmp75 [V119 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V110 tmp66 [V110 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V111 tmp67 [V111,T186] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
+; V112 tmp68 [V112,T195] ( 2, 2 ) int -> rax "Inlining Arg"
+;* V113 tmp69 [V113 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V114 tmp70 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V115 tmp71 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V116 tmp72 [V116 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V117 tmp73 [V117 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V118 tmp74 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V119 tmp75 [V119 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V120 tmp76 [V120 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V121 tmp77 [V121 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V122 tmp78 [V122 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V123 tmp79 [V123 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
-;* V124 tmp80 [V124 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V125 tmp81 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V126 tmp82 [V126 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V127 tmp83 [V127 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V128 tmp84 [V128 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V129 tmp85 [V129,T137] ( 4, 4 ) int -> rdi "Inlining Arg"
-;* V130 tmp86 [V130 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V131 tmp87 [V131,T174] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V132 tmp88 [V132,T183] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V133 tmp89 [V133 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V134 tmp90 [V134,T134] ( 4, 4 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
-;* V135 tmp91 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V136 tmp92 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V137 tmp93 [V137,T175] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
-; V138 tmp94 [V138,T184] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V139 tmp95 [V139 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V140 tmp96 [V140 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V141 tmp97 [V141 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V142 tmp98 [V142,T154] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]>
-; V143 tmp99 [V143,T138] ( 4, 4 ) int -> rdi "Inlining Arg"
-;* V144 tmp100 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V145 tmp101 [V145,T63] ( 17, 17 ) byref -> [rbp-0xF0] spill-single-def "Inlining Arg"
-; V146 tmp102 [V146,T64] ( 17, 17 ) int -> [rbp-0x50] spill-single-def "Inlining Arg"
-;* V147 tmp103 [V147 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V148 tmp104 [V148,T132] ( 8, 4 ) int -> rax "Inline return value spill temp"
-;* V149 tmp105 [V149 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V150 tmp106 [V150 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V151 tmp107 [V151 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V152 tmp108 [V152 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V153 tmp109 [V153 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V154 tmp110 [V154 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V155 tmp111 [V155 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V156 tmp112 [V156 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V157 tmp113 [V157 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V158 tmp114 [V158,T139] ( 4, 4 ) short -> rsi "Inlining Arg"
-;* V159 tmp115 [V159 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V160 tmp116 [V160,T199] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V161 tmp117 [V161 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V162 tmp118 [V162 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V163 tmp119 [V163 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V164 tmp120 [V164,T101] ( 6, 6 ) short -> rsi "Inlining Arg"
-; V165 tmp121 [V165,T102] ( 6, 6 ) short -> rax "Inlining Arg"
-;* V166 tmp122 [V166 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V167 tmp123 [V167,T169] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V168 tmp124 [V168 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V169 tmp125 [V169 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V170 tmp126 [V170 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V171 tmp127 [V171 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V172 tmp128 [V172 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V173 tmp129 [V173,T219] ( 2, 1 ) ushort -> rsi "Inline return value spill temp"
-; V174 tmp130 [V174,T158] ( 3, 3 ) ushort -> rsi "Inlining Arg"
-; V175 tmp131 [V175,T159] ( 3, 3 ) ushort -> rdi "Inlining Arg"
-;* V176 tmp132 [V176 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V177 tmp133 [V177 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V178 tmp134 [V178,T140] ( 4, 4 ) short -> rsi "Inlining Arg"
-; V179 tmp135 [V179,T141] ( 4, 4 ) short -> rax "Inlining Arg"
-; V180 tmp136 [V180,T142] ( 4, 4 ) short -> r9 "Inlining Arg"
-;* V181 tmp137 [V181 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V182 tmp138 [V182,T200] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V183 tmp139 [V183 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V184 tmp140 [V184 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V185 tmp141 [V185 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V186 tmp142 [V186 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V187 tmp143 [V187 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V188 tmp144 [V188 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V189 tmp145 [V189 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V190 tmp146 [V190 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V191 tmp147 [V191 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V192 tmp148 [V192 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V193 tmp149 [V193 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V194 tmp150 [V194 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V195 tmp151 [V195 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V196 tmp152 [V196 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V197 tmp153 [V197 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V198 tmp154 [V198 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V199 tmp155 [V199 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V200 tmp156 [V200 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V201 tmp157 [V201 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V202 tmp158 [V202 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V203 tmp159 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V204 tmp160 [V204 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V205 tmp161 [V205 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V206 tmp162 [V206,T220] ( 2, 1 ) int -> rax "Inline return value spill temp"
-; V207 tmp163 [V207 ] ( 2, 2 ) ushort -> [rbp-0x54] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-; V208 tmp164 [V208 ] ( 2, 2 ) ushort -> [rbp-0x58] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-;* V209 tmp165 [V209 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V210 tmp166 [V210 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V211 tmp167 [V211 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V212 tmp168 [V212 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V213 tmp169 [V213 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V214 tmp170 [V214 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V215 tmp171 [V215 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V216 tmp172 [V216 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V217 tmp173 [V217 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V218 tmp174 [V218 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V219 tmp175 [V219 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V121 tmp77 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V122 tmp78 [V122 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V123 tmp79 [V123 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V124 tmp80 [V124,T143] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V125 tmp81 [V125 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V126 tmp82 [V126,T187] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V127 tmp83 [V127,T196] ( 2, 2 ) int -> rdx "Inlining Arg"
+;* V128 tmp84 [V128 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V129 tmp85 [V129,T140] ( 4, 4 ) ref -> rdx class-hnd exact single-def "Inlining Arg" <System.String>
+;* V130 tmp86 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V131 tmp87 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V132 tmp88 [V132,T188] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
+; V133 tmp89 [V133,T197] ( 2, 2 ) int -> rdx "Inlining Arg"
+;* V134 tmp90 [V134 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V135 tmp91 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V136 tmp92 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V137 tmp93 [V137,T170] ( 3, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet]>
+; V138 tmp94 [V138,T144] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V139 tmp95 [V139 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V140 tmp96 [V140,T68] ( 16, 16 ) byref -> r10 single-def "Inlining Arg"
+; V141 tmp97 [V141,T69] ( 16, 16 ) int -> r11 "Inlining Arg"
+;* V142 tmp98 [V142 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V143 tmp99 [V143,T138] ( 8, 4 ) int -> rax "Inline return value spill temp"
+;* V144 tmp100 [V144 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V145 tmp101 [V145 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V146 tmp102 [V146 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V147 tmp103 [V147 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+; V148 tmp104 [V148,T224] ( 2, 1 ) byref -> rdi single-def "Inline stloc first use temp"
+;* V149 tmp105 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
+;* V150 tmp106 [V150 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V151 tmp107 [V151 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V152 tmp108 [V152 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V153 tmp109 [V153,T145] ( 4, 4 ) short -> rsi "Inlining Arg"
+;* V154 tmp110 [V154 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V155 tmp111 [V155,T214] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V156 tmp112 [V156 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+; V157 tmp113 [V157,T146] ( 4, 4 ) short -> rsi "Inlining Arg"
+; V158 tmp114 [V158,T147] ( 4, 4 ) short -> rdx "Inlining Arg"
+; V159 tmp115 [V159,T198] ( 2, 2 ) int -> rcx "Inlining Arg"
+; V160 tmp116 [V160,T215] ( 3, 1.50) int -> rax "Inline return value spill temp"
+; V161 tmp117 [V161,T234] ( 2, 1 ) ushort -> rsi "Inline stloc first use temp"
+; V162 tmp118 [V162,T235] ( 2, 1 ) ushort -> rdx "Inline stloc first use temp"
+;* V163 tmp119 [V163 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V164 tmp120 [V164 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+; V165 tmp121 [V165,T148] ( 4, 4 ) short -> rsi "Inlining Arg"
+; V166 tmp122 [V166,T149] ( 4, 4 ) short -> rdx "Inlining Arg"
+; V167 tmp123 [V167,T150] ( 4, 4 ) short -> rcx "Inlining Arg"
+;* V168 tmp124 [V168 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V169 tmp125 [V169,T216] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V170 tmp126 [V170 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V171 tmp127 [V171 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V172 tmp128 [V172 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V173 tmp129 [V173 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V174 tmp130 [V174 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V175 tmp131 [V175 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V176 tmp132 [V176 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V177 tmp133 [V177 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V178 tmp134 [V178 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V179 tmp135 [V179 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V180 tmp136 [V180 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V181 tmp137 [V181 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V182 tmp138 [V182 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V183 tmp139 [V183 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V184 tmp140 [V184 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V185 tmp141 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V186 tmp142 [V186 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V187 tmp143 [V187,T236] ( 2, 1 ) int -> rax "Inline return value spill temp"
+;* V188 tmp144 [V188 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V189 tmp145 [V189 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V190 tmp146 [V190 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V191 tmp147 [V191 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V192 tmp148 [V192 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V193 tmp149 [V193 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V194 tmp150 [V194 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V195 tmp151 [V195 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
+;* V196 tmp152 [V196 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V197 tmp153 [V197 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V198 tmp154 [V198 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V199 tmp155 [V199 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V200 tmp156 [V200 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V201 tmp157 [V201 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V202 tmp158 [V202 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V203 tmp159 [V203 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V204 tmp160 [V204 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V205 tmp161 [V205 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V206 tmp162 [V206 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V207 tmp163 [V207 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V208 tmp164 [V208 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V209 tmp165 [V209 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V210 tmp166 [V210 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V211 tmp167 [V211 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V212 tmp168 [V212 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V213 tmp169 [V213 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V214 tmp170 [V214 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V215 tmp171 [V215 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V216 tmp172 [V216,T217] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V217 tmp173 [V217 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
+;* V218 tmp174 [V218 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V219 tmp175 [V219 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
;* V220 tmp176 [V220 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V221 tmp177 [V221 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V222 tmp178 [V222 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V223 tmp179 [V223 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V221 tmp177 [V221 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V222 tmp178 [V222 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V223 tmp179 [V223 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V224 tmp180 [V224 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V225 tmp181 [V225 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V226 tmp182 [V226 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V227 tmp183 [V227 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V228 tmp184 [V228 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V229 tmp185 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V230 tmp186 [V230,T103] ( 6, 6 ) ushort -> rsi "Inlining Arg"
-; V231 tmp187 [V231,T127] ( 5, 5 ) ushort -> rax "Inlining Arg"
-;* V232 tmp188 [V232 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V233 tmp189 [V233,T201] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V234 tmp190 [V234 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V235 tmp191 [V235 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V236 tmp192 [V236 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V237 tmp193 [V237 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V238 tmp194 [V238 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V239 tmp195 [V239 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V240 tmp196 [V240 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V241 tmp197 [V241 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V242 tmp198 [V242 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V243 tmp199 [V243 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V244 tmp200 [V244 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V245 tmp201 [V245 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V246 tmp202 [V246 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V247 tmp203 [V247 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V248 tmp204 [V248 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V249 tmp205 [V249 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
-;* V250 tmp206 [V250 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
+;* V226 tmp182 [V226 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V227 tmp183 [V227 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V228 tmp184 [V228 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V229 tmp185 [V229 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V230 tmp186 [V230 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V231 tmp187 [V231 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V232 tmp188 [V232 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V233 tmp189 [V233,T237] ( 2, 1 ) int -> rax "Inline return value spill temp"
+;* V234 tmp190 [V234 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V235 tmp191 [V235 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V236 tmp192 [V236 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V237 tmp193 [V237 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V238 tmp194 [V238 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V239 tmp195 [V239 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V240 tmp196 [V240 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V241 tmp197 [V241 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
+;* V242 tmp198 [V242 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V243 tmp199 [V243 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V244 tmp200 [V244 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V245 tmp201 [V245 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V246 tmp202 [V246 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V247 tmp203 [V247 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V248 tmp204 [V248 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V249 tmp205 [V249 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V250 tmp206 [V250 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V251 tmp207 [V251 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V252 tmp208 [V252 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V253 tmp209 [V253 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V254 tmp210 [V254 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V255 tmp211 [V255 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V256 tmp212 [V256 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V257 tmp213 [V257 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
-;* V258 tmp214 [V258 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
+;* V252 tmp208 [V252 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V253 tmp209 [V253 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V254 tmp210 [V254 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V255 tmp211 [V255 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V256 tmp212 [V256 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V257 tmp213 [V257 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V258 tmp214 [V258 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V259 tmp215 [V259 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V260 tmp216 [V260,T221] ( 2, 1 ) int -> rax "Inline return value spill temp"
-; V261 tmp217 [V261 ] ( 2, 2 ) ushort -> [rbp-0x5C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-; V262 tmp218 [V262 ] ( 2, 2 ) ushort -> [rbp-0x60] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-;* V263 tmp219 [V263 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V264 tmp220 [V264 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V265 tmp221 [V265 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V266 tmp222 [V266 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V267 tmp223 [V267 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V268 tmp224 [V268 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V269 tmp225 [V269 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V270 tmp226 [V270 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V271 tmp227 [V271 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V272 tmp228 [V272 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V273 tmp229 [V273 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V274 tmp230 [V274 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V275 tmp231 [V275 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V276 tmp232 [V276 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V277 tmp233 [V277 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V278 tmp234 [V278 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V279 tmp235 [V279 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V280 tmp236 [V280 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V281 tmp237 [V281 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V282 tmp238 [V282 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V283 tmp239 [V283 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V284 tmp240 [V284,T104] ( 6, 6 ) ushort -> rsi "Inlining Arg"
-; V285 tmp241 [V285,T128] ( 5, 5 ) ushort -> rax "Inlining Arg"
-;* V286 tmp242 [V286 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V287 tmp243 [V287,T202] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V288 tmp244 [V288 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V289 tmp245 [V289 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V290 tmp246 [V290 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V291 tmp247 [V291 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V292 tmp248 [V292 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V293 tmp249 [V293 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V294 tmp250 [V294 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V295 tmp251 [V295 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V296 tmp252 [V296 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V260 tmp216 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V261 tmp217 [V261 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V262 tmp218 [V262,T218] ( 3, 1.50) int -> rax "Inline return value spill temp"
+;* V263 tmp219 [V263 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
+;* V264 tmp220 [V264 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V265 tmp221 [V265 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V266 tmp222 [V266 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V267 tmp223 [V267 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V268 tmp224 [V268 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V269 tmp225 [V269 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V270 tmp226 [V270 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V271 tmp227 [V271 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V272 tmp228 [V272 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V273 tmp229 [V273 ] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
+;* V274 tmp230 [V274 ] ( 0, 0 ) ushort -> zero-ref do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V275 tmp231 [V275 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V276 tmp232 [V276 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V277 tmp233 [V277 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V278 tmp234 [V278 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V279 tmp235 [V279,T110] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
+; V280 tmp236 [V280,T90] ( 4, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
+; V281 tmp237 [V281,T40] ( 7, 32 ) ushort -> [rbp-0x50] spill-single-def "Inlining Arg"
+;* V282 tmp238 [V282 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V283 tmp239 [V283,T111] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
+; V284 tmp240 [V284,T112] ( 3, 6 ) int -> rdi "Inline stloc first use temp"
+; V285 tmp241 [V285,T113] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
+; V286 tmp242 [V286,T114] ( 3, 6 ) int -> rcx "Inline stloc first use temp"
+; V287 tmp243 [V287,T115] ( 3, 6 ) int -> r8 "Inline stloc first use temp"
+; V288 tmp244 [V288,T116] ( 3, 6 ) int -> [rbp-0x54] spill-single-def "Inline stloc first use temp"
+; V289 tmp245 [V289,T85] ( 7, 14 ) ubyte -> rax "Inline stloc first use temp"
+; V290 tmp246 [V290,T151] ( 4, 4 ) int -> rsi "Inlining Arg"
+;* V291 tmp247 [V291 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V292 tmp248 [V292,T171] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
+; V293 tmp249 [V293,T174] ( 3, 3 ) int -> rdx "Inlining Arg"
+;* V294 tmp250 [V294 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V295 tmp251 [V295 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V296 tmp252 [V296,T199] ( 2, 2 ) ushort -> rsi "Inlining Arg"
;* V297 tmp253 [V297 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V298 tmp254 [V298 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V299 tmp255 [V299 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V298 tmp254 [V298 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V299 tmp255 [V299 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V300 tmp256 [V300 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V301 tmp257 [V301 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V302 tmp258 [V302 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V303 tmp259 [V303 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
-;* V304 tmp260 [V304 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
-;* V305 tmp261 [V305 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V306 tmp262 [V306 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V307 tmp263 [V307 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V308 tmp264 [V308 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V309 tmp265 [V309 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V310 tmp266 [V310 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V311 tmp267 [V311 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
-;* V312 tmp268 [V312 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inlining Arg"
-;* V313 tmp269 [V313 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V314 tmp270 [V314,T105] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
-; V315 tmp271 [V315,T78] ( 4, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
-; V316 tmp272 [V316,T34] ( 7, 32 ) ushort -> [rbp-0x64] spill-single-def "Inlining Arg"
-;* V317 tmp273 [V317 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V318 tmp274 [V318,T106] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
-; V319 tmp275 [V319,T107] ( 3, 6 ) int -> rdi "Inline stloc first use temp"
-; V320 tmp276 [V320,T108] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
-; V321 tmp277 [V321,T109] ( 3, 6 ) int -> rcx "Inline stloc first use temp"
-; V322 tmp278 [V322,T110] ( 3, 6 ) int -> r8 "Inline stloc first use temp"
-; V323 tmp279 [V323,T111] ( 3, 6 ) int -> [rbp-0x68] spill-single-def "Inline stloc first use temp"
-; V324 tmp280 [V324,T73] ( 7, 14 ) ubyte -> rax "Inline stloc first use temp"
-; V325 tmp281 [V325,T143] ( 4, 4 ) int -> rsi "Inlining Arg"
-;* V326 tmp282 [V326 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V327 tmp283 [V327,T155] ( 3, 3 ) byref -> rdi single-def "Inlining Arg"
-; V328 tmp284 [V328,T160] ( 3, 3 ) int -> rdx "Inlining Arg"
-;* V329 tmp285 [V329 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V330 tmp286 [V330 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V331 tmp287 [V331,T185] ( 2, 2 ) ushort -> rsi ld-addr-op "Inlining Arg"
-;* V332 tmp288 [V332 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V333 tmp289 [V333 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V334 tmp290 [V334,T144] ( 4, 4 ) short -> rsi "Inlining Arg"
-;* V335 tmp291 [V335 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V336 tmp292 [V336,T170] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V337 tmp293 [V337 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V338 tmp294 [V338 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V339 tmp295 [V339 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V340 tmp296 [V340 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V341 tmp297 [V341,T145] ( 4, 4 ) int -> rdi "Inlining Arg"
-;* V342 tmp298 [V342 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V343 tmp299 [V343,T176] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V344 tmp300 [V344,T186] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V345 tmp301 [V345 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V346 tmp302 [V346 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.__Canon>
-;* V347 tmp303 [V347 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V348 tmp304 [V348 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V349 tmp305 [V349,T177] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
-; V350 tmp306 [V350,T187] ( 2, 2 ) int -> rax "Inlining Arg"
-;* V351 tmp307 [V351 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V352 tmp308 [V352 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V353 tmp309 [V353 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V354 tmp310 [V354 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V355 tmp311 [V355 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V356 tmp312 [V356 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
-;* V357 tmp313 [V357 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V358 tmp314 [V358 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V359 tmp315 [V359 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V360 tmp316 [V360 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V361 tmp317 [V361 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V362 tmp318 [V362,T222] ( 2, 1 ) int -> rsi "Inline return value spill temp"
-; V363 tmp319 [V363,T161] ( 3, 3 ) int -> rdi "Inlining Arg"
-;* V364 tmp320 [V364 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V365 tmp321 [V365,T26] ( 12, 56 ) byref -> rdi "Inlining Arg"
-; V366 tmp322 [V366,T27] ( 12, 56 ) int -> [rbp-0x6C] spill-single-def "Inlining Arg"
-;* V367 tmp323 [V367 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
-;* V368 tmp324 [V368 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V369 tmp325 [V369 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
-; V370 tmp326 [V370,T65] ( 8, 16 ) int -> registers "Inline return value spill temp"
-;* V371 tmp327 [V371 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V372 tmp328 [V372 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V373 tmp329 [V373 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V374 tmp330 [V374 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V375 tmp331 [V375 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
-;* V376 tmp332 [V376 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
-;* V377 tmp333 [V377 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V378 tmp334 [V378 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V379 tmp335 [V379 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V380 tmp336 [V380,T67] ( 4, 16 ) short -> rsi "Inlining Arg"
-;* V381 tmp337 [V381 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V382 tmp338 [V382,T112] ( 3, 6 ) int -> rsi "Inline return value spill temp"
-;* V383 tmp339 [V383 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V384 tmp340 [V384 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V385 tmp341 [V385 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V386 tmp342 [V386,T40] ( 6, 24 ) short -> rsi "Inlining Arg"
-; V387 tmp343 [V387,T41] ( 6, 24 ) short -> rdx "Inlining Arg"
-;* V388 tmp344 [V388 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V389 tmp345 [V389,T88] ( 4, 8 ) int -> rsi "Inline return value spill temp"
-;* V390 tmp346 [V390 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V391 tmp347 [V391 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V392 tmp348 [V392 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V393 tmp349 [V393 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V394 tmp350 [V394 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V395 tmp351 [V395,T113] ( 3, 6 ) ushort -> rdx "Inline return value spill temp"
-; V396 tmp352 [V396,T80] ( 3, 12 ) ushort -> rsi "Inlining Arg"
-; V397 tmp353 [V397,T81] ( 3, 12 ) ushort -> rdx "Inlining Arg"
-;* V398 tmp354 [V398 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V399 tmp355 [V399 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V400 tmp356 [V400,T68] ( 4, 16 ) short -> rsi "Inlining Arg"
-; V401 tmp357 [V401,T69] ( 4, 16 ) short -> rbx "Inlining Arg"
-; V402 tmp358 [V402,T70] ( 4, 16 ) short -> [rbp-0x70] spill-single-def "Inlining Arg"
-;* V403 tmp359 [V403 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V404 tmp360 [V404,T114] ( 3, 6 ) int -> rsi "Inline return value spill temp"
-;* V405 tmp361 [V405 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V406 tmp362 [V406 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V407 tmp363 [V407 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V408 tmp364 [V408 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V409 tmp365 [V409 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V410 tmp366 [V410 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V411 tmp367 [V411 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V412 tmp368 [V412 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V413 tmp369 [V413 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V414 tmp370 [V414 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V415 tmp371 [V415 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V416 tmp372 [V416 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V417 tmp373 [V417 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V418 tmp374 [V418 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V419 tmp375 [V419 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+; V301 tmp257 [V301,T183] ( 4, 2 ) int -> rax "Inline return value spill temp"
+; V302 tmp258 [V302,T152] ( 4, 4 ) short -> rsi "Inlining Arg"
+;* V303 tmp259 [V303 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V304 tmp260 [V304 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V305 tmp261 [V305,T153] ( 4, 4 ) int -> rdi "Inlining Arg"
+;* V306 tmp262 [V306 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V307 tmp263 [V307,T189] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+; V308 tmp264 [V308,T200] ( 2, 2 ) int -> rdx "Inlining Arg"
+;* V309 tmp265 [V309 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V310 tmp266 [V310 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.__Canon>
+;* V311 tmp267 [V311 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V312 tmp268 [V312 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V313 tmp269 [V313,T190] ( 2, 2 ) byref -> rcx single-def "Inlining Arg"
+; V314 tmp270 [V314,T201] ( 2, 2 ) int -> rax "Inlining Arg"
+;* V315 tmp271 [V315 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V316 tmp272 [V316 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V317 tmp273 [V317 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V318 tmp274 [V318 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V319 tmp275 [V319 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V320 tmp276 [V320 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
+;* V321 tmp277 [V321 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V322 tmp278 [V322 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V323 tmp279 [V323 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V324 tmp280 [V324 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V325 tmp281 [V325 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V326 tmp282 [V326,T238] ( 2, 1 ) int -> rsi "Inline return value spill temp"
+; V327 tmp283 [V327,T175] ( 3, 3 ) int -> rdi "Inlining Arg"
+;* V328 tmp284 [V328 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V329 tmp285 [V329,T32] ( 11, 52 ) byref -> rdi "Inlining Arg"
+; V330 tmp286 [V330,T33] ( 11, 52 ) int -> [rbp-0x58] spill-single-def "Inlining Arg"
+;* V331 tmp287 [V331 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
+;* V332 tmp288 [V332 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V333 tmp289 [V333 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
+; V334 tmp290 [V334,T70] ( 8, 16 ) int -> registers "Inline return value spill temp"
+;* V335 tmp291 [V335 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V336 tmp292 [V336 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V337 tmp293 [V337 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V338 tmp294 [V338 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+; V339 tmp295 [V339,T154] ( 2, 4 ) byref -> r10 "Inline stloc first use temp"
+;* V340 tmp296 [V340 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
+;* V341 tmp297 [V341 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V342 tmp298 [V342 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V343 tmp299 [V343 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V344 tmp300 [V344,T72] ( 4, 16 ) short -> rsi "Inlining Arg"
+;* V345 tmp301 [V345 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V346 tmp302 [V346,T117] ( 3, 6 ) int -> rsi "Inline return value spill temp"
+;* V347 tmp303 [V347 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+; V348 tmp304 [V348,T73] ( 4, 16 ) short -> rsi "Inlining Arg"
+; V349 tmp305 [V349,T74] ( 4, 16 ) short -> rdx "Inlining Arg"
+; V350 tmp306 [V350,T100] ( 2, 8 ) int -> rbx "Inlining Arg"
+; V351 tmp307 [V351,T118] ( 3, 6 ) int -> rsi "Inline return value spill temp"
+; V352 tmp308 [V352,T158] ( 2, 4 ) ushort -> rsi "Inline stloc first use temp"
+; V353 tmp309 [V353,T159] ( 2, 4 ) ushort -> rdx "Inline stloc first use temp"
+;* V354 tmp310 [V354 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V355 tmp311 [V355 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+; V356 tmp312 [V356,T75] ( 4, 16 ) short -> rsi "Inlining Arg"
+; V357 tmp313 [V357,T76] ( 4, 16 ) short -> r10 "Inlining Arg"
+; V358 tmp314 [V358,T77] ( 4, 16 ) short -> [rbp-0x5C] spill-single-def "Inlining Arg"
+;* V359 tmp315 [V359 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V360 tmp316 [V360,T119] ( 3, 6 ) int -> rsi "Inline return value spill temp"
+;* V361 tmp317 [V361 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V362 tmp318 [V362 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V363 tmp319 [V363 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V364 tmp320 [V364 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V365 tmp321 [V365 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V366 tmp322 [V366 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V367 tmp323 [V367 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V368 tmp324 [V368 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V369 tmp325 [V369 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V370 tmp326 [V370 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V371 tmp327 [V371 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V372 tmp328 [V372 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V373 tmp329 [V373 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V374 tmp330 [V374 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V375 tmp331 [V375 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V376 tmp332 [V376 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V377 tmp333 [V377 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
+;* V378 tmp334 [V378 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V379 tmp335 [V379 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
+; V380 tmp336 [V380,T48] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
+; V381 tmp337 [V381,T05] ( 3,144 ) byref -> rax "Inlining Arg"
+; V382 tmp338 [V382,T15] ( 5, 88 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
+;* V383 tmp339 [V383 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V384 tmp340 [V384,T41] ( 4, 32 ) int -> rsi "Inline stloc first use temp"
+; V385 tmp341 [V385,T49] ( 3, 24 ) int -> rdi "Inline stloc first use temp"
+; V386 tmp342 [V386,T50] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
+; V387 tmp343 [V387,T51] ( 3, 24 ) int -> rcx "Inline stloc first use temp"
+; V388 tmp344 [V388,T52] ( 3, 24 ) int -> r8 "Inline stloc first use temp"
+; V389 tmp345 [V389,T53] ( 3, 24 ) int -> [rbp-0x60] spill-single-def "Inline stloc first use temp"
+; V390 tmp346 [V390,T29] ( 7, 56 ) ubyte -> rax "Inline stloc first use temp"
+; V391 tmp347 [V391,T120] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
+; V392 tmp348 [V392,T87] ( 5, 14 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
+;* V393 tmp349 [V393 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V394 tmp350 [V394,T97] ( 4, 8 ) int -> rsi "Inline stloc first use temp"
+; V395 tmp351 [V395,T121] ( 3, 6 ) int -> rdi "Inline stloc first use temp"
+; V396 tmp352 [V396,T122] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
+; V397 tmp353 [V397,T123] ( 3, 6 ) int -> [rbp-0x64] spill-single-def "Inline stloc first use temp"
+; V398 tmp354 [V398,T124] ( 3, 6 ) int -> [rbp-0x68] spill-single-def "Inline stloc first use temp"
+; V399 tmp355 [V399,T125] ( 3, 6 ) int -> [rbp-0x6C] spill-single-def "Inline stloc first use temp"
+; V400 tmp356 [V400,T86] ( 7, 14 ) ubyte -> rax "Inline stloc first use temp"
+; V401 tmp357 [V401,T54] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
+; V402 tmp358 [V402,T20] ( 3, 80 ) byref -> rax "Inlining Arg"
+; V403 tmp359 [V403,T31] ( 5, 56 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
+;* V404 tmp360 [V404 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V405 tmp361 [V405,T42] ( 4, 32 ) int -> rsi "Inline stloc first use temp"
+; V406 tmp362 [V406,T55] ( 3, 24 ) int -> rdi "Inline stloc first use temp"
+; V407 tmp363 [V407,T56] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
+; V408 tmp364 [V408,T57] ( 3, 24 ) int -> rcx "Inline stloc first use temp"
+; V409 tmp365 [V409,T58] ( 3, 24 ) int -> r8 "Inline stloc first use temp"
+; V410 tmp366 [V410,T59] ( 3, 24 ) int -> [rbp-0x70] spill-single-def "Inline stloc first use temp"
+; V411 tmp367 [V411,T30] ( 7, 56 ) ubyte -> rax "Inline stloc first use temp"
+;* V412 tmp368 [V412 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V413 tmp369 [V413,T46] ( 2, 16 ) byref -> r11 "Inlining Arg"
+; V414 tmp370 [V414,T60] ( 2, 16 ) int -> rdx "Inlining Arg"
+;* V415 tmp371 [V415 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V416 tmp372 [V416 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V417 tmp373 [V417,T101] ( 2, 8 ) ushort -> rsi "Inlining Arg"
+;* V418 tmp374 [V418 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V419 tmp375 [V419 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V420 tmp376 [V420 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V421 tmp377 [V421 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V422 tmp378 [V422 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V423 tmp379 [V423 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V424 tmp380 [V424 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V421 tmp377 [V421 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V422 tmp378 [V422,T126] ( 3, 6 ) int -> rax "Inline return value spill temp"
+; V423 tmp379 [V423,T78] ( 4, 16 ) short -> rsi "Inlining Arg"
+;* V424 tmp380 [V424 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V425 tmp381 [V425 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V426 tmp382 [V426 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V427 tmp383 [V427 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
-;* V428 tmp384 [V428 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V429 tmp385 [V429 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ushort[]>
-; V430 tmp386 [V430,T46] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
-; V431 tmp387 [V431,T04] ( 3,144 ) byref -> rax "Inlining Arg"
-; V432 tmp388 [V432,T13] ( 5, 88 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
-;* V433 tmp389 [V433 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V434 tmp390 [V434,T35] ( 4, 32 ) int -> rsi "Inline stloc first use temp"
-; V435 tmp391 [V435,T47] ( 3, 24 ) int -> rdi "Inline stloc first use temp"
-; V436 tmp392 [V436,T48] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
-; V437 tmp393 [V437,T49] ( 3, 24 ) int -> rcx "Inline stloc first use temp"
-; V438 tmp394 [V438,T50] ( 3, 24 ) int -> r8 "Inline stloc first use temp"
-; V439 tmp395 [V439,T51] ( 3, 24 ) int -> [rbp-0x74] spill-single-def "Inline stloc first use temp"
-; V440 tmp396 [V440,T28] ( 7, 56 ) ubyte -> rax "Inline stloc first use temp"
-; V441 tmp397 [V441,T115] ( 3, 6 ) ubyte -> rax "Inline return value spill temp"
-; V442 tmp398 [V442,T75] ( 5, 14 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
-;* V443 tmp399 [V443 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V444 tmp400 [V444,T89] ( 4, 8 ) int -> rsi "Inline stloc first use temp"
-; V445 tmp401 [V445,T116] ( 3, 6 ) int -> rdi "Inline stloc first use temp"
-; V446 tmp402 [V446,T117] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
-; V447 tmp403 [V447,T118] ( 3, 6 ) int -> [rbp-0x78] spill-single-def "Inline stloc first use temp"
-; V448 tmp404 [V448,T119] ( 3, 6 ) int -> [rbp-0x7C] spill-single-def "Inline stloc first use temp"
-; V449 tmp405 [V449,T120] ( 3, 6 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp"
-; V450 tmp406 [V450,T74] ( 7, 14 ) ubyte -> rax "Inline stloc first use temp"
-; V451 tmp407 [V451,T52] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
-; V452 tmp408 [V452,T16] ( 3, 80 ) byref -> rax "Inlining Arg"
-; V453 tmp409 [V453,T29] ( 5, 56 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
-;* V454 tmp410 [V454 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V455 tmp411 [V455,T36] ( 4, 32 ) int -> rsi "Inline stloc first use temp"
-; V456 tmp412 [V456,T53] ( 3, 24 ) int -> rdi "Inline stloc first use temp"
-; V457 tmp413 [V457,T54] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
-;* V458 tmp414 [V458 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V459 tmp415 [V459,T44] ( 2, 16 ) byref -> r11 "Inlining Arg"
-; V460 tmp416 [V460,T55] ( 2, 16 ) int -> rdx "Inlining Arg"
-;* V461 tmp417 [V461 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V462 tmp418 [V462 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V463 tmp419 [V463,T92] ( 2, 8 ) ushort -> rsi ld-addr-op "Inlining Arg"
-;* V464 tmp420 [V464 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V465 tmp421 [V465 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V466 tmp422 [V466,T71] ( 4, 16 ) short -> rsi "Inlining Arg"
+;* V426 tmp382 [V426 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
+;* V427 tmp383 [V427 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;* V428 tmp384 [V428 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
+;* V429 tmp385 [V429 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V430 tmp386 [V430 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V431 tmp387 [V431 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V432 tmp388 [V432 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V433 tmp389 [V433,T71] ( 8, 16 ) int -> registers "Inline return value spill temp"
+;* V434 tmp390 [V434 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V435 tmp391 [V435 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V436 tmp392 [V436 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V437 tmp393 [V437 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V438 tmp394 [V438,T202] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
+;* V439 tmp395 [V439 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
+;* V440 tmp396 [V440 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V441 tmp397 [V441 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V442 tmp398 [V442 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V443 tmp399 [V443,T79] ( 4, 16 ) short -> rsi "Inlining Arg"
+;* V444 tmp400 [V444 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V445 tmp401 [V445,T127] ( 3, 6 ) int -> rdi "Inline return value spill temp"
+;* V446 tmp402 [V446 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+; V447 tmp403 [V447,T80] ( 4, 16 ) short -> [rbp-0x74] spill-single-def "Inlining Arg"
+; V448 tmp404 [V448,T81] ( 4, 16 ) short -> [rbp-0x78] spill-single-def "Inlining Arg"
+;* V449 tmp405 [V449,T167] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V450 tmp406 [V450,T128] ( 3, 6 ) int -> rdi "Inline return value spill temp"
+; V451 tmp407 [V451,T160] ( 2, 4 ) ushort -> rdi "Inline stloc first use temp"
+; V452 tmp408 [V452,T161] ( 2, 4 ) ushort -> rsi "Inline stloc first use temp"
+;* V453 tmp409 [V453 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V454 tmp410 [V454 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+; V455 tmp411 [V455,T82] ( 4, 16 ) short -> [rbp-0x7C] spill-single-def "Inlining Arg"
+; V456 tmp412 [V456,T83] ( 4, 16 ) short -> rbx "Inlining Arg"
+; V457 tmp413 [V457,T84] ( 4, 16 ) short -> [rbp-0x80] spill-single-def "Inlining Arg"
+;* V458 tmp414 [V458 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V459 tmp415 [V459,T129] ( 3, 6 ) int -> rdi "Inline return value spill temp"
+;* V460 tmp416 [V460 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V461 tmp417 [V461 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V462 tmp418 [V462 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V463 tmp419 [V463 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V464 tmp420 [V464 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V465 tmp421 [V465 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V466 tmp422 [V466 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V467 tmp423 [V467 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V468 tmp424 [V468,T121] ( 3, 6 ) int -> rax "Inline return value spill temp"
-;* V469 tmp425 [V469 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V470 tmp426 [V470 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V471 tmp427 [V471 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V472 tmp428 [V472 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V473 tmp429 [V473 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
-;* V474 tmp430 [V474 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;* V475 tmp431 [V475 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
-;* V476 tmp432 [V476 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V477 tmp433 [V477 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V478 tmp434 [V478 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V479 tmp435 [V479 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V480 tmp436 [V480,T66] ( 8, 16 ) int -> registers "Inline return value spill temp"
-;* V481 tmp437 [V481 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V482 tmp438 [V482 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V483 tmp439 [V483 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V484 tmp440 [V484 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V485 tmp441 [V485 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
-;* V486 tmp442 [V486 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
-;* V487 tmp443 [V487 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V488 tmp444 [V488 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V489 tmp445 [V489 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V490 tmp446 [V490,T72] ( 4, 16 ) short -> rsi "Inlining Arg"
-;* V491 tmp447 [V491 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V492 tmp448 [V492,T122] ( 3, 6 ) int -> rdi "Inline return value spill temp"
-;* V493 tmp449 [V493 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V494 tmp450 [V494 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V495 tmp451 [V495 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V496 tmp452 [V496,T42] ( 6, 24 ) short -> [rbp-0x84] spill-single-def "Inlining Arg"
-; V497 tmp453 [V497,T43] ( 6, 24 ) short -> [rbp-0x88] spill-single-def "Inlining Arg"
-;* V498 tmp454 [V498 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V499 tmp455 [V499,T90] ( 4, 8 ) int -> rdi "Inline return value spill temp"
-;* V500 tmp456 [V500 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V501 tmp457 [V501 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V502 tmp458 [V502 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V503 tmp459 [V503 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V504 tmp460 [V504 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V505 tmp461 [V505,T123] ( 3, 6 ) ushort -> rsi "Inline return value spill temp"
-; V506 tmp462 [V506,T82] ( 3, 12 ) ushort -> rdi "Inlining Arg"
-; V507 tmp463 [V507,T83] ( 3, 12 ) ushort -> rsi "Inlining Arg"
-;* V508 tmp464 [V508 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V509 tmp465 [V509 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V510 tmp466 [V510 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V511 tmp467 [V511 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V512 tmp468 [V512 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V513 tmp469 [V513 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V514 tmp470 [V514,T20] ( 13, 64.50) byref -> [rbp-0xF8] single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-; V515 tmp471 [V515,T14] ( 32, 81.50) int -> [rbp-0x8C] single-def "field V01._length (fldOffset=0x8)" P-INDEP
-; V516 tmp472 [V516,T130] ( 2, 4.50) byref -> r14 single-def "field V10._reference (fldOffset=0x0)" P-INDEP
-; V517 tmp473 [V517,T86] ( 4, 9 ) int -> [rbp-0x90] spill-single-def "field V10._length (fldOffset=0x8)" P-INDEP
-;* V518 tmp474 [V518 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V519 tmp475 [V519 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V520 tmp476 [V520,T99] ( 3, 6.50) ref -> [rbp-0x100] single-def "field V38.Item2 (fldOffset=0x0)" P-INDEP
-; V521 tmp477 [V521,T96] ( 4, 6.50) ref -> [rbp-0x108] single-def "field V38.Item4 (fldOffset=0x8)" P-INDEP
-; V522 tmp478 [V522,T164] ( 2, 2.50) int -> [rbp-0x94] "field V38.Item3 (fldOffset=0x10)" P-INDEP
-; V523 tmp479 [V523,T165] ( 2, 2.50) ushort -> [rbp-0x98] "field V38.Item1 (fldOffset=0x14)" P-INDEP
-; V524 tmp480 [V524,T30] ( 14, 44 ) byref -> [rbp-0x110] "field V41._reference (fldOffset=0x0)" P-INDEP
-; V525 tmp481 [V525,T18] ( 15, 76 ) int -> [rbp-0x9C] "field V41._length (fldOffset=0x8)" P-INDEP
-;* V526 tmp482 [V526 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V527 tmp483 [V527 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-; V528 tmp484 [V528,T146] ( 2, 4 ) byref -> rax "field V49._reference (fldOffset=0x0)" P-INDEP
-; V529 tmp485 [V529,T148] ( 2, 4 ) int -> rcx "field V49._length (fldOffset=0x8)" P-INDEP
-;* V530 tmp486 [V530 ] ( 0, 0 ) byref -> zero-ref "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V531 tmp487 [V531 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
-;* V532 tmp488 [V532 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP
-;* V533 tmp489 [V533 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
-;* V534 tmp490 [V534 ] ( 0, 0 ) byref -> zero-ref "field V55._reference (fldOffset=0x0)" P-INDEP
-;* V535 tmp491 [V535 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
-;* V536 tmp492 [V536 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V537 tmp493 [V537 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
-;* V538 tmp494 [V538 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
-;* V539 tmp495 [V539 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
-;* V540 tmp496 [V540 ] ( 0, 0 ) ref -> zero-ref "field V64.Item2 (fldOffset=0x0)" P-INDEP
-; V541 tmp497 [V541,T223] ( 2, 1 ) int -> rsi "field V64.Item3 (fldOffset=0x8)" P-INDEP
-;* V542 tmp498 [V542 ] ( 0, 0 ) ushort -> zero-ref "field V64.Item1 (fldOffset=0xc)" P-INDEP
-;* V543 tmp499 [V543 ] ( 0, 0 ) byref -> zero-ref single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V544 tmp500 [V544 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
-; V545 tmp501 [V545,T166] ( 4, 2 ) ref -> rdi single-def "field V66.Item2 (fldOffset=0x0)" P-INDEP
-;* V546 tmp502 [V546 ] ( 0, 0 ) int -> zero-ref "field V66.Item3 (fldOffset=0x8)" P-INDEP
-;* V547 tmp503 [V547 ] ( 0, 0 ) ushort -> zero-ref "field V66.Item1 (fldOffset=0xc)" P-INDEP
-;* V548 tmp504 [V548 ] ( 0, 0 ) byref -> zero-ref single-def "field V67._reference (fldOffset=0x0)" P-INDEP
-;* V549 tmp505 [V549 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0x8)" P-INDEP
-;* V550 tmp506 [V550 ] ( 0, 0 ) ref -> zero-ref "field V69.Item2 (fldOffset=0x0)" P-INDEP
-; V551 tmp507 [V551,T224] ( 2, 1 ) int -> rdi "field V69.Item3 (fldOffset=0x8)" P-INDEP
-;* V552 tmp508 [V552 ] ( 0, 0 ) ushort -> zero-ref "field V69.Item1 (fldOffset=0xc)" P-INDEP
-;* V553 tmp509 [V553 ] ( 0, 0 ) byref -> zero-ref single-def "field V70._reference (fldOffset=0x0)" P-INDEP
-;* V554 tmp510 [V554 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP
-;* V555 tmp511 [V555 ] ( 0, 0 ) ref -> zero-ref "field V71.Item2 (fldOffset=0x0)" P-INDEP
-;* V556 tmp512 [V556 ] ( 0, 0 ) int -> zero-ref "field V71.Item3 (fldOffset=0x8)" P-INDEP
-; V557 tmp513 [V557,T225] ( 2, 1 ) ushort -> rsi "field V71.Item1 (fldOffset=0xc)" P-INDEP
-;* V558 tmp514 [V558 ] ( 0, 0 ) ushort -> zero-ref "field V72.Item1 (fldOffset=0x0)" P-INDEP
-;* V559 tmp515 [V559 ] ( 0, 0 ) ushort -> zero-ref "field V72.Item2 (fldOffset=0x2)" P-INDEP
-;* V560 tmp516 [V560 ] ( 0, 0 ) byref -> zero-ref single-def "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V561 tmp517 [V561 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
-;* V562 tmp518 [V562 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
-;* V563 tmp519 [V563 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
-;* V564 tmp520 [V564 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
-;* V565 tmp521 [V565 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
-;* V566 tmp522 [V566 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
-;* V567 tmp523 [V567 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
-;* V568 tmp524 [V568 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V569 tmp525 [V569 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
-;* V570 tmp526 [V570 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V571 tmp527 [V571 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
-;* V572 tmp528 [V572 ] ( 0, 0 ) byref -> zero-ref single-def "field V81._reference (fldOffset=0x0)" P-INDEP
-;* V573 tmp529 [V573 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
-;* V574 tmp530 [V574 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
-;* V575 tmp531 [V575 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
-;* V576 tmp532 [V576 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
-;* V577 tmp533 [V577 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
-;* V578 tmp534 [V578 ] ( 0, 0 ) byref -> zero-ref single-def "field V93._reference (fldOffset=0x0)" P-INDEP
-;* V579 tmp535 [V579 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
-;* V580 tmp536 [V580 ] ( 0, 0 ) byref -> zero-ref single-def "field V97._reference (fldOffset=0x0)" P-INDEP
-;* V581 tmp537 [V581 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
-;* V582 tmp538 [V582 ] ( 0, 0 ) byref -> zero-ref single-def "field V99._reference (fldOffset=0x0)" P-INDEP
-;* V583 tmp539 [V583 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
-;* V584 tmp540 [V584 ] ( 0, 0 ) byref -> zero-ref "field V107._reference (fldOffset=0x0)" P-INDEP
-;* V585 tmp541 [V585 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
-;* V586 tmp542 [V586 ] ( 0, 0 ) byref -> zero-ref single-def "field V109._reference (fldOffset=0x0)" P-INDEP
-;* V587 tmp543 [V587 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP
-; V588 tmp544 [V588,T190] ( 3, 1.50) byref -> rcx "field V112._reference (fldOffset=0x0)" P-INDEP
-; V589 tmp545 [V589,T203] ( 3, 1.50) int -> rax "field V112._length (fldOffset=0x8)" P-INDEP
-; V590 tmp546 [V590,T210] ( 2, 1 ) byref -> rcx single-def "field V114._reference (fldOffset=0x0)" P-INDEP
-; V591 tmp547 [V591,T226] ( 2, 1 ) int -> rax "field V114._length (fldOffset=0x8)" P-INDEP
-;* V592 tmp548 [V592 ] ( 0, 0 ) byref -> zero-ref single-def "field V115._reference (fldOffset=0x0)" P-INDEP
-;* V593 tmp549 [V593 ] ( 0, 0 ) int -> zero-ref "field V115._length (fldOffset=0x8)" P-INDEP
-;* V594 tmp550 [V594 ] ( 0, 0 ) byref -> zero-ref single-def "field V119._reference (fldOffset=0x0)" P-INDEP
-;* V595 tmp551 [V595 ] ( 0, 0 ) int -> zero-ref "field V119._length (fldOffset=0x8)" P-INDEP
-;* V596 tmp552 [V596 ] ( 0, 0 ) byref -> zero-ref single-def "field V120._reference (fldOffset=0x0)" P-INDEP
-;* V597 tmp553 [V597 ] ( 0, 0 ) int -> zero-ref "field V120._length (fldOffset=0x8)" P-INDEP
-;* V598 tmp554 [V598 ] ( 0, 0 ) byref -> zero-ref single-def "field V125._reference (fldOffset=0x0)" P-INDEP
-;* V599 tmp555 [V599 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP
-;* V600 tmp556 [V600 ] ( 0, 0 ) byref -> zero-ref single-def "field V126._reference (fldOffset=0x0)" P-INDEP
-;* V601 tmp557 [V601 ] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP
-;* V602 tmp558 [V602 ] ( 0, 0 ) byref -> zero-ref "field V127._reference (fldOffset=0x0)" P-INDEP
-;* V603 tmp559 [V603 ] ( 0, 0 ) int -> zero-ref "field V127._length (fldOffset=0x8)" P-INDEP
-;* V604 tmp560 [V604 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP
-;* V605 tmp561 [V605 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
-; V606 tmp562 [V606,T211] ( 2, 1 ) byref -> rdi single-def "field V130._reference (fldOffset=0x0)" P-INDEP
-; V607 tmp563 [V607,T227] ( 2, 1 ) int -> rsi "field V130._length (fldOffset=0x8)" P-INDEP
-; V608 tmp564 [V608,T191] ( 3, 1.50) byref -> registers "field V133._reference (fldOffset=0x0)" P-INDEP
-; V609 tmp565 [V609,T204] ( 3, 1.50) int -> registers "field V133._length (fldOffset=0x8)" P-INDEP
-; V610 tmp566 [V610,T212] ( 2, 1 ) byref -> rcx single-def "field V135._reference (fldOffset=0x0)" P-INDEP
-; V611 tmp567 [V611,T228] ( 2, 1 ) int -> rdx "field V135._length (fldOffset=0x8)" P-INDEP
-;* V612 tmp568 [V612 ] ( 0, 0 ) byref -> zero-ref single-def "field V136._reference (fldOffset=0x0)" P-INDEP
-;* V613 tmp569 [V613 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP
-;* V614 tmp570 [V614 ] ( 0, 0 ) byref -> zero-ref "field V140._reference (fldOffset=0x0)" P-INDEP
-;* V615 tmp571 [V615 ] ( 0, 0 ) int -> zero-ref "field V140._length (fldOffset=0x8)" P-INDEP
-;* V616 tmp572 [V616 ] ( 0, 0 ) byref -> zero-ref "field V141._reference (fldOffset=0x0)" P-INDEP
-;* V617 tmp573 [V617 ] ( 0, 0 ) int -> zero-ref "field V141._length (fldOffset=0x8)" P-INDEP
-; V618 tmp574 [V618,T213] ( 2, 1 ) byref -> rdi single-def "field V144._reference (fldOffset=0x0)" P-INDEP
-; V619 tmp575 [V619,T229] ( 2, 1 ) int -> rsi "field V144._length (fldOffset=0x8)" P-INDEP
-; V620 tmp576 [V620,T87] ( 17, 8.50) byref -> r10 "field V147._reference (fldOffset=0x0)" P-INDEP
-; V621 tmp577 [V621,T189] ( 4, 1.93) int -> rax "field V147._length (fldOffset=0x8)" P-INDEP
-;* V622 tmp578 [V622 ] ( 0, 0 ) byref -> zero-ref single-def "field V149._reference (fldOffset=0x0)" P-INDEP
-;* V623 tmp579 [V623 ] ( 0, 0 ) int -> zero-ref "field V149._length (fldOffset=0x8)" P-INDEP
-;* V624 tmp580 [V624 ] ( 0, 0 ) byref -> zero-ref single-def "field V150._reference (fldOffset=0x0)" P-INDEP
-;* V625 tmp581 [V625 ] ( 0, 0 ) int -> zero-ref "field V150._length (fldOffset=0x8)" P-INDEP
-;* V626 tmp582 [V626 ] ( 0, 0 ) byref -> zero-ref single-def "field V156._reference (fldOffset=0x0)" P-INDEP
-;* V627 tmp583 [V627 ] ( 0, 0 ) int -> zero-ref "field V156._length (fldOffset=0x8)" P-INDEP
-;* V628 tmp584 [V628 ] ( 0, 0 ) byref -> zero-ref single-def "field V157._reference (fldOffset=0x0)" P-INDEP
-;* V629 tmp585 [V629 ] ( 0, 0 ) int -> zero-ref "field V157._length (fldOffset=0x8)" P-INDEP
-;* V630 tmp586 [V630 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP
-;* V631 tmp587 [V631 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP
-;* V632 tmp588 [V632 ] ( 0, 0 ) byref -> zero-ref "field V204._reference (fldOffset=0x0)" P-INDEP
-;* V633 tmp589 [V633 ] ( 0, 0 ) int -> zero-ref "field V204._length (fldOffset=0x8)" P-INDEP
-; V634 tmp590 [V634,T214] ( 2, 1 ) byref -> rdx "field V205._reference (fldOffset=0x0)" P-INDEP
-; V635 tmp591 [V635,T230] ( 2, 1 ) int -> rcx "field V205._length (fldOffset=0x8)" P-INDEP
-;* V636 tmp592 [V636 ] ( 0, 0 ) byref -> zero-ref single-def "field V214._reference (fldOffset=0x0)" P-INDEP
-;* V637 tmp593 [V637 ] ( 0, 0 ) int -> zero-ref "field V214._length (fldOffset=0x8)" P-INDEP
-;* V638 tmp594 [V638 ] ( 0, 0 ) byref -> zero-ref "field V220._reference (fldOffset=0x0)" P-INDEP
-;* V639 tmp595 [V639 ] ( 0, 0 ) int -> zero-ref "field V220._length (fldOffset=0x8)" P-INDEP
-;* V640 tmp596 [V640 ] ( 0, 0 ) byref -> zero-ref single-def "field V228._reference (fldOffset=0x0)" P-INDEP
-;* V641 tmp597 [V641 ] ( 0, 0 ) int -> zero-ref "field V228._length (fldOffset=0x8)" P-INDEP
-;* V642 tmp598 [V642 ] ( 0, 0 ) byref -> zero-ref "field V243._reference (fldOffset=0x0)" P-INDEP
-;* V643 tmp599 [V643 ] ( 0, 0 ) int -> zero-ref "field V243._length (fldOffset=0x8)" P-INDEP
-;* V644 tmp600 [V644 ] ( 0, 0 ) byref -> zero-ref "field V251._reference (fldOffset=0x0)" P-INDEP
-;* V645 tmp601 [V645 ] ( 0, 0 ) int -> zero-ref "field V251._length (fldOffset=0x8)" P-INDEP
-;* V646 tmp602 [V646 ] ( 0, 0 ) byref -> zero-ref "field V259._reference (fldOffset=0x0)" P-INDEP
-;* V647 tmp603 [V647 ] ( 0, 0 ) int -> zero-ref "field V259._length (fldOffset=0x8)" P-INDEP
-;* V648 tmp604 [V648 ] ( 0, 0 ) byref -> zero-ref single-def "field V268._reference (fldOffset=0x0)" P-INDEP
-;* V649 tmp605 [V649 ] ( 0, 0 ) int -> zero-ref "field V268._length (fldOffset=0x8)" P-INDEP
-;* V650 tmp606 [V650 ] ( 0, 0 ) byref -> zero-ref "field V274._reference (fldOffset=0x0)" P-INDEP
-;* V651 tmp607 [V651 ] ( 0, 0 ) int -> zero-ref "field V274._length (fldOffset=0x8)" P-INDEP
-;* V652 tmp608 [V652 ] ( 0, 0 ) byref -> zero-ref single-def "field V282._reference (fldOffset=0x0)" P-INDEP
-;* V653 tmp609 [V653 ] ( 0, 0 ) int -> zero-ref "field V282._length (fldOffset=0x8)" P-INDEP
-;* V654 tmp610 [V654 ] ( 0, 0 ) byref -> zero-ref "field V297._reference (fldOffset=0x0)" P-INDEP
-;* V655 tmp611 [V655 ] ( 0, 0 ) int -> zero-ref "field V297._length (fldOffset=0x8)" P-INDEP
-;* V656 tmp612 [V656 ] ( 0, 0 ) byref -> zero-ref "field V305._reference (fldOffset=0x0)" P-INDEP
-;* V657 tmp613 [V657 ] ( 0, 0 ) int -> zero-ref "field V305._length (fldOffset=0x8)" P-INDEP
-;* V658 tmp614 [V658 ] ( 0, 0 ) byref -> zero-ref "field V313._reference (fldOffset=0x0)" P-INDEP
-;* V659 tmp615 [V659 ] ( 0, 0 ) int -> zero-ref "field V313._length (fldOffset=0x8)" P-INDEP
-;* V660 tmp616 [V660 ] ( 0, 0 ) byref -> zero-ref single-def "field V326._reference (fldOffset=0x0)" P-INDEP
-;* V661 tmp617 [V661 ] ( 0, 0 ) int -> zero-ref "field V326._length (fldOffset=0x8)" P-INDEP
-;* V662 tmp618 [V662 ] ( 0, 0 ) byref -> zero-ref single-def "field V330._reference (fldOffset=0x0)" P-INDEP
-;* V663 tmp619 [V663 ] ( 0, 0 ) int -> zero-ref "field V330._length (fldOffset=0x8)" P-INDEP
-;* V664 tmp620 [V664 ] ( 0, 0 ) byref -> zero-ref single-def "field V332._reference (fldOffset=0x0)" P-INDEP
-;* V665 tmp621 [V665 ] ( 0, 0 ) int -> zero-ref "field V332._length (fldOffset=0x8)" P-INDEP
-;* V666 tmp622 [V666 ] ( 0, 0 ) byref -> zero-ref "field V340._reference (fldOffset=0x0)" P-INDEP
-;* V667 tmp623 [V667 ] ( 0, 0 ) int -> zero-ref "field V340._length (fldOffset=0x8)" P-INDEP
-;* V668 tmp624 [V668 ] ( 0, 0 ) byref -> zero-ref single-def "field V342._reference (fldOffset=0x0)" P-INDEP
-;* V669 tmp625 [V669 ] ( 0, 0 ) int -> zero-ref "field V342._length (fldOffset=0x8)" P-INDEP
-; V670 tmp626 [V670,T192] ( 3, 1.50) byref -> rcx "field V345._reference (fldOffset=0x0)" P-INDEP
-; V671 tmp627 [V671,T205] ( 3, 1.50) int -> rax "field V345._length (fldOffset=0x8)" P-INDEP
-; V672 tmp628 [V672,T215] ( 2, 1 ) byref -> rcx single-def "field V347._reference (fldOffset=0x0)" P-INDEP
-; V673 tmp629 [V673,T231] ( 2, 1 ) int -> rax "field V347._length (fldOffset=0x8)" P-INDEP
-;* V674 tmp630 [V674 ] ( 0, 0 ) byref -> zero-ref single-def "field V348._reference (fldOffset=0x0)" P-INDEP
-;* V675 tmp631 [V675 ] ( 0, 0 ) int -> zero-ref "field V348._length (fldOffset=0x8)" P-INDEP
-;* V676 tmp632 [V676 ] ( 0, 0 ) byref -> zero-ref single-def "field V352._reference (fldOffset=0x0)" P-INDEP
-;* V677 tmp633 [V677 ] ( 0, 0 ) int -> zero-ref "field V352._length (fldOffset=0x8)" P-INDEP
-;* V678 tmp634 [V678 ] ( 0, 0 ) byref -> zero-ref single-def "field V353._reference (fldOffset=0x0)" P-INDEP
-;* V679 tmp635 [V679 ] ( 0, 0 ) int -> zero-ref "field V353._length (fldOffset=0x8)" P-INDEP
-;* V680 tmp636 [V680 ] ( 0, 0 ) byref -> zero-ref single-def "field V358._reference (fldOffset=0x0)" P-INDEP
-;* V681 tmp637 [V681 ] ( 0, 0 ) int -> zero-ref "field V358._length (fldOffset=0x8)" P-INDEP
-;* V682 tmp638 [V682 ] ( 0, 0 ) byref -> zero-ref single-def "field V359._reference (fldOffset=0x0)" P-INDEP
-;* V683 tmp639 [V683 ] ( 0, 0 ) int -> zero-ref "field V359._length (fldOffset=0x8)" P-INDEP
-;* V684 tmp640 [V684 ] ( 0, 0 ) byref -> zero-ref "field V360._reference (fldOffset=0x0)" P-INDEP
-;* V685 tmp641 [V685 ] ( 0, 0 ) int -> zero-ref "field V360._length (fldOffset=0x8)" P-INDEP
-;* V686 tmp642 [V686 ] ( 0, 0 ) byref -> zero-ref "field V361._reference (fldOffset=0x0)" P-INDEP
-;* V687 tmp643 [V687 ] ( 0, 0 ) int -> zero-ref "field V361._length (fldOffset=0x8)" P-INDEP
-; V688 tmp644 [V688,T124] ( 2, 6 ) byref -> rdx "field V364._reference (fldOffset=0x0)" P-INDEP
-; V689 tmp645 [V689,T125] ( 2, 6 ) int -> rsi "field V364._length (fldOffset=0x8)" P-INDEP
-; V690 tmp646 [V690,T31] ( 17, 34 ) byref -> [rbp-0x118] spill-single-def "field V368._reference (fldOffset=0x0)" P-INDEP
-; V691 tmp647 [V691,T93] ( 4, 7.71) int -> [rbp-0xA0] spill-single-def "field V368._length (fldOffset=0x8)" P-INDEP
-;* V692 tmp648 [V692 ] ( 0, 0 ) byref -> zero-ref "field V371._reference (fldOffset=0x0)" P-INDEP
-;* V693 tmp649 [V693 ] ( 0, 0 ) int -> zero-ref "field V371._length (fldOffset=0x8)" P-INDEP
-;* V694 tmp650 [V694 ] ( 0, 0 ) byref -> zero-ref "field V372._reference (fldOffset=0x0)" P-INDEP
-;* V695 tmp651 [V695 ] ( 0, 0 ) int -> zero-ref "field V372._length (fldOffset=0x8)" P-INDEP
-;* V696 tmp652 [V696 ] ( 0, 0 ) byref -> zero-ref "field V378._reference (fldOffset=0x0)" P-INDEP
-;* V697 tmp653 [V697 ] ( 0, 0 ) int -> zero-ref "field V378._length (fldOffset=0x8)" P-INDEP
-;* V698 tmp654 [V698 ] ( 0, 0 ) byref -> zero-ref "field V379._reference (fldOffset=0x0)" P-INDEP
-;* V699 tmp655 [V699 ] ( 0, 0 ) int -> zero-ref "field V379._length (fldOffset=0x8)" P-INDEP
-;* V700 tmp656 [V700 ] ( 0, 0 ) byref -> zero-ref "field V425._reference (fldOffset=0x0)" P-INDEP
-;* V701 tmp657 [V701 ] ( 0, 0 ) int -> zero-ref "field V425._length (fldOffset=0x8)" P-INDEP
-;* V702 tmp658 [V702 ] ( 0, 0 ) byref -> zero-ref "field V426._reference (fldOffset=0x0)" P-INDEP
-;* V703 tmp659 [V703 ] ( 0, 0 ) int -> zero-ref "field V426._length (fldOffset=0x8)" P-INDEP
-; V704 tmp660 [V704,T147] ( 2, 4 ) byref -> rcx "field V428._reference (fldOffset=0x0)" P-INDEP
-; V705 tmp661 [V705,T149] ( 2, 4 ) int -> [rbp-0xA4] spill-single-def "field V428._length (fldOffset=0x8)" P-INDEP
-;* V706 tmp662 [V706,T150] ( 0, 0 ) byref -> zero-ref "field V458._reference (fldOffset=0x0)" P-INDEP
-;* V707 tmp663 [V707,T152] ( 0, 0 ) int -> zero-ref "field V458._length (fldOffset=0x8)" P-INDEP
-;* V708 tmp664 [V708 ] ( 0, 0 ) byref -> zero-ref "field V462._reference (fldOffset=0x0)" P-INDEP
-;* V709 tmp665 [V709 ] ( 0, 0 ) int -> zero-ref "field V462._length (fldOffset=0x8)" P-INDEP
-;* V710 tmp666 [V710 ] ( 0, 0 ) byref -> zero-ref "field V464._reference (fldOffset=0x0)" P-INDEP
-;* V711 tmp667 [V711 ] ( 0, 0 ) int -> zero-ref "field V464._length (fldOffset=0x8)" P-INDEP
-;* V712 tmp668 [V712 ] ( 0, 0 ) byref -> zero-ref "field V472._reference (fldOffset=0x0)" P-INDEP
-;* V713 tmp669 [V713 ] ( 0, 0 ) int -> zero-ref "field V472._length (fldOffset=0x8)" P-INDEP
-; V714 tmp670 [V714,T32] ( 17, 34 ) byref -> [rbp-0x120] spill-single-def "field V474._reference (fldOffset=0x0)" P-INDEP
-; V715 tmp671 [V715,T94] ( 4, 7.71) int -> [rbp-0xA8] spill-single-def "field V474._length (fldOffset=0x8)" P-INDEP
-;* V716 tmp672 [V716 ] ( 0, 0 ) byref -> zero-ref "field V476._reference (fldOffset=0x0)" P-INDEP
-;* V717 tmp673 [V717 ] ( 0, 0 ) int -> zero-ref "field V476._length (fldOffset=0x8)" P-INDEP
-;* V718 tmp674 [V718 ] ( 0, 0 ) byref -> zero-ref "field V477._reference (fldOffset=0x0)" P-INDEP
-;* V719 tmp675 [V719 ] ( 0, 0 ) int -> zero-ref "field V477._length (fldOffset=0x8)" P-INDEP
-;* V720 tmp676 [V720 ] ( 0, 0 ) byref -> zero-ref "field V481._reference (fldOffset=0x0)" P-INDEP
-;* V721 tmp677 [V721 ] ( 0, 0 ) int -> zero-ref "field V481._length (fldOffset=0x8)" P-INDEP
-;* V722 tmp678 [V722 ] ( 0, 0 ) byref -> zero-ref "field V482._reference (fldOffset=0x0)" P-INDEP
-;* V723 tmp679 [V723 ] ( 0, 0 ) int -> zero-ref "field V482._length (fldOffset=0x8)" P-INDEP
-;* V724 tmp680 [V724 ] ( 0, 0 ) byref -> zero-ref "field V488._reference (fldOffset=0x0)" P-INDEP
-;* V725 tmp681 [V725 ] ( 0, 0 ) int -> zero-ref "field V488._length (fldOffset=0x8)" P-INDEP
-;* V726 tmp682 [V726 ] ( 0, 0 ) byref -> zero-ref "field V489._reference (fldOffset=0x0)" P-INDEP
-;* V727 tmp683 [V727 ] ( 0, 0 ) int -> zero-ref "field V489._length (fldOffset=0x8)" P-INDEP
-; V728 tmp684 [V728,T62] ( 10, 18.50) ref -> r12 single-def "V09.[000..008)"
-; V729 tmp685 [V729,T153] ( 7, 3.50) ref -> rax single-def "V09.[008..016)"
-; V730 tmp686 [V730,T206] ( 3, 1.50) ubyte -> r8 "V09.[020..021)"
-; V731 tmp687 [V731,T232] ( 2, 1 ) ubyte -> [rbp-0xAC] spill-single-def "V09.[024..025)"
-; V732 tmp688 [V732,T207] ( 3, 1.50) ushort -> r10 "V09.[028..030)"
-; V733 tmp689 [V733,T208] ( 3, 1.50) ushort -> r11 "V09.[030..032)"
-;* V734 tmp690 [V734 ] ( 0, 0 ) ubyte -> zero-ref "V13.[000..001)"
-;* V735 tmp691 [V735 ] ( 0, 0 ) ushort -> zero-ref "V13.[004..006)"
-;* V736 tmp692 [V736 ] ( 0, 0 ) ushort -> zero-ref "V13.[006..008)"
-; V737 tmp693 [V737,T58] ( 11, 20.50) ref -> [rbp-0x128] spill-single-def "V22.[000..008)"
-; V738 tmp694 [V738,T85] ( 7, 9.50) ref -> [rbp-0x130] single-def "V22.[008..016)"
-; V739 tmp695 [V739,T77] ( 4, 12.50) int -> [rbp-0xB0] "V22.[016..020)"
-; V740 tmp696 [V740,T131] ( 2, 4.50) ubyte -> [rbp-0xB4] "V22.[020..021)"
-; V741 tmp697 [V741,T09] ( 11,112 ) ref -> [rbp-0x138] spill-single-def "V30.[000..008)"
-; V742 tmp698 [V742,T23] ( 2, 64 ) int -> rdi "V30.[016..020)"
-; V743 tmp699 [V743,T37] ( 3, 32 ) ref -> [rbp-0x140] spill-single-def "V36.[000..008)"
-; V744 tmp700 [V744,T38] ( 2, 32 ) int -> rdi "V36.[016..020)"
-;* V745 tmp701 [V745 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[000..008)"
-;* V746 tmp702 [V746 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[008..016)"
-;* V747 tmp703 [V747 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[016..024)"
-;* V748 tmp704 [V748 ] ( 0, 0 ) int -> zero-ref "V47.[024..028)"
-;* V749 tmp705 [V749 ] ( 0, 0 ) ushort -> zero-ref "V47.[028..030)"
-; V750 tmp706 [V750,T216] ( 2, 1 ) ref -> r12 single-def "V40.[008..016)"
-; V751 tmp707 [V751,T217] ( 2, 1 ) ref -> rcx single-def "V40.[016..024)"
-; V752 tmp708 [V752,T218] ( 2, 1 ) ref -> r8 single-def "V40.[024..032)"
-; V753 tmp709 [V753,T233] ( 2, 1 ) int -> r9 "V40.[032..036)"
-; V754 tmp710 [V754,T234] ( 2, 1 ) ushort -> r10 "V40.[036..038)"
-; V755 tmp711 [V755,T95] ( 7, 7 ) byref -> rdi single-def "Spilling address for field-by-field copy"
-; V756 tmp712 [V756,T126] ( 5, 5 ) byref -> rdi single-def "Spilling address for field-by-field copy"
-; V757 tmp713 [V757,T00] ( 3,192 ) byref -> rdi "Spilling address for field-by-field copy"
-; V758 tmp714 [V758,T10] ( 3, 96 ) byref -> rdi "Spilling address for field-by-field copy"
-; V759 tmp715 [V759,T100] ( 6, 6 ) byref -> rsi single-def "Spilling address for field-by-field copy"
-; V760 tmp716 [V760,T156] ( 3, 3 ) ref -> rdi single-def "arr expr"
-; V761 tmp717 [V761,T01] ( 3,192 ) ref -> rdi "arr expr"
-; V762 tmp718 [V762,T157] ( 3, 3 ) ref -> rdi single-def "arr expr"
-; V763 tmp719 [V763,T11] ( 3, 96 ) ref -> rdi "arr expr"
-; V764 tmp720 [V764,T21] ( 2, 64 ) ref -> [rbp-0x148] spill-single-def "argument with side effect"
-; V765 tmp721 [V765,T22] ( 2, 64 ) byref -> rdx "argument with side effect"
-; V766 tmp722 [V766,T24] ( 2, 64 ) int -> [rbp-0xB8] spill-single-def "argument with side effect"
-; V767 cse0 [V767,T209] ( 3, 1.50) int -> rsi "CSE #07: conservative"
-; V768 cse1 [V768,T163] ( 5, 2.50) int -> rsi multi-def "CSE #06: conservative"
-; V769 rat0 [V769,T07] ( 6,132 ) long -> [rbp-0xC0] "Widened IV V43"
-; V770 rat1 [V770,T08] ( 8,114 ) long -> [rbp-0xC8] "Widened IV V35"
-; V771 rat2 [V771,T03] ( 8,180 ) long -> [rbp-0xD0] "Widened IV V29"
-; V772 rat3 [V772,T57] ( 7, 21 ) long -> [rbp-0xD8] "Widened IV V18"
-; V773 rat4 [V773,T162] ( 3, 2.96) int -> rdi "ReplaceWithLclVar is creating a new local variable"
+;* V468 tmp424 [V468 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V469 tmp425 [V469 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V470 tmp426 [V470 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V471 tmp427 [V471 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V472 tmp428 [V472 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V473 tmp429 [V473 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V474 tmp430 [V474 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V475 tmp431 [V475 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V476 tmp432 [V476 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V477 tmp433 [V477 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
+;* V478 tmp434 [V478 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V479 tmp435 [V479 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V480 tmp436 [V480,T98] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V481 tmp437 [V481,T102] ( 2, 8 ) int -> rsi "Inlining Arg"
+; V482 tmp438 [V482,T43] ( 3, 32 ) ubyte -> rax "Inline return value spill temp"
+; V483 tmp439 [V483,T21] ( 3, 80 ) byref -> rax "Inlining Arg"
+; V484 tmp440 [V484,T19] ( 5, 80 ) ref -> rdi class-hnd "Inline stloc first use temp" <uint[]>
+; V485 tmp441 [V485,T04] ( 6,160 ) ushort -> [rbp-0x84] spill-single-def "Inlining Arg"
+; V486 tmp442 [V486,T26] ( 3, 64 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V487 tmp443 [V487,T25] ( 4, 64 ) int -> rsi "Inline stloc first use temp"
+; V488 tmp444 [V488,T34] ( 3, 48 ) int -> rdi "Inline stloc first use temp"
+; V489 tmp445 [V489,T35] ( 3, 48 ) int -> rsi "Inline stloc first use temp"
+; V490 tmp446 [V490,T24] ( 13, 64.50) byref -> [rbp-0xF8] single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+; V491 tmp447 [V491,T16] ( 32, 81.50) int -> [rbp-0x88] single-def "field V01._length (fldOffset=0x8)" P-INDEP
+; V492 tmp448 [V492,T136] ( 2, 4.50) byref -> r14 single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+; V493 tmp449 [V493,T94] ( 4, 9 ) int -> [rbp-0x8C] spill-single-def "field V10._length (fldOffset=0x8)" P-INDEP
+;* V494 tmp450 [V494 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V495 tmp451 [V495 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
+; V496 tmp452 [V496,T96] ( 4, 8.50) ref -> [rbp-0x100] single-def "field V38.Item2 (fldOffset=0x0)" P-INDEP
+; V497 tmp453 [V497,T106] ( 4, 6.50) ref -> [rbp-0x108] single-def "field V38.Item4 (fldOffset=0x8)" P-INDEP
+; V498 tmp454 [V498,T178] ( 2, 2.50) int -> [rbp-0x90] "field V38.Item3 (fldOffset=0x10)" P-INDEP
+; V499 tmp455 [V499,T179] ( 2, 2.50) ushort -> [rbp-0x94] "field V38.Item1 (fldOffset=0x14)" P-INDEP
+; V500 tmp456 [V500,T36] ( 14, 44 ) byref -> [rbp-0x110] "field V41._reference (fldOffset=0x0)" P-INDEP
+; V501 tmp457 [V501,T22] ( 15, 76 ) int -> [rbp-0x98] "field V41._length (fldOffset=0x8)" P-INDEP
+;* V502 tmp458 [V502 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V503 tmp459 [V503 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V504 tmp460 [V504 ] ( 0, 0 ) byref -> zero-ref "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V505 tmp461 [V505 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP
+;* V506 tmp462 [V506 ] ( 0, 0 ) byref -> zero-ref "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V507 tmp463 [V507 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
+;* V508 tmp464 [V508 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V509 tmp465 [V509 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+;* V510 tmp466 [V510 ] ( 0, 0 ) byref -> zero-ref "field V55._reference (fldOffset=0x0)" P-INDEP
+;* V511 tmp467 [V511 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
+;* V512 tmp468 [V512 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V513 tmp469 [V513 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+;* V514 tmp470 [V514 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V515 tmp471 [V515 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
+;* V516 tmp472 [V516 ] ( 0, 0 ) ref -> zero-ref "field V64.Item2 (fldOffset=0x0)" P-INDEP
+; V517 tmp473 [V517,T239] ( 2, 1 ) int -> rsi "field V64.Item3 (fldOffset=0x8)" P-INDEP
+;* V518 tmp474 [V518 ] ( 0, 0 ) ushort -> zero-ref "field V64.Item1 (fldOffset=0xc)" P-INDEP
+;* V519 tmp475 [V519 ] ( 0, 0 ) byref -> zero-ref single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+;* V520 tmp476 [V520 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
+; V521 tmp477 [V521,T180] ( 4, 2 ) ref -> rdi single-def "field V66.Item2 (fldOffset=0x0)" P-INDEP
+;* V522 tmp478 [V522 ] ( 0, 0 ) int -> zero-ref "field V66.Item3 (fldOffset=0x8)" P-INDEP
+;* V523 tmp479 [V523 ] ( 0, 0 ) ushort -> zero-ref "field V66.Item1 (fldOffset=0xc)" P-INDEP
+;* V524 tmp480 [V524 ] ( 0, 0 ) byref -> zero-ref single-def "field V67._reference (fldOffset=0x0)" P-INDEP
+;* V525 tmp481 [V525 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0x8)" P-INDEP
+;* V526 tmp482 [V526 ] ( 0, 0 ) ref -> zero-ref "field V69.Item2 (fldOffset=0x0)" P-INDEP
+; V527 tmp483 [V527,T240] ( 2, 1 ) int -> rdi "field V69.Item3 (fldOffset=0x8)" P-INDEP
+;* V528 tmp484 [V528 ] ( 0, 0 ) ushort -> zero-ref "field V69.Item1 (fldOffset=0xc)" P-INDEP
+;* V529 tmp485 [V529 ] ( 0, 0 ) byref -> zero-ref single-def "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V530 tmp486 [V530 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP
+;* V531 tmp487 [V531 ] ( 0, 0 ) ref -> zero-ref "field V71.Item2 (fldOffset=0x0)" P-INDEP
+;* V532 tmp488 [V532 ] ( 0, 0 ) int -> zero-ref "field V71.Item3 (fldOffset=0x8)" P-INDEP
+; V533 tmp489 [V533,T241] ( 2, 1 ) ushort -> rsi "field V71.Item1 (fldOffset=0xc)" P-INDEP
+;* V534 tmp490 [V534 ] ( 0, 0 ) ushort -> zero-ref "field V72.Item1 (fldOffset=0x0)" P-INDEP
+;* V535 tmp491 [V535 ] ( 0, 0 ) ushort -> zero-ref "field V72.Item2 (fldOffset=0x2)" P-INDEP
+;* V536 tmp492 [V536 ] ( 0, 0 ) byref -> zero-ref single-def "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V537 tmp493 [V537 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
+;* V538 tmp494 [V538 ] ( 0, 0 ) byref -> zero-ref "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V539 tmp495 [V539 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
+;* V540 tmp496 [V540 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V541 tmp497 [V541 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
+;* V542 tmp498 [V542 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V543 tmp499 [V543 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+;* V544 tmp500 [V544 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
+;* V545 tmp501 [V545 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
+;* V546 tmp502 [V546 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V547 tmp503 [V547 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V548 tmp504 [V548 ] ( 0, 0 ) byref -> zero-ref single-def "field V81._reference (fldOffset=0x0)" P-INDEP
+;* V549 tmp505 [V549 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
+;* V550 tmp506 [V550 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V551 tmp507 [V551 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V552 tmp508 [V552 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V553 tmp509 [V553 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+;* V554 tmp510 [V554 ] ( 0, 0 ) byref -> zero-ref single-def "field V93._reference (fldOffset=0x0)" P-INDEP
+;* V555 tmp511 [V555 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
+;* V556 tmp512 [V556 ] ( 0, 0 ) byref -> zero-ref single-def "field V97._reference (fldOffset=0x0)" P-INDEP
+;* V557 tmp513 [V557 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
+;* V558 tmp514 [V558 ] ( 0, 0 ) byref -> zero-ref single-def "field V98._reference (fldOffset=0x0)" P-INDEP
+;* V559 tmp515 [V559 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP
+;* V560 tmp516 [V560 ] ( 0, 0 ) byref -> zero-ref "field V102._reference (fldOffset=0x0)" P-INDEP
+;* V561 tmp517 [V561 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
+;* V562 tmp518 [V562 ] ( 0, 0 ) byref -> zero-ref single-def "field V104._reference (fldOffset=0x0)" P-INDEP
+;* V563 tmp519 [V563 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
+; V564 tmp520 [V564,T205] ( 3, 1.50) byref -> rcx "field V107._reference (fldOffset=0x0)" P-INDEP
+; V565 tmp521 [V565,T219] ( 3, 1.50) int -> rax "field V107._length (fldOffset=0x8)" P-INDEP
+; V566 tmp522 [V566,T225] ( 2, 1 ) byref -> rcx single-def "field V109._reference (fldOffset=0x0)" P-INDEP
+; V567 tmp523 [V567,T242] ( 2, 1 ) int -> rax "field V109._length (fldOffset=0x8)" P-INDEP
+;* V568 tmp524 [V568 ] ( 0, 0 ) byref -> zero-ref single-def "field V110._reference (fldOffset=0x0)" P-INDEP
+;* V569 tmp525 [V569 ] ( 0, 0 ) int -> zero-ref "field V110._length (fldOffset=0x8)" P-INDEP
+;* V570 tmp526 [V570 ] ( 0, 0 ) byref -> zero-ref single-def "field V114._reference (fldOffset=0x0)" P-INDEP
+;* V571 tmp527 [V571 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP
+;* V572 tmp528 [V572 ] ( 0, 0 ) byref -> zero-ref single-def "field V115._reference (fldOffset=0x0)" P-INDEP
+;* V573 tmp529 [V573 ] ( 0, 0 ) int -> zero-ref "field V115._length (fldOffset=0x8)" P-INDEP
+;* V574 tmp530 [V574 ] ( 0, 0 ) byref -> zero-ref single-def "field V120._reference (fldOffset=0x0)" P-INDEP
+;* V575 tmp531 [V575 ] ( 0, 0 ) int -> zero-ref "field V120._length (fldOffset=0x8)" P-INDEP
+;* V576 tmp532 [V576 ] ( 0, 0 ) byref -> zero-ref single-def "field V121._reference (fldOffset=0x0)" P-INDEP
+;* V577 tmp533 [V577 ] ( 0, 0 ) int -> zero-ref "field V121._length (fldOffset=0x8)" P-INDEP
+;* V578 tmp534 [V578 ] ( 0, 0 ) byref -> zero-ref "field V122._reference (fldOffset=0x0)" P-INDEP
+;* V579 tmp535 [V579 ] ( 0, 0 ) int -> zero-ref "field V122._length (fldOffset=0x8)" P-INDEP
+;* V580 tmp536 [V580 ] ( 0, 0 ) byref -> zero-ref "field V123._reference (fldOffset=0x0)" P-INDEP
+;* V581 tmp537 [V581 ] ( 0, 0 ) int -> zero-ref "field V123._length (fldOffset=0x8)" P-INDEP
+; V582 tmp538 [V582,T226] ( 2, 1 ) byref -> rdi single-def "field V125._reference (fldOffset=0x0)" P-INDEP
+; V583 tmp539 [V583,T243] ( 2, 1 ) int -> rsi "field V125._length (fldOffset=0x8)" P-INDEP
+; V584 tmp540 [V584,T206] ( 3, 1.50) byref -> registers "field V128._reference (fldOffset=0x0)" P-INDEP
+; V585 tmp541 [V585,T220] ( 3, 1.50) int -> registers "field V128._length (fldOffset=0x8)" P-INDEP
+; V586 tmp542 [V586,T227] ( 2, 1 ) byref -> rcx single-def "field V130._reference (fldOffset=0x0)" P-INDEP
+; V587 tmp543 [V587,T244] ( 2, 1 ) int -> rdx "field V130._length (fldOffset=0x8)" P-INDEP
+;* V588 tmp544 [V588 ] ( 0, 0 ) byref -> zero-ref single-def "field V131._reference (fldOffset=0x0)" P-INDEP
+;* V589 tmp545 [V589 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP
+;* V590 tmp546 [V590 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V591 tmp547 [V591 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP
+;* V592 tmp548 [V592 ] ( 0, 0 ) byref -> zero-ref "field V136._reference (fldOffset=0x0)" P-INDEP
+;* V593 tmp549 [V593 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP
+; V594 tmp550 [V594,T228] ( 2, 1 ) byref -> rdi single-def "field V139._reference (fldOffset=0x0)" P-INDEP
+; V595 tmp551 [V595,T245] ( 2, 1 ) int -> rcx "field V139._length (fldOffset=0x8)" P-INDEP
+; V596 tmp552 [V596,T95] ( 17, 8.50) byref -> r12 "field V142._reference (fldOffset=0x0)" P-INDEP
+; V597 tmp553 [V597,T204] ( 4, 1.93) int -> rcx "field V142._length (fldOffset=0x8)" P-INDEP
+;* V598 tmp554 [V598 ] ( 0, 0 ) byref -> zero-ref single-def "field V144._reference (fldOffset=0x0)" P-INDEP
+;* V599 tmp555 [V599 ] ( 0, 0 ) int -> zero-ref "field V144._length (fldOffset=0x8)" P-INDEP
+;* V600 tmp556 [V600 ] ( 0, 0 ) byref -> zero-ref single-def "field V145._reference (fldOffset=0x0)" P-INDEP
+;* V601 tmp557 [V601 ] ( 0, 0 ) int -> zero-ref "field V145._length (fldOffset=0x8)" P-INDEP
+;* V602 tmp558 [V602 ] ( 0, 0 ) byref -> zero-ref single-def "field V151._reference (fldOffset=0x0)" P-INDEP
+;* V603 tmp559 [V603 ] ( 0, 0 ) int -> zero-ref "field V151._length (fldOffset=0x8)" P-INDEP
+;* V604 tmp560 [V604 ] ( 0, 0 ) byref -> zero-ref single-def "field V152._reference (fldOffset=0x0)" P-INDEP
+;* V605 tmp561 [V605 ] ( 0, 0 ) int -> zero-ref "field V152._length (fldOffset=0x8)" P-INDEP
+;* V606 tmp562 [V606 ] ( 0, 0 ) byref -> zero-ref "field V184._reference (fldOffset=0x0)" P-INDEP
+;* V607 tmp563 [V607 ] ( 0, 0 ) int -> zero-ref "field V184._length (fldOffset=0x8)" P-INDEP
+;* V608 tmp564 [V608 ] ( 0, 0 ) byref -> zero-ref "field V185._reference (fldOffset=0x0)" P-INDEP
+;* V609 tmp565 [V609 ] ( 0, 0 ) int -> zero-ref "field V185._length (fldOffset=0x8)" P-INDEP
+; V610 tmp566 [V610,T229] ( 2, 1 ) byref -> rdx "field V186._reference (fldOffset=0x0)" P-INDEP
+; V611 tmp567 [V611,T246] ( 2, 1 ) int -> rax "field V186._length (fldOffset=0x8)" P-INDEP
+;* V612 tmp568 [V612 ] ( 0, 0 ) byref -> zero-ref single-def "field V193._reference (fldOffset=0x0)" P-INDEP
+;* V613 tmp569 [V613 ] ( 0, 0 ) int -> zero-ref "field V193._length (fldOffset=0x8)" P-INDEP
+;* V614 tmp570 [V614 ] ( 0, 0 ) byref -> zero-ref "field V205._reference (fldOffset=0x0)" P-INDEP
+;* V615 tmp571 [V615 ] ( 0, 0 ) int -> zero-ref "field V205._length (fldOffset=0x8)" P-INDEP
+;* V616 tmp572 [V616 ] ( 0, 0 ) byref -> zero-ref single-def "field V213._reference (fldOffset=0x0)" P-INDEP
+;* V617 tmp573 [V617 ] ( 0, 0 ) int -> zero-ref "field V213._length (fldOffset=0x8)" P-INDEP
+;* V618 tmp574 [V618 ] ( 0, 0 ) byref -> zero-ref "field V220._reference (fldOffset=0x0)" P-INDEP
+;* V619 tmp575 [V619 ] ( 0, 0 ) int -> zero-ref "field V220._length (fldOffset=0x8)" P-INDEP
+;* V620 tmp576 [V620 ] ( 0, 0 ) byref -> zero-ref "field V226._reference (fldOffset=0x0)" P-INDEP
+;* V621 tmp577 [V621 ] ( 0, 0 ) int -> zero-ref "field V226._length (fldOffset=0x8)" P-INDEP
+;* V622 tmp578 [V622 ] ( 0, 0 ) byref -> zero-ref "field V232._reference (fldOffset=0x0)" P-INDEP
+;* V623 tmp579 [V623 ] ( 0, 0 ) int -> zero-ref "field V232._length (fldOffset=0x8)" P-INDEP
+;* V624 tmp580 [V624 ] ( 0, 0 ) byref -> zero-ref single-def "field V239._reference (fldOffset=0x0)" P-INDEP
+;* V625 tmp581 [V625 ] ( 0, 0 ) int -> zero-ref "field V239._length (fldOffset=0x8)" P-INDEP
+;* V626 tmp582 [V626 ] ( 0, 0 ) byref -> zero-ref "field V251._reference (fldOffset=0x0)" P-INDEP
+;* V627 tmp583 [V627 ] ( 0, 0 ) int -> zero-ref "field V251._length (fldOffset=0x8)" P-INDEP
+;* V628 tmp584 [V628 ] ( 0, 0 ) byref -> zero-ref single-def "field V259._reference (fldOffset=0x0)" P-INDEP
+;* V629 tmp585 [V629 ] ( 0, 0 ) int -> zero-ref "field V259._length (fldOffset=0x8)" P-INDEP
+;* V630 tmp586 [V630 ] ( 0, 0 ) byref -> zero-ref "field V266._reference (fldOffset=0x0)" P-INDEP
+;* V631 tmp587 [V631 ] ( 0, 0 ) int -> zero-ref "field V266._length (fldOffset=0x8)" P-INDEP
+;* V632 tmp588 [V632 ] ( 0, 0 ) byref -> zero-ref "field V272._reference (fldOffset=0x0)" P-INDEP
+;* V633 tmp589 [V633 ] ( 0, 0 ) int -> zero-ref "field V272._length (fldOffset=0x8)" P-INDEP
+;* V634 tmp590 [V634 ] ( 0, 0 ) byref -> zero-ref "field V278._reference (fldOffset=0x0)" P-INDEP
+;* V635 tmp591 [V635 ] ( 0, 0 ) int -> zero-ref "field V278._length (fldOffset=0x8)" P-INDEP
+;* V636 tmp592 [V636 ] ( 0, 0 ) byref -> zero-ref single-def "field V291._reference (fldOffset=0x0)" P-INDEP
+;* V637 tmp593 [V637 ] ( 0, 0 ) int -> zero-ref "field V291._length (fldOffset=0x8)" P-INDEP
+;* V638 tmp594 [V638 ] ( 0, 0 ) byref -> zero-ref single-def "field V295._reference (fldOffset=0x0)" P-INDEP
+;* V639 tmp595 [V639 ] ( 0, 0 ) int -> zero-ref "field V295._length (fldOffset=0x8)" P-INDEP
+;* V640 tmp596 [V640 ] ( 0, 0 ) byref -> zero-ref single-def "field V297._reference (fldOffset=0x0)" P-INDEP
+;* V641 tmp597 [V641 ] ( 0, 0 ) int -> zero-ref "field V297._length (fldOffset=0x8)" P-INDEP
+;* V642 tmp598 [V642 ] ( 0, 0 ) byref -> zero-ref "field V304._reference (fldOffset=0x0)" P-INDEP
+;* V643 tmp599 [V643 ] ( 0, 0 ) int -> zero-ref "field V304._length (fldOffset=0x8)" P-INDEP
+;* V644 tmp600 [V644 ] ( 0, 0 ) byref -> zero-ref single-def "field V306._reference (fldOffset=0x0)" P-INDEP
+;* V645 tmp601 [V645 ] ( 0, 0 ) int -> zero-ref "field V306._length (fldOffset=0x8)" P-INDEP
+; V646 tmp602 [V646,T207] ( 3, 1.50) byref -> rcx "field V309._reference (fldOffset=0x0)" P-INDEP
+; V647 tmp603 [V647,T221] ( 3, 1.50) int -> rax "field V309._length (fldOffset=0x8)" P-INDEP
+; V648 tmp604 [V648,T230] ( 2, 1 ) byref -> rcx single-def "field V311._reference (fldOffset=0x0)" P-INDEP
+; V649 tmp605 [V649,T247] ( 2, 1 ) int -> rax "field V311._length (fldOffset=0x8)" P-INDEP
+;* V650 tmp606 [V650 ] ( 0, 0 ) byref -> zero-ref single-def "field V312._reference (fldOffset=0x0)" P-INDEP
+;* V651 tmp607 [V651 ] ( 0, 0 ) int -> zero-ref "field V312._length (fldOffset=0x8)" P-INDEP
+;* V652 tmp608 [V652 ] ( 0, 0 ) byref -> zero-ref single-def "field V316._reference (fldOffset=0x0)" P-INDEP
+;* V653 tmp609 [V653 ] ( 0, 0 ) int -> zero-ref "field V316._length (fldOffset=0x8)" P-INDEP
+;* V654 tmp610 [V654 ] ( 0, 0 ) byref -> zero-ref single-def "field V317._reference (fldOffset=0x0)" P-INDEP
+;* V655 tmp611 [V655 ] ( 0, 0 ) int -> zero-ref "field V317._length (fldOffset=0x8)" P-INDEP
+;* V656 tmp612 [V656 ] ( 0, 0 ) byref -> zero-ref single-def "field V322._reference (fldOffset=0x0)" P-INDEP
+;* V657 tmp613 [V657 ] ( 0, 0 ) int -> zero-ref "field V322._length (fldOffset=0x8)" P-INDEP
+;* V658 tmp614 [V658 ] ( 0, 0 ) byref -> zero-ref single-def "field V323._reference (fldOffset=0x0)" P-INDEP
+;* V659 tmp615 [V659 ] ( 0, 0 ) int -> zero-ref "field V323._length (fldOffset=0x8)" P-INDEP
+;* V660 tmp616 [V660 ] ( 0, 0 ) byref -> zero-ref "field V324._reference (fldOffset=0x0)" P-INDEP
+;* V661 tmp617 [V661 ] ( 0, 0 ) int -> zero-ref "field V324._length (fldOffset=0x8)" P-INDEP
+;* V662 tmp618 [V662 ] ( 0, 0 ) byref -> zero-ref "field V325._reference (fldOffset=0x0)" P-INDEP
+;* V663 tmp619 [V663 ] ( 0, 0 ) int -> zero-ref "field V325._length (fldOffset=0x8)" P-INDEP
+; V664 tmp620 [V664,T130] ( 2, 6 ) byref -> rdx "field V328._reference (fldOffset=0x0)" P-INDEP
+; V665 tmp621 [V665,T131] ( 2, 6 ) int -> rsi "field V328._length (fldOffset=0x8)" P-INDEP
+; V666 tmp622 [V666,T37] ( 17, 34 ) byref -> [rbp-0x118] spill-single-def "field V332._reference (fldOffset=0x0)" P-INDEP
+; V667 tmp623 [V667,T103] ( 4, 7.71) int -> [rbp-0x9C] spill-single-def "field V332._length (fldOffset=0x8)" P-INDEP
+;* V668 tmp624 [V668 ] ( 0, 0 ) byref -> zero-ref "field V335._reference (fldOffset=0x0)" P-INDEP
+;* V669 tmp625 [V669 ] ( 0, 0 ) int -> zero-ref "field V335._length (fldOffset=0x8)" P-INDEP
+;* V670 tmp626 [V670 ] ( 0, 0 ) byref -> zero-ref "field V336._reference (fldOffset=0x0)" P-INDEP
+;* V671 tmp627 [V671 ] ( 0, 0 ) int -> zero-ref "field V336._length (fldOffset=0x8)" P-INDEP
+;* V672 tmp628 [V672 ] ( 0, 0 ) byref -> zero-ref "field V342._reference (fldOffset=0x0)" P-INDEP
+;* V673 tmp629 [V673 ] ( 0, 0 ) int -> zero-ref "field V342._length (fldOffset=0x8)" P-INDEP
+;* V674 tmp630 [V674 ] ( 0, 0 ) byref -> zero-ref "field V343._reference (fldOffset=0x0)" P-INDEP
+;* V675 tmp631 [V675 ] ( 0, 0 ) int -> zero-ref "field V343._length (fldOffset=0x8)" P-INDEP
+;* V676 tmp632 [V676 ] ( 0, 0 ) byref -> zero-ref "field V375._reference (fldOffset=0x0)" P-INDEP
+;* V677 tmp633 [V677 ] ( 0, 0 ) int -> zero-ref "field V375._length (fldOffset=0x8)" P-INDEP
+;* V678 tmp634 [V678 ] ( 0, 0 ) byref -> zero-ref "field V376._reference (fldOffset=0x0)" P-INDEP
+;* V679 tmp635 [V679 ] ( 0, 0 ) int -> zero-ref "field V376._length (fldOffset=0x8)" P-INDEP
+; V680 tmp636 [V680,T155] ( 2, 4 ) byref -> rcx "field V378._reference (fldOffset=0x0)" P-INDEP
+; V681 tmp637 [V681,T162] ( 2, 4 ) int -> [rbp-0xA0] spill-single-def "field V378._length (fldOffset=0x8)" P-INDEP
+;* V682 tmp638 [V682,T165] ( 0, 0 ) byref -> zero-ref "field V412._reference (fldOffset=0x0)" P-INDEP
+;* V683 tmp639 [V683,T168] ( 0, 0 ) int -> zero-ref "field V412._length (fldOffset=0x8)" P-INDEP
+;* V684 tmp640 [V684 ] ( 0, 0 ) byref -> zero-ref "field V416._reference (fldOffset=0x0)" P-INDEP
+;* V685 tmp641 [V685 ] ( 0, 0 ) int -> zero-ref "field V416._length (fldOffset=0x8)" P-INDEP
+;* V686 tmp642 [V686 ] ( 0, 0 ) byref -> zero-ref "field V418._reference (fldOffset=0x0)" P-INDEP
+;* V687 tmp643 [V687 ] ( 0, 0 ) int -> zero-ref "field V418._length (fldOffset=0x8)" P-INDEP
+;* V688 tmp644 [V688 ] ( 0, 0 ) byref -> zero-ref "field V425._reference (fldOffset=0x0)" P-INDEP
+;* V689 tmp645 [V689 ] ( 0, 0 ) int -> zero-ref "field V425._length (fldOffset=0x8)" P-INDEP
+; V690 tmp646 [V690,T38] ( 17, 34 ) byref -> [rbp-0x120] spill-single-def "field V427._reference (fldOffset=0x0)" P-INDEP
+; V691 tmp647 [V691,T104] ( 4, 7.71) int -> [rbp-0xA4] spill-single-def "field V427._length (fldOffset=0x8)" P-INDEP
+;* V692 tmp648 [V692 ] ( 0, 0 ) byref -> zero-ref "field V429._reference (fldOffset=0x0)" P-INDEP
+;* V693 tmp649 [V693 ] ( 0, 0 ) int -> zero-ref "field V429._length (fldOffset=0x8)" P-INDEP
+;* V694 tmp650 [V694 ] ( 0, 0 ) byref -> zero-ref "field V430._reference (fldOffset=0x0)" P-INDEP
+;* V695 tmp651 [V695 ] ( 0, 0 ) int -> zero-ref "field V430._length (fldOffset=0x8)" P-INDEP
+;* V696 tmp652 [V696 ] ( 0, 0 ) byref -> zero-ref "field V434._reference (fldOffset=0x0)" P-INDEP
+;* V697 tmp653 [V697 ] ( 0, 0 ) int -> zero-ref "field V434._length (fldOffset=0x8)" P-INDEP
+;* V698 tmp654 [V698 ] ( 0, 0 ) byref -> zero-ref "field V435._reference (fldOffset=0x0)" P-INDEP
+;* V699 tmp655 [V699 ] ( 0, 0 ) int -> zero-ref "field V435._length (fldOffset=0x8)" P-INDEP
+;* V700 tmp656 [V700 ] ( 0, 0 ) byref -> zero-ref "field V441._reference (fldOffset=0x0)" P-INDEP
+;* V701 tmp657 [V701 ] ( 0, 0 ) int -> zero-ref "field V441._length (fldOffset=0x8)" P-INDEP
+;* V702 tmp658 [V702 ] ( 0, 0 ) byref -> zero-ref "field V442._reference (fldOffset=0x0)" P-INDEP
+;* V703 tmp659 [V703 ] ( 0, 0 ) int -> zero-ref "field V442._length (fldOffset=0x8)" P-INDEP
+;* V704 tmp660 [V704 ] ( 0, 0 ) byref -> zero-ref "field V474._reference (fldOffset=0x0)" P-INDEP
+;* V705 tmp661 [V705 ] ( 0, 0 ) int -> zero-ref "field V474._length (fldOffset=0x8)" P-INDEP
+;* V706 tmp662 [V706 ] ( 0, 0 ) byref -> zero-ref "field V475._reference (fldOffset=0x0)" P-INDEP
+;* V707 tmp663 [V707 ] ( 0, 0 ) int -> zero-ref "field V475._length (fldOffset=0x8)" P-INDEP
+; V708 tmp664 [V708,T156] ( 2, 4 ) byref -> [rbp-0x128] spill-single-def "field V476._reference (fldOffset=0x0)" P-INDEP
+; V709 tmp665 [V709,T163] ( 2, 4 ) int -> [rbp-0xA8] spill-single-def "field V476._length (fldOffset=0x8)" P-INDEP
+; V710 tmp666 [V710,T157] ( 2, 4 ) byref -> rdi "field V478._reference (fldOffset=0x0)" P-INDEP
+; V711 tmp667 [V711,T164] ( 2, 4 ) int -> rsi "field V478._length (fldOffset=0x8)" P-INDEP
+;* V712 tmp668 [V712 ] ( 0, 0 ) byref -> zero-ref "field V479._reference (fldOffset=0x0)" P-INDEP
+;* V713 tmp669 [V713 ] ( 0, 0 ) int -> zero-ref "field V479._length (fldOffset=0x8)" P-INDEP
+; V714 tmp670 [V714,T67] ( 10, 18.50) ref -> r12 single-def "V09.[000..008)"
+; V715 tmp671 [V715,T169] ( 7, 3.50) ref -> rax single-def "V09.[008..016)"
+; V716 tmp672 [V716,T222] ( 3, 1.50) ubyte -> r8 "V09.[020..021)"
+; V717 tmp673 [V717,T248] ( 2, 1 ) ubyte -> [rbp-0xAC] spill-single-def "V09.[024..025)"
+; V718 tmp674 [V718,T132] ( 11, 5.50) ushort -> rsi "V09.[028..030)"
+; V719 tmp675 [V719,T134] ( 9, 4.50) ushort -> rdx "V09.[030..032)"
+;* V720 tmp676 [V720 ] ( 0, 0 ) ubyte -> zero-ref "V13.[000..001)"
+;* V721 tmp677 [V721 ] ( 0, 0 ) ushort -> zero-ref "V13.[004..006)"
+;* V722 tmp678 [V722 ] ( 0, 0 ) ushort -> zero-ref "V13.[006..008)"
+; V723 tmp679 [V723,T63] ( 11, 20.50) ref -> [rbp-0x130] spill-single-def "V22.[000..008)"
+; V724 tmp680 [V724,T93] ( 7, 9.50) ref -> [rbp-0x138] single-def "V22.[008..016)"
+; V725 tmp681 [V725,T89] ( 4, 12.50) int -> [rbp-0xB0] "V22.[016..020)"
+; V726 tmp682 [V726,T137] ( 2, 4.50) ubyte -> [rbp-0xB4] "V22.[020..021)"
+; V727 tmp683 [V727,T10] ( 11,112 ) ref -> [rbp-0x140] spill-single-def "V30.[000..008)"
+; V728 tmp684 [V728,T27] ( 2, 64 ) int -> rdi "V30.[016..020)"
+; V729 tmp685 [V729,T11] ( 11, 96 ) ref -> [rbp-0x148] spill-single-def "V36.[000..008)"
+; V730 tmp686 [V730,T44] ( 2, 32 ) int -> rdi "V36.[016..020)"
+;* V731 tmp687 [V731 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[000..008)"
+;* V732 tmp688 [V732 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[008..016)"
+;* V733 tmp689 [V733 ] ( 0, 0 ) ref -> zero-ref single-def "V47.[016..024)"
+;* V734 tmp690 [V734 ] ( 0, 0 ) int -> zero-ref "V47.[024..028)"
+;* V735 tmp691 [V735 ] ( 0, 0 ) ushort -> zero-ref "V47.[028..030)"
+; V736 tmp692 [V736,T231] ( 2, 1 ) ref -> r12 single-def "V40.[008..016)"
+; V737 tmp693 [V737,T232] ( 2, 1 ) ref -> rcx single-def "V40.[016..024)"
+; V738 tmp694 [V738,T233] ( 2, 1 ) ref -> r8 single-def "V40.[024..032)"
+; V739 tmp695 [V739,T249] ( 2, 1 ) int -> r9 "V40.[032..036)"
+; V740 tmp696 [V740,T250] ( 2, 1 ) ushort -> r10 "V40.[036..038)"
+; V741 tmp697 [V741,T105] ( 7, 7 ) byref -> rdi single-def "Spilling address for field-by-field copy"
+; V742 tmp698 [V742,T133] ( 5, 5 ) byref -> rdi single-def "Spilling address for field-by-field copy"
+; V743 tmp699 [V743,T00] ( 3,192 ) byref -> rdi "Spilling address for field-by-field copy"
+; V744 tmp700 [V744,T12] ( 3, 96 ) byref -> rdi "Spilling address for field-by-field copy"
+; V745 tmp701 [V745,T109] ( 6, 6 ) byref -> rsi single-def "Spilling address for field-by-field copy"
+; V746 tmp702 [V746,T172] ( 3, 3 ) ref -> rdi single-def "arr expr"
+; V747 tmp703 [V747,T01] ( 3,192 ) ref -> rdi "arr expr"
+; V748 tmp704 [V748,T173] ( 3, 3 ) ref -> rdi single-def "arr expr"
+; V749 tmp705 [V749,T13] ( 3, 96 ) ref -> rdi "arr expr"
+; V750 cse0 [V750,T223] ( 3, 1.50) int -> rsi "CSE #07: conservative"
+; V751 cse1 [V751,T177] ( 5, 2.50) int -> rsi multi-def "CSE #06: conservative"
+; V752 rat0 [V752,T08] ( 6,132 ) long -> [rbp-0xC0] "Widened IV V43"
+; V753 rat1 [V753,T09] ( 8,114 ) long -> [rbp-0xC8] "Widened IV V35"
+; V754 rat2 [V754,T03] ( 8,180 ) long -> [rbp-0xD0] "Widened IV V29"
+; V755 rat3 [V755,T62] ( 7, 21 ) long -> [rbp-0xD8] "Widened IV V18"
+; V756 rat4 [V756,T176] ( 3, 2.96) int -> rdi "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 296
G_M53443_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 296
lea rbp, [rsp+0x150]
mov r15, rdi
mov r14, rsi
mov ebx, edx
mov r13, rcx
mov r12d, r8d
;; size=39 bbWeight=1 PerfScore 8.00
G_M53443_IG02:
- mov esi, dword ptr [r13]
- mov edi, ebx
- sub edi, dword ptr [r15+0x2C]
- cmp esi, edi
- jg G_M53443_IG127
+ mov edi, dword ptr [r13]
+ mov edx, ebx
+ sub edx, dword ptr [r15+0x2C]
+ cmp edi, edx
+ jg G_M53443_IG121
;; size=18 bbWeight=1 PerfScore 6.50
G_M53443_IG03:
cmp byte ptr [r15+0x31], 14
jne SHORT G_M53443_IG04
- mov esi, dword ptr [r13]
- dec esi
- cmp esi, ebx
+ mov edi, dword ptr [r13]
+ dec edi
+ cmp edi, ebx
jae SHORT G_M53443_IG04
- cmp word ptr [r14+2*rsi], 10
+ cmp word ptr [r14+2*rdi], 10
je SHORT G_M53443_IG04
- mov esi, dword ptr [r13]
- cmp esi, ebx
+ mov edi, dword ptr [r13]
+ cmp edi, ebx
ja G_M53443_IG165
- mov edi, esi
- lea rdi, bword ptr [r14+2*rdi]
- mov edx, ebx
- sub edx, esi
+ mov edx, edi
+ lea rdx, bword ptr [r14+2*rdx]
+ mov esi, ebx
+ sub esi, edi
+ mov rdi, rdx
+ mov edx, esi
mov esi, 10
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
lea edi, [rbx-0x01]
sub edi, dword ptr [r13]
movsxd rdi, edi
mov esi, eax
cmp rdi, rsi
- jl G_M53443_IG127
+ jl G_M53443_IG121
add eax, dword ptr [r13]
inc eax
mov dword ptr [r13], eax
mov eax, dword ptr [r13]
mov edi, ebx
sub edi, dword ptr [r15+0x2C]
cmp eax, edi
- jg G_M53443_IG127
- ;; size=113 bbWeight=0.50 PerfScore 17.75
+ jg G_M53443_IG121
+ ;; size=118 bbWeight=0.50 PerfScore 18.00
G_M53443_IG04:
mov edi, dword ptr [r15+0x28]
cmp edi, 21
ja G_M53443_IG161
;; size=13 bbWeight=0.50 PerfScore 1.62
G_M53443_IG05:
mov edi, edi
lea rsi, [reloc @RWD00]
mov esi, dword ptr [rsi+4*rdi]
lea rdx, G_M53443_IG02
add rsi, rdx
jmp rsi
;; size=24 bbWeight=0.48 PerfScore 2.87
G_M53443_IG06:
cmp dword ptr [r13], 0
- jne G_M53443_IG127
+ jne G_M53443_IG121
jmp G_M53443_IG161
;; size=16 bbWeight=0.50 PerfScore 3.00
G_M53443_IG07:
cmp dword ptr [r13], r12d
- jne G_M53443_IG127
+ jne G_M53443_IG121
jmp G_M53443_IG161
;; size=15 bbWeight=0.50 PerfScore 3.00
G_M53443_IG08:
lea edi, [rbx-0x01]
cmp dword ptr [r13], edi
jge G_M53443_IG161
dec ebx
mov dword ptr [r13], ebx
jmp G_M53443_IG161
;; size=24 bbWeight=0.50 PerfScore 3.88
G_M53443_IG09:
cmp dword ptr [r13], ebx
jge G_M53443_IG161
mov dword ptr [r13], ebx
jmp G_M53443_IG161
;; size=19 bbWeight=0.50 PerfScore 3.50
G_M53443_IG10:
mov edi, dword ptr [r13]
mov esi, ebx
sub esi, dword ptr [r15+0x2C]
dec esi
cmp edi, esi
jge G_M53443_IG161
mov dword ptr [r13], esi
jmp G_M53443_IG161
;; size=29 bbWeight=0.50 PerfScore 4.88
G_M53443_IG11:
mov edi, dword ptr [r13]
mov esi, ebx
sub esi, dword ptr [r15+0x2C]
cmp edi, esi
jge G_M53443_IG161
mov dword ptr [r13], esi
jmp G_M53443_IG161
;; size=27 bbWeight=0.50 PerfScore 4.75
G_M53443_IG12:
mov edi, dword ptr [r13]
cmp edi, ebx
ja G_M53443_IG165
mov esi, edi
lea rsi, bword ptr [r14+2*rsi]
mov edx, ebx
sub edx, edi
mov rdi, gword ptr [r15+0x10]
test rdi, rdi
jne SHORT G_M53443_IG13
xor rcx, rcx
xor eax, eax
jmp SHORT G_M53443_IG14
;; size=37 bbWeight=0.50 PerfScore 5.12
G_M53443_IG13:
lea rcx, bword ptr [rdi+0x0C]
mov eax, dword ptr [rdi+0x08]
;; size=7 bbWeight=0.50 PerfScore 1.25
G_M53443_IG14:
mov rdi, rsi
mov esi, edx
mov rdx, rcx
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOf(byref,int,byref,int):int
call [rax]System.SpanHelpers:IndexOf(byref,int,byref,int):int
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=39 bbWeight=0.50 PerfScore 5.25
G_M53443_IG15:
mov edi, dword ptr [r13]
cmp edi, ebx
ja G_M53443_IG165
mov esi, edi
lea rsi, bword ptr [r14+2*rsi]
mov edx, ebx
sub edx, edi
mov rdi, rsi
mov esi, edx
mov rdx, gword ptr [r15+0x10]
test rdx, rdx
jne SHORT G_M53443_IG16
xor rdx, rdx
xor ecx, ecx
jmp SHORT G_M53443_IG17
;; size=42 bbWeight=0.50 PerfScore 5.38
G_M53443_IG16:
lea rcx, bword ptr [rdx+0x0C]
mov edx, dword ptr [rdx+0x08]
mov eax, edx
mov rdx, rcx
mov ecx, eax
;; size=14 bbWeight=0.50 PerfScore 1.62
G_M53443_IG17:
mov rax, 0xD1FFAB1E ; code for System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
call [rax]System.Globalization.Ordinal:IndexOfOrdinalIgnoreCase(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=29 bbWeight=0.50 PerfScore 4.75
G_M53443_IG18:
mov rdi, gword ptr [r15+0x20]
cmp dword ptr [rdi+0x10], 0
je G_M53443_IG164
mov rdi, gword ptr [rdi+0x08]
cmp dword ptr [rdi+0x08], 0
jbe G_M53443_IG163
add rdi, 16
mov r12, gword ptr [rdi]
mov rax, gword ptr [rdi+0x08]
movzx r8, byte ptr [rdi+0x14]
movzx r9, byte ptr [rdi+0x18]
mov dword ptr [rbp-0xAC], r9d
- movzx r10, word ptr [rdi+0x1C]
- movzx r11, word ptr [rdi+0x1E]
+ movzx rsi, word ptr [rdi+0x1C]
+ movzx rdx, word ptr [rdi+0x1E]
mov edi, dword ptr [r13]
cmp edi, ebx
ja G_M53443_IG165
- mov esi, edi
- lea rcx, bword ptr [r14+2*rsi]
- mov bword ptr [rbp-0xF0], rcx
- mov edx, ebx
- sub edx, edi
- mov dword ptr [rbp-0x50], edx
- mov rdi, rcx
- mov esi, edx
- mov r14, rcx
- mov dword ptr [rbp-0x90], edx
+ mov ecx, edi
+ lea r10, bword ptr [r14+2*rcx]
+ mov r11d, ebx
+ sub r11d, edi
+ mov rdi, r10
+ mov ecx, r11d
+ mov r14, r10
+ mov dword ptr [rbp-0x8C], r11d
test rax, rax
- je G_M53443_IG40
+ je G_M53443_IG36
cmp dword ptr [rax+0x08], 5
- jg G_M53443_IG40
+ jg G_M53443_IG36
test r8d, r8d
- jne G_M53443_IG38
- lea r10, bword ptr [rax+0x10]
- mov eax, dword ptr [rax+0x08]
- cmp eax, 5
- ja G_M53443_IG36
- ;; size=156 bbWeight=0.50 PerfScore 21.88
+ jne G_M53443_IG34
+ lea r12, bword ptr [rax+0x10]
+ mov ecx, dword ptr [rax+0x08]
+ mov rdi, r10
+ cmp ecx, 5
+ ja G_M53443_IG32
+ ;; size=151 bbWeight=0.50 PerfScore 21.00
G_M53443_IG19:
- mov esi, eax
- lea rdi, [reloc @RWD88]
- mov edi, dword ptr [rdi+4*rsi]
+ mov esi, ecx
+ lea rdx, [reloc @RWD88]
+ mov edx, dword ptr [rdx+4*rsi]
lea rax, G_M53443_IG02
- add rdi, rax
- jmp rdi
+ add rdx, rax
+ jmp rdx
;; size=24 bbWeight=0.43 PerfScore 2.57
G_M53443_IG20:
mov eax, -1
- jmp G_M53443_IG37
+ jmp G_M53443_IG33
;; size=10 bbWeight=0.50 PerfScore 1.12
G_M53443_IG21:
- movsx rsi, word ptr [r10]
+ movsx rsi, word ptr [r12]
movzx rdi, si
dec edi
cmp edi, 254
jae SHORT G_M53443_IG22
- mov rdi, rcx
+ mov rdi, r10
+ mov edx, r11d
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
jmp SHORT G_M53443_IG23
- ;; size=34 bbWeight=0.50 PerfScore 5.62
+ ;; size=38 bbWeight=0.50 PerfScore 5.75
G_M53443_IG22:
- mov rdi, rcx
+ mov rdi, r10
+ mov edx, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
- ;; size=15 bbWeight=0.50 PerfScore 1.75
+ ;; size=18 bbWeight=0.50 PerfScore 1.88
G_M53443_IG23:
- jmp G_M53443_IG37
+ jmp G_M53443_IG33
;; size=5 bbWeight=0.50 PerfScore 1.00
G_M53443_IG24:
- movsx rsi, word ptr [r10]
- movsx rax, word ptr [r10+0x02]
- movzx rdi, si
- dec edi
- cmp edi, 254
- jae SHORT G_M53443_IG26
- movzx rdi, ax
- dec edi
- cmp edi, 254
+ movsx rsi, word ptr [r12]
+ movsx rdx, word ptr [r12+0x02]
+ mov ecx, r11d
+ movzx rax, si
+ dec eax
+ cmp eax, 254
+ jae SHORT G_M53443_IG25
+ movzx rax, dx
+ dec eax
+ cmp eax, 254
jae SHORT G_M53443_IG25
- movzx rdi, si
- movzx r8, ax
- xor edi, r8d
- cmp edi, 32
- jne SHORT G_M53443_IG27
movzx rsi, si
- movzx rdi, ax
- cmp esi, edi
- cmovl esi, edi
- movsx rsi, si
- mov rdi, rcx
- mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- jmp SHORT G_M53443_IG29
- ;; size=82 bbWeight=0.50 PerfScore 10.12
-G_M53443_IG25:
- jmp SHORT G_M53443_IG28
- ;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M53443_IG26:
- jmp SHORT G_M53443_IG28
- ;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M53443_IG27:
- movsx rdx, ax
+ movzx rdx, dx
+ movsx rdx, dx
movsx rsi, si
- mov rdi, rcx
- mov ecx, dword ptr [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
call [rax]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
- jmp SHORT G_M53443_IG29
- ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M53443_IG28:
- mov rdi, rcx
- mov edx, eax
- mov ecx, dword ptr [rbp-0x50]
+ jmp SHORT G_M53443_IG26
+ ;; size=66 bbWeight=0.50 PerfScore 9.00
+G_M53443_IG25:
+ mov rdi, r10
+ mov ecx, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
- ;; size=20 bbWeight=0.50 PerfScore 2.38
-G_M53443_IG29:
- jmp G_M53443_IG37
+ ;; size=18 bbWeight=0.50 PerfScore 1.88
+G_M53443_IG26:
+ jmp G_M53443_IG33
;; size=5 bbWeight=0.50 PerfScore 1.00
-G_M53443_IG30:
- movsx rsi, word ptr [r10]
- movsx rax, word ptr [r10+0x02]
- movsx r9, word ptr [r10+0x04]
+G_M53443_IG27:
+ movsx rsi, word ptr [r12]
+ movsx rdx, word ptr [r12+0x02]
+ movsx rcx, word ptr [r12+0x04]
movzx rdi, si
dec edi
cmp edi, 254
- jae SHORT G_M53443_IG32
- movzx rdi, ax
+ jae SHORT G_M53443_IG28
+ movzx rdi, dx
dec edi
cmp edi, 254
- jae SHORT G_M53443_IG31
- movzx rdi, r9w
+ jae SHORT G_M53443_IG28
+ movzx rdi, cx
dec edi
cmp edi, 254
- jae SHORT G_M53443_IG32
- movsx rcx, r9w
- movsx rdx, ax
- mov rdi, bword ptr [rbp-0xF0]
- mov r8d, dword ptr [rbp-0x50]
+ jae SHORT G_M53443_IG28
+ mov rdi, r10
+ mov r8d, r11d
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
call [rax]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- jmp SHORT G_M53443_IG33
- ;; size=87 bbWeight=0.50 PerfScore 12.50
-G_M53443_IG31:
- ;; size=0 bbWeight=0.25 PerfScore 0.00
-G_M53443_IG32:
- mov rdi, rcx
- mov edx, eax
- mov ecx, r9d
- mov r8d, dword ptr [rbp-0x50]
+ jmp SHORT G_M53443_IG29
+ ;; size=76 bbWeight=0.50 PerfScore 11.50
+G_M53443_IG28:
+ mov rdi, r10
+ mov r8d, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- ;; size=24 bbWeight=0.50 PerfScore 2.50
-G_M53443_IG33:
- jmp SHORT G_M53443_IG37
+ ;; size=18 bbWeight=0.50 PerfScore 1.88
+G_M53443_IG29:
+ jmp SHORT G_M53443_IG33
;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M53443_IG34:
- movsx r8, word ptr [r10+0x06]
- movsx rsi, word ptr [r10]
- movsx rdx, word ptr [r10+0x02]
- movsx rcx, word ptr [r10+0x04]
- mov rdi, bword ptr [rbp-0xF0]
- mov r9d, dword ptr [rbp-0x50]
+G_M53443_IG30:
+ movsx r8, word ptr [r12+0x06]
+ movsx rsi, word ptr [r12]
+ movsx rdx, word ptr [r12+0x02]
+ movsx rcx, word ptr [r12+0x04]
+ mov rdi, r10
+ mov r9d, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
- jmp SHORT G_M53443_IG37
- ;; size=44 bbWeight=0.50 PerfScore 11.62
-G_M53443_IG35:
- mov dword ptr [rsp], edx
- movsx r9, word ptr [r10+0x08]
- movsx rsi, word ptr [r10]
- movsx rdx, word ptr [r10+0x02]
- movsx rcx, word ptr [r10+0x04]
- movsx r8, word ptr [r10+0x06]
- mov rdi, bword ptr [rbp-0xF0]
+ jmp SHORT G_M53443_IG33
+ ;; size=43 bbWeight=0.50 PerfScore 10.88
+G_M53443_IG31:
+ mov dword ptr [rsp], r11d
+ movsx r9, word ptr [r12+0x08]
+ movsx rsi, word ptr [r12]
+ movsx rdx, word ptr [r12+0x02]
+ movsx rcx, word ptr [r12+0x04]
+ movsx r8, word ptr [r12+0x06]
+ mov rdi, r10
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
- jmp SHORT G_M53443_IG37
- ;; size=48 bbWeight=0.50 PerfScore 13.62
-G_M53443_IG36:
- mov rdi, rcx
- mov esi, edx
- mov rdx, r10
- mov ecx, eax
+ jmp SHORT G_M53443_IG33
+ ;; size=50 bbWeight=0.50 PerfScore 13.25
+G_M53443_IG32:
+ mov rdi, r10
+ mov esi, r11d
+ mov rdx, r12
mov rax, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
call [rax]System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
- ;; size=22 bbWeight=0.50 PerfScore 2.12
-G_M53443_IG37:
- jmp SHORT G_M53443_IG39
+ ;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M53443_IG33:
+ jmp SHORT G_M53443_IG35
;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M53443_IG38:
+G_M53443_IG34:
lea rdx, bword ptr [rax+0x10]
- mov ecx, dword ptr [rax+0x08]
+ mov eax, dword ptr [rax+0x08]
+ mov esi, ecx
+ mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.MemoryExtensions:IndexOfAnyExcept[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
call [rax]System.MemoryExtensions:IndexOfAnyExcept[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
- ;; size=19 bbWeight=0.50 PerfScore 2.88
-G_M53443_IG39:
+ ;; size=23 bbWeight=0.50 PerfScore 3.12
+G_M53443_IG35:
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=17 bbWeight=0.50 PerfScore 3.12
-G_M53443_IG40:
- mov esi, dword ptr [rbp-0xAC]
- test esi, esi
- je G_M53443_IG48
+G_M53443_IG36:
+ mov edi, dword ptr [rbp-0xAC]
+ test edi, edi
+ je G_M53443_IG42
test r8d, r8d
- jne SHORT G_M53443_IG44
- mov word ptr [rbp-0x54], r10w
- mov word ptr [rbp-0x58], r11w
- movzx rsi, word ptr [rbp-0x54]
- movzx rax, word ptr [rbp-0x58]
+ jne SHORT G_M53443_IG39
lea edi, [rsi-0x01]
cmp edi, 254
- jae SHORT G_M53443_IG42
- lea edi, [rax-0x01]
+ jae SHORT G_M53443_IG37
+ lea edi, [rdx-0x01]
cmp edi, 254
- jae SHORT G_M53443_IG41
- cmp eax, esi
- jl SHORT G_M53443_IG42
- sub eax, esi
- movsx rdx, ax
+ jae SHORT G_M53443_IG37
+ cmp edx, esi
+ jl SHORT G_M53443_IG37
+ sub edx, esi
+ movsx rdx, dx
movsx rsi, si
- mov rdi, rcx
- mov ecx, dword ptr [rbp-0x50]
+ mov rdi, r10
+ mov ecx, r11d
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
call [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
- jmp SHORT G_M53443_IG43
- ;; size=93 bbWeight=0.50 PerfScore 9.75
-G_M53443_IG41:
- ;; size=0 bbWeight=0.25 PerfScore 0.00
-G_M53443_IG42:
- mov rdi, rcx
- mov edx, eax
- mov ecx, dword ptr [rbp-0x50]
+ jmp SHORT G_M53443_IG38
+ ;; size=75 bbWeight=0.50 PerfScore 7.38
+G_M53443_IG37:
+ mov rdi, r10
+ mov ecx, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+DontNegate`1[ushort]](byref,ushort,ushort,int):int
- ;; size=20 bbWeight=0.50 PerfScore 2.38
-G_M53443_IG43:
- jmp SHORT G_M53443_IG47
+ ;; size=18 bbWeight=0.50 PerfScore 1.88
+G_M53443_IG38:
+ jmp SHORT G_M53443_IG41
;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M53443_IG44:
- mov word ptr [rbp-0x5C], r10w
- mov word ptr [rbp-0x60], r11w
- movzx rsi, word ptr [rbp-0x5C]
- movzx rax, word ptr [rbp-0x60]
+G_M53443_IG39:
lea edi, [rsi-0x01]
cmp edi, 254
- jae SHORT G_M53443_IG46
- lea edi, [rax-0x01]
+ jae SHORT G_M53443_IG40
+ lea edi, [rdx-0x01]
cmp edi, 254
- jae SHORT G_M53443_IG45
- cmp eax, esi
- jl SHORT G_M53443_IG46
- sub eax, esi
- movsx rdx, ax
+ jae SHORT G_M53443_IG40
+ cmp edx, esi
+ jl SHORT G_M53443_IG40
+ sub edx, esi
+ movsx rdx, dx
movsx rsi, si
- mov rdi, rcx
- mov ecx, dword ptr [rbp-0x50]
+ mov rdi, r10
+ mov ecx, r11d
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
call [rax]System.PackedSpanHelpers:IndexOfAnyInRange[System.SpanHelpers+Negate`1[short]](byref,short,short,int):int
- jmp SHORT G_M53443_IG47
- ;; size=74 bbWeight=0.50 PerfScore 8.00
-G_M53443_IG45:
- ;; size=0 bbWeight=0.25 PerfScore 0.00
-G_M53443_IG46:
- mov rdi, rcx
- mov edx, eax
- mov ecx, dword ptr [rbp-0x50]
+ jmp SHORT G_M53443_IG41
+ ;; size=56 bbWeight=0.50 PerfScore 5.62
+G_M53443_IG40:
+ mov rdi, r10
+ mov ecx, r11d
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfAnyInRangeUnsignedNumber[ushort,System.SpanHelpers+Negate`1[ushort]](byref,ushort,ushort,int):int
- ;; size=20 bbWeight=0.50 PerfScore 2.38
-G_M53443_IG47:
+ ;; size=18 bbWeight=0.50 PerfScore 1.88
+G_M53443_IG41:
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=17 bbWeight=0.50 PerfScore 3.12
-G_M53443_IG48:
+G_M53443_IG42:
mov rdi, gword ptr [r15+0x08]
xor esi, esi
mov rdx, 0xD1FFAB1E ; uint[]
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
call [rax]CORINFO_HELP_LDELEMA_REF
mov r15, rax
xor eax, eax
- mov r9d, dword ptr [rbp-0x90]
+ mov r9d, dword ptr [rbp-0x8C]
test r9d, r9d
- jle G_M53443_IG127
+ jle G_M53443_IG121
;; size=49 bbWeight=0.50 PerfScore 4.25
-G_M53443_IG49:
+G_M53443_IG43:
cmp eax, r9d
jae G_M53443_IG163
mov qword ptr [rbp-0xD8], rax
movzx r10, word ptr [r14+2*rax]
- mov dword ptr [rbp-0x64], r10d
+ mov dword ptr [rbp-0x50], r10d
mov rdi, gword ptr [r15]
test rdi, rdi
- je SHORT G_M53443_IG51
+ je SHORT G_M53443_IG45
;; size=33 bbWeight=4 PerfScore 34.00
-G_M53443_IG50:
+G_M53443_IG44:
mov esi, r10d
sar esi, 4
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M53443_IG51
+ jbe SHORT G_M53443_IG45
mov edi, dword ptr [rdi+4*rsi+0x10]
mov esi, r10d
and esi, 15
add esi, esi
mov r8d, 1
shlx esi, r8d, esi
test edi, esi
- je SHORT G_M53443_IG51
+ je SHORT G_M53443_IG45
add esi, esi
test edi, esi
- je G_M53443_IG57
- jmp G_M53443_IG58
+ je G_M53443_IG51
+ jmp G_M53443_IG52
;; size=53 bbWeight=2 PerfScore 26.00
-G_M53443_IG51:
+G_M53443_IG45:
cmp r10d, 128
- jl G_M53443_IG55
- mov dword ptr [rbp-0x8C], ebx
+ jl G_M53443_IG49
+ mov dword ptr [rbp-0x88], ebx
cmp dword ptr [r12+0x08], 1
jbe G_M53443_IG163
movzx rcx, word ptr [r12+0x0E]
cmp dword ptr [r12+0x08], 2
jbe G_M53443_IG163
movzx r8, word ptr [r12+0x10]
lea r11d, [rcx+r8+0x03]
- mov dword ptr [rbp-0x68], r11d
+ mov dword ptr [rbp-0x54], r11d
mov edi, r10d
mov rsi, r12
xor edx, edx
mov rbx, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
call [rbx]System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
cmp word ptr [r12+0x0C], 1
- jne SHORT G_M53443_IG52
+ jne SHORT G_M53443_IG46
test eax, eax
sete al
movzx rax, al
test eax, eax
- je SHORT G_M53443_IG54
- jmp SHORT G_M53443_IG53
+ je SHORT G_M53443_IG48
+ jmp SHORT G_M53443_IG47
;; size=107 bbWeight=2 PerfScore 58.00
-G_M53443_IG52:
+G_M53443_IG46:
test eax, eax
- je SHORT G_M53443_IG54
+ je SHORT G_M53443_IG48
;; size=4 bbWeight=2 PerfScore 2.50
-G_M53443_IG53:
- mov ebx, dword ptr [rbp-0x68]
+G_M53443_IG47:
+ mov ebx, dword ptr [rbp-0x54]
cmp dword ptr [r12+0x08], ebx
- jle SHORT G_M53443_IG54
- mov edi, dword ptr [rbp-0x64]
+ jle SHORT G_M53443_IG48
+ mov edi, dword ptr [rbp-0x50]
mov rsi, r12
mov edx, ebx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
test eax, eax
sete al
movzx rax, al
;; size=38 bbWeight=2 PerfScore 22.50
-G_M53443_IG54:
- jmp SHORT G_M53443_IG56
+G_M53443_IG48:
+ jmp SHORT G_M53443_IG50
;; size=2 bbWeight=2 PerfScore 4.00
-G_M53443_IG55:
+G_M53443_IG49:
mov edi, r10d
mov rsi, r12
mov rdx, r15
mov rcx, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
call [rcx]System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
- mov dword ptr [rbp-0x8C], ebx
+ mov dword ptr [rbp-0x88], ebx
;; size=27 bbWeight=2 PerfScore 10.00
-G_M53443_IG56:
+G_M53443_IG50:
test eax, eax
- mov ebx, dword ptr [rbp-0x8C]
- jne SHORT G_M53443_IG58
+ mov ebx, dword ptr [rbp-0x88]
+ jne SHORT G_M53443_IG52
;; size=10 bbWeight=2 PerfScore 4.50
-G_M53443_IG57:
+G_M53443_IG51:
mov rax, qword ptr [rbp-0xD8]
inc eax
mov rsi, rax
- mov r9d, dword ptr [rbp-0x90]
+ mov r9d, dword ptr [rbp-0x8C]
cmp esi, r9d
mov rax, rsi
- jl G_M53443_IG49
- jmp G_M53443_IG127
+ jl G_M53443_IG43
+ jmp G_M53443_IG121
;; size=36 bbWeight=4 PerfScore 24.00
-G_M53443_IG58:
+G_M53443_IG52:
mov rsi, qword ptr [rbp-0xD8]
add dword ptr [r13], esi
jmp G_M53443_IG161
;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M53443_IG59:
+G_M53443_IG53:
mov esi, dword ptr [r13]
mov edi, dword ptr [r15+0x48]
add esi, edi
cmp esi, ebx
ja G_M53443_IG165
mov edi, esi
lea rdi, bword ptr [r14+2*rdi]
mov edx, ebx
sub edx, esi
movzx rsi, word ptr [r15+0x4C]
movsx rsi, si
movzx rax, si
dec eax
cmp eax, 254
- jae SHORT G_M53443_IG60
+ jae SHORT G_M53443_IG54
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- jmp SHORT G_M53443_IG61
+ jmp SHORT G_M53443_IG55
;; size=63 bbWeight=0.50 PerfScore 8.00
-G_M53443_IG60:
+G_M53443_IG54:
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
;; size=12 bbWeight=0.50 PerfScore 1.62
-G_M53443_IG61:
+G_M53443_IG55:
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=17 bbWeight=0.50 PerfScore 3.12
-G_M53443_IG62:
+G_M53443_IG56:
mov edi, dword ptr [r13]
mov esi, dword ptr [r15+0x48]
add edi, esi
cmp edi, ebx
ja G_M53443_IG165
mov esi, edi
lea rsi, bword ptr [r14+2*rsi]
mov edx, ebx
sub edx, edi
mov rdi, gword ptr [r15+0x40]
test rdi, rdi
- jne SHORT G_M53443_IG63
+ jne SHORT G_M53443_IG57
xor rcx, rcx
xor eax, eax
- jmp SHORT G_M53443_IG64
+ jmp SHORT G_M53443_IG58
;; size=43 bbWeight=0.50 PerfScore 6.25
-G_M53443_IG63:
+G_M53443_IG57:
lea rcx, bword ptr [rdi+0x0C]
mov eax, dword ptr [rdi+0x08]
;; size=7 bbWeight=0.50 PerfScore 1.25
-G_M53443_IG64:
+G_M53443_IG58:
mov rdi, rsi
mov esi, edx
mov rdx, rcx
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOf(byref,int,byref,int):int
call [rax]System.SpanHelpers:IndexOf(byref,int,byref,int):int
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
add dword ptr [r13], eax
jmp G_M53443_IG161
;; size=39 bbWeight=0.50 PerfScore 5.25
-G_M53443_IG65:
+G_M53443_IG59:
mov r12, gword ptr [r15+0x20]
cmp dword ptr [r12+0x10], 0
je G_M53443_IG164
mov rdi, gword ptr [r12+0x08]
cmp dword ptr [rdi+0x08], 0
jbe G_M53443_IG163
add rdi, 16
mov rax, gword ptr [rdi]
- mov gword ptr [rbp-0x128], rax
+ mov gword ptr [rbp-0x130], rax
mov r8, gword ptr [rdi+0x08]
mov r9d, dword ptr [rdi+0x10]
movzx r10, byte ptr [rdi+0x14]
mov edi, dword ptr [r15+0x2C]
mov esi, 1
cmp edi, 1
cmovg esi, edi
mov r11d, ebx
sub r11d, esi
test r8, r8
- je G_M53443_IG70
+ je G_M53443_IG64
cmp dword ptr [r8+0x08], 5
- jg G_M53443_IG69
+ jg G_M53443_IG63
mov eax, dword ptr [r13]
mov dword ptr [rbp-0x2C], r11d
cmp eax, r11d
- jg G_M53443_IG127
+ jg G_M53443_IG121
;; size=116 bbWeight=0.50 PerfScore 17.00
-G_M53443_IG66:
+G_M53443_IG60:
mov dword ptr [rbp-0xB0], r9d
add eax, r9d
cmp eax, ebx
ja G_M53443_IG165
mov edi, eax
lea rdi, bword ptr [r14+2*rdi]
mov dword ptr [rbp-0x34], eax
mov ecx, ebx
sub ecx, eax
- mov dword ptr [rbp-0x6C], ecx
+ mov dword ptr [rbp-0x58], ecx
mov rdx, rdi
mov esi, ecx
mov dword ptr [rbp-0xB4], r10d
test r10d, r10d
- jne G_M53443_IG90
+ jne G_M53443_IG81
;; size=55 bbWeight=4 PerfScore 34.00
-G_M53443_IG67:
+G_M53443_IG61:
lea rdx, bword ptr [r8+0x10]
mov bword ptr [rbp-0x118], rdx
- mov gword ptr [rbp-0x130], r8
+ mov gword ptr [rbp-0x138], r8
mov esi, dword ptr [r8+0x08]
- mov dword ptr [rbp-0xA0], esi
+ mov dword ptr [rbp-0x9C], esi
+ mov r10, rdi
cmp esi, 5
- ja G_M53443_IG88
- ;; size=37 bbWeight=2 PerfScore 13.50
-G_M53443_IG68:
- mov dword ptr [rbp-0x8C], ebx
+ ja G_M53443_IG79
+ ;; size=40 bbWeight=2 PerfScore 14.00
+G_M53443_IG62:
+ mov dword ptr [rbp-0x88], ebx
mov bword ptr [rbp-0xF8], r14
- mov esi, dword ptr [rbp-0xA0]
+ mov esi, dword ptr [rbp-0x9C]
lea rbx, [reloc @RWD112]
mov ebx, dword ptr [rbx+4*rsi]
lea r14, G_M53443_IG02
add rbx, r14
jmp rbx
;; size=41 bbWeight=1.71 PerfScore 15.00
-G_M53443_IG69:
+G_M53443_IG63:
mov dword ptr [rbp-0x2C], r11d
mov dword ptr [rbp-0xB0], r9d
- jmp G_M53443_IG107
+ jmp G_M53443_IG98
;; size=16 bbWeight=0.25 PerfScore 1.00
-G_M53443_IG70:
+G_M53443_IG64:
mov dword ptr [rbp-0x2C], r11d
mov dword ptr [rbp-0xB0], r9d
- jmp G_M53443_IG107
+ jmp G_M53443_IG98
;; size=16 bbWeight=0.25 PerfScore 1.00
-G_M53443_IG71:
+G_M53443_IG65:
mov esi, -1
mov eax, esi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp G_M53443_IG89
+ jmp G_M53443_IG80
;; size=25 bbWeight=2 PerfScore 9.00
-G_M53443_IG72:
+G_M53443_IG66:
movsx rsi, word ptr [rdx]
movzx rdx, si
dec edx
cmp edx, 254
- jae SHORT G_M53443_IG73
+ jae SHORT G_M53443_IG67
mov edx, ecx
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov esi, eax
- jmp SHORT G_M53443_IG74
+ jmp SHORT G_M53443_IG68
;; size=35 bbWeight=2 PerfScore 23.00
-G_M53443_IG73:
+G_M53443_IG67:
mov edx, ecx
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [rcx]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
mov esi, eax
;; size=16 bbWeight=2 PerfScore 7.50
-G_M53443_IG74:
+G_M53443_IG68:
mov eax, esi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp G_M53443_IG89
+ jmp G_M53443_IG80
;; size=20 bbWeight=2 PerfScore 8.50
-G_M53443_IG75:
+G_M53443_IG69:
movsx rsi, word ptr [rdx]
movsx rdx, word ptr [rdx+0x02]
- movzx rbx, si
- dec ebx
- cmp ebx, 254
- jae SHORT G_M53443_IG79
- movzx rbx, dx
- dec ebx
- cmp ebx, 254
- jae SHORT G_M53443_IG79
- movzx rbx, si
+ mov ebx, ecx
+ movzx r14, si
+ dec r14d
+ cmp r14d, 254
+ jae SHORT G_M53443_IG70
movzx r14, dx
- xor ebx, r14d
- cmp ebx, 32
- jne SHORT G_M53443_IG78
+ dec r14d
+ cmp r14d, 254
+ jae SHORT G_M53443_IG70
movzx rsi, si
movzx rdx, dx
- cmp esi, edx
- jge SHORT G_M53443_IG76
- jmp SHORT G_M53443_IG77
- ;; size=62 bbWeight=2 PerfScore 34.50
-G_M53443_IG76:
- mov edx, esi
- ;; size=2 bbWeight=2 PerfScore 0.50
-G_M53443_IG77:
- movsx rsi, dx
- mov edx, ecx
- mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- mov esi, eax
- jmp SHORT G_M53443_IG80
- ;; size=22 bbWeight=2 PerfScore 12.00
-G_M53443_IG78:
movsx rdx, dx
movsx rsi, si
- mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
- call [rbx]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
+ mov rdi, r10
+ mov ecx, ebx
+ mov r10, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
+ call [r10]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
mov esi, eax
- jmp SHORT G_M53443_IG80
- ;; size=24 bbWeight=2 PerfScore 12.00
-G_M53443_IG79:
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
- call [rbx]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
+ jmp SHORT G_M53443_IG71
+ ;; size=79 bbWeight=2 PerfScore 37.50
+G_M53443_IG70:
+ mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
+ call [r10]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
mov esi, eax
- ;; size=14 bbWeight=2 PerfScore 7.00
-G_M53443_IG80:
+ ;; size=15 bbWeight=2 PerfScore 7.00
+G_M53443_IG71:
mov eax, esi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp G_M53443_IG89
+ jmp G_M53443_IG80
;; size=20 bbWeight=2 PerfScore 8.50
-G_M53443_IG81:
+G_M53443_IG72:
movsx rsi, word ptr [rdx]
- movsx rbx, word ptr [rdx+0x02]
+ movsx r10, word ptr [rdx+0x02]
movsx rdx, word ptr [rdx+0x04]
- mov dword ptr [rbp-0x70], edx
- movzx r14, si
- dec r14d
- cmp r14d, 254
- jae SHORT G_M53443_IG84
- movzx r14, bx
- dec r14d
- cmp r14d, 254
- jae SHORT G_M53443_IG83
- movzx r14, dx
- dec r14d
- cmp r14d, 254
- jae SHORT G_M53443_IG82
+ mov dword ptr [rbp-0x5C], edx
+ movzx rbx, si
+ dec ebx
+ cmp ebx, 254
+ jae SHORT G_M53443_IG75
+ movzx rbx, r10w
+ dec ebx
+ cmp ebx, 254
+ jae SHORT G_M53443_IG74
+ movzx rbx, dx
+ dec ebx
+ cmp ebx, 254
+ jae SHORT G_M53443_IG73
movsx rcx, dx
- movsx rdx, bx
- mov r8d, dword ptr [rbp-0x6C]
- mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- call [rbx]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ movsx rdx, r10w
+ mov r8d, dword ptr [rbp-0x58]
+ mov r10, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ call [r10]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
mov esi, eax
- jmp SHORT G_M53443_IG85
- ;; size=93 bbWeight=2 PerfScore 50.50
-G_M53443_IG82:
- jmp SHORT G_M53443_IG84
+ jmp SHORT G_M53443_IG76
+ ;; size=86 bbWeight=2 PerfScore 50.50
+G_M53443_IG73:
+ jmp SHORT G_M53443_IG75
;; size=2 bbWeight=1 PerfScore 2.00
-G_M53443_IG83:
+G_M53443_IG74:
;; size=0 bbWeight=1 PerfScore 0.00
-G_M53443_IG84:
- mov edx, ebx
- mov ecx, dword ptr [rbp-0x70]
- mov r8d, dword ptr [rbp-0x6C]
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- call [rbx]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+G_M53443_IG75:
+ mov edx, r10d
+ mov ecx, dword ptr [rbp-0x5C]
+ mov r8d, dword ptr [rbp-0x58]
+ mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ call [r10]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
mov esi, eax
- ;; size=23 bbWeight=2 PerfScore 11.50
-G_M53443_IG85:
+ ;; size=25 bbWeight=2 PerfScore 11.50
+G_M53443_IG76:
mov eax, esi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp G_M53443_IG89
+ jmp G_M53443_IG80
;; size=20 bbWeight=2 PerfScore 8.50
-G_M53443_IG86:
+G_M53443_IG77:
movsx r8, word ptr [rdx+0x06]
movsx rsi, word ptr [rdx]
movsx rdx, word ptr [rdx+0x02]
- mov rbx, bword ptr [rbp-0x118]
- movsx rcx, word ptr [rbx+0x04]
- mov r9d, dword ptr [rbp-0x6C]
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
- call [rbx]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
- mov ebx, dword ptr [rbp-0x8C]
+ mov r10, bword ptr [rbp-0x118]
+ movsx rcx, word ptr [r10+0x04]
+ mov r9d, dword ptr [rbp-0x58]
+ mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
+ call [r10]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp SHORT G_M53443_IG89
- ;; size=57 bbWeight=2 PerfScore 50.50
-G_M53443_IG87:
+ jmp SHORT G_M53443_IG80
+ ;; size=58 bbWeight=2 PerfScore 50.50
+G_M53443_IG78:
mov dword ptr [rsp], ecx
movsx r9, word ptr [rdx+0x08]
movsx rsi, word ptr [rdx]
movsx rdx, word ptr [rdx+0x02]
- mov rbx, bword ptr [rbp-0x118]
- movsx rcx, word ptr [rbx+0x04]
- movsx r8, word ptr [rbx+0x06]
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
- call [rbx]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
- mov ebx, dword ptr [rbp-0x8C]
+ mov r10, bword ptr [rbp-0x118]
+ movsx rcx, word ptr [r10+0x04]
+ movsx r8, word ptr [r10+0x06]
+ mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
+ call [r10]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
+ mov ebx, dword ptr [rbp-0x88]
mov r14, bword ptr [rbp-0xF8]
- jmp SHORT G_M53443_IG89
- ;; size=61 bbWeight=2 PerfScore 58.50
-G_M53443_IG88:
+ jmp SHORT G_M53443_IG80
+ ;; size=62 bbWeight=2 PerfScore 58.50
+G_M53443_IG79:
mov esi, ecx
- mov ecx, dword ptr [rbp-0xA0]
+ mov ecx, dword ptr [rbp-0x9C]
mov r10, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
call [r10]System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
;; size=21 bbWeight=2 PerfScore 9.00
-G_M53443_IG89:
- jmp SHORT G_M53443_IG91
+G_M53443_IG80:
+ jmp SHORT G_M53443_IG82
;; size=2 bbWeight=2 PerfScore 4.00
-G_M53443_IG90:
+G_M53443_IG81:
lea rcx, bword ptr [r8+0x10]
- mov gword ptr [rbp-0x130], r8
+ mov gword ptr [rbp-0x138], r8
mov edi, dword ptr [r8+0x08]
- mov dword ptr [rbp-0xA4], edi
+ mov dword ptr [rbp-0xA0], edi
mov rdi, rdx
mov rdx, rcx
- mov ecx, dword ptr [rbp-0xA4]
+ mov ecx, dword ptr [rbp-0xA0]
mov r10, 0xD1FFAB1E ; code for System.MemoryExtensions:IndexOfAnyExcept[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
call [r10]System.MemoryExtensions:IndexOfAnyExcept[ushort](System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):int
;; size=46 bbWeight=2 PerfScore 18.50
-G_M53443_IG91:
+G_M53443_IG82:
test eax, eax
- jl G_M53443_IG127
+ jl G_M53443_IG121
mov ecx, dword ptr [rbp-0x2C]
mov edi, dword ptr [rbp-0x34]
mov r8d, dword ptr [rbp-0xB0]
- mov r9, gword ptr [rbp-0x130]
+ mov r9, gword ptr [rbp-0x138]
mov r10d, dword ptr [rbp-0xB4]
add eax, edi
sub eax, r8d
cmp eax, ecx
mov dword ptr [rbp-0x2C], ecx
mov dword ptr [rbp-0xB0], r8d
- mov gword ptr [rbp-0x130], r9
+ mov gword ptr [rbp-0x138], r9
mov dword ptr [rbp-0xB4], r10d
- jg G_M53443_IG127
+ jg G_M53443_IG121
mov r11d, 1
cmp dword ptr [r12+0x10], 1
- jle G_M53443_IG95
+ jle G_M53443_IG86
;; size=90 bbWeight=4 PerfScore 65.00
-G_M53443_IG92:
+G_M53443_IG83:
cmp r11d, dword ptr [r12+0x10]
jae G_M53443_IG164
mov rdi, gword ptr [r12+0x08]
cmp r11d, dword ptr [rdi+0x08]
jae G_M53443_IG163
mov rsi, r11
shl rsi, 5
lea rdi, bword ptr [rdi+rsi+0x10]
mov rdx, gword ptr [rdi]
- mov gword ptr [rbp-0x138], rdx
+ mov gword ptr [rbp-0x140], rdx
mov edi, dword ptr [rdi+0x10]
mov dword ptr [rbp-0x30], eax
add edi, eax
cmp edi, ebx
jae G_M53443_IG163
movzx rsi, word ptr [r14+2*rdi]
mov dword ptr [rbp-0x38], esi
mov rdi, gword ptr [r15+0x08]
mov qword ptr [rbp-0xD0], r11
movsxd rsi, r11d
mov rdx, 0xD1FFAB1E ; uint[]
mov r8, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
call [r8]CORINFO_HELP_LDELEMA_REF
mov rdi, gword ptr [rax]
test rdi, rdi
- je SHORT G_M53443_IG96
+ je SHORT G_M53443_IG87
;; size=117 bbWeight=32 PerfScore 1032.00
-G_M53443_IG93:
+G_M53443_IG84:
mov r9d, dword ptr [rbp-0x38]
mov esi, r9d
sar esi, 4
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M53443_IG94
+ jbe SHORT G_M53443_IG85
cmp esi, dword ptr [rdi+0x08]
jae G_M53443_IG163
mov edi, dword ptr [rdi+4*rsi+0x10]
mov esi, r9d
and esi, 15
add esi, esi
mov r8d, 1
shlx esi, r8d, esi
test edi, esi
- je SHORT G_M53443_IG96
+ je SHORT G_M53443_IG87
add esi, esi
test edi, esi
- je G_M53443_IG104
- jmp G_M53443_IG102
+ je G_M53443_IG95
+ jmp G_M53443_IG93
;; size=66 bbWeight=8 PerfScore 144.00
-G_M53443_IG94:
- jmp SHORT G_M53443_IG96
+G_M53443_IG85:
+ jmp SHORT G_M53443_IG87
;; size=2 bbWeight=4 PerfScore 8.00
-G_M53443_IG95:
+G_M53443_IG86:
mov dword ptr [rbp-0x30], eax
- jmp G_M53443_IG106
+ jmp G_M53443_IG97
;; size=8 bbWeight=2 PerfScore 6.00
-G_M53443_IG96:
+G_M53443_IG87:
mov r9d, dword ptr [rbp-0x38]
cmp r9d, 128
- jl G_M53443_IG100
- mov rax, gword ptr [rbp-0x138]
+ jl G_M53443_IG91
+ mov rax, gword ptr [rbp-0x140]
cmp dword ptr [rax+0x08], 1
jbe G_M53443_IG163
movzx rcx, word ptr [rax+0x0E]
cmp dword ptr [rax+0x08], 2
jbe G_M53443_IG163
movzx r8, word ptr [rax+0x10]
lea r10d, [rcx+r8+0x03]
- mov dword ptr [rbp-0x74], r10d
+ mov dword ptr [rbp-0x60], r10d
mov edi, r9d
mov rsi, rax
xor edx, edx
mov r11, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
call [r11]System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
- mov rcx, gword ptr [rbp-0x138]
+ mov rcx, gword ptr [rbp-0x140]
cmp dword ptr [rcx+0x08], 0
jbe G_M53443_IG163
cmp word ptr [rcx+0x0C], 1
- jne SHORT G_M53443_IG97
+ jne SHORT G_M53443_IG88
test eax, eax
sete al
movzx rax, al
test eax, eax
- je SHORT G_M53443_IG99
- jmp SHORT G_M53443_IG98
+ je SHORT G_M53443_IG90
+ jmp SHORT G_M53443_IG89
;; size=121 bbWeight=8 PerfScore 280.00
-G_M53443_IG97:
+G_M53443_IG88:
test eax, eax
- je SHORT G_M53443_IG99
+ je SHORT G_M53443_IG90
;; size=4 bbWeight=8 PerfScore 10.00
-G_M53443_IG98:
- mov edx, dword ptr [rbp-0x74]
+G_M53443_IG89:
+ mov edx, dword ptr [rbp-0x60]
cmp dword ptr [rcx+0x08], edx
- jle SHORT G_M53443_IG99
+ jle SHORT G_M53443_IG90
mov edi, dword ptr [rbp-0x38]
mov rsi, rcx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
test eax, eax
sete al
movzx rax, al
;; size=34 bbWeight=8 PerfScore 88.00
-G_M53443_IG99:
- jmp SHORT G_M53443_IG101
+G_M53443_IG90:
+ jmp SHORT G_M53443_IG92
;; size=2 bbWeight=8 PerfScore 16.00
-G_M53443_IG100:
+G_M53443_IG91:
mov edi, r9d
- mov rsi, gword ptr [rbp-0x138]
+ mov rsi, gword ptr [rbp-0x140]
mov rdx, rax
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
;; size=25 bbWeight=8 PerfScore 38.00
-G_M53443_IG101:
+G_M53443_IG92:
test eax, eax
- je SHORT G_M53443_IG104
+ je SHORT G_M53443_IG95
;; size=4 bbWeight=8 PerfScore 10.00
-G_M53443_IG102:
+G_M53443_IG93:
mov rdi, qword ptr [rbp-0xD0]
inc edi
cmp edi, dword ptr [r12+0x10]
mov r11, rdi
- jge SHORT G_M53443_IG106
+ jge SHORT G_M53443_IG97
;; size=19 bbWeight=16 PerfScore 88.00
-G_M53443_IG103:
+G_M53443_IG94:
mov eax, dword ptr [rbp-0x30]
- jmp G_M53443_IG92
+ jmp G_M53443_IG83
;; size=8 bbWeight=8 PerfScore 24.00
-G_M53443_IG104:
+G_M53443_IG95:
mov edi, dword ptr [rbp-0x30]
inc edi
mov eax, dword ptr [rbp-0x2C]
cmp edi, eax
mov dword ptr [rbp-0x2C], eax
- mov r8, gword ptr [rbp-0x130]
+ mov r8, gword ptr [rbp-0x138]
mov r9d, dword ptr [rbp-0xB0]
mov r10d, dword ptr [rbp-0xB4]
- jg G_M53443_IG127
+ jg G_M53443_IG121
;; size=40 bbWeight=4 PerfScore 30.00
-G_M53443_IG105:
+G_M53443_IG96:
mov eax, edi
- jmp G_M53443_IG66
+ jmp G_M53443_IG60
;; size=7 bbWeight=2 PerfScore 4.50
-G_M53443_IG106:
+G_M53443_IG97:
mov edi, dword ptr [rbp-0x30]
mov dword ptr [r13], edi
jmp G_M53443_IG161
;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M53443_IG107:
+G_M53443_IG98:
mov rdi, gword ptr [r15+0x08]
xor esi, esi
mov rdx, 0xD1FFAB1E ; uint[]
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
call [rcx]CORINFO_HELP_LDELEMA_REF
mov bword ptr [rbp-0xE0], rax
mov r9d, dword ptr [r13]
cmp r9d, dword ptr [rbp-0x2C]
- jg G_M53443_IG127
+ jg G_M53443_IG121
;; size=49 bbWeight=0.50 PerfScore 5.88
-G_M53443_IG108:
+G_M53443_IG99:
mov dword ptr [rbp-0x3C], r9d
mov edi, r9d
add edi, dword ptr [rbp-0xB0]
cmp edi, ebx
jae G_M53443_IG163
movzx rdx, word ptr [r14+2*rdi]
mov rdi, gword ptr [rax]
test rdi, rdi
mov rax, bword ptr [rbp-0xE0]
- je SHORT G_M53443_IG111
+ je SHORT G_M53443_IG102
;; size=41 bbWeight=4 PerfScore 43.00
-G_M53443_IG109:
+G_M53443_IG100:
mov esi, edx
sar esi, 4
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M53443_IG111
+ jbe SHORT G_M53443_IG102
cmp esi, dword ptr [rdi+0x08]
jae G_M53443_IG163
mov edi, dword ptr [rdi+4*rsi+0x10]
mov esi, edx
and esi, 15
add esi, esi
mov r8d, 1
shlx esi, r8d, esi
test edi, esi
- je SHORT G_M53443_IG111
+ je SHORT G_M53443_IG102
add esi, esi
test edi, esi
- jne G_M53443_IG118
+ jne G_M53443_IG109
;; size=55 bbWeight=2 PerfScore 30.00
-G_M53443_IG110:
- jmp G_M53443_IG126
+G_M53443_IG101:
+ jmp G_M53443_IG120
;; size=5 bbWeight=1 PerfScore 2.00
-G_M53443_IG111:
+G_M53443_IG102:
cmp edx, 128
- jl G_M53443_IG115
- mov rcx, gword ptr [rbp-0x128]
+ jl G_M53443_IG106
+ mov rcx, gword ptr [rbp-0x130]
cmp dword ptr [rcx+0x08], 1
jbe G_M53443_IG163
movzx r8, word ptr [rcx+0x0E]
- mov dword ptr [rbp-0x78], r8d
+ mov dword ptr [rbp-0x64], r8d
cmp dword ptr [rcx+0x08], 2
jbe G_M53443_IG163
movzx rsi, word ptr [rcx+0x10]
- mov dword ptr [rbp-0x7C], esi
+ mov dword ptr [rbp-0x68], esi
lea edi, [r8+rsi+0x03]
- mov dword ptr [rbp-0x80], edi
+ mov dword ptr [rbp-0x6C], edi
mov dword ptr [rbp-0x40], edx
mov edi, edx
mov rsi, rcx
- mov r8d, dword ptr [rbp-0x7C]
- mov ecx, dword ptr [rbp-0x78]
+ mov r8d, dword ptr [rbp-0x68]
+ mov ecx, dword ptr [rbp-0x64]
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
- mov rcx, gword ptr [rbp-0x128]
+ mov rcx, gword ptr [rbp-0x130]
cmp dword ptr [rcx+0x08], 0
jbe G_M53443_IG163
cmp word ptr [rcx+0x0C], 1
- jne SHORT G_M53443_IG112
+ jne SHORT G_M53443_IG103
test eax, eax
sete al
movzx rax, al
test eax, eax
- je SHORT G_M53443_IG114
- jmp SHORT G_M53443_IG113
+ je SHORT G_M53443_IG105
+ jmp SHORT G_M53443_IG104
;; size=130 bbWeight=2 PerfScore 78.00
-G_M53443_IG112:
+G_M53443_IG103:
test eax, eax
- je SHORT G_M53443_IG114
+ je SHORT G_M53443_IG105
;; size=4 bbWeight=2 PerfScore 2.50
-G_M53443_IG113:
- mov edx, dword ptr [rbp-0x80]
+G_M53443_IG104:
+ mov edx, dword ptr [rbp-0x6C]
cmp dword ptr [rcx+0x08], edx
- jle SHORT G_M53443_IG114
+ jle SHORT G_M53443_IG105
mov edi, dword ptr [rbp-0x40]
mov rsi, rcx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
test eax, eax
sete al
movzx rax, al
- mov rcx, gword ptr [rbp-0x128]
+ mov rcx, gword ptr [rbp-0x130]
;; size=41 bbWeight=2 PerfScore 24.00
-G_M53443_IG114:
- jmp SHORT G_M53443_IG116
+G_M53443_IG105:
+ jmp SHORT G_M53443_IG107
;; size=2 bbWeight=2 PerfScore 4.00
-G_M53443_IG115:
- mov rcx, gword ptr [rbp-0x128]
+G_M53443_IG106:
+ mov rcx, gword ptr [rbp-0x130]
mov edi, edx
mov rsi, rcx
mov rdx, rax
mov r8, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
call [r8]System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
- mov rcx, gword ptr [rbp-0x128]
+ mov rcx, gword ptr [rbp-0x130]
;; size=35 bbWeight=2 PerfScore 12.00
-G_M53443_IG116:
+G_M53443_IG107:
test eax, eax
- je G_M53443_IG126
+ je G_M53443_IG120
;; size=8 bbWeight=2 PerfScore 2.50
-G_M53443_IG117:
+G_M53443_IG108:
mov rax, bword ptr [rbp-0xE0]
;; size=7 bbWeight=1 PerfScore 1.00
-G_M53443_IG118:
+G_M53443_IG109:
mov r8d, 1
cmp dword ptr [r12+0x10], 1
- jle G_M53443_IG130
+ jle G_M53443_IG124
;; size=18 bbWeight=2 PerfScore 8.50
-G_M53443_IG119:
+G_M53443_IG110:
cmp r8d, dword ptr [r12+0x10]
jae G_M53443_IG164
mov rdi, gword ptr [r12+0x08]
cmp r8d, dword ptr [rdi+0x08]
jae G_M53443_IG163
mov rsi, r8
shl rsi, 5
lea rdi, bword ptr [rdi+rsi+0x10]
mov rdx, gword ptr [rdi]
- mov gword ptr [rbp-0x140], rdx
+ mov gword ptr [rbp-0x148], rdx
mov edi, dword ptr [rdi+0x10]
mov r9d, dword ptr [rbp-0x3C]
add edi, r9d
cmp edi, ebx
jae G_M53443_IG163
movzx rdi, word ptr [r14+2*rdi]
mov dword ptr [rbp-0x40], edi
mov rdi, gword ptr [r15+0x08]
mov qword ptr [rbp-0xC8], r8
movsxd rsi, r8d
mov rdx, 0xD1FFAB1E ; uint[]
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
call [rax]CORINFO_HELP_LDELEMA_REF
mov rdi, gword ptr [rax]
test rdi, rdi
- je SHORT G_M53443_IG122
+ je SHORT G_M53443_IG113
;; size=118 bbWeight=16 PerfScore 516.00
-G_M53443_IG120:
- mov ecx, dword ptr [rbp-0x40]
- mov esi, ecx
+G_M53443_IG111:
+ mov r9d, dword ptr [rbp-0x40]
+ mov esi, r9d
sar esi, 4
cmp dword ptr [rdi+0x08], esi
- jbe SHORT G_M53443_IG121
+ jbe SHORT G_M53443_IG112
cmp esi, dword ptr [rdi+0x08]
jae G_M53443_IG163
mov edi, dword ptr [rdi+4*rsi+0x10]
- mov esi, ecx
+ mov esi, r9d
and esi, 15
add esi, esi
- mov edx, 1
- shlx esi, edx, esi
+ mov r8d, 1
+ shlx esi, r8d, esi
test edi, esi
- mov dword ptr [rbp-0x40], ecx
- je SHORT G_M53443_IG122
+ mov dword ptr [rbp-0x40], r9d
+ je SHORT G_M53443_IG113
add esi, esi
test edi, esi
- je SHORT G_M53443_IG126
- jmp SHORT G_M53443_IG125
- ;; size=58 bbWeight=8 PerfScore 152.00
-G_M53443_IG121:
- mov dword ptr [rbp-0x40], ecx
- ;; size=3 bbWeight=4 PerfScore 4.00
-G_M53443_IG122:
- mov ecx, dword ptr [rbp-0x40]
- cmp ecx, 128
- jl SHORT G_M53443_IG123
- mov edi, ecx
- mov rsi, gword ptr [rbp-0x140]
+ je G_M53443_IG120
+ jmp G_M53443_IG119
+ ;; size=70 bbWeight=8 PerfScore 152.00
+G_M53443_IG112:
+ mov dword ptr [rbp-0x40], r9d
+ ;; size=4 bbWeight=4 PerfScore 4.00
+G_M53443_IG113:
+ mov r9d, dword ptr [rbp-0x40]
+ cmp r9d, 128
+ jl G_M53443_IG117
+ mov rax, gword ptr [rbp-0x148]
+ cmp dword ptr [rax+0x08], 1
+ jbe G_M53443_IG163
+ movzx rcx, word ptr [rax+0x0E]
+ cmp dword ptr [rax+0x08], 2
+ jbe G_M53443_IG163
+ movzx r8, word ptr [rax+0x10]
+ lea r10d, [rcx+r8+0x03]
+ mov dword ptr [rbp-0x70], r10d
+ mov dword ptr [rbp-0x40], r9d
+ mov edi, r9d
+ mov rsi, rax
xor edx, edx
+ mov r11, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
+ call [r11]System.Text.RegularExpressions.RegexCharClass:CharInClassInternal(ushort,System.String,int,int,int):ubyte
+ mov rcx, gword ptr [rbp-0x148]
+ cmp dword ptr [rcx+0x08], 0
+ jbe G_M53443_IG163
+ cmp word ptr [rcx+0x0C], 1
+ jne SHORT G_M53443_IG114
+ test eax, eax
+ sete al
+ movzx rax, al
+ test eax, eax
+ je SHORT G_M53443_IG116
+ jmp SHORT G_M53443_IG115
+ ;; size=125 bbWeight=8 PerfScore 288.00
+G_M53443_IG114:
+ test eax, eax
+ je SHORT G_M53443_IG116
+ ;; size=4 bbWeight=8 PerfScore 10.00
+G_M53443_IG115:
+ mov edx, dword ptr [rbp-0x70]
+ cmp dword ptr [rcx+0x08], edx
+ jle SHORT G_M53443_IG116
+ mov edi, dword ptr [rbp-0x40]
+ mov rsi, rcx
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
- jmp SHORT G_M53443_IG124
- ;; size=36 bbWeight=8 PerfScore 72.00
-G_M53443_IG123:
- mov edi, ecx
- mov rsi, gword ptr [rbp-0x140]
+ test eax, eax
+ sete al
+ movzx rax, al
+ ;; size=34 bbWeight=8 PerfScore 88.00
+G_M53443_IG116:
+ jmp SHORT G_M53443_IG118
+ ;; size=2 bbWeight=8 PerfScore 16.00
+G_M53443_IG117:
+ mov edi, r9d
+ mov rsi, gword ptr [rbp-0x148]
mov rdx, rax
mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
call [rax]System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
- ;; size=24 bbWeight=8 PerfScore 38.00
-G_M53443_IG124:
+ ;; size=25 bbWeight=8 PerfScore 38.00
+G_M53443_IG118:
test eax, eax
- je SHORT G_M53443_IG126
+ je SHORT G_M53443_IG120
;; size=4 bbWeight=8 PerfScore 10.00
-G_M53443_IG125:
+G_M53443_IG119:
mov rsi, qword ptr [rbp-0xC8]
inc esi
cmp esi, dword ptr [r12+0x10]
mov r8, rsi
mov rax, bword ptr [rbp-0xE0]
- jl G_M53443_IG119
- jmp SHORT G_M53443_IG130
+ jl G_M53443_IG110
+ jmp SHORT G_M53443_IG124
;; size=32 bbWeight=16 PerfScore 136.00
-G_M53443_IG126:
+G_M53443_IG120:
mov r9d, dword ptr [rbp-0x3C]
inc r9d
mov eax, dword ptr [rbp-0x2C]
cmp r9d, eax
mov dword ptr [rbp-0x2C], eax
- jle SHORT G_M53443_IG129
+ jle SHORT G_M53443_IG123
;; size=18 bbWeight=4 PerfScore 18.00
-G_M53443_IG127:
+G_M53443_IG121:
mov dword ptr [r13], ebx
xor eax, eax
;; size=6 bbWeight=0.50 PerfScore 0.62
-G_M53443_IG128:
+G_M53443_IG122:
add rsp, 296
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
-G_M53443_IG129:
+G_M53443_IG123:
mov rax, bword ptr [rbp-0xE0]
- jmp G_M53443_IG108
+ jmp G_M53443_IG99
;; size=12 bbWeight=2 PerfScore 6.00
-G_M53443_IG130:
+G_M53443_IG124:
mov r9d, dword ptr [rbp-0x3C]
mov dword ptr [r13], r9d
jmp G_M53443_IG161
;; size=13 bbWeight=0.50 PerfScore 2.00
-G_M53443_IG131:
+G_M53443_IG125:
lea rsi, bword ptr [r15+0x50]
mov r12, gword ptr [rsi+0x08]
mov rcx, gword ptr [rsi+0x10]
mov r8, gword ptr [rsi+0x18]
mov r9d, dword ptr [rsi+0x20]
movzx r10, word ptr [rsi+0x24]
- mov dword ptr [rbp-0x94], r9d
+ mov dword ptr [rbp-0x90], r9d
mov eax, dword ptr [r13]
- ;; size=36 bbWeight=0.50 PerfScore 6.75
-G_M53443_IG132:
+ mov r9d, dword ptr [rbp-0x90]
+ ;; size=43 bbWeight=0.50 PerfScore 7.25
+G_M53443_IG126:
cmp eax, ebx
ja G_M53443_IG165
mov esi, eax
lea r11, bword ptr [r14+2*rsi]
mov dword ptr [rbp-0x44], eax
mov edx, ebx
sub edx, eax
mov gword ptr [rbp-0x100], rcx
test rcx, rcx
- jne G_M53443_IG155
+ jne G_M53443_IG151
;; size=37 bbWeight=4 PerfScore 23.00
-G_M53443_IG133:
- mov rcx, gword ptr [rbp-0x100]
+G_M53443_IG127:
mov gword ptr [rbp-0x108], r8
test r8, r8
- jne SHORT G_M53443_IG136
- mov dword ptr [rbp-0x98], r10d
+ jne SHORT G_M53443_IG130
+ mov dword ptr [rbp-0x94], r10d
movzx rsi, r10w
movsx rsi, si
movzx rdi, si
dec edi
cmp edi, 254
- jae SHORT G_M53443_IG134
- mov gword ptr [rbp-0x100], rcx
+ jae SHORT G_M53443_IG128
+ mov dword ptr [rbp-0x90], r9d
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov r9, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r9]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- jmp SHORT G_M53443_IG135
- ;; size=85 bbWeight=2 PerfScore 30.00
-G_M53443_IG134:
- mov gword ptr [rbp-0x100], rcx
+ jmp SHORT G_M53443_IG129
+ ;; size=78 bbWeight=2 PerfScore 28.00
+G_M53443_IG128:
+ mov dword ptr [rbp-0x90], r9d
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [r9]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
;; size=36 bbWeight=2 PerfScore 13.00
-G_M53443_IG135:
- jmp G_M53443_IG156
+G_M53443_IG129:
+ jmp G_M53443_IG152
;; size=5 bbWeight=2 PerfScore 4.00
-G_M53443_IG136:
+G_M53443_IG130:
mov r8, gword ptr [rbp-0x108]
lea rsi, bword ptr [r8+0x10]
mov bword ptr [rbp-0x120], rsi
mov gword ptr [rbp-0x108], r8
mov edi, dword ptr [r8+0x08]
- mov dword ptr [rbp-0xA8], edi
+ mov dword ptr [rbp-0xA4], edi
cmp edi, 5
- ja G_M53443_IG153
+ ja G_M53443_IG149
;; size=44 bbWeight=2 PerfScore 15.50
-G_M53443_IG137:
- mov dword ptr [rbp-0x8C], ebx
+G_M53443_IG131:
+ mov dword ptr [rbp-0x88], ebx
mov gword ptr [rbp-0xE8], r12
- mov edi, dword ptr [rbp-0xA8]
+ mov edi, dword ptr [rbp-0xA4]
lea rbx, [reloc @RWD136]
mov ebx, dword ptr [rbx+4*rdi]
lea r12, G_M53443_IG02
add rbx, r12
jmp rbx
;; size=41 bbWeight=1.71 PerfScore 15.00
-G_M53443_IG138:
+G_M53443_IG132:
mov edi, -1
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov bword ptr [rbp-0x110], r11
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
mov eax, edi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp G_M53443_IG154
+ jmp G_M53443_IG150
;; size=52 bbWeight=2 PerfScore 17.00
-G_M53443_IG139:
+G_M53443_IG133:
mov rsi, bword ptr [rbp-0x120]
movsx rsi, word ptr [rsi]
movzx rdi, si
dec edi
cmp edi, 254
- jae SHORT G_M53443_IG140
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+ jae SHORT G_M53443_IG134
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rbx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov edi, eax
- jmp SHORT G_M53443_IG141
+ jmp SHORT G_M53443_IG135
;; size=70 bbWeight=2 PerfScore 33.00
-G_M53443_IG140:
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+G_M53443_IG134:
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [rbx]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
mov edi, eax
;; size=44 bbWeight=2 PerfScore 15.50
-G_M53443_IG141:
+G_M53443_IG135:
mov eax, edi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp G_M53443_IG154
+ jmp G_M53443_IG150
;; size=20 bbWeight=2 PerfScore 8.50
-G_M53443_IG142:
+G_M53443_IG136:
mov rsi, bword ptr [rbp-0x120]
movsx rdi, word ptr [rsi]
- mov dword ptr [rbp-0x84], edi
+ mov dword ptr [rbp-0x74], edi
movsx rsi, word ptr [rsi+0x02]
- mov dword ptr [rbp-0x88], esi
+ mov dword ptr [rbp-0x78], esi
movzx rbx, di
dec ebx
cmp ebx, 254
- jae SHORT G_M53443_IG144
+ jae SHORT G_M53443_IG138
movzx rbx, si
dec ebx
cmp ebx, 254
- jae SHORT G_M53443_IG143
- movzx rbx, di
- movzx r12, si
- xor ebx, r12d
- cmp ebx, 32
- jne G_M53443_IG147
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ jae SHORT G_M53443_IG137
movzx rdi, di
movzx rsi, si
- cmp edi, esi
- jge SHORT G_M53443_IG145
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
- jmp SHORT G_M53443_IG146
- ;; size=99 bbWeight=2 PerfScore 44.50
-G_M53443_IG143:
- mov dword ptr [rbp-0x9C], edx
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
- jmp G_M53443_IG148
- ;; size=25 bbWeight=1 PerfScore 5.00
-G_M53443_IG144:
- mov dword ptr [rbp-0x9C], edx
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
- jmp SHORT G_M53443_IG148
- ;; size=22 bbWeight=1 PerfScore 5.00
-G_M53443_IG145:
- mov esi, edi
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
- ;; size=16 bbWeight=2 PerfScore 4.50
-G_M53443_IG146:
- movsx rsi, si
- mov bword ptr [rbp-0x110], r11
- mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
- mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- call [rbx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+Or20Transform](byref,short,int):int
- mov edi, eax
- jmp SHORT G_M53443_IG149
- ;; size=36 bbWeight=2 PerfScore 16.00
-G_M53443_IG147:
- mov dword ptr [rbp-0x9C], edx
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
movsx rdx, si
movsx rsi, di
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov ecx, dword ptr [rbp-0x9C]
+ mov ecx, dword ptr [rbp-0x98]
mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
call [rbx]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
mov edi, eax
- jmp SHORT G_M53443_IG149
- ;; size=60 bbWeight=2 PerfScore 22.50
-G_M53443_IG148:
+ jmp SHORT G_M53443_IG140
+ ;; size=114 bbWeight=2 PerfScore 52.50
+G_M53443_IG137:
+ jmp SHORT G_M53443_IG139
+ ;; size=2 bbWeight=1 PerfScore 2.00
+G_M53443_IG138:
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ ;; size=20 bbWeight=1 PerfScore 3.00
+G_M53443_IG139:
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov esi, dword ptr [rbp-0x84]
- mov edx, dword ptr [rbp-0x88]
- mov ecx, dword ptr [rbp-0x9C]
+ mov esi, dword ptr [rbp-0x74]
+ mov edx, dword ptr [rbp-0x78]
+ mov ecx, dword ptr [rbp-0x98]
mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
call [rbx]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,int):int
mov edi, eax
- ;; size=42 bbWeight=2 PerfScore 15.50
-G_M53443_IG149:
+ ;; size=36 bbWeight=2 PerfScore 15.50
+G_M53443_IG140:
mov eax, edi
- mov ebx, dword ptr [rbp-0x8C]
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp G_M53443_IG154
+ jmp G_M53443_IG150
;; size=20 bbWeight=2 PerfScore 8.50
-G_M53443_IG150:
- mov dword ptr [rbp-0x9C], edx
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+G_M53443_IG141:
mov rsi, bword ptr [rbp-0x120]
- movsx rcx, word ptr [rsi+0x04]
- movsx rsi, word ptr [rsi]
- mov rbx, bword ptr [rbp-0x120]
- movsx rdx, word ptr [rbx+0x02]
+ movsx rdi, word ptr [rsi]
+ mov dword ptr [rbp-0x7C], edi
+ movsx rbx, word ptr [rsi+0x02]
+ movsx rsi, word ptr [rsi+0x04]
+ mov dword ptr [rbp-0x80], esi
+ movzx r12, di
+ dec r12d
+ cmp r12d, 254
+ jae SHORT G_M53443_IG144
+ movzx r12, bx
+ dec r12d
+ cmp r12d, 254
+ jae SHORT G_M53443_IG143
+ movzx r12, si
+ dec r12d
+ cmp r12d, 254
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ jae SHORT G_M53443_IG142
+ movsx rcx, si
+ movsx rsi, di
+ movsx rdx, bx
+ mov bword ptr [rbp-0x110], r11
+ mov rdi, r11
+ mov r8d, dword ptr [rbp-0x98]
+ mov rbx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ call [rbx]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ mov edi, eax
+ jmp SHORT G_M53443_IG146
+ ;; size=140 bbWeight=2 PerfScore 63.50
+G_M53443_IG142:
+ jmp SHORT G_M53443_IG145
+ ;; size=2 bbWeight=1 PerfScore 2.00
+G_M53443_IG143:
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ jmp SHORT G_M53443_IG145
+ ;; size=22 bbWeight=1 PerfScore 5.00
+G_M53443_IG144:
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ ;; size=20 bbWeight=1 PerfScore 3.00
+G_M53443_IG145:
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov r8d, dword ptr [rbp-0x9C]
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- call [rbx]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
- mov ebx, dword ptr [rbp-0x8C]
+ mov esi, dword ptr [rbp-0x7C]
+ mov edx, ebx
+ mov ecx, dword ptr [rbp-0x80]
+ mov r8d, dword ptr [rbp-0x98]
+ mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ call [rbx]System.SpanHelpers:NonPackedIndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,int):int
+ mov edi, eax
+ ;; size=39 bbWeight=2 PerfScore 16.00
+G_M53443_IG146:
+ mov eax, edi
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp G_M53443_IG154
- ;; size=95 bbWeight=2 PerfScore 53.00
-G_M53443_IG151:
- mov dword ptr [rbp-0x9C], edx
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+ jmp G_M53443_IG150
+ ;; size=20 bbWeight=2 PerfScore 8.50
+G_M53443_IG147:
+ mov dword ptr [rbp-0x98], edx
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
mov rsi, bword ptr [rbp-0x120]
movsx r8, word ptr [rsi+0x06]
movsx rsi, word ptr [rsi]
mov rbx, bword ptr [rbp-0x120]
movsx rdx, word ptr [rbx+0x02]
movsx rcx, word ptr [rbx+0x04]
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov r9d, dword ptr [rbp-0x9C]
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int
- call [rbx]System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int
- mov ebx, dword ptr [rbp-0x8C]
+ mov r9d, dword ptr [rbp-0x98]
+ mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
+ call [rbx]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp G_M53443_IG154
+ jmp G_M53443_IG150
;; size=100 bbWeight=2 PerfScore 61.00
-G_M53443_IG152:
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
- mov dword ptr [rbp-0x9C], edx
+G_M53443_IG148:
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
+ mov dword ptr [rbp-0x98], edx
mov dword ptr [rsp], edx
mov rsi, bword ptr [rbp-0x120]
movsx r9, word ptr [rsi+0x08]
movsx rsi, word ptr [rsi]
mov rbx, bword ptr [rbp-0x120]
movsx rdx, word ptr [rbx+0x02]
movsx rcx, word ptr [rbx+0x04]
movsx r8, word ptr [rbx+0x06]
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int
- call [rbx]System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int
- mov ebx, dword ptr [rbp-0x8C]
+ mov rbx, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
+ call [rbx]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,short,int):int
+ mov ebx, dword ptr [rbp-0x88]
mov r12, gword ptr [rbp-0xE8]
- jmp SHORT G_M53443_IG154
+ jmp SHORT G_M53443_IG150
;; size=98 bbWeight=2 PerfScore 69.00
-G_M53443_IG153:
- mov gword ptr [rbp-0x100], rcx
- mov dword ptr [rbp-0x98], r10d
+G_M53443_IG149:
+ mov dword ptr [rbp-0x90], r9d
+ mov dword ptr [rbp-0x94], r10d
mov bword ptr [rbp-0x110], r11
mov rdi, r11
- mov dword ptr [rbp-0x9C], edx
+ mov dword ptr [rbp-0x98], edx
mov esi, edx
mov rdx, bword ptr [rbp-0x120]
- mov ecx, dword ptr [rbp-0xA8]
+ mov ecx, dword ptr [rbp-0xA4]
mov r9, 0xD1FFAB1E ; code for System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
call [r9]System.Buffers.ProbabilisticMap:IndexOfAny(byref,int,byref,int):int
;; size=58 bbWeight=2 PerfScore 19.50
-G_M53443_IG154:
- jmp SHORT G_M53443_IG156
+G_M53443_IG150:
+ jmp SHORT G_M53443_IG152
;; size=2 bbWeight=2 PerfScore 4.00
-G_M53443_IG155:
- mov dword ptr [rbp-0x9C], edx
- mov bword ptr [rbp-0x110], r11
+G_M53443_IG151:
mov gword ptr [rbp-0x108], r8
- mov dword ptr [rbp-0x98], r10d
+ mov dword ptr [rbp-0x94], r10d
mov rcx, gword ptr [rbp-0x100]
+ lea rdi, bword ptr [rcx+0x0C]
mov gword ptr [rbp-0x100], rcx
- mov rdi, rcx
- mov rsi, 0xD1FFAB1E ; code for System.MemoryExtensions:AsSpan(System.String):System.ReadOnlySpan`1[ushort]
- call [rsi]System.MemoryExtensions:AsSpan(System.String):System.ReadOnlySpan`1[ushort]
- mov ecx, edx
- mov rdi, bword ptr [rbp-0x110]
- mov esi, dword ptr [rbp-0x9C]
- mov rdx, rax
- mov r8d, dword ptr [rbp-0x94]
- mov rax, 0xD1FFAB1E ; code for System.MemoryExtensions:IndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int
- call [rax]System.MemoryExtensions:IndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int
- ;; size=93 bbWeight=2 PerfScore 32.50
-G_M53443_IG156:
+ mov esi, dword ptr [rcx+0x08]
+ mov bword ptr [rbp-0x128], rdi
+ mov dword ptr [rbp-0xA8], esi
+ mov bword ptr [rbp-0x110], r11
+ mov rdi, r11
+ mov dword ptr [rbp-0x98], edx
+ mov esi, edx
+ mov rdx, bword ptr [rbp-0x128]
+ mov ecx, dword ptr [rbp-0xA8]
+ mov dword ptr [rbp-0x90], r9d
+ mov r8d, r9d
+ mov r9, 0xD1FFAB1E ; code for System.MemoryExtensions:IndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int
+ call [r9]System.MemoryExtensions:IndexOf(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int):int
+ ;; size=102 bbWeight=2 PerfScore 35.00
+G_M53443_IG152:
test eax, eax
- jl G_M53443_IG127
- mov ecx, dword ptr [rbp-0x9C]
- mov rdx, bword ptr [rbp-0x110]
+ jl G_M53443_IG121
+ mov ecx, dword ptr [rbp-0x98]
+ mov r8, bword ptr [rbp-0x110]
mov dword ptr [rbp-0x48], eax
mov edi, eax
;; size=26 bbWeight=4 PerfScore 18.00
-G_M53443_IG157:
+G_M53443_IG153:
dec edi
mov dword ptr [rbp-0x4C], edi
- mov r8d, edi
- cmp r8d, ecx
+ mov r10d, edi
+ cmp r10d, ecx
jae G_M53443_IG159
;; size=17 bbWeight=32 PerfScore 88.00
-G_M53443_IG158:
- mov dword ptr [rbp-0x9C], ecx
- cmp r8d, ecx
+G_M53443_IG154:
+ mov dword ptr [rbp-0x98], ecx
+ cmp r10d, ecx
jae G_M53443_IG163
- mov bword ptr [rbp-0x110], rdx
- mov qword ptr [rbp-0xC0], r8
- movzx r9, word ptr [rdx+2*r8]
- mov dword ptr [rbp-0xB8], r9d
- mov rdi, r12
- mov r10, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexNode:get_Str():System.String:this
- cmp dword ptr [rdi], edi
- call [r10]System.Text.RegularExpressions.RegexNode:get_Str():System.String:this
- mov gword ptr [rbp-0x148], rax
+ mov bword ptr [rbp-0x110], r8
+ mov qword ptr [rbp-0xC0], r10
+ movzx r11, word ptr [r8+2*r10]
+ mov dword ptr [rbp-0x84], r11d
+ mov rdx, gword ptr [r12+0x10]
+ mov gword ptr [rbp-0xF0], rdx
mov rdi, gword ptr [r15+0x08]
xor esi, esi
mov rdx, 0xD1FFAB1E ; uint[]
- mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
- call [rcx]CORINFO_HELP_LDELEMA_REF
+ mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_LDELEMA_REF
+ call [rax]CORINFO_HELP_LDELEMA_REF
+ mov rdi, gword ptr [rax]
+ test rdi, rdi
+ je SHORT G_M53443_IG155
+ mov ecx, dword ptr [rbp-0x84]
+ mov esi, ecx
+ sar esi, 4
+ cmp dword ptr [rdi+0x08], esi
+ jbe SHORT G_M53443_IG155
+ cmp esi, dword ptr [rdi+0x08]
+ jae G_M53443_IG163
+ mov edi, dword ptr [rdi+4*rsi+0x10]
+ mov esi, ecx
+ and esi, 15
+ add esi, esi
+ mov edx, 1
+ shlx esi, edx, esi
+ test edi, esi
+ je SHORT G_M53443_IG155
+ add esi, esi
+ test edi, esi
+ mov ecx, dword ptr [rbp-0x98]
+ mov rdi, qword ptr [rbp-0xC0]
+ mov r8, bword ptr [rbp-0x110]
+ jne G_M53443_IG153
+ jmp SHORT G_M53443_IG159
+ ;; size=171 bbWeight=16 PerfScore 644.00
+G_M53443_IG155:
+ mov ecx, dword ptr [rbp-0x84]
+ cmp ecx, 128
+ jl SHORT G_M53443_IG157
+ ;; size=14 bbWeight=16 PerfScore 36.00
+G_M53443_IG156:
+ mov edi, ecx
+ mov rsi, gword ptr [rbp-0xF0]
+ xor edx, edx
+ mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
+ call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClassRecursive(ushort,System.String,int):ubyte
+ jmp SHORT G_M53443_IG158
+ ;; size=25 bbWeight=8 PerfScore 54.00
+G_M53443_IG157:
+ mov edi, ecx
+ mov rsi, gword ptr [rbp-0xF0]
mov rdx, rax
- mov rsi, gword ptr [rbp-0x148]
- mov edi, dword ptr [rbp-0xB8]
- mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:CharInClass(ushort,System.String,byref):ubyte
- call [rax]System.Text.RegularExpressions.RegexCharClass:CharInClass(ushort,System.String,byref):ubyte
+ mov rax, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
+ call [rax]System.Text.RegularExpressions.RegexCharClass:<CharInClass>g__InitializeValue|127_0(ushort,System.String,byref):ubyte
+ ;; size=24 bbWeight=8 PerfScore 38.00
+G_M53443_IG158:
test eax, eax
- mov ecx, dword ptr [rbp-0x9C]
- mov rdx, bword ptr [rbp-0x110]
+ mov ecx, dword ptr [rbp-0x98]
mov rdi, qword ptr [rbp-0xC0]
- jne G_M53443_IG157
- ;; size=150 bbWeight=16 PerfScore 484.00
+ mov r8, bword ptr [rbp-0x110]
+ jne G_M53443_IG153
+ ;; size=28 bbWeight=16 PerfScore 68.00
G_M53443_IG159:
- mov rdi, r12
- mov rcx, 0xD1FFAB1E ; code for System.Text.RegularExpressions.RegexNode:get_M():int:this
- cmp dword ptr [rdi], edi
- call [rcx]System.Text.RegularExpressions.RegexNode:get_M():int:this
- mov esi, dword ptr [rbp-0x48]
+ mov eax, dword ptr [rbp-0x48]
mov edi, dword ptr [rbp-0x4C]
- mov edx, esi
- sub edx, edi
- dec edx
- cmp eax, edx
- jle SHORT G_M53443_IG160
- mov edx, dword ptr [rbp-0x44]
- lea edx, [rdx+rsi+0x01]
- mov eax, edx
+ mov ecx, eax
+ sub ecx, edi
+ dec ecx
+ cmp ecx, dword ptr [r12+0x20]
+ jge SHORT G_M53443_IG160
+ mov r9d, dword ptr [rbp-0x44]
+ lea r9d, [r9+rax+0x01]
+ mov eax, r9d
mov rcx, gword ptr [rbp-0x100]
mov r8, gword ptr [rbp-0x108]
- movzx r10, word ptr [rbp-0x98]
- jmp G_M53443_IG132
- ;; size=69 bbWeight=4 PerfScore 71.00
+ mov r9d, dword ptr [rbp-0x90]
+ movzx r10, word ptr [rbp-0x94]
+ jmp G_M53443_IG126
+ ;; size=65 bbWeight=4 PerfScore 60.00
G_M53443_IG160:
add edi, dword ptr [rbp-0x44]
inc edi
mov dword ptr [r13], edi
;; size=9 bbWeight=0.50 PerfScore 1.62
G_M53443_IG161:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M53443_IG162:
add rsp, 296
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M53443_IG163:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M53443_IG164:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
G_M53443_IG165:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
RWD00 dd G_M53443_IG06 - G_M53443_IG02
dd G_M53443_IG07 - G_M53443_IG02
dd G_M53443_IG08 - G_M53443_IG02
dd G_M53443_IG09 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG11 - G_M53443_IG02
dd G_M53443_IG10 - G_M53443_IG02
dd G_M53443_IG12 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG15 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG18 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
dd G_M53443_IG161 - G_M53443_IG02
+ dd G_M53443_IG53 - G_M53443_IG02
+ dd G_M53443_IG56 - G_M53443_IG02
dd G_M53443_IG59 - G_M53443_IG02
- dd G_M53443_IG62 - G_M53443_IG02
- dd G_M53443_IG65 - G_M53443_IG02
- dd G_M53443_IG131 - G_M53443_IG02
+ dd G_M53443_IG125 - G_M53443_IG02
RWD88 dd G_M53443_IG20 - G_M53443_IG02
dd G_M53443_IG21 - G_M53443_IG02
dd G_M53443_IG24 - G_M53443_IG02
+ dd G_M53443_IG27 - G_M53443_IG02
dd G_M53443_IG30 - G_M53443_IG02
- dd G_M53443_IG34 - G_M53443_IG02
- dd G_M53443_IG35 - G_M53443_IG02
-RWD112 dd G_M53443_IG71 - G_M53443_IG02
+ dd G_M53443_IG31 - G_M53443_IG02
+RWD112 dd G_M53443_IG65 - G_M53443_IG02
+ dd G_M53443_IG66 - G_M53443_IG02
+ dd G_M53443_IG69 - G_M53443_IG02
dd G_M53443_IG72 - G_M53443_IG02
- dd G_M53443_IG75 - G_M53443_IG02
- dd G_M53443_IG81 - G_M53443_IG02
- dd G_M53443_IG86 - G_M53443_IG02
- dd G_M53443_IG87 - G_M53443_IG02
-RWD136 dd G_M53443_IG138 - G_M53443_IG02
- dd G_M53443_IG139 - G_M53443_IG02
- dd G_M53443_IG142 - G_M53443_IG02
- dd G_M53443_IG150 - G_M53443_IG02
- dd G_M53443_IG151 - G_M53443_IG02
- dd G_M53443_IG152 - G_M53443_IG02
+ dd G_M53443_IG77 - G_M53443_IG02
+ dd G_M53443_IG78 - G_M53443_IG02
+RWD136 dd G_M53443_IG132 - G_M53443_IG02
+ dd G_M53443_IG133 - G_M53443_IG02
+ dd G_M53443_IG136 - G_M53443_IG02
+ dd G_M53443_IG141 - G_M53443_IG02
+ dd G_M53443_IG147 - G_M53443_IG02
+ dd G_M53443_IG148 - G_M53443_IG02
-; Total bytes of code 5639, prolog size 39, PerfScore 5069.57, instruction count 1343, allocated bytes for code 5639 (MethodHash=4ac32f3c) for method System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
+; Total bytes of code 5793, prolog size 39, PerfScore 5714.69, instruction count 1377, allocated bytes for code 5793 (MethodHash=4ac32f3c) for method System.Text.RegularExpressions.RegexFindOptimizations:TryFindNextStartingPositionLeftToRight(System.ReadOnlySpan`1[ushort],byref,int):ubyte:this (FullOpts)
154 (5.60 % of base) - System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this
; Assembly listing for method System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 28 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T14] ( 17, 50 ) ref -> r14 this class-hnd single-def <System.Xml.Xsl.Runtime.DecimalFormatter>
-; V01 arg1 [V01,T09] ( 17, 64 ) ref -> rbx class-hnd single-def <System.String>
-; V02 arg2 [V02,T12] ( 9, 56 ) ref -> r15 class-hnd single-def <System.Xml.Xsl.Runtime.DecimalFormat>
-; V03 loc0 [V03,T00] ( 43,411 ) ref -> r13 class-hnd exact single-def <System.Text.StringBuilder>
-; V04 loc1 [V04,T36] ( 5, 35 ) ubyte -> [rbp-0x2C]
-; V05 loc2 [V05,T51] ( 5, 19 ) ubyte -> [rbp-0x30]
-; V06 loc3 [V06,T31] ( 5, 43 ) ubyte -> [rbp-0x34]
-; V07 loc4 [V07,T32] ( 5, 43 ) ubyte -> [rbp-0x38]
-; V08 loc5 [V08,T16] ( 6, 50 ) ubyte -> [rbp-0x3C]
+; V00 this [V00,T12] ( 17, 50 ) ref -> rbx this class-hnd single-def <System.Xml.Xsl.Runtime.DecimalFormatter>
+; V01 arg1 [V01,T44] ( 10, 23 ) ref -> [rbp-0x78] class-hnd single-def <System.String>
+; V02 arg2 [V02,T14] ( 8, 48 ) ref -> r15 class-hnd single-def <System.Xml.Xsl.Runtime.DecimalFormat>
+; V03 loc0 [V03,T00] ( 43,411 ) ref -> r12 class-hnd exact single-def <System.Text.StringBuilder>
+; V04 loc1 [V04,T37] ( 5, 35 ) ubyte -> [rbp-0x2C]
+; V05 loc2 [V05,T53] ( 5, 19 ) ubyte -> [rbp-0x30]
+; V06 loc3 [V06,T30] ( 5, 43 ) ubyte -> [rbp-0x34]
+; V07 loc4 [V07,T31] ( 5, 43 ) ubyte -> [rbp-0x38]
+; V08 loc5 [V08,T15] ( 6, 50 ) ubyte -> [rbp-0x3C]
; V09 loc6 [V09,T35] ( 6, 36 ) ubyte -> [rbp-0x40]
-; V10 loc7 [V10,T52] ( 2, 17 ) ushort -> [rbp-0x44] spill-single-def
-; V11 loc8 [V11,T53] ( 2, 17 ) ushort -> [rbp-0x48] spill-single-def
-; V12 loc9 [V12,T54] ( 2, 17 ) ushort -> [rbp-0x4C] spill-single-def
-; V13 loc10 [V13,T55] ( 2, 17 ) ushort -> [rbp-0x50] spill-single-def
+; V10 loc7 [V10,T54] ( 2, 17 ) ushort -> [rbp-0x44] spill-single-def
+; V11 loc8 [V11,T55] ( 2, 17 ) ushort -> [rbp-0x48] spill-single-def
+; V12 loc9 [V12,T56] ( 2, 17 ) ushort -> [rbp-0x4C] spill-single-def
+; V13 loc10 [V13,T57] ( 2, 17 ) ushort -> [rbp-0x50] spill-single-def
; V14 loc11 [V14,T08] ( 9, 74 ) int -> [rbp-0x54]
-; V15 loc12 [V15,T34] ( 9, 37 ) int -> [rbp-0x58]
-; V16 loc13 [V16,T07] ( 13, 77 ) int -> [rbp-0x5C]
-; V17 loc14 [V17,T15] ( 7, 52 ) int -> [rbp-0x60]
+; V15 loc12 [V15,T34] ( 9, 37 ) int -> r14
+; V16 loc13 [V16,T07] ( 13, 77 ) int -> [rbp-0x58]
+; V17 loc14 [V17,T13] ( 7, 52 ) int -> [rbp-0x5C]
;* V18 loc15 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Globalization.NumberFormatInfo>
-; V19 loc16 [V19,T13] ( 10, 53 ) int -> [rbp-0x64]
-; V20 loc17 [V20,T03] ( 14,178 ) ushort -> [rbp-0x68] spill-single-def
-; V21 loc18 [V21,T33] ( 5, 40 ) int -> r12
+; V19 loc16 [V19,T11] ( 10, 53 ) int -> [rbp-0x60]
+; V20 loc17 [V20,T03] ( 14,178 ) ushort -> r14
+; V21 loc18 [V21,T32] ( 5, 40 ) int -> r14
;# V22 OutArgs [V22 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V23 tmp1 [V23,T57] ( 4, 8 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.Text.StringBuilder>
-; V24 tmp2 [V24,T68] ( 3, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
-; V25 tmp3 [V25,T72] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
-; V26 tmp4 [V26,T17] ( 3, 48 ) ref -> rax class-hnd exact "dup spill" <int[]>
-; V27 tmp5 [V27,T39] ( 2, 32 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "impAppendStmt" <System.Globalization.NumberFormatInfo>
-; V28 tmp6 [V28,T69] ( 3, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
-; V29 tmp7 [V29,T73] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
+; V23 tmp1 [V23,T58] ( 4, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Text.StringBuilder>
+; V24 tmp2 [V24,T69] ( 3, 0 ) ref -> r15 class-hnd exact "dup spill" <System.String[]>
+; V25 tmp3 [V25,T73] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
+; V26 tmp4 [V26,T16] ( 3, 48 ) ref -> rax class-hnd exact "dup spill" <int[]>
+; V27 tmp5 [V27,T40] ( 2, 32 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "impAppendStmt" <System.Globalization.NumberFormatInfo>
+; V28 tmp6 [V28,T70] ( 3, 0 ) ref -> r15 class-hnd exact "dup spill" <System.String[]>
+; V29 tmp7 [V29,T74] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
;* V30 tmp8 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V31 tmp9 [V31 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V32 tmp10 [V32,T70] ( 3, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
-; V33 tmp11 [V33,T74] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
+; V32 tmp10 [V32,T71] ( 3, 0 ) ref -> r15 class-hnd exact "dup spill" <System.String[]>
+; V33 tmp11 [V33,T75] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
;* V34 tmp12 [V34 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V35 tmp13 [V35,T71] ( 3, 0 ) ref -> r14 class-hnd exact "dup spill" <System.String[]>
-; V36 tmp14 [V36,T75] ( 2, 0 ) ref -> r15 class-hnd exact "impAppendStmt" <System.String>
-; V37 tmp15 [V37,T66] ( 5, 3 ) ref -> rbx
-; V38 tmp16 [V38,T58] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" <int[]>
+; V35 tmp13 [V35,T72] ( 3, 0 ) ref -> r15 class-hnd exact "dup spill" <System.String[]>
+; V36 tmp14 [V36,T76] ( 2, 0 ) ref -> rbx class-hnd exact "impAppendStmt" <System.String>
+; V37 tmp15 [V37,T67] ( 5, 3 ) ref -> r15
+; V38 tmp16 [V38,T59] ( 3, 6 ) ref -> rax class-hnd exact single-def "dup spill" <int[]>
;* V39 tmp17 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V40 tmp18 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V41 tmp19 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V42 tmp20 [V42,T59] ( 3, 6 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Globalization.NumberFormatInfo>
-; V43 tmp21 [V43,T67] ( 3, 3 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
+; V42 tmp20 [V42,T60] ( 3, 6 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.Globalization.NumberFormatInfo>
+; V43 tmp21 [V43,T68] ( 3, 3 ) ref -> rax class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
;* V44 tmp22 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V45 tmp23 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V46 tmp24 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V47 tmp25 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V48 tmp26 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V49 tmp27 [V49,T65] ( 3, 6 ) int -> [rbp-0x6C] spill-single-def "Inline stloc first use temp"
-; V50 tmp28 [V50,T60] ( 3, 6 ) ref -> [rbp-0x88] class-hnd spill-single-def "Inline stloc first use temp" <ushort[]>
+; V49 tmp27 [V49,T66] ( 3, 6 ) int -> r13 "Inline stloc first use temp"
+; V50 tmp28 [V50,T61] ( 3, 6 ) ref -> [rbp-0x88] class-hnd spill-single-def "Inline stloc first use temp" <ushort[]>
;* V51 tmp29 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V52 tmp30 [V52,T25] ( 3, 48 ) int -> rax "Inline stloc first use temp"
-; V53 tmp31 [V53,T18] ( 3, 48 ) ref -> r12 class-hnd "Inline stloc first use temp" <ushort[]>
-; V54 tmp32 [V54,T46] ( 3, 24 ) int -> rax "Inline return value spill temp"
-; V55 tmp33 [V55,T10] ( 4, 64 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inlining Arg" <System.Globalization.NumberFormatInfo>
+; V52 tmp30 [V52,T24] ( 3, 48 ) int -> rdi "Inline stloc first use temp"
+; V53 tmp31 [V53,T17] ( 3, 48 ) ref -> r13 class-hnd "Inline stloc first use temp" <ushort[]>
+; V54 tmp32 [V54,T48] ( 3, 24 ) int -> r14 "Inline return value spill temp"
+; V55 tmp33 [V55,T09] ( 4, 64 ) ref -> r14 class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V56 tmp34 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V57 tmp35 [V57,T19] ( 3, 48 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
-; V58 tmp36 [V58,T43] ( 3, 24 ) ref -> rax class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
-; V59 tmp37 [V59,T04] ( 6, 96 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
+; V57 tmp35 [V57,T18] ( 3, 48 ) ref -> rdi class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
+; V58 tmp36 [V58,T45] ( 3, 24 ) ref -> rax class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo>
+; V59 tmp37 [V59,T04] ( 6, 96 ) ref -> [rbp-0x90] class-hnd exact spill-single-def "Inlining Arg" <System.Globalization.NumberFormatInfo>
;* V60 tmp38 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V61 tmp39 [V61,T26] ( 3, 48 ) int -> rax "Inline stloc first use temp"
-; V62 tmp40 [V62,T20] ( 3, 48 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
+; V61 tmp39 [V61,T25] ( 3, 48 ) int -> r13 "Inline stloc first use temp"
+; V62 tmp40 [V62,T19] ( 3, 48 ) ref -> rax class-hnd "Inline stloc first use temp" <ushort[]>
;* V63 tmp41 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V64 tmp42 [V64,T27] ( 3, 48 ) int -> rax "Inline stloc first use temp"
-; V65 tmp43 [V65,T21] ( 3, 48 ) ref -> r12 class-hnd "Inline stloc first use temp" <ushort[]>
+; V64 tmp42 [V64,T26] ( 3, 48 ) int -> r11 "Inline stloc first use temp"
+; V65 tmp43 [V65,T20] ( 3, 48 ) ref -> r13 class-hnd "Inline stloc first use temp" <ushort[]>
;* V66 tmp44 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V67 tmp45 [V67,T28] ( 3, 48 ) int -> rax "Inline stloc first use temp"
-; V68 tmp46 [V68,T22] ( 3, 48 ) ref -> r12 class-hnd "Inline stloc first use temp" <ushort[]>
+; V67 tmp45 [V67,T27] ( 3, 48 ) int -> r14 "Inline stloc first use temp"
+; V68 tmp46 [V68,T21] ( 3, 48 ) ref -> r13 class-hnd "Inline stloc first use temp" <ushort[]>
;* V69 tmp47 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V70 tmp48 [V70,T29] ( 3, 48 ) int -> rax "Inline stloc first use temp"
-; V71 tmp49 [V71,T23] ( 3, 48 ) ref -> r12 class-hnd "Inline stloc first use temp" <ushort[]>
-; V72 tmp50 [V72,T06] ( 5, 80 ) int -> [rbp-0x70] spill-single-def "Inlining Arg"
-; V73 tmp51 [V73,T47] ( 3, 24 ) int -> r12 "Inline return value spill temp"
-; V74 tmp52 [V74,T41] ( 2, 32 ) int -> [rbp-0x74] spill-single-def "Inlining Arg"
+; V70 tmp48 [V70,T28] ( 3, 48 ) int -> r14 "Inline stloc first use temp"
+; V71 tmp49 [V71,T22] ( 3, 48 ) ref -> r13 class-hnd "Inline stloc first use temp" <ushort[]>
+; V72 tmp50 [V72,T06] ( 5, 80 ) int -> r14 "Inlining Arg"
+; V73 tmp51 [V73,T49] ( 3, 24 ) int -> r14 "Inline return value spill temp"
+; V74 tmp52 [V74,T42] ( 2, 32 ) int -> [rbp-0x64] spill-single-def "Inlining Arg"
;* V75 tmp53 [V75 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V76 tmp54 [V76,T40] ( 2, 32 ) byref -> r12 "Inlining Arg"
-; V77 tmp55 [V77,T37] ( 4, 32 ) int -> rax "Inline return value spill temp"
-;* V78 tmp56 [V78,T56] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V79 tmp57 [V79 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V80 tmp58 [V80 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V81 tmp59 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V82 tmp60 [V82,T48] ( 3, 24 ) int -> [rbp-0x78] spill-single-def "Inline stloc first use temp"
-; V83 tmp61 [V83,T44] ( 3, 24 ) ref -> [rbp-0x98] class-hnd spill-single-def "Inline stloc first use temp" <ushort[]>
-; V84 tmp62 [V84,T38] ( 3, 32 ) ubyte -> rax "Inline return value spill temp"
-; V85 tmp63 [V85,T11] ( 3, 64 ) byref -> r12 "Inlining Arg"
-; V86 tmp64 [V86,T05] ( 4, 96 ) short -> r9 ld-addr-op "Inlining Arg"
-;* V87 tmp65 [V87 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V88 tmp66 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V89 tmp67 [V89,T49] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
-; V90 tmp68 [V90,T45] ( 3, 24 ) ref -> rax class-hnd "Inline stloc first use temp" <ushort[]>
-;* V91 tmp69 [V91 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V92 tmp70 [V92,T30] ( 3, 48 ) int -> rdi "Inline stloc first use temp"
-; V93 tmp71 [V93,T24] ( 3, 48 ) ref -> rsi class-hnd "Inline stloc first use temp" <ushort[]>
-; V94 tmp72 [V94,T61] ( 3, 6 ) ref -> rdi single-def "arr expr"
-; V95 tmp73 [V95,T62] ( 3, 6 ) ref -> rdi single-def "arr expr"
-; V96 tmp74 [V96,T63] ( 3, 6 ) ref -> rdi single-def "arr expr"
-; V97 tmp75 [V97,T64] ( 3, 6 ) ref -> rdi single-def "arr expr"
-; V98 tmp76 [V98,T76] ( 2, 0 ) ref -> rdi "argument with side effect"
-; V99 tmp77 [V99,T77] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V100 tmp78 [V100,T78] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
-; V101 cse0 [V101,T01] ( 19,238 ) int -> registers multi-def "CSE #03: aggressive"
-; V102 cse1 [V102,T50] ( 3, 24 ) int -> rdi "CSE #15: conservative"
-; V103 cse2 [V103,T02] ( 14,180 ) int -> registers multi-def "CSE #04: aggressive"
-; V104 cse3 [V104,T42] ( 2, 32 ) int -> rax "CSE #16: moderate"
+; V76 tmp54 [V76,T41] ( 2, 32 ) byref -> r13 "Inlining Arg"
+; V77 tmp55 [V77,T38] ( 4, 32 ) int -> rax "Inline return value spill temp"
+;* V78 tmp56 [V78 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V79 tmp57 [V79,T50] ( 3, 24 ) int -> [rbp-0x68] spill-single-def "Inline stloc first use temp"
+; V80 tmp58 [V80,T46] ( 3, 24 ) ref -> [rbp-0x98] class-hnd spill-single-def "Inline stloc first use temp" <ushort[]>
+; V81 tmp59 [V81,T39] ( 3, 32 ) ubyte -> rax "Inline return value spill temp"
+; V82 tmp60 [V82,T10] ( 3, 64 ) byref -> rax "Inlining Arg"
+; V83 tmp61 [V83,T05] ( 4, 96 ) short -> r13 "Inlining Arg"
+;* V84 tmp62 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V85 tmp63 [V85,T51] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
+; V86 tmp64 [V86,T47] ( 3, 24 ) ref -> rax class-hnd "Inline stloc first use temp" <ushort[]>
+;* V87 tmp65 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V88 tmp66 [V88,T29] ( 3, 48 ) int -> rdi "Inline stloc first use temp"
+; V89 tmp67 [V89,T23] ( 3, 48 ) ref -> rsi class-hnd "Inline stloc first use temp" <ushort[]>
+; V90 tmp68 [V90,T62] ( 3, 6 ) ref -> rdi single-def "arr expr"
+; V91 tmp69 [V91,T63] ( 3, 6 ) ref -> rdi single-def "arr expr"
+; V92 tmp70 [V92,T64] ( 3, 6 ) ref -> rdi single-def "arr expr"
+; V93 tmp71 [V93,T65] ( 3, 6 ) ref -> r11 single-def "arr expr"
+; V94 tmp72 [V94,T77] ( 2, 0 ) ref -> rdi "argument with side effect"
+; V95 tmp73 [V95,T78] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V96 tmp74 [V96,T79] ( 2, 0 ) ref -> rdi single-def "argument with side effect"
+; V97 cse0 [V97,T33] ( 3, 40 ) int -> r13 "CSE #13: moderate"
+; V98 cse1 [V98,T01] ( 19,238 ) int -> r13 multi-def "CSE #03: aggressive"
+; V99 cse2 [V99,T52] ( 3, 24 ) int -> rdi "CSE #15: conservative"
+; V100 cse3 [V100,T02] ( 14,180 ) int -> registers multi-def "CSE #04: aggressive"
+; V101 cse4 [V101,T36] ( 8, 35 ) int -> [rbp-0x6C] spill-single-def "CSE #02: moderate"
+; V102 cse5 [V102,T43] ( 2, 32 ) int -> rax "CSE #16: moderate"
;
; Lcl frame size = 120
G_M65032_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 120
lea rbp, [rsp+0xA0]
- mov r14, rdi
- mov rbx, rsi
+ mov rbx, rdi
+ mov r14, rsi
mov r15, rdx
;; size=31 bbWeight=1 PerfScore 7.50
G_M65032_IG02:
- cmp dword ptr [rbx+0x08], 0
- je G_M65032_IG66
+ mov gword ptr [rbp-0x78], r14
+ mov r13d, dword ptr [r14+0x08]
+ mov dword ptr [rbp-0x6C], r13d
+ test r13d, r13d
+ je G_M65032_IG65
movzx rdi, word ptr [r15+0x12]
- mov word ptr [r14+0x28], di
+ mov word ptr [rbx+0x28], di
mov rdi, gword ptr [r15+0x08]
cmp byte ptr [rdi], dil
mov rax, 0xD1FFAB1E ; code for System.Object:MemberwiseClone():System.Object:this
call [rax]System.Object:MemberwiseClone():System.Object:this
mov byte ptr [rax+0x12C], 0
- lea rdi, bword ptr [r14+0x08]
+ lea rdi, bword ptr [rbx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.Text.StringBuilder
call CORINFO_HELP_NEWSFAST
- mov r13, rax
- mov dword ptr [r13+0x20], 0xD1FFAB1E
+ mov r12, rax
+ mov dword ptr [r12+0x20], 0xD1FFAB1E
mov rdi, 0xD1FFAB1E ; ushort[]
mov esi, 16
call CORINFO_HELP_NEWARR_1_VC
- lea rdi, bword ptr [r13+0x08]
+ lea rdi, bword ptr [r12+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov dword ptr [rbp-0x2C], 1
- xor eax, eax
- mov dword ptr [rbp-0x30], eax
+ mov eax, 1
xor ecx, ecx
+ mov dword ptr [rbp-0x30], ecx
xor edx, edx
xor r8d, r8d
- mov dword ptr [rbp-0x3C], r8d
xor r9d, r9d
- mov rdi, gword ptr [r14+0x08]
+ mov dword ptr [rbp-0x3C], r9d
+ xor r10d, r10d
+ mov rdi, gword ptr [rbx+0x08]
mov rdi, gword ptr [rdi+0x30]
cmp dword ptr [rdi+0x08], 0
- jbe G_M65032_IG65
- movzx r10, word ptr [rdi+0x0C]
- mov dword ptr [rbp-0x44], r10d
- mov rdi, gword ptr [r14+0x08]
- mov rdi, gword ptr [rdi+0x38]
- cmp dword ptr [rdi+0x08], 0
- jbe G_M65032_IG65
+ jbe G_M65032_IG64
movzx r11, word ptr [rdi+0x0C]
- mov dword ptr [rbp-0x48], r11d
- mov rdi, gword ptr [r14+0x08]
- mov rdi, gword ptr [rdi+0x80]
+ mov dword ptr [rbp-0x44], r11d
+ mov rdi, gword ptr [rbx+0x08]
+ mov rdi, gword ptr [rdi+0x38]
cmp dword ptr [rdi+0x08], 0
- jbe G_M65032_IG65
+ jbe G_M65032_IG64
movzx rsi, word ptr [rdi+0x0C]
- mov dword ptr [rbp-0x4C], esi
- mov rdi, gword ptr [r14+0x08]
- mov rdi, gword ptr [rdi+0x88]
+ mov dword ptr [rbp-0x48], esi
+ mov rdi, gword ptr [rbx+0x08]
+ mov rdi, gword ptr [rdi+0x80]
cmp dword ptr [rdi+0x08], 0
- jbe G_M65032_IG65
- movzx rdi, word ptr [rdi+0x0C]
- mov dword ptr [rbp-0x50], edi
- ;; size=252 bbWeight=1 PerfScore 72.00
+ ;; size=220 bbWeight=1 PerfScore 57.50
G_M65032_IG03:
- xor r10d, r10d
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x5C], -1
- mov esi, -1
- xor edi, edi
- cmp dword ptr [rbx+0x08], 0
+ jbe G_M65032_IG64
+ movzx rdi, word ptr [rdi+0x0C]
+ mov dword ptr [rbp-0x4C], edi
+ mov r11, gword ptr [rbx+0x08]
+ mov r11, gword ptr [r11+0x88]
+ cmp dword ptr [r11+0x08], 0
+ jbe G_M65032_IG64
+ movzx r11, word ptr [r11+0x0C]
+ mov dword ptr [rbp-0x50], r11d
+ xor r11d, r11d
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x58], -1
+ mov edi, -1
+ xor ecx, ecx
+ test r13d, r13d
jle G_M65032_IG07
- ;; size=31 bbWeight=1 PerfScore 6.75
+ ;; size=74 bbWeight=1 PerfScore 19.00
G_M65032_IG04:
- cmp edi, dword ptr [rbx+0x08]
- jae G_M65032_IG65
- mov dword ptr [rbp-0x64], edi
- mov eax, edi
- movzx rax, word ptr [rbx+2*rax+0x0C]
- mov dword ptr [rbp-0x68], eax
- movzx r12, word ptr [r15+0x10]
- cmp eax, r12d
+ cmp ecx, r13d
+ jae G_M65032_IG64
+ mov dword ptr [rbp-0x60], ecx
+ mov r14d, ecx
+ mov r13, gword ptr [rbp-0x78]
+ movzx r14, word ptr [r13+2*r14+0x0C]
+ movzx r13, word ptr [r15+0x10]
+ cmp r14d, r13d
jne G_M65032_IG09
- ;; size=36 bbWeight=4 PerfScore 46.00
+ ;; size=39 bbWeight=4 PerfScore 35.00
G_M65032_IG05:
- mov dword ptr [rbp-0x34], ecx
- test ecx, dword ptr [rbp-0x2C]
- jne G_M65032_IG68
- mov esi, dword ptr [r13+0x1C]
- mov eax, dword ptr [r13+0x18]
- add esi, eax
- mov dword ptr [rbp-0x60], esi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x2C], eax
+ test edx, eax
+ jne G_M65032_IG67
+ mov edi, dword ptr [r12+0x1C]
+ mov r13d, dword ptr [r12+0x18]
+ add edi, r13d
+ mov r14d, edi
mov dword ptr [rbp-0x40], 1
mov dword ptr [rbp-0x38], 1
- mov dword ptr [rbp-0x6C], eax
- mov rax, gword ptr [r13+0x08]
- mov gword ptr [rbp-0x88], rax
- mov eax, dword ptr [rax+0x08]
- mov r12d, dword ptr [rbp-0x6C]
- cmp eax, r12d
+ mov rdi, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x88], rdi
+ mov edi, dword ptr [rdi+0x08]
+ cmp edi, r13d
jbe SHORT G_M65032_IG08
- mov eax, r12d
- mov r12, gword ptr [rbp-0x88]
- mov word ptr [r12+2*rax+0x10], 35
- ;; size=83 bbWeight=2 PerfScore 43.50
+ mov edi, r13d
+ mov r13, gword ptr [rbp-0x88]
+ mov word ptr [r13+2*rdi+0x10], 35
+ ;; size=82 bbWeight=2 PerfScore 36.50
G_M65032_IG06:
- inc dword ptr [r13+0x18]
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=13 bbWeight=8 PerfScore 48.00
+ inc dword ptr [r12+0x18]
+ mov r11d, dword ptr [rbp-0x54]
+ jmp G_M65032_IG52
+ ;; size=14 bbWeight=8 PerfScore 48.00
G_M65032_IG07:
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x40], r9d
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG54
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, edi
+ mov r11d, dword ptr [rbp-0x54]
+ jmp G_M65032_IG53
+ ;; size=16 bbWeight=0.50 PerfScore 2.12
G_M65032_IG08:
- mov rdi, r13
+ mov rdi, r12
mov esi, 35
- mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
- call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=29 bbWeight=8 PerfScore 54.00
+ mov r13, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ call [r13]System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ mov r11d, dword ptr [rbp-0x54]
+ jmp G_M65032_IG52
+ ;; size=31 bbWeight=8 PerfScore 54.00
G_M65032_IG09:
- movzx r12, word ptr [r15+0x12]
- cmp eax, r12d
- jne SHORT G_M65032_IG13
- mov dword ptr [rbp-0x38], edx
- test edx, edx
- je SHORT G_M65032_IG11
- ;; size=17 bbWeight=16 PerfScore 88.00
+ movzx r13, word ptr [r15+0x12]
+ cmp r14d, r13d
+ jne SHORT G_M65032_IG14
+ mov dword ptr [rbp-0x38], r8d
+ test r8d, r8d
+ je SHORT G_M65032_IG12
+ ;; size=19 bbWeight=16 PerfScore 88.00
G_M65032_IG10:
- cmp dword ptr [rbp-0x2C], 0
- je G_M65032_IG69
- ;; size=10 bbWeight=8 PerfScore 24.00
+ mov dword ptr [rbp-0x2C], eax
+ test eax, eax
+ je G_M65032_IG68
+ ;; size=11 bbWeight=8 PerfScore 18.00
G_M65032_IG11:
- mov esi, dword ptr [r13+0x1C]
- mov eax, dword ptr [r13+0x18]
- add esi, eax
- mov dword ptr [rbp-0x60], esi
+ mov edi, dword ptr [r12+0x1C]
+ mov r13d, dword ptr [r12+0x18]
+ add edi, r13d
+ mov r14d, edi
mov dword ptr [rbp-0x40], 1
mov dword ptr [rbp-0x34], 1
- mov r12, gword ptr [r13+0x08]
- mov r9d, dword ptr [r12+0x08]
- cmp r9d, eax
- jbe SHORT G_M65032_IG12
- mov word ptr [r12+2*rax+0x10], 48
+ mov edi, r13d
+ mov r13, gword ptr [r12+0x08]
+ mov eax, dword ptr [r13+0x08]
+ cmp eax, edi
+ jbe SHORT G_M65032_IG13
+ mov word ptr [r13+2*rdi+0x10], 48
jmp G_M65032_IG06
- ;; size=54 bbWeight=16 PerfScore 248.00
+ ;; size=59 bbWeight=16 PerfScore 240.00
G_M65032_IG12:
- mov rdi, r13
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M65032_IG11
+ ;; size=5 bbWeight=8 PerfScore 24.00
+G_M65032_IG13:
+ mov rdi, r12
mov esi, 48
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
+ mov r11d, dword ptr [rbp-0x54]
+ jmp G_M65032_IG52
;; size=29 bbWeight=8 PerfScore 54.00
-G_M65032_IG13:
- movzx r12, word ptr [r15+0x14]
- cmp eax, r12d
- jne G_M65032_IG25
- ;; size=14 bbWeight=16 PerfScore 52.00
G_M65032_IG14:
- test r9d, r9d
- je G_M65032_IG70
- cmp dword ptr [rbp-0x30], 0
- jne G_M65032_IG71
- mov dword ptr [rbp-0x30], 1
- mov r11d, dword ptr [rbp-0x5C]
- test r11d, r11d
- jge SHORT G_M65032_IG15
- lea r11d, [rsi+0x01]
- ;; size=39 bbWeight=8 PerfScore 64.00
+ mov dword ptr [rbp-0x2C], eax
+ movzx rax, word ptr [r15+0x14]
+ cmp r14d, eax
+ jne G_M65032_IG26
+ ;; size=17 bbWeight=16 PerfScore 68.00
G_M65032_IG15:
- mov r10d, dword ptr [rbp-0x54]
test r10d, r10d
- jle SHORT G_M65032_IG16
- lea esi, [r11-0x01]
- cmp r10d, esi
- jne SHORT G_M65032_IG16
- lea esi, [r11-0x01]
- mov rdi, r13
+ je G_M65032_IG69
+ cmp dword ptr [rbp-0x30], 0
+ jne G_M65032_IG70
+ mov r13d, 1
+ mov esi, dword ptr [rbp-0x58]
+ test esi, esi
+ jge SHORT G_M65032_IG16
+ lea esi, [rdi+0x01]
+ mov r14d, esi
+ mov esi, r14d
+ ;; size=41 bbWeight=8 PerfScore 62.00
+G_M65032_IG16:
+ mov r11d, dword ptr [rbp-0x54]
+ test r11d, r11d
+ jle SHORT G_M65032_IG17
+ lea edi, [rsi-0x01]
+ cmp r11d, edi
+ jne SHORT G_M65032_IG17
+ dec esi
+ mov rdi, r12
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Remove(int,int):System.Text.StringBuilder:this
call [rax]System.Text.StringBuilder:Remove(int,int):System.Text.StringBuilder:this
- jmp SHORT G_M65032_IG17
- ;; size=44 bbWeight=8 PerfScore 82.00
-G_M65032_IG16:
- cmp r11d, r10d
- jle SHORT G_M65032_IG17
- mov eax, r11d
- sub eax, r10d
- dec eax
jmp SHORT G_M65032_IG18
- ;; size=15 bbWeight=8 PerfScore 32.00
+ ;; size=41 bbWeight=8 PerfScore 80.00
G_M65032_IG17:
- xor eax, eax
- ;; size=2 bbWeight=8 PerfScore 2.00
+ cmp esi, r11d
+ jle SHORT G_M65032_IG18
+ mov r14d, esi
+ sub r14d, r11d
+ dec r14d
+ jmp SHORT G_M65032_IG19
+ ;; size=16 bbWeight=8 PerfScore 32.00
G_M65032_IG18:
- cmp eax, 9
- mov dword ptr [rbp-0x58], eax
- jle SHORT G_M65032_IG19
- xor eax, eax
- mov dword ptr [rbp-0x58], eax
- ;; size=13 bbWeight=8 PerfScore 28.00
+ xor r14d, r14d
+ ;; size=3 bbWeight=8 PerfScore 2.00
G_M65032_IG19:
- mov rcx, gword ptr [r14+0x08]
- mov gword ptr [rbp-0x80], rcx
+ cmp r14d, 9
+ jle SHORT G_M65032_IG20
+ xor r14d, r14d
+ ;; size=9 bbWeight=8 PerfScore 12.00
+G_M65032_IG20:
+ mov rax, gword ptr [rbx+0x08]
+ mov gword ptr [rbp-0x80], rax
mov rdi, 0xD1FFAB1E ; int[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_VC
- mov ecx, dword ptr [rbp-0x58]
- mov dword ptr [rax+0x10], ecx
+ mov dword ptr [rax+0x10], r14d
mov rdi, gword ptr [rbp-0x80]
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:set_NumberGroupSizes(int[]):this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.NumberFormatInfo:set_NumberGroupSizes(int[]):this
cmp dword ptr [rbp-0x3C], 0
- jne SHORT G_M65032_IG20
- mov rax, gword ptr [r14+0x08]
- mov gword ptr [rbp-0x90], rax
- cmp byte ptr [rax], al
- mov rdi, rax
- mov rcx, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:VerifyWritable():this
- call [rcx]System.Globalization.NumberFormatInfo:VerifyWritable():this
+ jne SHORT G_M65032_IG21
+ mov r14, gword ptr [rbx+0x08]
+ cmp byte ptr [r14], r14b
+ mov rdi, r14
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:VerifyWritable():this
+ call [rax]System.Globalization.NumberFormatInfo:VerifyWritable():this
xor edi, edi
- mov rax, gword ptr [rbp-0x90]
- mov dword ptr [rax+0x108], edi
- ;; size=104 bbWeight=8 PerfScore 230.00
-G_M65032_IG20:
- mov rdi, r13
+ mov dword ptr [r14+0x108], edi
+ ;; size=90 bbWeight=8 PerfScore 206.00
+G_M65032_IG21:
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
- lea rdi, bword ptr [r14+0x18]
+ lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r13
+ mov rdi, r12
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
call [rax]System.Text.StringBuilder:set_Length(int):this
+ mov r14d, -1
mov dword ptr [rbp-0x5C], -1
- mov dword ptr [rbp-0x60], -1
- xor r10d, r10d
- mov dword ptr [rbp-0x54], r10d
- ;; size=65 bbWeight=8 PerfScore 98.00
-G_M65032_IG21:
- mov dword ptr [rbp-0x40], r10d
- ;; size=4 bbWeight=8 PerfScore 8.00
+ xor r11d, r11d
+ mov dword ptr [rbp-0x54], r11d
+ ;; size=64 bbWeight=8 PerfScore 92.00
G_M65032_IG22:
- mov dword ptr [rbp-0x34], r10d
+ mov dword ptr [rbp-0x40], r11d
;; size=4 bbWeight=8 PerfScore 8.00
G_M65032_IG23:
- mov dword ptr [rbp-0x38], r10d
+ mov dword ptr [rbp-0x34], r11d
;; size=4 bbWeight=8 PerfScore 8.00
G_M65032_IG24:
- mov dword ptr [rbp-0x3C], r10d
+ mov dword ptr [rbp-0x38], r11d
+ ;; size=4 bbWeight=8 PerfScore 8.00
+G_M65032_IG25:
+ mov dword ptr [rbp-0x3C], r11d
mov dword ptr [rbp-0x2C], 1
mov rdi, gword ptr [r15+0x08]
cmp byte ptr [rdi], dil
- mov r12, 0xD1FFAB1E ; code for System.Object:MemberwiseClone():System.Object:this
- call [r12]System.Object:MemberwiseClone():System.Object:this
+ mov r11, 0xD1FFAB1E ; code for System.Object:MemberwiseClone():System.Object:this
+ call [r11]System.Object:MemberwiseClone():System.Object:this
mov byte ptr [rax+0x12C], 0
- lea rdi, bword ptr [r14+0x10]
+ lea rdi, bword ptr [rbx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov r12, gword ptr [r14+0x10]
- cmp byte ptr [r12], r12b
+ mov rax, gword ptr [rbx+0x10]
+ mov gword ptr [rbp-0x90], rax
+ cmp byte ptr [rax], al
mov rdi, 0xD1FFAB1E ; ''
mov rsi, 0xD1FFAB1E ; 'value'
- mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
- call [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
- mov rdi, r12
+ mov rcx, 0xD1FFAB1E ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ call [rcx]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
+ mov rdi, gword ptr [rbp-0x90]
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:VerifyWritable():this
call [rax]System.Globalization.NumberFormatInfo:VerifyWritable():this
mov rdi, 0xD1FFAB1E ; ''
- mov gword ptr [r12+0x28], rdi
+ mov rax, gword ptr [rbp-0x90]
+ mov gword ptr [rax+0x28], rdi
xor rdi, rdi
- mov gword ptr [r12+0x98], rdi
- mov rdi, r12
+ mov gword ptr [rax+0x98], rdi
+ mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:InitializeInvariantAndNegativeSignFlags():this
call [rax]System.Globalization.NumberFormatInfo:InitializeInvariantAndNegativeSignFlags():this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=155 bbWeight=8 PerfScore 274.00
-G_M65032_IG25:
- cmp eax, dword ptr [rbp-0x44]
- jne SHORT G_M65032_IG27
+ mov dword ptr [rbp-0x58], r14d
+ mov dword ptr [rbp-0x30], r13d
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=180 bbWeight=8 PerfScore 320.00
+G_M65032_IG26:
+ cmp r14d, dword ptr [rbp-0x44]
+ jne G_M65032_IG28
cmp dword ptr [rbp-0x3C], 0
- jne G_M65032_IG72
- mov dword ptr [rbp-0x40], r9d
- mov r11d, dword ptr [r13+0x1C]
- mov eax, dword ptr [r13+0x18]
- add r11d, eax
- mov dword ptr [rbp-0x5C], r11d
+ jne G_M65032_IG71
+ mov esi, dword ptr [r12+0x1C]
+ mov r13d, dword ptr [r12+0x18]
+ add esi, r13d
+ mov dword ptr [rbp-0x58], esi
mov dword ptr [rbp-0x3C], 1
- xor ecx, ecx
- mov dword ptr [rbp-0x2C], ecx
xor edx, edx
- mov dword ptr [rbp-0x34], edx
- xor r12d, r12d
- mov dword ptr [rbp-0x38], r12d
- mov rcx, gword ptr [r13+0x08]
- mov r9d, dword ptr [rcx+0x08]
- cmp r9d, eax
- jbe SHORT G_M65032_IG26
- mov word ptr [rcx+2*rax+0x10], 46
- mov dword ptr [rbp-0x60], esi
+ mov dword ptr [rbp-0x2C], edx
+ xor r8d, r8d
+ mov dword ptr [rbp-0x34], r8d
+ xor esi, esi
+ mov dword ptr [rbp-0x38], esi
+ mov rax, gword ptr [r12+0x08]
+ mov edx, dword ptr [rax+0x08]
+ cmp edx, r13d
+ jbe SHORT G_M65032_IG27
+ mov edx, r13d
+ mov word ptr [rax+2*rdx+0x10], 46
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, edi
jmp G_M65032_IG06
- ;; size=86 bbWeight=16 PerfScore 420.00
-G_M65032_IG26:
- mov dword ptr [rbp-0x60], esi
- mov rdi, r13
+ ;; size=95 bbWeight=16 PerfScore 412.00
+G_M65032_IG27:
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x40], r10d
+ mov rdi, r12
mov esi, 46
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=32 bbWeight=8 PerfScore 62.00
-G_M65032_IG27:
- cmp eax, dword ptr [rbp-0x48]
- jne SHORT G_M65032_IG29
- mov dword ptr [rbp-0x40], r9d
- mov r10d, dword ptr [r13+0x1C]
- mov eax, dword ptr [r13+0x18]
- add r10d, eax
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], r10d
- mov r12, gword ptr [r13+0x08]
- mov r9d, dword ptr [r12+0x08]
- cmp r9d, eax
- jbe SHORT G_M65032_IG28
- mov r10d, dword ptr [rbp-0x54]
- mov word ptr [r12+2*rax+0x10], 44
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- jmp G_M65032_IG06
- ;; size=69 bbWeight=16 PerfScore 360.00
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=40 bbWeight=8 PerfScore 78.00
G_M65032_IG28:
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- mov rdi, r13
+ cmp r14d, dword ptr [rbp-0x48]
+ jne G_M65032_IG30
+ mov r11d, dword ptr [r12+0x1C]
+ mov r13d, dword ptr [r12+0x18]
+ add r11d, r13d
+ mov r14d, r11d
+ mov dword ptr [rbp-0x54], r14d
+ mov dword ptr [rbp-0x5C], r14d
+ mov r11d, r13d
+ mov r13, gword ptr [r12+0x08]
+ mov eax, dword ptr [r13+0x08]
+ cmp eax, r11d
+ jbe SHORT G_M65032_IG29
+ mov r14d, dword ptr [rbp-0x54]
+ mov eax, r11d
+ mov word ptr [r13+2*rax+0x10], 44
+ mov dword ptr [rbp-0x54], r14d
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG06
+ ;; size=90 bbWeight=16 PerfScore 388.00
+G_M65032_IG29:
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, dword ptr [rbp-0x54]
+ mov rdi, r12
mov esi, 44
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=35 bbWeight=8 PerfScore 70.00
-G_M65032_IG29:
- mov r10d, dword ptr [rbp-0x54]
- cmp eax, dword ptr [rbp-0x4C]
- jne SHORT G_M65032_IG31
- mov dword ptr [rbp-0x40], r9d
- mov eax, dword ptr [r13+0x18]
- mov r12, gword ptr [r13+0x08]
- mov r9d, dword ptr [r12+0x08]
- cmp r9d, eax
- jbe SHORT G_M65032_IG30
- mov word ptr [r12+2*rax+0x10], 37
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- jmp G_M65032_IG06
- ;; size=57 bbWeight=16 PerfScore 308.00
+ mov r11d, r14d
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=47 bbWeight=8 PerfScore 88.00
G_M65032_IG30:
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- mov rdi, r13
+ mov r11d, dword ptr [rbp-0x54]
+ cmp r14d, dword ptr [rbp-0x4C]
+ jne SHORT G_M65032_IG32
+ mov r13d, dword ptr [r12+0x18]
+ mov r14d, r13d
+ mov r13, gword ptr [r12+0x08]
+ mov eax, dword ptr [r13+0x08]
+ cmp eax, r14d
+ jbe SHORT G_M65032_IG31
+ mov eax, r14d
+ mov word ptr [r13+2*rax+0x10], 37
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, edi
+ jmp G_M65032_IG06
+ ;; size=66 bbWeight=16 PerfScore 304.00
+G_M65032_IG31:
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov rdi, r12
mov esi, 37
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=42 bbWeight=8 PerfScore 86.00
-G_M65032_IG31:
- cmp eax, dword ptr [rbp-0x50]
- jne SHORT G_M65032_IG33
- mov dword ptr [rbp-0x40], r9d
- mov eax, dword ptr [r13+0x18]
- mov r12, gword ptr [r13+0x08]
- mov r9d, dword ptr [r12+0x08]
- cmp r9d, eax
- jbe SHORT G_M65032_IG32
- mov word ptr [r12+2*rax+0x10], 0x2030
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- jmp G_M65032_IG06
- ;; size=53 bbWeight=16 PerfScore 292.00
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=51 bbWeight=8 PerfScore 102.00
G_M65032_IG32:
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- mov rdi, r13
+ cmp r14d, dword ptr [rbp-0x50]
+ jne SHORT G_M65032_IG34
+ mov r13d, dword ptr [r12+0x18]
+ mov r14d, r13d
+ mov r13, gword ptr [r12+0x08]
+ mov eax, dword ptr [r13+0x08]
+ cmp eax, r14d
+ jbe SHORT G_M65032_IG33
+ mov eax, r14d
+ mov word ptr [r13+2*rax+0x10], 0x2030
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov r14d, edi
+ jmp G_M65032_IG06
+ ;; size=62 bbWeight=16 PerfScore 288.00
+G_M65032_IG33:
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ mov rdi, r12
mov esi, 0x2030
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=42 bbWeight=8 PerfScore 86.00
-G_M65032_IG33:
- cmp eax, 39
- jne G_M65032_IG38
- ;; size=9 bbWeight=16 PerfScore 20.00
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=51 bbWeight=8 PerfScore 102.00
G_M65032_IG34:
- mov edi, dword ptr [rbp-0x64]
- lea eax, [rdi+0x01]
- mov dword ptr [rbp-0x70], eax
- mov r12d, dword ptr [rbx+0x08]
- sub r12d, eax
- mov dword ptr [rbp-0x74], r12d
- cmp dword ptr [rbx+0x08], eax
- jb G_M65032_IG73
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x38], edx
- mov dword ptr [rbp-0x40], r9d
- mov r12d, dword ptr [rbx+0x08]
- movsxd r12, eax
- lea r12, bword ptr [rbx+2*r12+0x0C]
+ cmp r14d, 39
+ jne G_M65032_IG39
+ ;; size=10 bbWeight=16 PerfScore 20.00
+G_M65032_IG35:
+ mov ecx, dword ptr [rbp-0x60]
+ lea r14d, [rcx+0x01]
+ mov r13d, dword ptr [rbp-0x6C]
+ mov eax, r13d
+ sub eax, r14d
+ mov dword ptr [rbp-0x64], eax
+ cmp r13d, r14d
+ jb G_M65032_IG72
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov dword ptr [rbp-0x40], r10d
+ movsxd r13, r14d
+ mov rax, gword ptr [rbp-0x78]
+ lea r13, bword ptr [rax+2*r13+0x0C]
+ mov rdi, r13
+ mov edx, dword ptr [rbp-0x64]
mov esi, 39
- mov rdi, r12
- mov edx, dword ptr [rbp-0x74]
- mov r12, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- call [r12]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ mov r13, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ call [r13]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
- jl SHORT G_M65032_IG35
- mov r12d, dword ptr [rbp-0x70]
- add r12d, eax
- jmp SHORT G_M65032_IG36
- ;; size=96 bbWeight=8 PerfScore 218.00
-G_M65032_IG35:
- mov r12d, eax
- ;; size=3 bbWeight=8 PerfScore 2.00
+ jl SHORT G_M65032_IG36
+ add r14d, eax
+ jmp SHORT G_M65032_IG37
+ ;; size=93 bbWeight=8 PerfScore 166.00
G_M65032_IG36:
- test r12d, r12d
- jge SHORT G_M65032_IG37
- mov r12d, dword ptr [rbx+0x08]
- dec r12d
- ;; size=12 bbWeight=8 PerfScore 28.00
+ mov r14d, eax
+ ;; size=3 bbWeight=8 PerfScore 2.00
G_M65032_IG37:
- mov eax, dword ptr [rbp-0x64]
- mov ecx, r12d
+ test r14d, r14d
+ jge SHORT G_M65032_IG38
+ mov r13d, dword ptr [rbp-0x6C]
+ lea r14d, [r13-0x01]
+ ;; size=13 bbWeight=8 PerfScore 22.00
+G_M65032_IG38:
+ mov eax, dword ptr [rbp-0x60]
+ mov ecx, r14d
sub ecx, eax
inc ecx
- mov rdi, r13
- mov rsi, rbx
+ mov rdi, r12
+ mov rsi, gword ptr [rbp-0x78]
mov edx, eax
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(System.String,int,int):System.Text.StringBuilder:this
call [rax]System.Text.StringBuilder:Append(System.String,int,int):System.Text.StringBuilder:this
- mov dword ptr [rbp-0x64], r12d
- mov r10d, dword ptr [rbp-0x54]
- jmp G_M65032_IG53
- ;; size=43 bbWeight=8 PerfScore 78.00
-G_M65032_IG38:
- lea r12d, [rax-0x30]
- cmp r12d, 9
- jbe SHORT G_M65032_IG41
- ;; size=10 bbWeight=16 PerfScore 28.00
+ mov dword ptr [rbp-0x60], r14d
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
+ jmp G_M65032_IG52
+ ;; size=48 bbWeight=8 PerfScore 92.00
G_M65032_IG39:
- cmp eax, 7
- jne SHORT G_M65032_IG43
- ;; size=5 bbWeight=8 PerfScore 10.00
+ lea eax, [r14-0x30]
+ cmp eax, 9
+ jbe SHORT G_M65032_IG41
+ ;; size=9 bbWeight=16 PerfScore 28.00
G_M65032_IG40:
- mov eax, dword ptr [rbp-0x68]
- ;; size=3 bbWeight=4 PerfScore 4.00
+ cmp r14d, 7
+ jne SHORT G_M65032_IG42
+ ;; size=6 bbWeight=8 PerfScore 10.00
G_M65032_IG41:
- cmp word ptr [r15+0x12], 48
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x40], r9d
- je SHORT G_M65032_IG42
- mov r12d, dword ptr [r13+0x18]
- mov dword ptr [rbp-0x78], r12d
- mov r9, gword ptr [r13+0x08]
- mov gword ptr [rbp-0x98], r9
- mov r9d, dword ptr [r9+0x08]
- mov ecx, dword ptr [rbp-0x78]
- cmp r9d, ecx
- jbe SHORT G_M65032_IG44
- mov r9, gword ptr [rbp-0x98]
- mov word ptr [r9+2*rcx+0x10], 7
- lea ecx, [r12+0x01]
- mov dword ptr [r13+0x18], ecx
- jmp SHORT G_M65032_IG45
- ;; size=72 bbWeight=8 PerfScore 174.00
+ cmp r13d, 48
+ mov dword ptr [rbp-0x40], r10d
+ je SHORT G_M65032_IG44
+ mov r13d, dword ptr [r12+0x18]
+ mov dword ptr [rbp-0x68], r13d
+ mov rax, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x98], rax
+ mov eax, dword ptr [rax+0x08]
+ mov r10d, dword ptr [rbp-0x68]
+ cmp eax, r10d
+ jbe SHORT G_M65032_IG43
+ mov eax, r10d
+ mov r10, gword ptr [rbp-0x98]
+ mov word ptr [r10+2*rax+0x10], 7
+ lea eax, [r13+0x01]
+ mov dword ptr [r12+0x18], eax
+ jmp SHORT G_M65032_IG44
+ ;; size=72 bbWeight=8 PerfScore 146.00
G_M65032_IG42:
- jmp SHORT G_M65032_IG45
- ;; size=2 bbWeight=4 PerfScore 8.00
+ mov dword ptr [rbp-0x40], r10d
+ jmp SHORT G_M65032_IG44
+ ;; size=6 bbWeight=4 PerfScore 12.00
G_M65032_IG43:
- mov dword ptr [rbp-0x34], ecx
- mov dword ptr [rbp-0x40], r9d
- jmp SHORT G_M65032_IG45
- ;; size=9 bbWeight=4 PerfScore 16.00
-G_M65032_IG44:
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x38], edx
- mov rdi, r13
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov rdi, r12
mov esi, 7
- mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
- call [rcx]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov edx, dword ptr [rbp-0x38]
- mov esi, dword ptr [rbp-0x60]
- mov r10d, dword ptr [rbp-0x54]
- ;; size=40 bbWeight=8 PerfScore 78.00
+ mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ mov edx, dword ptr [rbp-0x34]
+ mov edi, dword ptr [rbp-0x5C]
+ mov r8d, dword ptr [rbp-0x38]
+ mov r11d, dword ptr [rbp-0x54]
+ ;; size=48 bbWeight=8 PerfScore 94.00
+G_M65032_IG44:
+ mov rax, 0xD1FFAB1E
+ movsx r13, r14w
+ movzx r10, r13w
+ dec r10d
+ cmp r10d, 254
+ jae SHORT G_M65032_IG46
+ ;; size=30 bbWeight=16 PerfScore 36.00
G_M65032_IG45:
- mov r12, 0xD1FFAB1E
- movsx r9, word ptr [rbp-0x68]
- movzx rcx, r9w
- dec ecx
- cmp ecx, 254
- jae SHORT G_M65032_IG47
- ;; size=29 bbWeight=16 PerfScore 80.00
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov rdi, rax
+ mov esi, r13d
+ mov edx, 12
+ mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
+ call [rax]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
+ jmp SHORT G_M65032_IG47
+ ;; size=39 bbWeight=8 PerfScore 80.00
G_M65032_IG46:
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x38], edx
- mov rdi, r12
- mov esi, r9d
+ mov dword ptr [rbp-0x54], r11d
+ mov dword ptr [rbp-0x5C], edi
+ mov dword ptr [rbp-0x34], edx
+ mov dword ptr [rbp-0x38], r8d
+ mov rdi, rax
+ mov esi, r13d
mov edx, 12
- mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
- call [rcx]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
- jmp SHORT G_M65032_IG48
- ;; size=35 bbWeight=8 PerfScore 72.00
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
+ call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
+ ;; size=37 bbWeight=8 PerfScore 64.00
G_M65032_IG47:
- mov dword ptr [rbp-0x54], r10d
- mov dword ptr [rbp-0x60], esi
- mov dword ptr [rbp-0x38], edx
- mov rdi, r12
- mov esi, r9d
- mov edx, 12
- mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
- call [rcx]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
- ;; size=33 bbWeight=8 PerfScore 56.00
-G_M65032_IG48:
test eax, eax
- je SHORT G_M65032_IG51
+ je SHORT G_M65032_IG50
;; size=4 bbWeight=16 PerfScore 20.00
-G_M65032_IG49:
- mov edi, dword ptr [r13+0x18]
+G_M65032_IG48:
+ mov edi, dword ptr [r12+0x18]
mov esi, edi
- mov rax, gword ptr [r13+0x08]
+ mov rax, gword ptr [r12+0x08]
cmp dword ptr [rax+0x08], esi
- jbe SHORT G_M65032_IG50
+ jbe SHORT G_M65032_IG49
mov word ptr [rax+2*rsi+0x10], 92
inc edi
- mov dword ptr [r13+0x18], edi
- jmp SHORT G_M65032_IG51
- ;; size=30 bbWeight=8 PerfScore 100.00
-G_M65032_IG50:
- mov rdi, r13
+ mov dword ptr [r12+0x18], edi
+ jmp SHORT G_M65032_IG50
+ ;; size=33 bbWeight=8 PerfScore 100.00
+G_M65032_IG49:
+ mov rdi, r12
mov esi, 92
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
;; size=20 bbWeight=8 PerfScore 30.00
-G_M65032_IG51:
- mov edi, dword ptr [r13+0x18]
- mov rsi, gword ptr [r13+0x08]
+G_M65032_IG50:
+ mov edi, dword ptr [r12+0x18]
+ mov rsi, gword ptr [r12+0x08]
mov eax, dword ptr [rsi+0x08]
cmp eax, edi
- jbe SHORT G_M65032_IG52
- mov r12d, dword ptr [rbp-0x68]
- mov word ptr [rsi+2*rdi+0x10], r12w
+ jbe SHORT G_M65032_IG51
+ mov word ptr [rsi+2*rdi+0x10], r14w
+ mov r14d, dword ptr [rbp-0x5C]
jmp G_M65032_IG06
- ;; size=30 bbWeight=16 PerfScore 180.00
-G_M65032_IG52:
- mov r12d, dword ptr [rbp-0x68]
- mov rdi, r13
- mov esi, r12d
+ ;; size=32 bbWeight=16 PerfScore 180.00
+G_M65032_IG51:
+ mov rdi, r12
+ mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
- mov r10d, dword ptr [rbp-0x54]
+ mov r11d, dword ptr [rbp-0x54]
+ mov r14d, dword ptr [rbp-0x5C]
;; size=26 bbWeight=2 PerfScore 11.50
+G_M65032_IG52:
+ mov ecx, dword ptr [rbp-0x60]
+ inc ecx
+ mov r13d, dword ptr [rbp-0x6C]
+ cmp r13d, ecx
+ mov eax, dword ptr [rbp-0x2C]
+ mov edx, dword ptr [rbp-0x34]
+ mov r8d, dword ptr [rbp-0x38]
+ jg SHORT G_M65032_IG55
+ ;; size=24 bbWeight=4 PerfScore 26.00
G_M65032_IG53:
- mov edi, dword ptr [rbp-0x64]
- inc edi
- cmp dword ptr [rbx+0x08], edi
- mov ecx, dword ptr [rbp-0x34]
- mov edx, dword ptr [rbp-0x38]
- jg SHORT G_M65032_IG56
- ;; size=16 bbWeight=4 PerfScore 29.00
-G_M65032_IG54:
cmp dword ptr [rbp-0x40], 0
- je G_M65032_IG67
- mov r12d, dword ptr [rbp-0x30]
- test r12d, r12d
- jne SHORT G_M65032_IG57
+ je G_M65032_IG66
+ mov r13d, dword ptr [rbp-0x30]
+ test r13d, r13d
+ jne SHORT G_M65032_IG56
;; size=19 bbWeight=1 PerfScore 5.25
-G_M65032_IG55:
- mov rbx, gword ptr [r14+0x08]
- jmp SHORT G_M65032_IG58
+G_M65032_IG54:
+ mov r15, gword ptr [rbx+0x08]
+ jmp SHORT G_M65032_IG57
;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M65032_IG56:
- mov dword ptr [rbp-0x54], r10d
- mov esi, dword ptr [rbp-0x60]
- mov r9d, dword ptr [rbp-0x40]
+G_M65032_IG55:
+ mov dword ptr [rbp-0x54], r11d
+ mov edi, r14d
+ mov r10d, dword ptr [rbp-0x40]
jmp G_M65032_IG04
- ;; size=16 bbWeight=2 PerfScore 10.00
-G_M65032_IG57:
- mov rbx, gword ptr [r14+0x10]
+ ;; size=16 bbWeight=2 PerfScore 8.50
+G_M65032_IG56:
+ mov r15, gword ptr [rbx+0x10]
;; size=4 bbWeight=0.50 PerfScore 1.00
-G_M65032_IG58:
- mov esi, dword ptr [rbp-0x60]
- lea edi, [rsi+0x01]
- mov r11d, dword ptr [rbp-0x5C]
- test r11d, r11d
- cmovl r11d, edi
- mov rdi, r13
- mov esi, r10d
- mov edx, r11d
+G_M65032_IG57:
+ lea edi, [r14+0x01]
+ mov esi, dword ptr [rbp-0x58]
+ test esi, esi
+ cmovl esi, edi
+ mov dword ptr [rbp-0x58], esi
+ mov rdi, r12
+ mov esi, r11d
+ mov edx, dword ptr [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.Runtime.DecimalFormatter:RemoveTrailingComma(System.Text.StringBuilder,int,int):int
call [rax]System.Xml.Xsl.Runtime.DecimalFormatter:RemoveTrailingComma(System.Text.StringBuilder,int,int):int
- mov r15d, eax
+ mov r14d, eax
xor edi, edi
- cmp r15d, 9
- cmovg r15d, edi
+ cmp r14d, 9
+ cmovg r14d, edi
mov rdi, 0xD1FFAB1E ; int[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_VC
- mov dword ptr [rax+0x10], r15d
- mov rdi, rbx
+ mov dword ptr [rax+0x10], r14d
+ mov rdi, r15
mov rsi, rax
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:set_NumberGroupSizes(int[]):this
cmp dword ptr [rdi], edi
call [rax]System.Globalization.NumberFormatInfo:set_NumberGroupSizes(int[]):this
cmp dword ptr [rbp-0x3C], 0
- jne SHORT G_M65032_IG60
- ;; size=101 bbWeight=1 PerfScore 20.25
-G_M65032_IG59:
- mov rdi, rbx
+ jne SHORT G_M65032_IG59
+ ;; size=99 bbWeight=1 PerfScore 21.00
+G_M65032_IG58:
+ mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:VerifyWritable():this
call [rax]System.Globalization.NumberFormatInfo:VerifyWritable():this
xor edi, edi
- mov dword ptr [rbx+0x108], edi
- ;; size=23 bbWeight=0.50 PerfScore 2.38
-G_M65032_IG60:
- test r12d, r12d
- je SHORT G_M65032_IG63
+ mov dword ptr [r15+0x108], edi
+ ;; size=24 bbWeight=0.50 PerfScore 2.38
+G_M65032_IG59:
+ test r13d, r13d
+ je SHORT G_M65032_IG62
;; size=5 bbWeight=1 PerfScore 1.25
-G_M65032_IG61:
- mov rdi, r13
+G_M65032_IG60:
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
- lea rdi, bword ptr [r14+0x20]
+ lea rdi, bword ptr [rbx+0x20]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
nop
;; size=28 bbWeight=0.50 PerfScore 2.75
-G_M65032_IG62:
+G_M65032_IG61:
add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M65032_IG63:
- mov rdi, r13
+G_M65032_IG62:
+ mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
- lea rdi, bword ptr [r14+0x18]
+ lea rdi, bword ptr [rbx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
nop
;; size=28 bbWeight=0.50 PerfScore 2.75
-G_M65032_IG64:
+G_M65032_IG63:
add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M65032_IG65:
+G_M65032_IG64:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M65032_IG66:
+G_M65032_IG65:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat():System.String
call [rax]System.SR:get_Xslt_InvalidFormat():System.String
mov rdi, rax
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=49 bbWeight=0 PerfScore 0.00
-G_M65032_IG67:
+G_M65032_IG66:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat8():System.String
call [rax]System.SR:get_Xslt_InvalidFormat8():System.String
mov rdi, rax
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=49 bbWeight=0 PerfScore 0.00
-G_M65032_IG68:
+G_M65032_IG67:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat1():System.String
call [rax]System.SR:get_Xslt_InvalidFormat1():System.String
- mov r15, rax
+ mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r14, rax
- lea rdi, bword ptr [r14+0x10]
- mov rsi, rbx
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r15
- mov rsi, r14
+ mov rdi, rbx
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=77 bbWeight=0 PerfScore 0.00
-G_M65032_IG69:
+ ;; size=78 bbWeight=0 PerfScore 0.00
+G_M65032_IG68:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat2():System.String
call [rax]System.SR:get_Xslt_InvalidFormat2():System.String
- mov r15, rax
+ mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r14, rax
- lea rdi, bword ptr [r14+0x10]
- mov rsi, rbx
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r15
- mov rsi, r14
+ mov rdi, rbx
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=77 bbWeight=0 PerfScore 0.00
-G_M65032_IG70:
+ ;; size=78 bbWeight=0 PerfScore 0.00
+G_M65032_IG69:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat8():System.String
call [rax]System.SR:get_Xslt_InvalidFormat8():System.String
mov rdi, rax
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=49 bbWeight=0 PerfScore 0.00
-G_M65032_IG71:
+G_M65032_IG70:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat3():System.String
call [rax]System.SR:get_Xslt_InvalidFormat3():System.String
- mov r15, rax
+ mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r14, rax
- lea rdi, bword ptr [r14+0x10]
- mov rsi, rbx
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r15
- mov rsi, r14
+ mov rdi, rbx
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=77 bbWeight=0 PerfScore 0.00
-G_M65032_IG72:
+ ;; size=78 bbWeight=0 PerfScore 0.00
+G_M65032_IG71:
mov rax, 0xD1FFAB1E ; code for System.SR:get_Xslt_InvalidFormat5():System.String
call [rax]System.SR:get_Xslt_InvalidFormat5():System.String
- mov r15, rax
+ mov rbx, rax
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov r14, rax
- lea rdi, bword ptr [r14+0x10]
- mov rsi, rbx
+ mov r15, rax
+ lea rdi, bword ptr [r15+0x10]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, r15
- mov rsi, r14
+ mov rdi, rbx
+ mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
call [rax]System.Xml.Xsl.XsltException:Create(System.String,System.String[]):System.Xml.Xsl.XsltException
mov rdi, rax
call CORINFO_HELP_THROW
int3
- ;; size=77 bbWeight=0 PerfScore 0.00
-G_M65032_IG73:
+ ;; size=78 bbWeight=0 PerfScore 0.00
+G_M65032_IG72:
mov edi, 8
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
int3
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2748, prolog size 31, PerfScore 4558.62, instruction count 667, allocated bytes for code 2748 (MethodHash=550c01f7) for method System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
+; Total bytes of code 2902, prolog size 31, PerfScore 4534.25, instruction count 697, allocated bytes for code 2902 (MethodHash=550c01f7) for method System.Xml.Xsl.Runtime.DecimalFormatter:.ctor(System.String,System.Xml.Xsl.Runtime.DecimalFormat):this (FullOpts)
98 (5.93 % of base) - System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte
; Assembly listing for method System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 26 single block inlinees; 31 inlinees without PGO data
+; 0 inlinees with PGO data; 29 single block inlinees; 33 inlinees without PGO data
; Final local variable assignments
;
;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
; V01 arg1 [V01,T04] ( 20, 49 ) ref -> r14 class-hnd single-def <System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]]>
-; V02 arg2 [V02,T42] ( 5, 5.25) byref -> r13 single-def
-; V03 arg3 [V03,T43] ( 5, 5.25) byref -> r12 single-def
-; V04 loc0 [V04 ] ( 29, 66 ) struct (32) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
+; V02 arg2 [V02,T49] ( 5, 5.25) byref -> r13 single-def
+; V03 arg3 [V03,T50] ( 5, 5.25) byref -> r12 single-def
+; V04 loc0 [V04 ] ( 33, 82 ) struct (32) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
; V05 loc1 [V05,T00] ( 57,400.25) int -> [rbp-0x4C] ld-addr-op
; V06 loc2 [V06,T01] ( 30,240 ) ushort -> [rbp-0x50] ld-addr-op
;* V07 loc3 [V07 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ushort]>
; V08 loc4 [V08,T09] ( 8, 32 ) int -> [rbp-0x54]
-; V09 loc5 [V09,T39] ( 3, 10 ) ref -> rsi class-hnd <System.String>
+; V09 loc5 [V09,T38] ( 3, 10 ) ref -> rsi class-hnd <System.String>
; V10 loc6 [V10,T11] ( 5, 28 ) int -> [rbp-0x58]
;* V11 loc7 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[ushort]>
;* V12 loc8 [V12 ] ( 0, 0 ) int -> zero-ref
-; V13 loc9 [V13,T37] ( 3, 12 ) ushort -> rcx
-; V14 loc10 [V14,T44] ( 3, 6 ) int -> rdi
-; V15 loc11 [V15,T32] ( 6, 12 ) int -> rsi
+; V13 loc9 [V13,T36] ( 3, 12 ) ushort -> rcx
+; V14 loc10 [V14,T51] ( 3, 6 ) int -> rdi
+; V15 loc11 [V15,T31] ( 6, 12 ) int -> rsi
; V16 loc12 [V16 ] ( 3, 6 ) struct (16) [rbp-0x68] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
; V17 OutArgs [V17 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V18 tmp1 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V19 tmp2 [V19 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V20 tmp3 [V20 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`4[System.String,int,int,System.String]>
;* V21 tmp4 [V21 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`4[System.String,int,int,System.String]>
;* V22 tmp5 [V22 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`4[System.String,int,int,System.String]>
-; V23 tmp6 [V23,T51] ( 2, 4 ) long -> rdx "Inlining Arg"
+; V23 tmp6 [V23,T58] ( 2, 4 ) long -> rdx "Inlining Arg"
;* V24 tmp7 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V25 tmp8 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V26 tmp9 [V26,T07] ( 4, 41 ) byref -> [rbp-0xB0] spill-single-def "Inlining Arg"
-; V27 tmp10 [V27,T05] ( 8, 45 ) int -> [rbp-0x6C] spill-single-def "Inlining Arg"
+; V26 tmp9 [V26,T05] ( 2, 32 ) byref -> r8 "Inlining Arg"
+; V27 tmp10 [V27,T06] ( 2, 32 ) int -> r9 "Inlining Arg"
;* V28 tmp11 [V28 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V29 tmp12 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V30 tmp13 [V30,T28] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V31 tmp14 [V31,T29] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V32 tmp15 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V33 tmp16 [V33 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V34 tmp17 [V34,T30] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V35 tmp18 [V35,T31] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V36 tmp19 [V36 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V37 tmp20 [V37,T06] ( 9, 42 ) int -> [rbp-0x70] spill-single-def "Inline return value spill temp"
-;* V38 tmp21 [V38 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V39 tmp22 [V39 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V40 tmp23 [V40 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V41 tmp24 [V41 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V42 tmp25 [V42 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V43 tmp26 [V43 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V44 tmp27 [V44 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V45 tmp28 [V45 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V46 tmp29 [V46 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V47 tmp30 [V47 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V48 tmp31 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V49 tmp32 [V49 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V50 tmp33 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V51 tmp34 [V51 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V52 tmp35 [V52,T49] ( 4, 4 ) int -> rdx "Inlining Arg"
-;* V53 tmp36 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V54 tmp37 [V54,T60] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V55 tmp38 [V55,T62] ( 2, 2 ) int -> rsi "Inlining Arg"
-;* V56 tmp39 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V57 tmp40 [V57 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V58 tmp41 [V58 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V59 tmp42 [V59,T63] ( 2, 2 ) long -> rdx "Inlining Arg"
-;* V60 tmp43 [V60 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V61 tmp44 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V62 tmp45 [V62,T64] ( 3, 1.50) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
-; V63 tmp46 [V63,T59] ( 4, 2 ) int -> rsi "Inline stloc first use temp"
-;* V64 tmp47 [V64 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
-;* V65 tmp48 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V30 tmp13 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V31 tmp14 [V31 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V32 tmp15 [V32 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V33 tmp16 [V33,T07] ( 9, 42 ) int -> [rbp-0x6C] spill-single-def "Inline return value spill temp"
+;* V34 tmp17 [V34,T46] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V35 tmp18 [V35,T47] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V36 tmp19 [V36 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V37 tmp20 [V37 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V38 tmp21 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp22 [V39 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V40 tmp23 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V41 tmp24 [V41 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V42 tmp25 [V42,T56] ( 4, 4 ) int -> rdx "Inlining Arg"
+;* V43 tmp26 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V44 tmp27 [V44,T67] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V45 tmp28 [V45,T69] ( 2, 2 ) int -> rsi "Inlining Arg"
+;* V46 tmp29 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V47 tmp30 [V47 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V48 tmp31 [V48 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+; V49 tmp32 [V49,T70] ( 2, 2 ) long -> rdx "Inlining Arg"
+;* V50 tmp33 [V50 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V51 tmp34 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V52 tmp35 [V52,T71] ( 3, 1.50) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
+; V53 tmp36 [V53,T66] ( 4, 2 ) int -> rsi "Inline stloc first use temp"
+;* V54 tmp37 [V54 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
+;* V55 tmp38 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V56 tmp39 [V56 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V57 tmp40 [V57 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V58 tmp41 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V59 tmp42 [V59 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
+; V60 tmp43 [V60,T10] ( 4, 32 ) int -> rdx "Inlining Arg"
+;* V61 tmp44 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V62 tmp45 [V62,T24] ( 2, 16 ) byref -> rdi "Inlining Arg"
+; V63 tmp46 [V63,T25] ( 2, 16 ) int -> rsi "Inlining Arg"
+;* V64 tmp47 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V65 tmp48 [V65 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V66 tmp49 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V67 tmp50 [V67 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V68 tmp51 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V69 tmp52 [V69 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V70 tmp53 [V70,T10] ( 4, 32 ) int -> rdx "Inlining Arg"
-;* V71 tmp54 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V72 tmp55 [V72,T21] ( 2, 16 ) byref -> rdi "Inlining Arg"
-; V73 tmp56 [V73,T22] ( 2, 16 ) int -> rsi "Inlining Arg"
-;* V74 tmp57 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V75 tmp58 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V76 tmp59 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V77 tmp60 [V77,T23] ( 2, 16 ) long -> rdx "Inlining Arg"
-;* V78 tmp61 [V78 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V79 tmp62 [V79,T46] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V80 tmp63 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V81 tmp64 [V81 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-; V82 tmp65 [V82,T34] ( 4, 12 ) int -> rdi "Inline stloc first use temp"
-;* V83 tmp66 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-;* V84 tmp67 [V84 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V85 tmp68 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V86 tmp69 [V86,T40] ( 3, 10 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
-; V87 tmp70 [V87,T35] ( 4, 12 ) int -> rsi "Inline stloc first use temp"
-; V88 tmp71 [V88,T24] ( 2, 16 ) struct (24) [rbp-0x88] do-not-enreg[S] must-init "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
-;* V89 tmp72 [V89,T47] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V90 tmp73 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V91 tmp74 [V91 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V92 tmp75 [V92,T25] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V67 tmp50 [V67,T26] ( 2, 16 ) long -> rdx "Inlining Arg"
+;* V68 tmp51 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V69 tmp52 [V69,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V70 tmp53 [V70 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V71 tmp54 [V71 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+; V72 tmp55 [V72,T33] ( 4, 12 ) int -> rdi "Inline stloc first use temp"
+;* V73 tmp56 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
+;* V74 tmp57 [V74 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V75 tmp58 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V76 tmp59 [V76 ] ( 3, 12 ) struct (16) [rbp-0x80] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
+; V77 tmp60 [V77,T41] ( 2, 8 ) ref -> [rbp-0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V78 tmp61 [V78,T12] ( 3, 24 ) int -> rdi "Inlining Arg"
+;* V79 tmp62 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+;* V80 tmp63 [V80 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V81 tmp64 [V81,T39] ( 3, 10 ) ref -> rdx class-hnd "Inline stloc first use temp" <ushort[]>
+; V82 tmp65 [V82,T40] ( 3, 10 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
+; V83 tmp66 [V83,T34] ( 4, 12 ) int -> rax "Inline stloc first use temp"
+; V84 tmp67 [V84,T27] ( 2, 16 ) struct (24) [rbp-0x98] do-not-enreg[S] must-init "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
+;* V85 tmp68 [V85,T54] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V86 tmp69 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V87 tmp70 [V87 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V88 tmp71 [V88,T28] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V89 tmp72 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V90 tmp73 [V90 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V91 tmp74 [V91 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V92 tmp75 [V92,T29] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V93 tmp76 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V94 tmp77 [V94 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V95 tmp78 [V95 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V96 tmp79 [V96,T26] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V97 tmp80 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V98 tmp81 [V98 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V99 tmp82 [V99,T13] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V100 tmp83 [V100 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V101 tmp84 [V101 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V102 tmp85 [V102,T52] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V103 tmp86 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V104 tmp87 [V104 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V105 tmp88 [V105,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V106 tmp89 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V107 tmp90 [V107 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V108 tmp91 [V108,T27] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V95 tmp78 [V95,T14] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V96 tmp79 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V97 tmp80 [V97 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V98 tmp81 [V98,T59] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V99 tmp82 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V100 tmp83 [V100 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V101 tmp84 [V101,T60] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V102 tmp85 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V103 tmp86 [V103 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V104 tmp87 [V104,T30] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V105 tmp88 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V106 tmp89 [V106 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+;* V107 tmp90 [V107 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V108 tmp91 [V108,T15] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V109 tmp92 [V109 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V110 tmp93 [V110 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V111 tmp94 [V111 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V112 tmp95 [V112,T14] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V113 tmp96 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V114 tmp97 [V114 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-;* V115 tmp98 [V115,T15] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V116 tmp99 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V117 tmp100 [V117 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
-; V118 tmp101 [V118,T38] ( 3, 12 ) int -> rdi "Inlining Arg"
-;* V119 tmp102 [V119 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V120 tmp103 [V120 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V121 tmp104 [V121,T36] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
-; V122 tmp105 [V122,T18] ( 4, 16 ) int -> r8 "Inline stloc first use temp"
-; V123 tmp106 [V123,T12] ( 3, 24 ) struct (24) [rbp-0xA0] do-not-enreg[S] must-init "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
-; V124 tmp107 [V124,T03] ( 14, 99 ) byref -> r15 single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-; V125 tmp108 [V125,T02] ( 15,107 ) int -> rbx single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;* V126 tmp109 [V126 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V127 tmp110 [V127 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
-;* V128 tmp111 [V128 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V129 tmp112 [V129 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
-; V130 tmp113 [V130 ] ( 2, 4 ) byref -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V16._reference (fldOffset=0x0)" P-DEP
-; V131 tmp114 [V131 ] ( 2, 4 ) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V16._length (fldOffset=0x8)" P-DEP
-; V132 tmp115 [V132,T61] ( 2, 2 ) byref -> rdx single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V133 tmp116 [V133,T67] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
-;* V134 tmp117 [V134 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V135 tmp118 [V135 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
-; V136 tmp119 [V136,T33] ( 4, 12 ) ref -> rax "field V20.Item1 (fldOffset=0x0)" P-INDEP
-;* V137 tmp120 [V137,T55] ( 0, 0 ) ref -> zero-ref "field V20.Item4 (fldOffset=0x8)" P-INDEP
-;* V138 tmp121 [V138,T57] ( 0, 0 ) int -> zero-ref "field V20.Item2 (fldOffset=0x10)" P-INDEP
-;* V139 tmp122 [V139,T58] ( 0, 0 ) int -> zero-ref "field V20.Item3 (fldOffset=0x14)" P-INDEP
-;* V140 tmp123 [V140,T56] ( 0, 0 ) ref -> zero-ref "field V21.Item1 (fldOffset=0x0)" P-INDEP
-; V141 tmp124 [V141,T17] ( 4, 16 ) ref -> rsi "field V21.Item4 (fldOffset=0x8)" P-INDEP
-; V142 tmp125 [V142,T19] ( 4, 16 ) int -> [rbp-0xA4] spill-single-def "field V21.Item2 (fldOffset=0x10)" P-INDEP
-; V143 tmp126 [V143,T20] ( 4, 16 ) int -> [rbp-0xA8] spill-single-def "field V21.Item3 (fldOffset=0x14)" P-INDEP
-; V144 tmp127 [V144,T65] ( 3, 1.50) ref -> rax single-def "field V22.Item1 (fldOffset=0x0)" P-INDEP
-;* V145 tmp128 [V145,T68] ( 0, 0 ) ref -> zero-ref single-def "field V22.Item4 (fldOffset=0x8)" P-INDEP
-;* V146 tmp129 [V146,T69] ( 0, 0 ) int -> zero-ref "field V22.Item2 (fldOffset=0x10)" P-INDEP
-;* V147 tmp130 [V147,T70] ( 0, 0 ) int -> zero-ref "field V22.Item3 (fldOffset=0x14)" P-INDEP
-;* V148 tmp131 [V148 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V149 tmp132 [V149 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-;* V150 tmp133 [V150 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V151 tmp134 [V151 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
-;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
-;* V154 tmp137 [V154 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V155 tmp138 [V155 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
-;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V159 tmp142 [V159 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
-;* V160 tmp143 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP
-;* V161 tmp144 [V161 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
-;* V162 tmp145 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP
-;* V163 tmp146 [V163 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
-;* V164 tmp147 [V164 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V165 tmp148 [V165 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
-;* V166 tmp149 [V166 ] ( 0, 0 ) byref -> zero-ref "field V68._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp150 [V167 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
-;* V168 tmp151 [V168 ] ( 0, 0 ) byref -> zero-ref "field V69._reference (fldOffset=0x0)" P-INDEP
-;* V169 tmp152 [V169 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
-;* V170 tmp153 [V170 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP
-;* V171 tmp154 [V171 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
-;* V172 tmp155 [V172 ] ( 0, 0 ) byref -> zero-ref "field V74._reference (fldOffset=0x0)" P-INDEP
-;* V173 tmp156 [V173 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
-;* V174 tmp157 [V174 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V175 tmp158 [V175 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
-; V176 tmp159 [V176,T45] ( 2, 6 ) byref -> rsi "field V83._reference (fldOffset=0x0)" P-INDEP
-; V177 tmp160 [V177,T41] ( 2, 8 ) int -> rcx "field V83._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp161 [V178 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp162 [V179 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp163 [V180 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp164 [V181 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
-;* V182 tmp165 [V182 ] ( 0, 0 ) byref -> zero-ref "field V97._reference (fldOffset=0x0)" P-INDEP
-;* V183 tmp166 [V183 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
-;* V184 tmp167 [V184 ] ( 0, 0 ) byref -> zero-ref "field V100._reference (fldOffset=0x0)" P-INDEP
-;* V185 tmp168 [V185 ] ( 0, 0 ) int -> zero-ref "field V100._length (fldOffset=0x8)" P-INDEP
-;* V186 tmp169 [V186 ] ( 0, 0 ) byref -> zero-ref "field V103._reference (fldOffset=0x0)" P-INDEP
-;* V187 tmp170 [V187 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
-;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V106._reference (fldOffset=0x0)" P-INDEP
-;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
-;* V190 tmp173 [V190 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP
-;* V191 tmp174 [V191 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP
-;* V192 tmp175 [V192 ] ( 0, 0 ) byref -> zero-ref "field V113._reference (fldOffset=0x0)" P-INDEP
-;* V193 tmp176 [V193 ] ( 0, 0 ) int -> zero-ref "field V113._length (fldOffset=0x8)" P-INDEP
-;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V116._reference (fldOffset=0x0)" P-INDEP
-;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
-; V196 tmp179 [V196,T50] ( 2, 4 ) byref -> rsi "field V119._reference (fldOffset=0x0)" P-INDEP
-; V197 tmp180 [V197,T54] ( 2, 4 ) int -> rdi "field V119._length (fldOffset=0x8)" P-INDEP
-; V198 tmp181 [V198,T16] ( 5, 20 ) byref -> [rbp-0xB8] spill-single-def "BlockOp address local"
-; V199 tmp182 [V199,T48] ( 5, 5 ) byref -> r14 single-def "BlockOp address local"
-; V200 tmp183 [V200,T08] ( 5, 40 ) byref -> [rbp-0xC0] spill-single-def "BlockOp address local"
-; V201 GsCookie [V201 ] ( 1, 1 ) long -> [rbp-0xC8] do-not-enreg[X] addr-exposed "GSSecurityCookie"
-; V202 cse0 [V202,T66] ( 2, 1 ) int -> rcx "CSE #09: conservative"
+;* V111 tmp94 [V111,T16] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V112 tmp95 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V113 tmp96 [V113 ] ( 0, 0 ) int -> zero-ref "Span.get_Item index"
+; V114 tmp97 [V114,T37] ( 3, 12 ) int -> rdi "Inlining Arg"
+;* V115 tmp98 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V116 tmp99 [V116 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V117 tmp100 [V117,T35] ( 3, 12 ) ref -> rdi class-hnd "Inline stloc first use temp" <System.ValueTuple`4[System.String,int,int,System.String][]>
+; V118 tmp101 [V118,T21] ( 4, 16 ) int -> r8 "Inline stloc first use temp"
+; V119 tmp102 [V119,T13] ( 3, 24 ) struct (24) [rbp-0xB0] do-not-enreg[S] must-init "Inlining Arg" <System.ValueTuple`4[System.String,int,int,System.String]>
+; V120 tmp103 [V120,T03] ( 14, 99 ) byref -> r15 single-def "field V00._reference (fldOffset=0x0)" P-INDEP
+; V121 tmp104 [V121,T02] ( 15,107 ) int -> rbx single-def "field V00._length (fldOffset=0x8)" P-INDEP
+;* V122 tmp105 [V122 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V123 tmp106 [V123 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+; V124 tmp107 [V124,T18] ( 4, 20.50) byref -> [rbp-0xD0] spill-single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+; V125 tmp108 [V125,T17] ( 8, 22.50) int -> [rbp-0xB4] spill-single-def "field V11._length (fldOffset=0x8)" P-INDEP
+; V126 tmp109 [V126 ] ( 2, 4 ) byref -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V16._reference (fldOffset=0x0)" P-DEP
+; V127 tmp110 [V127 ] ( 2, 4 ) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V16._length (fldOffset=0x8)" P-DEP
+; V128 tmp111 [V128,T68] ( 2, 2 ) byref -> rdx single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V129 tmp112 [V129,T74] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
+;* V130 tmp113 [V130 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V131 tmp114 [V131 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
+; V132 tmp115 [V132,T32] ( 4, 12 ) ref -> rsi "field V20.Item1 (fldOffset=0x0)" P-INDEP
+;* V133 tmp116 [V133,T62] ( 0, 0 ) ref -> zero-ref "field V20.Item4 (fldOffset=0x8)" P-INDEP
+;* V134 tmp117 [V134,T64] ( 0, 0 ) int -> zero-ref "field V20.Item2 (fldOffset=0x10)" P-INDEP
+;* V135 tmp118 [V135,T65] ( 0, 0 ) int -> zero-ref "field V20.Item3 (fldOffset=0x14)" P-INDEP
+;* V136 tmp119 [V136,T63] ( 0, 0 ) ref -> zero-ref "field V21.Item1 (fldOffset=0x0)" P-INDEP
+; V137 tmp120 [V137,T20] ( 4, 16 ) ref -> rsi "field V21.Item4 (fldOffset=0x8)" P-INDEP
+; V138 tmp121 [V138,T22] ( 4, 16 ) int -> [rbp-0xB8] spill-single-def "field V21.Item2 (fldOffset=0x10)" P-INDEP
+; V139 tmp122 [V139,T23] ( 4, 16 ) int -> [rbp-0xBC] spill-single-def "field V21.Item3 (fldOffset=0x14)" P-INDEP
+; V140 tmp123 [V140,T72] ( 3, 1.50) ref -> rax single-def "field V22.Item1 (fldOffset=0x0)" P-INDEP
+;* V141 tmp124 [V141,T75] ( 0, 0 ) ref -> zero-ref single-def "field V22.Item4 (fldOffset=0x8)" P-INDEP
+;* V142 tmp125 [V142,T76] ( 0, 0 ) int -> zero-ref "field V22.Item2 (fldOffset=0x10)" P-INDEP
+;* V143 tmp126 [V143,T77] ( 0, 0 ) int -> zero-ref "field V22.Item3 (fldOffset=0x14)" P-INDEP
+;* V144 tmp127 [V144,T45] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp128 [V145,T48] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
+;* V146 tmp129 [V146 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V147 tmp130 [V147 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
+;* V148 tmp131 [V148 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V149 tmp132 [V149 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+;* V150 tmp133 [V150 ] ( 0, 0 ) byref -> zero-ref "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V151 tmp134 [V151 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
+;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
+;* V154 tmp137 [V154 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V155 tmp138 [V155 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
+;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp142 [V159 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
+;* V160 tmp143 [V160 ] ( 0, 0 ) byref -> zero-ref "field V55._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp144 [V161 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
+;* V162 tmp145 [V162 ] ( 0, 0 ) byref -> zero-ref "field V58._reference (fldOffset=0x0)" P-INDEP
+;* V163 tmp146 [V163 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
+;* V164 tmp147 [V164 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V165 tmp148 [V165 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+;* V166 tmp149 [V166 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP
+;* V167 tmp150 [V167 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
+;* V168 tmp151 [V168 ] ( 0, 0 ) byref -> zero-ref "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V169 tmp152 [V169 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
+;* V170 tmp153 [V170 ] ( 0, 0 ) byref -> zero-ref "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V171 tmp154 [V171 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP
+; V172 tmp155 [V172,T52] ( 2, 6 ) byref -> rsi "field V73._reference (fldOffset=0x0)" P-INDEP
+; V173 tmp156 [V173,T43] ( 2, 8 ) int -> rcx "field V73._length (fldOffset=0x8)" P-INDEP
+; V174 tmp157 [V174 ] ( 2, 8 ) byref -> [rbp-0x80] do-not-enreg[X] addr-exposed "field V76._reference (fldOffset=0x0)" P-DEP
+; V175 tmp158 [V175 ] ( 2, 8 ) int -> [rbp-0x78] do-not-enreg[X] addr-exposed "field V76._length (fldOffset=0x8)" P-DEP
+; V176 tmp159 [V176,T42] ( 2, 8 ) byref -> rcx "field V79._reference (fldOffset=0x0)" P-INDEP
+; V177 tmp160 [V177,T44] ( 2, 8 ) int -> rdi "field V79._length (fldOffset=0x8)" P-INDEP
+;* V178 tmp161 [V178 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V179 tmp162 [V179 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
+;* V180 tmp163 [V180 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V181 tmp164 [V181 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+;* V182 tmp165 [V182 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP
+;* V183 tmp166 [V183 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
+;* V184 tmp167 [V184 ] ( 0, 0 ) byref -> zero-ref "field V96._reference (fldOffset=0x0)" P-INDEP
+;* V185 tmp168 [V185 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
+;* V186 tmp169 [V186 ] ( 0, 0 ) byref -> zero-ref "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V187 tmp170 [V187 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
+;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V102._reference (fldOffset=0x0)" P-INDEP
+;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
+;* V190 tmp173 [V190 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
+;* V191 tmp174 [V191 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
+;* V192 tmp175 [V192 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP
+;* V193 tmp176 [V193 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP
+;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V112._reference (fldOffset=0x0)" P-INDEP
+;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP
+; V196 tmp179 [V196,T57] ( 2, 4 ) byref -> rsi "field V115._reference (fldOffset=0x0)" P-INDEP
+; V197 tmp180 [V197,T61] ( 2, 4 ) int -> rdi "field V115._length (fldOffset=0x8)" P-INDEP
+; V198 tmp181 [V198,T19] ( 5, 20 ) byref -> [rbp-0xD8] spill-single-def "BlockOp address local"
+; V199 tmp182 [V199,T55] ( 5, 5 ) byref -> r14 single-def "BlockOp address local"
+; V200 tmp183 [V200,T08] ( 5, 40 ) byref -> [rbp-0xE0] spill-single-def "BlockOp address local"
+; V201 GsCookie [V201 ] ( 1, 1 ) long -> [rbp-0xE8] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V202 cse0 [V202,T73] ( 2, 1 ) int -> rcx "CSE #12: conservative"
;
-; Lcl frame size = 200
+; Lcl frame size = 232
G_M35497_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 200
- lea rbp, [rsp+0xF0]
+ sub rsp, 232
+ lea rbp, [rsp+0x110]
vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0xA0], ymm8
- vmovdqu ymmword ptr [rbp-0x80], ymm8
- vmovdqu ymmword ptr [rbp-0x60], ymm8
- vmovdqa xmmword ptr [rbp-0x40], xmm8
+ vmovdqu ymmword ptr [rbp-0xB0], ymm8
+ vmovdqu ymmword ptr [rbp-0x90], ymm8
+ vmovdqu ymmword ptr [rbp-0x70], ymm8
+ vmovdqu ymmword ptr [rbp-0x50], ymm8
xor eax, eax
mov qword ptr [rbp-0x30], rax
- mov qword ptr [rbp-0xC8], 0xD1FFAB1E
+ mov qword ptr [rbp-0xE8], 0xD1FFAB1E
mov r15, rdi
mov ebx, esi
mov r14, rdx
mov r13, rcx
mov r12, r8
- ;; size=84 bbWeight=1 PerfScore 18.58
+ ;; size=87 bbWeight=1 PerfScore 18.58
G_M35497_IG02:
test dword ptr [rsp], esp
sub rsp, 512
lea rdx, [rsp+0x20]
mov bword ptr [rbp-0x38], rdx
mov dword ptr [rbp-0x30], 256
xor edx, edx
mov dword ptr [rbp-0x40], edx
;; size=31 bbWeight=1 PerfScore 7.00
G_M35497_IG03:
xor eax, eax
;; size=2 bbWeight=1 PerfScore 0.25
G_M35497_IG04:
cmp eax, ebx
- ja G_M35497_IG56
+ ja G_M35497_IG58
mov edx, eax
lea r8, bword ptr [r15+2*rdx]
- mov bword ptr [rbp-0xB0], r8
mov dword ptr [rbp-0x4C], eax
mov r9d, ebx
sub r9d, eax
- mov dword ptr [rbp-0x6C], r9d
+ mov bword ptr [rbp-0xD0], r8
+ mov dword ptr [rbp-0xB4], r9d
mov edx, 125
mov esi, 123
mov rdi, r8
mov ecx, r9d
mov r10, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
call [r10]System.PackedSpanHelpers:IndexOfAny[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,short,int):int
- mov dword ptr [rbp-0x70], eax
+ mov dword ptr [rbp-0x6C], eax
test eax, eax
- jl G_M35497_IG38
- ;; size=74 bbWeight=8 PerfScore 96.00
+ jl G_M35497_IG40
+ ;; size=77 bbWeight=8 PerfScore 96.00
G_M35497_IG05:
- mov ecx, dword ptr [rbp-0x6C]
- cmp eax, ecx
- ja G_M35497_IG56
+ cmp eax, dword ptr [rbp-0xB4]
+ ja G_M35497_IG58
mov edi, dword ptr [rbp-0x30]
sub edi, eax
cmp dword ptr [rbp-0x40], edi
jle SHORT G_M35497_IG07
- ;; size=21 bbWeight=4 PerfScore 26.00
+ ;; size=22 bbWeight=4 PerfScore 29.00
G_M35497_IG06:
lea rdi, [rbp-0x48]
mov esi, eax
mov rcx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this
call [rcx]System.Text.ValueStringBuilder:Grow(int):this
- mov eax, dword ptr [rbp-0x70]
+ mov eax, dword ptr [rbp-0x6C]
;; size=21 bbWeight=2 PerfScore 10.00
G_M35497_IG07:
mov edx, dword ptr [rbp-0x40]
cmp edx, dword ptr [rbp-0x30]
- ja G_M35497_IG56
+ ja G_M35497_IG58
mov rdi, bword ptr [rbp-0x38]
mov esi, edx
lea rdi, bword ptr [rdi+2*rsi]
mov esi, dword ptr [rbp-0x30]
sub esi, edx
cmp eax, esi
- ja G_M35497_IG55
+ ja G_M35497_IG57
mov edx, eax
add rdx, rdx
- mov rsi, bword ptr [rbp-0xB0]
+ mov rsi, bword ptr [rbp-0xD0]
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov edi, dword ptr [rbp-0x70]
+ mov edi, dword ptr [rbp-0x6C]
mov esi, edi
add esi, dword ptr [rbp-0x40]
mov dword ptr [rbp-0x40], esi
mov eax, dword ptr [rbp-0x4C]
add eax, edi
cmp eax, ebx
- jae G_M35497_IG54
+ jae G_M35497_IG56
mov edi, eax
movzx rcx, word ptr [r15+2*rdi]
inc eax
cmp eax, ebx
jae SHORT G_M35497_IG09
mov dword ptr [rbp-0x4C], eax
mov edi, eax
movzx rdx, word ptr [r15+2*rdi]
cmp ecx, edx
jne SHORT G_M35497_IG12
mov edi, dword ptr [rbp-0x40]
mov rsi, bword ptr [rbp-0x38]
mov ecx, dword ptr [rbp-0x30]
cmp edi, ecx
jae SHORT G_M35497_IG10
;; size=124 bbWeight=4 PerfScore 129.00
G_M35497_IG08:
mov ecx, edi
mov word ptr [rsi+2*rcx], dx
inc edi
mov dword ptr [rbp-0x40], edi
jmp SHORT G_M35497_IG11
- align [0 bytes for IG18]
+ align [0 bytes for IG20]
;; size=13 bbWeight=2 PerfScore 9.00
G_M35497_IG09:
mov edx, eax
- jmp G_M35497_IG48
+ jmp G_M35497_IG50
;; size=7 bbWeight=2 PerfScore 4.50
G_M35497_IG10:
lea rdi, [rbp-0x48]
mov esi, edx
mov rcx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):this
call [rcx]System.Text.ValueStringBuilder:GrowAndAppend(ushort):this
;; size=18 bbWeight=2 PerfScore 8.00
G_M35497_IG11:
mov eax, dword ptr [rbp-0x4C]
inc eax
mov dword ptr [rbp-0x4C], eax
mov eax, dword ptr [rbp-0x4C]
jmp G_M35497_IG04
;; size=16 bbWeight=4 PerfScore 21.00
G_M35497_IG12:
cmp ecx, 123
- jne G_M35497_IG45
+ jne G_M35497_IG47
+ mov edi, dword ptr [rbp-0x40]
+ cmp edi, dword ptr [rbp-0x30]
mov dword ptr [rbp-0x50], edx
- lea rdi, [rbp-0x48]
- mov rcx, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:ToString():System.String:this
- call [rcx]System.Text.ValueStringBuilder:ToString():System.String:this
- mov gword ptr [rbp-0x88], rax
- mov dword ptr [rbp-0x78], -1
+ ja G_M35497_IG58
+ mov rcx, bword ptr [rbp-0x38]
+ mov bword ptr [rbp-0x80], rcx
+ mov dword ptr [rbp-0x78], edi
+ lea rdi, [rbp-0x80]
+ mov rcx, 0xD1FFAB1E ; code for System.Span`1[ushort]:ToString():System.String:this
+ call [rcx]System.Span`1[ushort]:ToString():System.String:this
+ mov gword ptr [rbp-0xC8], rax
+ mov rdx, gword ptr [rbp-0x48]
+ vxorps ymm0, ymm0, ymm0
+ vmovdqu ymmword ptr [rbp-0x48], ymm0
+ test rdx, rdx
+ je SHORT G_M35497_IG14
+ ;; size=76 bbWeight=4 PerfScore 70.33
+G_M35497_IG13:
+ mov rdi, 0xD1FFAB1E ; const ptr
+ mov rdi, gword ptr [rdi]
+ mov rsi, rdx
+ 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=30 bbWeight=2 PerfScore 12.00
+G_M35497_IG14:
+ mov rsi, gword ptr [rbp-0xC8]
+ mov gword ptr [rbp-0x98], rsi
+ mov dword ptr [rbp-0x88], -1
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_M35497_IG15
- ;; size=59 bbWeight=4 PerfScore 76.00
-G_M35497_IG13:
- lea ecx, [rsi+0x01]
+ mov eax, dword ptr [r14+0x10]
+ cmp dword ptr [rdi+0x08], eax
+ jbe SHORT G_M35497_IG17
+ ;; size=41 bbWeight=4 PerfScore 56.00
+G_M35497_IG15:
+ lea ecx, [rax+0x01]
mov dword ptr [r14+0x10], ecx
- mov esi, esi
- lea rsi, [rsi+2*rsi]
- lea rcx, bword ptr [rdi+8*rsi+0x10]
- mov bword ptr [rbp-0xB8], rcx
- mov rdi, rcx
- mov rsi, rax
+ mov eax, eax
+ lea rax, [rax+2*rax]
+ lea rax, bword ptr [rdi+8*rax+0x10]
+ mov bword ptr [rbp-0xD8], rax
+ mov rdi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
- mov rax, bword ptr [rbp-0xB8]
+ mov rax, bword ptr [rbp-0xD8]
mov gword ptr [rax+0x08], rdi
mov dword ptr [rax+0x10], -1
- ;; size=56 bbWeight=2 PerfScore 18.00
-G_M35497_IG14:
+ ;; size=53 bbWeight=2 PerfScore 17.50
+G_M35497_IG16:
mov dword ptr [rax+0x14], edi
- jmp SHORT G_M35497_IG16
+ jmp SHORT G_M35497_IG18
;; size=5 bbWeight=2 PerfScore 6.00
-G_M35497_IG15:
+G_M35497_IG17:
xor rdi, rdi
- mov ecx, -1
- xor edx, edx
- mov gword ptr [rsp], rax
+ mov eax, -1
+ xor ecx, ecx
+ mov gword ptr [rsp], rsi
mov gword ptr [rsp+0x08], rdi
- mov dword ptr [rsp+0x10], ecx
- mov dword ptr [rsp+0x14], edx
+ mov dword ptr [rsp+0x10], eax
+ mov dword ptr [rsp+0x14], ecx
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
call [rax]System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
;; size=41 bbWeight=2 PerfScore 16.50
-G_M35497_IG16:
+G_M35497_IG18:
xor edi, edi
mov dword ptr [rbp-0x40], edi
;; size=5 bbWeight=4 PerfScore 5.00
-G_M35497_IG17:
+G_M35497_IG19:
xor rsi, rsi
mov eax, dword ptr [rbp-0x50]
lea ecx, [rax-0x30]
cmp ecx, 10
- jae G_M35497_IG51
+ jae G_M35497_IG53
mov edx, dword ptr [rbp-0x4C]
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov eax, edx
movzx rax, word ptr [r15+2*rax]
cmp eax, 125
- je G_M35497_IG36
- jmp SHORT G_M35497_IG19
+ je G_M35497_IG38
+ jmp SHORT G_M35497_IG21
;; size=48 bbWeight=4 PerfScore 44.00
-G_M35497_IG18:
+G_M35497_IG20:
lea ecx, [rcx+4*rcx]
lea ecx, [rax+2*rcx-0x30]
mov dword ptr [rbp-0x58], ecx
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov eax, edx
movzx rax, word ptr [r15+2*rax]
mov ecx, dword ptr [rbp-0x58]
;; size=30 bbWeight=8 PerfScore 58.00
-G_M35497_IG19:
+G_M35497_IG21:
lea r8d, [rax-0x30]
cmp r8d, 9
- jbe SHORT G_M35497_IG18
- jmp SHORT G_M35497_IG21
- align [5 bytes for IG20]
- ;; size=17 bbWeight=16 PerfScore 64.00
-G_M35497_IG20:
+ jbe SHORT G_M35497_IG20
+ jmp SHORT G_M35497_IG23
+ align [9 bytes for IG22]
+ ;; size=21 bbWeight=16 PerfScore 64.00
+G_M35497_IG22:
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov eax, edx
movzx rax, word ptr [r15+2*rax]
;; size=17 bbWeight=8 PerfScore 30.00
-G_M35497_IG21:
+G_M35497_IG23:
cmp eax, 32
- je SHORT G_M35497_IG20
+ je SHORT G_M35497_IG22
;; size=5 bbWeight=16 PerfScore 20.00
-G_M35497_IG22:
+G_M35497_IG24:
cmp eax, 44
mov dword ptr [rbp-0x54], edi
- jne SHORT G_M35497_IG27
- align [2 bytes for IG23]
+ jne SHORT G_M35497_IG29
+ align [2 bytes for IG25]
;; size=10 bbWeight=2 PerfScore 5.00
-G_M35497_IG23:
+G_M35497_IG25:
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov eax, edx
movzx rax, word ptr [r15+2*rax]
cmp eax, 32
- je SHORT G_M35497_IG23
+ je SHORT G_M35497_IG25
;; size=22 bbWeight=16 PerfScore 80.00
-G_M35497_IG24:
+G_M35497_IG26:
mov edi, 1
cmp eax, 45
- jne SHORT G_M35497_IG25
+ jne SHORT G_M35497_IG27
mov edi, -1
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov eax, edx
movzx rax, word ptr [r15+2*rax]
;; size=32 bbWeight=2 PerfScore 11.00
-G_M35497_IG25:
+G_M35497_IG27:
add eax, -48
cmp eax, 10
- jae SHORT G_M35497_IG26
+ jae SHORT G_M35497_IG28
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov r8d, edx
movzx r8, word ptr [r15+2*r8]
- jmp SHORT G_M35497_IG29
+ jmp SHORT G_M35497_IG31
;; size=28 bbWeight=2 PerfScore 14.50
-G_M35497_IG26:
+G_M35497_IG28:
mov dword ptr [rbp-0x4C], edx
- jmp G_M35497_IG51
- align [2 bytes for IG28]
+ jmp G_M35497_IG53
+ align [2 bytes for IG30]
;; size=10 bbWeight=1 PerfScore 3.00
-G_M35497_IG27:
+G_M35497_IG29:
mov edi, eax
- jmp SHORT G_M35497_IG32
+ jmp SHORT G_M35497_IG34
;; size=4 bbWeight=1 PerfScore 2.25
-G_M35497_IG28:
+G_M35497_IG30:
lea eax, [rax+4*rax]
lea eax, [r8+2*rax-0x30]
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov r8d, edx
movzx r8, word ptr [r15+2*r8]
;; size=26 bbWeight=8 PerfScore 42.00
-G_M35497_IG29:
+G_M35497_IG31:
lea r9d, [r8-0x30]
cmp r9d, 9
- jbe SHORT G_M35497_IG28
+ jbe SHORT G_M35497_IG30
;; size=10 bbWeight=16 PerfScore 28.00
-G_M35497_IG30:
+G_M35497_IG32:
imul eax, edi
mov dword ptr [rbp-0x54], eax
cmp r8d, 32
mov edi, r8d
- jne SHORT G_M35497_IG32
- align [13 bytes for IG31]
+ jne SHORT G_M35497_IG34
+ align [13 bytes for IG33]
;; size=28 bbWeight=2 PerfScore 9.50
-G_M35497_IG31:
+G_M35497_IG33:
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov r8d, edx
movzx r8, word ptr [r15+2*r8]
mov edi, r8d
cmp edi, 32
- je SHORT G_M35497_IG31
+ je SHORT G_M35497_IG33
;; size=26 bbWeight=16 PerfScore 84.00
-G_M35497_IG32:
+G_M35497_IG34:
cmp edi, 125
- je SHORT G_M35497_IG34
+ je SHORT G_M35497_IG36
cmp edi, 58
- jne G_M35497_IG48
+ jne G_M35497_IG50
mov esi, edx
- align [6 bytes for IG33]
+ align [6 bytes for IG35]
;; size=22 bbWeight=2 PerfScore 6.00
-G_M35497_IG33:
+G_M35497_IG35:
inc edx
cmp edx, ebx
- jae G_M35497_IG48
+ jae G_M35497_IG50
mov edi, edx
movzx rdi, word ptr [r15+2*rdi]
cmp edi, 125
- je SHORT G_M35497_IG35
+ je SHORT G_M35497_IG37
cmp edi, 123
- jne SHORT G_M35497_IG33
- jmp G_M35497_IG48
+ jne SHORT G_M35497_IG35
+ jmp G_M35497_IG50
;; size=32 bbWeight=16 PerfScore 132.00
-G_M35497_IG34:
+G_M35497_IG36:
mov edi, dword ptr [rbp-0x54]
- jmp SHORT G_M35497_IG36
+ jmp SHORT G_M35497_IG38
;; size=5 bbWeight=1 PerfScore 3.00
-G_M35497_IG35:
+G_M35497_IG37:
inc esi
mov dword ptr [rbp-0x4C], edx
mov edi, edx
sub edi, esi
mov r8d, esi
mov r9d, edi
add r8, r9
mov r9d, ebx
cmp r8, r9
mov dword ptr [rbp-0x58], ecx
- ja G_M35497_IG56
+ ja G_M35497_IG58
lea rsi, bword ptr [r15+2*rsi]
mov bword ptr [rbp-0x68], rsi
mov dword ptr [rbp-0x60], edi
lea rdi, [rbp-0x68]
mov rsi, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
call [rsi]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
mov rsi, rax
mov ecx, dword ptr [rbp-0x58]
mov edx, dword ptr [rbp-0x4C]
mov edi, dword ptr [rbp-0x54]
;; size=72 bbWeight=2 PerfScore 29.00
-G_M35497_IG36:
+G_M35497_IG38:
inc edx
mov dword ptr [rbp-0x4C], edx
mov eax, ecx
- mov dword ptr [rbp-0xA4], eax
+ mov dword ptr [rbp-0xB8], eax
mov ecx, edi
- mov dword ptr [rbp-0xA8], ecx
- mov gword ptr [rbp-0x98], rsi
- mov dword ptr [rbp-0x90], eax
- mov dword ptr [rbp-0x8C], ecx
+ mov dword ptr [rbp-0xBC], ecx
+ mov gword ptr [rbp-0xA8], rsi
+ mov dword ptr [rbp-0xA0], eax
+ mov dword ptr [rbp-0x9C], ecx
inc dword ptr [r14+0x14]
mov rdi, gword ptr [r14+0x08]
mov r8d, dword ptr [r14+0x10]
cmp dword ptr [rdi+0x08], r8d
- jbe SHORT G_M35497_IG37
+ jbe SHORT G_M35497_IG39
lea r9d, [r8+0x01]
mov dword ptr [r14+0x10], r9d
lea r8, [r8+2*r8]
lea r8, bword ptr [rdi+8*r8+0x10]
- mov bword ptr [rbp-0xC0], r8
+ mov bword ptr [rbp-0xE0], r8
xor rdi, rdi
mov gword ptr [r8], rdi
lea rdi, bword ptr [r8+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, bword ptr [rbp-0xC0]
- mov eax, dword ptr [rbp-0xA4]
+ mov rdi, bword ptr [rbp-0xE0]
+ mov eax, dword ptr [rbp-0xB8]
mov dword ptr [rdi+0x10], eax
- mov ecx, dword ptr [rbp-0xA8]
+ mov ecx, dword ptr [rbp-0xBC]
mov dword ptr [rdi+0x14], ecx
mov eax, dword ptr [rbp-0x4C]
jmp G_M35497_IG04
;; size=129 bbWeight=4 PerfScore 130.00
-G_M35497_IG37:
+G_M35497_IG39:
xor rdi, rdi
mov gword ptr [rsp], rdi
mov gword ptr [rsp+0x08], rsi
- mov eax, dword ptr [rbp-0xA4]
+ mov eax, dword ptr [rbp-0xB8]
mov dword ptr [rsp+0x10], eax
- mov ecx, dword ptr [rbp-0xA8]
+ mov ecx, dword ptr [rbp-0xBC]
mov dword ptr [rsp+0x14], ecx
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
call [rax]System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
mov eax, dword ptr [rbp-0x4C]
jmp G_M35497_IG04
;; size=54 bbWeight=4 PerfScore 51.00
-G_M35497_IG38:
+G_M35497_IG40:
mov edi, dword ptr [rbp-0x30]
- mov r12d, dword ptr [rbp-0x6C]
+ mov r12d, dword ptr [rbp-0xB4]
sub edi, r12d
cmp dword ptr [rbp-0x40], edi
- jle SHORT G_M35497_IG39
+ jle SHORT G_M35497_IG41
lea rdi, [rbp-0x48]
mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:Grow(int):this
call [rax]System.Text.ValueStringBuilder:Grow(int):this
- ;; size=34 bbWeight=0.50 PerfScore 4.62
-G_M35497_IG39:
+ ;; size=37 bbWeight=0.50 PerfScore 4.62
+G_M35497_IG41:
mov edx, dword ptr [rbp-0x40]
cmp edx, dword ptr [rbp-0x30]
- ja G_M35497_IG56
+ ja G_M35497_IG58
mov rdi, bword ptr [rbp-0x38]
mov esi, edx
lea rdi, bword ptr [rdi+2*rsi]
mov esi, dword ptr [rbp-0x30]
sub esi, edx
cmp r12d, esi
- ja G_M35497_IG55
+ ja G_M35497_IG57
mov edx, r12d
add rdx, rdx
- mov rsi, bword ptr [rbp-0xB0]
+ mov rsi, bword ptr [rbp-0xD0]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov ecx, r12d
- add ecx, dword ptr [rbp-0x40]
- mov dword ptr [rbp-0x40], ecx
+ add r12d, dword ptr [rbp-0x40]
+ mov dword ptr [rbp-0x40], r12d
lea rdi, [rbp-0x48]
mov rax, 0xD1FFAB1E ; code for System.Text.ValueStringBuilder:ToString():System.String:this
call [rax]System.Text.ValueStringBuilder:ToString():System.String:this
inc dword ptr [r14+0x14]
mov rdi, gword ptr [r14+0x08]
mov esi, dword ptr [r14+0x10]
mov ecx, dword ptr [rdi+0x08]
cmp ecx, esi
- jbe SHORT G_M35497_IG41
+ jbe SHORT G_M35497_IG43
lea ecx, [rsi+0x01]
mov dword ptr [r14+0x10], ecx
lea rsi, [rsi+2*rsi]
lea r14, bword ptr [rdi+8*rsi+0x10]
mov rdi, r14
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov gword ptr [r14+0x08], rdi
mov dword ptr [r14+0x10], -1
- ;; size=146 bbWeight=0.50 PerfScore 18.50
-G_M35497_IG40:
+ ;; size=145 bbWeight=0.50 PerfScore 18.38
+G_M35497_IG42:
mov dword ptr [r14+0x14], edi
- jmp SHORT G_M35497_IG42
+ jmp SHORT G_M35497_IG44
;; size=6 bbWeight=0.50 PerfScore 1.50
-G_M35497_IG41:
+G_M35497_IG43:
xor rdi, rdi
mov ecx, -1
xor edx, edx
mov gword ptr [rsp], rax
mov gword ptr [rsp+0x08], rdi
mov dword ptr [rsp+0x10], ecx
mov dword ptr [rsp+0x14], edx
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
call [rax]System.Collections.Generic.List`1[System.ValueTuple`4[System.__Canon,int,int,System.__Canon]]:AddWithResize(System.ValueTuple`4[System.__Canon,int,int,System.__Canon]):this
;; size=41 bbWeight=0.50 PerfScore 4.12
-G_M35497_IG42:
+G_M35497_IG44:
mov eax, 1
- cmp qword ptr [rbp-0xC8], 0xD1FFAB1E
- je SHORT G_M35497_IG43
+ cmp qword ptr [rbp-0xE8], 0xD1FFAB1E
+ je SHORT G_M35497_IG45
call CORINFO_HELP_FAIL_FAST
;; size=23 bbWeight=0.50 PerfScore 2.12
-G_M35497_IG43:
+G_M35497_IG45:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M35497_IG44:
+G_M35497_IG46:
lea rsp, [rbp-0x28]
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.25
-G_M35497_IG45:
+G_M35497_IG47:
mov dword ptr [r12], 75
mov eax, dword ptr [rbp-0x4C]
mov dword ptr [r13], eax
xor eax, eax
- cmp qword ptr [rbp-0xC8], 0xD1FFAB1E
- je SHORT G_M35497_IG46
+ cmp qword ptr [rbp-0xE8], 0xD1FFAB1E
+ je SHORT G_M35497_IG48
call CORINFO_HELP_FAIL_FAST
;; size=35 bbWeight=0.50 PerfScore 3.62
-G_M35497_IG46:
+G_M35497_IG48:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M35497_IG47:
+G_M35497_IG49:
lea rsp, [rbp-0x28]
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.25
-G_M35497_IG48:
+G_M35497_IG50:
mov dword ptr [r12], 76
mov dword ptr [r13], edx
xor eax, eax
- cmp qword ptr [rbp-0xC8], 0xD1FFAB1E
- je SHORT G_M35497_IG49
+ cmp qword ptr [rbp-0xE8], 0xD1FFAB1E
+ je SHORT G_M35497_IG51
call CORINFO_HELP_FAIL_FAST
;; size=32 bbWeight=2.25 PerfScore 14.06
-G_M35497_IG49:
+G_M35497_IG51:
nop
;; size=1 bbWeight=2.25 PerfScore 0.56
-G_M35497_IG50:
+G_M35497_IG52:
lea rsp, [rbp-0x28]
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=2.25 PerfScore 10.12
-G_M35497_IG51:
+G_M35497_IG53:
mov dword ptr [r12], 77
mov edx, dword ptr [rbp-0x4C]
mov dword ptr [r13], edx
xor eax, eax
- cmp qword ptr [rbp-0xC8], 0xD1FFAB1E
- je SHORT G_M35497_IG52
+ cmp qword ptr [rbp-0xE8], 0xD1FFAB1E
+ je SHORT G_M35497_IG54
call CORINFO_HELP_FAIL_FAST
;; size=35 bbWeight=0.50 PerfScore 3.62
-G_M35497_IG52:
+G_M35497_IG54:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M35497_IG53:
+G_M35497_IG55:
lea rsp, [rbp-0x28]
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.25
-G_M35497_IG54:
+G_M35497_IG56:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M35497_IG55:
+G_M35497_IG57:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
call [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M35497_IG56:
+G_M35497_IG58:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1652, prolog size 84, PerfScore 1367.08, instruction count 454, allocated bytes for code 1652 (MethodHash=42607556) for method System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
+; Total bytes of code 1750, prolog size 87, PerfScore 1431.79, instruction count 470, allocated bytes for code 1750 (MethodHash=42607556) for method System.Text.CompositeFormat:TryParseLiterals(System.ReadOnlySpan`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`4[System.String,int,int,System.String]],byref,byref):ubyte (FullOpts)
95 (3.11 % of base) - System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[]
; Assembly listing for method System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 61 single block inlinees; 30 inlinees without PGO data
+; 0 inlinees with PGO data; 61 single block inlinees; 31 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T49] ( 14, 12 ) ref -> [rbp-0x50] class-hnd single-def <System.String>
-; V01 arg1 [V01,T27] ( 9, 265 ) ref -> r14 class-hnd single-def <System.String>
-; V02 arg2 [V02,T26] ( 11, 281 ) ref -> r15 class-hnd single-def <System.String>
-; V03 arg3 [V03,T06] ( 9,2118 ) ushort -> rbx single-def
-; V04 arg4 [V04,T56] ( 7, 5 ) int -> [rbp-0x2C] single-def
-; V05 arg5 [V05,T35] ( 4, 36 ) ubyte -> r13 single-def
-; V06 arg6 [V06,T76] ( 8, 0 ) ref -> [rbp+0x10] class-hnd single-def <System.String>
-; V07 arg7 [V07,T73] ( 1, 0.50) ubyte -> [rbp+0x18] single-def
-; V08 loc0 [V08,T03] ( 38,3791.54) ref -> [rbp-0x58] class-hnd exact spill-single-def <System.String[]>
-; V09 loc1 [V09,T01] ( 35,5952.50) int -> [rbp-0x30] ld-addr-op
-; V10 loc2 [V10,T25] ( 11, 346.29) int -> [rbp-0x34]
-; V11 loc3 [V11,T05] ( 22,3403.50) ref -> [rbp-0x60] class-hnd exact spill-single-def <System.Text.StringBuilder>
-; V12 loc4 [V12,T04] ( 13,3585 ) ref -> [rbp-0x68] class-hnd <System.Text.StringBuilder>
-; V13 loc5 [V13,T18] ( 6, 483 ) ushort -> [rbp-0x38]
-;* V14 loc6 [V14,T72] ( 0, 0 ) int -> zero-ref
-; V15 loc7 [V15,T00] ( 36,8226 ) ushort -> [rbp-0x3C] spill-single-def
+; V00 arg0 [V00,T54] ( 14, 12 ) ref -> [rbp-0x50] class-hnd single-def <System.String>
+; V01 arg1 [V01,T28] ( 9, 265 ) ref -> r14 class-hnd single-def <System.String>
+; V02 arg2 [V02,T27] ( 11, 281 ) ref -> r15 class-hnd single-def <System.String>
+; V03 arg3 [V03,T13] ( 9, 582 ) ushort -> rbx single-def
+; V04 arg4 [V04,T61] ( 7, 5 ) int -> [rbp-0x2C] single-def
+; V05 arg5 [V05,T40] ( 4, 36 ) ubyte -> r13 single-def
+; V06 arg6 [V06,T81] ( 8, 0 ) ref -> [rbp+0x10] class-hnd single-def <System.String>
+; V07 arg7 [V07,T78] ( 1, 0.50) ubyte -> [rbp+0x18] single-def
+; V08 loc0 [V08,T04] ( 38,1487.54) ref -> [rbp-0x58] class-hnd exact spill-single-def <System.String[]>
+; V09 loc1 [V09,T01] ( 35,2112.50) int -> [rbp-0x30] ld-addr-op
+; V10 loc2 [V10,T26] ( 11, 346.29) int -> [rbp-0x34]
+; V11 loc3 [V11,T03] ( 26,1515.50) ref -> [rbp-0x60] class-hnd exact spill-single-def <System.Text.StringBuilder>
+; V12 loc4 [V12,T02] ( 13,1569 ) ref -> [rbp-0x68] class-hnd <System.Text.StringBuilder>
+; V13 loc5 [V13,T29] ( 6, 259 ) ushort -> [rbp-0x38]
+;* V14 loc6 [V14,T77] ( 0, 0 ) int -> zero-ref
+; V15 loc7 [V15,T00] ( 38,3074 ) ushort -> [rbp-0x3C] spill-single-def
;* V16 loc8 [V16 ] ( 0, 0 ) int -> zero-ref
-; V17 loc9 [V17,T55] ( 7, 9.50) int -> rbx single-def
-; V18 loc10 [V18,T43] ( 15, 21.54) int -> r12
+; V17 loc9 [V17,T60] ( 7, 9.50) int -> rbx single-def
+; V18 loc10 [V18,T48] ( 15, 21.54) int -> r12
;# V19 OutArgs [V19 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V20 tmp1 [V20,T59] ( 3, 6 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.StringBuilder>
+; V20 tmp1 [V20,T64] ( 3, 6 ) ref -> [rbp-0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.StringBuilder>
;* V21 tmp2 [V21 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V22 tmp3 [V22,T38] ( 2, 32 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V22 tmp3 [V22,T43] ( 2, 32 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
;* V23 tmp4 [V23 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V24 tmp5 [V24,T31] ( 2, 64 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V24 tmp5 [V24,T36] ( 2, 64 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
;* V25 tmp6 [V25 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V26 tmp7 [V26,T02] ( 2,4096 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V26 tmp7 [V26,T07] ( 2,1024 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
;* V27 tmp8 [V27 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V28 tmp9 [V28,T17] ( 2, 512 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V29 tmp10 [V29,T09] ( 4,1024 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.StringBuilder>
+; V28 tmp9 [V28,T15] ( 2, 512 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V29 tmp10 [V29,T05] ( 4,1024 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "NewObj constructor temp" <System.Text.StringBuilder>
;* V30 tmp11 [V30 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V31 tmp12 [V31,T29] ( 2, 128 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V31 tmp12 [V31,T34] ( 2, 128 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
;* V32 tmp13 [V32 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V33 tmp14 [V33 ] ( 0, 0 ) int -> zero-ref "non-inline candidate call"
-; V34 tmp15 [V34,T71] ( 2, 2 ) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
-; V35 tmp16 [V35,T45] ( 4, 16 ) ref -> rsi class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V36 tmp17 [V36,T69] ( 3, 2 ) ubyte -> rax "Inline return value spill temp"
-; V37 tmp18 [V37,T63] ( 3, 4 ) byref -> rdi single-def "Inlining Arg"
-; V38 tmp19 [V38,T57] ( 4, 6 ) short -> rsi ld-addr-op "Inlining Arg"
-; V39 tmp20 [V39,T65] ( 3, 4 ) int -> rdx "Inlining Arg"
-;* V40 tmp21 [V40 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V41 tmp22 [V41,T70] ( 3, 2 ) ubyte -> rax "Inline return value spill temp"
-; V42 tmp23 [V42,T64] ( 3, 4 ) byref -> rdi single-def "Inlining Arg"
-; V43 tmp24 [V43,T58] ( 4, 6 ) short -> rsi ld-addr-op "Inlining Arg"
-; V44 tmp25 [V44,T66] ( 3, 4 ) int -> rdx "Inlining Arg"
-;* V45 tmp26 [V45 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V46 tmp27 [V46 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V47 tmp28 [V47,T68] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+; V34 tmp15 [V34,T76] ( 2, 2 ) ref -> rax class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V35 tmp16 [V35,T50] ( 4, 16 ) ref -> rsi class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V36 tmp17 [V36,T74] ( 3, 2 ) ubyte -> rax "Inline return value spill temp"
+; V37 tmp18 [V37,T68] ( 3, 4 ) byref -> rdi single-def "Inlining Arg"
+; V38 tmp19 [V38,T62] ( 4, 6 ) short -> rsi "Inlining Arg"
+; V39 tmp20 [V39,T70] ( 3, 4 ) int -> rdx "Inlining Arg"
+; V40 tmp21 [V40,T75] ( 3, 2 ) ubyte -> rax "Inline return value spill temp"
+; V41 tmp22 [V41,T69] ( 3, 4 ) byref -> rdi single-def "Inlining Arg"
+; V42 tmp23 [V42,T63] ( 4, 6 ) short -> rsi "Inlining Arg"
+; V43 tmp24 [V43,T71] ( 3, 4 ) int -> rdx "Inlining Arg"
+;* V44 tmp25 [V44 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V45 tmp26 [V45,T73] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V46 tmp27 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V47 tmp28 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V48 tmp29 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V49 tmp30 [V49 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V50 tmp31 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V51 tmp32 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V52 tmp33 [V52,T67] ( 3, 4 ) int -> r10 "Inline stloc first use temp"
-; V53 tmp34 [V53,T50] ( 3, 12 ) byref -> r8 "Inlining Arg"
-; V54 tmp35 [V54,T51] ( 3, 12 ) int -> r10 "Inlining Arg"
-;* V55 tmp36 [V55 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-; V56 tmp37 [V56,T54] ( 5, 10 ) int -> rax "Inline return value spill temp"
-; V57 tmp38 [V57,T46] ( 4, 16 ) short -> r11 ld-addr-op "Inlining Arg"
-;* V58 tmp39 [V58 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V59 tmp40 [V59 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V60 tmp41 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V61 tmp42 [V61,T61] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
-; V62 tmp43 [V62,T60] ( 3, 6 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
-; V63 tmp44 [V63,T40] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
-; V64 tmp45 [V64,T32] ( 3, 48 ) byref -> rdi "Inlining Arg"
-; V65 tmp46 [V65,T33] ( 3, 48 ) short -> rsi ld-addr-op "Inlining Arg"
-; V66 tmp47 [V66,T34] ( 3, 48 ) int -> rdx "Inlining Arg"
-;* V67 tmp48 [V67 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V68 tmp49 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V69 tmp50 [V69,T41] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
-; V70 tmp51 [V70,T39] ( 3, 24 ) ref -> rax class-hnd "Inline stloc first use temp" <ushort[]>
-; V71 tmp52 [V71,T30] ( 3, 64 ) int -> rdx "Inline stloc first use temp"
-; V72 tmp53 [V72,T21] ( 3, 384 ) ubyte -> rax "Inline return value spill temp"
-; V73 tmp54 [V73,T12] ( 3, 768 ) byref -> r9 "Inlining Arg"
-; V74 tmp55 [V74,T10] ( 4,1024 ) short -> r10 ld-addr-op "Inlining Arg"
-; V75 tmp56 [V75,T14] ( 3, 768 ) int -> r11 "Inlining Arg"
-;* V76 tmp57 [V76 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V77 tmp58 [V77,T22] ( 3, 384 ) ubyte -> rax "Inline return value spill temp"
-; V78 tmp59 [V78,T13] ( 3, 768 ) byref -> rdi "Inlining Arg"
-; V79 tmp60 [V79,T15] ( 3, 768 ) short -> rsi ld-addr-op "Inlining Arg"
-; V80 tmp61 [V80,T16] ( 3, 768 ) int -> rdx "Inlining Arg"
-;* V81 tmp62 [V81 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V82 tmp63 [V82,T28] ( 2, 256 ) ubyte -> rax "Inline return value spill temp"
-;* V83 tmp64 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V84 tmp65 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V85 tmp66 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V86 tmp67 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V87 tmp68 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
-; V88 tmp69 [V88,T23] ( 3, 384 ) int -> rsi "Inline stloc first use temp"
-; V89 tmp70 [V89,T20] ( 3, 384 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
-; V90 tmp71 [V90,T11] ( 2,1024 ) ubyte -> rax "Inline return value spill temp"
-;* V91 tmp72 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V92 tmp73 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V93 tmp74 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V94 tmp75 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V95 tmp76 [V95,T07] ( 3,2048 ) int -> r10 "Inline stloc first use temp"
-;* V96 tmp77 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
-; V97 tmp78 [V97,T36] ( 3, 32 ) int -> rdx "Inline stloc first use temp"
-; V98 tmp79 [V98,T47] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
-;* V99 tmp80 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V100 tmp81 [V100 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V50 tmp31 [V50,T72] ( 3, 4 ) int -> r10 "Inline stloc first use temp"
+; V51 tmp32 [V51,T55] ( 3, 12 ) byref -> r8 "Inlining Arg"
+; V52 tmp33 [V52,T56] ( 3, 12 ) int -> r10 "Inlining Arg"
+;* V53 tmp34 [V53 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+; V54 tmp35 [V54,T59] ( 5, 10 ) int -> rax "Inline return value spill temp"
+; V55 tmp36 [V55,T51] ( 4, 16 ) short -> r11 "Inlining Arg"
+;* V56 tmp37 [V56 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V57 tmp38 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V58 tmp39 [V58,T66] ( 3, 6 ) int -> rsi "Inline stloc first use temp"
+; V59 tmp40 [V59,T65] ( 3, 6 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
+; V60 tmp41 [V60,T45] ( 3, 24 ) ubyte -> rax "Inline return value spill temp"
+; V61 tmp42 [V61,T37] ( 3, 48 ) byref -> rdi "Inlining Arg"
+; V62 tmp43 [V62,T38] ( 3, 48 ) short -> rsi "Inlining Arg"
+; V63 tmp44 [V63,T39] ( 3, 48 ) int -> rdx "Inlining Arg"
+;* V64 tmp45 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V65 tmp46 [V65,T46] ( 3, 24 ) int -> rsi "Inline stloc first use temp"
+; V66 tmp47 [V66,T44] ( 3, 24 ) ref -> rax class-hnd "Inline stloc first use temp" <ushort[]>
+; V67 tmp48 [V67,T35] ( 3, 64 ) int -> rdx "Inline stloc first use temp"
+; V68 tmp49 [V68,T19] ( 3, 384 ) ubyte -> rax "Inline return value spill temp"
+; V69 tmp50 [V69,T08] ( 3, 768 ) byref -> r9 "Inlining Arg"
+; V70 tmp51 [V70,T06] ( 4,1024 ) short -> r10 "Inlining Arg"
+; V71 tmp52 [V71,T10] ( 3, 768 ) int -> r11 "Inlining Arg"
+; V72 tmp53 [V72,T20] ( 3, 384 ) ubyte -> rax "Inline return value spill temp"
+; V73 tmp54 [V73,T09] ( 3, 768 ) byref -> rdi "Inlining Arg"
+; V74 tmp55 [V74,T11] ( 3, 768 ) short -> rsi "Inlining Arg"
+; V75 tmp56 [V75,T12] ( 3, 768 ) int -> rdx "Inlining Arg"
+; V76 tmp57 [V76,T30] ( 2, 256 ) ubyte -> rax "Inline return value spill temp"
+;* V77 tmp58 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V78 tmp59 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V79 tmp60 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V80 tmp61 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V81 tmp62 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V82 tmp63 [V82,T21] ( 3, 384 ) int -> rsi "Inline stloc first use temp"
+; V83 tmp64 [V83,T17] ( 3, 384 ) ref -> rcx class-hnd "Inline stloc first use temp" <ushort[]>
+;* V84 tmp65 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Text.StringBuilder>
+; V85 tmp66 [V85,T22] ( 3, 384 ) int -> rsi "Inline stloc first use temp"
+; V86 tmp67 [V86,T18] ( 3, 384 ) ref -> rdx class-hnd "Inline stloc first use temp" <ushort[]>
+; V87 tmp68 [V87,T31] ( 2, 256 ) ubyte -> rax "Inline return value spill temp"
+;* V88 tmp69 [V88 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V89 tmp70 [V89 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V90 tmp71 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V91 tmp72 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V92 tmp73 [V92,T14] ( 3, 512 ) int -> r10 "Inline stloc first use temp"
+;* V93 tmp74 [V93 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Text.StringBuilder>
+; V94 tmp75 [V94,T41] ( 3, 32 ) int -> rdx "Inline stloc first use temp"
+; V95 tmp76 [V95,T52] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
+;* V96 tmp77 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V97 tmp78 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V98 tmp79 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V99 tmp80 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V100 tmp81 [V100,T53] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
;* V101 tmp82 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V102 tmp83 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V103 tmp84 [V103,T48] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
-;* V104 tmp85 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V105 tmp86 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V106 tmp87 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V107 tmp88 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V108 tmp89 [V108,T37] ( 3, 32 ) int -> r9 "Inline stloc first use temp"
-;* V109 tmp90 [V109 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V110 tmp91 [V110 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-;* V111 tmp92 [V111 ] ( 0, 0 ) byref -> zero-ref "field V49._reference (fldOffset=0x0)" P-INDEP
-;* V112 tmp93 [V112 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP
-;* V113 tmp94 [V113 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-INDEP
-;* V114 tmp95 [V114 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
-;* V115 tmp96 [V115 ] ( 0, 0 ) byref -> zero-ref "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V116 tmp97 [V116 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
-;* V117 tmp98 [V117 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP
-;* V118 tmp99 [V118 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
-;* V119 tmp100 [V119 ] ( 0, 0 ) byref -> zero-ref "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V120 tmp101 [V120 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
-;* V121 tmp102 [V121 ] ( 0, 0 ) byref -> zero-ref "field V85._reference (fldOffset=0x0)" P-INDEP
-;* V122 tmp103 [V122 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
-;* V123 tmp104 [V123 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP
-;* V124 tmp105 [V124 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-;* V125 tmp106 [V125 ] ( 0, 0 ) byref -> zero-ref "field V91._reference (fldOffset=0x0)" P-INDEP
-;* V126 tmp107 [V126 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
-;* V127 tmp108 [V127 ] ( 0, 0 ) byref -> zero-ref "field V92._reference (fldOffset=0x0)" P-INDEP
-;* V128 tmp109 [V128 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP
-;* V129 tmp110 [V129 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP
-;* V130 tmp111 [V130 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
-;* V131 tmp112 [V131 ] ( 0, 0 ) byref -> zero-ref "field V94._reference (fldOffset=0x0)" P-INDEP
-;* V132 tmp113 [V132 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP
-;* V133 tmp114 [V133 ] ( 0, 0 ) byref -> zero-ref "field V99._reference (fldOffset=0x0)" P-INDEP
-;* V134 tmp115 [V134 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
-;* V135 tmp116 [V135 ] ( 0, 0 ) byref -> zero-ref "field V100._reference (fldOffset=0x0)" P-INDEP
-;* V136 tmp117 [V136 ] ( 0, 0 ) int -> zero-ref "field V100._length (fldOffset=0x8)" P-INDEP
-;* V137 tmp118 [V137 ] ( 0, 0 ) byref -> zero-ref "field V101._reference (fldOffset=0x0)" P-INDEP
-;* V138 tmp119 [V138 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp120 [V139 ] ( 0, 0 ) byref -> zero-ref "field V102._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp121 [V140 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
-;* V141 tmp122 [V141 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP
-;* V142 tmp123 [V142 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
-;* V143 tmp124 [V143 ] ( 0, 0 ) byref -> zero-ref "field V105._reference (fldOffset=0x0)" P-INDEP
-;* V144 tmp125 [V144 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
-;* V145 tmp126 [V145 ] ( 0, 0 ) byref -> zero-ref "field V106._reference (fldOffset=0x0)" P-INDEP
-;* V146 tmp127 [V146 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp128 [V147 ] ( 0, 0 ) byref -> zero-ref "field V107._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp129 [V148 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
-; V149 cse0 [V149,T08] ( 3,1536 ) int -> r10 "CSE #34: moderate"
-; V150 cse1 [V150,T19] ( 6, 396 ) int -> r12 multi-def "CSE #15: moderate"
-; V151 cse2 [V151,T24] ( 3, 384 ) int -> rdi "CSE #28: conservative"
-; V152 cse3 [V152,T42] ( 3, 24 ) int -> rdi "CSE #17: conservative"
-; V153 cse4 [V153,T52] ( 3, 11.88) long -> r14 "CSE #37: conservative"
-; V154 cse5 [V154,T62] ( 3, 6 ) int -> rdi "CSE #11: conservative"
-; V155 cse6 [V155,T74] ( 3, 0.12) long -> r14 "CSE #39: conservative"
-; V156 cse7 [V156,T53] ( 3, 11.88) int -> rdi "CSE #36: conservative"
-; V157 cse8 [V157,T75] ( 3, 0.12) int -> rdi "CSE #38: conservative"
-; V158 rat0 [V158,T44] ( 5, 17 ) long -> [rbp-0x48] "Widened IV V14"
+;* V103 tmp84 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V104 tmp85 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V105 tmp86 [V105,T42] ( 3, 32 ) int -> r9 "Inline stloc first use temp"
+;* V106 tmp87 [V106 ] ( 0, 0 ) byref -> zero-ref "field V46._reference (fldOffset=0x0)" P-INDEP
+;* V107 tmp88 [V107 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
+;* V108 tmp89 [V108 ] ( 0, 0 ) byref -> zero-ref "field V47._reference (fldOffset=0x0)" P-INDEP
+;* V109 tmp90 [V109 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
+;* V110 tmp91 [V110 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V111 tmp92 [V111 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V112 tmp93 [V112 ] ( 0, 0 ) byref -> zero-ref "field V49._reference (fldOffset=0x0)" P-INDEP
+;* V113 tmp94 [V113 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-INDEP
+;* V114 tmp95 [V114 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V115 tmp96 [V115 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
+;* V116 tmp97 [V116 ] ( 0, 0 ) byref -> zero-ref "field V78._reference (fldOffset=0x0)" P-INDEP
+;* V117 tmp98 [V117 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
+;* V118 tmp99 [V118 ] ( 0, 0 ) byref -> zero-ref "field V79._reference (fldOffset=0x0)" P-INDEP
+;* V119 tmp100 [V119 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
+;* V120 tmp101 [V120 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V121 tmp102 [V121 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V122 tmp103 [V122 ] ( 0, 0 ) byref -> zero-ref "field V88._reference (fldOffset=0x0)" P-INDEP
+;* V123 tmp104 [V123 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
+;* V124 tmp105 [V124 ] ( 0, 0 ) byref -> zero-ref "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V125 tmp106 [V125 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+;* V126 tmp107 [V126 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP
+;* V127 tmp108 [V127 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
+;* V128 tmp109 [V128 ] ( 0, 0 ) byref -> zero-ref "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V129 tmp110 [V129 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
+;* V130 tmp111 [V130 ] ( 0, 0 ) byref -> zero-ref "field V96._reference (fldOffset=0x0)" P-INDEP
+;* V131 tmp112 [V131 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
+;* V132 tmp113 [V132 ] ( 0, 0 ) byref -> zero-ref "field V97._reference (fldOffset=0x0)" P-INDEP
+;* V133 tmp114 [V133 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
+;* V134 tmp115 [V134 ] ( 0, 0 ) byref -> zero-ref "field V98._reference (fldOffset=0x0)" P-INDEP
+;* V135 tmp116 [V135 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP
+;* V136 tmp117 [V136 ] ( 0, 0 ) byref -> zero-ref "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V137 tmp118 [V137 ] ( 0, 0 ) int -> zero-ref "field V99._length (fldOffset=0x8)" P-INDEP
+;* V138 tmp119 [V138 ] ( 0, 0 ) byref -> zero-ref "field V101._reference (fldOffset=0x0)" P-INDEP
+;* V139 tmp120 [V139 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
+;* V140 tmp121 [V140 ] ( 0, 0 ) byref -> zero-ref "field V102._reference (fldOffset=0x0)" P-INDEP
+;* V141 tmp122 [V141 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
+;* V142 tmp123 [V142 ] ( 0, 0 ) byref -> zero-ref "field V103._reference (fldOffset=0x0)" P-INDEP
+;* V143 tmp124 [V143 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
+;* V144 tmp125 [V144 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP
+;* V145 tmp126 [V145 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
+; V146 cse0 [V146,T23] ( 3, 384 ) int -> r10 "CSE #36: moderate"
+; V147 cse1 [V147,T16] ( 6, 396 ) int -> r12 multi-def "CSE #15: moderate"
+; V148 cse2 [V148,T24] ( 3, 384 ) int -> rdi "CSE #28: moderate"
+; V149 cse3 [V149,T25] ( 3, 384 ) int -> rdi "CSE #30: moderate"
+; V150 cse4 [V150,T47] ( 3, 24 ) int -> rdi "CSE #17: conservative"
+; V151 cse5 [V151,T57] ( 3, 11.88) long -> r14 "CSE #39: conservative"
+; V152 cse6 [V152,T67] ( 3, 6 ) int -> rdi "CSE #11: conservative"
+; V153 cse7 [V153,T79] ( 3, 0.12) long -> r14 "CSE #41: conservative"
+; V154 cse8 [V154,T32] ( 2, 256 ) int -> rdx "CSE #27: moderate"
+; V155 cse9 [V155,T33] ( 2, 256 ) int -> r8 "CSE #29: moderate"
+; V156 cse10 [V156,T58] ( 3, 11.88) int -> rdi "CSE #38: conservative"
+; V157 cse11 [V157,T80] ( 3, 0.12) int -> rdi "CSE #40: conservative"
+; V158 rat0 [V158,T49] ( 5, 17 ) long -> [rbp-0x48] "Widened IV V14"
;
; Lcl frame size = 88
G_M30744_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 88
lea rbp, [rsp+0x80]
mov r12, rdi
mov r14, rsi
mov r15, rdx
mov ebx, ecx
mov eax, r8d
mov r13d, r9d
;; size=39 bbWeight=1 PerfScore 8.25
G_M30744_IG02:
mov dword ptr [rbp-0x2C], eax
test eax, eax
jle G_M30744_IG87
lea rdi, bword ptr [r14+0x0C]
movsx rsi, bx
mov edx, dword ptr [r14+0x08]
movzx rcx, si
dec ecx
cmp ecx, 254
jae SHORT G_M30744_IG04
;; size=36 bbWeight=1 PerfScore 6.75
G_M30744_IG03:
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rcx]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
jmp SHORT G_M30744_IG05
align [0 bytes for IG84]
;; size=14 bbWeight=0.50 PerfScore 2.62
G_M30744_IG04:
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [rcx]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
;; size=12 bbWeight=0.50 PerfScore 1.62
G_M30744_IG05:
test eax, eax
jne G_M30744_IG93
lea rdi, bword ptr [r15+0x0C]
movsx rsi, bx
mov edx, dword ptr [r15+0x08]
movzx rax, si
dec eax
cmp eax, 254
jae SHORT G_M30744_IG07
;; size=32 bbWeight=1 PerfScore 5.75
G_M30744_IG06:
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rax]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
jmp SHORT G_M30744_IG08
;; size=14 bbWeight=0.50 PerfScore 2.62
G_M30744_IG07:
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
;; size=12 bbWeight=0.50 PerfScore 1.62
G_M30744_IG08:
test eax, eax
jne G_M30744_IG93
mov esi, dword ptr [r14+0x08]
cmp esi, dword ptr [r15+0x08]
jne G_M30744_IG93
movsxd rsi, dword ptr [rbp-0x2C]
mov rdi, 0xD1FFAB1E ; System.String[]
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0x58], rax
xor ecx, ecx
mov dword ptr [rbp-0x30], ecx
xor edx, edx
mov dword ptr [rbp-0x34], edx
mov rdi, 0xD1FFAB1E ; System.Text.StringBuilder
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x70], rax
mov esi, dword ptr [r12+0x08]
mov rdi, rax
mov edx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:.ctor(int,int):this
call [rcx]System.Text.StringBuilder:.ctor(int,int):this
mov rax, gword ptr [rbp-0x70]
mov gword ptr [rbp-0x60], rax
xor rcx, rcx
mov edx, 32
xor edi, edi
cmp dword ptr [r12+0x08], 0
jle SHORT G_M30744_IG11
;; size=124 bbWeight=1 PerfScore 29.75
G_M30744_IG09:
movzx rsi, word ptr [r12+2*rdi+0x0C]
mov dword ptr [rbp-0x3C], esi
mov r8d, dword ptr [rbp-0x34]
cmp r8d, 5
ja G_M30744_IG65
;; size=23 bbWeight=4 PerfScore 21.00
G_M30744_IG10:
mov dword ptr [rbp-0x34], r8d
mov r9d, r8d
lea r10, [reloc @RWD00]
mov r10d, dword ptr [r10+4*r9]
lea r11, G_M30744_IG02
add r10, r11
jmp r10
;; size=31 bbWeight=3.43 PerfScore 24.00
G_M30744_IG11:
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG66
;; size=9 bbWeight=0.50 PerfScore 1.50
G_M30744_IG12:
cmp esi, 256
jae SHORT G_M30744_IG14
mov r9d, esi
mov r10, 0xD1FFAB1E ; static handle
test byte ptr [r9+r10], 128
je SHORT G_M30744_IG15
;; size=28 bbWeight=2 PerfScore 11.50
G_M30744_IG13:
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
;; size=9 bbWeight=1 PerfScore 3.00
G_M30744_IG14:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov edi, esi
mov r9, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [r9]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov esi, dword ptr [rbp-0x3C]
mov rdi, qword ptr [rbp-0x48]
jne SHORT G_M30744_IG16
;; size=44 bbWeight=2 PerfScore 23.50
G_M30744_IG15:
movzx r9, bx
cmp esi, r9d
jne SHORT G_M30744_IG17
mov esi, dword ptr [rbp-0x30]
mov r9, gword ptr [rbp-0x58]
cmp esi, dword ptr [r9+0x08]
jae G_M30744_IG86
mov r10d, esi
mov r11, 0xD1FFAB1E ; ''
mov gword ptr [r9+8*r10+0x10], r11
inc esi
mov r10d, dword ptr [r9+0x08]
cmp esi, r10d
jge G_M30744_IG88
cmp esi, dword ptr [r9+0x08]
jae G_M30744_IG86
mov r10d, esi
mov r11, 0xD1FFAB1E ; ''
mov gword ptr [r9+8*r10+0x10], r11
mov dword ptr [rbp-0x30], esi
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
;; size=99 bbWeight=2 PerfScore 44.00
G_M30744_IG16:
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
;; size=9 bbWeight=1 PerfScore 3.00
G_M30744_IG17:
mov gword ptr [rbp-0x50], r12
lea r8, bword ptr [r14+0x0C]
mov r10d, dword ptr [r14+0x08]
movsx r11, si
movzx r12, r11w
dec r12d
cmp r12d, 254
jae SHORT G_M30744_IG18
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
movsx rsi, r11w
mov rdi, r8
mov edx, r10d
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
jmp SHORT G_M30744_IG19
;; size=68 bbWeight=2 PerfScore 29.00
G_M30744_IG18:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov rdi, r8
mov esi, r11d
mov edx, r10d
mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
call [r8]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
;; size=33 bbWeight=2 PerfScore 14.00
G_M30744_IG19:
cmp eax, -1
je G_M30744_IG22
cmp eax, dword ptr [r15+0x08]
jae G_M30744_IG86
mov edi, eax
movzx rdx, word ptr [r15+2*rdi+0x0C]
mov dword ptr [rbp-0x38], edx
mov rdi, gword ptr [rbp-0x60]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
call [rax]System.Text.StringBuilder:set_Length(int):this
test r13b, r13b
jne SHORT G_M30744_IG21
mov rax, gword ptr [rbp-0x60]
mov edi, dword ptr [rax+0x18]
mov esi, edi
mov rcx, gword ptr [rax+0x08]
cmp dword ptr [rcx+0x08], esi
jbe SHORT G_M30744_IG20
mov edx, dword ptr [rbp-0x3C]
mov word ptr [rcx+2*rsi+0x10], dx
inc edi
mov dword ptr [rax+0x18], edi
jmp SHORT G_M30744_IG21
;; size=86 bbWeight=2 PerfScore 57.50
G_M30744_IG20:
mov edx, dword ptr [rbp-0x3C]
mov rdi, rax
mov esi, edx
mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rcx]System.Text.StringBuilder:AppendWithExpansion(ushort):this
;; size=20 bbWeight=2 PerfScore 9.50
G_M30744_IG21:
mov eax, 4
mov r8d, eax
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG65
;; size=28 bbWeight=8 PerfScore 52.00
G_M30744_IG22:
lea rdi, bword ptr [r15+0x0C]
movsx rsi, word ptr [rbp-0x3C]
mov edx, dword ptr [r15+0x08]
cmp r12d, 254
jae SHORT G_M30744_IG23
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rax]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
jmp SHORT G_M30744_IG24
;; size=36 bbWeight=8 PerfScore 96.00
G_M30744_IG23:
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [rax]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
;; size=12 bbWeight=8 PerfScore 26.00
G_M30744_IG24:
test eax, eax
jne SHORT G_M30744_IG25
mov rdi, gword ptr [rbp-0x60]
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
call [rax]System.Text.StringBuilder:set_Length(int):this
mov r12, gword ptr [rbp-0x60]
mov edi, dword ptr [r12+0x18]
mov esi, edi
mov rax, gword ptr [r12+0x08]
cmp dword ptr [rax+0x08], esi
jbe SHORT G_M30744_IG26
mov ecx, dword ptr [rbp-0x3C]
mov word ptr [rax+2*rsi+0x10], cx
inc edi
mov dword ptr [r12+0x18], edi
jmp SHORT G_M30744_IG27
;; size=60 bbWeight=8 PerfScore 162.00
G_M30744_IG25:
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG93
;; size=9 bbWeight=4 PerfScore 12.00
G_M30744_IG26:
mov ecx, dword ptr [rbp-0x3C]
mov rdi, r12
mov esi, ecx
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rax]System.Text.StringBuilder:AppendWithExpansion(ushort):this
;; size=20 bbWeight=8 PerfScore 38.00
G_M30744_IG27:
mov eax, 1
mov r8d, eax
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG65
;; size=28 bbWeight=32 PerfScore 208.00
G_M30744_IG28:
mov rax, gword ptr [rbp-0x60]
movzx r9, bx
cmp esi, r9d
jne G_M30744_IG30
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov rdi, rax
mov rsi, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rsi]System.Text.StringBuilder:ToString():System.String:this
mov ecx, dword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x58]
cmp ecx, dword ptr [rdx+0x08]
jae G_M30744_IG86
mov dword ptr [rbp-0x30], ecx
mov edi, ecx
lea rdi, bword ptr [rdx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov eax, dword ptr [rbp-0x30]
inc eax
mov rcx, gword ptr [rbp-0x58]
mov edx, dword ptr [rcx+0x08]
cmp eax, edx
jge G_M30744_IG89
;; size=97 bbWeight=32 PerfScore 768.00
G_M30744_IG29:
cmp eax, dword ptr [rcx+0x08]
jae G_M30744_IG86
mov edi, eax
mov rsi, 0xD1FFAB1E ; ''
mov gword ptr [rcx+8*rdi+0x10], rsi
xor r8d, r8d
mov dword ptr [rbp-0x34], r8d
mov dword ptr [rbp-0x30], eax
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
;; size=56 bbWeight=128 PerfScore 1760.00
G_M30744_IG30:
mov gword ptr [rbp-0x50], r12
lea r9, bword ptr [r15+0x0C]
movsx r10, si
mov r11d, dword ptr [r15+0x08]
movzx r12, r10w
dec r12d
cmp r12d, 254
jae SHORT G_M30744_IG31
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov rdi, r9
mov esi, r10d
mov edx, r11d
mov r9, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [r9]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
jmp SHORT G_M30744_IG32
;; size=67 bbWeight=128 PerfScore 1856.00
G_M30744_IG31:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov rdi, r9
mov esi, r10d
mov edx, r11d
mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [r9]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
;; size=33 bbWeight=128 PerfScore 896.00
G_M30744_IG32:
test eax, eax
jne SHORT G_M30744_IG33
lea rdi, bword ptr [r14+0x0C]
movsx rsi, word ptr [rbp-0x3C]
mov edx, dword ptr [r14+0x08]
cmp r12d, 254
jae SHORT G_M30744_IG34
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rcx]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
jmp SHORT G_M30744_IG35
;; size=40 bbWeight=128 PerfScore 1696.00
G_M30744_IG33:
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG93
;; size=9 bbWeight=64 PerfScore 192.00
G_M30744_IG34:
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
call [rcx]System.SpanHelpers:NonPackedContainsValueType[short](byref,short,int):ubyte
;; size=12 bbWeight=128 PerfScore 416.00
G_M30744_IG35:
test eax, eax
jne SHORT G_M30744_IG36
mov r12d, dword ptr [rbp-0x3C]
cmp r12d, 256
jae SHORT G_M30744_IG37
mov edi, r12d
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
je G_M30744_IG42
jmp SHORT G_M30744_IG38
;; size=42 bbWeight=128 PerfScore 1280.00
G_M30744_IG36:
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG93
;; size=9 bbWeight=64 PerfScore 192.00
G_M30744_IG37:
mov edi, r12d
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
je G_M30744_IG42
;; size=23 bbWeight=128 PerfScore 608.00
G_M30744_IG38:
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
mov ecx, dword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x58]
cmp ecx, dword ptr [rdx+0x08]
jae G_M30744_IG86
mov dword ptr [rbp-0x30], ecx
mov edi, ecx
lea rdi, bword ptr [rdx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rax, gword ptr [rbp-0x68]
test rax, rax
jne SHORT G_M30744_IG39
mov rdi, 0xD1FFAB1E ; System.Text.StringBuilder
call CORINFO_HELP_NEWSFAST
mov gword ptr [rbp-0x78], rax
mov dword ptr [rax+0x20], 0xD1FFAB1E
mov rdi, 0xD1FFAB1E ; ushort[]
mov esi, 16
call CORINFO_HELP_NEWARR_1_VC
mov rcx, gword ptr [rbp-0x78]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rax, gword ptr [rbp-0x78]
;; size=125 bbWeight=128 PerfScore 3136.00
G_M30744_IG39:
mov gword ptr [rbp-0x68], rax
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:set_Length(int):this
cmp dword ptr [rdi], edi
call [rcx]System.Text.StringBuilder:set_Length(int):this
mov rax, gword ptr [rbp-0x68]
mov edi, dword ptr [rax+0x18]
mov esi, edi
mov rcx, gword ptr [rax+0x08]
- cmp dword ptr [rcx+0x08], esi
+ mov edx, dword ptr [rcx+0x08]
+ cmp edx, esi
jbe SHORT G_M30744_IG40
mov word ptr [rcx+2*rsi+0x10], r12w
inc edi
mov dword ptr [rax+0x18], edi
jmp SHORT G_M30744_IG41
- ;; size=54 bbWeight=128 PerfScore 2720.00
+ ;; size=56 bbWeight=128 PerfScore 2624.00
G_M30744_IG40:
mov gword ptr [rbp-0x68], rax
mov rdi, rax
mov esi, r12d
mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
call [rcx]System.Text.StringBuilder:AppendWithExpansion(ushort):this
mov rax, gword ptr [rbp-0x68]
;; size=26 bbWeight=128 PerfScore 736.00
G_M30744_IG41:
mov dword ptr [rbp-0x34], 3
mov rcx, rax
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG65
;; size=30 bbWeight=128 PerfScore 928.00
G_M30744_IG42:
- mov rdi, gword ptr [rbp-0x60]
- mov esi, r12d
- mov rcx, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
- call [rcx]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
+ mov rcx, gword ptr [rbp-0x60]
+ mov edi, dword ptr [rcx+0x18]
+ mov esi, edi
+ mov rdx, gword ptr [rcx+0x08]
+ mov r8d, dword ptr [rdx+0x08]
+ cmp r8d, esi
+ jbe SHORT G_M30744_IG43
+ mov word ptr [rdx+2*rsi+0x10], r12w
+ inc edi
+ mov dword ptr [rcx+0x18], edi
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
mov r12, gword ptr [rbp-0x50]
jmp G_M30744_IG65
- ;; size=43 bbWeight=512 PerfScore 5888.00
+ ;; size=57 bbWeight=128 PerfScore 2272.00
G_M30744_IG43:
+ mov rdi, rcx
+ mov esi, r12d
+ mov rdx, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ call [rdx]System.Text.StringBuilder:AppendWithExpansion(ushort):this
+ mov rcx, gword ptr [rbp-0x68]
+ mov edx, dword ptr [rbp-0x38]
+ mov rdi, qword ptr [rbp-0x48]
+ mov r8d, dword ptr [rbp-0x34]
+ mov r12, gword ptr [rbp-0x50]
+ jmp G_M30744_IG65
+ ;; size=42 bbWeight=128 PerfScore 1376.00
+G_M30744_IG44:
mov rax, gword ptr [rbp-0x60]
cmp esi, 256
- jae SHORT G_M30744_IG46
- ;; size=12 bbWeight=2048 PerfScore 4608.00
-G_M30744_IG44:
+ jae SHORT G_M30744_IG47
+ ;; size=12 bbWeight=512 PerfScore 1152.00
+G_M30744_IG45:
mov r9d, esi
mov r10, 0xD1FFAB1E ; static handle
test byte ptr [r9+r10], 128
- je SHORT G_M30744_IG48
- ;; size=20 bbWeight=512 PerfScore 2304.00
-G_M30744_IG45:
+ je SHORT G_M30744_IG49
+ ;; size=20 bbWeight=128 PerfScore 576.00
+G_M30744_IG46:
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
- jmp G_M30744_IG55
- ;; size=12 bbWeight=256 PerfScore 1024.00
-G_M30744_IG46:
+ jmp G_M30744_IG56
+ ;; size=12 bbWeight=64 PerfScore 256.00
+G_M30744_IG47:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov edi, esi
mov r9, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [r9]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
mov rcx, gword ptr [rbp-0x68]
mov esi, dword ptr [rbp-0x3C]
- jne G_M30744_IG55
- ;; size=41 bbWeight=512 PerfScore 4992.00
-G_M30744_IG47:
+ jne G_M30744_IG56
+ ;; size=41 bbWeight=128 PerfScore 1248.00
+G_M30744_IG48:
mov rax, gword ptr [rbp-0x60]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
- ;; size=11 bbWeight=256 PerfScore 768.00
-G_M30744_IG48:
+ ;; size=11 bbWeight=64 PerfScore 192.00
+G_M30744_IG49:
movzx r8, bx
cmp esi, r8d
- jne SHORT G_M30744_IG51
- ;; size=9 bbWeight=2048 PerfScore 3072.00
-G_M30744_IG49:
+ jne SHORT G_M30744_IG52
+ ;; size=9 bbWeight=512 PerfScore 768.00
+G_M30744_IG50:
mov r8d, dword ptr [rbp-0x30]
inc r8d
mov r9, gword ptr [rbp-0x58]
mov r10d, dword ptr [r9+0x08]
mov dword ptr [rbp-0x30], r8d
cmp r8d, r10d
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
jge G_M30744_IG90
- ;; size=39 bbWeight=1024 PerfScore 9728.00
-G_M30744_IG50:
+ ;; size=39 bbWeight=256 PerfScore 2432.00
+G_M30744_IG51:
mov eax, dword ptr [rbp-0x30]
mov rcx, gword ptr [rbp-0x58]
jmp G_M30744_IG29
- ;; size=12 bbWeight=512 PerfScore 2048.00
-G_M30744_IG51:
- test rcx, rcx
- je G_M30744_IG54
- ;; size=9 bbWeight=1024 PerfScore 1280.00
+ ;; size=12 bbWeight=128 PerfScore 512.00
G_M30744_IG52:
+ test rcx, rcx
+ je G_M30744_IG55
+ ;; size=9 bbWeight=256 PerfScore 320.00
+G_M30744_IG53:
mov r10d, dword ptr [rcx+0x1C]
mov gword ptr [rbp-0x68], rcx
add r10d, dword ptr [rcx+0x18]
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
- je SHORT G_M30744_IG53
+ je SHORT G_M30744_IG54
mov ecx, r10d
mov rdi, rax
mov rsi, gword ptr [rbp-0x68]
xor edx, edx
mov r10, 0xD1FFAB1E ; code for System.Text.StringBuilder:AppendCore(System.Text.StringBuilder,int,int):System.Text.StringBuilder:this
call [r10]System.Text.StringBuilder:AppendCore(System.Text.StringBuilder,int,int):System.Text.StringBuilder:this
mov rax, gword ptr [rbp-0x60]
- ;; size=50 bbWeight=512 PerfScore 7680.00
-G_M30744_IG53:
+ ;; size=50 bbWeight=128 PerfScore 1920.00
+G_M30744_IG54:
mov rdi, rax
mov esi, dword ptr [rbp-0x3C]
mov r10, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
call [r10]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
mov rdi, gword ptr [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
mov ecx, dword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x58]
cmp ecx, dword ptr [rdx+0x08]
jae G_M30744_IG86
mov dword ptr [rbp-0x30], ecx
mov edi, ecx
lea rdi, bword ptr [rdx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov gword ptr [rbp-0x50], r12
mov r12, gword ptr [rbp-0x60]
jmp G_M30744_IG27
- ;; size=82 bbWeight=1024 PerfScore 22784.00
-G_M30744_IG54:
+ ;; size=82 bbWeight=256 PerfScore 5696.00
+G_M30744_IG55:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
- jmp SHORT G_M30744_IG53
- ;; size=13 bbWeight=512 PerfScore 2560.00
-G_M30744_IG55:
+ jmp SHORT G_M30744_IG54
+ ;; size=13 bbWeight=128 PerfScore 640.00
+G_M30744_IG56:
mov gword ptr [rbp-0x68], rcx
mov rdi, rcx
mov r9, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
cmp dword ptr [rdi], edi
call [r9]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
- ;; size=42 bbWeight=128 PerfScore 1728.00
-G_M30744_IG56:
+ ;; size=42 bbWeight=32 PerfScore 432.00
+G_M30744_IG57:
mov rax, gword ptr [rbp-0x60]
cmp esi, edx
- mov gword ptr [rbp-0x68], rcx
- mov qword ptr [rbp-0x48], rdi
jne SHORT G_M30744_IG59
- ;; size=16 bbWeight=256 PerfScore 1088.00
-G_M30744_IG57:
test r13b, r13b
jne SHORT G_M30744_IG58
+ mov gword ptr [rbp-0x68], rcx
+ mov qword ptr [rbp-0x48], rdi
mov rdi, rax
mov dword ptr [rbp-0x38], edx
mov esi, edx
mov r8, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
call [r8]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
mov rax, gword ptr [rbp-0x60]
- mov edx, dword ptr [rbp-0x38]
- ;; size=33 bbWeight=32 PerfScore 256.00
-G_M30744_IG58:
- mov r8d, 5
mov rcx, gword ptr [rbp-0x68]
+ mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
+ ;; size=57 bbWeight=32 PerfScore 456.00
+G_M30744_IG58:
+ mov dword ptr [rbp-0x34], 5
+ mov r8d, dword ptr [rbp-0x34]
jmp G_M30744_IG65
- ;; size=19 bbWeight=32 PerfScore 136.00
+ ;; size=16 bbWeight=32 PerfScore 128.00
G_M30744_IG59:
+ mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
- mov gword ptr [rbp-0x50], r12
- mov r12d, esi
- jmp G_M30744_IG42
- ;; size=15 bbWeight=128 PerfScore 544.00
+ mov qword ptr [rbp-0x48], rdi
+ mov rdi, rax
+ mov r9, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
+ call [r9]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
+ mov rcx, gword ptr [rbp-0x68]
+ mov edx, dword ptr [rbp-0x38]
+ mov rdi, qword ptr [rbp-0x48]
+ mov r8d, dword ptr [rbp-0x34]
+ jmp G_M30744_IG65
+ ;; size=47 bbWeight=32 PerfScore 400.00
G_M30744_IG60:
mov rax, gword ptr [rbp-0x60]
cmp esi, edx
jne SHORT G_M30744_IG62
;; size=8 bbWeight=128 PerfScore 288.00
G_M30744_IG61:
mov gword ptr [rbp-0x68], rcx
mov qword ptr [rbp-0x48], rdi
mov rdi, rax
mov dword ptr [rbp-0x38], edx
mov esi, edx
mov r8, 0xD1FFAB1E ; code for System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
call [r8]System.Text.StringBuilder:Append(ushort):System.Text.StringBuilder:this
mov gword ptr [rbp-0x50], r12
jmp G_M30744_IG21
;; size=38 bbWeight=64 PerfScore 624.00
G_M30744_IG62:
movzx r8, bx
cmp esi, r8d
jne SHORT G_M30744_IG63
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov rdi, rax
mov rsi, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rsi]System.Text.StringBuilder:ToString():System.String:this
mov ecx, dword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x58]
cmp ecx, dword ptr [rdx+0x08]
jae G_M30744_IG86
mov dword ptr [rbp-0x30], ecx
mov edi, ecx
lea rdi, bword ptr [rdx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov eax, dword ptr [rbp-0x30]
inc eax
mov rcx, gword ptr [rbp-0x58]
mov edx, dword ptr [rcx+0x08]
cmp eax, edx
jge G_M30744_IG91
jmp G_M30744_IG29
;; size=94 bbWeight=16 PerfScore 400.00
G_M30744_IG63:
cmp esi, 256
jae G_M30744_IG69
mov esi, esi
mov r8, 0xD1FFAB1E ; static handle
test byte ptr [rsi+r8], 128
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
je G_M30744_IG93
;; size=46 bbWeight=8 PerfScore 70.00
G_M30744_IG64:
mov rdi, rax
mov rsi, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rsi]System.Text.StringBuilder:ToString():System.String:this
mov ecx, dword ptr [rbp-0x30]
mov rdx, gword ptr [rbp-0x58]
cmp ecx, dword ptr [rdx+0x08]
jae G_M30744_IG86
mov dword ptr [rbp-0x30], ecx
mov edi, ecx
lea rdi, bword ptr [rdx+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [rbp-0x34], 2
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
;; size=71 bbWeight=8 PerfScore 144.00
G_M30744_IG65:
inc edi
mov r9, rdi
mov gword ptr [rbp-0x50], r12
cmp dword ptr [r12+0x08], r9d
mov rdi, r9
mov r12, gword ptr [rbp-0x50]
jg SHORT G_M30744_IG68
;; size=23 bbWeight=4 PerfScore 27.00
G_M30744_IG66:
cmp r8d, 5
ja G_M30744_IG93
;; size=10 bbWeight=1 PerfScore 1.25
G_M30744_IG67:
mov rax, gword ptr [rbp-0x60]
mov edi, r8d
lea rcx, [reloc @RWD24]
mov ecx, dword ptr [rcx+4*rdi]
lea rdx, G_M30744_IG02
add rcx, rdx
jmp rcx
;; size=29 bbWeight=0.86 PerfScore 6.00
G_M30744_IG68:
mov dword ptr [rbp-0x34], r8d
jmp G_M30744_IG09
;; size=9 bbWeight=2 PerfScore 6.00
G_M30744_IG69:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov edi, esi
mov rsi, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rsi]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
mov rax, gword ptr [rbp-0x60]
je G_M30744_IG93
jmp G_M30744_IG64
;; size=42 bbWeight=8 PerfScore 86.00
G_M30744_IG70:
mov rax, gword ptr [rbp-0x60]
cmp esi, 256
jae SHORT G_M30744_IG73
;; size=12 bbWeight=16 PerfScore 36.00
G_M30744_IG71:
mov r9d, esi
mov r10, 0xD1FFAB1E ; static handle
test byte ptr [r9+r10], 128
mov r8d, dword ptr [rbp-0x34]
je SHORT G_M30744_IG75
;; size=24 bbWeight=8 PerfScore 44.00
G_M30744_IG72:
jmp G_M30744_IG65
;; size=5 bbWeight=4 PerfScore 8.00
G_M30744_IG73:
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
mov edi, esi
mov r9, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [r9]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
mov rcx, gword ptr [rbp-0x68]
mov edx, dword ptr [rbp-0x38]
mov esi, dword ptr [rbp-0x3C]
mov rdi, qword ptr [rbp-0x48]
mov r8d, dword ptr [rbp-0x34]
jne G_M30744_IG65
;; size=52 bbWeight=8 PerfScore 102.00
G_M30744_IG74:
mov rax, gword ptr [rbp-0x60]
;; size=4 bbWeight=4 PerfScore 4.00
G_M30744_IG75:
movzx r8, bx
cmp esi, r8d
jne G_M30744_IG93
mov esi, dword ptr [rbp-0x30]
inc esi
mov r8, gword ptr [rbp-0x58]
mov r9d, dword ptr [r8+0x08]
mov dword ptr [rbp-0x30], esi
cmp esi, r9d
mov gword ptr [rbp-0x68], rcx
mov dword ptr [rbp-0x38], edx
mov qword ptr [rbp-0x48], rdi
jge G_M30744_IG92
;; size=49 bbWeight=16 PerfScore 176.00
G_M30744_IG76:
mov rcx, r8
mov eax, dword ptr [rbp-0x30]
jmp G_M30744_IG29
;; size=11 bbWeight=8 PerfScore 26.00
G_M30744_IG77:
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Text.StringBuilder:ToString():System.String:this
call [rax]System.Text.StringBuilder:ToString():System.String:this
mov ebx, dword ptr [rbp-0x30]
mov r15, gword ptr [rbp-0x58]
cmp ebx, dword ptr [r15+0x08]
jae G_M30744_IG86
mov edi, ebx
lea rdi, bword ptr [r15+8*rdi+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [rbp-0x30], ebx
;; size=50 bbWeight=0.50 PerfScore 6.50
G_M30744_IG78:
mov r15, gword ptr [rbp-0x58]
cmp dword ptr [r15+0x08], 0
jbe G_M30744_IG86
cmp gword ptr [r15+0x10], 0
jne SHORT G_M30744_IG82
;; size=22 bbWeight=1 PerfScore 9.00
G_M30744_IG79:
cmp byte ptr [rbp+0x18], 0
jne G_M30744_IG94
;; size=10 bbWeight=0.50 PerfScore 1.50
G_M30744_IG80:
mov rax, r15
;; size=3 bbWeight=1 PerfScore 0.25
G_M30744_IG81:
add rsp, 88
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
G_M30744_IG82:
mov r12d, dword ptr [rbp-0x2C]
mov ebx, r12d
sub ebx, dword ptr [rbp-0x30]
dec ebx
test ebx, ebx
jle SHORT G_M30744_IG80
dec r12d
cmp r12d, ebx
jl SHORT G_M30744_IG80
;; size=24 bbWeight=0.50 PerfScore 3.12
G_M30744_IG83:
test r12d, r12d
jl SHORT G_M30744_IG85
cmp dword ptr [r15+0x08], r12d
jle SHORT G_M30744_IG85
mov edi, dword ptr [r15+0x08]
;; size=15 bbWeight=0.25 PerfScore 1.81
G_M30744_IG84:
mov edi, r12d
sub edi, ebx
cmp edi, dword ptr [r15+0x08]
jae SHORT G_M30744_IG86
mov r14d, edi
mov rsi, gword ptr [r15+8*r14+0x10]
mov edi, r12d
lea rdi, bword ptr [r15+8*rdi+0x10]
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov gword ptr [r15+8*r14+0x10], rdi
dec r12d
cmp r12d, ebx
jge SHORT G_M30744_IG84
jmp SHORT G_M30744_IG80
;; size=49 bbWeight=3.96 PerfScore 54.45
G_M30744_IG85:
mov edi, r12d
sub edi, ebx
cmp edi, dword ptr [r15+0x08]
jae SHORT G_M30744_IG86
mov r14d, edi
mov rsi, gword ptr [r15+8*r14+0x10]
cmp r12d, dword ptr [r15+0x08]
jae SHORT G_M30744_IG86
mov edi, r12d
lea rdi, bword ptr [r15+8*rdi+0x10]
call CORINFO_HELP_ASSIGN_REF
xor rax, rax
mov gword ptr [r15+8*r14+0x10], rax
dec r12d
cmp r12d, ebx
jge SHORT G_M30744_IG85
jmp G_M30744_IG80
;; size=58 bbWeight=0.04 PerfScore 0.71
G_M30744_IG86:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M30744_IG87:
mov eax, dword ptr [rbp-0x2C]
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov edx, eax
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=33 bbWeight=0 PerfScore 0.00
G_M30744_IG88:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov edx, r10d
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=31 bbWeight=0 PerfScore 0.00
G_M30744_IG89:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=28 bbWeight=0 PerfScore 0.00
G_M30744_IG90:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov edx, r10d
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=31 bbWeight=0 PerfScore 0.00
G_M30744_IG91:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=28 bbWeight=0 PerfScore 0.00
G_M30744_IG92:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov edx, r9d
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameToManyParts(System.String,System.String,int):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=31 bbWeight=0 PerfScore 0.00
G_M30744_IG93:
mov rdi, gword ptr [rbp+0x10]
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartNameIncorrectUsageOfQuotes(System.String,System.String):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartNameIncorrectUsageOfQuotes(System.String,System.String):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=28 bbWeight=0 PerfScore 0.00
G_M30744_IG94:
mov rbx, gword ptr [rbp+0x10]
mov rdi, rbx
mov rsi, r12
mov rax, 0xD1FFAB1E ; code for System.Data.Common.ADP:InvalidMultipartName(System.String,System.String):System.ArgumentException
call [rax]System.Data.Common.ADP:InvalidMultipartName(System.String,System.String):System.ArgumentException
mov rdi, rax
call CORINFO_HELP_THROW
int3
;; size=31 bbWeight=0 PerfScore 0.00
RWD00 dd G_M30744_IG12 - G_M30744_IG02
dd G_M30744_IG28 - G_M30744_IG02
dd G_M30744_IG70 - G_M30744_IG02
- dd G_M30744_IG43 - G_M30744_IG02
- dd G_M30744_IG56 - G_M30744_IG02
+ dd G_M30744_IG44 - G_M30744_IG02
+ dd G_M30744_IG57 - G_M30744_IG02
dd G_M30744_IG60 - G_M30744_IG02
RWD24 dd G_M30744_IG78 - G_M30744_IG02
dd G_M30744_IG77 - G_M30744_IG02
dd G_M30744_IG78 - G_M30744_IG02
dd G_M30744_IG78 - G_M30744_IG02
dd G_M30744_IG93 - G_M30744_IG02
dd G_M30744_IG77 - G_M30744_IG02
-; Total bytes of code 3056, prolog size 39, PerfScore 92696.35, instruction count 769, allocated bytes for code 3056 (MethodHash=b02687e7) for method System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts)
+; Total bytes of code 3151, prolog size 39, PerfScore 40888.35, instruction count 794, allocated bytes for code 3151 (MethodHash=b02687e7) for method System.Data.Common.MultipartIdentifier:ParseMultipartIdentifier(System.String,System.String,System.String,ushort,int,ubyte,System.String,ubyte):System.String[] (FullOpts)
62 (7.70 % of base) - System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this
; Assembly listing for method System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 22 single block inlinees; 19 inlinees without PGO data
+; 0 inlinees with PGO data; 28 single block inlinees; 23 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T01] ( 22,121 ) byref -> rbx this single-def
-; V01 loc0 [V01,T31] ( 6, 4 ) ref -> r15 class-hnd <System.String>
-; V02 loc1 [V02,T09] ( 9, 21 ) ref -> r14 ld-addr-op class-hnd <System.String[]>
-; V03 loc2 [V03,T11] ( 6, 15 ) int -> [rbp-0x2C]
-; V04 loc3 [V04,T08] ( 8, 22 ) ref -> r12 class-hnd <System.String>
+; V00 this [V00,T00] ( 26,213 ) byref -> rbx this single-def
+; V01 loc0 [V01,T36] ( 6, 4 ) ref -> r15 class-hnd <System.String>
+; V02 loc1 [V02,T14] ( 9, 21 ) ref -> r14 ld-addr-op class-hnd <System.String[]>
+; V03 loc2 [V03,T16] ( 6, 15 ) int -> [rbp-0x2C]
+; V04 loc3 [V04,T13] ( 8, 22 ) ref -> r12 class-hnd <System.String>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06,T36] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeNameParser+NamespaceTypeName>
-; V07 tmp2 [V07,T05] ( 4, 32 ) int -> r13 "impSpillLclRefs"
-; V08 tmp3 [V08,T30] ( 5, 5 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeNameParser+NestedNamespaceTypeName>
-; V09 tmp4 [V09,T38] ( 3, 3 ) int -> rdi "Span.get_Item index"
-; V10 tmp5 [V10,T37] ( 3, 3 ) byref -> rax single-def "Span.get_Item ptrToSpan"
-; V11 tmp6 [V11,T39] ( 3, 1.50) int -> rax
+; V06 tmp1 [V06,T39] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeNameParser+NamespaceTypeName>
+; V07 tmp2 [V07,T09] ( 4, 32 ) int -> r13 "impSpillLclRefs"
+; V08 tmp3 [V08,T35] ( 5, 5 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Reflection.TypeNameParser+NestedNamespaceTypeName>
+; V09 tmp4 [V09,T41] ( 3, 3 ) int -> rdi "Span.get_Item index"
+; V10 tmp5 [V10,T40] ( 3, 3 ) byref -> rax single-def "Span.get_Item ptrToSpan"
+; V11 tmp6 [V11,T42] ( 3, 1.50) int -> rax
;* V12 tmp7 [V12 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-; V13 tmp8 [V13,T03] ( 3, 96 ) int -> rdi "Span.get_Item index"
-; V14 tmp9 [V14,T02] ( 3, 96 ) byref -> rax "Span.get_Item ptrToSpan"
-; V15 tmp10 [V15,T06] ( 2, 32 ) ubyte -> rax "Inline return value spill temp"
-; V16 tmp11 [V16,T00] ( 4,128 ) ushort -> rdi "Inlining Arg"
+; V13 tmp8 [V13,T05] ( 3, 96 ) int -> rdi "Span.get_Item index"
+; V14 tmp9 [V14,T03] ( 3, 96 ) byref -> rax "Span.get_Item ptrToSpan"
+; V15 tmp10 [V15,T10] ( 2, 32 ) ubyte -> rax "Inline return value spill temp"
+; V16 tmp11 [V16,T01] ( 4,128 ) ushort -> rdi "Inlining Arg"
;* V17 tmp12 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V18 tmp13 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V19 tmp14 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V20 tmp15 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V21 tmp16 [V21,T19] ( 3, 8 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
+; V21 tmp16 [V21,T24] ( 3, 8 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
;* V22 tmp17 [V22 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V23 tmp18 [V23 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V24 tmp19 [V24 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V25 tmp20 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V26 tmp21 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V27 tmp22 [V27,T21] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V28 tmp23 [V28,T24] ( 2, 8 ) int -> rdx "Inlining Arg"
+; V27 tmp22 [V27,T26] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V28 tmp23 [V28,T29] ( 2, 8 ) int -> rdx "Inlining Arg"
;* V29 tmp24 [V29 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V30 tmp25 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V31 tmp26 [V31,T34] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V32 tmp27 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V33 tmp28 [V33,T32] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
-;* V34 tmp29 [V34 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V35 tmp30 [V35,T35] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V36 tmp31 [V36 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V37 tmp32 [V37 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V38 tmp33 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V39 tmp34 [V39,T26] ( 3, 6 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
-; V40 tmp35 [V40,T18] ( 4, 8 ) int -> [rbp-0x30] spill-single-def "Inline stloc first use temp"
-;* V41 tmp36 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V42 tmp37 [V42,T17] ( 4, 8 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V43 tmp38 [V43,T33] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
-; V44 tmp39 [V44,T22] ( 2, 8 ) byref -> rdi "Inlining Arg"
-; V45 tmp40 [V45,T23] ( 2, 8 ) byref -> rsi "Inlining Arg"
-;* V46 tmp41 [V46 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V47 tmp42 [V47,T07] ( 6, 24 ) int -> [rbp-0x34] spill-single-def "Inlining Arg"
-;* V48 tmp43 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String[]>
-; V49 tmp44 [V49,T27] ( 3, 6 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String[]>
-; V50 tmp45 [V50,T12] ( 3, 12 ) byref -> rdi "impAppendStmt"
-; V51 tmp46 [V51,T13] ( 3, 12 ) byref -> rsi "impAppendStmt"
-; V52 tmp47 [V52,T28] ( 3, 6 ) int -> rdx "Inline return value spill temp"
-; V53 tmp48 [V53,T15] ( 3, 12 ) int -> rdx "Inlining Arg"
-; V54 tmp49 [V54,T25] ( 2, 8 ) long -> rdx "Inlining Arg"
-; V55 tmp50 [V55,T10] ( 4, 16 ) long -> rdx "Inlining Arg"
-; V56 tmp51 [V56,T16] ( 3, 12 ) int -> rdi "Span.get_Item index"
-; V57 tmp52 [V57,T14] ( 3, 12 ) byref -> rax "Span.get_Item ptrToSpan"
-; V58 tmp53 [V58,T20] ( 3, 8 ) int -> rdi
-;* V59 tmp54 [V59 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V60 tmp55 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String[]>
-;* V61 tmp56 [V61 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V62 tmp57 [V62 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
-;* V63 tmp58 [V63 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V64 tmp59 [V64 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
-;* V65 tmp60 [V65 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V66 tmp61 [V66 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
-;* V67 tmp62 [V67 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V68 tmp63 [V68 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
-;* V69 tmp64 [V69 ] ( 0, 0 ) byref -> zero-ref "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V70 tmp65 [V70 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
-;* V71 tmp66 [V71 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V72 tmp67 [V72 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
-;* V73 tmp68 [V73 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V74 tmp69 [V74 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-;* V75 tmp70 [V75 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V76 tmp71 [V76 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
-;* V77 tmp72 [V77 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V78 tmp73 [V78 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
-;* V79 tmp74 [V79 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V80 tmp75 [V80 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
-;* V81 tmp76 [V81 ] ( 0, 0 ) byref -> zero-ref "field V38._reference (fldOffset=0x0)" P-INDEP
-;* V82 tmp77 [V82 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
-; V83 cse0 [V83,T29] ( 3, 6 ) int -> [rbp-0x38] "CSE #06: conservative"
-; V84 cse1 [V84,T04] ( 3, 80 ) int -> rdi "CSE #02: aggressive"
-; V85 cse2 [V85,T40] ( 3, 1.50) int -> rdi "CSE #01: conservative"
+;* V31 tmp26 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V32 tmp27 [V32,T37] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V33 tmp28 [V33 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V34 tmp29 [V34 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V35 tmp30 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V36 tmp31 [V36,T31] ( 3, 6 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
+; V37 tmp32 [V37,T23] ( 4, 8 ) int -> [rbp-0x30] spill-single-def "Inline stloc first use temp"
+;* V38 tmp33 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V39 tmp34 [V39,T22] ( 4, 8 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V40 tmp35 [V40,T38] ( 2, 4 ) long -> rdx "Inline stloc first use temp"
+; V41 tmp36 [V41,T27] ( 2, 8 ) byref -> rdi "Inlining Arg"
+; V42 tmp37 [V42,T28] ( 2, 8 ) byref -> rsi "Inlining Arg"
+;* V43 tmp38 [V43 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V44 tmp39 [V44,T12] ( 6, 24 ) int -> [rbp-0x34] spill-single-def "Inlining Arg"
+;* V45 tmp40 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.String[]>
+; V46 tmp41 [V46,T32] ( 3, 6 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String[]>
+; V47 tmp42 [V47,T17] ( 3, 12 ) byref -> rdi "impAppendStmt"
+; V48 tmp43 [V48,T18] ( 3, 12 ) byref -> rsi "impAppendStmt"
+; V49 tmp44 [V49,T33] ( 3, 6 ) int -> rdx "Inline return value spill temp"
+; V50 tmp45 [V50,T20] ( 3, 12 ) int -> rdx "Inlining Arg"
+; V51 tmp46 [V51,T30] ( 2, 8 ) long -> rdx "Inlining Arg"
+; V52 tmp47 [V52,T15] ( 4, 16 ) long -> rdx "Inlining Arg"
+; V53 tmp48 [V53,T21] ( 3, 12 ) int -> rdi "Span.get_Item index"
+; V54 tmp49 [V54,T19] ( 3, 12 ) byref -> rax "Span.get_Item ptrToSpan"
+; V55 tmp50 [V55,T25] ( 3, 8 ) int -> rdi
+;* V56 tmp51 [V56 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+; V57 tmp52 [V57,T06] ( 3, 96 ) int -> rdi "Span.get_Item index"
+; V58 tmp53 [V58,T04] ( 3, 96 ) byref -> rax "Span.get_Item ptrToSpan"
+; V59 tmp54 [V59,T11] ( 2, 32 ) ubyte -> rax "Inline return value spill temp"
+; V60 tmp55 [V60,T02] ( 4,128 ) ushort -> rdi "Inlining Arg"
+;* V61 tmp56 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V62 tmp57 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V63 tmp58 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V64 tmp59 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V65 tmp60 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String[]>
+;* V66 tmp61 [V66 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V67 tmp62 [V67 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
+;* V68 tmp63 [V68 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp64 [V69 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
+;* V70 tmp65 [V70 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V71 tmp66 [V71 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
+;* V72 tmp67 [V72 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V73 tmp68 [V73 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp69 [V74 ] ( 0, 0 ) byref -> zero-ref "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp70 [V75 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
+;* V76 tmp71 [V76 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V77 tmp72 [V77 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
+;* V78 tmp73 [V78 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V79 tmp74 [V79 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
+;* V80 tmp75 [V80 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V81 tmp76 [V81 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
+;* V82 tmp77 [V82 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V83 tmp78 [V83 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+;* V84 tmp79 [V84 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V85 tmp80 [V85 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
+;* V86 tmp81 [V86 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP
+;* V87 tmp82 [V87 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
+;* V88 tmp83 [V88 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP
+;* V89 tmp84 [V89 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
+;* V90 tmp85 [V90 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V91 tmp86 [V91 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
+;* V92 tmp87 [V92 ] ( 0, 0 ) byref -> zero-ref "field V63._reference (fldOffset=0x0)" P-INDEP
+;* V93 tmp88 [V93 ] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP
+;* V94 tmp89 [V94 ] ( 0, 0 ) byref -> zero-ref "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V95 tmp90 [V95 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
+; V96 cse0 [V96,T34] ( 3, 6 ) int -> [rbp-0x38] "CSE #06: conservative"
+; V97 cse1 [V97,T07] ( 3, 80 ) int -> rdi "CSE #02: aggressive"
+; V98 cse2 [V98,T08] ( 3, 80 ) int -> rdi "CSE #11: aggressive"
+; V99 cse3 [V99,T43] ( 3, 1.50) int -> rdi "CSE #01: conservative"
;
; Lcl frame size = 40
G_M10810_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 40
lea rbp, [rsp+0x50]
mov rbx, rdi
;; size=22 bbWeight=1 PerfScore 7.00
G_M10810_IG02:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this
call [rax]System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this
mov r15, rax
test r15, r15
jne SHORT G_M10810_IG05
;; size=23 bbWeight=1 PerfScore 5.00
G_M10810_IG03:
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M10810_IG04:
add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M10810_IG05:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:<ParseNamedTypeName>g__ApplyLeadingDotCompatQuirk|25_0(System.String):System.String
call [rax]System.Reflection.TypeNameParser:<ParseNamedTypeName>g__ApplyLeadingDotCompatQuirk|25_0(System.String):System.String
mov r15, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:SkipWhiteSpace():this
call [rax]System.Reflection.TypeNameParser:SkipWhiteSpace():this
mov edi, dword ptr [rbx+0x20]
cmp edi, dword ptr [rbx+0x38]
jl SHORT G_M10810_IG06
xor eax, eax
jmp SHORT G_M10810_IG07
;; size=45 bbWeight=0.50 PerfScore 7.75
G_M10810_IG06:
lea rax, bword ptr [rbx+0x30]
cmp edi, dword ptr [rax+0x08]
- jae G_M10810_IG33
+ jae G_M10810_IG38
mov rax, bword ptr [rax]
mov edi, edi
movzx rax, word ptr [rax+2*rdi]
;; size=22 bbWeight=0.50 PerfScore 4.38
G_M10810_IG07:
movzx rdi, ax
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:CharToToken(ushort):int
call [rax]System.Reflection.TypeNameParser:CharToToken(ushort):int
cmp eax, 4
- jne G_M10810_IG31
+ jne G_M10810_IG36
mov rdi, 0xD1FFAB1E ; System.String[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov r14, rax
xor r13d, r13d
jmp SHORT G_M10810_IG09
;; size=52 bbWeight=0.50 PerfScore 4.38
G_M10810_IG08:
inc dword ptr [rbx+0x20]
;; size=3 bbWeight=2 PerfScore 6.00
G_M10810_IG09:
mov edi, dword ptr [rbx+0x20]
cmp edi, dword ptr [rbx+0x38]
jge SHORT G_M10810_IG12
;; size=8 bbWeight=32 PerfScore 192.00
G_M10810_IG10:
lea rax, bword ptr [rbx+0x30]
cmp edi, dword ptr [rax+0x08]
- jae G_M10810_IG33
+ jae G_M10810_IG38
mov rax, bword ptr [rax]
mov edi, edi
movzx rdi, word ptr [rax+2*rdi]
cmp edi, 256
jae SHORT G_M10810_IG11
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M10810_IG08
jmp SHORT G_M10810_IG12
;; size=48 bbWeight=16 PerfScore 260.00
G_M10810_IG11:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M10810_IG08
;; size=16 bbWeight=16 PerfScore 72.00
G_M10810_IG12:
mov edi, dword ptr [rbx+0x20]
cmp edi, dword ptr [rbx+0x38]
jge SHORT G_M10810_IG14
;; size=8 bbWeight=4 PerfScore 24.00
G_M10810_IG13:
inc dword ptr [rbx+0x20]
;; size=3 bbWeight=2 PerfScore 6.00
G_M10810_IG14:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this
call [rax]System.Reflection.TypeNameParser:GetNextIdentifier():System.String:this
mov r12, rax
test r12, r12
je G_M10810_IG03
cmp word ptr [r12+0x0C], 46
jne SHORT G_M10810_IG16
;; size=36 bbWeight=4 PerfScore 36.00
G_M10810_IG15:
cmp dword ptr [r12+0x08], 0
- je G_M10810_IG34
+ je G_M10810_IG39
lea rdi, bword ptr [r12+0x0E]
mov eax, dword ptr [r12+0x08]
dec eax
mov dword ptr [rbp-0x38], eax
mov edx, eax
mov esi, 46
mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rcx]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
test eax, eax
je SHORT G_M10810_IG17
;; size=50 bbWeight=2 PerfScore 25.50
G_M10810_IG16:
jmp SHORT G_M10810_IG19
;; size=2 bbWeight=2 PerfScore 4.00
G_M10810_IG17:
mov eax, dword ptr [rbp-0x38]
mov dword ptr [rbp-0x30], eax
test eax, eax
jne SHORT G_M10810_IG18
mov r12, 0xD1FFAB1E ; ''
jmp SHORT G_M10810_IG19
;; size=22 bbWeight=2 PerfScore 11.00
G_M10810_IG18:
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov gword ptr [rbp-0x40], rax
mov edx, dword ptr [rbp-0x30]
cmp byte ptr [rax], al
lea rdi, bword ptr [rax+0x0C]
lea rsi, bword ptr [r12+0x0E]
add rdx, rdx
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
mov r12, gword ptr [rbp-0x40]
;; size=44 bbWeight=2 PerfScore 23.50
G_M10810_IG19:
cmp dword ptr [r14+0x08], r13d
jg SHORT G_M10810_IG25
;; size=6 bbWeight=4 PerfScore 16.00
G_M10810_IG20:
lea eax, [r13+r13]
mov dword ptr [rbp-0x34], eax
test eax, eax
- jl G_M10810_IG35
+ jl G_M10810_IG40
cmp dword ptr [r14+0x08], eax
je SHORT G_M10810_IG25
movsxd rsi, eax
mov rdi, 0xD1FFAB1E ; System.String[]
call CORINFO_HELP_NEWARR_1_OBJ
mov gword ptr [rbp-0x48], rax
lea rdi, bword ptr [rax+0x10]
lea rsi, bword ptr [r14+0x10]
mov edx, dword ptr [r14+0x08]
mov r14d, dword ptr [rbp-0x34]
cmp r14d, edx
jle SHORT G_M10810_IG21
jmp SHORT G_M10810_IG22
;; size=67 bbWeight=2 PerfScore 36.00
G_M10810_IG21:
mov edx, r14d
;; size=3 bbWeight=2 PerfScore 0.50
G_M10810_IG22:
mov edx, edx
shl rdx, 3
cmp rdx, 0x4000
ja SHORT G_M10810_IG23
call System.Buffer:__BulkMoveWithWriteBarrier(byref,byref,ulong)
jmp SHORT G_M10810_IG24
;; size=22 bbWeight=2 PerfScore 10.00
G_M10810_IG23:
mov rcx, 0xD1FFAB1E ; code for System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)
call [rcx]System.Buffer:_BulkMoveWithWriteBarrier(byref,byref,ulong)
;; size=12 bbWeight=2 PerfScore 6.50
G_M10810_IG24:
mov r14, gword ptr [rbp-0x48]
;; size=4 bbWeight=2 PerfScore 2.00
G_M10810_IG25:
lea edi, [r13+0x01]
mov dword ptr [rbp-0x2C], edi
cmp r13d, dword ptr [r14+0x08]
- jae G_M10810_IG33
+ jae G_M10810_IG38
mov edi, r13d
lea rdi, bword ptr [r14+8*rdi+0x10]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
- mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:SkipWhiteSpace():this
- call [rax]System.Reflection.TypeNameParser:SkipWhiteSpace():this
+ jmp SHORT G_M10810_IG27
+ ;; size=35 bbWeight=4 PerfScore 40.00
+G_M10810_IG26:
+ inc dword ptr [rbx+0x20]
+ ;; size=3 bbWeight=8 PerfScore 24.00
+G_M10810_IG27:
mov edi, dword ptr [rbx+0x20]
cmp edi, dword ptr [rbx+0x38]
- jl SHORT G_M10810_IG27
- ;; size=56 bbWeight=4 PerfScore 70.00
-G_M10810_IG26:
+ jge SHORT G_M10810_IG30
+ ;; size=8 bbWeight=32 PerfScore 192.00
+G_M10810_IG28:
+ lea rax, bword ptr [rbx+0x30]
+ cmp edi, dword ptr [rax+0x08]
+ jae G_M10810_IG38
+ mov rax, bword ptr [rax]
+ mov edi, edi
+ movzx rdi, word ptr [rax+2*rdi]
+ cmp edi, 256
+ jae SHORT G_M10810_IG29
+ mov rax, 0xD1FFAB1E ; static handle
+ test byte ptr [rdi+rax], 128
+ jne SHORT G_M10810_IG26
+ jmp SHORT G_M10810_IG30
+ ;; size=48 bbWeight=16 PerfScore 260.00
+G_M10810_IG29:
+ mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
+ call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
+ test eax, eax
+ jne SHORT G_M10810_IG26
+ ;; size=16 bbWeight=16 PerfScore 72.00
+G_M10810_IG30:
+ mov edi, dword ptr [rbx+0x20]
+ cmp edi, dword ptr [rbx+0x38]
+ jl SHORT G_M10810_IG32
+ ;; size=8 bbWeight=4 PerfScore 24.00
+G_M10810_IG31:
xor edi, edi
- jmp SHORT G_M10810_IG28
+ jmp SHORT G_M10810_IG33
;; size=4 bbWeight=2 PerfScore 4.50
-G_M10810_IG27:
+G_M10810_IG32:
mov edi, dword ptr [rbx+0x20]
lea rax, bword ptr [rbx+0x30]
cmp edi, dword ptr [rax+0x08]
- jae G_M10810_IG33
+ jae G_M10810_IG38
mov rax, bword ptr [rax]
movzx rdi, word ptr [rax+2*rdi]
;; size=23 bbWeight=2 PerfScore 21.00
-G_M10810_IG28:
+G_M10810_IG33:
movzx rdi, di
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeNameParser:CharToToken(ushort):int
call [rax]System.Reflection.TypeNameParser:CharToToken(ushort):int
cmp eax, 4
mov r13d, dword ptr [rbp-0x2C]
je G_M10810_IG09
;; size=28 bbWeight=4 PerfScore 23.00
-G_M10810_IG29:
+G_M10810_IG34:
mov rdi, 0xD1FFAB1E ; System.Reflection.TypeNameParser+NestedNamespaceTypeName
call CORINFO_HELP_NEWSFAST
mov rbx, rax
lea rdi, bword ptr [rbx+0x08]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
lea rdi, bword ptr [rbx+0x10]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov dword ptr [rbx+0x18], r13d
mov rax, rbx
;; size=49 bbWeight=0.50 PerfScore 3.12
-G_M10810_IG30:
+G_M10810_IG35:
add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M10810_IG31:
+G_M10810_IG36:
mov rdi, 0xD1FFAB1E ; System.Reflection.TypeNameParser+NamespaceTypeName
call CORINFO_HELP_NEWSFAST
mov rbx, rax
lea rdi, bword ptr [rbx+0x08]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rax, rbx
;; size=33 bbWeight=0.50 PerfScore 1.75
-G_M10810_IG32:
+G_M10810_IG37:
add rsp, 40
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M10810_IG33:
+G_M10810_IG38:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M10810_IG34:
+G_M10810_IG39:
mov edi, 33
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-G_M10810_IG35:
+G_M10810_IG40:
mov edi, 71
mov esi, 13
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
int3
;; size=23 bbWeight=0 PerfScore 0.00
-; Total bytes of code 805, prolog size 22, PerfScore 889.38, instruction count 217, allocated bytes for code 805 (MethodHash=bf71d5c5) for method System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
+; Total bytes of code 867, prolog size 22, PerfScore 1431.38, instruction count 235, allocated bytes for code 867 (MethodHash=bf71d5c5) for method System.Reflection.TypeNameParser:ParseNamedTypeName():System.Reflection.TypeNameParser+TypeName:this (FullOpts)
59 (3.34 % of base) - System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String
; Assembly listing for method System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 101 single block inlinees; 57 inlinees without PGO data
+; 0 inlinees with PGO data; 112 single block inlinees; 64 inlinees without PGO data
; Final local variable assignments
;
;* V00 arg0 [V00 ] ( 0, 0 ) struct ( 8) zero-ref single-def <System.Reflection.Metadata.TypeReferenceHandle>
; V01 arg1 [V01,T00] ( 10, 8 ) ref -> rbx class-hnd single-def <System.Reflection.Metadata.MetadataReader>
; V02 loc0 [V02 ] ( 24, 14.50) struct (16) [rbp-0x38] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.TypeReference>
;* V03 loc1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.String>
-; V04 loc2 [V04,T38] ( 3, 2.50) ref -> r15 class-hnd <System.String>
+; V04 loc2 [V04,T40] ( 3, 2.50) ref -> r15 class-hnd <System.String>
;* V05 loc3 [V05 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Reflection.Metadata.EntityHandle>
;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
; V07 loc5 [V07 ] ( 2, 1 ) struct (16) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.TypeLoading.TypeContext>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.StringHandle>
;* V10 tmp2 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
; V11 tmp3 [V11,T01] ( 5, 5 ) ref -> r14
;* V12 tmp4 [V12 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.StringHandle>
;* V13 tmp5 [V13 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Reflection.Metadata.EntityHandle>
;* V14 tmp6 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReference>
-; V15 tmp7 [V15,T46] ( 3, 2 ) int -> rsi "Inline return value spill temp"
+; V15 tmp7 [V15,T48] ( 3, 2 ) int -> rsi "Inline return value spill temp"
;* V16 tmp8 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
;* V17 tmp9 [V17 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
; V18 tmp10 [V18,T02] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
;* V20 tmp12 [V20 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V21 tmp13 [V21 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
;* V22 tmp14 [V22 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V23 tmp15 [V23,T75] ( 2, 1 ) int -> rsi single-def "Inline stloc first use temp"
-; V24 tmp16 [V24,T58] ( 3, 1.50) int -> rsi "Inline return value spill temp"
+; V23 tmp15 [V23,T82] ( 2, 1 ) int -> rdx single-def "Inline stloc first use temp"
+; V24 tmp16 [V24,T63] ( 3, 1.50) int -> rsi "Inline return value spill temp"
;* V25 tmp17 [V25 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V26 tmp18 [V26,T03] ( 5, 5 ) byref -> rdx single-def "Inlining Arg"
-; V27 tmp19 [V27,T14] ( 5, 5 ) int -> rsi "Inlining Arg"
-; V28 tmp20 [V28,T59] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
+; V26 tmp18 [V26,T03] ( 5, 5 ) byref -> rsi single-def "Inlining Arg"
+; V27 tmp19 [V27,T14] ( 5, 5 ) int -> rdx "Inlining Arg"
+; V28 tmp20 [V28,T64] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
;* V29 tmp21 [V29 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
;* V30 tmp22 [V30 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
;* V31 tmp23 [V31 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V32 tmp24 [V32 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V33 tmp25 [V33 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
;* V34 tmp26 [V34 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
-; V35 tmp27 [V35,T60] ( 3, 1.50) ubyte -> rdi single-def "Inline stloc first use temp"
+; V35 tmp27 [V35,T65] ( 3, 1.50) ubyte -> rdi single-def "Inline stloc first use temp"
;* V36 tmp28 [V36 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.Metadata.StringHandle>
;* V37 tmp29 [V37 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
-; V38 tmp30 [V38,T35] ( 3, 3 ) int -> r15 "Inlining Arg"
+; V38 tmp30 [V38,T37] ( 3, 3 ) int -> r15 "Inlining Arg"
;* V39 tmp31 [V39 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V40 tmp32 [V40 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
;* V41 tmp33 [V41 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V42 tmp34 [V42,T45] ( 3, 2 ) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
+; V42 tmp34 [V42,T47] ( 3, 2 ) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
;* V43 tmp35 [V43 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
;* V44 tmp36 [V44 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Reflection.Metadata.StringHandle>
-; V45 tmp37 [V45,T32] ( 3, 3 ) byref -> rdi single-def "impAppendStmt"
-; V46 tmp38 [V46,T54] ( 3, 1.50) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
+; V45 tmp37 [V45,T34] ( 3, 3 ) byref -> rdi single-def "impAppendStmt"
+; V46 tmp38 [V46,T58] ( 3, 1.50) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
;* V47 tmp39 [V47 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
-; V48 tmp40 [V48,T24] ( 4, 4 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Reflection.Metadata.MetadataStringDecoder>
+; V48 tmp40 [V48,T26] ( 4, 4 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Reflection.Metadata.MetadataStringDecoder>
;* V49 tmp41 [V49 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
-; V50 tmp42 [V50,T76] ( 2, 1 ) int -> rax
-; V51 tmp43 [V51,T61] ( 3, 1.50) ushort -> r14 single-def "Inline stloc first use temp"
-; V52 tmp44 [V52,T25] ( 4, 4 ) byref -> r13 single-def "impAppendStmt"
+; V50 tmp42 [V50,T83] ( 2, 1 ) int -> rax
+; V51 tmp43 [V51,T66] ( 3, 1.50) ushort -> r14 single-def "Inline stloc first use temp"
+; V52 tmp44 [V52,T27] ( 4, 4 ) byref -> r13 single-def "impAppendStmt"
;* V53 tmp45 [V53 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
; V54 tmp46 [V54,T15] ( 5, 5 ) int -> r12 "Inlining Arg"
;* V55 tmp47 [V55 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
;* V56 tmp48 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ubyte]>
-; V57 tmp49 [V57,T62] ( 3, 1.50) int -> rdx
-; V58 tmp50 [V58,T31] ( 6, 3 ) int -> rdx "Inline stloc first use temp"
+; V57 tmp49 [V57,T67] ( 3, 1.50) int -> rdx
+; V58 tmp50 [V58,T32] ( 6, 3 ) int -> rdx "Inline stloc first use temp"
;* V59 tmp51 [V59 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V60 tmp52 [V60,T16] ( 5, 5 ) int -> [rbp-0x4C] spill-single-def "Inlining Arg"
-; V61 tmp53 [V61,T49] ( 2, 2 ) long -> rdi "Inlining Arg"
+; V61 tmp53 [V61,T51] ( 2, 2 ) long -> rdi "Inlining Arg"
;* V62 tmp54 [V62 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V63 tmp55 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V64 tmp56 [V64 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V65 tmp57 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V66 tmp58 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V67 tmp59 [V67,T102] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V68 tmp60 [V68 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V64 tmp56 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V65 tmp57 [V65 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V66 tmp58 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V67 tmp59 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp60 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V70 tmp62 [V70 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V71 tmp63 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V72 tmp64 [V72 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V73 tmp65 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V74 tmp66 [V74 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-; V75 tmp67 [V75,T50] ( 2, 2 ) ubyte -> rdx ld-addr-op "Inlining Arg"
+;* V70 tmp62 [V70 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+; V71 tmp63 [V71,T52] ( 2, 2 ) ubyte -> rdx "Inlining Arg"
+;* V72 tmp64 [V72 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V73 tmp65 [V73 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V74 tmp66 [V74 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V75 tmp67 [V75 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V76 tmp68 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V77 tmp69 [V77 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V78 tmp70 [V78,T103] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V79 tmp71 [V79 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-;* V80 tmp72 [V80 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V81 tmp73 [V81 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V82 tmp74 [V82 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V83 tmp75 [V83 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inlining Arg"
-;* V84 tmp76 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-; V85 tmp77 [V85,T55] ( 3, 1.50) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
-; V86 tmp78 [V86,T51] ( 2, 2 ) long -> rsi "Inlining Arg"
-;* V87 tmp79 [V87 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
-; V88 tmp80 [V88,T04] ( 5, 5 ) byref -> rdx single-def "impAppendStmt"
-;* V89 tmp81 [V89 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V90 tmp82 [V90 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V91 tmp83 [V91 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V92 tmp84 [V92 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V93 tmp85 [V93,T77] ( 2, 1 ) int -> rdi single-def "Inline stloc first use temp"
-; V94 tmp86 [V94,T63] ( 3, 1.50) int -> rsi "Inline return value spill temp"
-;* V95 tmp87 [V95 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V96 tmp88 [V96,T05] ( 5, 5 ) byref -> rsi single-def "Inlining Arg"
-; V97 tmp89 [V97,T17] ( 5, 5 ) int -> rdi "Inlining Arg"
-; V98 tmp90 [V98,T64] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
-;* V99 tmp91 [V99 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V100 tmp92 [V100 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V101 tmp93 [V101 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V102 tmp94 [V102 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V103 tmp95 [V103 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
-;* V104 tmp96 [V104 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
-; V105 tmp97 [V105,T06] ( 5, 5 ) byref -> rsi single-def "impAppendStmt"
-;* V106 tmp98 [V106 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
-; V107 tmp99 [V107,T36] ( 3, 3 ) int -> r15 "Inlining Arg"
-;* V108 tmp100 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V109 tmp101 [V109 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
-;* V110 tmp102 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V111 tmp103 [V111 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V112 tmp104 [V112 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V113 tmp105 [V113 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V114 tmp106 [V114,T78] ( 2, 1 ) int -> rdx single-def "Inline stloc first use temp"
-; V115 tmp107 [V115,T65] ( 3, 1.50) int -> rsi "Inline return value spill temp"
-;* V116 tmp108 [V116 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V117 tmp109 [V117,T07] ( 5, 5 ) byref -> rdi single-def "Inlining Arg"
-; V118 tmp110 [V118,T18] ( 5, 5 ) int -> rdx "Inlining Arg"
-; V119 tmp111 [V119,T66] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
-;* V120 tmp112 [V120 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V121 tmp113 [V121 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V122 tmp114 [V122 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V123 tmp115 [V123 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V124 tmp116 [V124 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
-; V125 tmp117 [V125,T28] ( 3, 4 ) byref -> rdi single-def "impAppendStmt"
-; V126 tmp118 [V126,T37] ( 4, 2.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
-;* V127 tmp119 [V127 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
-; V128 tmp120 [V128,T22] ( 4, 5 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Reflection.Metadata.MetadataStringDecoder>
-;* V129 tmp121 [V129 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
-; V130 tmp122 [V130,T79] ( 2, 1 ) int -> rcx
-; V131 tmp123 [V131,T80] ( 2, 1 ) ushort -> rcx single-def "Inline stloc first use temp"
-; V132 tmp124 [V132,T26] ( 4, 4 ) byref -> r13 single-def "impAppendStmt"
-; V133 tmp125 [V133 ] ( 1, 0.50) int -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-; V134 tmp126 [V134,T27] ( 4, 4 ) int -> r12 "Inlining Arg"
-; V135 tmp127 [V135,T67] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
-; V136 tmp128 [V136,T56] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
-; V137 tmp129 [V137,T52] ( 2, 2 ) long -> rsi "Inlining Arg"
-;* V138 tmp130 [V138 ] ( 0, 0 ) struct ( 8) zero-ref single-def "Inline return value spill temp" <System.Reflection.Metadata.EntityHandle>
-; V139 tmp131 [V139,T08] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
-;* V140 tmp132 [V140 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V141 tmp133 [V141 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V142 tmp134 [V142 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V143 tmp135 [V143 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V144 tmp136 [V144,T81] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
-; V145 tmp137 [V145,T09] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
-; V146 tmp138 [V146,T19] ( 5, 5 ) int -> rax "Inlining Arg"
-;* V147 tmp139 [V147 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V148 tmp140 [V148,T41] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V149 tmp141 [V149 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V150 tmp142 [V150 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V151 tmp143 [V151 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V152 tmp144 [V152 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-; V153 tmp145 [V153,T82] ( 2, 1 ) int -> rcx single-def "Inline stloc first use temp"
-; V154 tmp146 [V154,T68] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
-;* V155 tmp147 [V155 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
-;* V156 tmp148 [V156 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V157 tmp149 [V157 ] ( 0, 0 ) struct ( 8) zero-ref single-def "Inline return value spill temp" <System.Reflection.Metadata.EntityHandle>
-; V158 tmp150 [V158,T10] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
-;* V159 tmp151 [V159 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V160 tmp152 [V160 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V161 tmp153 [V161 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V162 tmp154 [V162 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V163 tmp155 [V163,T83] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
-; V164 tmp156 [V164,T11] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
-; V165 tmp157 [V165,T20] ( 5, 5 ) int -> rax "Inlining Arg"
-;* V166 tmp158 [V166 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V167 tmp159 [V167,T42] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V168 tmp160 [V168 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V169 tmp161 [V169 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V170 tmp162 [V170 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V171 tmp163 [V171 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-; V172 tmp164 [V172,T84] ( 2, 1 ) int -> rcx single-def "Inline stloc first use temp"
-; V173 tmp165 [V173,T69] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
-;* V174 tmp166 [V174 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
-;* V175 tmp167 [V175 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V176 tmp168 [V176,T12] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
-;* V177 tmp169 [V177 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V178 tmp170 [V178 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V179 tmp171 [V179 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
-;* V180 tmp172 [V180 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
-; V181 tmp173 [V181,T85] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
-; V182 tmp174 [V182,T13] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
-; V183 tmp175 [V183,T21] ( 5, 5 ) int -> rax "Inlining Arg"
-;* V184 tmp176 [V184 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V185 tmp177 [V185,T43] ( 4, 2 ) int -> rdi "Inline return value spill temp"
-;* V186 tmp178 [V186 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V187 tmp179 [V187 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V188 tmp180 [V188 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V189 tmp181 [V189 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-; V190 tmp182 [V190,T86] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
-; V191 tmp183 [V191,T70] ( 3, 1.50) int -> rdi single-def "Inline stloc first use temp"
-;* V192 tmp184 [V192 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
-;* V193 tmp185 [V193 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V194 tmp186 [V194,T29] ( 3, 2 ) int -> rsi single-def "field V00._rowId (fldOffset=0x0)" P-INDEP
-; V195 tmp187 [V195 ] ( 10, 5.50) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
-; V196 tmp188 [V196 ] ( 17, 10.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V02._treatmentAndRowId (fldOffset=0x8)" P-DEP
-;* V197 tmp189 [V197 ] ( 0, 0 ) int -> zero-ref "field V05._vToken (fldOffset=0x0)" P-INDEP
-; V198 tmp190 [V198 ] ( 2, 1 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V07.<GenericTypeArguments>k__BackingField (fldOffset=0x0)" P-DEP
-; V199 tmp191 [V199 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V07.<GenericMethodArguments>k__BackingField (fldOffset=0x8)" P-DEP
-;* V200 tmp192 [V200 ] ( 0, 0 ) int -> zero-ref "field V09._value (fldOffset=0x0)" P-INDEP
-;* V201 tmp193 [V201 ] ( 0, 0 ) int -> zero-ref single-def "field V12._value (fldOffset=0x0)" P-INDEP
-; V202 tmp194 [V202,T71] ( 3, 1.50) int -> rdi single-def "field V13._vToken (fldOffset=0x0)" P-INDEP
-;* V203 tmp195 [V203,T101] ( 0, 0 ) ref -> zero-ref single-def "field V14._reader (fldOffset=0x0)" P-INDEP
-; V204 tmp196 [V204,T53] ( 2, 2 ) int -> rsi single-def "field V14._treatmentAndRowId (fldOffset=0x8)" P-INDEP
-;* V205 tmp197 [V205 ] ( 0, 0 ) int -> zero-ref single-def "field V16._rowId (fldOffset=0x0)" P-INDEP
-; V206 tmp198 [V206,T23] ( 7, 4 ) int -> rsi "field V17._value (fldOffset=0x0)" P-INDEP
-;* V207 tmp199 [V207 ] ( 0, 0 ) int -> zero-ref "field V19._rowId (fldOffset=0x0)" P-INDEP
-; V208 tmp200 [V208,T87] ( 2, 1 ) int -> rsi single-def "field V21._rowId (fldOffset=0x0)" P-INDEP
-;* V209 tmp201 [V209 ] ( 0, 0 ) int -> zero-ref single-def "field V22._rowId (fldOffset=0x0)" P-INDEP
-; V210 tmp202 [V210,T88] ( 2, 1 ) int -> rsi single-def "field V33._value (fldOffset=0x0)" P-INDEP
-; V211 tmp203 [V211,T44] ( 4, 2 ) int -> rsi "field V34._value (fldOffset=0x0)" P-INDEP
-;* V212 tmp204 [V212 ] ( 0, 0 ) int -> zero-ref single-def "field V36._value (fldOffset=0x0)" P-INDEP
-;* V213 tmp205 [V213,T104] ( 0, 0 ) int -> zero-ref single-def "field V37._value (fldOffset=0x0)" P-INDEP
-; V214 tmp206 [V214,T89] ( 2, 1 ) int -> rsi single-def "field V40._value (fldOffset=0x0)" P-INDEP
-;* V215 tmp207 [V215 ] ( 0, 0 ) int -> zero-ref single-def "field V43._value (fldOffset=0x0)" P-INDEP
-;* V216 tmp208 [V216 ] ( 0, 0 ) int -> zero-ref single-def "field V44._value (fldOffset=0x0)" P-INDEP
-;* V217 tmp209 [V217 ] ( 0, 0 ) int -> zero-ref single-def "field V47._value (fldOffset=0x0)" P-INDEP
-;* V218 tmp210 [V218 ] ( 0, 0 ) int -> zero-ref single-def "field V49._value (fldOffset=0x0)" P-INDEP
-; V219 tmp211 [V219,T57] ( 3, 1.50) byref -> rdi single-def "field V56._reference (fldOffset=0x0)" P-INDEP
-;* V220 tmp212 [V220 ] ( 0, 0 ) int -> zero-ref single-def "field V56._length (fldOffset=0x8)" P-INDEP
-;* V221 tmp213 [V221 ] ( 0, 0 ) byref -> zero-ref single-def "field V63._reference (fldOffset=0x0)" P-INDEP
-;* V222 tmp214 [V222 ] ( 0, 0 ) int -> zero-ref single-def "field V63._length (fldOffset=0x8)" P-INDEP
-;* V223 tmp215 [V223 ] ( 0, 0 ) byref -> zero-ref single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V224 tmp216 [V224 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
-;* V225 tmp217 [V225 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP
-;* V226 tmp218 [V226 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
-;* V227 tmp219 [V227 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
-;* V228 tmp220 [V228 ] ( 0, 0 ) int -> zero-ref single-def "field V73._length (fldOffset=0x8)" P-INDEP
-;* V229 tmp221 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "field V76._reference (fldOffset=0x0)" P-INDEP
-;* V230 tmp222 [V230 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
-;* V231 tmp223 [V231 ] ( 0, 0 ) byref -> zero-ref "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V232 tmp224 [V232 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
-; V233 tmp225 [V233,T30] ( 6, 3.50) int -> rsi "field V87._value (fldOffset=0x0)" P-INDEP
-;* V234 tmp226 [V234 ] ( 0, 0 ) int -> zero-ref "field V89._rowId (fldOffset=0x0)" P-INDEP
-; V235 tmp227 [V235,T90] ( 2, 1 ) int -> rdi single-def "field V91._rowId (fldOffset=0x0)" P-INDEP
-;* V236 tmp228 [V236 ] ( 0, 0 ) int -> zero-ref single-def "field V92._rowId (fldOffset=0x0)" P-INDEP
-; V237 tmp229 [V237,T91] ( 2, 1 ) int -> rsi single-def "field V103._value (fldOffset=0x0)" P-INDEP
-; V238 tmp230 [V238,T72] ( 3, 1.50) int -> rsi "field V104._value (fldOffset=0x0)" P-INDEP
-;* V239 tmp231 [V239 ] ( 0, 0 ) int -> zero-ref "field V106._rowId (fldOffset=0x0)" P-INDEP
-; V240 tmp232 [V240,T92] ( 2, 1 ) int -> rsi single-def "field V109._value (fldOffset=0x0)" P-INDEP
-; V241 tmp233 [V241,T93] ( 2, 1 ) int -> rdx single-def "field V112._rowId (fldOffset=0x0)" P-INDEP
-;* V242 tmp234 [V242 ] ( 0, 0 ) int -> zero-ref single-def "field V113._rowId (fldOffset=0x0)" P-INDEP
-; V243 tmp235 [V243,T94] ( 2, 1 ) int -> rsi single-def "field V124._value (fldOffset=0x0)" P-INDEP
-;* V244 tmp236 [V244 ] ( 0, 0 ) int -> zero-ref single-def "field V127._value (fldOffset=0x0)" P-INDEP
-;* V245 tmp237 [V245 ] ( 0, 0 ) int -> zero-ref single-def "field V129._value (fldOffset=0x0)" P-INDEP
-; V246 tmp238 [V246,T47] ( 3, 2 ) int -> rax single-def "field V138._vToken (fldOffset=0x0)" P-INDEP
-;* V247 tmp239 [V247 ] ( 0, 0 ) int -> zero-ref "field V140._rowId (fldOffset=0x0)" P-INDEP
-; V248 tmp240 [V248,T95] ( 2, 1 ) int -> rax single-def "field V142._rowId (fldOffset=0x0)" P-INDEP
-;* V249 tmp241 [V249 ] ( 0, 0 ) int -> zero-ref single-def "field V143._rowId (fldOffset=0x0)" P-INDEP
-; V250 tmp242 [V250,T96] ( 2, 1 ) int -> rax single-def "field V155._vToken (fldOffset=0x0)" P-INDEP
-; V251 tmp243 [V251,T73] ( 3, 1.50) int -> rax single-def "field V157._vToken (fldOffset=0x0)" P-INDEP
-;* V252 tmp244 [V252 ] ( 0, 0 ) int -> zero-ref "field V159._rowId (fldOffset=0x0)" P-INDEP
-; V253 tmp245 [V253,T97] ( 2, 1 ) int -> rax single-def "field V161._rowId (fldOffset=0x0)" P-INDEP
-;* V254 tmp246 [V254 ] ( 0, 0 ) int -> zero-ref single-def "field V162._rowId (fldOffset=0x0)" P-INDEP
-; V255 tmp247 [V255,T98] ( 2, 1 ) int -> rax single-def "field V174._vToken (fldOffset=0x0)" P-INDEP
-;* V256 tmp248 [V256 ] ( 0, 0 ) int -> zero-ref "field V177._rowId (fldOffset=0x0)" P-INDEP
-; V257 tmp249 [V257,T99] ( 2, 1 ) int -> rax single-def "field V179._rowId (fldOffset=0x0)" P-INDEP
-;* V258 tmp250 [V258 ] ( 0, 0 ) int -> zero-ref single-def "field V180._rowId (fldOffset=0x0)" P-INDEP
-; V259 tmp251 [V259,T100] ( 2, 1 ) int -> rdi single-def "field V192._vToken (fldOffset=0x0)" P-INDEP
-; V260 tmp252 [V260,T33] ( 3, 3 ) ref -> rdi single-def "arr expr"
-; V261 tmp253 [V261,T34] ( 3, 3 ) ref -> rdx single-def "arr expr"
-; V262 tmp254 [V262,T48] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V263 cse0 [V263,T39] ( 3, 2.50) int -> rdi "CSE #07: conservative"
-; V264 cse1 [V264,T40] ( 3, 2.50) int -> rdx "CSE #18: conservative"
-; V265 cse2 [V265,T74] ( 3, 1.50) int -> rax "CSE #09: conservative"
+; V77 tmp69 [V77,T59] ( 3, 1.50) ref -> r14 class-hnd "Inline return value spill temp" <System.String>
+; V78 tmp70 [V78,T53] ( 2, 2 ) long -> rsi "Inlining Arg"
+;* V79 tmp71 [V79 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
+; V80 tmp72 [V80,T04] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
+;* V81 tmp73 [V81 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V82 tmp74 [V82 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V83 tmp75 [V83 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V84 tmp76 [V84 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
+; V85 tmp77 [V85,T84] ( 2, 1 ) int -> rdx single-def "Inline stloc first use temp"
+; V86 tmp78 [V86,T68] ( 3, 1.50) int -> rsi "Inline return value spill temp"
+;* V87 tmp79 [V87 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V88 tmp80 [V88,T05] ( 5, 5 ) byref -> rsi single-def "Inlining Arg"
+; V89 tmp81 [V89,T17] ( 5, 5 ) int -> rdx "Inlining Arg"
+; V90 tmp82 [V90,T69] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
+;* V91 tmp83 [V91 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V92 tmp84 [V92 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V93 tmp85 [V93 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp86 [V94 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V95 tmp87 [V95 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
+;* V96 tmp88 [V96 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.Reflection.Metadata.StringHandle>
+; V97 tmp89 [V97,T06] ( 5, 5 ) byref -> rsi single-def "impAppendStmt"
+;* V98 tmp90 [V98 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
+; V99 tmp91 [V99,T38] ( 3, 3 ) int -> r15 "Inlining Arg"
+;* V100 tmp92 [V100 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V101 tmp93 [V101 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
+;* V102 tmp94 [V102 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V103 tmp95 [V103 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V104 tmp96 [V104 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V105 tmp97 [V105 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
+; V106 tmp98 [V106,T85] ( 2, 1 ) int -> rdi single-def "Inline stloc first use temp"
+; V107 tmp99 [V107,T70] ( 3, 1.50) int -> rsi "Inline return value spill temp"
+;* V108 tmp100 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V109 tmp101 [V109,T07] ( 5, 5 ) byref -> rdx single-def "Inlining Arg"
+; V110 tmp102 [V110,T18] ( 5, 5 ) int -> rdi "Inlining Arg"
+; V111 tmp103 [V111,T71] ( 3, 1.50) int -> rsi single-def "Inline stloc first use temp"
+;* V112 tmp104 [V112 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V113 tmp105 [V113 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V114 tmp106 [V114 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp107 [V115 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V116 tmp108 [V116 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.StringHandle>
+; V117 tmp109 [V117,T29] ( 3, 4 ) byref -> rdi single-def "impAppendStmt"
+; V118 tmp110 [V118,T39] ( 4, 2.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+;* V119 tmp111 [V119 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
+; V120 tmp112 [V120,T24] ( 4, 5 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Reflection.Metadata.MetadataStringDecoder>
+;* V121 tmp113 [V121 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.StringHandle>
+; V122 tmp114 [V122,T86] ( 2, 1 ) int -> rax
+; V123 tmp115 [V123,T72] ( 3, 1.50) ushort -> r13 single-def "Inline stloc first use temp"
+; V124 tmp116 [V124,T28] ( 4, 4 ) byref -> r12 single-def "impAppendStmt"
+;* V125 tmp117 [V125 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
+; V126 tmp118 [V126,T19] ( 5, 5 ) int -> [rbp-0x50] spill-single-def "Inlining Arg"
+;* V127 tmp119 [V127 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
+;* V128 tmp120 [V128 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ubyte]>
+; V129 tmp121 [V129,T73] ( 3, 1.50) int -> rdx
+; V130 tmp122 [V130,T33] ( 6, 3 ) int -> rdx "Inline stloc first use temp"
+;* V131 tmp123 [V131 ] ( 0, 0 ) int -> zero-ref "dup spill"
+; V132 tmp124 [V132,T20] ( 5, 5 ) int -> [rbp-0x54] spill-single-def "Inlining Arg"
+; V133 tmp125 [V133,T54] ( 2, 2 ) long -> rdi "Inlining Arg"
+;* V134 tmp126 [V134 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V135 tmp127 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V136 tmp128 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V137 tmp129 [V137 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V138 tmp130 [V138 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V139 tmp131 [V139 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V140 tmp132 [V140 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V141 tmp133 [V141 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V142 tmp134 [V142 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+; V143 tmp135 [V143,T55] ( 2, 2 ) ubyte -> rdx "Inlining Arg"
+;* V144 tmp136 [V144 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V145 tmp137 [V145 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V146 tmp138 [V146 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V147 tmp139 [V147 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V148 tmp140 [V148 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+; V149 tmp141 [V149,T60] ( 3, 1.50) ref -> r13 class-hnd "Inline return value spill temp" <System.String>
+; V150 tmp142 [V150,T56] ( 2, 2 ) long -> rsi "Inlining Arg"
+;* V151 tmp143 [V151 ] ( 0, 0 ) struct ( 8) zero-ref single-def "Inline return value spill temp" <System.Reflection.Metadata.EntityHandle>
+; V152 tmp144 [V152,T08] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
+;* V153 tmp145 [V153 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V154 tmp146 [V154 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V155 tmp147 [V155 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V156 tmp148 [V156 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
+; V157 tmp149 [V157,T87] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
+; V158 tmp150 [V158,T09] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
+; V159 tmp151 [V159,T21] ( 5, 5 ) int -> rax "Inlining Arg"
+;* V160 tmp152 [V160 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V161 tmp153 [V161,T43] ( 4, 2 ) int -> rax "Inline return value spill temp"
+;* V162 tmp154 [V162 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V163 tmp155 [V163 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V164 tmp156 [V164 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V165 tmp157 [V165 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+; V166 tmp158 [V166,T88] ( 2, 1 ) int -> rcx single-def "Inline stloc first use temp"
+; V167 tmp159 [V167,T74] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
+;* V168 tmp160 [V168 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
+;* V169 tmp161 [V169 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V170 tmp162 [V170 ] ( 0, 0 ) struct ( 8) zero-ref single-def "Inline return value spill temp" <System.Reflection.Metadata.EntityHandle>
+; V171 tmp163 [V171,T10] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
+;* V172 tmp164 [V172 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V173 tmp165 [V173 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V174 tmp166 [V174 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V175 tmp167 [V175 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
+; V176 tmp168 [V176,T89] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
+; V177 tmp169 [V177,T11] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
+; V178 tmp170 [V178,T22] ( 5, 5 ) int -> rax "Inlining Arg"
+;* V179 tmp171 [V179 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V180 tmp172 [V180,T44] ( 4, 2 ) int -> rax "Inline return value spill temp"
+;* V181 tmp173 [V181 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V182 tmp174 [V182 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V183 tmp175 [V183 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V184 tmp176 [V184 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+; V185 tmp177 [V185,T90] ( 2, 1 ) int -> rcx single-def "Inline stloc first use temp"
+; V186 tmp178 [V186,T75] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
+;* V187 tmp179 [V187 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
+;* V188 tmp180 [V188 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V189 tmp181 [V189,T12] ( 5, 5 ) byref -> rdi single-def "impAppendStmt"
+;* V190 tmp182 [V190 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V191 tmp183 [V191 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V192 tmp184 [V192 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.TypeReferenceHandle>
+;* V193 tmp185 [V193 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Reflection.Metadata.TypeReferenceHandle>
+; V194 tmp186 [V194,T91] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
+; V195 tmp187 [V195,T13] ( 5, 5 ) byref -> rcx single-def "Inlining Arg"
+; V196 tmp188 [V196,T23] ( 5, 5 ) int -> rax "Inlining Arg"
+;* V197 tmp189 [V197 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V198 tmp190 [V198,T45] ( 4, 2 ) int -> rdi "Inline return value spill temp"
+;* V199 tmp191 [V199 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V200 tmp192 [V200 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V201 tmp193 [V201 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
+;* V202 tmp194 [V202 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+; V203 tmp195 [V203,T92] ( 2, 1 ) int -> rax single-def "Inline stloc first use temp"
+; V204 tmp196 [V204,T76] ( 3, 1.50) int -> rdi single-def "Inline stloc first use temp"
+;* V205 tmp197 [V205 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.Metadata.EntityHandle>
+;* V206 tmp198 [V206 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V207 tmp199 [V207,T30] ( 3, 2 ) int -> rsi single-def "field V00._rowId (fldOffset=0x0)" P-INDEP
+; V208 tmp200 [V208 ] ( 10, 5.50) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V02._reader (fldOffset=0x0)" P-DEP
+; V209 tmp201 [V209 ] ( 17, 10.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V02._treatmentAndRowId (fldOffset=0x8)" P-DEP
+;* V210 tmp202 [V210 ] ( 0, 0 ) int -> zero-ref "field V05._vToken (fldOffset=0x0)" P-INDEP
+; V211 tmp203 [V211 ] ( 2, 1 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V07.<GenericTypeArguments>k__BackingField (fldOffset=0x0)" P-DEP
+; V212 tmp204 [V212 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V07.<GenericMethodArguments>k__BackingField (fldOffset=0x8)" P-DEP
+;* V213 tmp205 [V213 ] ( 0, 0 ) int -> zero-ref "field V09._value (fldOffset=0x0)" P-INDEP
+;* V214 tmp206 [V214 ] ( 0, 0 ) int -> zero-ref single-def "field V12._value (fldOffset=0x0)" P-INDEP
+; V215 tmp207 [V215,T77] ( 3, 1.50) int -> rdi single-def "field V13._vToken (fldOffset=0x0)" P-INDEP
+;* V216 tmp208 [V216,T107] ( 0, 0 ) ref -> zero-ref single-def "field V14._reader (fldOffset=0x0)" P-INDEP
+; V217 tmp209 [V217,T57] ( 2, 2 ) int -> rsi single-def "field V14._treatmentAndRowId (fldOffset=0x8)" P-INDEP
+;* V218 tmp210 [V218 ] ( 0, 0 ) int -> zero-ref single-def "field V16._rowId (fldOffset=0x0)" P-INDEP
+; V219 tmp211 [V219,T25] ( 7, 4 ) int -> rsi "field V17._value (fldOffset=0x0)" P-INDEP
+;* V220 tmp212 [V220 ] ( 0, 0 ) int -> zero-ref "field V19._rowId (fldOffset=0x0)" P-INDEP
+; V221 tmp213 [V221,T93] ( 2, 1 ) int -> rdx single-def "field V21._rowId (fldOffset=0x0)" P-INDEP
+;* V222 tmp214 [V222 ] ( 0, 0 ) int -> zero-ref single-def "field V22._rowId (fldOffset=0x0)" P-INDEP
+; V223 tmp215 [V223,T94] ( 2, 1 ) int -> rsi single-def "field V33._value (fldOffset=0x0)" P-INDEP
+; V224 tmp216 [V224,T46] ( 4, 2 ) int -> rsi "field V34._value (fldOffset=0x0)" P-INDEP
+;* V225 tmp217 [V225 ] ( 0, 0 ) int -> zero-ref single-def "field V36._value (fldOffset=0x0)" P-INDEP
+;* V226 tmp218 [V226,T108] ( 0, 0 ) int -> zero-ref single-def "field V37._value (fldOffset=0x0)" P-INDEP
+; V227 tmp219 [V227,T95] ( 2, 1 ) int -> rsi single-def "field V40._value (fldOffset=0x0)" P-INDEP
+;* V228 tmp220 [V228 ] ( 0, 0 ) int -> zero-ref single-def "field V43._value (fldOffset=0x0)" P-INDEP
+;* V229 tmp221 [V229 ] ( 0, 0 ) int -> zero-ref single-def "field V44._value (fldOffset=0x0)" P-INDEP
+;* V230 tmp222 [V230 ] ( 0, 0 ) int -> zero-ref single-def "field V47._value (fldOffset=0x0)" P-INDEP
+;* V231 tmp223 [V231 ] ( 0, 0 ) int -> zero-ref single-def "field V49._value (fldOffset=0x0)" P-INDEP
+; V232 tmp224 [V232,T61] ( 3, 1.50) byref -> rdi single-def "field V56._reference (fldOffset=0x0)" P-INDEP
+;* V233 tmp225 [V233 ] ( 0, 0 ) int -> zero-ref single-def "field V56._length (fldOffset=0x8)" P-INDEP
+;* V234 tmp226 [V234 ] ( 0, 0 ) byref -> zero-ref single-def "field V63._reference (fldOffset=0x0)" P-INDEP
+;* V235 tmp227 [V235 ] ( 0, 0 ) int -> zero-ref single-def "field V63._length (fldOffset=0x8)" P-INDEP
+;* V236 tmp228 [V236 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V237 tmp229 [V237 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
+;* V238 tmp230 [V238 ] ( 0, 0 ) byref -> zero-ref "field V68._reference (fldOffset=0x0)" P-INDEP
+;* V239 tmp231 [V239 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
+;* V240 tmp232 [V240 ] ( 0, 0 ) byref -> zero-ref single-def "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V241 tmp233 [V241 ] ( 0, 0 ) int -> zero-ref single-def "field V70._length (fldOffset=0x8)" P-INDEP
+;* V242 tmp234 [V242 ] ( 0, 0 ) byref -> zero-ref single-def "field V72._reference (fldOffset=0x0)" P-INDEP
+;* V243 tmp235 [V243 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP
+;* V244 tmp236 [V244 ] ( 0, 0 ) byref -> zero-ref "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V245 tmp237 [V245 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
+; V246 tmp238 [V246,T31] ( 6, 3.50) int -> rsi "field V79._value (fldOffset=0x0)" P-INDEP
+;* V247 tmp239 [V247 ] ( 0, 0 ) int -> zero-ref "field V81._rowId (fldOffset=0x0)" P-INDEP
+; V248 tmp240 [V248,T96] ( 2, 1 ) int -> rdx single-def "field V83._rowId (fldOffset=0x0)" P-INDEP
+;* V249 tmp241 [V249 ] ( 0, 0 ) int -> zero-ref single-def "field V84._rowId (fldOffset=0x0)" P-INDEP
+; V250 tmp242 [V250,T97] ( 2, 1 ) int -> rsi single-def "field V95._value (fldOffset=0x0)" P-INDEP
+; V251 tmp243 [V251,T78] ( 3, 1.50) int -> rsi "field V96._value (fldOffset=0x0)" P-INDEP
+;* V252 tmp244 [V252 ] ( 0, 0 ) int -> zero-ref "field V98._rowId (fldOffset=0x0)" P-INDEP
+; V253 tmp245 [V253,T98] ( 2, 1 ) int -> rsi single-def "field V101._value (fldOffset=0x0)" P-INDEP
+; V254 tmp246 [V254,T99] ( 2, 1 ) int -> rdi single-def "field V104._rowId (fldOffset=0x0)" P-INDEP
+;* V255 tmp247 [V255 ] ( 0, 0 ) int -> zero-ref single-def "field V105._rowId (fldOffset=0x0)" P-INDEP
+; V256 tmp248 [V256,T100] ( 2, 1 ) int -> rsi single-def "field V116._value (fldOffset=0x0)" P-INDEP
+;* V257 tmp249 [V257 ] ( 0, 0 ) int -> zero-ref single-def "field V119._value (fldOffset=0x0)" P-INDEP
+;* V258 tmp250 [V258 ] ( 0, 0 ) int -> zero-ref single-def "field V121._value (fldOffset=0x0)" P-INDEP
+; V259 tmp251 [V259,T62] ( 3, 1.50) byref -> rdi single-def "field V128._reference (fldOffset=0x0)" P-INDEP
+;* V260 tmp252 [V260 ] ( 0, 0 ) int -> zero-ref single-def "field V128._length (fldOffset=0x8)" P-INDEP
+;* V261 tmp253 [V261 ] ( 0, 0 ) byref -> zero-ref single-def "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V262 tmp254 [V262 ] ( 0, 0 ) int -> zero-ref single-def "field V135._length (fldOffset=0x8)" P-INDEP
+;* V263 tmp255 [V263 ] ( 0, 0 ) byref -> zero-ref single-def "field V136._reference (fldOffset=0x0)" P-INDEP
+;* V264 tmp256 [V264 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP
+;* V265 tmp257 [V265 ] ( 0, 0 ) byref -> zero-ref "field V140._reference (fldOffset=0x0)" P-INDEP
+;* V266 tmp258 [V266 ] ( 0, 0 ) int -> zero-ref "field V140._length (fldOffset=0x8)" P-INDEP
+;* V267 tmp259 [V267 ] ( 0, 0 ) byref -> zero-ref single-def "field V142._reference (fldOffset=0x0)" P-INDEP
+;* V268 tmp260 [V268 ] ( 0, 0 ) int -> zero-ref single-def "field V142._length (fldOffset=0x8)" P-INDEP
+;* V269 tmp261 [V269 ] ( 0, 0 ) byref -> zero-ref single-def "field V144._reference (fldOffset=0x0)" P-INDEP
+;* V270 tmp262 [V270 ] ( 0, 0 ) int -> zero-ref "field V144._length (fldOffset=0x8)" P-INDEP
+;* V271 tmp263 [V271 ] ( 0, 0 ) byref -> zero-ref "field V148._reference (fldOffset=0x0)" P-INDEP
+;* V272 tmp264 [V272 ] ( 0, 0 ) int -> zero-ref "field V148._length (fldOffset=0x8)" P-INDEP
+; V273 tmp265 [V273,T49] ( 3, 2 ) int -> rax single-def "field V151._vToken (fldOffset=0x0)" P-INDEP
+;* V274 tmp266 [V274 ] ( 0, 0 ) int -> zero-ref "field V153._rowId (fldOffset=0x0)" P-INDEP
+; V275 tmp267 [V275,T101] ( 2, 1 ) int -> rax single-def "field V155._rowId (fldOffset=0x0)" P-INDEP
+;* V276 tmp268 [V276 ] ( 0, 0 ) int -> zero-ref single-def "field V156._rowId (fldOffset=0x0)" P-INDEP
+; V277 tmp269 [V277,T102] ( 2, 1 ) int -> rax single-def "field V168._vToken (fldOffset=0x0)" P-INDEP
+; V278 tmp270 [V278,T79] ( 3, 1.50) int -> rax single-def "field V170._vToken (fldOffset=0x0)" P-INDEP
+;* V279 tmp271 [V279 ] ( 0, 0 ) int -> zero-ref "field V172._rowId (fldOffset=0x0)" P-INDEP
+; V280 tmp272 [V280,T103] ( 2, 1 ) int -> rax single-def "field V174._rowId (fldOffset=0x0)" P-INDEP
+;* V281 tmp273 [V281 ] ( 0, 0 ) int -> zero-ref single-def "field V175._rowId (fldOffset=0x0)" P-INDEP
+; V282 tmp274 [V282,T104] ( 2, 1 ) int -> rax single-def "field V187._vToken (fldOffset=0x0)" P-INDEP
+;* V283 tmp275 [V283 ] ( 0, 0 ) int -> zero-ref "field V190._rowId (fldOffset=0x0)" P-INDEP
+; V284 tmp276 [V284,T105] ( 2, 1 ) int -> rax single-def "field V192._rowId (fldOffset=0x0)" P-INDEP
+;* V285 tmp277 [V285 ] ( 0, 0 ) int -> zero-ref single-def "field V193._rowId (fldOffset=0x0)" P-INDEP
+; V286 tmp278 [V286,T106] ( 2, 1 ) int -> rdi single-def "field V205._vToken (fldOffset=0x0)" P-INDEP
+; V287 tmp279 [V287,T35] ( 3, 3 ) ref -> rdi single-def "arr expr"
+; V288 tmp280 [V288,T36] ( 3, 3 ) ref -> rdi single-def "arr expr"
+; V289 tmp281 [V289,T50] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V290 cse0 [V290,T41] ( 3, 2.50) int -> rdi "CSE #07: conservative"
+; V291 cse1 [V291,T42] ( 3, 2.50) int -> rdi "CSE #18: conservative"
+; V292 cse2 [V292,T80] ( 3, 1.50) int -> rax "CSE #09: conservative"
+; V293 cse3 [V293,T81] ( 3, 1.50) int -> rcx "CSE #37: conservative"
;
; Lcl frame size = 56
G_M58409_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
lea rbp, [rsp+0x60]
xor eax, eax
- mov qword ptr [rbp-0x58], rax
+ mov qword ptr [rbp-0x48], rax
vxorps xmm8, xmm8, xmm8
- vmovdqu ymmword ptr [rbp-0x50], ymm8
+ vmovdqa xmmword ptr [rbp-0x40], xmm8
mov qword ptr [rbp-0x30], rax
mov rbx, rsi
mov esi, edi
;; size=44 bbWeight=1 PerfScore 11.83
G_M58409_IG02:
cmp dword ptr [rbx+0x50], 0
jne SHORT G_M58409_IG04
;; size=6 bbWeight=1 PerfScore 4.00
G_M58409_IG03:
jmp SHORT G_M58409_IG05
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M58409_IG04:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.MetadataReader:CalculateTypeRefTreatmentAndRowId(System.Reflection.Metadata.TypeReferenceHandle):uint:this
call [rax]System.Reflection.Metadata.MetadataReader:CalculateTypeRefTreatmentAndRowId(System.Reflection.Metadata.TypeReferenceHandle):uint:this
mov esi, eax
;; size=17 bbWeight=0.50 PerfScore 1.88
G_M58409_IG05:
mov gword ptr [rbp-0x38], rbx
mov dword ptr [rbp-0x30], esi
mov edi, dword ptr [rbp-0x30]
shr edi, 24
movzx rdi, dil
test edi, edi
jne SHORT G_M58409_IG09
;; size=21 bbWeight=1 PerfScore 5.00
G_M58409_IG06:
mov rdi, gword ptr [rbp-0x38]
add rdi, 240
- mov esi, dword ptr [rbp-0x30]
- and esi, 0xD1FFAB1E
- dec esi
- imul esi, dword ptr [rdi+0x14]
- lea rdx, bword ptr [rdi+0x18]
- add esi, dword ptr [rdi+0x10]
+ mov edx, dword ptr [rbp-0x30]
+ and edx, 0xD1FFAB1E
+ dec edx
+ imul edx, dword ptr [rdi+0x14]
+ lea rsi, bword ptr [rdi+0x18]
+ add edx, dword ptr [rdi+0x10]
cmp byte ptr [rdi+0x05], 0
je SHORT G_M58409_IG07
- mov edi, esi
+ mov edi, edx
add rdi, 2
- movsxd rax, dword ptr [rdx+0x08]
+ movsxd rax, dword ptr [rsi+0x08]
cmp rdi, rax
- ja G_M58409_IG59
- mov rdx, qword ptr [rdx]
- movsxd rsi, esi
- movzx rsi, word ptr [rdx+rsi]
+ ja G_M58409_IG61
+ mov rsi, qword ptr [rsi]
+ movsxd rdx, edx
+ movzx rsi, word ptr [rsi+rdx]
jmp SHORT G_M58409_IG08
;; size=70 bbWeight=0.50 PerfScore 13.62
G_M58409_IG07:
- mov edi, esi
+ mov edi, edx
add rdi, 4
- movsxd rax, dword ptr [rdx+0x08]
+ movsxd rax, dword ptr [rsi+0x08]
cmp rdi, rax
- ja G_M58409_IG59
- mov rdi, qword ptr [rdx]
- movsxd rsi, esi
- mov esi, dword ptr [rdi+rsi]
+ ja G_M58409_IG61
+ mov rdi, qword ptr [rsi]
+ movsxd rdx, edx
+ mov esi, dword ptr [rdi+rdx]
test esi, 0xD1FFAB1E
- jne G_M58409_IG58
+ jne G_M58409_IG59
;; size=40 bbWeight=0.50 PerfScore 5.62
G_M58409_IG08:
jmp SHORT G_M58409_IG14
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M58409_IG09:
lea esi, [rdi-0x01]
cmp esi, 1
jbe SHORT G_M58409_IG10
cmp edi, 3
je SHORT G_M58409_IG11
jmp SHORT G_M58409_IG13
;; size=15 bbWeight=0.50 PerfScore 2.50
G_M58409_IG10:
mov esi, 0xD1FFAB1E
jmp SHORT G_M58409_IG14
;; size=7 bbWeight=0.50 PerfScore 1.12
G_M58409_IG11:
mov r15d, dword ptr [rbp-0x30]
and r15d, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; global ptr
test byte ptr [rsi], 1
- je G_M58409_IG55
+ je G_M58409_IG57
;; size=30 bbWeight=0.50 PerfScore 2.75
G_M58409_IG12:
mov rdi, 0xD1FFAB1E ; data for System.Reflection.Metadata.MetadataReader:s_projectionInfos
mov rdi, gword ptr [rdi]
cmp r15d, dword ptr [rdi+0x08]
- jae G_M58409_IG54
- mov esi, r15d
- lea rsi, [rsi+2*rsi]
- mov esi, dword ptr [rdi+8*rsi+0x18]
+ jae G_M58409_IG56
+ mov edx, r15d
+ lea rdx, [rdx+2*rdx]
+ mov esi, dword ptr [rdi+8*rdx+0x18]
or esi, 0xD1FFAB1E
jmp SHORT G_M58409_IG14
;; size=42 bbWeight=0.50 PerfScore 5.62
G_M58409_IG13:
xor esi, esi
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M58409_IG14:
test esi, 0xD1FFAB1E
je G_M58409_IG22
;; size=12 bbWeight=1 PerfScore 1.25
G_M58409_IG15:
lea rdi, bword ptr [rbx+0x70]
mov r15, gword ptr [rbx+0x38]
test esi, 0xD1FFAB1E
jne G_M58409_IG20
mov edx, esi
shr edx, 29
movzx rdx, dl
mov eax, 46
xor ecx, ecx
cmp edx, 1
cmovne eax, ecx
movzx r14, ax
lea r13, bword ptr [rdi+0x08]
mov r12d, esi
and r12d, 0xD1FFAB1E
mov edi, r12d
mov eax, dword ptr [r13+0x08]
- movsxd rsi, eax
- cmp rdi, rsi
- ja G_M58409_IG59
+ movsxd rdx, eax
+ cmp rdi, rdx
+ ja G_M58409_IG61
movsxd rdi, r12d
add rdi, qword ptr [r13]
sub eax, r12d
mov dword ptr [rbp-0x4C], eax
test eax, eax
- jl G_M58409_IG56
+ jl G_M58409_IG60
test r14d, r14d
jne SHORT G_M58409_IG16
- xor esi, esi
mov edx, eax
+ xor esi, esi
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int
call [rcx]System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int
mov edx, eax
jmp SHORT G_M58409_IG17
;; size=124 bbWeight=0.50 PerfScore 11.88
G_M58409_IG16:
movzx rdx, r14b
- xor esi, esi
mov ecx, eax
+ xor esi, esi
mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int
call [r8]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int
mov edx, eax
;; size=23 bbWeight=0.50 PerfScore 2.12
G_M58409_IG17:
test edx, edx
cmovl edx, dword ptr [rbp-0x4C]
movsxd rsi, r12d
add rsi, qword ptr [r13]
test edx, edx
jne SHORT G_M58409_IG18
mov r14, 0xD1FFAB1E ; ''
jmp SHORT G_M58409_IG19
;; size=29 bbWeight=0.50 PerfScore 4.50
G_M58409_IG18:
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Reflection.Metadata.MetadataStringDecoder:GetString(ulong,int):System.String:this
mov r14, rax
;; size=16 bbWeight=0.50 PerfScore 3.75
G_M58409_IG19:
jmp SHORT G_M58409_IG21
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M58409_IG20:
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualHandleString(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataStringDecoder):System.String:this
call [rax]System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualHandleString(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataStringDecoder):System.String:this
mov r14, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
G_M58409_IG21:
jmp SHORT G_M58409_IG23
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M58409_IG22:
xor r14, r14
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M58409_IG23:
- mov rdx, 0xD1FFAB1E ; ''
+ mov rdi, 0xD1FFAB1E ; ''
test r14, r14
- cmove r14, rdx
- mov edx, dword ptr [rbp-0x30]
- shr edx, 24
- movzx rdx, dl
- test edx, edx
+ cmove r14, rdi
+ mov edi, dword ptr [rbp-0x30]
+ shr edi, 24
+ movzx rdi, dil
+ test edi, edi
jne SHORT G_M58409_IG27
- ;; size=30 bbWeight=1 PerfScore 3.75
+ ;; size=31 bbWeight=1 PerfScore 3.75
G_M58409_IG24:
- mov rdx, gword ptr [rbp-0x38]
- add rdx, 240
- mov edi, dword ptr [rbp-0x30]
- and edi, 0xD1FFAB1E
- dec edi
- imul edi, dword ptr [rdx+0x14]
- lea rsi, bword ptr [rdx+0x18]
- add edi, dword ptr [rdx+0x0C]
- cmp byte ptr [rdx+0x05], 0
+ mov rdi, gword ptr [rbp-0x38]
+ add rdi, 240
+ mov edx, dword ptr [rbp-0x30]
+ and edx, 0xD1FFAB1E
+ dec edx
+ imul edx, dword ptr [rdi+0x14]
+ lea rsi, bword ptr [rdi+0x18]
+ add edx, dword ptr [rdi+0x0C]
+ cmp byte ptr [rdi+0x05], 0
je SHORT G_M58409_IG25
- mov edx, edi
- add rdx, 2
- movsxd rcx, dword ptr [rsi+0x08]
- cmp rdx, rcx
- ja G_M58409_IG59
+ mov edi, edx
+ add rdi, 2
+ movsxd rax, dword ptr [rsi+0x08]
+ cmp rdi, rax
+ ja G_M58409_IG61
mov rsi, qword ptr [rsi]
- movsxd rdi, edi
- movzx rsi, word ptr [rsi+rdi]
+ movsxd rdx, edx
+ movzx rsi, word ptr [rsi+rdx]
jmp SHORT G_M58409_IG26
;; size=70 bbWeight=0.50 PerfScore 13.62
G_M58409_IG25:
- mov edx, edi
- add rdx, 4
- movsxd rcx, dword ptr [rsi+0x08]
- cmp rdx, rcx
- ja G_M58409_IG59
- mov rdx, qword ptr [rsi]
- movsxd rdi, edi
- mov esi, dword ptr [rdx+rdi]
+ mov edi, edx
+ add rdi, 4
+ movsxd rax, dword ptr [rsi+0x08]
+ cmp rdi, rax
+ ja G_M58409_IG61
+ mov rdi, qword ptr [rsi]
+ movsxd rdx, edx
+ mov esi, dword ptr [rdi+rdx]
test esi, 0xD1FFAB1E
- jne G_M58409_IG58
+ jne G_M58409_IG59
;; size=40 bbWeight=0.50 PerfScore 5.62
G_M58409_IG26:
jmp G_M58409_IG31
;; size=5 bbWeight=0.50 PerfScore 1.00
G_M58409_IG27:
- cmp edx, 3
+ cmp edi, 3
jne SHORT G_M58409_IG29
mov r15d, dword ptr [rbp-0x30]
and r15d, 0xD1FFAB1E
mov rsi, 0xD1FFAB1E ; global ptr
test byte ptr [rsi], 1
- je G_M58409_IG57
+ je G_M58409_IG58
;; size=35 bbWeight=0.50 PerfScore 3.38
G_M58409_IG28:
- mov rdx, 0xD1FFAB1E ; data for System.Reflection.Metadata.MetadataReader:s_projectionInfos
- mov rdx, gword ptr [rdx]
- cmp r15d, dword ptr [rdx+0x08]
- jae G_M58409_IG54
- mov edi, r15d
- lea rdi, [rdi+2*rdi]
- mov esi, dword ptr [rdx+8*rdi+0x1C]
+ mov rdi, 0xD1FFAB1E ; data for System.Reflection.Metadata.MetadataReader:s_projectionInfos
+ mov rdi, gword ptr [rdi]
+ cmp r15d, dword ptr [rdi+0x08]
+ jae G_M58409_IG56
+ mov edx, r15d
+ lea rdx, [rdx+2*rdx]
+ mov esi, dword ptr [rdi+8*rdx+0x1C]
or esi, 0xD1FFAB1E
jmp SHORT G_M58409_IG31
;; size=42 bbWeight=0.50 PerfScore 5.62
G_M58409_IG29:
mov rsi, gword ptr [rbp-0x38]
add rsi, 240
- mov edx, dword ptr [rbp-0x30]
- and edx, 0xD1FFAB1E
- dec edx
- imul edx, dword ptr [rsi+0x14]
- lea rdi, bword ptr [rsi+0x18]
- add edx, dword ptr [rsi+0x0C]
+ mov edi, dword ptr [rbp-0x30]
+ and edi, 0xD1FFAB1E
+ dec edi
+ imul edi, dword ptr [rsi+0x14]
+ lea rdx, bword ptr [rsi+0x18]
+ add edi, dword ptr [rsi+0x0C]
cmp byte ptr [rsi+0x05], 0
je SHORT G_M58409_IG30
- mov esi, edx
+ mov esi, edi
add rsi, 2
- movsxd rcx, dword ptr [rdi+0x08]
- cmp rsi, rcx
- ja G_M58409_IG59
- mov rdi, qword ptr [rdi]
- movsxd rdx, edx
- movzx rsi, word ptr [rdi+rdx]
+ movsxd rax, dword ptr [rdx+0x08]
+ cmp rsi, rax
+ ja G_M58409_IG61
+ mov rdx, qword ptr [rdx]
+ movsxd rdi, edi
+ movzx rsi, word ptr [rdx+rdi]
jmp SHORT G_M58409_IG31
;; size=70 bbWeight=0.50 PerfScore 13.62
G_M58409_IG30:
- mov esi, edx
+ mov esi, edi
add rsi, 4
- movsxd rcx, dword ptr [rdi+0x08]
- cmp rsi, rcx
- ja G_M58409_IG59
- mov rdi, qword ptr [rdi]
- movsxd rdx, edx
- mov esi, dword ptr [rdi+rdx]
+ movsxd rax, dword ptr [rdx+0x08]
+ cmp rsi, rax
+ ja G_M58409_IG61
+ mov rdx, qword ptr [rdx]
+ movsxd rdi, edi
+ mov esi, dword ptr [rdx+rdi]
test esi, 0xD1FFAB1E
- jne G_M58409_IG58
+ jne G_M58409_IG59
;; size=40 bbWeight=0.50 PerfScore 5.62
G_M58409_IG31:
lea rdi, bword ptr [rbx+0x70]
mov r15, gword ptr [rbx+0x38]
test esi, 0xD1FFAB1E
- jne SHORT G_M58409_IG35
- ;; size=16 bbWeight=1 PerfScore 3.75
+ jne G_M58409_IG37
+ ;; size=20 bbWeight=1 PerfScore 3.75
G_M58409_IG32:
mov edx, esi
shr edx, 29
movzx rdx, dl
- mov ecx, 46
- xor eax, eax
+ mov eax, 46
+ xor ecx, ecx
cmp edx, 1
- cmovne ecx, eax
- movzx rcx, cx
- lea r13, bword ptr [rdi+0x08]
- mov r12d, esi
- and r12d, 0xD1FFAB1E
- mov edx, r12d
- movsxd rdi, dword ptr [r13+0x08]
- cmp rdx, rdi
- ja G_M58409_IG59
- lea rdx, [rbp-0x58]
- mov rdi, r13
- mov esi, r12d
- mov rax, 0xD1FFAB1E ; code for System.Reflection.Internal.MemoryBlock:GetUtf8NullTerminatedLength(int,byref,ushort):int:this
- call [rax]System.Reflection.Internal.MemoryBlock:GetUtf8NullTerminatedLength(int,byref,ushort):int:this
- movsxd rsi, r12d
- add rsi, qword ptr [r13]
- test eax, eax
+ cmovne eax, ecx
+ movzx r13, ax
+ lea r12, bword ptr [rdi+0x08]
+ mov eax, esi
+ and eax, 0xD1FFAB1E
+ mov dword ptr [rbp-0x50], eax
+ mov edi, eax
+ mov ecx, dword ptr [r12+0x08]
+ movsxd rdx, ecx
+ cmp rdi, rdx
+ ja G_M58409_IG61
+ movsxd rdi, eax
+ add rdi, qword ptr [r12]
+ sub ecx, eax
+ mov dword ptr [rbp-0x54], ecx
+ test ecx, ecx
+ jl G_M58409_IG60
+ test r13d, r13d
jne SHORT G_M58409_IG33
- mov r13, 0xD1FFAB1E ; ''
+ mov edx, ecx
+ xor esi, esi
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int
+ call [r8]System.SpanHelpers:NonPackedIndexOfValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,int):int
+ mov edx, eax
jmp SHORT G_M58409_IG34
- ;; size=99 bbWeight=0.50 PerfScore 9.88
+ ;; size=104 bbWeight=0.50 PerfScore 10.50
G_M58409_IG33:
- mov rdi, r15
+ movzx rdx, r13b
+ xor esi, esi
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int
+ call [r8]System.SpanHelpers:NonPackedIndexOfAnyValueType[ubyte,System.SpanHelpers+DontNegate`1[ubyte]](byref,ubyte,ubyte,int):int
mov edx, eax
+ ;; size=21 bbWeight=0.50 PerfScore 2.00
+G_M58409_IG34:
+ test edx, edx
+ cmovl edx, dword ptr [rbp-0x54]
+ movsxd rsi, dword ptr [rbp-0x50]
+ add rsi, qword ptr [r12]
+ test edx, edx
+ jne SHORT G_M58409_IG35
+ mov r13, 0xD1FFAB1E ; ''
+ jmp SHORT G_M58409_IG36
+ ;; size=30 bbWeight=0.50 PerfScore 5.88
+G_M58409_IG35:
+ mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x20]System.Reflection.Metadata.MetadataStringDecoder:GetString(ulong,int):System.String:this
mov r13, rax
- ;; size=18 bbWeight=0.50 PerfScore 3.88
-G_M58409_IG34:
- jmp SHORT G_M58409_IG36
+ ;; size=16 bbWeight=0.50 PerfScore 3.75
+G_M58409_IG36:
+ jmp SHORT G_M58409_IG38
;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M58409_IG35:
+G_M58409_IG37:
mov rdx, r15
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualHandleString(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataStringDecoder):System.String:this
call [rax]System.Reflection.Metadata.Ecma335.StringHeap:GetVirtualHandleString(System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.MetadataStringDecoder):System.String:this
mov r13, rax
;; size=18 bbWeight=0.50 PerfScore 1.88
-G_M58409_IG36:
+G_M58409_IG38:
mov r15, r13
mov edi, dword ptr [rbp-0x30]
shr edi, 24
movzx rdi, dil
test edi, edi
- jne G_M58409_IG40
+ jne G_M58409_IG42
;; size=21 bbWeight=1 PerfScore 3.25
-G_M58409_IG37:
+G_M58409_IG39:
mov rdi, gword ptr [rbp-0x38]
add rdi, 240
mov eax, dword ptr [rbp-0x30]
and eax, 0xD1FFAB1E
dec eax
imul eax, dword ptr [rdi+0x14]
lea rcx, bword ptr [rdi+0x18]
add eax, dword ptr [rdi+0x08]
cmp byte ptr [rdi+0x04], 0
- jne SHORT G_M58409_IG38
+ jne SHORT G_M58409_IG40
mov edi, eax
add rdi, 4
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rcx, qword ptr [rcx]
cdqe
mov eax, dword ptr [rcx+rax]
- jmp SHORT G_M58409_IG39
+ jmp SHORT G_M58409_IG41
;; size=67 bbWeight=0.50 PerfScore 13.62
-G_M58409_IG38:
+G_M58409_IG40:
mov edi, eax
add rdi, 2
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rdi, qword ptr [rcx]
cdqe
movzx rax, word ptr [rdi+rax]
;; size=28 bbWeight=0.50 PerfScore 5.00
-G_M58409_IG39:
+G_M58409_IG41:
mov edi, eax
and edi, 3
shl edi, 3
mov ecx, 0xD1FFAB1E
shrx ecx, ecx, edi
shl ecx, 24
shr eax, 2
test eax, 0xD1FFAB1E
- jne G_M58409_IG60
+ jne G_M58409_IG62
or eax, ecx
- jmp SHORT G_M58409_IG41
+ jmp SHORT G_M58409_IG43
;; size=39 bbWeight=0.50 PerfScore 3.12
-G_M58409_IG40:
+G_M58409_IG42:
lea rdi, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
call [rax]System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
;; size=16 bbWeight=0.50 PerfScore 1.88
-G_M58409_IG41:
+G_M58409_IG43:
and eax, 0xD1FFAB1E
shr eax, 24
movzx rdi, al
cmp edi, 2
- je G_M58409_IG47
+ je G_M58409_IG49
;; size=21 bbWeight=1 PerfScore 2.25
-G_M58409_IG42:
+G_M58409_IG44:
mov edi, dword ptr [rbp-0x30]
shr edi, 24
movzx rdi, dil
test edi, edi
- jne G_M58409_IG45
+ jne G_M58409_IG47
mov rdi, gword ptr [rbp-0x38]
add rdi, 240
mov eax, dword ptr [rbp-0x30]
and eax, 0xD1FFAB1E
dec eax
imul eax, dword ptr [rdi+0x14]
lea rcx, bword ptr [rdi+0x18]
add eax, dword ptr [rdi+0x08]
cmp byte ptr [rdi+0x04], 0
- jne SHORT G_M58409_IG43
+ jne SHORT G_M58409_IG45
mov edi, eax
add rdi, 4
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rcx, qword ptr [rcx]
cdqe
mov eax, dword ptr [rcx+rax]
- jmp SHORT G_M58409_IG44
+ jmp SHORT G_M58409_IG46
;; size=85 bbWeight=0.50 PerfScore 15.12
-G_M58409_IG43:
+G_M58409_IG45:
mov edi, eax
add rdi, 2
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rdi, qword ptr [rcx]
cdqe
movzx rax, word ptr [rdi+rax]
;; size=28 bbWeight=0.50 PerfScore 5.00
-G_M58409_IG44:
+G_M58409_IG46:
mov edi, eax
and edi, 3
shl edi, 3
mov ecx, 0xD1FFAB1E
shrx ecx, ecx, edi
shl ecx, 24
shr eax, 2
test eax, 0xD1FFAB1E
- jne G_M58409_IG60
+ jne G_M58409_IG62
or eax, ecx
- jmp SHORT G_M58409_IG46
+ jmp SHORT G_M58409_IG48
;; size=39 bbWeight=0.50 PerfScore 3.12
-G_M58409_IG45:
+G_M58409_IG47:
lea rdi, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
call [rax]System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
;; size=16 bbWeight=0.50 PerfScore 1.88
-G_M58409_IG46:
+G_M58409_IG48:
and eax, 0xD1FFAB1E
shr eax, 24
movzx rdi, al
cmp edi, 1
- jne G_M58409_IG52
+ jne G_M58409_IG54
;; size=21 bbWeight=0.50 PerfScore 1.12
-G_M58409_IG47:
+G_M58409_IG49:
mov edi, dword ptr [rbp-0x30]
shr edi, 24
movzx rdi, dil
test edi, edi
- jne G_M58409_IG50
+ jne G_M58409_IG52
mov rdi, gword ptr [rbp-0x38]
add rdi, 240
mov eax, dword ptr [rbp-0x30]
and eax, 0xD1FFAB1E
dec eax
imul eax, dword ptr [rdi+0x14]
lea rcx, bword ptr [rdi+0x18]
add eax, dword ptr [rdi+0x08]
cmp byte ptr [rdi+0x04], 0
- jne SHORT G_M58409_IG48
+ jne SHORT G_M58409_IG50
mov edi, eax
add rdi, 4
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rcx, qword ptr [rcx]
cdqe
mov edi, dword ptr [rcx+rax]
- jmp SHORT G_M58409_IG49
+ jmp SHORT G_M58409_IG51
;; size=85 bbWeight=0.50 PerfScore 15.12
-G_M58409_IG48:
+G_M58409_IG50:
mov edi, eax
add rdi, 2
movsxd rdx, dword ptr [rcx+0x08]
cmp rdi, rdx
- ja G_M58409_IG59
+ ja G_M58409_IG61
mov rdi, qword ptr [rcx]
cdqe
movzx rdi, word ptr [rdi+rax]
;; size=28 bbWeight=0.50 PerfScore 5.00
-G_M58409_IG49:
+G_M58409_IG51:
mov eax, edi
and eax, 3
shl eax, 3
mov ecx, 0xD1FFAB1E
shrx eax, ecx, eax
shl eax, 24
shr edi, 2
test edi, 0xD1FFAB1E
- jne G_M58409_IG60
+ jne G_M58409_IG62
or edi, eax
- jmp SHORT G_M58409_IG51
+ jmp SHORT G_M58409_IG53
;; size=40 bbWeight=0.50 PerfScore 3.12
-G_M58409_IG50:
+G_M58409_IG52:
lea rdi, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
call [rax]System.Reflection.Metadata.TypeReference:GetProjectedResolutionScope():System.Reflection.Metadata.EntityHandle:this
mov edi, eax
;; size=18 bbWeight=0.50 PerfScore 2.00
-G_M58409_IG51:
+G_M58409_IG53:
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x48], xmm0
lea rsi, [rbp-0x48]
mov rdx, rbx
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.EntityHandle,byref,System.Reflection.Metadata.MetadataReader):System.String
call [rax]System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.EntityHandle,byref,System.Reflection.Metadata.MetadataReader):System.String
mov rdi, rax
mov rdx, r13
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 r15, rax
;; size=59 bbWeight=0.50 PerfScore 4.79
-G_M58409_IG52:
+G_M58409_IG54:
mov rdi, r14
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Reflection.TypeLoading.Helpers:AppendTypeName(System.String,System.String):System.String
call [rax]System.Reflection.TypeLoading.Helpers:AppendTypeName(System.String,System.String):System.String
nop
;; size=19 bbWeight=1 PerfScore 4.00
-G_M58409_IG53:
+G_M58409_IG55:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M58409_IG54:
+G_M58409_IG56:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M58409_IG55:
+G_M58409_IG57:
mov rdi, 0xD1FFAB1E
mov esi, 181
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M58409_IG12
;; size=25 bbWeight=0 PerfScore 0.00
-G_M58409_IG56:
- mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
- call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
- int3
- ;; size=13 bbWeight=0 PerfScore 0.00
-G_M58409_IG57:
+G_M58409_IG58:
mov rdi, 0xD1FFAB1E
mov esi, 181
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M58409_IG28
;; size=25 bbWeight=0 PerfScore 0.00
-G_M58409_IG58:
+G_M58409_IG59:
mov rax, 0xD1FFAB1E ; code for System.Reflection.Throw:ReferenceOverflow()
call [rax]System.Reflection.Throw:ReferenceOverflow()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M58409_IG59:
+G_M58409_IG60:
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
+ int3
+ ;; size=13 bbWeight=0 PerfScore 0.00
+G_M58409_IG61:
mov rax, 0xD1FFAB1E ; code for System.Reflection.Throw:OutOfBounds()
call [rax]System.Reflection.Throw:OutOfBounds()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M58409_IG60:
+G_M58409_IG62:
mov rax, 0xD1FFAB1E ; code for System.Reflection.Throw:InvalidCodedIndex()
call [rax]System.Reflection.Throw:InvalidCodedIndex()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1765, prolog size 39, PerfScore 249.88, instruction count 465, allocated bytes for code 1765 (MethodHash=f6651bd6) for method System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts)
+; Total bytes of code 1824, prolog size 39, PerfScore 258.25, instruction count 482, allocated bytes for code 1824 (MethodHash=f6651bd6) for method System.Reflection.TypeLoading.Ecma.EcmaToStringHelpers:ToTypeString(System.Reflection.Metadata.TypeReferenceHandle,System.Reflection.Metadata.MetadataReader):System.String (FullOpts)
56 (15.82 % of base) - System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int
; Assembly listing for method System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
-; partially interruptible
+; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 41 single block inlinees; 13 inlinees without PGO data
+; 0 inlinees with PGO data; 50 single block inlinees; 20 inlinees without PGO data
; Final local variable assignments
;
-;* V00 arg0 [V00 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[ushort]>
-; V01 arg1 [V01,T08] ( 11, 8 ) int -> r14 single-def
+; V00 arg0 [V00,T12] ( 3, 3 ) struct (16) [rbp-0x40] do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+; V01 arg1 [V01,T13] ( 3, 3 ) int -> rdx single-def
; V02 loc0 [V02,T00] ( 9, 22.50) int -> r13
-;* V03 loc1 [V03 ] ( 0, 0 ) int -> zero-ref single-def
-;* V04 loc2 [V04 ] ( 0, 0 ) int -> zero-ref single-def
+; V03 loc1 [V03,T19] ( 4, 2 ) int -> r13 single-def
+;* V04 loc2 [V04 ] ( 0, 0 ) int -> zero-ref single-def ptr
; V05 loc3 [V05,T09] ( 2, 4.50) ubyte -> r12
; V06 loc4 [V06,T01] ( 5, 20 ) int -> r13
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V09 tmp2 [V09 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V10 tmp3 [V10,T25] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <System.ArgumentException>
+; V10 tmp3 [V10,T33] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <System.ArgumentException>
;* V11 tmp4 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V12 tmp5 [V12 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp6 [V13 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V14 tmp7 [V14,T21] ( 3, 1.50) int -> r13
+; V14 tmp7 [V14,T25] ( 3, 1.50) int -> r13
;* V15 tmp8 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V16 tmp9 [V16,T15] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V17 tmp10 [V17,T18] ( 2, 2 ) int -> rdx "Inlining Arg"
+; V16 tmp9 [V16,T20] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V17 tmp10 [V17,T22] ( 2, 2 ) int -> rdx "Inlining Arg"
;* V18 tmp11 [V18 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V19 tmp12 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V20 tmp13 [V20,T22] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V21 tmp14 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V22 tmp15 [V22 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-;* V23 tmp16 [V23,T23] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V24 tmp17 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V25 tmp18 [V25,T13] ( 4, 2 ) int -> r13 "Inline return value spill temp"
-;* V26 tmp19 [V26 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V27 tmp20 [V27 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V28 tmp21 [V28 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V29 tmp22 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V30 tmp23 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V31 tmp24 [V31,T16] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V32 tmp25 [V32,T19] ( 2, 2 ) int -> r9 "Inlining Arg"
-; V33 tmp26 [V33,T17] ( 2, 2 ) ref -> rcx class-hnd exact single-def "Inlining Arg" <ushort[]>
-;* V34 tmp27 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V35 tmp28 [V35,T14] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V36 tmp29 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V37 tmp30 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V38 tmp31 [V38 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-;* V39 tmp32 [V39 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V40 tmp33 [V40 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V41 tmp34 [V41 ] ( 0, 0 ) byref -> zero-ref single-def "Inline stloc first use temp"
-;* V42 tmp35 [V42 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V43 tmp36 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V44 tmp37 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V45 tmp38 [V45 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V46 tmp39 [V46 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V47 tmp40 [V47 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V48 tmp41 [V48 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V49 tmp42 [V49 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V50 tmp43 [V50 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V51 tmp44 [V51 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V52 tmp45 [V52 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V53 tmp46 [V53 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V54 tmp47 [V54 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V55 tmp48 [V55 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V56 tmp49 [V56 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V57 tmp50 [V57 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
-;* V58 tmp51 [V58 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V59 tmp52 [V59 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V60 tmp53 [V60 ] ( 0, 0 ) ushort -> zero-ref "Inline return value spill temp"
-;* V61 tmp54 [V61 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V62 tmp55 [V62 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V63 tmp56 [V63 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V64 tmp57 [V64 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V20 tmp13 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V21 tmp14 [V21 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inlining Arg"
+;* V22 tmp15 [V22 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+; V23 tmp16 [V23,T27] ( 2, 1 ) int -> r13 single-def "Inline return value spill temp"
+;* V24 tmp17 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V25 tmp18 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V26 tmp19 [V26,T16] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V27 tmp20 [V27,T23] ( 2, 2 ) int -> r9 "Inlining Arg"
+; V28 tmp21 [V28,T21] ( 2, 2 ) ref -> rcx class-hnd exact single-def "Inlining Arg" <ushort[]>
+;* V29 tmp22 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V30 tmp23 [V30,T18] ( 4, 2 ) int -> rax "Inline return value spill temp"
+;* V31 tmp24 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V32 tmp25 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V33 tmp26 [V33 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V34 tmp27 [V34 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
+;* V35 tmp28 [V35,T26] ( 0, 0 ) byref -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V36 tmp29 [V36,T31] ( 0, 0 ) byref -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V37 tmp30 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V38 tmp31 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V39 tmp32 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V40 tmp33 [V40 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V41 tmp34 [V41 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V42 tmp35 [V42 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V43 tmp36 [V43 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V44 tmp37 [V44 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V45 tmp38 [V45 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V46 tmp39 [V46 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V47 tmp40 [V47 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V48 tmp41 [V48 ] ( 0, 0 ) ushort -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V49 tmp42 [V49 ] ( 0, 0 ) ushort -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V50 tmp43 [V50 ] ( 0, 0 ) ushort -> zero-ref "Inline stloc first use temp"
+;* V51 tmp44 [V51 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline return value spill temp"
+;* V52 tmp45 [V52 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V53 tmp46 [V53 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V54 tmp47 [V54 ] ( 0, 0 ) short -> zero-ref ptr "Inlining Arg"
+;* V55 tmp48 [V55 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V56 tmp49 [V56 ] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V57 tmp50 [V57 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V58 tmp51 [V58 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V59 tmp52 [V59 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V60 tmp53 [V60 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V61 tmp54 [V61 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V62 tmp55 [V62 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V63 tmp56 [V63 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V64 tmp57 [V64 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V65 tmp58 [V65 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V66 tmp59 [V66 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V67 tmp60 [V67 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V68 tmp61 [V68 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V69 tmp62 [V69 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V70 tmp63 [V70 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V71 tmp64 [V71 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V72 tmp65 [V72 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V73 tmp66 [V73 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V74 tmp67 [V74 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V75 tmp68 [V75 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V76 tmp69 [V76 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V77 tmp70 [V77 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V78 tmp71 [V78 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V79 tmp72 [V79 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V80 tmp73 [V80 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V81 tmp74 [V81 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V82 tmp75 [V82 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V83 tmp76 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V84 tmp77 [V84 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V85 tmp78 [V85 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V86 tmp79 [V86 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V87 tmp80 [V87 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V88 tmp81 [V88 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V89 tmp82 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V90 tmp83 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V91 tmp84 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V92 tmp85 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-; V93 tmp86 [V93,T03] ( 2, 16 ) byref -> rdi "Inlining Arg"
-; V94 tmp87 [V94,T04] ( 2, 16 ) int -> rdx "Inlining Arg"
-;* V95 tmp88 [V95 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V96 tmp89 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V97 tmp90 [V97,T10] ( 0, 0 ) ushort -> zero-ref ld-addr-op "Inlining Arg"
-;* V98 tmp91 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V99 tmp92 [V99 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V100 tmp93 [V100,T11] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-;* V101 tmp94 [V101 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V102 tmp95 [V102,T06] ( 3, 12 ) int -> rax "Inline return value spill temp"
-;* V103 tmp96 [V103 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V104 tmp97 [V104 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V105 tmp98 [V105 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V106 tmp99 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V107 tmp100 [V107,T05] ( 5, 10.50) byref -> r15 single-def "field V00._reference (fldOffset=0x0)" P-INDEP
-; V108 tmp101 [V108,T02] ( 9, 16 ) int -> rbx single-def "field V00._length (fldOffset=0x8)" P-INDEP
-;* V109 tmp102 [V109 ] ( 0, 0 ) byref -> zero-ref "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V110 tmp103 [V110 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
-;* V111 tmp104 [V111 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V112 tmp105 [V112 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
-;* V113 tmp106 [V113 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V114 tmp107 [V114 ] ( 0, 0 ) int -> zero-ref single-def "field V12._length (fldOffset=0x8)" P-INDEP
-;* V115 tmp108 [V115 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V116 tmp109 [V116 ] ( 0, 0 ) int -> zero-ref single-def "field V13._length (fldOffset=0x8)" P-INDEP
-;* V117 tmp110 [V117 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V118 tmp111 [V118 ] ( 0, 0 ) int -> zero-ref single-def "field V15._length (fldOffset=0x8)" P-INDEP
-;* V119 tmp112 [V119 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V120 tmp113 [V120 ] ( 0, 0 ) int -> zero-ref single-def "field V19._length (fldOffset=0x8)" P-INDEP
-;* V121 tmp114 [V121 ] ( 0, 0 ) byref -> zero-ref single-def "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V122 tmp115 [V122 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
-;* V123 tmp116 [V123 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
-;* V124 tmp117 [V124 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
-;* V125 tmp118 [V125 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
-;* V126 tmp119 [V126 ] ( 0, 0 ) int -> zero-ref single-def "field V30._length (fldOffset=0x8)" P-INDEP
-; V127 tmp120 [V127,T12] ( 5, 2.50) byref -> rcx "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V128 tmp121 [V128,T24] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
-;* V129 tmp122 [V129 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V130 tmp123 [V130 ] ( 0, 0 ) int -> zero-ref single-def "field V36._length (fldOffset=0x8)" P-INDEP
-;* V131 tmp124 [V131 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
-;* V132 tmp125 [V132 ] ( 0, 0 ) int -> zero-ref single-def "field V37._length (fldOffset=0x8)" P-INDEP
-;* V133 tmp126 [V133 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V134 tmp127 [V134 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
-;* V135 tmp128 [V135 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
-;* V136 tmp129 [V136 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
-;* V137 tmp130 [V137 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP
-;* V138 tmp131 [V138 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp132 [V139 ] ( 0, 0 ) byref -> zero-ref "field V91._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp133 [V140 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
-;* V141 tmp134 [V141 ] ( 0, 0 ) byref -> zero-ref "field V92._reference (fldOffset=0x0)" P-INDEP
-;* V142 tmp135 [V142 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP
-;* V143 tmp136 [V143 ] ( 0, 0 ) byref -> zero-ref "field V96._reference (fldOffset=0x0)" P-INDEP
-;* V144 tmp137 [V144 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
-;* V145 tmp138 [V145 ] ( 0, 0 ) byref -> zero-ref "field V98._reference (fldOffset=0x0)" P-INDEP
-;* V146 tmp139 [V146 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP
-;* V147 tmp140 [V147 ] ( 0, 0 ) byref -> zero-ref "field V106._reference (fldOffset=0x0)" P-INDEP
-;* V148 tmp141 [V148 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
-; V149 tmp142 [V149,T26] ( 2, 0 ) ref -> rsi "argument with side effect"
-; V150 cse0 [V150,T20] ( 3, 1.50) byref -> r15 "CSE #03: conservative"
-; V151 cse1 [V151,T07] ( 3, 12 ) int -> rax "CSE #10: moderate"
+;* V68 tmp61 [V68 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V69 tmp62 [V69 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
+;* V70 tmp63 [V70 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V71 tmp64 [V71,T28] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V72 tmp65 [V72 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V73 tmp66 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V74 tmp67 [V74 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V75 tmp68 [V75 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+;* V76 tmp69 [V76 ] ( 0, 0 ) int -> zero-ref do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline ldloca(s) first use temp"
+;* V77 tmp70 [V77 ] ( 0, 0 ) ubyte -> zero-ref ptr "Inline return value spill temp"
+;* V78 tmp71 [V78,T29] ( 0, 0 ) int -> zero-ref ptr "Inline return value spill temp"
+;* V79 tmp72 [V79 ] ( 0, 0 ) byref -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V80 tmp73 [V80,T05] ( 0, 0 ) byref -> zero-ref ptr "Inline stloc first use temp"
+;* V81 tmp74 [V81,T10] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V82 tmp75 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V83 tmp76 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V84 tmp77 [V84 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+;* V85 tmp78 [V85 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V86 tmp79 [V86 ] ( 0, 0 ) struct (64) zero-ref do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "Inline ldloca(s) first use temp" <System.Buffers.IndexOfAnyAsciiSearcher+AsciiState>
+;* V87 tmp80 [V87 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op ptr "Inline ldloca(s) first use temp"
+;* V88 tmp81 [V88 ] ( 0, 0 ) byref -> zero-ref
+;* V89 tmp82 [V89 ] ( 0, 0 ) byref -> zero-ref single-def ptr
+;* V90 tmp83 [V90 ] ( 0, 0 ) int -> zero-ref single-def
+;* V91 tmp84 [V91 ] ( 0, 0 ) byref -> zero-ref
+;* V92 tmp85 [V92 ] ( 0, 0 ) byref -> zero-ref single-def ptr
+;* V93 tmp86 [V93 ] ( 0, 0 ) int -> zero-ref
+; V94 tmp87 [V94,T30] ( 1, 1 ) int -> [rbp-0x44] do-not-enreg[V] "GSCookie dummy for inlinee"
+;* V95 tmp88 [V95 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V96 tmp89 [V96 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V97 tmp90 [V97 ] ( 0, 0 ) long -> zero-ref ptr "Inlining Arg"
+;* V98 tmp91 [V98 ] ( 0, 0 ) long -> zero-ref single-def ptr "Inline stloc first use temp"
+;* V99 tmp92 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V100 tmp93 [V100 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V101 tmp94 [V101 ] ( 0, 0 ) ushort -> zero-ref ptr "Inline stloc first use temp"
+;* V102 tmp95 [V102 ] ( 0, 0 ) int -> zero-ref ptr "Inline stloc first use temp"
+;* V103 tmp96 [V103 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V104 tmp97 [V104 ] ( 0, 0 ) long -> zero-ref ptr "dup spill"
+;* V105 tmp98 [V105 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+;* V106 tmp99 [V106 ] ( 0, 0 ) simd16 -> zero-ref "Inlining Arg" <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+;* V107 tmp100 [V107 ] ( 0, 0 ) simd32 -> zero-ref "Inline return value spill temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+;* V108 tmp101 [V108 ] ( 0, 0 ) simd32 -> zero-ref "Inline stloc first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+;* V109 tmp102 [V109 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V110 tmp103 [V110 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V111 tmp104 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+; V112 tmp105 [V112,T03] ( 2, 16 ) byref -> rdi "Inlining Arg"
+; V113 tmp106 [V113,T04] ( 2, 16 ) int -> rdx "Inlining Arg"
+;* V114 tmp107 [V114 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp108 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V116 tmp109 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V117 tmp110 [V117 ] ( 0, 0 ) byref -> zero-ref ptr "Inlining Arg"
+;* V118 tmp111 [V118 ] ( 0, 0 ) int -> zero-ref ptr "Inlining Arg"
+; V119 tmp112 [V119,T06] ( 3, 12 ) int -> rax "Inline return value spill temp"
+;* V120 tmp113 [V120 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V121 tmp114 [V121 ] ( 0, 0 ) byref -> zero-ref "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V122 tmp115 [V122 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
+;* V123 tmp116 [V123 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V124 tmp117 [V124 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+;* V125 tmp118 [V125 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V126 tmp119 [V126 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V12._length (fldOffset=0x8)" P-INDEP
+;* V127 tmp120 [V127 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V13._reference (fldOffset=0x0)" P-INDEP
+;* V128 tmp121 [V128 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V13._length (fldOffset=0x8)" P-INDEP
+;* V129 tmp122 [V129 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V130 tmp123 [V130 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V15._length (fldOffset=0x8)" P-INDEP
+;* V131 tmp124 [V131 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V132 tmp125 [V132 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V19._length (fldOffset=0x8)" P-INDEP
+;* V133 tmp126 [V133 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V134 tmp127 [V134 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
+;* V135 tmp128 [V135 ] ( 0, 0 ) byref -> zero-ref "field V24._reference (fldOffset=0x0)" P-INDEP
+;* V136 tmp129 [V136 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
+;* V137 tmp130 [V137 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V138 tmp131 [V138 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V25._length (fldOffset=0x8)" P-INDEP
+; V139 tmp132 [V139,T15] ( 5, 2.50) byref -> rcx "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V140 tmp133 [V140,T32] ( 0, 0 ) int -> zero-ref ptr "field V29._length (fldOffset=0x8)" P-INDEP
+;* V141 tmp134 [V141 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V142 tmp135 [V142 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V31._length (fldOffset=0x8)" P-INDEP
+;* V143 tmp136 [V143 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V144 tmp137 [V144 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V32._length (fldOffset=0x8)" P-INDEP
+;* V145 tmp138 [V145 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V146 tmp139 [V146 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
+;* V147 tmp140 [V147 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V39._reference (fldOffset=0x0)" P-INDEP
+;* V148 tmp141 [V148 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
+;* V149 tmp142 [V149 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V73._reference (fldOffset=0x0)" P-INDEP
+;* V150 tmp143 [V150 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V73._length (fldOffset=0x8)" P-INDEP
+;* V151 tmp144 [V151,T14] ( 0, 0 ) byref -> zero-ref single-def ptr "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V152 tmp145 [V152 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V74._length (fldOffset=0x8)" P-INDEP
+;* V153 tmp146 [V153 ] ( 0, 0 ) byref -> zero-ref ptr "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V154 tmp147 [V154 ] ( 0, 0 ) int -> zero-ref ptr "field V82._length (fldOffset=0x8)" P-INDEP
+;* V155 tmp148 [V155 ] ( 0, 0 ) byref -> zero-ref ptr "field V83._reference (fldOffset=0x0)" P-INDEP
+;* V156 tmp149 [V156 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
+;* V157 tmp150 [V157 ] ( 0, 0 ) byref -> zero-ref single-def ptr "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V158 tmp151 [V158 ] ( 0, 0 ) int -> zero-ref single-def ptr "field V99._length (fldOffset=0x8)" P-INDEP
+;* V159 tmp152 [V159 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP
+;* V160 tmp153 [V160 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP
+;* V161 tmp154 [V161 ] ( 0, 0 ) byref -> zero-ref "field V110._reference (fldOffset=0x0)" P-INDEP
+;* V162 tmp155 [V162 ] ( 0, 0 ) int -> zero-ref "field V110._length (fldOffset=0x8)" P-INDEP
+;* V163 tmp156 [V163 ] ( 0, 0 ) byref -> zero-ref ptr "field V111._reference (fldOffset=0x0)" P-INDEP
+;* V164 tmp157 [V164 ] ( 0, 0 ) int -> zero-ref ptr "field V111._length (fldOffset=0x8)" P-INDEP
+;* V165 tmp158 [V165 ] ( 0, 0 ) byref -> zero-ref ptr "field V115._reference (fldOffset=0x0)" P-INDEP
+;* V166 tmp159 [V166 ] ( 0, 0 ) int -> zero-ref ptr "field V115._length (fldOffset=0x8)" P-INDEP
+;* V167 tmp160 [V167 ] ( 0, 0 ) byref -> zero-ref ptr "field V116._reference (fldOffset=0x0)" P-INDEP
+;* V168 tmp161 [V168 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
+;* V169 tmp162 [V169 ] ( 0, 0 ) byref -> zero-ref "field V120._reference (fldOffset=0x0)" P-INDEP
+;* V170 tmp163 [V170 ] ( 0, 0 ) int -> zero-ref "field V120._length (fldOffset=0x8)" P-INDEP
+; V171 tmp164 [V171,T08] ( 5, 10.50) byref -> r15 single-def "V00.[000..008)"
+; V172 tmp165 [V172,T02] ( 9, 16 ) int -> r14 single-def "V00.[008..012)"
+;* V173 tmp166 [V173 ] ( 0, 0 ) long -> zero-ref ptr "Cast away GC"
+; V174 tmp167 [V174,T34] ( 2, 0 ) ref -> rsi "argument with side effect"
+; V175 GsCookie [V175 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V176 tmp169 [V176,T17] ( 3, 3 ) struct (16) [rbp-0x58] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ushort]>
+; V177 tmp170 [V177,T11] ( 10, 7 ) int -> rbx single-def "shadowVar"
+; V178 cse0 [V178,T24] ( 3, 1.50) byref -> r15 "CSE #03: conservative"
+; V179 cse1 [V179,T07] ( 3, 12 ) int -> rax "CSE #11: moderate"
;
-; Lcl frame size = 8
+; Lcl frame size = 56
G_M33892_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- push rax
- lea rbp, [rsp+0x30]
- mov r15, rdi
- mov ebx, esi
- mov r14d, edx
- ;; size=24 bbWeight=1 PerfScore 8.25
+ sub rsp, 56
+ lea rbp, [rsp+0x60]
+ xor eax, eax
+ mov qword ptr [rbp-0x58], rax
+ mov qword ptr [rbp-0x50], rax
+ mov qword ptr [rbp-0x30], 0xD1FFAB1E
+ mov bword ptr [rbp-0x40], rdi
+ mov qword ptr [rbp-0x38], rsi
+ ;; size=45 bbWeight=1 PerfScore 12.00
G_M33892_IG02:
- cmp r14d, ebx
- jae G_M33892_IG13
- mov esi, r14d
- cmp word ptr [r15+2*rsi], 34
- je G_M33892_IG08
- ;; size=24 bbWeight=1 PerfScore 5.50
+ mov ebx, edx
+ ;; size=2 bbWeight=1 PerfScore 0.25
G_M33892_IG03:
- cmp r14d, ebx
- ja G_M33892_IG14
- mov esi, r14d
- lea r15, bword ptr [r15+2*rsi]
+ vmovdqu xmm0, xmmword ptr [rbp-0x40]
+ vmovdqu xmmword ptr [rbp-0x58], xmm0
+ ;; size=10 bbWeight=1 PerfScore 4.00
+G_M33892_IG04:
+ mov r15, bword ptr [rbp-0x58]
+ mov r14d, dword ptr [rbp-0x50]
+ cmp ebx, r14d
+ jae G_M33892_IG16
+ mov edi, ebx
+ cmp word ptr [r15+2*rdi], 34
+ je G_M33892_IG10
+ ;; size=31 bbWeight=1 PerfScore 7.50
+G_M33892_IG05:
+ cmp ebx, r14d
+ ja G_M33892_IG17
+ mov edi, ebx
+ lea r15, bword ptr [r15+2*rdi]
mov rdi, r15
- mov edx, ebx
- sub edx, r14d
+ mov edx, r14d
+ sub edx, ebx
mov esi, 59
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r13d, eax
cmp r13d, -1
- je SHORT G_M33892_IG07
+ je SHORT G_M33892_IG09
mov rdi, r15
- mov r9d, ebx
- sub r9d, r14d
+ mov r9d, r14d
+ sub r9d, ebx
mov r8, 0xD1FFAB1E ; const ptr
mov rcx, gword ptr [r8]
add rcx, 16
movsx r8, word ptr [rcx+0x06]
movsx rsi, word ptr [rcx]
movsx rdx, word ptr [rcx+0x02]
movsx rcx, word ptr [rcx+0x04]
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
call [rax]System.SpanHelpers:IndexOfAnyValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,short,short,short,int):int
cmp eax, -1
- je SHORT G_M33892_IG04
+ je SHORT G_M33892_IG06
cmp eax, r13d
- jl SHORT G_M33892_IG05
- ;; size=117 bbWeight=0.50 PerfScore 16.38
-G_M33892_IG04:
- jmp SHORT G_M33892_IG06
+ jl SHORT G_M33892_IG07
+ ;; size=116 bbWeight=0.50 PerfScore 16.38
+G_M33892_IG06:
+ jmp SHORT G_M33892_IG08
;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M33892_IG05:
+G_M33892_IG07:
mov r13d, eax
;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M33892_IG06:
- add r13d, r14d
- jmp SHORT G_M33892_IG11
+G_M33892_IG08:
+ add r13d, ebx
+ jmp SHORT G_M33892_IG13
;; size=5 bbWeight=0.50 PerfScore 1.12
-G_M33892_IG07:
- mov r13d, ebx
- jmp SHORT G_M33892_IG11
+G_M33892_IG09:
+ mov r13d, r14d
+ jmp SHORT G_M33892_IG13
;; size=5 bbWeight=0.50 PerfScore 1.12
-G_M33892_IG08:
+G_M33892_IG10:
xor r12d, r12d
- mov r13d, r14d
+ mov r13d, ebx
;; size=6 bbWeight=0.50 PerfScore 0.25
-G_M33892_IG09:
+G_M33892_IG11:
inc r13d
- cmp r13d, ebx
- ja SHORT G_M33892_IG14
- mov esi, r13d
- lea rdi, bword ptr [r15+2*rsi]
- mov edx, ebx
+ cmp r13d, r14d
+ ja SHORT G_M33892_IG17
+ mov edi, r13d
+ lea rdi, bword ptr [r15+2*rdi]
+ mov edx, r14d
sub edx, r13d
mov esi, 34
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
cmp eax, -1
- je SHORT G_M33892_IG15
+ je SHORT G_M33892_IG18
add r13d, eax
lea eax, [r13-0x01]
- cmp eax, ebx
- jae SHORT G_M33892_IG13
+ cmp eax, r14d
+ jae SHORT G_M33892_IG16
cmp word ptr [r15+2*rax], 92
- je SHORT G_M33892_IG10
+ je SHORT G_M33892_IG12
inc r13d
- jmp SHORT G_M33892_IG11
- ;; size=66 bbWeight=4 PerfScore 63.00
-G_M33892_IG10:
+ jmp SHORT G_M33892_IG13
+ ;; size=68 bbWeight=4 PerfScore 63.00
+G_M33892_IG12:
test r12d, r12d
- je SHORT G_M33892_IG09
+ je SHORT G_M33892_IG11
;; size=5 bbWeight=4 PerfScore 5.00
-G_M33892_IG11:
+G_M33892_IG13:
mov eax, r13d
- sub eax, r14d
- ;; size=6 bbWeight=1 PerfScore 0.50
-G_M33892_IG12:
- add rsp, 8
+ sub eax, ebx
+ cmp qword ptr [rbp-0x30], 0xD1FFAB1E
+ je SHORT G_M33892_IG14
+ call CORINFO_HELP_FAIL_FAST
+ ;; size=20 bbWeight=1 PerfScore 4.50
+G_M33892_IG14:
+ nop
+ ;; size=1 bbWeight=1 PerfScore 0.25
+G_M33892_IG15:
+ add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M33892_IG13:
+G_M33892_IG16:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M33892_IG14:
+G_M33892_IG17:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M33892_IG15:
+G_M33892_IG18:
mov rdi, 0xD1FFAB1E ; System.ArgumentException
call CORINFO_HELP_NEWSFAST
mov rbx, rax
mov rax, 0xD1FFAB1E ; code for System.SR:get_InvalidParameterValue():System.String
call [rax]System.SR:get_InvalidParameterValue():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
-; Total bytes of code 354, prolog size 16, PerfScore 106.50, instruction count 102, allocated bytes for code 354 (MethodHash=3f517b9b) for method System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts)
+; Total bytes of code 410, prolog size 45, PerfScore 120.75, instruction count 114, allocated bytes for code 410 (MethodHash=3f517b9b) for method System.IO.Packaging.ContentType:GetLengthOfParameterValue(System.ReadOnlySpan`1[ushort],int):int (FullOpts)
51 (3.11 % of base) - System.SpanHelpers:IndexOf(byref,int,byref,int):int
; Assembly listing for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 14 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T06] ( 12, 91 ) byref -> r15 single-def
; V01 arg1 [V01,T23] ( 5, 3.50) int -> rdx single-def
; V02 arg2 [V02,T07] ( 11, 72.50) byref -> r14 single-def
; V03 arg3 [V03,T01] ( 8,131.50) int -> rbx single-def
; V04 loc0 [V04,T20] ( 8, 7.50) int -> r13
; V05 loc1 [V05,T00] ( 26,266 ) long -> r12
; V06 loc2 [V06,T17] ( 6, 13.50) ushort -> [rbp-0x2C] spill-single-def
; V07 loc3 [V07,T10] ( 8, 35 ) int -> [rbp-0x30] spill-single-def
-; V08 loc4 [V08,T25] ( 2, 4.50) byref -> r14 single-def
+; V08 loc4 [V08,T24] ( 2, 4.50) byref -> r14 single-def
; V09 loc5 [V09,T13] ( 9, 29 ) int -> rbx
; V10 loc6 [V10,T14] ( 4, 16 ) int -> rax
;* V11 loc7 [V11 ] ( 0, 0 ) ushort -> zero-ref
;* V12 loc8 [V12 ] ( 0, 0 ) long -> zero-ref
;* V13 loc9 [V13 ] ( 0, 0 ) struct (64) zero-ref <System.Runtime.Intrinsics.Vector512`1[ushort]>
;* V14 loc10 [V14 ] ( 0, 0 ) struct (64) zero-ref <System.Runtime.Intrinsics.Vector512`1[ushort]>
;* V15 loc11 [V15 ] ( 0, 0 ) long -> zero-ref
;* V16 loc12 [V16 ] ( 0, 0 ) struct (64) zero-ref <System.Runtime.Intrinsics.Vector512`1[ushort]>
;* V17 loc13 [V17 ] ( 0, 0 ) struct (64) zero-ref <System.Runtime.Intrinsics.Vector512`1[ushort]>
;* V18 loc14 [V18 ] ( 0, 0 ) struct (64) zero-ref <System.Runtime.Intrinsics.Vector512`1[ubyte]>
;* V19 loc15 [V19 ] ( 0, 0 ) long -> zero-ref
;* V20 loc16 [V20 ] ( 0, 0 ) int -> zero-ref
;* V21 loc17 [V21 ] ( 0, 0 ) long -> zero-ref
; V22 loc18 [V22,T21] ( 4, 7 ) ushort -> rdi
; V23 loc19 [V23,T15] ( 6, 14.50) long -> r13
-; V24 loc20 [V24,T30] ( 2, 4.50) simd32 -> [rbp-0x50] spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
-; V25 loc21 [V25,T31] ( 2, 4.50) simd32 -> [rbp-0x70] spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
+; V24 loc20 [V24,T29] ( 2, 4.50) simd32 -> [rbp-0x50] spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
+; V25 loc21 [V25,T30] ( 2, 4.50) simd32 -> [rbp-0x70] spill-single-def <System.Runtime.Intrinsics.Vector256`1[ushort]>
; V26 loc22 [V26,T11] ( 3, 32.50) long -> [rbp-0x78] spill-single-def
;* V27 loc23 [V27 ] ( 0, 0 ) simd32 -> zero-ref <System.Runtime.Intrinsics.Vector256`1[ushort]>
;* V28 loc24 [V28 ] ( 0, 0 ) simd32 -> zero-ref <System.Runtime.Intrinsics.Vector256`1[ushort]>
-; V29 loc25 [V29,T28] ( 4, 16 ) simd32 -> mm2 <System.Runtime.Intrinsics.Vector256`1[ubyte]>
+; V29 loc25 [V29,T27] ( 4, 16 ) simd32 -> mm2 <System.Runtime.Intrinsics.Vector256`1[ubyte]>
; V30 loc26 [V30,T02] ( 5,132 ) int -> [rbp-0x7C]
; V31 loc27 [V31,T08] ( 3, 64.50) long -> [rbp-0x88] spill-single-def
; V32 loc28 [V32,T22] ( 4, 7 ) ushort -> rdi
; V33 loc29 [V33,T16] ( 6, 14.50) long -> r13
-; V34 loc30 [V34,T32] ( 2, 4.50) simd16 -> [rbp-0xA0] spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
-; V35 loc31 [V35,T33] ( 2, 4.50) simd16 -> [rbp-0xB0] spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
+; V34 loc30 [V34,T31] ( 2, 4.50) simd16 -> [rbp-0xA0] spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
+; V35 loc31 [V35,T32] ( 2, 4.50) simd16 -> [rbp-0xB0] spill-single-def <System.Runtime.Intrinsics.Vector128`1[ushort]>
; V36 loc32 [V36,T12] ( 3, 32.50) long -> [rbp-0xB8] spill-single-def
;* V37 loc33 [V37 ] ( 0, 0 ) simd16 -> zero-ref <System.Runtime.Intrinsics.Vector128`1[ushort]>
;* V38 loc34 [V38 ] ( 0, 0 ) simd16 -> zero-ref <System.Runtime.Intrinsics.Vector128`1[ushort]>
-; V39 loc35 [V39,T29] ( 4, 16 ) simd16 -> mm2 <System.Runtime.Intrinsics.Vector128`1[ubyte]>
+; V39 loc35 [V39,T28] ( 4, 16 ) simd16 -> mm2 <System.Runtime.Intrinsics.Vector128`1[ubyte]>
; V40 loc36 [V40,T03] ( 5,132 ) int -> [rbp-0xBC]
; V41 loc37 [V41,T09] ( 3, 64.50) long -> [rbp-0xC8] spill-single-def
;# V42 OutArgs [V42 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V43 tmp1 [V43 ] ( 0, 0 ) simd16 -> zero-ref "spilled call-like call argument"
;* V44 tmp2 [V44 ] ( 0, 0 ) simd16 -> zero-ref "spilled call-like call argument"
; V45 tmp3 [V45,T18] ( 2, 8 ) long -> r13 "dup spill"
;* V46 tmp4 [V46 ] ( 0, 0 ) simd32 -> zero-ref "spilled call-like call argument"
;* V47 tmp5 [V47 ] ( 0, 0 ) simd32 -> zero-ref "spilled call-like call argument"
; V48 tmp6 [V48,T19] ( 2, 8 ) long -> r13 "dup spill"
;* V49 tmp7 [V49 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V50 tmp8 [V50 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
-; V51 tmp9 [V51,T27] ( 3, 1.50) int -> rax "Inline return value spill temp"
-; V52 tmp10 [V52,T26] ( 4, 4 ) short -> rsi ld-addr-op "Inlining Arg"
-;* V53 tmp11 [V53 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V54 tmp12 [V54 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V55 tmp13 [V55 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V56 tmp14 [V56 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V57 tmp15 [V57,T04] ( 2,128 ) int -> rdi "Inlining Arg"
-;* V58 tmp16 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V59 tmp17 [V59,T05] ( 2,128 ) int -> rax "Inlining Arg"
-; V60 tmp18 [V60,T24] ( 5, 5 ) int -> rax "Single return block return value"
-;* V61 tmp19 [V61 ] ( 0, 0 ) simd32 -> zero-ref "field V13._lower (fldOffset=0x0)" P-INDEP
-;* V62 tmp20 [V62 ] ( 0, 0 ) simd32 -> zero-ref "field V13._upper (fldOffset=0x20)" P-INDEP
-;* V63 tmp21 [V63 ] ( 0, 0 ) simd32 -> zero-ref "field V14._lower (fldOffset=0x0)" P-INDEP
-;* V64 tmp22 [V64 ] ( 0, 0 ) simd32 -> zero-ref "field V14._upper (fldOffset=0x20)" P-INDEP
-;* V65 tmp23 [V65 ] ( 0, 0 ) simd32 -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP
-;* V66 tmp24 [V66 ] ( 0, 0 ) simd32 -> zero-ref "field V16._upper (fldOffset=0x20)" P-INDEP
-;* V67 tmp25 [V67 ] ( 0, 0 ) simd32 -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP
-;* V68 tmp26 [V68 ] ( 0, 0 ) simd32 -> zero-ref "field V17._upper (fldOffset=0x20)" P-INDEP
-;* V69 tmp27 [V69 ] ( 0, 0 ) simd32 -> zero-ref "field V18._lower (fldOffset=0x0)" P-INDEP
-;* V70 tmp28 [V70 ] ( 0, 0 ) simd32 -> zero-ref "field V18._upper (fldOffset=0x20)" P-INDEP
+;* V51 tmp9 [V51 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+; V52 tmp10 [V52,T25] ( 4, 4 ) short -> rsi "Inlining Arg"
+;* V53 tmp11 [V53 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
+;* V54 tmp12 [V54 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V55 tmp13 [V55 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V56 tmp14 [V56,T04] ( 2,128 ) int -> rdi "Inlining Arg"
+;* V57 tmp15 [V57 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V58 tmp16 [V58,T05] ( 2,128 ) int -> rax "Inlining Arg"
+; V59 tmp17 [V59,T26] ( 4, 4 ) int -> rax "Single return block return value"
+;* V60 tmp18 [V60 ] ( 0, 0 ) simd32 -> zero-ref "field V13._lower (fldOffset=0x0)" P-INDEP
+;* V61 tmp19 [V61 ] ( 0, 0 ) simd32 -> zero-ref "field V13._upper (fldOffset=0x20)" P-INDEP
+;* V62 tmp20 [V62 ] ( 0, 0 ) simd32 -> zero-ref "field V14._lower (fldOffset=0x0)" P-INDEP
+;* V63 tmp21 [V63 ] ( 0, 0 ) simd32 -> zero-ref "field V14._upper (fldOffset=0x20)" P-INDEP
+;* V64 tmp22 [V64 ] ( 0, 0 ) simd32 -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP
+;* V65 tmp23 [V65 ] ( 0, 0 ) simd32 -> zero-ref "field V16._upper (fldOffset=0x20)" P-INDEP
+;* V66 tmp24 [V66 ] ( 0, 0 ) simd32 -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP
+;* V67 tmp25 [V67 ] ( 0, 0 ) simd32 -> zero-ref "field V17._upper (fldOffset=0x20)" P-INDEP
+;* V68 tmp26 [V68 ] ( 0, 0 ) simd32 -> zero-ref "field V18._lower (fldOffset=0x0)" P-INDEP
+;* V69 tmp27 [V69 ] ( 0, 0 ) simd32 -> zero-ref "field V18._upper (fldOffset=0x20)" P-INDEP
;
; Lcl frame size = 168
G_M3489_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 168
lea rbp, [rsp+0xD0]
mov r15, rdi
mov r14, rdx
mov edx, esi
mov ebx, ecx
;; size=35 bbWeight=1 PerfScore 7.75
G_M3489_IG02:
test ebx, ebx
jne SHORT G_M3489_IG05
;; size=4 bbWeight=1 PerfScore 1.25
G_M3489_IG03:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M3489_IG04:
vzeroupper
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=0.50 PerfScore 2.62
G_M3489_IG05:
lea r13d, [rbx-0x01]
test r13d, r13d
- jne SHORT G_M3489_IG08
+ jne SHORT G_M3489_IG09
movsx rsi, word ptr [r14]
movzx rdi, si
dec edi
cmp edi, 254
- jae SHORT G_M3489_IG06
+ jae SHORT G_M3489_IG07
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- jmp SHORT G_M3489_IG07
- ;; size=43 bbWeight=0.50 PerfScore 6.50
+ ;; size=39 bbWeight=0.50 PerfScore 4.00
G_M3489_IG06:
+ vzeroupper
+ add rsp, 168
+ pop rbx
+ pop r12
+ pop r13
+ pop r14
+ pop r15
+ pop rbp
+ tail.jmp [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ ;; size=23 bbWeight=0.50 PerfScore 3.12
+G_M3489_IG07:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
- call [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
- ;; size=15 bbWeight=0.50 PerfScore 1.75
-G_M3489_IG07:
- jmp G_M3489_IG31
- ;; size=5 bbWeight=0.50 PerfScore 1.00
+ ;; size=13 bbWeight=0.50 PerfScore 0.25
G_M3489_IG08:
+ vzeroupper
+ add rsp, 168
+ pop rbx
+ pop r12
+ pop r13
+ pop r14
+ pop r15
+ pop rbp
+ tail.jmp [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
+ ;; size=23 bbWeight=0.50 PerfScore 3.12
+G_M3489_IG09:
xor r12d, r12d
- movzx rcx, word ptr [r14]
- mov dword ptr [rbp-0x2C], ecx
- mov eax, edx
- sub eax, r13d
- mov dword ptr [rbp-0x30], eax
- cmp eax, 8
- jge SHORT G_M3489_IG11
+ movzx rax, word ptr [r14]
+ mov dword ptr [rbp-0x2C], eax
+ mov ecx, edx
+ sub ecx, r13d
+ mov dword ptr [rbp-0x30], ecx
+ cmp ecx, 8
+ jge SHORT G_M3489_IG12
add r14, 2
- mov ebx, eax
+ mov ebx, ecx
test ebx, ebx
- jle G_M3489_IG28
+ jle G_M3489_IG29
;; size=37 bbWeight=0.50 PerfScore 3.88
-G_M3489_IG09:
+G_M3489_IG10:
lea rdi, bword ptr [r15+2*r12]
- movsx rsi, cx
+ movsx rsi, ax
mov edx, ebx
- mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
- call [rax]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
+ mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
+ call [rcx]System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
test eax, eax
- jl G_M3489_IG28
+ jl G_M3489_IG29
sub ebx, eax
movsxd rdi, eax
add r12, rdi
test ebx, ebx
- jle G_M3489_IG28
+ jle G_M3489_IG29
lea rdi, bword ptr [r15+2*r12+0x02]
mov edx, r13d
add rdx, rdx
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- jne SHORT G_M3489_IG10
+ jne SHORT G_M3489_IG11
dec ebx
inc r12
test ebx, ebx
- mov ecx, dword ptr [rbp-0x2C]
- jg SHORT G_M3489_IG09
- jmp G_M3489_IG28
+ mov eax, dword ptr [rbp-0x2C]
+ jg SHORT G_M3489_IG10
+ jmp G_M3489_IG29
;; size=93 bbWeight=4 PerfScore 74.00
-G_M3489_IG10:
+G_M3489_IG11:
mov eax, r12d
- jmp G_M3489_IG31
+ jmp G_M3489_IG32
;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M3489_IG11:
- lea edi, [rax-0x10]
+G_M3489_IG12:
+ lea edi, [rcx-0x10]
test edi, edi
- jl G_M3489_IG20
+ jl G_M3489_IG21
movsxd rdi, r13d
movzx rdi, word ptr [r14+2*rdi]
movsxd r13, r13d
- jmp SHORT G_M3489_IG13
+ jmp SHORT G_M3489_IG14
;; size=24 bbWeight=0.50 PerfScore 3.12
-G_M3489_IG12:
+G_M3489_IG13:
dec r13
movzx rdi, word ptr [r14+2*r13]
;; size=8 bbWeight=2 PerfScore 4.50
-G_M3489_IG13:
- cmp edi, ecx
- jne SHORT G_M3489_IG14
+G_M3489_IG14:
+ cmp edi, eax
+ jne SHORT G_M3489_IG15
cmp r13, 1
- jg SHORT G_M3489_IG12
+ jg SHORT G_M3489_IG13
;; size=10 bbWeight=4 PerfScore 10.00
-G_M3489_IG14:
- vmovd xmm0, ecx
+G_M3489_IG15:
+ vmovd xmm0, eax
vpbroadcastw ymm0, ymm0
vmovups ymmword ptr [rbp-0x50], ymm0
vmovd xmm1, edi
vpbroadcastw ymm1, ymm1
vmovups ymmword ptr [rbp-0x70], ymm1
- movsxd rcx, eax
- add rcx, -16
- mov qword ptr [rbp-0x78], rcx
+ movsxd rax, ecx
+ add rax, -16
+ mov qword ptr [rbp-0x78], rax
;; size=39 bbWeight=0.50 PerfScore 5.75
-G_M3489_IG15:
+G_M3489_IG16:
vpcmpeqw ymm2, ymm0, ymmword ptr [r15+2*r12]
lea rdi, [r12+r13]
vpcmpeqw ymm3, ymm1, ymmword ptr [r15+2*rdi]
vpand ymm2, ymm3, ymm2
vptest ymm2, ymm2
- jne SHORT G_M3489_IG17
+ jne SHORT G_M3489_IG18
;; size=27 bbWeight=4 PerfScore 51.33
-G_M3489_IG16:
+G_M3489_IG17:
add r12, 16
- movsxd rdi, eax
+ movsxd rdi, ecx
cmp r12, rdi
- je G_M3489_IG28
- cmp r12, rcx
- mov eax, dword ptr [rbp-0x30]
+ je G_M3489_IG29
+ cmp r12, rax
+ mov ecx, dword ptr [rbp-0x30]
vmovups ymm0, ymmword ptr [rbp-0x50]
vmovups ymm1, ymmword ptr [rbp-0x70]
- jle SHORT G_M3489_IG15
- mov r12, rcx
- mov rcx, qword ptr [rbp-0x78]
- jmp SHORT G_M3489_IG15
+ jle SHORT G_M3489_IG16
+ mov r12, rax
+ mov rax, qword ptr [rbp-0x78]
+ jmp SHORT G_M3489_IG16
;; size=43 bbWeight=16 PerfScore 244.00
-G_M3489_IG17:
+G_M3489_IG18:
vpmovmskb r8d, ymm2
;; size=4 bbWeight=4 PerfScore 12.00
-G_M3489_IG18:
+G_M3489_IG19:
mov dword ptr [rbp-0x7C], r8d
xor edi, edi
tzcnt edi, r8d
shr edi, 1
mov r9d, edi
mov qword ptr [rbp-0x88], r9
cmp ebx, 2
- je SHORT G_M3489_IG19
+ je SHORT G_M3489_IG20
lea rdi, [r12+r9]
lea rdi, bword ptr [r15+2*rdi]
mov edx, ebx
add rdx, rdx
mov rsi, r14
mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
mov r9, qword ptr [rbp-0x88]
- jne SHORT G_M3489_IG19
+ jne SHORT G_M3489_IG20
blsr edi, dword ptr [rbp-0x7C]
blsr r8d, edi
mov edi, r8d
test edi, edi
mov r8d, edi
- mov eax, dword ptr [rbp-0x30]
- mov rcx, qword ptr [rbp-0x78]
- jne SHORT G_M3489_IG18
- jmp G_M3489_IG16
+ mov rax, qword ptr [rbp-0x78]
+ mov ecx, dword ptr [rbp-0x30]
+ jne SHORT G_M3489_IG19
+ jmp G_M3489_IG17
;; size=101 bbWeight=32 PerfScore 696.00
-G_M3489_IG19:
+G_M3489_IG20:
lea eax, [r12+r9]
- jmp G_M3489_IG31
+ jmp G_M3489_IG32
;; size=9 bbWeight=0.50 PerfScore 1.25
-G_M3489_IG20:
+G_M3489_IG21:
movsxd rdi, r13d
movzx rdi, word ptr [r14+2*rdi]
movsxd r13, r13d
- jmp SHORT G_M3489_IG22
+ jmp SHORT G_M3489_IG23
;; size=13 bbWeight=0.50 PerfScore 2.25
-G_M3489_IG21:
+G_M3489_IG22:
dec r13
movzx rdi, word ptr [r14+2*r13]
;; size=8 bbWeight=2 PerfScore 4.50
-G_M3489_IG22:
- cmp edi, ecx
- jne SHORT G_M3489_IG23
+G_M3489_IG23:
+ cmp edi, eax
+ jne SHORT G_M3489_IG24
cmp r13, 1
- jg SHORT G_M3489_IG21
+ jg SHORT G_M3489_IG22
;; size=10 bbWeight=4 PerfScore 10.00
-G_M3489_IG23:
- vmovd xmm0, ecx
+G_M3489_IG24:
+ vmovd xmm0, eax
vpbroadcastw xmm0, xmm0
vmovaps xmmword ptr [rbp-0xA0], xmm0
vmovd xmm1, edi
vpbroadcastw xmm1, xmm1
vmovaps xmmword ptr [rbp-0xB0], xmm1
- movsxd rcx, eax
- add rcx, -8
- mov qword ptr [rbp-0xB8], rcx
+ movsxd rax, ecx
+ add rax, -8
+ mov qword ptr [rbp-0xB8], rax
;; size=48 bbWeight=0.50 PerfScore 4.75
-G_M3489_IG24:
+G_M3489_IG25:
vpcmpeqw xmm2, xmm0, xmmword ptr [r15+2*r12]
lea rdi, [r12+r13]
vpcmpeqw xmm3, xmm1, xmmword ptr [r15+2*rdi]
vpand xmm2, xmm3, xmm2
vptest xmm2, xmm2
- jne SHORT G_M3489_IG26
+ jne SHORT G_M3489_IG27
;; size=27 bbWeight=4 PerfScore 43.33
-G_M3489_IG25:
+G_M3489_IG26:
add r12, 8
- movsxd rdi, eax
+ movsxd rdi, ecx
cmp r12, rdi
- je G_M3489_IG28
- cmp r12, rcx
- mov eax, dword ptr [rbp-0x30]
+ je G_M3489_IG29
+ cmp r12, rax
+ mov ecx, dword ptr [rbp-0x30]
vmovaps xmm0, xmmword ptr [rbp-0xA0]
vmovaps xmm1, xmmword ptr [rbp-0xB0]
- jle SHORT G_M3489_IG24
- mov r12, rcx
- mov rcx, qword ptr [rbp-0xB8]
- jmp SHORT G_M3489_IG24
+ jle SHORT G_M3489_IG25
+ mov r12, rax
+ mov rax, qword ptr [rbp-0xB8]
+ jmp SHORT G_M3489_IG25
;; size=52 bbWeight=16 PerfScore 212.00
-G_M3489_IG26:
+G_M3489_IG27:
vpmovmskb r8d, xmm2
;; size=4 bbWeight=4 PerfScore 8.00
-G_M3489_IG27:
+G_M3489_IG28:
mov dword ptr [rbp-0xBC], r8d
xor edi, edi
tzcnt edi, r8d
shr edi, 1
mov r9d, edi
mov qword ptr [rbp-0xC8], r9
cmp ebx, 2
- je SHORT G_M3489_IG30
+ je SHORT G_M3489_IG31
lea rdi, [r12+r9]
lea rdi, bword ptr [r15+2*rdi]
mov edx, ebx
add rdx, rdx
mov rsi, r14
mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
mov r9, qword ptr [rbp-0xC8]
- jne SHORT G_M3489_IG30
+ jne SHORT G_M3489_IG31
blsr eax, dword ptr [rbp-0xBC]
blsr r8d, eax
mov eax, r8d
test eax, eax
mov r8d, eax
- mov eax, dword ptr [rbp-0x30]
- mov rcx, qword ptr [rbp-0xB8]
- jne SHORT G_M3489_IG27
- jmp G_M3489_IG25
+ mov rax, qword ptr [rbp-0xB8]
+ mov ecx, dword ptr [rbp-0x30]
+ jne SHORT G_M3489_IG28
+ jmp G_M3489_IG26
;; size=110 bbWeight=32 PerfScore 696.00
-G_M3489_IG28:
+G_M3489_IG29:
mov eax, -1
;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M3489_IG29:
+G_M3489_IG30:
vzeroupper
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=0.50 PerfScore 2.62
-G_M3489_IG30:
+G_M3489_IG31:
lea eax, [r12+r9]
;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M3489_IG31:
+G_M3489_IG32:
vzeroupper
add rsp, 168
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=21 bbWeight=0.50 PerfScore 2.62
-; Total bytes of code 851, prolog size 35, PerfScore 2114.42, instruction count 235, allocated bytes for code 851 (MethodHash=624ef25e) for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts)
+; Total bytes of code 886, prolog size 35, PerfScore 2115.67, instruction count 249, allocated bytes for code 886 (MethodHash=624ef25e) for method System.SpanHelpers:IndexOf(byref,int,byref,int):int (FullOpts)
45 (1.52 % of base) - System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this
; Assembly listing for method System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 61 single block inlinees; 23 inlinees without PGO data
+; 0 inlinees with PGO data; 64 single block inlinees; 24 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T16] ( 9, 37.50) ref -> r15 this class-hnd single-def <System.Runtime.Serialization.SchemaExporter>
; V01 arg1 [V01,T14] ( 27, 43 ) ref -> rbx class-hnd <System.Type>
-; V02 arg2 [V02,T62] ( 3, 3 ) ref -> r14 class-hnd single-def <System.String>
-; V03 arg3 [V03,T63] ( 3, 3 ) ref -> r13 class-hnd single-def <System.String>
+; V02 arg2 [V02,T61] ( 3, 3 ) ref -> r14 class-hnd single-def <System.String>
+; V03 arg3 [V03,T62] ( 3, 3 ) ref -> r13 class-hnd single-def <System.String>
; V04 loc0 [V04 ] ( 3, 6 ) ref -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Type>
; V05 loc1 [V05,T53] ( 5, 10 ) int -> r12
-; V06 loc2 [V06,T18] ( 6, 35.50) ref -> [rbp-0xB0] class-hnd <System.Type[]>
-; V07 loc3 [V07,T74] ( 5, 3 ) ref -> [rbp-0xB8] class-hnd <System.Collections.Generic.List`1[int]>
-; V08 loc4 [V08,T64] ( 7, 4.50) ref -> rbx class-hnd <System.Xml.XmlQualifiedName>
+; V06 loc2 [V06,T18] ( 6, 35.50) ref -> [rbp-0xB8] class-hnd <System.Type[]>
+; V07 loc3 [V07,T75] ( 5, 3 ) ref -> [rbp-0xC0] class-hnd <System.Collections.Generic.List`1[int]>
+; V08 loc4 [V08,T63] ( 7, 4.50) ref -> rbx class-hnd <System.Xml.XmlQualifiedName>
; V09 loc5 [V09,T17] ( 8, 37.50) ref -> r14 class-hnd single-def <System.Xml.XmlElement>
; V10 loc6 [V10,T66] ( 4, 4 ) ref -> r13 class-hnd single-def <System.Xml.XmlAttribute>
; V11 loc7 [V11,T67] ( 4, 4 ) ref -> r13 class-hnd single-def <System.Xml.XmlAttribute>
-; V12 loc8 [V12,T61] ( 11, 5 ) ref -> [rbp-0xC0] class-hnd <System.String>
+; V12 loc8 [V12,T65] ( 9, 4 ) ref -> [rbp-0xC8] class-hnd <System.String>
;* V13 loc9 [V13 ] ( 0, 0 ) int -> zero-ref
; V14 loc10 [V14,T78] ( 5, 2.50) int -> [rbp-0x34]
-; V15 loc11 [V15,T55] ( 4, 9 ) ref -> [rbp-0xC8] class-hnd <System.String>
+; V15 loc11 [V15,T55] ( 4, 9 ) ref -> [rbp-0xD0] class-hnd <System.String>
; V16 loc12 [V16,T51] ( 4, 12.50) int -> [rbp-0x38]
; V17 loc13 [V17,T08] ( 5, 64.50) int -> r13
; V18 loc14 [V18 ] ( 6, 32.50) int -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op
;* V19 loc15 [V19 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
-; V20 loc16 [V20,T44] ( 3, 20 ) int -> [rbp-0x44] spill-single-def
+; V20 loc16 [V20,T45] ( 3, 20 ) int -> [rbp-0x44] spill-single-def
; V21 loc17 [V21,T11] ( 4, 50 ) int -> [rbp-0x48]
; V22 loc18 [V22,T12] ( 4, 48 ) ref -> rbx class-hnd <System.Xml.XmlElement>
-; V23 loc19 [V23,T21] ( 4, 32 ) ref -> [rbp-0xD0] class-hnd spill-single-def <System.Xml.XmlAttribute>
+; V23 loc19 [V23,T21] ( 4, 32 ) ref -> [rbp-0xD8] class-hnd spill-single-def <System.Xml.XmlAttribute>
; V24 loc20 [V24,T79] ( 4, 2 ) ref -> r15 class-hnd single-def <System.Xml.XmlAttribute>
; V25 loc21 [V25 ] ( 2, 1 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed ld-addr-op
;# V26 OutArgs [V26 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V27 tmp1 [V27 ] ( 0, 0 ) ref -> zero-ref
;* V28 tmp2 [V28 ] ( 0, 0 ) ref -> zero-ref single-def
-; V29 tmp3 [V29,T83] ( 3, 2 ) ref -> rsi
-; V30 tmp4 [V30,T75] ( 3, 3 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
-; V31 tmp5 [V31,T82] ( 4, 2 ) int -> rdi
+; V29 tmp3 [V29,T86] ( 3, 2 ) ref -> rsi
+; V30 tmp4 [V30,T68] ( 4, 4 ) ref -> rbx class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
+; V31 tmp5 [V31,T84] ( 4, 2 ) int -> rdi
; V32 tmp6 [V32,T52] ( 3, 12 ) ubyte -> rax "Inline return value spill temp"
; V33 tmp7 [V33 ] ( 2, 10 ) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Runtime.Serialization.DataContracts.DataContract>
-; V34 tmp8 [V34,T84] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V35 tmp9 [V35,T94] ( 2, 2 ) int -> rdx "Inlining Arg"
-; V36 tmp10 [V36,T72] ( 8, 3.50) int -> [rbp-0x5C] spill-single-def "Inline return value spill temp"
-;* V37 tmp11 [V37,T101] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V38 tmp12 [V38 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V39 tmp13 [V39 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V40 tmp14 [V40,T80] ( 4, 2 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-;* V41 tmp15 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V42 tmp16 [V42,T81] ( 4, 2 ) ref -> [rbp-0xD8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V43 tmp17 [V43,T99] ( 2, 1 ) long -> rdi "Inline stloc first use temp"
-; V44 tmp18 [V44,T85] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
-; V45 tmp19 [V45,T86] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
-;* V46 tmp20 [V46 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V47 tmp21 [V47 ] ( 1, 1 ) ubyte -> [rbp-0x68] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-; V48 tmp22 [V48,T60] ( 3, 6 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[System.Type]>
-;* V49 tmp23 [V49 ] ( 0, 0 ) ref -> zero-ref
-;* V50 tmp24 [V50 ] ( 0, 0 ) ref -> zero-ref
-;* V51 tmp25 [V51 ] ( 0, 0 ) ref -> zero-ref single-def
-; V52 tmp26 [V52,T87] ( 2, 2 ) ref -> rsi single-def
-; V53 tmp27 [V53,T98] ( 2, 1 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
-; V54 tmp28 [V54,T76] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.String>
-; V55 tmp29 [V55,T88] ( 2, 2 ) ref -> r14 class-hnd single-def "Inline return value spill temp" <System.Xml.XmlElement>
-; V56 tmp30 [V56 ] ( 3, 3 ) ref -> [rbp-0x70] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V57 tmp31 [V57 ] ( 3, 3 ) ref -> [rbp-0x78] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V58 tmp32 [V58,T56] ( 4, 8 ) ref -> r12 class-hnd single-def "Inlining Arg" <System.Xml.XmlDocument>
-;* V59 tmp33 [V59 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
-;* V60 tmp34 [V60 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlDocument>
-; V61 tmp35 [V61,T30] ( 2, 32 ) ref -> rax class-hnd "dup spill" <System.Xml.XmlDocument>
-; V62 tmp36 [V62,T01] ( 11, 88 ) ref -> [rbp-0xE8]
-; V63 tmp37 [V63,T10] ( 4, 64 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
-;* V64 tmp38 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlDocument>
-; V65 tmp39 [V65,T13] ( 3, 48 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
-; V66 tmp40 [V66,T03] ( 5, 80 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
-;* V67 tmp41 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlAttribute>
-; V68 tmp42 [V68,T22] ( 4, 32 ) ref -> [rbp-0x108] ld-addr-op class-hnd "Inline stloc first use temp" <System.String>
-; V69 tmp43 [V69,T00] ( 13,104 ) ref -> [rbp-0x110] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-; V70 tmp44 [V70,T09] ( 8, 64 ) ref -> [rbp-0x118] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;* V71 tmp45 [V71 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V72 tmp46 [V72 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V34 tmp8 [V34,T87] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V35 tmp9 [V35,T97] ( 2, 2 ) int -> rdx "Inlining Arg"
+; V36 tmp10 [V36,T73] ( 8, 3.50) int -> [rbp-0x5C] spill-single-def "Inline return value spill temp"
+; V37 tmp11 [V37,T80] ( 4, 2 ) ref -> rcx class-hnd "Inline return value spill temp" <System.String>
+;* V38 tmp12 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V39 tmp13 [V39,T81] ( 4, 2 ) ref -> [rbp-0xE0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V40 tmp14 [V40,T102] ( 2, 1 ) long -> rdx "Inline stloc first use temp"
+; V41 tmp15 [V41,T88] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V42 tmp16 [V42,T89] ( 2, 2 ) byref -> rsi single-def "Inlining Arg"
+;* V43 tmp17 [V43 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V44 tmp18 [V44 ] ( 1, 1 ) ubyte -> [rbp-0x68] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+; V45 tmp19 [V45,T60] ( 3, 6 ) ref -> [rbp-0xE8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[System.Type]>
+;* V46 tmp20 [V46 ] ( 0, 0 ) ref -> zero-ref
+;* V47 tmp21 [V47 ] ( 0, 0 ) ref -> zero-ref
+;* V48 tmp22 [V48 ] ( 0, 0 ) ref -> zero-ref single-def
+; V49 tmp23 [V49,T90] ( 2, 2 ) ref -> rsi single-def
+; V50 tmp24 [V50,T101] ( 2, 1 ) ref -> r12 class-hnd "Inline return value spill temp" <System.String>
+; V51 tmp25 [V51,T76] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.String>
+;* V52 tmp26 [V52 ] ( 0, 0 ) ref -> zero-ref single-def
+; V53 tmp27 [V53,T82] ( 4, 2 ) ref -> rsi
+;* V54 tmp28 [V54 ] ( 0, 0 ) ref -> zero-ref single-def
+; V55 tmp29 [V55,T83] ( 4, 2 ) ref -> rsi
+; V56 tmp30 [V56,T91] ( 2, 2 ) ref -> r14 class-hnd single-def "Inline return value spill temp" <System.Xml.XmlElement>
+; V57 tmp31 [V57 ] ( 3, 3 ) ref -> [rbp-0x70] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V58 tmp32 [V58 ] ( 3, 3 ) ref -> [rbp-0x78] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V59 tmp33 [V59,T56] ( 4, 8 ) ref -> r12 class-hnd single-def "Inlining Arg" <System.Xml.XmlDocument>
+;* V60 tmp34 [V60 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
+; V61 tmp35 [V61,T07] ( 9, 72 ) ref -> [rbp-0xF0] class-hnd spill-single-def "Inline return value spill temp" <System.Xml.XmlDocument>
+; V62 tmp36 [V62,T31] ( 2, 32 ) ref -> rax class-hnd "dup spill" <System.Xml.XmlDocument>
+; V63 tmp37 [V63,T22] ( 4, 32 ) ref -> rax
+; V64 tmp38 [V64,T10] ( 4, 64 ) ref -> [rbp-0xF8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlDocument>
+;* V65 tmp39 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Xml.XmlDocument>
+; V66 tmp40 [V66,T13] ( 3, 48 ) ref -> [rbp-0x100] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlImplementation>
+; V67 tmp41 [V67,T02] ( 5, 80 ) ref -> [rbp-0x108] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.NameTable>
+;* V68 tmp42 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlAttribute>
+; V69 tmp43 [V69,T23] ( 4, 32 ) ref -> [rbp-0x110] ld-addr-op class-hnd "Inline stloc first use temp" <System.String>
+; V70 tmp44 [V70,T00] ( 13,104 ) ref -> [rbp-0x118] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+; V71 tmp45 [V71,T09] ( 8, 64 ) ref -> [rbp-0x120] ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
+;* V72 tmp46 [V72 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V73 tmp47 [V73 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V74 tmp48 [V74,T07] ( 10, 72 ) int -> [rbp-0x7C] spill-single-def "Inline return value spill temp"
-; V75 tmp49 [V75,T31] ( 2, 32 ) byref -> rdi "Inlining Arg"
-;* V76 tmp50 [V76,T49] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V77 tmp51 [V77 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V78 tmp52 [V78 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V79 tmp53 [V79,T42] ( 3, 24 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
-;* V80 tmp54 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V81 tmp55 [V81,T23] ( 4, 32 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V82 tmp56 [V82,T47] ( 2, 16 ) long -> rdi "Inline stloc first use temp"
-; V83 tmp57 [V83,T32] ( 2, 32 ) byref -> rsi "Inlining Arg"
-; V84 tmp58 [V84,T33] ( 2, 32 ) byref -> r8 "Inlining Arg"
-;* V85 tmp59 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V86 tmp60 [V86,T24] ( 4, 32 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
-; V87 tmp61 [V87,T02] ( 6, 80 ) int -> [rbp-0x80] spill-single-def "Inlining Arg"
-; V88 tmp62 [V88,T20] ( 5, 32 ) int -> [rbp-0x84] spill-single-def "Inline stloc first use temp"
-;* V89 tmp63 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V90 tmp64 [V90,T25] ( 4, 32 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
-; V91 tmp65 [V91,T48] ( 2, 16 ) long -> rdx "Inline stloc first use temp"
-; V92 tmp66 [V92,T34] ( 2, 32 ) byref -> rdi "Inlining Arg"
-; V93 tmp67 [V93,T35] ( 2, 32 ) byref -> rsi "Inlining Arg"
-;* V94 tmp68 [V94 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V95 tmp69 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-;* V96 tmp70 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V97 tmp71 [V97,T04] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V98 tmp72 [V98,T27] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
-; V99 tmp73 [V99,T36] ( 2, 32 ) byref -> rdi "impAppendStmt"
-; V100 tmp74 [V100,T05] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V101 tmp75 [V101,T28] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
-; V102 tmp76 [V102,T37] ( 2, 32 ) byref -> rdi "impAppendStmt"
-; V103 tmp77 [V103,T06] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
-; V104 tmp78 [V104,T29] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
-; V105 tmp79 [V105,T38] ( 2, 32 ) byref -> rdi "impAppendStmt"
-;* V106 tmp80 [V106,T58] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V107 tmp81 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
-; V108 tmp82 [V108,T45] ( 4, 18 ) int -> rdi "Inlining Arg"
-; V109 tmp83 [V109,T50] ( 4, 12.50) ref -> [rbp-0x130] spill-single-def "field V19._list (fldOffset=0x0)" P-INDEP
-; V110 tmp84 [V110,T41] ( 6, 20.50) int -> [rbp-0x88] "field V19._index (fldOffset=0x8)" P-INDEP
-; V111 tmp85 [V111,T65] ( 2, 4.50) int -> [rbp-0x8C] spill-single-def "field V19._version (fldOffset=0xc)" P-INDEP
-; V112 tmp86 [V112,T54] ( 2, 6 ) int -> r10 "field V19._current (fldOffset=0x10)" P-INDEP
-; V113 tmp87 [V113,T95] ( 3, 1.50) ref -> r8 single-def "field V59._list (fldOffset=0x0)" P-INDEP
-;* V114 tmp88 [V114,T102] ( 0, 0 ) int -> zero-ref "field V59._index (fldOffset=0x8)" P-INDEP
-; V115 tmp89 [V115,T100] ( 2, 1 ) int -> r9 "field V59._version (fldOffset=0xc)" P-INDEP
-;* V116 tmp90 [V116 ] ( 0, 0 ) int -> zero-ref "field V59._current (fldOffset=0x10)" P-INDEP
-; V117 tmp91 [V117,T57] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V118 tmp92 [V118,T89] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V119 tmp93 [V119,T90] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V120 tmp94 [V120,T68] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V121 tmp95 [V121,T69] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V122 tmp96 [V122,T70] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V123 tmp97 [V123,T71] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
-; V124 tmp98 [V124,T43] ( 3, 24 ) ref -> rdi "arr expr"
-; V125 tmp99 [V125,T103] ( 2, 0 ) ref -> rdi "argument with side effect"
-; V126 tmp100 [V126,T104] ( 2, 0 ) ref -> rdi "argument with side effect"
-; V127 tmp101 [V127,T39] ( 2, 32 ) ref -> rsi "argument with side effect"
-; V128 tmp102 [V128,T40] ( 2, 32 ) ref -> rdi "argument with side effect"
-; V129 tmp103 [V129,T77] ( 3, 3 ) ref -> rcx single-def "arr expr"
-; V130 tmp104 [V130,T91] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V131 tmp105 [V131,T92] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V132 tmp106 [V132,T93] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V133 cse0 [V133,T73] ( 4, 3.50) long -> [rbp-0x98] spill-single-def "CSE #09: conservative"
-; V134 cse1 [V134,T96] ( 3, 1.50) long -> [rbp-0xA0] spill-single-def "CSE #03: conservative"
-; V135 cse2 [V135,T97] ( 3, 1.50) long -> [rbp-0xA8] spill-single-def "CSE #04: conservative"
-; V136 cse3 [V136,T26] ( 4, 32 ) byref -> [rbp-0x138] spill-single-def "CSE #12: conservative"
-; V137 cse4 [V137,T46] ( 3, 12 ) int -> r10 "CSE #19: conservative"
-; V138 cse5 [V138,T59] ( 2, 8 ) int -> rdi "CSE #18: conservative"
-; V139 cse6 [V139,T15] ( 7, 41 ) ref -> [rbp-0x140] multi-def "CSE #11: moderate"
-; V140 cse7 [V140,T19] ( 6, 33 ) ref -> [rbp-0x148] multi-def "CSE #10: moderate"
+;* V74 tmp48 [V74 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+; V75 tmp49 [V75,T06] ( 10, 72 ) int -> [rbp-0x7C] spill-single-def "Inline return value spill temp"
+; V76 tmp50 [V76,T32] ( 2, 32 ) byref -> rdi "Inlining Arg"
+; V77 tmp51 [V77,T43] ( 3, 24 ) ref -> rdx class-hnd "Inline return value spill temp" <System.String>
+;* V78 tmp52 [V78 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V79 tmp53 [V79,T24] ( 4, 32 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V80 tmp54 [V80,T48] ( 2, 16 ) long -> rdi "Inline stloc first use temp"
+; V81 tmp55 [V81,T33] ( 2, 32 ) byref -> rsi "Inlining Arg"
+; V82 tmp56 [V82,T34] ( 2, 32 ) byref -> r8 "Inlining Arg"
+;* V83 tmp57 [V83 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V84 tmp58 [V84,T25] ( 4, 32 ) ref -> rax class-hnd "Inline return value spill temp" <System.String>
+; V85 tmp59 [V85,T01] ( 6, 80 ) int -> [rbp-0x80] spill-single-def "Inlining Arg"
+; V86 tmp60 [V86,T20] ( 5, 32 ) int -> [rbp-0x84] spill-single-def "Inline stloc first use temp"
+;* V87 tmp61 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
+; V88 tmp62 [V88,T26] ( 4, 32 ) ref -> [rbp-0x130] class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+; V89 tmp63 [V89,T49] ( 2, 16 ) long -> rdx "Inline stloc first use temp"
+; V90 tmp64 [V90,T35] ( 2, 32 ) byref -> rdi "Inlining Arg"
+; V91 tmp65 [V91,T36] ( 2, 32 ) byref -> rsi "Inlining Arg"
+;* V92 tmp66 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V93 tmp67 [V93 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+;* V94 tmp68 [V94 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
+; V95 tmp69 [V95,T03] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+; V96 tmp70 [V96,T28] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
+; V97 tmp71 [V97,T37] ( 2, 32 ) byref -> rdi "impAppendStmt"
+; V98 tmp72 [V98,T04] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+; V99 tmp73 [V99,T29] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
+; V100 tmp74 [V100,T38] ( 2, 32 ) byref -> rdi "impAppendStmt"
+; V101 tmp75 [V101,T05] ( 5, 80 ) ref -> rsi class-hnd exact "Inlining Arg" <System.String>
+; V102 tmp76 [V102,T30] ( 2, 16 ) ubyte -> rax "Inline return value spill temp"
+; V103 tmp77 [V103,T39] ( 2, 32 ) byref -> rdi "impAppendStmt"
+;* V104 tmp78 [V104,T58] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V105 tmp79 [V105 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
+; V106 tmp80 [V106,T46] ( 4, 18 ) int -> rdi "Inlining Arg"
+; V107 tmp81 [V107,T50] ( 4, 12.50) ref -> [rbp-0x138] spill-single-def "field V19._list (fldOffset=0x0)" P-INDEP
+; V108 tmp82 [V108,T42] ( 6, 20.50) int -> [rbp-0x88] "field V19._index (fldOffset=0x8)" P-INDEP
+; V109 tmp83 [V109,T64] ( 2, 4.50) int -> [rbp-0x8C] spill-single-def "field V19._version (fldOffset=0xc)" P-INDEP
+; V110 tmp84 [V110,T54] ( 2, 6 ) int -> r10 "field V19._current (fldOffset=0x10)" P-INDEP
+; V111 tmp85 [V111,T98] ( 3, 1.50) ref -> r8 single-def "field V60._list (fldOffset=0x0)" P-INDEP
+;* V112 tmp86 [V112,T104] ( 0, 0 ) int -> zero-ref "field V60._index (fldOffset=0x8)" P-INDEP
+; V113 tmp87 [V113,T103] ( 2, 1 ) int -> r9 "field V60._version (fldOffset=0xc)" P-INDEP
+;* V114 tmp88 [V114 ] ( 0, 0 ) int -> zero-ref "field V60._current (fldOffset=0x10)" P-INDEP
+; V115 tmp89 [V115,T57] ( 2, 8 ) ref -> rsi "argument with side effect"
+; V116 tmp90 [V116,T92] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V117 tmp91 [V117,T93] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V118 tmp92 [V118,T69] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V119 tmp93 [V119,T70] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V120 tmp94 [V120,T71] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V121 tmp95 [V121,T72] ( 2, 4 ) ref -> rdi single-def "argument with side effect"
+; V122 tmp96 [V122,T44] ( 3, 24 ) ref -> rdi "arr expr"
+; V123 tmp97 [V123,T105] ( 2, 0 ) ref -> rdi "argument with side effect"
+; V124 tmp98 [V124,T106] ( 2, 0 ) ref -> rdi "argument with side effect"
+; V125 tmp99 [V125,T40] ( 2, 32 ) ref -> rsi "argument with side effect"
+; V126 tmp100 [V126,T41] ( 2, 32 ) ref -> rdi "argument with side effect"
+; V127 tmp101 [V127,T77] ( 3, 3 ) ref -> rcx single-def "arr expr"
+; V128 tmp102 [V128,T94] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V129 tmp103 [V129,T95] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V130 tmp104 [V130,T96] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V131 cse0 [V131,T74] ( 4, 3.50) long -> [rbp-0x98] spill-single-def "CSE #10: conservative"
+; V132 cse1 [V132,T99] ( 3, 1.50) long -> [rbp-0xA0] spill-single-def "CSE #03: conservative"
+; V133 cse2 [V133,T100] ( 3, 1.50) long -> [rbp-0xA8] spill-single-def "CSE #04: conservative"
+; V134 cse3 [V134,T27] ( 4, 32 ) byref -> [rbp-0x140] spill-single-def "CSE #12: conservative"
+; V135 cse4 [V135,T47] ( 3, 12 ) int -> r10 "CSE #19: conservative"
+; V136 cse5 [V136,T59] ( 2, 8 ) int -> rdi "CSE #18: conservative"
+; V137 cse6 [V137,T15] ( 7, 41 ) ref -> [rbp-0x148] multi-def "CSE #11: moderate"
+; V138 cse7 [V138,T19] ( 10, 35 ) ref -> [rbp-0x150] multi-def "CSE #07: moderate"
+; V139 cse8 [V139,T85] ( 4, 2 ) int -> [rbp-0xAC] spill-single-def "CSE #05: conservative"
;
; Lcl frame size = 296
G_M40239_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 296
lea rbp, [rsp+0x150]
xor eax, eax
mov qword ptr [rbp-0x78], rax
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x70], ymm8
vmovdqu ymmword ptr [rbp-0x50], ymm8
mov qword ptr [rbp-0x30], rax
mov r15, rdi
mov rbx, rsi
mov r14, rdx
mov r13, rcx
;; size=62 bbWeight=1 PerfScore 14.33
G_M40239_IG02:
xor r12d, r12d
jmp SHORT G_M40239_IG04
;; size=5 bbWeight=1 PerfScore 2.25
G_M40239_IG03:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:GetBuiltInDataContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract
call [rax]System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:GetBuiltInDataContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract
test rax, rax
jne G_M40239_IG08
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfCollectionDataContractAttribute():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfCollectionDataContractAttribute():System.Type
mov rsi, rax
mov rdi, rbx
xor edx, edx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x48]
call [rax+0x18]System.Reflection.MemberInfo:IsDefined(System.Type,ubyte):ubyte:this
test eax, eax
jne SHORT G_M40239_IG08
mov rbx, gword ptr [rbp-0x30]
inc r12d
;; size=65 bbWeight=2 PerfScore 36.50
G_M40239_IG04:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x58]
call [rax+0x10]System.Type:IsArrayImpl():ubyte:this
test eax, eax
je SHORT G_M40239_IG06
;; size=17 bbWeight=8 PerfScore 68.00
G_M40239_IG05:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:GetBuiltInDataContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract
call [rax]System.Runtime.Serialization.DataContracts.DataContract+DataContractCriticalHelper:GetBuiltInDataContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract
test rax, rax
jne SHORT G_M40239_IG06
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x68]
call [rax+0x08]System.Type:GetElementType():System.Type:this
mov gword ptr [rbp-0x30], rax
mov eax, 1
jmp SHORT G_M40239_IG07
;; size=44 bbWeight=2 PerfScore 30.50
G_M40239_IG06:
lea rdx, [rbp-0x58]
lea rcx, [rbp-0x30]
mov rdi, rbx
xor esi, esi
mov r8d, 1
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte
;; size=34 bbWeight=2 PerfScore 10.50
G_M40239_IG07:
xor rdi, rdi
mov gword ptr [rbp-0x58], rdi
test eax, eax
jne G_M40239_IG03
;; size=14 bbWeight=8 PerfScore 20.00
G_M40239_IG08:
xor rax, rax
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xB8], rax
xor rcx, rcx
- mov gword ptr [rbp-0xB8], rcx
+ mov gword ptr [rbp-0xC0], rcx
mov rdi, rbx
mov rdx, qword ptr [rbx]
mov rdx, qword ptr [rdx+0x60]
call [rdx+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
je G_M40239_IG19
;; size=39 bbWeight=1 PerfScore 11.00
G_M40239_IG09:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x68]
call [rax+0x28]System.Type:GetGenericArguments():System.Type[]:this
- mov gword ptr [rbp-0xB0], rax
+ mov gword ptr [rbp-0xB8], rax
mov rdi, rbx
mov rcx, qword ptr [rbx]
mov rcx, qword ptr [rcx+0x40]
mov qword ptr [rbp-0xA0], rcx
call [rcx+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
test rax, rax
jne SHORT G_M40239_IG10
mov rdi, rbx
mov rcx, qword ptr [rbp-0xA0]
call [rcx+0x30]System.Reflection.MemberInfo:get_Name():System.String:this
jmp SHORT G_M40239_IG13
;; size=60 bbWeight=0.50 PerfScore 12.00
G_M40239_IG10:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x50]
mov qword ptr [rbp-0xA8], rax
call [rax+0x10]System.Type:get_Namespace():System.String:this
test rax, rax
je SHORT G_M40239_IG11
mov rdi, rbx
mov rax, qword ptr [rbp-0xA8]
call [rax+0x10]System.Type:get_Namespace():System.String:this
mov edi, dword ptr [rax+0x08]
jmp SHORT G_M40239_IG12
;; size=43 bbWeight=0.50 PerfScore 8.88
G_M40239_IG11:
xor edi, edi
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M40239_IG12:
mov eax, edi
inc edi
test eax, eax
cmovg eax, edi
mov dword ptr [rbp-0x34], eax
mov rdi, rbx
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:GetClrTypeFullName(System.Type):System.String
call [rcx]System.Runtime.Serialization.DataContracts.DataContract:GetClrTypeFullName(System.Type):System.String
mov rdi, rax
mov esi, dword ptr [rbp-0x34]
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Substring(int):System.String:this
mov rdi, rax
mov esi, 43
mov edx, 46
mov rax, 0xD1FFAB1E ; code for System.String:Replace(ushort,ushort):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.String:Replace(ushort,ushort):System.String:this
;; size=74 bbWeight=0.50 PerfScore 10.00
G_M40239_IG13:
lea rdi, bword ptr [rax+0x0C]
- mov gword ptr [rbp-0xC0], rax
- mov edx, dword ptr [rax+0x08]
+ mov gword ptr [rbp-0xC8], rax
+ mov ecx, dword ptr [rax+0x08]
+ mov dword ptr [rbp-0xAC], ecx
+ mov edx, ecx
mov esi, 91
- mov rcx, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- call [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
+ 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-0x5C], eax
test eax, eax
jl SHORT G_M40239_IG14
- mov rcx, gword ptr [rbp-0xC0]
- cmp dword ptr [rcx+0x08], eax
- jb G_M40239_IG61
+ mov edi, dword ptr [rbp-0xAC]
+ cmp edi, eax
+ jb G_M40239_IG63
test eax, eax
jne SHORT G_M40239_IG15
- mov rdx, 0xD1FFAB1E ; ''
+ mov rcx, 0xD1FFAB1E ; ''
jmp SHORT G_M40239_IG17
- ;; size=70 bbWeight=0.50 PerfScore 8.88
+ ;; size=77 bbWeight=0.50 PerfScore 8.12
G_M40239_IG14:
- mov rax, gword ptr [rbp-0xC0]
+ mov rax, gword ptr [rbp-0xC8]
jmp SHORT G_M40239_IG18
;; size=9 bbWeight=0.25 PerfScore 0.75
G_M40239_IG15:
- cmp dword ptr [rcx+0x08], eax
+ cmp edi, eax
jne SHORT G_M40239_IG16
- mov rdx, rcx
+ mov rcx, gword ptr [rbp-0xC8]
jmp SHORT G_M40239_IG17
- ;; size=10 bbWeight=0.50 PerfScore 3.12
+ ;; size=13 bbWeight=0.50 PerfScore 2.12
G_M40239_IG16:
- mov gword ptr [rbp-0xC0], rcx
mov edi, eax
call System.String:FastAllocateString(int):System.String
- mov rdx, rax
- mov gword ptr [rbp-0xD8], rdx
- mov edi, dword ptr [rbp-0x5C]
- cmp byte ptr [rdx], dl
- lea rsi, bword ptr [rdx+0x0C]
- mov rax, gword ptr [rbp-0xC0]
- add rax, 12
- lea rdx, [rdi+rdi]
- mov rdi, rsi
- mov rsi, rax
+ mov rcx, rax
+ mov gword ptr [rbp-0xE0], rcx
+ mov edx, dword ptr [rbp-0x5C]
+ cmp byte ptr [rcx], cl
+ lea rdi, bword ptr [rcx+0x0C]
+ mov rax, gword ptr [rbp-0xC8]
+ lea rsi, bword ptr [rax+0x0C]
+ add rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov rdx, gword ptr [rbp-0xD8]
- ;; size=73 bbWeight=0.50 PerfScore 7.25
+ mov rcx, gword ptr [rbp-0xE0]
+ ;; size=59 bbWeight=0.50 PerfScore 6.50
G_M40239_IG17:
- mov rax, rdx
+ mov rax, rcx
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M40239_IG18:
mov rdi, rax
xor rsi, rsi
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:GetDataContractNameForGenericName(System.String,System.Text.StringBuilder):System.Collections.Generic.List`1[int]
call [rax]System.Runtime.Serialization.DataContracts.DataContract:GetDataContractNameForGenericName(System.String,System.Text.StringBuilder):System.Collections.Generic.List`1[int]
- mov gword ptr [rbp-0xB8], rax
+ mov gword ptr [rbp-0xC0], rax
mov rdi, rbx
mov rcx, qword ptr [rbx]
mov rcx, qword ptr [rcx+0x68]
call [rcx+0x18]System.Type:GetGenericTypeDefinition():System.Type:this
mov rbx, rax
;; size=40 bbWeight=0.50 PerfScore 6.12
G_M40239_IG19:
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.HashSet`1[System.Type]
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xE0], rax
+ mov gword ptr [rbp-0xE8], rax
mov rdi, 0xD1FFAB1E
mov esi, 65
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
mov rdi, 0xD1FFAB1E ; data for System.Collections.Generic.EqualityComparer`1[System.Type]:<Default>k__BackingField
mov rsi, gword ptr [rdi]
- mov rax, gword ptr [rbp-0xE0]
+ mov rax, gword ptr [rbp-0xE8]
lea rdi, bword ptr [rax+0x18]
call CORINFO_HELP_ASSIGN_REF
lea rdx, [rbp-0x68]
mov rdi, rbx
- mov rsi, gword ptr [rbp-0xE0]
+ mov rsi, gword ptr [rbp-0xE8]
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:GetXmlName(System.Type,System.Collections.Generic.HashSet`1[System.Type],byref):System.Xml.XmlQualifiedName
call [rax]System.Runtime.Serialization.DataContracts.DataContract:GetXmlName(System.Type,System.Collections.Generic.HashSet`1[System.Type],byref):System.Xml.XmlQualifiedName
mov rbx, rax
test r12d, r12d
- jle G_M40239_IG23
+ jle G_M40239_IG25
;; size=109 bbWeight=1 PerfScore 15.00
G_M40239_IG20:
mov rax, gword ptr [rbx+0x10]
- xor ecx, ecx
- mov dword ptr [rbp-0x38], ecx
- ;; size=9 bbWeight=0.50 PerfScore 1.62
-G_M40239_IG21:
mov rsi, rax
+ xor eax, eax
+ mov dword ptr [rbp-0x38], eax
+ ;; size=12 bbWeight=0.50 PerfScore 1.75
+G_M40239_IG21:
mov rdi, 0xD1FFAB1E ; 'ArrayOf'
- mov rax, 0xD1FFAB1E ; code for System.String:Concat(System.String,System.String):System.String
- call [rax]System.String:Concat(System.String,System.String):System.String
- mov gword ptr [rbp-0xC8], rax
- mov ecx, dword ptr [rbp-0x38]
- inc ecx
- cmp ecx, r12d
- mov dword ptr [rbp-0x38], ecx
- jl G_M40239_IG26
- ;; size=49 bbWeight=4 PerfScore 33.00
+ 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 gword ptr [rbp-0xD0], rax
+ mov eax, dword ptr [rbp-0x38]
+ inc eax
+ cmp eax, r12d
+ mov dword ptr [rbp-0x38], eax
+ jl G_M40239_IG28
+ ;; size=46 bbWeight=4 PerfScore 32.00
G_M40239_IG22:
mov rbx, gword ptr [rbx+0x08]
mov rdi, rbx
- mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:IsBuiltInNamespace(System.String):ubyte
- call [rcx]System.Runtime.Serialization.DataContracts.DataContract:IsBuiltInNamespace(System.String):ubyte
+ mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:IsBuiltInNamespace(System.String):ubyte
+ call [rax]System.Runtime.Serialization.DataContracts.DataContract:IsBuiltInNamespace(System.String):ubyte
mov r12, 0xD1FFAB1E ; 'http://schemas.microsoft.com/2003/10/Serialization/Arrays'
test eax, eax
cmove r12, rbx
mov rdi, 0xD1FFAB1E ; System.Xml.XmlQualifiedName
call CORINFO_HELP_NEWSFAST
mov rbx, rax
- mov rdi, rbx
- mov rsi, gword ptr [rbp-0xC8]
- mov rdx, r12
- mov rax, 0xD1FFAB1E ; code for System.Xml.XmlQualifiedName:.ctor(System.String,System.String):this
- call [rax]System.Xml.XmlQualifiedName:.ctor(System.String,System.String):this
- ;; size=78 bbWeight=0.50 PerfScore 6.25
+ mov rsi, r12
+ test rsi, rsi
+ jne SHORT G_M40239_IG23
+ mov rcx, 0xD1FFAB1E ; ''
+ mov r12, rcx
+ mov rsi, r12
+ ;; size=77 bbWeight=0.50 PerfScore 5.00
G_M40239_IG23:
+ lea rdi, bword ptr [rbx+0x08]
+ call CORINFO_HELP_ASSIGN_REF
+ mov r12, gword ptr [rbp-0xD0]
+ mov rsi, r12
+ test rsi, rsi
+ jne SHORT G_M40239_IG24
+ mov r12, 0xD1FFAB1E ; ''
+ mov rsi, r12
+ ;; size=37 bbWeight=0.50 PerfScore 2.25
+G_M40239_IG24:
+ lea rdi, bword ptr [rbx+0x10]
+ call CORINFO_HELP_ASSIGN_REF
+ ;; size=9 bbWeight=0.50 PerfScore 0.75
+G_M40239_IG25:
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
call [rax]System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
mov r12, rax
cmp byte ptr [r12], r12b
lea rdx, [rbp-0x78]
lea rsi, [rbp-0x70]
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlNode:SplitName(System.String,byref,byref)
call [rax]System.Xml.XmlNode:SplitName(System.String,byref,byref)
mov rdi, r12
mov rsi, gword ptr [rbp-0x70]
mov rdx, gword ptr [rbp-0x78]
mov rcx, r13
mov rax, qword ptr [r12]
mov rax, qword ptr [rax+0x98]
call [rax+0x10]System.Xml.XmlDocument:CreateElement(System.String,System.String,System.String):System.Xml.XmlElement:this
mov r14, rax
xor rdi, rdi
mov gword ptr [rbp-0x70], rdi
;; size=82 bbWeight=1 PerfScore 22.25
-G_M40239_IG24:
+G_M40239_IG26:
mov gword ptr [rbp-0x78], rdi
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
call [rax]System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'Name'
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
mov r13, rax
- mov r12, gword ptr [rbp-0xB0]
+ mov r12, gword ptr [rbp-0xB8]
test r12, r12
- jne SHORT G_M40239_IG27
+ jne SHORT G_M40239_IG29
;; size=61 bbWeight=1 PerfScore 13.75
-G_M40239_IG25:
+G_M40239_IG27:
mov rsi, gword ptr [rbx+0x10]
- jmp SHORT G_M40239_IG28
+ jmp SHORT G_M40239_IG30
;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M40239_IG26:
- mov rax, gword ptr [rbp-0xC8]
+G_M40239_IG28:
+ mov rsi, gword ptr [rbp-0xD0]
jmp G_M40239_IG21
;; size=12 bbWeight=2 PerfScore 6.00
-G_M40239_IG27:
+G_M40239_IG29:
mov rdi, gword ptr [rbx+0x10]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlConvert:DecodeName(System.String):System.String
call [rax]System.Xml.XmlConvert:DecodeName(System.String):System.String
mov rsi, rax
;; size=19 bbWeight=0.50 PerfScore 2.75
-G_M40239_IG28:
+G_M40239_IG30:
mov rdi, r13
mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
mov rdi, r14
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x48]
mov qword ptr [rbp-0x98], rax
call [rax+0x28]System.Xml.XmlNode:get_Attributes():System.Xml.XmlAttributeCollection:this
mov rdi, rax
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
call [rax]System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'Namespace'
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
mov r13, rax
mov rsi, gword ptr [rbx+0x08]
mov rdi, r13
mov rax, qword ptr [r13]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
mov rdi, r14
mov rbx, qword ptr [rbp-0x98]
call [rbx+0x28]System.Xml.XmlNode:get_Attributes():System.Xml.XmlAttributeCollection:this
mov rdi, rax
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
test r12, r12
- je G_M40239_IG58
+ je G_M40239_IG60
;; size=159 bbWeight=1 PerfScore 54.25
-G_M40239_IG29:
+G_M40239_IG31:
xor r13d, r13d
xor esi, esi
mov dword ptr [rbp-0x40], esi
- mov rax, gword ptr [rbp-0xB8]
+ mov rax, gword ptr [rbp-0xC0]
mov r8, rax
mov r9d, dword ptr [r8+0x14]
- mov gword ptr [rbp-0x130], r8
+ mov gword ptr [rbp-0x138], r8
;; size=29 bbWeight=0.50 PerfScore 2.88
-G_M40239_IG30:
+G_M40239_IG32:
mov dword ptr [rbp-0x8C], r9d
- jmp G_M40239_IG52
+ jmp G_M40239_IG54
;; size=12 bbWeight=0.50 PerfScore 1.50
-G_M40239_IG31:
+G_M40239_IG33:
mov dword ptr [rbp-0x44], r10d
xor r11d, r11d
mov dword ptr [rbp-0x48], r11d
test r10d, r10d
- jle G_M40239_IG51
+ jle G_M40239_IG53
;; size=20 bbWeight=2 PerfScore 7.00
-G_M40239_IG32:
+G_M40239_IG34:
cmp r13d, dword ptr [r12+0x08]
- jae G_M40239_IG60
+ jae G_M40239_IG62
mov edi, r13d
mov rsi, gword ptr [r12+8*rdi+0x10]
mov rdi, r15
mov rdx, 0xD1FFAB1E ; 'GenericParameter'
mov rcx, 0xD1FFAB1E ; 'http://schemas.microsoft.com/2003/10/Serialization/'
mov rbx, 0xD1FFAB1E ; code for System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this
call [rbx]System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this
mov rbx, rax
cmp dword ptr [rbp-0x40], 0
- jle G_M40239_IG50
+ jle G_M40239_IG52
;; size=67 bbWeight=16 PerfScore 216.00
-G_M40239_IG33:
+G_M40239_IG35:
mov rax, gword ptr [r15+0x10]
test rax, rax
- jne G_M40239_IG34
+ jne G_M40239_IG36
mov rdi, 0xD1FFAB1E ; System.Xml.XmlDocument
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xF0], rax
+ mov gword ptr [rbp-0xF8], rax
mov rdi, 0xD1FFAB1E ; System.Xml.XmlImplementation
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0xF8], rax
+ mov gword ptr [rbp-0x100], rax
mov rdi, 0xD1FFAB1E ; System.Xml.NameTable
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x100], rax
+ mov gword ptr [rbp-0x108], 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-0x100]
+ mov rcx, gword ptr [rbp-0x108]
lea rdi, bword ptr [rcx+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xF8]
+ mov rax, gword ptr [rbp-0x100]
lea rdi, bword ptr [rax+0x08]
- mov rsi, gword ptr [rbp-0x100]
+ mov rsi, gword ptr [rbp-0x108]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0xF0]
- mov rsi, gword ptr [rbp-0xF8]
+ mov rdi, gword ptr [rbp-0xF8]
+ mov rsi, gword ptr [rbp-0x100]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
call [rax]System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this
lea rdi, bword ptr [r15+0x10]
- mov rsi, gword ptr [rbp-0xF0]
+ mov rsi, gword ptr [rbp-0xF8]
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0xF0]
+ mov rax, gword ptr [rbp-0xF8]
;; size=200 bbWeight=8 PerfScore 238.00
-G_M40239_IG34:
- mov gword ptr [rbp-0xE8], rax
+G_M40239_IG36:
+ mov gword ptr [rbp-0xF0], rax
cmp byte ptr [rax], al
- mov rdx, 0xD1FFAB1E ; ''
- mov rcx, rdx
- mov gword ptr [rbp-0x148], rcx
- mov gword ptr [rbp-0x108], rcx
+ mov rdi, 0xD1FFAB1E ; ''
+ mov rcx, rdi
+ mov gword ptr [rbp-0x150], rcx
+ mov gword ptr [rbp-0x110], rcx
mov r9, 0xD1FFAB1E ; 'NestedLevel'
- mov gword ptr [rbp-0x140], r9
+ mov gword ptr [rbp-0x148], r9
lea r10, bword ptr [r9+0x0C]
- mov bword ptr [rbp-0x138], r10
+ mov bword ptr [rbp-0x140], r10
mov rdi, r10
mov esi, 58
mov edx, 11
mov r11, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [r11]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov dword ptr [rbp-0x7C], eax
cmp eax, -1
- je SHORT G_M40239_IG35
+ je SHORT G_M40239_IG37
test eax, eax
- je SHORT G_M40239_IG35
+ je SHORT G_M40239_IG37
cmp eax, 10
- jne SHORT G_M40239_IG36
+ jne SHORT G_M40239_IG38
;; size=107 bbWeight=8 PerfScore 144.00
-G_M40239_IG35:
- mov rcx, gword ptr [rbp-0x148]
+G_M40239_IG37:
+ mov rcx, gword ptr [rbp-0x150]
mov rdx, rcx
- mov rsi, gword ptr [rbp-0x140]
+ mov rsi, gword ptr [rbp-0x148]
mov r8, rsi
- jmp G_M40239_IG42
+ jmp G_M40239_IG44
;; size=25 bbWeight=8 PerfScore 36.00
-G_M40239_IG36:
+G_M40239_IG38:
cmp eax, 11
- ja G_M40239_IG63
+ ja G_M40239_IG65
cmp eax, 11
- jne SHORT G_M40239_IG37
- mov rsi, gword ptr [rbp-0x140]
+ jne SHORT G_M40239_IG39
+ mov rsi, gword ptr [rbp-0x148]
mov rdx, rsi
- jmp SHORT G_M40239_IG38
+ jmp SHORT G_M40239_IG40
;; size=26 bbWeight=8 PerfScore 46.00
-G_M40239_IG37:
+G_M40239_IG39:
mov edi, eax
call System.String:FastAllocateString(int):System.String
mov rdx, rax
- mov gword ptr [rbp-0x120], rdx
+ mov gword ptr [rbp-0x128], rdx
mov edi, dword ptr [rbp-0x7C]
cmp byte ptr [rdx], dl
lea rsi, bword ptr [rdx+0x0C]
- mov rcx, bword ptr [rbp-0x138]
+ mov rcx, bword ptr [rbp-0x140]
mov r8, rcx
lea rdx, [rdi+rdi]
mov rdi, rsi
mov rsi, r8
mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [r8]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov rdx, gword ptr [rbp-0x120]
+ mov rdx, gword ptr [rbp-0x128]
mov eax, dword ptr [rbp-0x7C]
;; size=69 bbWeight=8 PerfScore 116.00
-G_M40239_IG38:
- mov gword ptr [rbp-0x110], rdx
+G_M40239_IG40:
+ mov gword ptr [rbp-0x118], rdx
lea r8d, [rax+0x01]
mov dword ptr [rbp-0x80], r8d
test r8d, r8d
- jne SHORT G_M40239_IG39
- mov rsi, gword ptr [rbp-0x140]
+ jne SHORT G_M40239_IG41
+ mov rsi, gword ptr [rbp-0x148]
mov rax, rsi
- jmp SHORT G_M40239_IG41
+ jmp SHORT G_M40239_IG43
;; size=32 bbWeight=8 PerfScore 56.00
-G_M40239_IG39:
+G_M40239_IG41:
mov r9d, r8d
neg r9d
add r9d, 11
mov dword ptr [rbp-0x84], r9d
test r9d, r9d
- jne SHORT G_M40239_IG40
- mov rcx, gword ptr [rbp-0x148]
+ jne SHORT G_M40239_IG42
+ mov rcx, gword ptr [rbp-0x150]
mov rax, rcx
- jmp SHORT G_M40239_IG41
+ jmp SHORT G_M40239_IG43
;; size=34 bbWeight=8 PerfScore 50.00
-G_M40239_IG40:
+G_M40239_IG42:
cmp r8d, 11
- ja G_M40239_IG64
+ ja G_M40239_IG66
mov edi, r9d
call System.String:FastAllocateString(int):System.String
- mov gword ptr [rbp-0x128], rax
+ mov gword ptr [rbp-0x130], rax
mov edx, dword ptr [rbp-0x84]
cmp byte ptr [rax], al
lea rdi, bword ptr [rax+0x0C]
mov esi, dword ptr [rbp-0x80]
- mov rcx, bword ptr [rbp-0x138]
+ mov rcx, bword ptr [rbp-0x140]
lea rsi, bword ptr [rcx+2*rsi]
add rdx, rdx
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
- mov rax, gword ptr [rbp-0x128]
+ mov rax, gword ptr [rbp-0x130]
;; size=73 bbWeight=8 PerfScore 120.00
-G_M40239_IG41:
- mov gword ptr [rbp-0x118], rax
- mov rdx, gword ptr [rbp-0x110]
- mov r8, gword ptr [rbp-0x118]
+G_M40239_IG43:
+ mov gword ptr [rbp-0x120], rax
+ mov rdx, gword ptr [rbp-0x118]
+ mov r8, gword ptr [rbp-0x120]
;; size=21 bbWeight=8 PerfScore 24.00
-G_M40239_IG42:
- mov rax, gword ptr [rbp-0xE8]
+G_M40239_IG44:
+ mov rax, gword ptr [rbp-0xF0]
mov rsi, gword ptr [rax+0xB8]
cmp rdx, rsi
- je G_M40239_IG45
+ je G_M40239_IG47
test rdx, rdx
- je SHORT G_M40239_IG43
+ je SHORT G_M40239_IG45
test rsi, rsi
- je SHORT G_M40239_IG43
+ je SHORT G_M40239_IG45
mov edi, dword ptr [rdx+0x08]
cmp edi, dword ptr [rsi+0x08]
- jne SHORT G_M40239_IG43
- mov gword ptr [rbp-0x118], r8
+ jne SHORT G_M40239_IG45
+ mov gword ptr [rbp-0x120], r8
lea rdi, bword ptr [rdx+0x0C]
- mov gword ptr [rbp-0x110], rdx
+ mov gword ptr [rbp-0x118], rdx
mov ecx, dword ptr [rdx+0x08]
add ecx, ecx
mov edx, ecx
add rsi, 12
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- mov rdx, gword ptr [rbp-0x110]
- mov r8, gword ptr [rbp-0x118]
- jne SHORT G_M40239_IG45
+ mov rdx, gword ptr [rbp-0x118]
+ mov r8, gword ptr [rbp-0x120]
+ jne SHORT G_M40239_IG47
;; size=100 bbWeight=8 PerfScore 196.00
-G_M40239_IG43:
- mov gword ptr [rbp-0x110], rdx
+G_M40239_IG45:
+ mov gword ptr [rbp-0x118], rdx
cmp dword ptr [rdx+0x08], 0
- jne G_M40239_IG47
- mov rax, gword ptr [rbp-0xE8]
+ jne G_M40239_IG49
+ mov rax, gword ptr [rbp-0xF0]
mov rsi, gword ptr [rax+0xB8]
cmp r8, rsi
- je SHORT G_M40239_IG46
+ je SHORT G_M40239_IG48
test r8, r8
- je SHORT G_M40239_IG47
+ je SHORT G_M40239_IG49
test rsi, rsi
- je SHORT G_M40239_IG47
+ je SHORT G_M40239_IG49
mov edi, dword ptr [r8+0x08]
cmp edi, dword ptr [rsi+0x08]
- jne SHORT G_M40239_IG47
+ jne SHORT G_M40239_IG49
lea rdi, bword ptr [r8+0x0C]
- mov gword ptr [rbp-0x118], r8
+ mov gword ptr [rbp-0x120], r8
mov ecx, dword ptr [r8+0x08]
add ecx, ecx
mov edx, ecx
add rsi, 12
mov rcx, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- mov r8, gword ptr [rbp-0x118]
- je SHORT G_M40239_IG47
+ mov r8, gword ptr [rbp-0x120]
+ je SHORT G_M40239_IG49
;; size=101 bbWeight=8 PerfScore 220.00
-G_M40239_IG44:
- mov rdx, gword ptr [rbp-0x110]
+G_M40239_IG46:
+ mov rdx, gword ptr [rbp-0x118]
;; size=7 bbWeight=4 PerfScore 4.00
-G_M40239_IG45:
- mov rax, gword ptr [rbp-0xE8]
+G_M40239_IG47:
+ mov rax, gword ptr [rbp-0xF0]
mov rsi, gword ptr [rax+0xE8]
- mov gword ptr [rbp-0x108], rsi
- jmp G_M40239_IG49
+ mov gword ptr [rbp-0x110], rsi
+ jmp G_M40239_IG51
;; size=26 bbWeight=8 PerfScore 48.00
-G_M40239_IG46:
- mov rdx, gword ptr [rbp-0x110]
- jmp SHORT G_M40239_IG45
+G_M40239_IG48:
+ mov rdx, gword ptr [rbp-0x118]
+ jmp SHORT G_M40239_IG47
;; size=9 bbWeight=4 PerfScore 12.00
-G_M40239_IG47:
- mov rax, gword ptr [rbp-0xE8]
+G_M40239_IG49:
+ mov rax, gword ptr [rbp-0xF0]
mov rsi, gword ptr [rax+0xC0]
- mov rdx, gword ptr [rbp-0x110]
+ mov rdx, gword ptr [rbp-0x118]
cmp rdx, rsi
- je SHORT G_M40239_IG48
+ je SHORT G_M40239_IG50
test rsi, rsi
- je G_M40239_IG55
+ je G_M40239_IG57
mov edi, dword ptr [rdx+0x08]
cmp edi, dword ptr [rsi+0x08]
- jne G_M40239_IG54
- mov gword ptr [rbp-0x118], r8
+ jne G_M40239_IG56
+ mov gword ptr [rbp-0x120], r8
lea rdi, bword ptr [rdx+0x0C]
- mov gword ptr [rbp-0x110], rdx
+ add rsi, 12
+ mov gword ptr [rbp-0x118], rdx
mov r9d, dword ptr [rdx+0x08]
add r9d, r9d
mov edx, r9d
- add rsi, 12
mov r9, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
call [r9]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
test eax, eax
- mov rdx, gword ptr [rbp-0x110]
- mov r8, gword ptr [rbp-0x118]
- je G_M40239_IG53
+ mov rdx, gword ptr [rbp-0x118]
+ mov r8, gword ptr [rbp-0x120]
+ je G_M40239_IG55
;; size=114 bbWeight=8 PerfScore 194.00
-G_M40239_IG48:
- mov rax, gword ptr [rbp-0xE8]
+G_M40239_IG50:
+ mov rax, gword ptr [rbp-0xF0]
mov rcx, gword ptr [rax+0xF0]
- mov gword ptr [rbp-0x108], rcx
+ mov gword ptr [rbp-0x110], rcx
;; size=21 bbWeight=8 PerfScore 32.00
-G_M40239_IG49:
+G_M40239_IG51:
mov rdi, rax
mov rsi, rdx
mov rdx, r8
- mov rcx, gword ptr [rbp-0x108]
+ mov rcx, gword ptr [rbp-0x110]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x98]
call [rax]System.Xml.XmlDocument:CreateAttribute(System.String,System.String,System.String):System.Xml.XmlAttribute:this
- mov gword ptr [rbp-0xD0], rax
+ mov gword ptr [rbp-0xD8], rax
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
lea rdi, [rbp-0x40]
mov rcx, 0xD1FFAB1E ; code for System.Int32:ToString(System.IFormatProvider):System.String:this
call [rcx]System.Int32:ToString(System.IFormatProvider):System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD0]
+ mov rdi, gword ptr [rbp-0xD8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x48]
call [rax+0x28]System.Xml.XmlNode:get_Attributes():System.Xml.XmlAttributeCollection:this
mov rdi, rax
- mov rsi, gword ptr [rbp-0xD0]
+ mov rsi, gword ptr [rbp-0xD8]
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
;; size=121 bbWeight=8 PerfScore 310.00
-G_M40239_IG50:
+G_M40239_IG52:
mov rdi, r14
mov rsi, rbx
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x58]
call [rax+0x08]System.Xml.XmlNode:AppendChild(System.Xml.XmlNode):System.Xml.XmlNode:this
mov ebx, dword ptr [rbp-0x48]
inc ebx
inc r13d
mov edi, dword ptr [rbp-0x44]
cmp ebx, edi
mov dword ptr [rbp-0x48], ebx
- jl G_M40239_IG32
+ jl G_M40239_IG34
;; size=38 bbWeight=16 PerfScore 196.00
-G_M40239_IG51:
+G_M40239_IG53:
mov edi, dword ptr [rbp-0x40]
inc edi
mov dword ptr [rbp-0x40], edi
mov esi, dword ptr [rbp-0x88]
- mov r8, gword ptr [rbp-0x130]
+ mov r8, gword ptr [rbp-0x138]
mov r9d, dword ptr [rbp-0x8C]
;; size=28 bbWeight=2 PerfScore 10.50
-G_M40239_IG52:
+G_M40239_IG54:
mov edi, dword ptr [r8+0x14]
cmp r9d, edi
- jne G_M40239_IG65
+ jne G_M40239_IG67
mov r10d, dword ptr [r8+0x10]
cmp esi, r10d
- jae SHORT G_M40239_IG56
+ jae SHORT G_M40239_IG58
mov rdi, gword ptr [r8+0x08]
cmp esi, dword ptr [rdi+0x08]
- jae G_M40239_IG60
+ jae G_M40239_IG62
mov edx, esi
mov r10d, dword ptr [rdi+4*rdx+0x10]
inc esi
mov dword ptr [rbp-0x88], esi
- jmp G_M40239_IG31
+ jmp G_M40239_IG33
;; size=55 bbWeight=4 PerfScore 72.00
-G_M40239_IG53:
- mov rax, gword ptr [rbp-0xE8]
- jmp G_M40239_IG49
- ;; size=12 bbWeight=4 PerfScore 12.00
-G_M40239_IG54:
- mov rax, gword ptr [rbp-0xE8]
- jmp G_M40239_IG49
- ;; size=12 bbWeight=4 PerfScore 12.00
G_M40239_IG55:
- mov rax, gword ptr [rbp-0xE8]
- jmp G_M40239_IG49
+ mov rax, gword ptr [rbp-0xF0]
+ jmp G_M40239_IG51
;; size=12 bbWeight=4 PerfScore 12.00
G_M40239_IG56:
+ mov rax, gword ptr [rbp-0xF0]
+ jmp G_M40239_IG51
+ ;; size=12 bbWeight=4 PerfScore 12.00
+G_M40239_IG57:
+ mov rax, gword ptr [rbp-0xF0]
+ jmp G_M40239_IG51
+ ;; size=12 bbWeight=4 PerfScore 12.00
+G_M40239_IG58:
mov edi, dword ptr [rbp-0x40]
dec edi
cmp edi, r10d
- jae G_M40239_IG62
+ jae G_M40239_IG64
;; size=14 bbWeight=4 PerfScore 10.00
-G_M40239_IG57:
- mov rax, gword ptr [rbp-0xB8]
+G_M40239_IG59:
+ mov rax, gword ptr [rbp-0xC0]
mov rcx, gword ptr [rax+0x08]
cmp edi, dword ptr [rcx+0x08]
- jae G_M40239_IG60
+ jae G_M40239_IG62
mov edi, edi
cmp dword ptr [rcx+4*rdi+0x10], 0
- jne G_M40239_IG58
+ jne G_M40239_IG60
mov rdi, r15
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
call [rcx]System.Runtime.Serialization.SchemaExporter:get_XmlDoc():System.Xml.XmlDocument:this
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'NestedLevel'
mov r15, rsi
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlDocument:CreateAttribute(System.String):System.Xml.XmlAttribute:this
mov r15, rax
- mov r13, gword ptr [rbp-0xB8]
+ mov r13, gword ptr [rbp-0xC0]
mov esi, dword ptr [r13+0x10]
mov dword ptr [rbp-0x50], esi
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Int32:ToString(System.IFormatProvider):System.String:this
call [rax]System.Int32:ToString(System.IFormatProvider):System.String:this
mov rsi, rax
mov rdi, r15
mov rax, qword ptr [r15]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlNode:set_Value(System.String):this
mov rdi, r14
mov rbx, qword ptr [rbp-0x98]
call [rbx+0x28]System.Xml.XmlNode:get_Attributes():System.Xml.XmlAttributeCollection:this
mov rdi, rax
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
cmp dword ptr [rdi], edi
call [rax]System.Xml.XmlAttributeCollection:Append(System.Xml.XmlAttribute):System.Xml.XmlAttribute:this
;; size=176 bbWeight=0.50 PerfScore 25.38
-G_M40239_IG58:
+G_M40239_IG60:
mov rax, r14
;; size=3 bbWeight=1 PerfScore 0.25
-G_M40239_IG59:
+G_M40239_IG61:
add rsp, 296
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M40239_IG60:
+G_M40239_IG62:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-G_M40239_IG61:
- mov rdi, rcx
+G_M40239_IG63:
+ mov rdi, gword ptr [rbp-0xC8]
mov edx, eax
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
- ;; size=20 bbWeight=0 PerfScore 0.00
-G_M40239_IG62:
+ ;; size=24 bbWeight=0 PerfScore 0.00
+G_M40239_IG64:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M40239_IG63:
+G_M40239_IG65:
mov edi, 0x85E6
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov edx, dword ptr [rbp-0x7C]
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_M40239_IG64:
+G_M40239_IG66:
mov edi, 0x85E6
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov esi, dword ptr [rbp-0x80]
mov edx, dword ptr [rbp-0x84]
mov rax, 0xD1FFAB1E ; code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
call [rax]System.String:ThrowSubstringArgumentOutOfRange(int,int):this
int3
;; size=45 bbWeight=0 PerfScore 0.00
-G_M40239_IG65:
+G_M40239_IG67:
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
-; Total bytes of code 2968, prolog size 62, PerfScore 2834.96, instruction count 676, allocated bytes for code 2968 (MethodHash=c0ca62d0) for method System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
+; Total bytes of code 3013, prolog size 62, PerfScore 2833.33, instruction count 686, allocated bytes for code 3013 (MethodHash=c0ca62d0) for method System.Runtime.Serialization.SchemaExporter:ExportGenericInfo(System.Type,System.String,System.String):System.Xml.XmlElement:this (FullOpts)
34 (4.05 % of base) - System.Text.EncodingHelper:GetCharset():System.String
; Assembly listing for method System.Text.EncodingHelper:GetCharset():System.String (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 14 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 loc0 [V00,T01] ( 8, 11.50) ref -> r14 class-hnd <System.String>
+; V00 loc0 [V00,T01] ( 7, 11 ) ref -> r14 class-hnd <System.String>
; V01 loc1 [V01,T04] ( 2, 5 ) ref -> rbx class-hnd exact single-def <System.String[]>
-;* V02 loc2 [V02,T16] ( 0, 0 ) int -> zero-ref
+;* V02 loc2 [V02,T17] ( 0, 0 ) int -> zero-ref
; V03 loc3 [V03,T02] ( 3, 12 ) ref -> rdi class-hnd exact <System.String>
-; V04 loc4 [V04,T05] ( 6, 3 ) int -> r15
+; V04 loc4 [V04,T05] ( 6, 3 ) int -> r13
;* V05 loc5 [V05 ] ( 0, 0 ) int -> zero-ref
;* V06 loc6 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.String>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V08 tmp1 [V08,T06] ( 4, 2 ) ref -> rbx
; V09 tmp2 [V09,T09] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
; V10 tmp3 [V10,T12] ( 2, 2 ) int -> rdx "Inlining Arg"
-; V11 tmp4 [V11,T14] ( 3, 1.50) int -> rax "Inline return value spill temp"
-;* V12 tmp5 [V12,T17] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V13 tmp6 [V13 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V14 tmp7 [V14 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V15 tmp8 [V15,T03] ( 5, 5 ) int -> r13 "Inlining Arg"
-; V16 tmp9 [V16,T15] ( 3, 1.50) int -> rdx "Inline return value spill temp"
-; V17 tmp10 [V17,T13] ( 2, 2 ) int -> rdx "Inlining Arg"
-;* V18 tmp11 [V18 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V19 tmp12 [V19,T10] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
-; V20 tmp13 [V20,T07] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V21 tmp14 [V21,T18] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V22 tmp15 [V22 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V23 tmp16 [V23 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-; V24 tmp17 [V24,T11] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V25 cse0 [V25,T08] ( 4, 2 ) int -> rbx "CSE #01: moderate"
-; V26 rat0 [V26,T00] ( 5, 17 ) long -> r15 "Widened IV V02"
+; V11 tmp4 [V11,T15] ( 3, 1.50) int -> rax "Inline return value spill temp"
+; V12 tmp5 [V12,T03] ( 5, 5 ) int -> r12 "Inlining Arg"
+; V13 tmp6 [V13,T16] ( 3, 1.50) int -> rdx "Inline return value spill temp"
+; V14 tmp7 [V14,T13] ( 2, 2 ) int -> rdx "Inlining Arg"
+;* V15 tmp8 [V15 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V16 tmp9 [V16,T10] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V17 tmp10 [V17,T07] ( 4, 2 ) int -> rax "Inline return value spill temp"
+; V18 tmp11 [V18,T11] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V19 cse0 [V19,T08] ( 4, 2 ) int -> r15 "CSE #01: moderate"
+; V20 cse1 [V20,T14] ( 3, 1.50) byref -> rbx "CSE #02: moderate"
+; V21 rat0 [V21,T00] ( 5, 17 ) long -> r15 "Widened IV V02"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M45396_IG01:
push rbp
push r15
push r14
push r13
+ push r12
push rbx
- lea rbp, [rsp+0x20]
- ;; size=13 bbWeight=1 PerfScore 5.50
+ push rax
+ lea rbp, [rsp+0x30]
+ ;; size=16 bbWeight=1 PerfScore 7.50
G_M45396_IG02:
mov rdi, 0xD1FFAB1E ; const ptr
mov rbx, gword ptr [rdi]
xor r15d, r15d
;; size=16 bbWeight=1 PerfScore 2.50
G_M45396_IG03:
mov rdi, gword ptr [rbx+8*r15+0x10]
test rdi, rdi
- je G_M45396_IG12
+ je G_M45396_IG13
mov rax, 0xD1FFAB1E ; code for System.Environment:GetEnvironmentVariableCore(System.String):System.String
call [rax]System.Environment:GetEnvironmentVariableCore(System.String):System.String
mov r14, rax
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.String:IsNullOrWhiteSpace(System.String):ubyte
call [rax]System.String:IsNullOrWhiteSpace(System.String):ubyte
test eax, eax
je SHORT G_M45396_IG04
inc r15d
cmp r15d, 3
jl SHORT G_M45396_IG03
;; size=57 bbWeight=4 PerfScore 52.00
G_M45396_IG04:
test r14, r14
je G_M45396_IG10
;; size=9 bbWeight=1 PerfScore 1.25
G_M45396_IG05:
- lea rdi, bword ptr [r14+0x0C]
- mov ebx, dword ptr [r14+0x08]
- mov edx, ebx
+ lea rbx, bword ptr [r14+0x0C]
+ mov rdi, rbx
+ mov r15d, dword ptr [r14+0x08]
+ mov edx, r15d
mov esi, 46
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
test eax, eax
jl G_M45396_IG10
- lea r15d, [rax+0x01]
- lea r13d, [r15+0x01]
- mov edx, ebx
- sub edx, r13d
- cmp ebx, r13d
- jb G_M45396_IG13
- movsxd rsi, r13d
- lea rdi, bword ptr [r14+2*rsi+0x0C]
+ lea r13d, [rax+0x01]
+ lea r12d, [r13+0x01]
+ mov edx, r15d
+ sub edx, r12d
+ cmp r15d, r12d
+ jb G_M45396_IG12
+ movsxd rdi, r12d
+ lea rdi, bword ptr [rbx+2*rdi]
mov esi, 64
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- add r13d, eax
+ add r12d, eax
test eax, eax
- mov edx, r13d
+ mov edx, r12d
cmovl edx, eax
- cmp edx, r15d
+ cmp edx, r13d
jl SHORT G_M45396_IG06
- sub edx, r15d
+ sub edx, r13d
mov rdi, r14
- mov esi, r15d
+ mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int,int):System.String:this
call [rax]System.String:Substring(int,int):System.String:this
mov rbx, rax
jmp SHORT G_M45396_IG07
- ;; size=124 bbWeight=0.50 PerfScore 11.75
+ ;; size=128 bbWeight=0.50 PerfScore 11.62
G_M45396_IG06:
mov rdi, r14
- mov esi, r15d
+ mov esi, r13d
mov rax, 0xD1FFAB1E ; code for System.String:Substring(int):System.String:this
call [rax]System.String:Substring(int):System.String:this
mov rbx, rax
;; size=21 bbWeight=0.50 PerfScore 2.00
G_M45396_IG07:
cmp byte ptr [rbx], bl
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je SHORT G_M45396_IG14
;; size=17 bbWeight=0.50 PerfScore 3.62
G_M45396_IG08:
mov rdi, 0xD1FFAB1E ; data for System.Globalization.TextInfo:Invariant
mov rdi, gword ptr [rdi]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Globalization.TextInfo:ToLower(System.String):System.String:this
cmp dword ptr [rdi], edi
- call [rax]System.Globalization.TextInfo:ToLower(System.String):System.String:this
- nop
- ;; size=31 bbWeight=0.50 PerfScore 4.50
+ ;; size=28 bbWeight=0.50 PerfScore 2.88
G_M45396_IG09:
+ add rsp, 8
pop rbx
+ pop r12
pop r13
pop r14
pop r15
pop rbp
- ret
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ tail.jmp [rax]System.Globalization.TextInfo:ToLower(System.String):System.String:this
+ ;; size=17 bbWeight=0.50 PerfScore 2.62
G_M45396_IG10:
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M45396_IG11:
+ add rsp, 8
pop rbx
+ pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=9 bbWeight=0.50 PerfScore 1.75
+ ;; size=15 bbWeight=0.50 PerfScore 2.12
G_M45396_IG12:
+ mov edi, 8
+ xor esi, esi
+ mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
+ call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
+ int3
+ ;; size=20 bbWeight=0 PerfScore 0.00
+G_M45396_IG13:
mov edi, 0x509
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_M45396_IG13:
- mov edi, 8
- xor esi, esi
- mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
- call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
- int3
- ;; size=20 bbWeight=0 PerfScore 0.00
G_M45396_IG14:
mov rdi, 0xD1FFAB1E
mov esi, 659
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
jmp G_M45396_IG08
;; size=25 bbWeight=0 PerfScore 0.00
-; Total bytes of code 389, prolog size 13, PerfScore 86.75, instruction count 102, allocated bytes for code 389 (MethodHash=5fb34eab) for method System.Text.EncodingHelper:GetCharset():System.String (FullOpts)
+; Total bytes of code 407, prolog size 16, PerfScore 88.25, instruction count 107, allocated bytes for code 407 (MethodHash=5fb34eab) for method System.Text.EncodingHelper:GetCharset():System.String (FullOpts)
25 (2.22 % of base) - System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String
; Assembly listing for method System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 59 single block inlinees; 31 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T01] ( 16, 30 ) ref -> rbx class-hnd single-def <System.String>
; V01 loc0 [V01,T07] ( 9, 18 ) int -> r14
;* V02 loc1 [V02,T48] ( 0, 0 ) int -> zero-ref
-; V03 loc2 [V03,T00] ( 35, 74 ) int -> r13
+; V03 loc2 [V03,T00] ( 33, 73 ) int -> r13
;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.String>
; V05 loc4 [V05,T08] ( 12, 17.54) int -> rax
; V06 loc5 [V06,T09] ( 6, 16 ) ushort -> rdi
; V07 loc6 [V07,T10] ( 5, 12 ) ushort -> [rbp-0x2C] spill-single-def
; V08 loc7 [V08 ] ( 5, 2.50) struct (16) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V10 tmp1 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V11 tmp2 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V12 tmp3 [V12,T04] ( 3, 24 ) ref -> rax class-hnd exact "Inlining Arg" <System.Globalization.CompareInfo>
; V13 tmp4 [V13,T19] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
;* V14 tmp5 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V15 tmp6 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V16 tmp7 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V17 tmp8 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V18 tmp9 [V18,T20] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
;* V19 tmp10 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V20 tmp11 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V21 tmp12 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V22 tmp13 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V23 tmp14 [V23,T12] ( 2, 8 ) ubyte -> rax "Inline return value spill temp"
; V24 tmp15 [V24,T02] ( 4, 32 ) ushort -> rdi "Inlining Arg"
;* V25 tmp16 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V26 tmp17 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V27 tmp18 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V28 tmp19 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V29 tmp20 [V29,T13] ( 2, 8 ) ubyte -> rax "Inline return value spill temp"
; V30 tmp21 [V30,T03] ( 4, 32 ) ushort -> rdi "Inlining Arg"
;* V31 tmp22 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V32 tmp23 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V33 tmp24 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
;* V34 tmp25 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V35 tmp26 [V35,T14] ( 5, 5 ) int -> r14 "Inlining Arg"
-; V36 tmp27 [V36,T29] ( 4, 2 ) int -> r14 "Inline return value spill temp"
-; V37 tmp28 [V37,T33] ( 2, 2 ) int -> rdx "Inlining Arg"
+; V35 tmp26 [V35,T14] ( 5, 5 ) int -> r12 "Inlining Arg"
+; V36 tmp27 [V36,T29] ( 4, 2 ) int -> r12 "Inline return value spill temp"
+; V37 tmp28 [V37,T34] ( 2, 2 ) int -> rdx "Inlining Arg"
;* V38 tmp29 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V39 tmp30 [V39,T31] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
+; V39 tmp30 [V39,T32] ( 2, 2 ) byref -> rdi single-def "Inlining Arg"
; V40 tmp31 [V40,T30] ( 4, 2 ) int -> rax "Inline return value spill temp"
-;* V41 tmp32 [V41,T47] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V42 tmp33 [V42 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V43 tmp34 [V43 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
-;* V44 tmp35 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V45 tmp36 [V45,T22] ( 3, 3 ) int -> rdi "Inlining Arg"
-; V46 tmp37 [V46,T23] ( 3, 3 ) int -> r14 "Inlining Arg"
-;* V47 tmp38 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V48 tmp39 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V49 tmp40 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V50 tmp41 [V50 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V51 tmp42 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V52 tmp43 [V52 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ushort]>
-; V53 tmp44 [V53,T34] ( 2, 2 ) int -> rdi "Span.get_Item index"
-; V54 tmp45 [V54,T41] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V55 tmp46 [V55,T17] ( 4, 4 ) ushort -> rdi "Inlining Arg"
-;* V56 tmp47 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V57 tmp48 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V58 tmp49 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V59 tmp50 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V60 tmp51 [V60,T42] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V61 tmp52 [V61,T18] ( 4, 4 ) ushort -> rdi "Inlining Arg"
-;* V62 tmp53 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V63 tmp54 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V64 tmp55 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V65 tmp56 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V66 tmp57 [V66 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V67 tmp58 [V67,T24] ( 3, 3 ) int -> r14 "Inlining Arg"
-;* V68 tmp59 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V69 tmp60 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V70 tmp61 [V70 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V71 tmp62 [V71 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V72 tmp63 [V72 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V73 tmp64 [V73 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ushort]>
-; V74 tmp65 [V74,T25] ( 3, 3 ) int -> rdi "Span.get_Item index"
-; V75 tmp66 [V75,T43] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V76 tmp67 [V76,T15] ( 5, 5 ) ushort -> rdi "Inlining Arg"
-;* V77 tmp68 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V78 tmp69 [V78 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V79 tmp70 [V79 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V80 tmp71 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V81 tmp72 [V81,T44] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V82 tmp73 [V82,T16] ( 5, 5 ) ushort -> rdi "Inlining Arg"
-;* V83 tmp74 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V84 tmp75 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V85 tmp76 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
-;* V86 tmp77 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-; V87 tmp78 [V87,T32] ( 2, 2 ) ref -> rax single-def "Single return block return value"
-; V88 tmp79 [V88 ] ( 3, 1.50) byref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V08._reference (fldOffset=0x0)" P-DEP
-; V89 tmp80 [V89 ] ( 3, 1.50) int -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V08._length (fldOffset=0x8)" P-DEP
-;* V90 tmp81 [V90 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V91 tmp82 [V91 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
-;* V92 tmp83 [V92 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V93 tmp84 [V93 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
-;* V94 tmp85 [V94 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
-;* V95 tmp86 [V95 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
-;* V96 tmp87 [V96 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V97 tmp88 [V97 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
-;* V98 tmp89 [V98 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V99 tmp90 [V99 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
-;* V100 tmp91 [V100 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V101 tmp92 [V101 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
-;* V102 tmp93 [V102 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V103 tmp94 [V103 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
-;* V104 tmp95 [V104 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V105 tmp96 [V105 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
-;* V106 tmp97 [V106 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
-;* V107 tmp98 [V107 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
-;* V108 tmp99 [V108 ] ( 0, 0 ) byref -> zero-ref "field V22._reference (fldOffset=0x0)" P-INDEP
-;* V109 tmp100 [V109 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
-;* V110 tmp101 [V110 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V111 tmp102 [V111 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-;* V112 tmp103 [V112 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V113 tmp104 [V113 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
-;* V114 tmp105 [V114 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V115 tmp106 [V115 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-;* V116 tmp107 [V116 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP
-;* V117 tmp108 [V117 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
-;* V118 tmp109 [V118 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-INDEP
-;* V119 tmp110 [V119 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
-;* V120 tmp111 [V120 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V121 tmp112 [V121 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
-;* V122 tmp113 [V122 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
-;* V123 tmp114 [V123 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
-;* V124 tmp115 [V124 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V125 tmp116 [V125 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
-; V126 tmp117 [V126,T26] ( 5, 2.50) byref -> r13 single-def "field V44._reference (fldOffset=0x0)" P-INDEP
-; V127 tmp118 [V127,T28] ( 5, 2.50) int -> r14 "field V44._length (fldOffset=0x8)" P-INDEP
-; V128 tmp119 [V128,T39] ( 2, 1 ) byref -> r13 single-def "field V47._reference (fldOffset=0x0)" P-INDEP
-; V129 tmp120 [V129,T45] ( 2, 1 ) int -> r14 "field V47._length (fldOffset=0x8)" P-INDEP
-;* V130 tmp121 [V130 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V131 tmp122 [V131 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
-; V132 tmp123 [V132,T35] ( 3, 1.50) byref -> r13 single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-; V133 tmp124 [V133,T37] ( 3, 1.50) int -> r14 "field V50._length (fldOffset=0x8)" P-INDEP
-;* V134 tmp125 [V134 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V135 tmp126 [V135 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
-;* V136 tmp127 [V136 ] ( 0, 0 ) byref -> zero-ref "field V52._reference (fldOffset=0x0)" P-DEP
-;* V137 tmp128 [V137 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-DEP
-;* V138 tmp129 [V138 ] ( 0, 0 ) byref -> zero-ref "field V56._reference (fldOffset=0x0)" P-INDEP
-;* V139 tmp130 [V139 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
-;* V140 tmp131 [V140 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;* V141 tmp132 [V141 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
-;* V142 tmp133 [V142 ] ( 0, 0 ) byref -> zero-ref single-def "field V58._reference (fldOffset=0x0)" P-INDEP
-;* V143 tmp134 [V143 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
-;* V144 tmp135 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V145 tmp136 [V145 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
-;* V146 tmp137 [V146 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
-;* V147 tmp138 [V147 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
-;* V148 tmp139 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V63._reference (fldOffset=0x0)" P-INDEP
-;* V149 tmp140 [V149 ] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP
-;* V150 tmp141 [V150 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP
-;* V151 tmp142 [V151 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
-;* V152 tmp143 [V152 ] ( 0, 0 ) byref -> zero-ref single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V153 tmp144 [V153 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
-; V154 tmp145 [V154,T27] ( 5, 2.50) byref -> rbx "field V66._reference (fldOffset=0x0)" P-INDEP
-; V155 tmp146 [V155,T21] ( 7, 3.50) int -> r14 "field V66._length (fldOffset=0x8)" P-INDEP
-; V156 tmp147 [V156,T40] ( 2, 1 ) byref -> rbx single-def "field V68._reference (fldOffset=0x0)" P-INDEP
-; V157 tmp148 [V157,T46] ( 2, 1 ) int -> r14 "field V68._length (fldOffset=0x8)" P-INDEP
-;* V158 tmp149 [V158 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
-;* V159 tmp150 [V159 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
-; V160 tmp151 [V160,T36] ( 3, 1.50) byref -> rbx single-def "field V71._reference (fldOffset=0x0)" P-INDEP
-; V161 tmp152 [V161,T38] ( 3, 1.50) int -> r14 "field V71._length (fldOffset=0x8)" P-INDEP
-;* V162 tmp153 [V162 ] ( 0, 0 ) byref -> zero-ref single-def "field V72._reference (fldOffset=0x0)" P-INDEP
-;* V163 tmp154 [V163 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP
-;* V164 tmp155 [V164 ] ( 0, 0 ) byref -> zero-ref "field V73._reference (fldOffset=0x0)" P-DEP
-;* V165 tmp156 [V165 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-DEP
-;* V166 tmp157 [V166 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP
-;* V167 tmp158 [V167 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
-;* V168 tmp159 [V168 ] ( 0, 0 ) byref -> zero-ref single-def "field V78._reference (fldOffset=0x0)" P-INDEP
-;* V169 tmp160 [V169 ] ( 0, 0 ) int -> zero-ref "field V78._length (fldOffset=0x8)" P-INDEP
-;* V170 tmp161 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V171 tmp162 [V171 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
-;* V172 tmp163 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V173 tmp164 [V173 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
-;* V174 tmp165 [V174 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP
-;* V175 tmp166 [V175 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
-;* V176 tmp167 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V84._reference (fldOffset=0x0)" P-INDEP
-;* V177 tmp168 [V177 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
-;* V178 tmp169 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V85._reference (fldOffset=0x0)" P-INDEP
-;* V179 tmp170 [V179 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
-;* V180 tmp171 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
-;* V181 tmp172 [V181 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-; V182 cse0 [V182,T05] ( 12, 23.04) int -> r15 "CSE #01: aggressive"
-; V183 cse1 [V183,T06] ( 5, 20 ) int -> r12 "CSE #03: aggressive"
-; V184 cse2 [V184,T11] ( 3, 12 ) int -> rdi "CSE #02: moderate"
+;* V41 tmp32 [V41 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V42 tmp33 [V42,T22] ( 3, 3 ) int -> r14 "Inlining Arg"
+; V43 tmp34 [V43,T23] ( 3, 3 ) int -> r12 "Inlining Arg"
+;* V44 tmp35 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V45 tmp36 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V46 tmp37 [V46 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V47 tmp38 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V48 tmp39 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V49 tmp40 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ushort]>
+; V50 tmp41 [V50,T35] ( 2, 2 ) int -> rdi "Span.get_Item index"
+; V51 tmp42 [V51,T42] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V52 tmp43 [V52,T18] ( 4, 4 ) ushort -> rdi "Inlining Arg"
+;* V53 tmp44 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V54 tmp45 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V55 tmp46 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V56 tmp47 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V57 tmp48 [V57,T43] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V58 tmp49 [V58,T15] ( 5, 5 ) ushort -> rdi "Inlining Arg"
+;* V59 tmp50 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V60 tmp51 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V61 tmp52 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V62 tmp53 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V63 tmp54 [V63 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V64 tmp55 [V64,T24] ( 3, 3 ) int -> r14 "Inlining Arg"
+;* V65 tmp56 [V65 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V66 tmp57 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V67 tmp58 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V68 tmp59 [V68 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V69 tmp60 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V70 tmp61 [V70 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ushort]>
+; V71 tmp62 [V71,T25] ( 3, 3 ) int -> rdi "Span.get_Item index"
+; V72 tmp63 [V72,T44] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V73 tmp64 [V73,T16] ( 5, 5 ) ushort -> rdi "Inlining Arg"
+;* V74 tmp65 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V75 tmp66 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V76 tmp67 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V77 tmp68 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V78 tmp69 [V78,T45] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V79 tmp70 [V79,T17] ( 5, 5 ) ushort -> rdi "Inlining Arg"
+;* V80 tmp71 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V81 tmp72 [V81 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V82 tmp73 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
+;* V83 tmp74 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+; V84 tmp75 [V84,T33] ( 2, 2 ) ref -> rax single-def "Single return block return value"
+; V85 tmp76 [V85 ] ( 3, 1.50) byref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V08._reference (fldOffset=0x0)" P-DEP
+; V86 tmp77 [V86 ] ( 3, 1.50) int -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V08._length (fldOffset=0x8)" P-DEP
+;* V87 tmp78 [V87 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp79 [V88 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
+;* V89 tmp80 [V89 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V90 tmp81 [V90 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+;* V91 tmp82 [V91 ] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V92 tmp83 [V92 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
+;* V93 tmp84 [V93 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V94 tmp85 [V94 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+;* V95 tmp86 [V95 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V96 tmp87 [V96 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
+;* V97 tmp88 [V97 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V98 tmp89 [V98 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
+;* V99 tmp90 [V99 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V100 tmp91 [V100 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp92 [V101 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
+;* V102 tmp93 [V102 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
+;* V103 tmp94 [V103 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
+;* V104 tmp95 [V104 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
+;* V105 tmp96 [V105 ] ( 0, 0 ) byref -> zero-ref "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V106 tmp97 [V106 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
+;* V107 tmp98 [V107 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
+;* V108 tmp99 [V108 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
+;* V109 tmp100 [V109 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V110 tmp101 [V110 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
+;* V111 tmp102 [V111 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V112 tmp103 [V112 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
+;* V113 tmp104 [V113 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP
+;* V114 tmp105 [V114 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
+;* V115 tmp106 [V115 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V116 tmp107 [V116 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
+;* V117 tmp108 [V117 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V118 tmp109 [V118 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
+;* V119 tmp110 [V119 ] ( 0, 0 ) byref -> zero-ref "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V120 tmp111 [V120 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
+;* V121 tmp112 [V121 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V122 tmp113 [V122 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
+; V123 tmp114 [V123,T26] ( 5, 2.50) byref -> r13 "field V41._reference (fldOffset=0x0)" P-INDEP
+; V124 tmp115 [V124,T28] ( 5, 2.50) int -> r12 "field V41._length (fldOffset=0x8)" P-INDEP
+; V125 tmp116 [V125,T40] ( 2, 1 ) byref -> r13 single-def "field V44._reference (fldOffset=0x0)" P-INDEP
+; V126 tmp117 [V126,T46] ( 2, 1 ) int -> r12 "field V44._length (fldOffset=0x8)" P-INDEP
+;* V127 tmp118 [V127 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V128 tmp119 [V128 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+; V129 tmp120 [V129,T36] ( 3, 1.50) byref -> r13 single-def "field V47._reference (fldOffset=0x0)" P-INDEP
+; V130 tmp121 [V130,T38] ( 3, 1.50) int -> r12 "field V47._length (fldOffset=0x8)" P-INDEP
+;* V131 tmp122 [V131 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V132 tmp123 [V132 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V133 tmp124 [V133 ] ( 0, 0 ) byref -> zero-ref "field V49._reference (fldOffset=0x0)" P-DEP
+;* V134 tmp125 [V134 ] ( 0, 0 ) int -> zero-ref "field V49._length (fldOffset=0x8)" P-DEP
+;* V135 tmp126 [V135 ] ( 0, 0 ) byref -> zero-ref "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V136 tmp127 [V136 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
+;* V137 tmp128 [V137 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V138 tmp129 [V138 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+;* V139 tmp130 [V139 ] ( 0, 0 ) byref -> zero-ref single-def "field V55._reference (fldOffset=0x0)" P-INDEP
+;* V140 tmp131 [V140 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
+;* V141 tmp132 [V141 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP
+;* V142 tmp133 [V142 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
+;* V143 tmp134 [V143 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V144 tmp135 [V144 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+;* V145 tmp136 [V145 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP
+;* V146 tmp137 [V146 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP
+;* V147 tmp138 [V147 ] ( 0, 0 ) byref -> zero-ref single-def "field V61._reference (fldOffset=0x0)" P-INDEP
+;* V148 tmp139 [V148 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
+;* V149 tmp140 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V150 tmp141 [V150 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
+; V151 tmp142 [V151,T27] ( 5, 2.50) byref -> rbx "field V63._reference (fldOffset=0x0)" P-INDEP
+; V152 tmp143 [V152,T21] ( 7, 3.50) int -> r14 "field V63._length (fldOffset=0x8)" P-INDEP
+; V153 tmp144 [V153,T41] ( 2, 1 ) byref -> rbx single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+; V154 tmp145 [V154,T47] ( 2, 1 ) int -> r14 "field V65._length (fldOffset=0x8)" P-INDEP
+;* V155 tmp146 [V155 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V156 tmp147 [V156 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP
+; V157 tmp148 [V157,T37] ( 3, 1.50) byref -> rbx single-def "field V68._reference (fldOffset=0x0)" P-INDEP
+; V158 tmp149 [V158,T39] ( 3, 1.50) int -> r14 "field V68._length (fldOffset=0x8)" P-INDEP
+;* V159 tmp150 [V159 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP
+;* V160 tmp151 [V160 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
+;* V161 tmp152 [V161 ] ( 0, 0 ) byref -> zero-ref "field V70._reference (fldOffset=0x0)" P-DEP
+;* V162 tmp153 [V162 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-DEP
+;* V163 tmp154 [V163 ] ( 0, 0 ) byref -> zero-ref "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V164 tmp155 [V164 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
+;* V165 tmp156 [V165 ] ( 0, 0 ) byref -> zero-ref single-def "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V166 tmp157 [V166 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
+;* V167 tmp158 [V167 ] ( 0, 0 ) byref -> zero-ref single-def "field V76._reference (fldOffset=0x0)" P-INDEP
+;* V168 tmp159 [V168 ] ( 0, 0 ) int -> zero-ref "field V76._length (fldOffset=0x8)" P-INDEP
+;* V169 tmp160 [V169 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
+;* V170 tmp161 [V170 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
+;* V171 tmp162 [V171 ] ( 0, 0 ) byref -> zero-ref "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V172 tmp163 [V172 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V173 tmp164 [V173 ] ( 0, 0 ) byref -> zero-ref single-def "field V81._reference (fldOffset=0x0)" P-INDEP
+;* V174 tmp165 [V174 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
+;* V175 tmp166 [V175 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V176 tmp167 [V176 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V177 tmp168 [V177 ] ( 0, 0 ) byref -> zero-ref single-def "field V83._reference (fldOffset=0x0)" P-INDEP
+;* V178 tmp169 [V178 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
+; V179 cse0 [V179,T05] ( 12, 23.04) int -> r15 "CSE #01: aggressive"
+; V180 cse1 [V180,T06] ( 5, 20 ) int -> r12 "CSE #03: aggressive"
+; V181 cse2 [V181,T11] ( 3, 12 ) int -> rdi "CSE #02: moderate"
+; V182 cse3 [V182,T31] ( 4, 2 ) int -> r14 "CSE #07: conservative"
;
; Lcl frame size = 24
G_M18406_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 24
lea rbp, [rsp+0x40]
xor eax, eax
mov qword ptr [rbp-0x40], rax
mov rbx, rdi
;; size=28 bbWeight=1 PerfScore 8.25
G_M18406_IG02:
test rbx, rbx
je G_M18406_IG29
;; size=9 bbWeight=1 PerfScore 1.25
G_M18406_IG03:
mov r15d, dword ptr [rbx+0x08]
mov r14d, r15d
mov r13d, 1
cmp r14d, 1
jle G_M18406_IG10
;; size=23 bbWeight=0.50 PerfScore 1.88
G_M18406_IG04:
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
mov rax, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this
call [rax]System.Globalization.CultureInfo:get_CompareInfo():System.Globalization.CompareInfo:this
cmp byte ptr [rax], al
mov r8d, r15d
sub r8d, r13d
mov rdi, rax
mov rsi, rbx
mov ecx, r13d
mov rdx, 0xD1FFAB1E ; 'charset'
mov r9d, 1
mov rax, 0xD1FFAB1E ; code for System.Globalization.CompareInfo:IndexOf(System.String,System.String,int,int,int):int:this
call [rax]System.Globalization.CompareInfo:IndexOf(System.String,System.String,int,int,int):int:this
mov r13d, eax
test r13d, r13d
jl G_M18406_IG10
lea r12d, [r13+0x07]
cmp r12d, r14d
jge G_M18406_IG10
lea edi, [r13-0x01]
cmp edi, r15d
jae G_M18406_IG40
movzx rdi, word ptr [rbx+2*rdi+0x0C]
cmp r12d, r15d
jae G_M18406_IG40
mov eax, r12d
movzx rax, word ptr [rbx+2*rax+0x0C]
mov dword ptr [rbp-0x2C], eax
cmp edi, 59
je SHORT G_M18406_IG07
;; size=138 bbWeight=4 PerfScore 105.00
G_M18406_IG05:
cmp edi, 44
je SHORT G_M18406_IG07
cmp edi, 256
jae SHORT G_M18406_IG06
mov edi, edi
mov rcx, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rcx], 128
je SHORT G_M18406_IG09
jmp SHORT G_M18406_IG07
;; size=33 bbWeight=2 PerfScore 18.00
G_M18406_IG06:
mov rcx, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rcx]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
je SHORT G_M18406_IG09
;; size=16 bbWeight=2 PerfScore 9.00
G_M18406_IG07:
mov eax, dword ptr [rbp-0x2C]
cmp eax, 61
je SHORT G_M18406_IG10
cmp eax, 256
jae SHORT G_M18406_IG08
mov rdi, 0xD1FFAB1E ; static handle
test byte ptr [rax+rdi], 128
jne SHORT G_M18406_IG10
jmp SHORT G_M18406_IG09
;; size=33 bbWeight=2 PerfScore 19.50
G_M18406_IG08:
mov edi, eax
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG10
;; size=18 bbWeight=2 PerfScore 9.50
G_M18406_IG09:
mov r13d, r12d
jmp G_M18406_IG04
;; size=8 bbWeight=4 PerfScore 9.00
G_M18406_IG10:
test r13d, r13d
jl G_M18406_IG29
;; size=9 bbWeight=1.50 PerfScore 1.88
G_M18406_IG11:
cmp r13d, r14d
jge G_M18406_IG29
add r13d, 7
jmp SHORT G_M18406_IG13
- align [0 bytes for IG26]
- ;; size=15 bbWeight=0.50 PerfScore 1.75
+ align [13 bytes for IG26]
+ ;; size=28 bbWeight=0.50 PerfScore 1.75
G_M18406_IG12:
inc r13d
;; size=3 bbWeight=2 PerfScore 0.50
G_M18406_IG13:
cmp r13d, r14d
jge G_M18406_IG29
cmp r13d, r15d
jae G_M18406_IG40
mov edi, r13d
movzx rdi, word ptr [rbx+2*rdi+0x0C]
cmp edi, 256
jae SHORT G_M18406_IG14
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG12
jmp SHORT G_M18406_IG15
;; size=52 bbWeight=4 PerfScore 49.00
G_M18406_IG14:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG12
;; size=16 bbWeight=4 PerfScore 18.00
G_M18406_IG15:
mov edi, r13d
cmp word ptr [rbx+2*rdi+0x0C], 61
jne G_M18406_IG29
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M18406_IG16:
inc r13d
cmp r13d, r14d
jge G_M18406_IG29
cmp r13d, r15d
jae G_M18406_IG40
mov edi, r13d
movzx rdi, word ptr [rbx+2*rdi+0x0C]
cmp edi, 256
jae SHORT G_M18406_IG17
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG16
jmp SHORT G_M18406_IG18
;; size=55 bbWeight=4 PerfScore 50.00
G_M18406_IG17:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG16
;; size=16 bbWeight=4 PerfScore 18.00
G_M18406_IG18:
- mov esi, r13d
- cmp word ptr [rbx+2*rsi+0x0C], 34
+ mov edi, r13d
+ cmp word ptr [rbx+2*rdi+0x0C], 34
jne G_M18406_IG25
dec r14d
cmp r13d, r14d
je G_M18406_IG29
lea r14d, [r13+0x01]
+ mov r12d, r14d
mov edx, r15d
- sub edx, r14d
- cmp r15d, r14d
+ sub edx, r12d
+ cmp r15d, r12d
jb G_M18406_IG41
- movsxd rsi, r14d
- lea rdi, bword ptr [rbx+2*rsi+0x0C]
+ movsxd rdi, r12d
+ lea rdi, bword ptr [rbx+2*rdi+0x0C]
mov esi, 34
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
- add r14d, eax
+ add r12d, eax
test eax, eax
- cmovl r14d, eax
- test r14d, r14d
+ cmovl r12d, eax
+ test r12d, r12d
jl G_M18406_IG29
- lea edi, [r13+0x01]
- cmp r14d, edi
+ cmp r12d, r14d
je G_M18406_IG29
- lea edi, [r13+0x01]
- sub r14d, r13d
- dec r14d
- mov eax, edi
- mov ecx, r14d
- add rax, rcx
- mov ecx, r15d
- cmp rax, rcx
+ sub r12d, r13d
+ dec r12d
+ mov edi, r14d
+ mov eax, r12d
+ add rdi, rax
+ mov eax, r15d
+ cmp rdi, rax
ja G_M18406_IG42
+ mov edi, r14d
lea r13, bword ptr [rbx+2*rdi+0x0C]
- test r14d, r14d
+ test r12d, r12d
je SHORT G_M18406_IG22
movzx rdi, word ptr [r13]
cmp edi, 256
jae SHORT G_M18406_IG19
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG23
jmp SHORT G_M18406_IG20
- ;; size=173 bbWeight=0.50 PerfScore 15.75
+ ;; size=172 bbWeight=0.50 PerfScore 15.50
G_M18406_IG19:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG23
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M18406_IG20:
- lea edi, [r14-0x01]
+ lea edi, [r12-0x01]
movzx rdi, word ptr [r13+2*rdi]
cmp edi, 256
jae SHORT G_M18406_IG21
+ cmp edi, 256
+ jae G_M18406_IG40
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG23
jmp SHORT G_M18406_IG22
- ;; size=36 bbWeight=0.50 PerfScore 5.00
+ ;; size=49 bbWeight=0.50 PerfScore 5.62
G_M18406_IG21:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG23
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M18406_IG22:
jmp SHORT G_M18406_IG24
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M18406_IG23:
mov rdi, r13
- mov esi, r14d
+ mov esi, r12d
mov rax, 0xD1FFAB1E ; code for System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]
call [rax]System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]
mov r13, rax
- mov r14d, edx
+ mov r12d, edx
;; size=24 bbWeight=0.50 PerfScore 2.12
G_M18406_IG24:
mov bword ptr [rbp-0x40], r13
- mov dword ptr [rbp-0x38], r14d
+ mov dword ptr [rbp-0x38], r12d
jmp G_M18406_IG38
;; size=13 bbWeight=0.50 PerfScore 2.00
G_M18406_IG25:
mov eax, r13d
test r13d, r13d
jl SHORT G_M18406_IG27
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M18406_IG26:
mov edi, eax
cmp word ptr [rbx+2*rdi+0x0C], 59
je SHORT G_M18406_IG28
inc eax
cmp eax, r14d
jl SHORT G_M18406_IG26
jmp SHORT G_M18406_IG28
;; size=19 bbWeight=3.96 PerfScore 30.69
G_M18406_IG27:
cmp eax, r15d
jae G_M18406_IG40
mov edi, eax
cmp word ptr [rbx+2*rdi+0x0C], 59
je SHORT G_M18406_IG28
inc eax
cmp eax, r14d
jl SHORT G_M18406_IG27
;; size=26 bbWeight=0.04 PerfScore 0.28
G_M18406_IG28:
cmp eax, r13d
jne SHORT G_M18406_IG31
;; size=5 bbWeight=0.50 PerfScore 0.62
G_M18406_IG29:
xor rax, rax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M18406_IG30:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M18406_IG31:
mov r14d, eax
sub r14d, r13d
mov edi, r13d
mov eax, r14d
add rdi, rax
mov eax, r15d
cmp rdi, rax
ja G_M18406_IG42
mov edi, r13d
lea rbx, bword ptr [rbx+2*rdi+0x0C]
test r14d, r14d
je G_M18406_IG35
test r14d, r14d
je G_M18406_IG40
movzx rdi, word ptr [rbx]
cmp edi, 256
jae SHORT G_M18406_IG32
cmp edi, 256
jae G_M18406_IG40
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG36
jmp SHORT G_M18406_IG33
;; size=94 bbWeight=0.50 PerfScore 8.62
G_M18406_IG32:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG36
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M18406_IG33:
lea edi, [r14-0x01]
cmp edi, r14d
jae SHORT G_M18406_IG40
movzx rdi, word ptr [rbx+2*rdi]
cmp edi, 256
jae SHORT G_M18406_IG34
cmp edi, 256
jae SHORT G_M18406_IG40
mov rax, 0xD1FFAB1E ; static handle
test byte ptr [rdi+rax], 128
jne SHORT G_M18406_IG36
jmp SHORT G_M18406_IG35
;; size=47 bbWeight=0.50 PerfScore 6.25
G_M18406_IG34:
mov rax, 0xD1FFAB1E ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
call [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
test eax, eax
jne SHORT G_M18406_IG36
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M18406_IG35:
jmp SHORT G_M18406_IG37
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M18406_IG36:
mov rdi, rbx
mov esi, r14d
mov rax, 0xD1FFAB1E ; code for System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]
call [rax]System.MemoryExtensions:<Trim>g__TrimFallback|223_0(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ushort]
mov rbx, rax
mov r14d, edx
;; size=24 bbWeight=0.50 PerfScore 2.12
G_M18406_IG37:
mov bword ptr [rbp-0x40], rbx
mov dword ptr [rbp-0x38], r14d
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M18406_IG38:
lea rdi, [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
call [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
nop
;; size=17 bbWeight=0.50 PerfScore 2.00
G_M18406_IG39:
add rsp, 24
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
G_M18406_IG40:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
G_M18406_IG41:
mov edi, 8
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
int3
;; size=20 bbWeight=0 PerfScore 0.00
G_M18406_IG42:
mov edi, 33
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1125, prolog size 28, PerfScore 415.22, instruction count 295, allocated bytes for code 1125 (MethodHash=ed37b819) for method System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts)
+; Total bytes of code 1150, prolog size 28, PerfScore 415.60, instruction count 297, allocated bytes for code 1150 (MethodHash=ed37b819) for method System.Net.HttpListenerRequest+Helpers:GetCharSetValueFromHeader(System.String):System.String (FullOpts)
25 (9.88 % of base) - System.Transactions.TransactionsEtwProvider:SetActivityId(System.String)
; Assembly listing for method System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T00] ( 6, 5 ) ref -> rbx class-hnd single-def <System.String>
-; V01 loc0 [V01,T02] ( 5, 4 ) struct (16) [rbp-0x20] do-not-enreg[SFA] multireg-arg ld-addr-op <System.Guid>
+; V00 arg0 [V00,T00] ( 4, 4 ) ref -> rdi class-hnd single-def <System.String>
+; V01 loc0 [V01,T01] ( 7, 5 ) struct (16) [rbp-0x20] do-not-enreg[SFA] multireg-arg ld-addr-op <System.Guid>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref "folding static readonly field empty struct" <System.Guid>
;* V04 tmp2 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V06 tmp4 [V06,T05] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
-; V07 tmp5 [V07,T03] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
-;* V08 tmp6 [V08,T06] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-; V09 tmp7 [V09,T04] ( 2, 4 ) int -> rdx "Inlining Arg"
-;* V10 tmp8 [V10 ] ( 0, 0 ) short -> zero-ref ld-addr-op "Inlining Arg"
-;* V11 tmp9 [V11 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V12 tmp10 [V12 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V13 tmp11 [V13 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V14 tmp12 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V15 tmp13 [V15 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V16 tmp14 [V16 ] ( 4, 2 ) struct (24) [rbp-0x38] do-not-enreg[XSF] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid+GuidResult>
-;* V17 tmp15 [V17 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V18 tmp16 [V18 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp17 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;* V20 tmp18 [V20 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V21 tmp19 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V22 tmp20 [V22 ] ( 4, 2 ) struct (24) [rbp-0x50] do-not-enreg[XSF] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid+GuidResult>
-;* V23 tmp21 [V23 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP
-;* V24 tmp22 [V24 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-;* V25 tmp23 [V25 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
-;* V26 tmp24 [V26 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
-;* V27 tmp25 [V27 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
-;* V28 tmp26 [V28 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
-; V29 tmp27 [V29,T07] ( 2, 1 ) byref -> rdi single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V30 tmp28 [V30,T09] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
-;* V31 tmp29 [V31 ] ( 0, 0 ) byref -> zero-ref "field V13._reference (fldOffset=0x0)" P-INDEP
-;* V32 tmp30 [V32 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP
-;* V33 tmp31 [V33 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V34 tmp32 [V34 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
-; V35 tmp33 [V35,T08] ( 2, 1 ) byref -> rdi single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V36 tmp34 [V36,T10] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
-;* V37 tmp35 [V37 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V38 tmp36 [V38 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
-; V39 cse0 [V39,T01] ( 6, 4 ) int -> r15 "CSE #01: aggressive"
+; V06 tmp4 [V06,T06] ( 2, 2 ) ubyte -> rax "Inline return value spill temp"
+; V07 tmp5 [V07,T03] ( 2, 4 ) byref -> rdx single-def "Inlining Arg"
+; V08 tmp6 [V08,T04] ( 2, 4 ) int -> rsi "Inlining Arg"
+;* V09 tmp7 [V09 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V10 tmp8 [V10 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V11 tmp9 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V12 tmp10 [V12 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V13 tmp11 [V13 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V14 tmp12 [V14 ] ( 4, 2 ) struct (24) [rbp-0x38] do-not-enreg[XSF] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid+GuidResult>
+;* V15 tmp13 [V15 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V16 tmp14 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V17 tmp15 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp16 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V19 tmp17 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V20 tmp18 [V20 ] ( 4, 2 ) struct (24) [rbp-0x50] do-not-enreg[XSF] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Guid+GuidResult>
+;* V21 tmp19 [V21 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP
+;* V22 tmp20 [V22 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
+;* V23 tmp21 [V23 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
+;* V24 tmp22 [V24 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp23 [V25 ] ( 0, 0 ) byref -> zero-ref "field V09._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp24 [V26 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
+; V27 tmp25 [V27,T07] ( 2, 1 ) byref -> rdi single-def "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V28 tmp26 [V28,T09] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
+;* V29 tmp27 [V29 ] ( 0, 0 ) byref -> zero-ref "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V30 tmp28 [V30 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0x8)" P-INDEP
+;* V31 tmp29 [V31 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V32 tmp30 [V32 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
+; V33 tmp31 [V33,T08] ( 2, 1 ) byref -> rdi single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V34 tmp32 [V34,T10] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
+;* V35 tmp33 [V35 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V36 tmp34 [V36 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
+; V37 cse0 [V37,T02] ( 6, 4 ) int -> r15 "CSE #01: aggressive"
+; V38 cse1 [V38,T05] ( 4, 3 ) byref -> rbx "CSE #02: aggressive"
;
; Lcl frame size = 64
G_M41791_IG01:
push rbp
push r15
push rbx
sub rsp, 64
lea rbp, [rsp+0x50]
- mov rbx, rdi
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=13 bbWeight=1 PerfScore 3.75
G_M41791_IG02:
vxorps xmm0, xmm0, xmm0
vmovups xmmword ptr [rbp-0x20], xmm0
- lea rdi, bword ptr [rbx+0x0C]
- mov r15d, dword ptr [rbx+0x08]
- mov edx, r15d
+ lea rbx, bword ptr [rdi+0x0C]
+ mov rdx, rbx
+ mov r15d, dword ptr [rdi+0x08]
+ mov esi, r15d
+ mov rdi, rdx
+ mov edx, esi
mov esi, 45
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:Contains(byref,short,int):ubyte
call [rax]System.PackedSpanHelpers:Contains(byref,short,int):ubyte
test eax, eax
- je SHORT G_M41791_IG04
- ;; size=41 bbWeight=1 PerfScore 8.83
+ je SHORT G_M41791_IG05
+ ;; size=49 bbWeight=1 PerfScore 9.58
G_M41791_IG03:
cmp r15d, 36
- jl G_M41791_IG05
+ jl G_M41791_IG07
cmp r15d, 36
- jb G_M41791_IG07
- lea rdi, bword ptr [rbx+0x0C]
+ jb G_M41791_IG09
+ mov rdi, rbx
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x38], xmm0
vmovdqu xmmword ptr [rbp-0x34], xmm0
mov byte ptr [rbp-0x28], 0
mov esi, 36
lea rdx, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):ubyte
call [rax]System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):ubyte
test eax, eax
- je SHORT G_M41791_IG05
+ je SHORT G_M41791_IG04
vmovups xmm0, xmmword ptr [rbp-0x38]
vmovups xmmword ptr [rbp-0x20], xmm0
- jmp SHORT G_M41791_IG05
- ;; size=79 bbWeight=0.50 PerfScore 8.79
+ jmp SHORT G_M41791_IG07
+ ;; size=78 bbWeight=0.50 PerfScore 8.67
G_M41791_IG04:
+ vxorps xmm0, xmm0, xmm0
+ vmovups xmmword ptr [rbp-0x20], xmm0
+ jmp SHORT G_M41791_IG07
+ ;; size=11 bbWeight=0.50 PerfScore 1.67
+G_M41791_IG05:
cmp r15d, 32
- jl SHORT G_M41791_IG05
+ jl SHORT G_M41791_IG07
cmp r15d, 32
- jb SHORT G_M41791_IG07
- lea rdi, bword ptr [rbx+0x0C]
+ jb SHORT G_M41791_IG09
+ mov rdi, rbx
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x50], xmm0
vmovdqu xmmword ptr [rbp-0x4C], xmm0
mov byte ptr [rbp-0x40], 0
mov esi, 32
lea rdx, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):ubyte
call [rax]System.Guid:TryParseGuid(System.ReadOnlySpan`1[ushort],byref):ubyte
test eax, eax
- je SHORT G_M41791_IG05
+ je SHORT G_M41791_IG06
vmovups xmm0, xmmword ptr [rbp-0x50]
vmovups xmmword ptr [rbp-0x20], xmm0
- ;; size=69 bbWeight=0.50 PerfScore 7.79
-G_M41791_IG05:
+ jmp SHORT G_M41791_IG07
+ ;; size=70 bbWeight=0.50 PerfScore 8.67
+G_M41791_IG06:
+ vxorps xmm0, xmm0, xmm0
+ vmovups xmmword ptr [rbp-0x20], xmm0
+ ;; size=9 bbWeight=0.50 PerfScore 0.67
+G_M41791_IG07:
mov rdi, qword ptr [rbp-0x20]
mov rsi, qword ptr [rbp-0x18]
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid)
call [rax]System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid)
nop
;; size=21 bbWeight=1 PerfScore 5.50
-G_M41791_IG06:
+G_M41791_IG08:
add rsp, 64
pop rbx
pop r15
pop rbp
ret
;; size=9 bbWeight=1 PerfScore 2.75
-G_M41791_IG07:
+G_M41791_IG09:
mov edi, 33
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
int3
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 253, prolog size 13, PerfScore 37.67, instruction count 65, allocated bytes for code 253 (MethodHash=e4c35cc0) for method System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts)
+; Total bytes of code 278, prolog size 13, PerfScore 41.25, instruction count 73, allocated bytes for code 278 (MethodHash=e4c35cc0) for method System.Transactions.TransactionsEtwProvider:SetActivityId(System.String) (FullOpts)