forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[X64] [EgorBo] CI test #375
Comments
Top method regressions649 (43.35 % of base) - System.ServiceModel.Syndication.Rss20FeedFormatter:ReadMediaEnclosure(System.Xml.XmlReader,System.Uri):System.ServiceModel.Syndication.SyndicationLink:this ; Assembly listing for method System.ServiceModel.Syndication.Rss20FeedFormatter:ReadMediaEnclosure(System.Xml.XmlReader,System.Uri):System.ServiceModel.Syndication.SyndicationLink: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; 42 single block inlinees; 15 inlinees without PGO data
+; 0 inlinees with PGO data; 75 single block inlinees; 26 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T13] ( 4, 6 ) ref -> r15 this class-hnd single-def <System.ServiceModel.Syndication.Rss20FeedFormatter>
-; V01 arg1 [V01,T01] ( 18, 25.25) ref -> rbx class-hnd single-def <System.Xml.XmlReader>
-; V02 arg2 [V02,T38] ( 3, 3 ) ref -> r14 class-hnd single-def <System.Uri>
-; V03 loc0 [V03,T02] ( 8, 14 ) ref -> r13 class-hnd exact single-def <System.ServiceModel.Syndication.SyndicationLink>
-; V04 loc1 [V04,T49] ( 2, 2 ) ubyte -> r12 single-def
-; V05 loc2 [V05,T00] ( 21, 31 ) ref -> [rbp-0x50] class-hnd exact <System.String>
-; V06 loc3 [V06,T07] ( 16, 15 ) ref -> [rbp-0x58] class-hnd exact <System.String>
-; V07 loc4 [V07,T04] ( 9, 18 ) ref -> [rbp-0x60] class-hnd exact <System.String>
+; V00 this [V00,T16] ( 4, 6 ) ref -> r15 this class-hnd single-def <System.ServiceModel.Syndication.Rss20FeedFormatter>
+; V01 arg1 [V01,T05] ( 18, 25.25) ref -> rbx class-hnd single-def <System.Xml.XmlReader>
+; V02 arg2 [V02,T45] ( 3, 3 ) ref -> r14 class-hnd single-def <System.Uri>
+; V03 loc0 [V03,T06] ( 8, 14 ) ref -> r13 class-hnd exact single-def <System.ServiceModel.Syndication.SyndicationLink>
+; V04 loc1 [V04,T53] ( 2, 2 ) ubyte -> r12 single-def
+; V05 loc2 [V05,T00] ( 26, 52 ) ref -> [rbp-0x48] class-hnd exact <System.String>
+; V06 loc3 [V06,T01] ( 25, 50 ) ref -> [rbp-0x50] class-hnd exact <System.String>
+; V07 loc4 [V07,T08] ( 9, 18 ) ref -> [rbp-0x58] class-hnd exact <System.String>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V09 tmp1 [V09,T03] ( 10, 20 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.ServiceModel.Syndication.SyndicationLink>
-; V10 tmp2 [V10,T05] ( 4, 16 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
+; V09 tmp1 [V09,T07] ( 10, 20 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <System.ServiceModel.Syndication.SyndicationLink>
+; V10 tmp2 [V10,T09] ( 4, 16 ) ref -> [rbp-0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XmlQualifiedName>
;* V11 tmp3 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;* V12 tmp4 [V12,T50] ( 0, 0 ) ref -> zero-ref
-;* V13 tmp5 [V13,T43] ( 0, 0 ) ref -> zero-ref
-; V14 tmp6 [V14,T27] ( 3, 6 ) long -> rsi
+;* V12 tmp4 [V12,T54] ( 0, 0 ) ref -> zero-ref
+;* V13 tmp5 [V13,T50] ( 0, 0 ) ref -> zero-ref
+; V14 tmp6 [V14,T39] ( 3, 6 ) long -> rsi
;* V15 tmp7 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Uri>
-;* V16 tmp8 [V16 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V17 tmp9 [V17,T32] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V18 tmp10 [V18 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V19 tmp11 [V19,T16] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
-;* V20 tmp12 [V20 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V21 tmp13 [V21,T17] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" <System.Uri>
-; V22 tmp14 [V22,T28] ( 2, 4 ) ubyte -> rdi "Inline return value spill temp"
-;* V23 tmp15 [V23 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V24 tmp16 [V24,T33] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V25 tmp17 [V25 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V26 tmp18 [V26,T24] ( 3, 7 ) int -> rdi "spilling unroll qmark"
-;* V27 tmp19 [V27 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V28 tmp20 [V28,T34] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V29 tmp21 [V29 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V30 tmp22 [V30,T46] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V31 tmp23 [V31,T18] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" <System.Uri>
-;* V32 tmp24 [V32 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V33 tmp25 [V33,T35] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V34 tmp26 [V34 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V35 tmp27 [V35,T47] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V36 tmp28 [V36 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V37 tmp29 [V37,T36] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V38 tmp30 [V38 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V39 tmp31 [V39,T48] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V40 tmp32 [V40,T29] ( 3, 6 ) ubyte -> rdi "Inline return value spill temp"
-; V41 tmp33 [V41,T30] ( 3, 6 ) long -> rsi "Inline return value spill temp"
-; V42 tmp34 [V42,T08] ( 3, 12 ) ref -> rax class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
-;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V46 tmp38 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V47 tmp39 [V47,T19] ( 2, 8 ) byref -> rdx "Inlining Arg"
-; V48 tmp40 [V48,T23] ( 2, 8 ) int -> r8 "Inlining Arg"
-; V49 tmp41 [V49,T26] ( 3, 6 ) ref -> rax class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V50 tmp42 [V50 ] ( 2, 4 ) long -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-; V51 tmp43 [V51,T41] ( 3, 4 ) int -> rax "Inline stloc first use temp"
-;* V52 tmp44 [V52 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-; V53 tmp45 [V53,T31] ( 2, 4 ) ubyte -> rdi "Inline return value spill temp"
-;* V54 tmp46 [V54 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-;* V55 tmp47 [V55,T37] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-;* V56 tmp48 [V56 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
-; V57 tmp49 [V57,T25] ( 3, 7 ) int -> rdi "spilling unroll qmark"
-;* V58 tmp50 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-; V59 tmp51 [V59,T09] ( 3, 12 ) byref -> [rbp-0x70] spill-single-def "Inlining Arg"
-; V60 tmp52 [V60,T20] ( 2, 8 ) ref -> r8 class-hnd "dup spill" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-; V61 tmp53 [V61,T10] ( 5, 10 ) ref -> [rbp-0x78]
-; V62 tmp54 [V62,T06] ( 4, 16 ) ref -> [rbp-0x80] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;* V63 tmp55 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
-;* V64 tmp56 [V64 ] ( 0, 0 ) ref -> zero-ref
-; V65 tmp57 [V65,T14] ( 4, 8 ) ref -> rsi
-;* V66 tmp58 [V66 ] ( 0, 0 ) ref -> zero-ref
-; V67 tmp59 [V67,T15] ( 4, 8 ) ref -> rsi
-;* V68 tmp60 [V68 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-;* V69 tmp61 [V69 ] ( 0, 0 ) byref -> zero-ref "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V70 tmp62 [V70 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
-; V71 tmp63 [V71,T40] ( 3, 4 ) byref -> [rbp-0x88] spill-single-def "field V44._reference (fldOffset=0x0)" P-INDEP
-; V72 tmp64 [V72,T42] ( 3, 4 ) int -> [rbp-0x34] spill-single-def "field V44._length (fldOffset=0x8)" P-INDEP
-; V73 tmp65 [V73,T44] ( 2, 4 ) byref -> rdx "field V45._reference (fldOffset=0x0)" P-INDEP
-; V74 tmp66 [V74,T45] ( 2, 4 ) int -> r8 "field V45._length (fldOffset=0x8)" P-INDEP
-;* V75 tmp67 [V75 ] ( 0, 0 ) byref -> zero-ref "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V76 tmp68 [V76 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
-; V77 tmp69 [V77,T21] ( 2, 8 ) ref -> rsi "argument with side effect"
-; V78 tmp70 [V78,T22] ( 2, 8 ) ref -> [rbp-0x90] spill-single-def "argument with side effect"
-; V79 cse0 [V79,T12] ( 5, 8 ) long -> r14 "CSE #02: moderate"
-; V80 cse1 [V80,T39] ( 2, 4.25) long -> [rbp-0x40] spill-single-def hoist "CSE #12: conservative"
-; V81 cse2 [V81,T11] ( 8, 8 ) int -> [rbp-0x44] multi-def "CSE #05: moderate"
-; V82 rat0 [V82,T51] ( 3, 3 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V83 rat1 [V83,T52] ( 3, 3 ) simd32 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V16 tmp8 [V16,T20] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V17 tmp9 [V17 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V18 tmp10 [V18,T21] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V19 tmp11 [V19 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V20 tmp12 [V20,T31] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" <System.Uri>
+; V21 tmp13 [V21,T40] ( 2, 4 ) ubyte -> r10 "Inline return value spill temp"
+; V22 tmp14 [V22,T22] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V23 tmp15 [V23 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V24 tmp16 [V24,T23] ( 4, 8 ) ubyte -> r10 "Inline return value spill temp"
+;* V25 tmp17 [V25 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V26 tmp18 [V26,T24] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V27 tmp19 [V27 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V28 tmp20 [V28,T25] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V29 tmp21 [V29 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V30 tmp22 [V30,T32] ( 2, 8 ) ref -> rax class-hnd "Inlining Arg" <System.Uri>
+; V31 tmp23 [V31,T26] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V32 tmp24 [V32 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V33 tmp25 [V33,T27] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V34 tmp26 [V34 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V35 tmp27 [V35,T28] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V36 tmp28 [V36 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V37 tmp29 [V37,T29] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V38 tmp30 [V38 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V39 tmp31 [V39,T41] ( 3, 6 ) ubyte -> rdi "Inline return value spill temp"
+; V40 tmp32 [V40,T42] ( 3, 6 ) long -> rsi "Inline return value spill temp"
+; V41 tmp33 [V41,T11] ( 3, 12 ) ref -> rax class-hnd exact "Inlining Arg" <System.Globalization.NumberFormatInfo>
+;* V42 tmp34 [V42 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V46 tmp38 [V46,T33] ( 2, 8 ) byref -> rdx "Inlining Arg"
+; V47 tmp39 [V47,T37] ( 2, 8 ) int -> r8 "Inlining Arg"
+; V48 tmp40 [V48,T38] ( 3, 6 ) ref -> rax class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+; V49 tmp41 [V49 ] ( 2, 4 ) long -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+; V50 tmp42 [V50,T48] ( 3, 4 ) int -> rax "Inline stloc first use temp"
+;* V51 tmp43 [V51 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+; V52 tmp44 [V52,T43] ( 2, 4 ) ubyte -> r8 "Inline return value spill temp"
+; V53 tmp45 [V53,T44] ( 2, 4 ) ubyte -> rax "Inline return value spill temp"
+;* V54 tmp46 [V54 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V55 tmp47 [V55,T30] ( 4, 8 ) ubyte -> r8 "Inline return value spill temp"
+;* V56 tmp48 [V56 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+;* V57 tmp49 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
+; V58 tmp50 [V58,T12] ( 3, 12 ) byref -> [rbp-0x68] spill-single-def "Inlining Arg"
+; V59 tmp51 [V59,T34] ( 2, 8 ) ref -> r9 class-hnd "dup spill" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
+; V60 tmp52 [V60,T13] ( 5, 10 ) ref -> [rbp-0x70]
+; V61 tmp53 [V61,T10] ( 4, 16 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
+;* V62 tmp54 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]>
+;* V63 tmp55 [V63 ] ( 0, 0 ) ref -> zero-ref
+; V64 tmp56 [V64,T17] ( 4, 8 ) ref -> rsi
+;* V65 tmp57 [V65 ] ( 0, 0 ) ref -> zero-ref
+; V66 tmp58 [V66,T18] ( 4, 8 ) ref -> rsi
+;* V67 tmp59 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V68 tmp60 [V68 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+; V70 tmp62 [V70,T47] ( 3, 4 ) byref -> [rbp-0x80] spill-single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+; V71 tmp63 [V71,T49] ( 3, 4 ) int -> [rbp-0x34] spill-single-def "field V43._length (fldOffset=0x8)" P-INDEP
+; V72 tmp64 [V72,T51] ( 2, 4 ) byref -> rdx "field V44._reference (fldOffset=0x0)" P-INDEP
+; V73 tmp65 [V73,T52] ( 2, 4 ) int -> r8 "field V44._length (fldOffset=0x8)" P-INDEP
+;* V74 tmp66 [V74 ] ( 0, 0 ) byref -> zero-ref "field V45._reference (fldOffset=0x0)" P-INDEP
+;* V75 tmp67 [V75 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
+; V76 tmp68 [V76,T35] ( 2, 8 ) ref -> rsi "argument with side effect"
+; V77 tmp69 [V77,T36] ( 2, 8 ) ref -> [rbp-0x88] spill-single-def "argument with side effect"
+; V78 cse0 [V78,T15] ( 5, 8 ) long -> r14 "CSE #02: moderate"
+; V79 cse1 [V79,T46] ( 2, 4.25) long -> [rbp-0x40] spill-single-def hoist "CSE #24: conservative"
+; V80 cse2 [V80,T02] ( 18, 36 ) int -> rdx multi-def "CSE #03: aggressive"
+; V81 cse3 [V81,T03] ( 18, 36 ) int -> rdx multi-def "CSE #05: aggressive"
+; V82 cse4 [V82,T04] ( 16, 30 ) ref -> [rbp-0x90] multi-def "CSE #16: aggressive"
+; V83 cse5 [V83,T14] ( 5, 10 ) ref -> [rbp-0x98] "CSE #13: moderate"
+; V84 cse6 [V84,T19] ( 4, 8 ) ref -> [rbp-0xA0] "CSE #09: moderate"
;
-; Lcl frame size = 104
+; Lcl frame size = 120
G_M63751_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 104
- lea rbp, [rsp+0x90]
+ sub rsp, 120
+ lea rbp, [rsp+0xA0]
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov r15, rdi
mov rbx, rsi
mov r14, rdx
;; size=37 bbWeight=1 PerfScore 8.75
G_M63751_IG02:
mov rdi, 0xD1FFAB1E ; System.ServiceModel.Syndication.SyndicationLink
call CORINFO_HELP_NEWSFAST
mov r13, rax
xor rdi, rdi
mov gword ptr [r13+0x08], rdi
;; size=24 bbWeight=1 PerfScore 2.75
G_M63751_IG03:
mov gword ptr [r13+0x28], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG04:
mov gword ptr [r13+0x20], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG05:
mov gword ptr [r13+0x18], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG06:
mov gword ptr [r13+0x10], rdi
;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG07:
mov qword ptr [r13+0x30], rdi
lea rdi, bword ptr [r13+0x08]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; 'enclosure'
mov gword ptr [r13+0x18], rdi
mov rdi, rbx
mov rax, qword ptr [rbx]
mov r14, qword ptr [rax+0x48]
call [r14+0x30]System.Xml.XmlReader:get_IsEmptyElement():ubyte:this
mov r12d, eax
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0xA0]
call [rax+0x38]System.Xml.XmlReader:get_HasAttributes():ubyte:this
test eax, eax
- je G_M63751_IG63
+ je G_M63751_IG60
;; size=71 bbWeight=1 PerfScore 20.00
G_M63751_IG08:
mov rdi, qword ptr [rbx]
mov rax, qword ptr [rdi+0x78]
mov qword ptr [rbp-0x40], rax
- jmp G_M63751_IG62
+ jmp G_M63751_IG59
;; size=16 bbWeight=0.25 PerfScore 1.75
G_M63751_IG09:
mov rdi, rbx
call [r14]System.Xml.XmlReader:get_NamespaceURI():System.String:this
- mov gword ptr [rbp-0x50], rax
+ mov gword ptr [rbp-0x48], rax
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x40]
call [rax+0x38]System.Xml.XmlReader:get_LocalName():System.String:this
mov rsi, rax
+ mov rdx, 0xD1FFAB1E ; 'base'
+ cmp rsi, rdx
+ je SHORT G_M63751_IG10
test rsi, rsi
- je G_M63751_IG20
- ;; size=35 bbWeight=2 PerfScore 26.00
-G_M63751_IG10:
- mov eax, dword ptr [rsi+0x08]
- mov dword ptr [rbp-0x44], eax
- cmp eax, 4
- jne G_M63751_IG15
- ;; size=15 bbWeight=1 PerfScore 4.25
-G_M63751_IG11:
- mov rdx, 0xD1FFAB1E
- mov gword ptr [rbp-0x58], rsi
- cmp qword ptr [rsi+0x0C], rdx
+ je G_M63751_IG15
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 4
jne G_M63751_IG14
- ;; size=24 bbWeight=0.50 PerfScore 2.62
-G_M63751_IG12:
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ mov rax, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [rax+0x0C]
+ 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 rsi, gword ptr [rbp-0x50]
+ je G_M63751_IG15
+ ;; size=110 bbWeight=2 PerfScore 52.50
+G_M63751_IG10:
mov rdx, 0xD1FFAB1E ; 'http://www.w3.org/XML/1998/namespace'
- mov rcx, gword ptr [rbp-0x50]
- cmp rcx, rdx
+ mov rax, gword ptr [rbp-0x48]
+ cmp rax, rdx
+ je SHORT G_M63751_IG11
+ test rax, rax
je SHORT G_M63751_IG13
- test rcx, rcx
- je G_M63751_IG16
- cmp dword ptr [rcx+0x08], 36
- jne SHORT G_M63751_IG16
- mov edx, dword ptr [rcx+0x08]
+ mov edx, dword ptr [rax+0x08]
+ cmp edx, 36
+ jne SHORT G_M63751_IG12
+ mov gword ptr [rbp-0x50], rsi
add edx, edx
mov rsi, 0xD1FFAB1E
- mov gword ptr [rbp-0x50], rcx
- lea rdi, bword ptr [rcx+0x0C]
- mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
- call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ mov gword ptr [rbp-0x48], rax
+ lea rdi, bword ptr [rax+0x0C]
+ 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 rcx, gword ptr [rbp-0x50]
- je SHORT G_M63751_IG16
- ;; size=78 bbWeight=2 PerfScore 34.50
-G_M63751_IG13:
+ mov rsi, gword ptr [rbp-0x50]
+ je SHORT G_M63751_IG15
+ ;; size=76 bbWeight=2 PerfScore 31.00
+G_M63751_IG11:
mov rax, gword ptr [r13+0x08]
- mov gword ptr [rbp-0x90], rax
+ mov gword ptr [rbp-0x88], rax
mov rdi, rbx
call [r14+0x18]System.Xml.XmlReader:get_Value():System.String:this
mov rsi, rax
- mov rdi, gword ptr [rbp-0x90]
+ mov rdi, gword ptr [rbp-0x88]
mov rax, 0xD1FFAB1E ; code for System.ServiceModel.Syndication.FeedUtils:CombineXmlBase(System.Uri,System.String):System.Uri
call [rax]System.ServiceModel.Syndication.FeedUtils:CombineXmlBase(System.Uri,System.String):System.Uri
lea rdi, bword ptr [r13+0x08]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
+ jmp G_M63751_IG59
;; size=61 bbWeight=2 PerfScore 31.00
+G_M63751_IG12:
+ mov gword ptr [rbp-0x48], rax
+ jmp SHORT G_M63751_IG15
+ ;; size=6 bbWeight=1 PerfScore 3.00
+G_M63751_IG13:
+ mov gword ptr [rbp-0x48], rax
+ jmp SHORT G_M63751_IG15
+ ;; size=6 bbWeight=1 PerfScore 3.00
G_M63751_IG14:
- mov rcx, gword ptr [rbp-0x50]
- jmp SHORT G_M63751_IG16
- ;; size=6 bbWeight=0.25 PerfScore 0.75
+ mov rsi, gword ptr [rbp-0x50]
+ ;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG15:
- mov gword ptr [rbp-0x58], rsi
- mov rcx, gword ptr [rbp-0x50]
- ;; size=8 bbWeight=0.50 PerfScore 1.00
+ mov rax, 0xD1FFAB1E ; 'xmlns'
+ cmp rsi, rax
+ je SHORT G_M63751_IG18
+ mov r8, rax
+ mov rax, qword ptr [rbp-0x40]
+ test rsi, rsi
+ je SHORT G_M63751_IG16
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 5
+ jne SHORT G_M63751_IG17
+ add edx, edx
+ mov gword ptr [rbp-0xA0], r8
+ lea rsi, bword ptr [r8+0x0C]
+ mov r9, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [r9+0x0C]
+ 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 rax, qword ptr [rbp-0x40]
+ mov rsi, gword ptr [rbp-0x50]
+ mov r8, gword ptr [rbp-0xA0]
+ jne G_M63751_IG59
+ ;; size=96 bbWeight=2 PerfScore 38.00
G_M63751_IG16:
- cmp dword ptr [rbp-0x44], 5
+ mov r9, 0xD1FFAB1E ; 'http://www.w3.org/2000/xmlns/'
+ mov rcx, gword ptr [rbp-0x48]
+ cmp rcx, r9
jne SHORT G_M63751_IG19
- ;; size=6 bbWeight=1 PerfScore 3.00
+ mov r10d, 1
+ jmp SHORT G_M63751_IG22
+ ;; size=27 bbWeight=2 PerfScore 9.50
G_M63751_IG17:
- mov rdi, 0xD1FFAB1E
- mov rsi, gword ptr [rbp-0x58]
- xor rdi, qword ptr [rsi+0x0C]
- mov eax, dword ptr [rsi+0x12]
- xor eax, 0xD1FFAB1E
- or rdi, rax
- mov gword ptr [rbp-0x50], rcx
- jne SHORT G_M63751_IG20
- ;; size=35 bbWeight=0.50 PerfScore 4.38
+ mov rsi, gword ptr [rbp-0x50]
+ jmp SHORT G_M63751_IG16
+ ;; size=6 bbWeight=1 PerfScore 3.00
G_M63751_IG18:
mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
- ;; size=9 bbWeight=0.25 PerfScore 0.75
+ jmp G_M63751_IG59
+ ;; size=9 bbWeight=1 PerfScore 3.00
G_M63751_IG19:
- mov gword ptr [rbp-0x50], rcx
- mov rsi, gword ptr [rbp-0x58]
- ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M63751_IG20:
- mov rcx, gword ptr [rbp-0x50]
test rcx, rcx
- je SHORT G_M63751_IG23
- ;; size=9 bbWeight=2 PerfScore 4.50
+ je SHORT G_M63751_IG20
+ mov edx, dword ptr [rcx+0x08]
+ cmp edx, 29
+ je SHORT G_M63751_IG21
+ ;; size=13 bbWeight=2 PerfScore 9.00
+G_M63751_IG20:
+ xor r10d, r10d
+ jmp SHORT G_M63751_IG22
+ ;; size=5 bbWeight=2 PerfScore 4.50
G_M63751_IG21:
- cmp dword ptr [rcx+0x08], 29
- jne SHORT G_M63751_IG23
- ;; size=6 bbWeight=1 PerfScore 4.00
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0xA0], r8
+ add edx, edx
+ mov gword ptr [rbp-0x98], r9
+ lea rsi, bword ptr [r9+0x0C]
+ mov gword ptr [rbp-0x48], rcx
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r10, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r10]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ mov r10d, eax
+ mov rax, qword ptr [rbp-0x40]
+ mov rcx, gword ptr [rbp-0x48]
+ mov rsi, gword ptr [rbp-0x50]
+ mov r8, gword ptr [rbp-0xA0]
+ mov r9, gword ptr [rbp-0x98]
+ ;; size=74 bbWeight=2 PerfScore 27.50
G_M63751_IG22:
- vmovups ymm0, ymmword ptr [rcx+0x0C]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD00]
- vmovups ymm1, ymmword ptr [rcx+0x26]
- vpxor ymm1, ymm1, ymmword ptr [reloc @RWD32]
- vpor ymm0, ymm1, ymm0
- vptest ymm0, ymm0
- sete dil
- movzx rdi, dil
- jmp SHORT G_M63751_IG24
- ;; size=45 bbWeight=0.50 PerfScore 11.29
-G_M63751_IG23:
- xor edi, edi
- ;; size=2 bbWeight=1 PerfScore 0.25
-G_M63751_IG24:
- test edi, edi
- mov gword ptr [rbp-0x50], rcx
- mov gword ptr [rbp-0x58], rsi
- jne G_M63751_IG32
+ test r10d, r10d
+ mov gword ptr [rbp-0x48], rcx
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x98], r9
+ mov gword ptr [rbp-0xA0], r8
+ jne G_M63751_IG59
mov rdi, rbx
call [r14+0x18]System.Xml.XmlReader:get_Value():System.String:this
- mov rsi, gword ptr [rbp-0x58]
+ mov gword ptr [rbp-0x58], rax
+ mov rdx, 0xD1FFAB1E ; 'url'
+ mov rsi, gword ptr [rbp-0x50]
+ cmp rsi, rdx
+ mov rax, gword ptr [rbp-0x58]
+ je SHORT G_M63751_IG23
test rsi, rsi
- je G_M63751_IG54
- ;; size=36 bbWeight=2 PerfScore 17.50
-G_M63751_IG25:
- mov edi, dword ptr [rsi+0x08]
- mov r10d, edi
- cmp r10d, 3
- jne SHORT G_M63751_IG31
- ;; size=12 bbWeight=1 PerfScore 3.50
-G_M63751_IG26:
- mov edi, dword ptr [rsi+0x0C]
- xor edi, 0xD1FFAB1E
- mov r9d, dword ptr [rsi+0x0E]
- xor r9d, 0xD1FFAB1E
- or edi, r9d
- jne SHORT G_M63751_IG30
- ;; size=25 bbWeight=0.50 PerfScore 2.88
-G_M63751_IG27:
- mov r11, gword ptr [rbp-0x50]
- test r11, r11
- je SHORT G_M63751_IG33
- ;; size=9 bbWeight=2 PerfScore 4.50
-G_M63751_IG28:
- cmp dword ptr [r11+0x08], 0
- jne SHORT G_M63751_IG33
- ;; size=7 bbWeight=1 PerfScore 4.00
-G_M63751_IG29:
+ je G_M63751_IG29
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 3
+ jne G_M63751_IG28
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ mov rcx, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je G_M63751_IG29
+ ;; size=143 bbWeight=2 PerfScore 56.00
+G_M63751_IG23:
+ mov rcx, 0xD1FFAB1E ; ''
+ mov r8, gword ptr [rbp-0x48]
+ cmp r8, rcx
+ je G_M63751_IG27
+ test r8, r8
+ je G_M63751_IG26
+ mov edx, dword ptr [r8+0x08]
+ test edx, edx
+ jne SHORT G_M63751_IG25
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ mov gword ptr [rbp-0x90], rcx
+ lea rsi, bword ptr [rcx+0x0C]
+ mov gword ptr [rbp-0x48], r8
+ lea rdi, bword ptr [r8+0x0C]
+ 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 rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je SHORT G_M63751_IG29
+ ;; size=94 bbWeight=2 PerfScore 37.50
+G_M63751_IG24:
mov rdi, gword ptr [r15+0x10]
mov rsi, rax
mov r9, rbx
xor edx, edx
mov rcx, 0xD1FFAB1E ; 'enclosure'
- mov r8, 0xD1FFAB1E ; ''
+ mov r8, gword ptr [rbp-0x90]
mov rax, 0xD1FFAB1E ; code for System.ServiceModel.Syndication.SyndicationFeedFormatter:UriFromString(System.ServiceModel.Syndication.TryParseUriCallback,System.String,int,System.String,System.String,System.Xml.XmlReader):System.Uri
call [rax]System.ServiceModel.Syndication.SyndicationFeedFormatter:UriFromString(System.ServiceModel.Syndication.TryParseUriCallback,System.String,int,System.String,System.String,System.Xml.XmlReader):System.Uri
lea rdi, bword ptr [r13+0x28]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
- ;; size=65 bbWeight=2 PerfScore 22.50
+ jmp G_M63751_IG59
+ ;; size=62 bbWeight=2 PerfScore 24.00
+G_M63751_IG25:
+ mov gword ptr [rbp-0x48], r8
+ jmp SHORT G_M63751_IG29
+ ;; size=6 bbWeight=1 PerfScore 3.00
+G_M63751_IG26:
+ mov gword ptr [rbp-0x48], r8
+ jmp SHORT G_M63751_IG29
+ ;; size=6 bbWeight=1 PerfScore 3.00
+G_M63751_IG27:
+ mov gword ptr [rbp-0x90], rcx
+ jmp SHORT G_M63751_IG24
+ ;; size=9 bbWeight=1 PerfScore 3.00
+G_M63751_IG28:
+ mov rsi, gword ptr [rbp-0x50]
+ ;; size=4 bbWeight=1 PerfScore 1.00
+G_M63751_IG29:
+ mov rdx, 0xD1FFAB1E ; 'type'
+ cmp rsi, rdx
+ je SHORT G_M63751_IG30
+ test rsi, rsi
+ je G_M63751_IG35
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 4
+ jne G_M63751_IG34
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ mov rcx, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je SHORT G_M63751_IG35
+ ;; size=89 bbWeight=2 PerfScore 33.00
G_M63751_IG30:
- mov r11, gword ptr [rbp-0x50]
- jmp SHORT G_M63751_IG33
- ;; size=6 bbWeight=0.25 PerfScore 0.75
+ mov r8, 0xD1FFAB1E ; ''
+ mov rcx, gword ptr [rbp-0x48]
+ cmp rcx, r8
+ je SHORT G_M63751_IG31
+ test rcx, rcx
+ je SHORT G_M63751_IG33
+ mov edx, dword ptr [rcx+0x08]
+ test edx, edx
+ jne SHORT G_M63751_IG32
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ lea rsi, bword ptr [r8+0x0C]
+ mov gword ptr [rbp-0x48], rcx
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je SHORT G_M63751_IG35
+ ;; size=78 bbWeight=2 PerfScore 35.50
G_M63751_IG31:
- mov r11, gword ptr [rbp-0x50]
- jmp SHORT G_M63751_IG33
- ;; size=6 bbWeight=0.50 PerfScore 1.50
-G_M63751_IG32:
+ lea rdi, bword ptr [r13+0x10]
+ mov rsi, rax
+ call CORINFO_HELP_ASSIGN_REF
mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
- ;; size=9 bbWeight=1 PerfScore 3.00
+ jmp G_M63751_IG59
+ ;; size=21 bbWeight=2 PerfScore 9.50
+G_M63751_IG32:
+ mov gword ptr [rbp-0x48], rcx
+ jmp SHORT G_M63751_IG35
+ ;; size=6 bbWeight=1 PerfScore 3.00
G_M63751_IG33:
- cmp r10d, 4
- jne SHORT G_M63751_IG38
- ;; size=6 bbWeight=1 PerfScore 1.25
+ mov gword ptr [rbp-0x48], rcx
+ jmp SHORT G_M63751_IG35
+ ;; size=6 bbWeight=1 PerfScore 3.00
G_M63751_IG34:
- mov rdi, 0xD1FFAB1E
- cmp qword ptr [rsi+0x0C], rdi
- jne SHORT G_M63751_IG38
- ;; size=16 bbWeight=0.50 PerfScore 2.12
+ mov rsi, gword ptr [rbp-0x50]
+ ;; size=4 bbWeight=1 PerfScore 1.00
G_M63751_IG35:
- test r11, r11
- je SHORT G_M63751_IG38
- ;; size=5 bbWeight=2 PerfScore 2.50
+ mov rdx, 0xD1FFAB1E ; 'length'
+ cmp rsi, rdx
+ je SHORT G_M63751_IG36
+ test rsi, rsi
+ je G_M63751_IG48
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 6
+ jne G_M63751_IG40
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ mov rsi, 0xD1FFAB1E
+ mov rcx, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je G_M63751_IG48
+ ;; size=93 bbWeight=2 PerfScore 33.00
G_M63751_IG36:
- cmp dword ptr [r11+0x08], 0
+ mov r8, 0xD1FFAB1E ; ''
+ mov rcx, r8
+ mov r8, gword ptr [rbp-0x48]
+ cmp r8, rcx
+ je SHORT G_M63751_IG37
+ test r8, r8
+ je SHORT G_M63751_IG39
+ mov edx, dword ptr [r8+0x08]
+ test edx, edx
jne SHORT G_M63751_IG38
- ;; size=7 bbWeight=1 PerfScore 4.00
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ lea rsi, bword ptr [rcx+0x0C]
+ mov gword ptr [rbp-0x48], r8
+ lea rdi, bword ptr [r8+0x0C]
+ 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 rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ je G_M63751_IG48
+ ;; size=85 bbWeight=2 PerfScore 36.00
G_M63751_IG37:
- lea rdi, bword ptr [r13+0x10]
- mov rsi, rax
- call CORINFO_HELP_ASSIGN_REF
- mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
- ;; size=21 bbWeight=2 PerfScore 9.50
-G_M63751_IG38:
- cmp r10d, 6
- jne G_M63751_IG50
- ;; size=10 bbWeight=1 PerfScore 1.25
-G_M63751_IG39:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rsi+0x0C]
- mov ecx, dword ptr [rsi+0x14]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- jne G_M63751_IG50
- ;; size=32 bbWeight=0.50 PerfScore 3.38
-G_M63751_IG40:
- test r11, r11
- je G_M63751_IG50
- ;; size=9 bbWeight=2 PerfScore 2.50
-G_M63751_IG41:
- cmp dword ptr [r11+0x08], 0
- jne G_M63751_IG50
- ;; size=11 bbWeight=1 PerfScore 4.00
-G_M63751_IG42:
test rax, rax
- je SHORT G_M63751_IG43
- mov gword ptr [rbp-0x60], rax
+ je SHORT G_M63751_IG41
+ mov gword ptr [rbp-0x58], rax
cmp dword ptr [rax+0x08], 0
sete dil
movzx rdi, dil
- jmp SHORT G_M63751_IG44
+ jmp SHORT G_M63751_IG42
;; size=23 bbWeight=2 PerfScore 17.00
-G_M63751_IG43:
+G_M63751_IG38:
+ mov gword ptr [rbp-0x48], r8
+ jmp G_M63751_IG48
+ ;; size=9 bbWeight=1 PerfScore 3.00
+G_M63751_IG39:
+ mov gword ptr [rbp-0x48], r8
+ jmp G_M63751_IG48
+ ;; size=9 bbWeight=1 PerfScore 3.00
+G_M63751_IG40:
+ mov rsi, gword ptr [rbp-0x50]
+ jmp G_M63751_IG48
+ ;; size=9 bbWeight=1 PerfScore 3.00
+G_M63751_IG41:
mov edi, 1
- mov gword ptr [rbp-0x60], rax
+ mov gword ptr [rbp-0x58], rax
;; size=9 bbWeight=2 PerfScore 2.50
-G_M63751_IG44:
+G_M63751_IG42:
test edi, edi
- je SHORT G_M63751_IG45
+ je SHORT G_M63751_IG43
xor esi, esi
- jmp G_M63751_IG49
+ jmp G_M63751_IG47
;; size=11 bbWeight=2 PerfScore 7.00
-G_M63751_IG45:
+G_M63751_IG43:
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rdi]
mov rcx, 0xD1FFAB1E ; code for System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call [rcx]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
- mov rcx, gword ptr [rbp-0x60]
+ mov rcx, gword ptr [rbp-0x58]
test rcx, rcx
- jne SHORT G_M63751_IG46
+ jne SHORT G_M63751_IG44
xor esi, esi
- jmp SHORT G_M63751_IG49
+ jmp SHORT G_M63751_IG47
;; size=38 bbWeight=2 PerfScore 20.00
-G_M63751_IG46:
+G_M63751_IG44:
lea rdx, bword ptr [rcx+0x0C]
mov r8d, dword ptr [rcx+0x08]
- mov bword ptr [rbp-0x88], rdx
+ mov bword ptr [rbp-0x80], rdx
mov dword ptr [rbp-0x34], r8d
test rax, rax
- je SHORT G_M63751_IG47
+ je SHORT G_M63751_IG45
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
- jmp SHORT G_M63751_IG48
- ;; size=41 bbWeight=2 PerfScore 22.50
-G_M63751_IG47:
+ jmp SHORT G_M63751_IG46
+ ;; size=38 bbWeight=2 PerfScore 22.50
+G_M63751_IG45:
mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
call [rax]System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
;; size=12 bbWeight=2 PerfScore 6.50
-G_M63751_IG48:
- mov rdi, bword ptr [rbp-0x88]
+G_M63751_IG46:
+ mov rdi, bword ptr [rbp-0x80]
mov esi, dword ptr [rbp-0x34]
lea r8, [rbp-0x30]
mov rcx, rax
mov edx, 7
mov rax, 0xD1FFAB1E ; code for System.Number:TryParseBinaryIntegerStyle[ushort,long](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int
call [rax]System.Number:TryParseBinaryIntegerStyle[ushort,long](System.ReadOnlySpan`1[ushort],int,System.Globalization.NumberFormatInfo,byref):int
test eax, eax
- jne G_M63751_IG68
+ jne G_M63751_IG65
mov rsi, qword ptr [rbp-0x30]
- ;; size=46 bbWeight=2 PerfScore 17.00
-G_M63751_IG49:
+ ;; size=43 bbWeight=2 PerfScore 17.00
+G_M63751_IG47:
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.ServiceModel.Syndication.SyndicationLink:set_Length(long):this
call [rax]System.ServiceModel.Syndication.SyndicationLink:set_Length(long):this
mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
+ jmp G_M63751_IG59
;; size=24 bbWeight=2 PerfScore 13.00
+G_M63751_IG48:
+ test rsi, rsi
+ je SHORT G_M63751_IG49
+ mov gword ptr [rbp-0x50], rsi
+ mov edx, dword ptr [rsi+0x08]
+ cmp edx, 5
+ jne SHORT G_M63751_IG51
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ mov rdi, gword ptr [rbp-0xA0]
+ lea rsi, bword ptr [rdi+0x0C]
+ mov rcx, gword ptr [rbp-0x50]
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
+ jne SHORT G_M63751_IG50
+ ;; size=67 bbWeight=2 PerfScore 32.50
+G_M63751_IG49:
+ mov rcx, gword ptr [rbp-0x48]
+ mov rdi, gword ptr [rbp-0x98]
+ cmp rcx, rdi
+ jne SHORT G_M63751_IG52
+ mov r8d, 1
+ jmp SHORT G_M63751_IG55
+ ;; size=24 bbWeight=2 PerfScore 11.00
G_M63751_IG50:
- cmp r10d, 5
- jne SHORT G_M63751_IG53
- ;; size=6 bbWeight=1 PerfScore 1.25
+ mov rax, qword ptr [rbp-0x40]
+ jmp G_M63751_IG59
+ ;; size=9 bbWeight=1 PerfScore 3.00
G_M63751_IG51:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rsi+0x0C]
- mov ecx, dword ptr [rsi+0x12]
- xor ecx, 0xD1FFAB1E
- or rdi, rcx
- mov gword ptr [rbp-0x50], r11
- jne SHORT G_M63751_IG54
- ;; size=32 bbWeight=0.50 PerfScore 3.88
+ mov rsi, gword ptr [rbp-0x50]
+ jmp SHORT G_M63751_IG49
+ ;; size=6 bbWeight=1 PerfScore 3.00
G_M63751_IG52:
- mov rax, qword ptr [rbp-0x40]
- jmp G_M63751_IG62
- ;; size=9 bbWeight=0.25 PerfScore 0.75
+ test rcx, rcx
+ je SHORT G_M63751_IG53
+ mov edx, dword ptr [rcx+0x08]
+ cmp edx, 29
+ je SHORT G_M63751_IG54
+ ;; size=13 bbWeight=2 PerfScore 9.00
G_M63751_IG53:
- mov gword ptr [rbp-0x50], r11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
+ xor r8d, r8d
+ jmp SHORT G_M63751_IG55
+ ;; size=5 bbWeight=2 PerfScore 4.50
G_M63751_IG54:
- mov r11, gword ptr [rbp-0x50]
- test r11, r11
- je SHORT G_M63751_IG57
- ;; size=9 bbWeight=2 PerfScore 4.50
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x58], rax
+ add edx, edx
+ lea rsi, bword ptr [rdi+0x0C]
+ mov gword ptr [rbp-0x48], rcx
+ lea rdi, bword ptr [rcx+0x0C]
+ mov r8, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [r8]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ mov r8d, eax
+ mov rax, gword ptr [rbp-0x58]
+ mov rcx, gword ptr [rbp-0x48]
+ mov rsi, gword ptr [rbp-0x50]
+ ;; size=50 bbWeight=2 PerfScore 21.50
G_M63751_IG55:
- cmp dword ptr [r11+0x08], 29
- jne SHORT G_M63751_IG57
- ;; size=7 bbWeight=1 PerfScore 4.00
-G_M63751_IG56:
- vmovups ymm0, ymmword ptr [r11+0x0C]
- vpxor ymm0, ymm0, ymmword ptr [reloc @RWD00]
- vmovups ymm1, ymmword ptr [r11+0x26]
- vpxor ymm1, ymm1, ymmword ptr [reloc @RWD32]
- vpor ymm0, ymm1, ymm0
- vptest ymm0, ymm0
- sete dil
- movzx rdi, dil
- jmp SHORT G_M63751_IG58
- ;; size=47 bbWeight=0.50 PerfScore 11.29
-G_M63751_IG57:
- xor edi, edi
- ;; size=2 bbWeight=1 PerfScore 0.25
-G_M63751_IG58:
- test edi, edi
- jne G_M63751_IG67
- mov rcx, rax
+ test r8d, r8d
+ jne G_M63751_IG64
+ mov rdx, rax
mov rax, qword ptr [rbp-0x40]
cmp byte ptr [r15+0x34], 0
- mov gword ptr [rbp-0x50], r11
- mov gword ptr [rbp-0x60], rcx
- mov gword ptr [rbp-0x58], rsi
- je G_M63751_IG62
- lea rdx, bword ptr [r13+0x38]
- mov bword ptr [rbp-0x70], rdx
- mov r8, gword ptr [rdx]
- test r8, r8
- mov gword ptr [rbp-0x78], r8
- jne SHORT G_M63751_IG59
+ mov gword ptr [rbp-0x48], rcx
+ mov gword ptr [rbp-0x50], rsi
+ mov gword ptr [rbp-0x58], rdx
+ je G_M63751_IG59
+ lea r8, bword ptr [r13+0x38]
+ mov bword ptr [rbp-0x68], r8
+ mov r9, gword ptr [r8]
+ test r9, r9
+ mov gword ptr [rbp-0x70], r9
+ jne SHORT G_M63751_IG56
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.Dictionary`2[System.Xml.XmlQualifiedName,System.String]
call CORINFO_HELP_NEWSFAST
- mov r8, rax
- mov gword ptr [rbp-0x80], r8
- mov rdi, r8
+ mov r9, rax
+ mov gword ptr [rbp-0x78], r9
+ mov rdi, r9
xor esi, esi
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
- mov rdi, bword ptr [rbp-0x70]
- mov rsi, gword ptr [rbp-0x80]
+ mov rdi, bword ptr [rbp-0x68]
+ mov rsi, gword ptr [rbp-0x78]
call CORINFO_HELP_ASSIGN_REF
- mov r8, gword ptr [rbp-0x80]
- mov gword ptr [rbp-0x78], r8
- ;; size=120 bbWeight=2 PerfScore 53.50
-G_M63751_IG59:
+ mov r9, gword ptr [rbp-0x78]
+ mov gword ptr [rbp-0x70], r9
+ ;; size=121 bbWeight=2 PerfScore 53.50
+G_M63751_IG56:
mov rdi, 0xD1FFAB1E ; System.Xml.XmlQualifiedName
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x68], rax
- mov rsi, gword ptr [rbp-0x50]
+ mov gword ptr [rbp-0x60], rax
+ mov rsi, gword ptr [rbp-0x48]
test rsi, rsi
- jne SHORT G_M63751_IG60
- mov rsi, 0xD1FFAB1E ; ''
- ;; size=38 bbWeight=2 PerfScore 9.50
-G_M63751_IG60:
+ jne SHORT G_M63751_IG57
+ mov rcx, 0xD1FFAB1E ; ''
+ mov rsi, rcx
+ ;; size=41 bbWeight=2 PerfScore 10.00
+G_M63751_IG57:
lea rdi, bword ptr [rax+0x08]
call CORINFO_HELP_ASSIGN_REF
- mov rsi, gword ptr [rbp-0x58]
+ mov rsi, gword ptr [rbp-0x50]
test rsi, rsi
- jne SHORT G_M63751_IG61
- mov rsi, 0xD1FFAB1E ; ''
- ;; size=28 bbWeight=2 PerfScore 8.00
-G_M63751_IG61:
- mov rax, gword ptr [rbp-0x68]
+ jne SHORT G_M63751_IG58
+ mov rcx, 0xD1FFAB1E ; ''
+ mov rax, rcx
+ mov rsi, rax
+ ;; size=34 bbWeight=2 PerfScore 9.00
+G_M63751_IG58:
+ mov rax, gword ptr [rbp-0x60]
lea rdi, bword ptr [rax+0x10]
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x78]
+ mov rdi, gword ptr [rbp-0x70]
cmp byte ptr [rdi], dil
- mov rsi, gword ptr [rbp-0x68]
- mov rdx, gword ptr [rbp-0x60]
+ mov rsi, gword ptr [rbp-0x60]
+ mov rdx, gword ptr [rbp-0x58]
mov ecx, 2
mov rax, 0xD1FFAB1E ; code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
call [rax]System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
mov rax, qword ptr [rbp-0x40]
;; size=49 bbWeight=2 PerfScore 26.00
-G_M63751_IG62:
+G_M63751_IG59:
mov rdi, rbx
call [rax+0x38]System.Xml.XmlReader:MoveToNextAttribute():ubyte:this
test eax, eax
jne G_M63751_IG09
;; size=14 bbWeight=4 PerfScore 18.00
-G_M63751_IG63:
+G_M63751_IG60:
mov rdi, rbx
mov rsi, 0xD1FFAB1E ; 'enclosure'
- mov rdx, 0xD1FFAB1E ; ''
+ mov rax, 0xD1FFAB1E ; ''
+ mov r15, rax
+ mov rdx, r15
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x90]
call [rax+0x30]System.Xml.XmlReader:ReadStartElement(System.String,System.String):this
test r12d, r12d
- jne SHORT G_M63751_IG65
- ;; size=41 bbWeight=1 PerfScore 9.00
-G_M63751_IG64:
+ jne SHORT G_M63751_IG62
+ ;; size=47 bbWeight=1 PerfScore 9.50
+G_M63751_IG61:
mov rdi, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+0x98]
call [rax+0x10]System.Xml.XmlReader:ReadEndElement():this
;; size=16 bbWeight=0.50 PerfScore 3.62
-G_M63751_IG65:
+G_M63751_IG62:
mov rax, r13
;; size=3 bbWeight=1 PerfScore 0.25
-G_M63751_IG66:
- vzeroupper
- add rsp, 104
+G_M63751_IG63:
+ add rsp, 120
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=18 bbWeight=1 PerfScore 5.25
-G_M63751_IG67:
+ ;; size=15 bbWeight=1 PerfScore 4.25
+G_M63751_IG64:
mov rax, qword ptr [rbp-0x40]
- jmp SHORT G_M63751_IG62
+ jmp SHORT G_M63751_IG59
;; size=6 bbWeight=1 PerfScore 3.00
-G_M63751_IG68:
+G_M63751_IG65:
cmp eax, 1
- jne SHORT G_M63751_IG69
- mov rdi, bword ptr [rbp-0x88]
+ jne SHORT G_M63751_IG66
+ mov rdi, bword ptr [rbp-0x80]
mov esi, dword ptr [rbp-0x34]
mov rax, 0xD1FFAB1E ; code for System.Number:ThrowFormatException[ushort](System.ReadOnlySpan`1[ushort])
call [rax]System.Number:ThrowFormatException[ushort](System.ReadOnlySpan`1[ushort])
int3
- ;; size=28 bbWeight=0 PerfScore 0.00
-G_M63751_IG69:
+ ;; size=25 bbWeight=0 PerfScore 0.00
+G_M63751_IG66:
mov rax, 0xD1FFAB1E ; code for System.Number:ThrowOverflowException[long]()
call [rax]System.Number:ThrowOverflowException[long]()
int3
;; size=13 bbWeight=0 PerfScore 0.00
-RWD00 dq 0070007400740068h, 0077002F002F003Ah, 0077002E00770077h, 0072006F002E0033h
-RWD32 dq 00670072006F002Eh, 003000300032002Fh, 006D0078002F0030h, 002F0073006E006Ch
-
-; Total bytes of code 1497, prolog size 28, PerfScore 525.21, instruction count 361, allocated bytes for code 1497 (MethodHash=e13506f8) for method System.ServiceModel.Syndication.Rss20FeedFormatter:ReadMediaEnclosure(System.Xml.XmlReader,System.Uri):System.ServiceModel.Syndication.SyndicationLink:this (FullOpts)
+; Total bytes of code 2146, prolog size 28, PerfScore 870.88, instruction count 524, allocated bytes for code 2146 (MethodHash=e13506f8) for method System.ServiceModel.Syndication.Rss20FeedFormatter:ReadMediaEnclosure(System.Xml.XmlReader,System.Uri):System.ServiceModel.Syndication.SyndicationLink:this (FullOpts) Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/b6754d15d11e26012cd1f1fea03094ef |
Top method improvements-273 (-14.64 % of base) - System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this ; Assembly listing for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 11 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 17 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T06] ( 3, 2.50) ref -> r13 this class-hnd single-def <System.Data.XmlTreeGen>
+; V00 this [V00,T08] ( 3, 2.50) ref -> r13 this class-hnd single-def <System.Data.XmlTreeGen>
; V01 arg1 [V01,T00] ( 23, 13.50) ref -> rbx class-hnd single-def <System.ComponentModel.PropertyDescriptor>
; V02 arg2 [V02,T02] ( 8, 5.50) ref -> r15 class-hnd single-def <System.Object>
; V03 arg3 [V03,T03] ( 7, 4.50) ref -> r14 class-hnd single-def <System.Xml.XmlElement>
-; V04 loc0 [V04,T04] ( 8, 4.50) ref -> [rbp-0x48] class-hnd spill-single-def <System.Type>
-; V05 loc1 [V05,T44] ( 3, 2 ) ubyte -> [rbp-0x2C]
-; V06 loc2 [V06,T09] ( 6, 3.50) ref -> [rbp-0x50] class-hnd <System.Data.DataColumn>
-; V07 loc3 [V07,T29] ( 4, 2.50) ubyte -> [rbp-0x30]
-; V08 loc4 [V08,T25] ( 4, 3 ) ubyte -> [rbp-0x34]
-; V09 loc5 [V09,T42] ( 4, 2 ) ref -> r15 class-hnd single-def <System.Object>
-; V10 loc6 [V10,T55] ( 2, 1 ) ref -> r12 class-hnd exact single-def <System.String>
-; V11 loc7 [V11,T49] ( 3, 1.50) ref -> rax class-hnd exact single-def <System.String>
+; V04 loc0 [V04,T05] ( 8, 4.50) ref -> [rbp-0x48] class-hnd spill-single-def <System.Type>
+; V05 loc1 [V05,T20] ( 3, 2 ) ubyte -> [rbp-0x2C]
+; V06 loc2 [V06,T06] ( 8, 4.50) ref -> [rbp-0x50] class-hnd <System.Data.DataColumn>
+; V07 loc3 [V07,T13] ( 4, 2.50) ubyte -> [rbp-0x30]
+; V08 loc4 [V08,T11] ( 4, 3 ) ubyte -> [rbp-0x34]
+; V09 loc5 [V09,T14] ( 4, 2 ) ref -> r15 class-hnd single-def <System.Object>
+; V10 loc6 [V10,T40] ( 2, 1 ) ref -> r12 class-hnd exact single-def <System.String>
+; V11 loc7 [V11,T15] ( 4, 2 ) ref -> rdi class-hnd exact single-def <System.String>
;# V12 OutArgs [V12 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V13 tmp1 [V13,T11] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V14 tmp2 [V14,T30] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V15 tmp3 [V15,T12] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V16 tmp4 [V16,T31] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V17 tmp5 [V17,T13] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V18 tmp6 [V18,T32] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V19 tmp7 [V19,T14] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V20 tmp8 [V20,T33] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V21 tmp9 [V21,T15] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V22 tmp10 [V22,T34] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V23 tmp11 [V23,T16] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V24 tmp12 [V24,T35] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V25 tmp13 [V25,T17] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V26 tmp14 [V26,T36] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V27 tmp15 [V27,T18] ( 5, 3 ) ref -> rax single-def "spilling varStr"
-;* V28 tmp16 [V28,T51] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V29 tmp17 [V29,T19] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V30 tmp18 [V30,T37] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V31 tmp19 [V31,T20] ( 5, 3 ) ref -> rax single-def "spilling varStr"
-;* V32 tmp20 [V32,T52] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V33 tmp21 [V33,T21] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V34 tmp22 [V34,T38] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V35 tmp23 [V35,T22] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V36 tmp24 [V36,T39] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V37 tmp25 [V37,T27] ( 4, 3.50) ref -> rax single-def "spilling varStr"
-; V38 tmp26 [V38,T40] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V39 tmp27 [V39,T23] ( 5, 4.50) ref -> rax single-def "spilling varStr"
-; V40 tmp28 [V40,T41] ( 2, 2 ) int -> rdi "spilling unroll qmark"
-; V41 tmp29 [V41,T50] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
-; V42 tmp30 [V42,T07] ( 4, 4 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.ComponentModel.DesignerSerializationVisibilityAttribute>
-; V43 tmp31 [V43,T08] ( 4, 4 ) ref -> [rbp-0x60] class-hnd spill-single-def "Inlining Arg" <System.ComponentModel.AttributeCollection>
-; V44 tmp32 [V44,T43] ( 4, 2 ) ref -> rax class-hnd single-def "Inline stloc first use temp" <System.Attribute>
-; V45 tmp33 [V45,T28] ( 4, 2.50) ref -> rax single-def "spilling varStr"
-; V46 tmp34 [V46,T54] ( 2, 0.50) int -> rdi "spilling unroll qmark"
-;* V47 tmp35 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V48 tmp36 [V48,T24] ( 5, 3 ) ref -> rdi single-def "spilling varStr"
-;* V49 tmp37 [V49,T53] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V50 tmp38 [V50,T45] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V51 tmp39 [V51,T46] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
-; V52 tmp40 [V52,T47] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V53 tmp41 [V53,T26] ( 3, 3 ) ref -> rdx single-def "argument with side effect"
-; V54 tmp42 [V54,T48] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
-; V55 cse0 [V55,T01] ( 16, 8 ) long -> [rbp-0x40] spill-single-def "CSE #02: aggressive"
-; V56 cse1 [V56,T10] ( 6, 3 ) ref -> rdx multi-def "CSE #03: conservative"
-; V57 cse2 [V57,T05] ( 7, 4.50) long -> r12 "CSE #01: moderate"
-; V58 rat0 [V58,T56] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V59 rat1 [V59,T57] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V60 rat2 [V60,T58] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V61 rat3 [V61,T59] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V62 rat4 [V62,T60] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V63 rat5 [V63,T61] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V64 rat6 [V64,T62] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V65 rat7 [V65,T63] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V66 rat8 [V66,T64] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V67 rat9 [V67,T65] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V68 rat10 [V68,T66] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
-; V69 rat11 [V69,T67] ( 3, 3 ) simd16 -> mm0 "ReplaceWithLclVar is creating a new local variable"
+; V13 tmp1 [V13,T39] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V14 tmp2 [V14,T09] ( 4, 4 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.ComponentModel.DesignerSerializationVisibilityAttribute>
+; V15 tmp3 [V15,T10] ( 4, 4 ) ref -> [rbp-0x60] class-hnd spill-single-def "Inlining Arg" <System.ComponentModel.AttributeCollection>
+; V16 tmp4 [V16,T16] ( 4, 2 ) ref -> rax class-hnd single-def "Inline stloc first use temp" <System.Attribute>
+; V17 tmp5 [V17,T17] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V18 tmp6 [V18 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V19 tmp7 [V19,T04] ( 6, 6 ) ref -> rdi class-hnd exact single-def "Inlining Arg" <System.String>
+; V20 tmp8 [V20,T18] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+;* V21 tmp9 [V21 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V22 tmp10 [V22,T21] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V23 tmp11 [V23,T22] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V24 tmp12 [V24,T23] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V25 tmp13 [V25,T24] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V26 tmp14 [V26,T25] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V27 tmp15 [V27,T26] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V28 tmp16 [V28,T27] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V29 tmp17 [V29,T28] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V30 tmp18 [V30,T29] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V31 tmp19 [V31,T30] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V32 tmp20 [V32,T31] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V33 tmp21 [V33,T32] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V34 tmp22 [V34,T33] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V35 tmp23 [V35,T34] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V36 tmp24 [V36,T35] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V37 tmp25 [V37,T36] ( 2, 2 ) ref -> rdi single-def "argument with side effect"
+; V38 tmp26 [V38,T37] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V39 tmp27 [V39,T12] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V40 tmp28 [V40,T38] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
+; V41 cse0 [V41,T01] ( 16, 8 ) long -> [rbp-0x40] spill-single-def "CSE #02: aggressive"
+; V42 cse1 [V42,T07] ( 7, 4.50) long -> r12 "CSE #01: moderate"
+; V43 cse2 [V43,T19] ( 4, 2 ) int -> rdx "CSE #05: conservative"
;
; Lcl frame size = 56
G_M63482_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 56
lea rbp, [rsp+0x60]
mov r13, rdi
mov rbx, rsi
mov r15, rdx
mov r14, rcx
;; size=31 bbWeight=1 PerfScore 7.75
G_M63482_IG02:
mov rdi, rbx
mov r12, qword ptr [rbx]
mov rax, qword ptr [r12+0x50]
call [rax+0x30]System.ComponentModel.PropertyDescriptor:get_PropertyType():System.Type:this
mov gword ptr [rbp-0x48], rax
xor ecx, ecx
mov dword ptr [rbp-0x2C], ecx
xor rdx, rdx
mov gword ptr [rbp-0x50], rdx
xor r8d, r8d
mov dword ptr [rbp-0x30], r8d
xor r9d, r9d
mov dword ptr [rbp-0x34], r9d
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.DataColumn
mov r10, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [r10]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M63482_IG04
;; size=74 bbWeight=1 PerfScore 18.25
G_M63482_IG03:
mov gword ptr [rbp-0x50], r15
mov dword ptr [rbp-0x2C], 1
movzx r8, byte ptr [r15+0xC3]
mov dword ptr [rbp-0x30], r8d
movzx r9, byte ptr [r15+0xC4]
mov r8d, r9d
mov dword ptr [rbp-0x34], r8d
;; size=38 bbWeight=0.50 PerfScore 4.12
G_M63482_IG04:
cmp dword ptr [rbp-0x34], 0
jne SHORT G_M63482_IG06
;; size=6 bbWeight=1 PerfScore 3.00
G_M63482_IG05:
mov rdi, 0xD1FFAB1E ; 'System.String'
mov rsi, gword ptr [rbp-0x48]
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Boolean'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Type'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Object'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Globalization.CultureInfo'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Int64'
cmp rsi, rdi
je SHORT G_M63482_IG06
mov rdi, 0xD1FFAB1E ; 'System.Int32'
cmp rsi, rdi
- jne G_M63482_IG61
+ jne G_M63482_IG21
;; size=113 bbWeight=0.50 PerfScore 5.75
G_M63482_IG06:
mov rdi, rbx
mov rsi, r15
mov r9, qword ptr [r12+0x60]
call [r9]System.ComponentModel.PropertyDescriptor:ShouldSerializeValue(System.Object):ubyte:this
test eax, eax
je SHORT G_M63482_IG08
mov rdi, rbx
mov rax, qword ptr [r12+0x40]
call [rax+0x30]System.ComponentModel.MemberDescriptor:get_Attributes():System.ComponentModel.AttributeCollection:this
mov gword ptr [rbp-0x60], rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
- je G_M63482_IG65
+ je G_M63482_IG23
;; size=52 bbWeight=0.50 PerfScore 8.62
G_M63482_IG07:
mov rdi, 0xD1FFAB1E ; data for System.ComponentModel.DesignerSerializationVisibilityAttribute:Visible
mov rcx, gword ptr [rdi]
mov gword ptr [rbp-0x58], rcx
cmp byte ptr [rax], al
test rcx, rcx
je SHORT G_M63482_IG08
mov rdi, rcx
call System.Object:GetType():System.Type:this
mov rsi, rax
mov rdi, gword ptr [rbp-0x60]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.ComponentModel.AttributeCollection:get_Item(System.Type):System.Attribute:this
test rax, rax
je SHORT G_M63482_IG08
mov rdi, rax
mov rsi, gword ptr [rbp-0x58]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
call [rax+0x10]System.Object:Equals(System.Object):ubyte:this
test eax, eax
jne SHORT G_M63482_IG09
;; size=75 bbWeight=0.50 PerfScore 13.88
G_M63482_IG08:
cmp dword ptr [rbp-0x30], 0
- je G_M63482_IG61
+ je G_M63482_IG21
;; size=10 bbWeight=0.50 PerfScore 1.50
G_M63482_IG09:
mov rdi, rbx
mov rsi, r15
mov rcx, qword ptr [r12+0x58]
call [rcx+0x18]System.ComponentModel.PropertyDescriptor:GetValue(System.Object):System.Object:this
mov r15, rax
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.InternalDataCollectionBase
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M63482_IG61
+ jne G_M63482_IG21
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Data.PropertyCollection
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
- jne G_M63482_IG61
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [r12+0x48]
mov qword ptr [rbp-0x40], rax
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG12
- ;; size=105 bbWeight=0.50 PerfScore 11.62
-G_M63482_IG10:
- cmp dword ptr [rax+0x08], 9
- jne SHORT G_M63482_IG12
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG11:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD00]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD16]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG12:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Namespace'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG15
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG13:
- cmp dword ptr [rax+0x08], 10
- jne SHORT G_M63482_IG15
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG14:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD32]
- vmovups xmm1, xmmword ptr [rax+0x10]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD48]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG15:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'PrimaryKey'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG18
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG16:
- cmp dword ptr [rax+0x08], 10
- jne SHORT G_M63482_IG18
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG17:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD64]
- vmovups xmm1, xmmword ptr [rax+0x10]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD80]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG18:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'ColumnName'
+ ;; size=209 bbWeight=0.50 PerfScore 20.75
+G_M63482_IG10:
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG21
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG19:
- cmp dword ptr [rax+0x08], 12
- jne SHORT G_M63482_IG21
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG20:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD96]
- vmovups xmm1, xmmword ptr [rax+0x14]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD112]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG21:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DefaultValue'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG24
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG22:
- cmp dword ptr [rax+0x08], 9
- jne SHORT G_M63482_IG24
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG23:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD128]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD144]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG24:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'TableName'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG27
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG25:
- cmp dword ptr [rax+0x08], 11
- jne SHORT G_M63482_IG27
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG26:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD160]
- vmovups xmm1, xmmword ptr [rax+0x12]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD176]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG27:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DataSetName'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG30
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG28:
- cmp dword ptr [rax+0x08], 11
- jne SHORT G_M63482_IG30
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG29:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD192]
- vmovups xmm1, xmmword ptr [rax+0x12]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD208]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG30:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'AllowDBNull'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=207 bbWeight=0.50 PerfScore 19.25
+G_M63482_IG11:
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG33
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG31:
- cmp dword ptr [rax+0x08], 6
- jne SHORT G_M63482_IG33
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG32:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov eax, dword ptr [rax+0x14]
- xor eax, 0xD1FFAB1E
- or rdi, rax
- je G_M63482_IG61
- ;; size=31 bbWeight=0.12 PerfScore 0.84
-G_M63482_IG33:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Unique'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG36
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG34:
- cmp dword ptr [rax+0x08], 15
- jne SHORT G_M63482_IG36
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG35:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD224]
- vmovups xmm1, xmmword ptr [rax+0x1A]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD240]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG36:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'NestedInDataSet'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG39
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG37:
- cmp dword ptr [rax+0x08], 6
- jne SHORT G_M63482_IG39
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG38:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
- mov eax, dword ptr [rax+0x14]
- xor eax, 0xD1FFAB1E
- or rdi, rax
- je G_M63482_IG61
- ;; size=31 bbWeight=0.12 PerfScore 0.84
-G_M63482_IG39:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Locale'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG42
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG40:
- cmp dword ptr [rax+0x08], 13
- jne SHORT G_M63482_IG42
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG41:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD256]
- vmovups xmm1, xmmword ptr [rax+0x16]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD272]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG42:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'CaseSensitive'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ ;; size=194 bbWeight=0.50 PerfScore 20.50
+G_M63482_IG12:
+ test eax, eax
+ jne G_M63482_IG21
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je SHORT G_M63482_IG45
- ;; size=15 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG43:
- cmp dword ptr [rax+0x08], 14
- jne SHORT G_M63482_IG45
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG44:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD288]
- vmovups xmm1, xmmword ptr [rax+0x18]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD304]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne G_M63482_IG61
- ;; size=51 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG45:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'RemotingFormat'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne G_M63482_IG21
cmp dword ptr [rbp-0x2C], 0
- je G_M63482_IG60
+ je G_M63482_IG20
mov rdi, rbx
mov rax, qword ptr [rbp-0x40]
call [rax+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je G_M63482_IG57
- ;; size=29 bbWeight=0.50 PerfScore 4.25
-G_M63482_IG46:
- cmp dword ptr [rax+0x08], 8
- jne G_M63482_IG57
- ;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG47:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD320]
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- je G_M63482_IG57
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'DataType'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ je G_M63482_IG19
mov r15, gword ptr [rbp-0x50]
mov rdi, gword ptr [r15+0x28]
mov rax, 0xD1FFAB1E ; code for System.Data.XmlTreeGen:XmlDataTypeName(System.Type):System.String
call [rax]System.Data.XmlTreeGen:XmlDataTypeName(System.Type):System.String
+ mov rdi, rax
cmp dword ptr [rbp-0x30], 0
- jne SHORT G_M63482_IG48
- mov rdx, gword ptr [r15+0x28]
- mov rdi, 0xD1FFAB1E ; 'System.Numerics.BigInteger'
- cmp rdx, rdi
- jne SHORT G_M63482_IG49
- ;; size=79 bbWeight=0.50 PerfScore 12.12
-G_M63482_IG48:
- mov rdx, gword ptr [r15+0x28]
- mov rdi, rdx
- mov rax, qword ptr [rdx]
+ jne SHORT G_M63482_IG13
+ mov rax, 0xD1FFAB1E ; 'System.Numerics.BigInteger'
+ cmp gword ptr [r15+0x28], rax
+ jne SHORT G_M63482_IG14
+ ;; size=159 bbWeight=0.50 PerfScore 18.50
+G_M63482_IG13:
+ mov rdi, gword ptr [r15+0x28]
+ mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x50]
call [rax+0x20]System.Type:get_FullName():System.String:this
mov rcx, rax
mov rdi, r14
mov rsi, 0xD1FFAB1E ; 'DataType'
mov rdx, 0xD1FFAB1E ; 'urn:schemas-microsoft-com:xml-msdata'
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Xml.XmlElement:SetAttribute(System.String,System.String,System.String):System.String:this
- jmp G_M63482_IG61
- ;; size=61 bbWeight=0.50 PerfScore 9.62
-G_M63482_IG49:
- cmp dword ptr [rax+0x08], 0
- sete dil
- movzx rdi, dil
- or edi, dword ptr [rbp-0x34]
- jne SHORT G_M63482_IG55
- cmp dword ptr [rax+0x08], 7
- jne SHORT G_M63482_IG54
- ;; size=23 bbWeight=0.50 PerfScore 5.62
-G_M63482_IG50:
- mov rdi, 0xD1FFAB1E
- xor rdi, qword ptr [rax+0x0C]
+ jmp G_M63482_IG21
+ ;; size=58 bbWeight=0.50 PerfScore 9.50
+G_M63482_IG14:
+ mov edx, dword ptr [rdi+0x08]
+ test edx, edx
+ sete sil
+ movzx rsi, sil
+ or esi, dword ptr [rbp-0x34]
+ jne G_M63482_IG17
+ mov rsi, 0xD1FFAB1E ; 'anyType'
+ cmp rdi, rsi
+ je SHORT G_M63482_IG15
+ cmp edx, 7
+ jne SHORT G_M63482_IG16
+ add edx, edx
mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rax+0x12]
- or rdi, rsi
- sete dil
- movzx rdi, dil
- test dil, dil
- je SHORT G_M63482_IG54
- ;; size=44 bbWeight=0.12 PerfScore 1.16
-G_M63482_IG51:
+ add rdi, 12
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ je SHORT G_M63482_IG16
+ ;; size=74 bbWeight=0.50 PerfScore 7.25
+G_M63482_IG15:
mov rdi, gword ptr [r15+0x90]
+ mov rdx, 0xD1FFAB1E ; 'anyType'
+ cmp rdi, rdx
+ je SHORT G_M63482_IG16
test rdi, rdi
- je SHORT G_M63482_IG55
- ;; size=12 bbWeight=0.50 PerfScore 1.62
-G_M63482_IG52:
+ je SHORT G_M63482_IG17
cmp dword ptr [rdi+0x08], 7
- jne SHORT G_M63482_IG55
- ;; size=6 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG53:
+ jne SHORT G_M63482_IG17
+ mov edx, dword ptr [rdi+0x08]
+ add edx, edx
mov rsi, 0xD1FFAB1E
- xor rsi, qword ptr [rdi+0x0C]
- mov rax, 0xD1FFAB1E
- xor rax, qword ptr [rdi+0x12]
- or rsi, rax
- jne SHORT G_M63482_IG55
- ;; size=33 bbWeight=0.12 PerfScore 0.97
-G_M63482_IG54:
- mov rdi, 0xD1FFAB1E ; 'System.DateTimeOffset'
- cmp rdx, rdi
- jne G_M63482_IG61
- ;; size=19 bbWeight=0.50 PerfScore 0.75
-G_M63482_IG55:
+ add rdi, 12
+ mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ call [rax]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
+ test eax, eax
+ je SHORT G_M63482_IG17
+ ;; size=68 bbWeight=0.50 PerfScore 8.00
+G_M63482_IG16:
+ mov rdx, 0xD1FFAB1E ; 'System.DateTimeOffset'
+ cmp gword ptr [r15+0x28], rdx
+ jne G_M63482_IG21
+ ;; size=20 bbWeight=0.50 PerfScore 2.12
+G_M63482_IG17:
+ mov rdx, gword ptr [r15+0x28]
mov rdi, r13
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Data.XmlTreeGen:SetMSDataAttribute(System.Xml.XmlElement,System.Type):this
- ;; size=16 bbWeight=0.50 PerfScore 0.38
-G_M63482_IG56:
+ ;; size=20 bbWeight=0.50 PerfScore 1.38
+G_M63482_IG18:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
tail.jmp [rax]System.Data.XmlTreeGen:SetMSDataAttribute(System.Xml.XmlElement,System.Type):this
;; size=17 bbWeight=0.50 PerfScore 2.62
-G_M63482_IG57:
+G_M63482_IG19:
mov rdi, rbx
mov r13, qword ptr [rbp-0x40]
call [r13+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
- test rax, rax
- je G_M63482_IG64
- ;; size=20 bbWeight=0.50 PerfScore 2.75
-G_M63482_IG58:
- cmp dword ptr [rax+0x08], 9
- jne G_M63482_IG63
- ;; size=10 bbWeight=0.25 PerfScore 1.00
-G_M63482_IG59:
- vmovups xmm0, xmmword ptr [rax+0x0C]
- vpxor xmm0, xmm0, xmmword ptr [reloc @RWD336]
- vmovups xmm1, xmmword ptr [rax+0x0E]
- vpxor xmm1, xmm1, xmmword ptr [reloc @RWD352]
- vpor xmm0, xmm1, xmm0
- vptest xmm0, xmm0
- sete dil
- movzx rdi, dil
- test edi, edi
- jne SHORT G_M63482_IG61
- ;; size=47 bbWeight=0.50 PerfScore 8.92
-G_M63482_IG60:
+ mov rdi, rax
+ mov rsi, 0xD1FFAB1E ; 'Attribute'
+ mov edx, 4
+ mov rax, 0xD1FFAB1E ; code for System.String:Equals(System.String,System.String,int):ubyte
+ call [rax]System.String:Equals(System.String,System.String,int):ubyte
+ test eax, eax
+ jne SHORT G_M63482_IG21
+ ;; size=45 bbWeight=0.50 PerfScore 4.75
+G_M63482_IG20:
mov rdi, rbx
mov rax, qword ptr [r12+0x50]
call [rax+0x10]System.ComponentModel.PropertyDescriptor:get_Converter():System.ComponentModel.TypeConverter:this
mov rdi, rax
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.ComponentModel.TypeConverter:ConvertToString(System.Object):System.String:this
cmp dword ptr [rdi], edi
call [rax]System.ComponentModel.TypeConverter:ConvertToString(System.Object):System.String:this
mov r12, rax
mov rdi, rbx
mov r13, qword ptr [rbp-0x40]
call [r13+0x10]System.ComponentModel.MemberDescriptor:get_Name():System.String:this
mov rsi, rax
mov rdi, r14
mov rcx, r12
mov rdx, 0xD1FFAB1E ; 'urn:schemas-microsoft-com:xml-msdata'
mov rax, qword ptr [r14]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Xml.XmlElement:SetAttribute(System.String,System.String,System.String):System.String:this
;; size=77 bbWeight=0.50 PerfScore 12.25
-G_M63482_IG61:
+G_M63482_IG21:
nop
;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M63482_IG62:
+G_M63482_IG22:
add rsp, 56
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M63482_IG63:
- jmp SHORT G_M63482_IG60
- ;; size=2 bbWeight=0.12 PerfScore 0.25
-G_M63482_IG64:
- jmp SHORT G_M63482_IG60
- ;; size=2 bbWeight=0.25 PerfScore 0.50
-G_M63482_IG65:
+G_M63482_IG23:
mov rdi, 0xD1FFAB1E
mov esi, 12
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rax, gword ptr [rbp-0x60]
jmp G_M63482_IG07
;; size=29 bbWeight=0 PerfScore 0.00
-RWD00 dq 0065006D0061004Eh, 0063006100700073h
-RWD16 dq 00730065006D0061h, 0065006300610070h
-RWD32 dq 006D006900720050h, 004B007900720061h
-RWD48 dq 00720061006D0069h, 00790065004B0079h
-RWD64 dq 0075006C006F0043h, 0061004E006E006Dh
-RWD80 dq 006E006D0075006Ch, 0065006D0061004Eh
-RWD96 dq 0061006600650044h, 00560074006C0075h
-RWD112 dq 00560074006C0075h, 00650075006C0061h
-RWD128 dq 006C006200610054h, 006D0061004E0065h
-RWD144 dq 0065006C00620061h, 0065006D0061004Eh
-RWD160 dq 0061007400610044h, 004E007400650053h
-RWD176 dq 0074006500530061h, 0065006D0061004Eh
-RWD192 dq 006F006C006C0041h, 004E004200440077h
-RWD208 dq 004200440077006Fh, 006C006C0075004Eh
-RWD224 dq 007400730065004Eh, 006E004900640065h
-RWD240 dq 007400610044006Eh, 0074006500530061h
-RWD256 dq 0065007300610043h, 0073006E00650053h
-RWD272 dq 00690073006E0065h, 0065007600690074h
-RWD288 dq 006F006D00650052h, 0067006E00690074h
-RWD304 dq 006F00460067006Eh, 00740061006D0072h
-RWD320 dq 0061007400610044h, 0065007000790054h
-RWD336 dq 0072007400740041h, 0074007500620069h
-RWD352 dq 0069007200740074h, 0065007400750062h
-
-; Total bytes of code 1865, prolog size 19, PerfScore 276.65, instruction count 445, allocated bytes for code 1865 (MethodHash=71d40805) for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this (FullOpts)
+; Total bytes of code 1592, prolog size 19, PerfScore 192.00, instruction count 363, allocated bytes for code 1592 (MethodHash=71d40805) for method System.Data.XmlTreeGen:AddXdoProperty(System.ComponentModel.PropertyDescriptor,System.Object,System.Xml.XmlElement):this (FullOpts) Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/4c22eb07848c6400c88b11f3ab1ec905 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 26 minutes.
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: