; Assembly listing for method System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts)
; Emitting BLENDED_CODE for X86 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; fully interruptible
; No PGO data
-; 0 inlinees with PGO data; 68 single block inlinees; 15 inlinees without PGO data
+; 0 inlinees with PGO data; 68 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T01] ( 56, 29 ) ref -> rbx class-hnd single-def <System.Type>
+; V00 arg0 [V00,T01] ( 47, 24.50) ref -> rbx class-hnd single-def <System.Type>
; V01 arg1 [V01,T15] ( 11, 6.50) ubyte -> r13 single-def
; V02 arg2 [V02,T11] ( 12, 7.50) byref -> r14 single-def
; V03 arg3 [V03,T08] ( 23, 13 ) byref -> r15 single-def
-; V04 arg4 [V04,T30] ( 5, 3.50) ubyte -> r12 single-def
-; V05 arg5 [V05,T31] ( 5, 3.50) ubyte -> [rbp-0x2C] single-def
+; V04 arg4 [V04,T31] ( 5, 3.50) ubyte -> r12 single-def
+; V05 arg5 [V05,T32] ( 5, 3.50) ubyte -> [rbp-0x2C] single-def
; V06 loc0 [V06 ] ( 10, 5 ) ref -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Reflection.MethodInfo>
; V07 loc1 [V07 ] ( 10, 5 ) ref -> [rbp-0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Reflection.MethodInfo>
-; V08 loc2 [V08,T35] ( 8, 4 ) ubyte -> [rbp-0x44] spill-single-def
-; V09 loc3 [V09,T37] ( 6, 3 ) ubyte -> [rbp-0x48]
+; V08 loc2 [V08,T36] ( 8, 4 ) ubyte -> [rbp-0x44] spill-single-def
+; V09 loc3 [V09,T38] ( 6, 3 ) ubyte -> [rbp-0x48]
; V10 loc4 [V10 ] ( 5, 2.50) ref -> [rbp-0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V11 loc5 [V11 ] ( 5, 2.50) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
-; V12 loc6 [V12,T29] ( 11, 5.50) ref -> [rbp-0xC0] class-hnd spill-single-def <System.Type>
-; V13 loc7 [V13,T38] ( 6, 3 ) ubyte -> [rbp-0x5C] spill-single-def
-; V14 loc8 [V14,T63] ( 5, 2.50) ref -> [rbp-0xC8] class-hnd <System.Reflection.ConstructorInfo>
-; V15 loc9 [V15,T12] ( 15, 9 ) ref -> [rbp-0xD0] class-hnd <System.Type>
+; V12 loc6 [V12,T30] ( 11, 5.50) ref -> [rbp-0xC8] class-hnd spill-single-def <System.Type>
+; V13 loc7 [V13,T39] ( 6, 3 ) ubyte -> [rbp-0x5C] spill-single-def
+; V14 loc8 [V14,T64] ( 5, 2.50) ref -> [rbp-0xD0] class-hnd <System.Reflection.ConstructorInfo>
+; V15 loc9 [V15,T12] ( 15, 9 ) ref -> [rbp-0xD8] class-hnd <System.Type>
; V16 loc10 [V16,T09] ( 15, 13.49) ubyte -> [rbp-0x60]
-; V17 loc11 [V17,T32] ( 5, 5.50) ubyte -> [rbp-0x64]
-; V18 loc12 [V18,T20] ( 7, 7 ) ref -> [rbp-0xD8] class-hnd spill-single-def <System.Type>
-; V19 loc13 [V19,T13] ( 4, 9 ) ref -> [rbp-0xE0] class-hnd spill-single-def <System.Type[]>
-; V20 loc14 [V20,T118] ( 2, 1 ) int -> r12
-; V21 loc15 [V21,T64] ( 5, 2.50) ref -> [rbp-0xE8] class-hnd spill-single-def <System.Type[]>
-; V22 loc16 [V22,T14] ( 4, 9 ) ref -> [rbp-0xF0] class-hnd spill-single-def <System.Type[]>
-;* V23 loc17 [V23,T130] ( 0, 0 ) int -> zero-ref
-; V24 loc18 [V24,T04] ( 7, 20 ) ref -> [rbp-0xF8] class-hnd spill-single-def <System.Type>
-; V25 loc19 [V25,T05] ( 2, 20 ) ref -> [rbp-0x100] class-hnd spill-single-def <System.Type>
-; V26 loc20 [V26,T02] ( 3, 24 ) ref -> [rbp-0x108] class-hnd spill-single-def <System.Type[]>
+; V17 loc11 [V17,T33] ( 5, 5.50) ubyte -> [rbp-0x64]
+; V18 loc12 [V18,T20] ( 7, 7 ) ref -> [rbp-0xE0] class-hnd spill-single-def <System.Type>
+; V19 loc13 [V19,T13] ( 4, 9 ) ref -> [rbp-0xE8] class-hnd spill-single-def <System.Type[]>
+; V20 loc14 [V20,T120] ( 2, 1 ) int -> r12
+; V21 loc15 [V21,T65] ( 5, 2.50) ref -> [rbp-0xF0] class-hnd spill-single-def <System.Type[]>
+; V22 loc16 [V22,T14] ( 4, 9 ) ref -> [rbp-0xF8] class-hnd spill-single-def <System.Type[]>
+;* V23 loc17 [V23,T131] ( 0, 0 ) int -> zero-ref
+; V24 loc18 [V24,T04] ( 7, 20 ) ref -> [rbp-0x100] class-hnd spill-single-def <System.Type>
+; V25 loc19 [V25,T05] ( 2, 20 ) ref -> [rbp-0x108] class-hnd spill-single-def <System.Type>
+; V26 loc20 [V26,T02] ( 3, 24 ) ref -> [rbp-0x110] class-hnd spill-single-def <System.Type[]>
; V27 loc21 [V27,T18] ( 2, 4 ) int -> r8
; V28 loc22 [V28,T10] ( 5, 10 ) ubyte -> r8
-; V29 loc23 [V29,T19] ( 14, 7 ) ref -> [rbp-0x110] class-hnd <System.Type[]>
-; V30 loc24 [V30,T127] ( 2, 1 ) ubyte -> rax
+; V29 loc23 [V29,T19] ( 14, 7 ) ref -> [rbp-0x118] class-hnd <System.Type[]>
+; V30 loc24 [V30,T128] ( 2, 1 ) ubyte -> rax
; V31 OutArgs [V31 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V32 tmp1 [V32,T119] ( 2, 1 ) int -> rax
-; V33 tmp2 [V33,T120] ( 3, 1.50) int -> rax
+; V32 tmp1 [V32,T121] ( 2, 1 ) int -> rax
+; V33 tmp2 [V33,T122] ( 3, 1.50) int -> rax
; V34 tmp3 [V34,T17] ( 3, 8 ) ref -> registers
;* V35 tmp4 [V35 ] ( 0, 0 ) byref -> zero-ref
;* V36 tmp5 [V36 ] ( 0, 0 ) byref -> zero-ref single-def
-; V37 tmp6 [V37,T113] ( 3, 1.50) ref -> rsi
-; V38 tmp7 [V38,T39] ( 3, 3 ) ref -> [rbp-0x118] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V37 tmp6 [V37,T115] ( 3, 1.50) ref -> rsi
+; V38 tmp7 [V38,T40] ( 3, 3 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "dup spill" <System.Type[]>
;* V39 tmp8 [V39 ] ( 0, 0 ) byref -> zero-ref single-def
; V40 tmp9 [V40,T21] ( 7, 7 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
;* V41 tmp10 [V41 ] ( 0, 0 ) byref -> zero-ref
-; V42 tmp11 [V42,T114] ( 3, 1.50) ref -> r12
-; V43 tmp12 [V43,T22] ( 7, 7 ) ref -> [rbp-0x120] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
+; V42 tmp11 [V42,T116] ( 3, 1.50) ref -> r12
+; V43 tmp12 [V43,T22] ( 7, 7 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
;* V44 tmp13 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V45 tmp14 [V45 ] ( 0, 0 ) ref -> zero-ref single-def
-; V46 tmp15 [V46,T128] ( 2, 1 ) int -> r13
-; V47 tmp16 [V47,T129] ( 2, 1 ) int -> r12
+; V46 tmp15 [V46,T129] ( 2, 1 ) int -> r13
+; V47 tmp16 [V47,T130] ( 2, 1 ) int -> r12
;* V48 tmp17 [V48 ] ( 0, 0 ) ref -> zero-ref single-def
;* V49 tmp18 [V49 ] ( 0, 0 ) int -> zero-ref
;* V50 tmp19 [V50 ] ( 0, 0 ) int -> zero-ref
-; V51 tmp20 [V51,T121] ( 3, 1.50) int -> [rbp-0x68]
+; V51 tmp20 [V51,T123] ( 3, 1.50) int -> [rbp-0x68]
;* V52 tmp21 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V53 tmp22 [V53 ] ( 0, 0 ) byref -> zero-ref single-def
; V54 tmp23 [V54,T23] ( 7, 7 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
;* V55 tmp24 [V55 ] ( 0, 0 ) byref -> zero-ref
-; V56 tmp25 [V56,T115] ( 3, 1.50) ref -> r12
-; V57 tmp26 [V57,T24] ( 7, 7 ) ref -> [rbp-0x128] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
-; V58 tmp27 [V58,T40] ( 3, 3 ) ref -> [rbp-0x130] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V59 tmp28 [V59,T36] ( 4, 4 ) ref -> [rbp-0x138] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V60 tmp29 [V60,T66] ( 2, 2 ) ref -> rax class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
-; V61 tmp30 [V61,T67] ( 2, 2 ) ref -> rax class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
-; V62 tmp31 [V62,T65] ( 4, 2 ) int -> rax
+; V56 tmp25 [V56,T117] ( 3, 1.50) ref -> r12
+; V57 tmp26 [V57,T24] ( 7, 7 ) ref -> [rbp-0x130] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
+; V58 tmp27 [V58,T41] ( 3, 3 ) ref -> [rbp-0x138] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V59 tmp28 [V59,T37] ( 4, 4 ) ref -> [rbp-0x140] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V60 tmp29 [V60,T68] ( 2, 2 ) ref -> rax class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
+; V61 tmp30 [V61,T69] ( 2, 2 ) ref -> rax class-hnd single-def "Strict ordering of exceptions for Array store" <System.Type>
+; V62 tmp31 [V62,T66] ( 4, 2 ) int -> rax
;* V63 tmp32 [V63 ] ( 0, 0 ) byref -> zero-ref
;* V64 tmp33 [V64 ] ( 0, 0 ) byref -> zero-ref single-def
-; V65 tmp34 [V65,T116] ( 3, 1.50) ref -> rax
+; V65 tmp34 [V65,T118] ( 3, 1.50) ref -> rax
;* V66 tmp35 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V67 tmp36 [V67,T117] ( 3, 1.50) ref -> rax
+; V67 tmp36 [V67,T119] ( 3, 1.50) ref -> rax
; V68 tmp37 [V68,T25] ( 7, 7 ) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract>
-; V69 tmp38 [V69,T41] ( 3, 3 ) ref -> [rbp-0x140] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V70 tmp39 [V70,T42] ( 3, 3 ) ref -> [rbp-0x148] class-hnd spill-single-def "impAppendStmt" <System.Type>
-; V71 tmp40 [V71,T43] ( 3, 3 ) ref -> [rbp-0x150] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V72 tmp41 [V72,T44] ( 3, 3 ) ref -> [rbp-0x158] class-hnd spill-single-def "impAppendStmt" <System.Type>
-; V73 tmp42 [V73,T45] ( 3, 3 ) ref -> [rbp-0x160] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V74 tmp43 [V74,T46] ( 3, 3 ) ref -> [rbp-0x168] class-hnd spill-single-def "impAppendStmt" <System.Type>
-; V75 tmp44 [V75,T68] ( 2, 2 ) ref -> rax class-hnd "Strict ordering of exceptions for Array store" <System.Type>
+; V69 tmp38 [V69,T42] ( 3, 3 ) ref -> [rbp-0x148] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V70 tmp39 [V70,T43] ( 3, 3 ) ref -> [rbp-0x150] class-hnd spill-single-def "impAppendStmt" <System.Type>
+; V71 tmp40 [V71,T44] ( 3, 3 ) ref -> [rbp-0x158] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V72 tmp41 [V72,T45] ( 3, 3 ) ref -> [rbp-0x160] class-hnd spill-single-def "impAppendStmt" <System.Type>
+; V73 tmp42 [V73,T46] ( 3, 3 ) ref -> [rbp-0x168] class-hnd exact spill-single-def "dup spill" <System.Type[]>
+; V74 tmp43 [V74,T47] ( 3, 3 ) ref -> [rbp-0x170] class-hnd spill-single-def "impAppendStmt" <System.Type>
+; V75 tmp44 [V75,T70] ( 2, 2 ) ref -> rax class-hnd "Strict ordering of exceptions for Array store" <System.Type>
;* V76 tmp45 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V77 tmp46 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V78 tmp47 [V78 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V79 tmp48 [V79 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V80 tmp49 [V80 ] ( 3, 1.50) ref -> [rbp-0x70] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Type>
-; V81 tmp50 [V81,T122] ( 3, 1.50) ubyte -> rax "Inline return value spill temp"
+; V81 tmp50 [V81,T124] ( 3, 1.50) ubyte -> rax "Inline return value spill temp"
; V82 tmp51 [V82 ] ( 2, 1 ) ref -> [rbp-0x78] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Runtime.Serialization.DataContracts.DataContract>
-; V83 tmp52 [V83,T47] ( 3, 3 ) ref -> rax class-hnd "Inlining Arg" <System.Type>
+;* V83 tmp52 [V83,T132] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V84 tmp53 [V84,T48] ( 3, 3 ) ref -> rax class-hnd "Inlining Arg" <System.Type>
; V85 tmp54 [V85,T49] ( 3, 3 ) ref -> rax class-hnd "Inlining Arg" <System.Type>
-;* V86 tmp55 [V86 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V87 tmp56 [V87,T69] ( 2, 2 ) ref -> r15 class-hnd "Inlining Arg" <System.Type>
-; V88 tmp57 [V88,T70] ( 2, 2 ) ref -> [rbp-0x170] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V89 tmp58 [V89,T50] ( 3, 3 ) ref -> [rbp-0x178] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V90 tmp59 [V90,T26] ( 7, 7 ) ref -> [rbp-0x180] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
-;* V91 tmp60 [V91 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V92 tmp61 [V92,T133] ( 2, 0 ) ref -> r15 class-hnd exact "non-inline candidate call" <System.String>
-; V93 tmp62 [V93,T132] ( 4, 0 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Runtime.Serialization.InvalidDataContractException>
-;* V94 tmp63 [V94 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V95 tmp64 [V95,T134] ( 2, 0 ) ref -> rbx class-hnd exact "Inlining Arg" <System.String>
-; V96 tmp65 [V96,T71] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.Type[]>
-;* V97 tmp66 [V97,T131] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V98 tmp67 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-;* V99 tmp68 [V99 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V86 tmp55 [V86,T50] ( 3, 3 ) ref -> rax class-hnd "Inlining Arg" <System.Type>
+;* V87 tmp56 [V87 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V88 tmp57 [V88,T71] ( 2, 2 ) ref -> r15 class-hnd "Inlining Arg" <System.Type>
+; V89 tmp58 [V89,T72] ( 2, 2 ) ref -> [rbp-0x178] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V90 tmp59 [V90,T51] ( 3, 3 ) ref -> [rbp-0x180] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V91 tmp60 [V91,T26] ( 7, 7 ) ref -> [rbp-0x188] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
+;* V92 tmp61 [V92 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V93 tmp62 [V93,T135] ( 2, 0 ) ref -> r15 class-hnd exact "non-inline candidate call" <System.String>
+; V94 tmp63 [V94,T134] ( 4, 0 ) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Runtime.Serialization.InvalidDataContractException>
+;* V95 tmp64 [V95 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V96 tmp65 [V96,T136] ( 2, 0 ) ref -> rbx class-hnd exact "Inlining Arg" <System.String>
+; V97 tmp66 [V97,T73] ( 2, 2 ) ref -> r8 class-hnd exact single-def "Inlining Arg" <System.Type[]>
+;* V98 tmp67 [V98,T133] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V99 tmp68 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V100 tmp69 [V100 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V101 tmp70 [V101,T72] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V102 tmp71 [V102,T73] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
-; V103 tmp72 [V103,T74] ( 2, 2 ) ref -> [rbp-0x188] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V104 tmp73 [V104,T75] ( 2, 2 ) ref -> [rbp-0x190] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-;* V105 tmp74 [V105 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V106 tmp75 [V106,T27] ( 6, 6 ) ref -> [rbp-0x198] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
-;* V107 tmp76 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V108 tmp77 [V108,T76] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
-; V109 tmp78 [V109,T77] ( 2, 2 ) ref -> [rbp-0x1A0] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V110 tmp79 [V110,T78] ( 2, 2 ) ref -> [rbp-0x1A8] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V111 tmp80 [V111,T79] ( 2, 2 ) ref -> [rbp-0x1B0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V112 tmp81 [V112,T33] ( 5, 5 ) ref -> [rbp-0x1B8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
-; V113 tmp82 [V113,T80] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
-; V114 tmp83 [V114,T81] ( 2, 2 ) ref -> [rbp-0x1C0] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V115 tmp84 [V115,T82] ( 2, 2 ) ref -> [rbp-0x1C8] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-;* V116 tmp85 [V116 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V117 tmp86 [V117,T28] ( 6, 6 ) ref -> [rbp-0x1D0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
-;* V118 tmp87 [V118 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V119 tmp88 [V119,T83] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
-; V120 tmp89 [V120,T84] ( 2, 2 ) ref -> [rbp-0x1D8] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
-; V121 tmp90 [V121,T85] ( 2, 2 ) ref -> [rbp-0x1E0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V122 tmp91 [V122,T86] ( 2, 2 ) ref -> [rbp-0x1E8] class-hnd exact spill-single-def "Inlining Arg" <System.String>
-; V123 tmp92 [V123,T34] ( 5, 5 ) ref -> [rbp-0x1F0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
-; V124 tmp93 [V124,T16] ( 8, 8 ) int -> rax "Single return block return value"
-; V125 tmp94 [V125,T87] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V126 tmp95 [V126,T88] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V127 tmp96 [V127,T89] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V128 tmp97 [V128,T90] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V129 tmp98 [V129,T91] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V130 tmp99 [V130,T51] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+;* V101 tmp70 [V101 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V102 tmp71 [V102,T74] ( 2, 2 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V103 tmp72 [V103,T75] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
+; V104 tmp73 [V104,T76] ( 2, 2 ) ref -> [rbp-0x190] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V105 tmp74 [V105,T77] ( 2, 2 ) ref -> [rbp-0x198] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+;* V106 tmp75 [V106 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V107 tmp76 [V107,T28] ( 6, 6 ) ref -> [rbp-0x1A0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
+;* V108 tmp77 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V109 tmp78 [V109,T78] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
+; V110 tmp79 [V110,T79] ( 2, 2 ) ref -> [rbp-0x1A8] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V111 tmp80 [V111,T80] ( 2, 2 ) ref -> [rbp-0x1B0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V112 tmp81 [V112,T81] ( 2, 2 ) ref -> [rbp-0x1B8] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V113 tmp82 [V113,T34] ( 5, 5 ) ref -> [rbp-0x1C0] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
+; V114 tmp83 [V114,T82] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
+; V115 tmp84 [V115,T83] ( 2, 2 ) ref -> [rbp-0x1C8] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V116 tmp85 [V116,T84] ( 2, 2 ) ref -> [rbp-0x1D0] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+;* V117 tmp86 [V117 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V118 tmp87 [V118,T29] ( 6, 6 ) ref -> [rbp-0x1D8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
+;* V119 tmp88 [V119 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
+; V120 tmp89 [V120,T85] ( 2, 2 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Type>
+; V121 tmp90 [V121,T86] ( 2, 2 ) ref -> [rbp-0x1E0] class-hnd spill-single-def "Inlining Arg" <System.Reflection.MethodInfo>
+; V122 tmp91 [V122,T87] ( 2, 2 ) ref -> [rbp-0x1E8] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V123 tmp92 [V123,T88] ( 2, 2 ) ref -> [rbp-0x1F0] class-hnd exact spill-single-def "Inlining Arg" <System.String>
+; V124 tmp93 [V124,T35] ( 5, 5 ) ref -> [rbp-0x1F8] class-hnd exact spill-single-def "NewObj constructor temp" <System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper>
+; V125 tmp94 [V125,T16] ( 8, 8 ) int -> rax "Single return block return value"
+; V126 tmp95 [V126,T89] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V127 tmp96 [V127,T90] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V128 tmp97 [V128,T91] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V129 tmp98 [V129,T92] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V130 tmp99 [V130,T93] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
; V131 tmp100 [V131,T52] ( 3, 3 ) ref -> rax single-def "argument with side effect"
-; V132 tmp101 [V132,T92] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V133 tmp102 [V133,T93] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V134 tmp103 [V134,T94] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V135 tmp104 [V135,T95] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V136 tmp105 [V136,T96] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V137 tmp106 [V137,T53] ( 3, 3 ) ref -> rax "argument with side effect"
+; V132 tmp101 [V132,T53] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+; V133 tmp102 [V133,T94] ( 2, 2 ) ref -> rsi "argument with side effect"
+; V134 tmp103 [V134,T95] ( 2, 2 ) ref -> rsi "argument with side effect"
+; V135 tmp104 [V135,T96] ( 2, 2 ) ref -> rsi "argument with side effect"
+; V136 tmp105 [V136,T97] ( 2, 2 ) ref -> rsi "argument with side effect"
+; V137 tmp106 [V137,T98] ( 2, 2 ) ref -> rsi "argument with side effect"
; V138 tmp107 [V138,T54] ( 3, 3 ) ref -> rax "argument with side effect"
-; V139 tmp108 [V139,T97] ( 2, 2 ) ref -> rsi "argument with side effect"
-; V140 tmp109 [V140,T135] ( 2, 0 ) ref -> rsi "argument with side effect"
-; V141 tmp110 [V141,T98] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
-; V142 tmp111 [V142,T55] ( 3, 3 ) ref -> rax single-def "argument with side effect"
-; V143 tmp112 [V143,T56] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V139 tmp108 [V139,T55] ( 3, 3 ) ref -> rax "argument with side effect"
+; V140 tmp109 [V140,T99] ( 2, 2 ) ref -> rsi "argument with side effect"
+; V141 tmp110 [V141,T137] ( 2, 0 ) ref -> rsi "argument with side effect"
+; V142 tmp111 [V142,T100] ( 2, 2 ) ref -> rdx single-def "argument with side effect"
+; V143 tmp112 [V143,T56] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V144 tmp113 [V144,T57] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V145 tmp114 [V145,T58] ( 3, 3 ) ref -> rax single-def "argument with side effect"
-; V146 tmp115 [V146,T99] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V147 tmp116 [V147,T100] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V148 tmp117 [V148,T59] ( 3, 3 ) ref -> rax single-def "arr expr"
-; V149 tmp118 [V149,T60] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
-; V150 tmp119 [V150,T101] ( 2, 2 ) ref -> r15 single-def "argument with side effect"
-; V151 tmp120 [V151,T102] ( 2, 2 ) ref -> r9 single-def "argument with side effect"
-; V152 tmp121 [V152,T61] ( 3, 3 ) ref -> rax single-def "arr expr"
-; V153 tmp122 [V153,T103] ( 2, 2 ) ref -> [rbp-0x1F8] spill-single-def "argument with side effect"
-; V154 tmp123 [V154,T104] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
-; V155 tmp124 [V155,T105] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V156 tmp125 [V156,T106] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
-; V157 tmp126 [V157,T107] ( 2, 2 ) ref -> [rbp-0x200] spill-single-def "argument with side effect"
-; V158 tmp127 [V158,T108] ( 2, 2 ) ref -> r9 single-def "argument with side effect"
-; V159 tmp128 [V159,T109] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
-; V160 tmp129 [V160,T110] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
-; V161 tmp130 [V161,T111] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
-; V162 tmp131 [V162,T112] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
-; V163 cse0 [V163,T123] ( 3, 1.50) long -> [rbp-0x80] spill-single-def "CSE #03: conservative"
-; V164 cse1 [V164,T124] ( 3, 1.50) long -> [rbp-0x88] spill-single-def "CSE #06: conservative"
-; V165 cse2 [V165,T125] ( 3, 1.50) long -> [rbp-0x90] spill-single-def "CSE #13: conservative"
-; V166 cse3 [V166,T126] ( 3, 1.50) long -> [rbp-0x98] spill-single-def "CSE #16: conservative"
-; V167 cse4 [V167,T03] ( 3, 24 ) int -> [rbp-0x9C] spill-single-def "CSE #18: aggressive"
-; V168 rat0 [V168,T06] ( 6, 17 ) long -> [rbp-0xA8] "Widened IV V20"
-; V169 rat1 [V169,T07] ( 5, 16.50) long -> [rbp-0xB0] "Widened IV V23"
-; V170 rat2 [V170,T00] ( 6, 70 ) long -> [rbp-0xB8] "Widened IV V27"
-; V171 rat3 [V171,T62] ( 3, 2.83) int -> rdx "ReplaceWithLclVar is creating a new local variable"
+; V145 tmp114 [V145,T58] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V146 tmp115 [V146,T59] ( 3, 3 ) ref -> rax single-def "argument with side effect"
+; V147 tmp116 [V147,T101] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V148 tmp117 [V148,T102] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V149 tmp118 [V149,T60] ( 3, 3 ) ref -> rax single-def "arr expr"
+; V150 tmp119 [V150,T61] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
+; V151 tmp120 [V151,T103] ( 2, 2 ) ref -> r15 single-def "argument with side effect"
+; V152 tmp121 [V152,T104] ( 2, 2 ) ref -> r9 single-def "argument with side effect"
+; V153 tmp122 [V153,T62] ( 3, 3 ) ref -> rax single-def "arr expr"
+; V154 tmp123 [V154,T105] ( 2, 2 ) ref -> [rbp-0x200] spill-single-def "argument with side effect"
+; V155 tmp124 [V155,T106] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
+; V156 tmp125 [V156,T107] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V157 tmp126 [V157,T108] ( 2, 2 ) ref -> rsi single-def "argument with side effect"
+; V158 tmp127 [V158,T109] ( 2, 2 ) ref -> [rbp-0x208] spill-single-def "argument with side effect"
+; V159 tmp128 [V159,T110] ( 2, 2 ) ref -> r9 single-def "argument with side effect"
+; V160 tmp129 [V160,T111] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
+; V161 tmp130 [V161,T112] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
+; V162 tmp131 [V162,T113] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
+; V163 tmp132 [V163,T114] ( 2, 2 ) ref -> r8 single-def "argument with side effect"
+; V164 cse0 [V164,T67] ( 4, 2 ) long -> [rbp-0x80] spill-single-def "CSE #05: conservative"
+; V165 cse1 [V165,T125] ( 3, 1.50) long -> [rbp-0x88] spill-single-def "CSE #03: conservative"
+; V166 cse2 [V166,T126] ( 3, 1.50) long -> [rbp-0x90] spill-single-def "CSE #13: conservative"
+; V167 cse3 [V167,T127] ( 3, 1.50) long -> [rbp-0x98] spill-single-def "CSE #16: conservative"
+; V168 cse4 [V168,T03] ( 3, 24 ) int -> [rbp-0x9C] spill-single-def "CSE #18: aggressive"
+; V169 cse5 [V169,T27] ( 13, 6.50) long -> [rbp-0xA8] spill-single-def "CSE #01: moderate"
+; V170 rat0 [V170,T06] ( 6, 17 ) long -> [rbp-0xB0] "Widened IV V20"
+; V171 rat1 [V171,T07] ( 5, 16.50) long -> [rbp-0xB8] "Widened IV V23"
+; V172 rat2 [V172,T00] ( 6, 70 ) long -> [rbp-0xC0] "Widened IV V27"
+; V173 rat3 [V173,T63] ( 3, 2.83) int -> rdx "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 488
+; Lcl frame size = 504
G_M46076_IG01:
push rbp
push r15
push r14
push r13
push r12
push rbx
- sub rsp, 488
- lea rbp, [rsp+0x210]
+ sub rsp, 504
+ lea rbp, [rsp+0x220]
xor eax, eax
mov qword ptr [rbp-0x78], rax
vxorps xmm8, xmm8, xmm8
vmovdqu32 zmmword ptr [rbp-0x70], zmm8
mov dword ptr [rbp-0x2C], r9d
mov rbx, rdi
mov r13d, esi
mov r14, rdx
mov r15, rcx
mov r12d, r8d
;; size=65 bbWeight=1 PerfScore 12.58
G_M46076_IG02:
xor rcx, rcx
mov gword ptr [r14], rcx
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
mov rsi, rax
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
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_M46076_IG85
;; size=52 bbWeight=1 PerfScore 10.75
G_M46076_IG03:
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]
- mov qword ptr [rbp-0x80], rax
- call [rax+0x18]System.Reflection.MemberInfo:IsDefined(System.Type,ubyte):ubyte:this
+ mov qword ptr [rbp-0xA8], rax
+ mov rcx, qword ptr [rax+0x48]
+ mov qword ptr [rbp-0x88], rcx
+ call [rcx+0x18]System.Reflection.MemberInfo:IsDefined(System.Type,ubyte):ubyte:this
mov dword ptr [rbp-0x44], eax
xor ecx, ecx
mov dword ptr [rbp-0x48], ecx
xor rdi, rdi
mov gword ptr [rbp-0x50], rdi
- ;; size=48 bbWeight=0.50 PerfScore 7.75
+ ;; size=58 bbWeight=0.50 PerfScore 8.25
G_M46076_IG04:
mov gword ptr [rbp-0x58], rdi
mov rdi, rbx
- mov rdx, qword ptr [rbx]
- mov rdx, qword ptr [rdx+0x98]
- mov qword ptr [rbp-0x98], rdx
- call [rdx+0x20]System.Type:get_BaseType():System.Type:this
- mov gword ptr [rbp-0xC0], rax
+ mov rdx, qword ptr [rbp-0xA8]
+ mov rsi, qword ptr [rdx+0x98]
+ mov qword ptr [rbp-0x98], rsi
+ call [rsi+0x20]System.Type:get_BaseType():System.Type:this
+ mov gword ptr [rbp-0xC8], rax
test rax, rax
je G_M46076_IG10
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne G_M46076_IG10
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfValueType():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfValueType():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne G_M46076_IG10
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfUri():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfUri():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne G_M46076_IG10
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x10]System.Type:IsArrayImpl():ubyte:this
test eax, eax
je SHORT G_M46076_IG06
- mov rdi, gword ptr [rbp-0xC0]
- ;; size=197 bbWeight=0.50 PerfScore 24.38
+ mov rdi, gword ptr [rbp-0xC8]
+ ;; size=201 bbWeight=0.50 PerfScore 23.88
G_M46076_IG05:
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
je SHORT G_M46076_IG07
;; size=17 bbWeight=0.50 PerfScore 2.25
G_M46076_IG06:
lea rdx, [rbp-0x78]
lea rcx, [rbp-0x70]
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
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
jmp SHORT G_M46076_IG08
;; size=40 bbWeight=0.50 PerfScore 4.00
G_M46076_IG07:
- mov rdi, gword ptr [rbp-0xC0]
+ mov rdi, gword ptr [rbp-0xC8]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x68]
call [rax+0x08]System.Type:GetElementType():System.Type:this
mov gword ptr [rbp-0x70], rax
mov eax, 1
;; size=26 bbWeight=0.50 PerfScore 4.62
G_M46076_IG08:
xor rdi, rdi
mov gword ptr [rbp-0x78], rdi
;; size=6 bbWeight=0.50 PerfScore 0.62
G_M46076_IG09:
mov gword ptr [rbp-0x70], rdi
test eax, eax
je SHORT G_M46076_IG10
mov rdi, rbx
- mov rax, qword ptr [rbx]
- mov rax, qword ptr [rax+0xA8]
- call [rax+0x38]System.Type:get_IsSerializable():ubyte:this
+ mov rax, qword ptr [rbp-0xA8]
+ mov rcx, qword ptr [rax+0xA8]
+ call [rcx+0x38]System.Type:get_IsSerializable():ubyte:this
test eax, eax
sete al
movzx rax, al
jmp SHORT G_M46076_IG11
- ;; size=34 bbWeight=0.50 PerfScore 6.50
+ ;; size=38 bbWeight=0.50 PerfScore 6.00
G_M46076_IG10:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M46076_IG11:
movzx rax, al
mov dword ptr [rbp-0x5C], eax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfDataContractAttribute():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfDataContractAttribute():System.Type
mov rsi, rax
mov rdi, rbx
xor edx, edx
- mov rax, qword ptr [rbp-0x80]
- call [rax+0x18]System.Reflection.MemberInfo:IsDefined(System.Type,ubyte):ubyte:this
+ mov rcx, qword ptr [rbp-0x88]
+ call [rcx+0x18]System.Reflection.MemberInfo:IsDefined(System.Type,ubyte):ubyte:this
test eax, eax
jne G_M46076_IG84
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIXmlSerializable():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIXmlSerializable():System.Type
mov rdi, rax
mov rsi, rbx
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xB0]
call [rax+0x20]System.Type:IsAssignableFrom(System.Type):ubyte:this
test eax, eax
jne G_M46076_IG82
mov rdi, rbx
- mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:IsArraySegment(System.Type):ubyte
- call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:IsArraySegment(System.Type):ubyte
+ mov rax, qword ptr [rbp-0xA8]
+ mov rcx, qword ptr [rax+0x60]
+ mov qword ptr [rbp-0x80], rcx
+ call [rcx+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
- jne G_M46076_IG82
+ je SHORT G_M46076_IG12
+ mov rdi, rbx
+ mov rax, qword ptr [rbp-0xA8]
+ mov rcx, qword ptr [rax+0x68]
+ call [rcx+0x18]System.Type:GetGenericTypeDefinition():System.Type:this
+ mov rcx, 0xD1FFAB1E ; 'System.ArraySegment`1[T]'
+ cmp rax, rcx
+ je G_M46076_IG82
+ ;; size=144 bbWeight=0.50 PerfScore 19.38
+G_M46076_IG12:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIEnumerable():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIEnumerable():System.Type
mov rdi, rax
mov rsi, rbx
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xB0]
call [rax+0x20]System.Type:IsAssignableFrom(System.Type):ubyte:this
test eax, eax
je G_M46076_IG81
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Type:get_IsInterface():ubyte:this
call [rax]System.Type:get_IsInterface():ubyte:this
test eax, eax
je G_M46076_IG16
mov rdi, rbx
- mov rax, qword ptr [rbx]
- mov rax, qword ptr [rax+0x60]
- ;; size=175 bbWeight=0.50 PerfScore 24.12
-G_M46076_IG12:
- mov qword ptr [rbp-0x88], rax
+ mov rax, qword ptr [rbp-0x80]
call [rax+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
je SHORT G_M46076_IG13
mov rdi, rbx
- mov rax, qword ptr [rbx]
- mov rax, qword ptr [rax+0x68]
- call [rax+0x18]System.Type:GetGenericTypeDefinition():System.Type:this
+ mov rax, qword ptr [rbp-0xA8]
+ mov rcx, qword ptr [rax+0x68]
+ call [rcx+0x18]System.Type:GetGenericTypeDefinition():System.Type:this
jmp SHORT G_M46076_IG14
- ;; size=29 bbWeight=0.50 PerfScore 7.25
+ ;; size=95 bbWeight=0.50 PerfScore 15.25
G_M46076_IG13:
mov rax, rbx
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M46076_IG14:
- mov gword ptr [rbp-0xD8], rax
+ mov gword ptr [rbp-0xE0], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
call [rcx]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
- mov gword ptr [rbp-0xE0], rax
+ mov gword ptr [rbp-0xE8], rax
xor ecx, ecx
cmp dword ptr [rax+0x08], 0
jle SHORT G_M46076_IG16
;; size=34 bbWeight=0.50 PerfScore 4.75
G_M46076_IG15:
- mov qword ptr [rbp-0xA8], rcx
+ mov qword ptr [rbp-0xB0], rcx
mov rdi, gword ptr [rax+8*rcx+0x10]
- mov rsi, gword ptr [rbp-0xD8]
+ mov rsi, gword ptr [rbp-0xE0]
mov rdx, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rdx]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne G_M46076_IG67
- mov rdi, qword ptr [rbp-0xA8]
+ mov rdi, qword ptr [rbp-0xB0]
inc edi
mov rax, rdi
- mov rdi, gword ptr [rbp-0xE0]
+ mov rdi, gword ptr [rbp-0xE8]
cmp dword ptr [rdi+0x08], eax
mov rcx, rax
jg G_M46076_IG17
;; size=70 bbWeight=4 PerfScore 61.00
G_M46076_IG16:
xor rcx, rcx
- mov gword ptr [rbp-0xC8], rcx
+ mov gword ptr [rbp-0xD0], rcx
mov rdi, rbx
- mov rax, qword ptr [rbx]
- mov rax, qword ptr [rax+0x78]
+ mov rdx, qword ptr [rbp-0xA8]
+ mov rax, qword ptr [rdx+0x78]
mov qword ptr [rbp-0x90], rax
call [rax+0x08]System.Type:IsValueTypeImpl():ubyte:this
test eax, eax
jne G_M46076_IG19
mov rdi, 0xD1FFAB1E ; const ptr
mov r8, gword ptr [rdi]
mov rdi, rbx
mov esi, 52
xor rdx, rdx
mov ecx, 3
xor r9, r9
mov rax, qword ptr [rbp-0x90]
call [rax+0x38]System.Type:GetConstructorImpl(int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.ConstructorInfo:this
- mov gword ptr [rbp-0xC8], rax
+ mov gword ptr [rbp-0xD0], rax
test rax, rax
sete dil
movzx rdi, dil
movzx rcx, r12b
test edi, ecx
je SHORT G_M46076_IG19
mov rdi, rbx
- mov rcx, qword ptr [rbx]
- mov rcx, qword ptr [rcx+0xA8]
- call [rcx+0x38]System.Type:get_IsSerializable():ubyte:this
+ mov rcx, qword ptr [rbp-0xA8]
+ mov rdx, qword ptr [rcx+0xA8]
+ call [rdx+0x38]System.Type:get_IsSerializable():ubyte:this
test eax, eax
je SHORT G_M46076_IG18
jmp G_M46076_IG66
- ;; size=129 bbWeight=0.50 PerfScore 16.38
+ ;; size=137 bbWeight=0.50 PerfScore 15.38
G_M46076_IG17:
mov rax, rdi
jmp G_M46076_IG15
;; size=8 bbWeight=2 PerfScore 4.50
G_M46076_IG18:
mov dword ptr [rbp-0x48], 1
mov rdi, 0xD1FFAB1E ; 'CollectionTypeDoesNotHaveDefaultCtor'
mov rcx, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rcx]System.SR:GetResourceString(System.String):System.String
mov rdx, rax
lea r9, [rbp-0x58]
lea r8, [rbp-0x50]
mov esi, dword ptr [rbp-0x44]
mov rdi, rbx
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetReadOnlyCollectionExceptionMessages(System.Type,ubyte,System.String,System.String,byref,byref)
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetReadOnlyCollectionExceptionMessages(System.Type,ubyte,System.String,System.String,byref,byref)
;; size=60 bbWeight=0.50 PerfScore 5.25
G_M46076_IG19:
xor rax, rax
- mov gword ptr [rbp-0xD0], rax
+ mov gword ptr [rbp-0xD8], rax
xor ecx, ecx
mov dword ptr [rbp-0x60], ecx
xor edx, edx
mov dword ptr [rbp-0x64], edx
mov rdi, rbx
mov rsi, qword ptr [rbp-0x98]
call [rsi+0x38]System.Type:GetInterfaces():System.Type[]:this
- mov gword ptr [rbp-0xF0], rax
+ mov gword ptr [rbp-0xF8], rax
xor ecx, ecx
cmp dword ptr [rax+0x08], 0
jle SHORT G_M46076_IG21
;; size=47 bbWeight=0.50 PerfScore 6.62
G_M46076_IG20:
- mov qword ptr [rbp-0xB0], rcx
+ mov qword ptr [rbp-0xB8], rcx
mov rdx, gword ptr [rax+8*rcx+0x10]
- mov gword ptr [rbp-0xF8], rdx
+ mov gword ptr [rbp-0x100], rdx
mov rdi, rdx
mov rsi, qword ptr [rdx]
mov rsi, qword ptr [rsi+0x60]
call [rsi+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
jne SHORT G_M46076_IG22
jmp SHORT G_M46076_IG23
;; size=38 bbWeight=4 PerfScore 58.00
G_M46076_IG21:
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp G_M46076_IG33
;; size=12 bbWeight=0.25 PerfScore 0.75
G_M46076_IG22:
- mov rdi, gword ptr [rbp-0xF8]
+ mov rdi, gword ptr [rbp-0x100]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x68]
call [rax+0x18]System.Type:GetGenericTypeDefinition():System.Type:this
jmp SHORT G_M46076_IG24
;; size=19 bbWeight=2 PerfScore 20.00
G_M46076_IG23:
- mov rax, gword ptr [rbp-0xF8]
+ mov rax, gword ptr [rbp-0x100]
mov rcx, rax
mov rax, rcx
;; size=13 bbWeight=2 PerfScore 3.00
G_M46076_IG24:
- mov gword ptr [rbp-0x100], rax
+ mov gword ptr [rbp-0x108], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
call [rcx]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
- mov gword ptr [rbp-0x108], rax
+ mov gword ptr [rbp-0x110], rax
xor ecx, ecx
mov edx, dword ptr [rax+0x08]
mov dword ptr [rbp-0x9C], edx
test edx, edx
jle SHORT G_M46076_IG26
;; size=41 bbWeight=4 PerfScore 39.00
G_M46076_IG25:
- mov qword ptr [rbp-0xB8], rcx
+ mov qword ptr [rbp-0xC0], rcx
mov rdi, gword ptr [rax+8*rcx+0x10]
- mov rsi, gword ptr [rbp-0x100]
+ mov rsi, gword ptr [rbp-0x108]
mov r8, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [r8]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
je SHORT G_M46076_IG27
jmp SHORT G_M46076_IG29
;; size=38 bbWeight=16 PerfScore 168.00
G_M46076_IG26:
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp G_M46076_IG32
;; size=12 bbWeight=2 PerfScore 6.00
G_M46076_IG27:
- mov r8, qword ptr [rbp-0xB8]
+ mov r8, qword ptr [rbp-0xC0]
inc r8d
mov r9d, dword ptr [rbp-0x9C]
cmp r9d, r8d
mov rcx, r8
- mov rax, gword ptr [rbp-0x108]
+ mov rax, gword ptr [rbp-0x110]
jg SHORT G_M46076_IG25
;; size=32 bbWeight=16 PerfScore 76.00
G_M46076_IG28:
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp SHORT G_M46076_IG32
;; size=9 bbWeight=8 PerfScore 24.00
G_M46076_IG29:
- mov r8, qword ptr [rbp-0xB8]
+ mov r8, qword ptr [rbp-0xC0]
inc r8d
movzx r8, r8b
mov eax, dword ptr [rbp-0x60]
test eax, eax
je SHORT G_M46076_IG31
cmp r8d, eax
jl SHORT G_M46076_IG31
mov r9d, eax
and r9d, r8d
cmp r9d, r8d
jne SHORT G_M46076_IG30
mov r10d, 1
mov dword ptr [rbp-0x60], eax
mov dword ptr [rbp-0x64], r10d
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp SHORT G_M46076_IG32
;; size=59 bbWeight=2 PerfScore 24.00
G_M46076_IG30:
mov dword ptr [rbp-0x60], eax
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp SHORT G_M46076_IG32
;; size=12 bbWeight=1 PerfScore 4.00
G_M46076_IG31:
mov eax, r8d
- mov r10, gword ptr [rbp-0xF8]
+ mov r10, gword ptr [rbp-0x100]
xor r8d, r8d
xor r11d, r11d
mov dword ptr [rbp-0x60], eax
mov dword ptr [rbp-0x64], r11d
;; size=23 bbWeight=2 PerfScore 7.50
G_M46076_IG32:
- mov r8, qword ptr [rbp-0xB0]
+ mov r8, qword ptr [rbp-0xB8]
inc r8d
- mov r9, gword ptr [rbp-0xF0]
+ mov r9, gword ptr [rbp-0xF8]
cmp dword ptr [r9+0x08], r8d
mov rax, r9
mov rcx, r8
jg SHORT G_M46076_IG36
;; size=29 bbWeight=4 PerfScore 27.00
G_M46076_IG33:
mov eax, dword ptr [rbp-0x60]
test eax, eax
je G_M46076_IG81
cmp eax, 8
ja SHORT G_M46076_IG35
;; size=16 bbWeight=0.50 PerfScore 1.75
G_M46076_IG34:
mov ecx, 63
mov dword ptr [rbp-0x60], eax
bt ecx, eax
mov eax, dword ptr [rbp-0x60]
jae G_M46076_IG53
;; size=20 bbWeight=0.49 PerfScore 1.84
G_M46076_IG35:
cmp dword ptr [rbp-0x64], 0
je SHORT G_M46076_IG37
jmp G_M46076_IG52
;; size=11 bbWeight=0.50 PerfScore 2.50
G_M46076_IG36:
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
jmp G_M46076_IG20
;; size=12 bbWeight=2 PerfScore 6.00
G_M46076_IG37:
xor rcx, rcx
mov dword ptr [rbp-0x60], eax
lea edx, [rax-0x01]
cmp edx, 4
ja G_M46076_IG48
;; size=17 bbWeight=0.50 PerfScore 1.50
G_M46076_IG38:
mov ecx, edx
lea rdx, [reloc @RWD00]
mov edx, dword ptr [rdx+4*rcx]
lea rdi, G_M46076_IG02
add rdx, rdi
jmp rdx
;; size=24 bbWeight=0.42 PerfScore 2.50
G_M46076_IG39:
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
mov rsi, rax
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
mov rcx, rax
- mov gword ptr [rbp-0x130], rcx
+ mov gword ptr [rbp-0x138], rcx
mov rdx, gword ptr [r15]
mov rdi, rcx
xor esi, esi
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rax]CORINFO_HELP_ARRADDR_ST
- mov rcx, gword ptr [rbp-0x130]
+ mov rcx, gword ptr [rbp-0x138]
mov rax, rcx
mov rcx, rax
- mov r10, gword ptr [rbp-0xD0]
+ mov r10, gword ptr [rbp-0xD8]
jmp G_M46076_IG48
;; size=105 bbWeight=0.50 PerfScore 9.38
G_M46076_IG40:
mov rdi, r10
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
mov rcx, qword ptr [r10]
mov rcx, qword ptr [rcx+0x68]
call [rcx+0x28]System.Type:GetGenericArguments():System.Type[]:this
cmp dword ptr [rax+0x08], 0
jbe G_M46076_IG89
- mov gword ptr [rbp-0x110], rax
+ mov gword ptr [rbp-0x118], rax
mov rsi, gword ptr [rax+0x10]
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
- mov rcx, gword ptr [rbp-0x110]
- mov r10, gword ptr [rbp-0xD0]
+ mov rcx, gword ptr [rbp-0x118]
+ mov r10, gword ptr [rbp-0xD8]
jmp G_M46076_IG48
;; size=68 bbWeight=0.50 PerfScore 10.25
G_M46076_IG41:
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 2
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x138], rax
+ mov gword ptr [rbp-0x140], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
- mov rcx, gword ptr [rbp-0x138]
+ mov rcx, gword ptr [rbp-0x140]
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
- mov rcx, gword ptr [rbp-0x138]
+ mov rcx, gword ptr [rbp-0x140]
lea rdi, bword ptr [rcx+0x18]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rax, gword ptr [rbp-0x138]
- mov gword ptr [rbp-0x110], rax
+ mov rax, gword ptr [rbp-0x140]
+ mov gword ptr [rbp-0x118], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
mov rdi, rax
- mov rsi, gword ptr [rbp-0x110]
+ mov rsi, gword ptr [rbp-0x118]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
mov rsi, rax
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
- mov rcx, gword ptr [rbp-0x110]
- mov r10, gword ptr [rbp-0xD0]
+ mov rcx, gword ptr [rbp-0x118]
+ mov r10, gword ptr [rbp-0xD8]
jmp G_M46076_IG48
;; size=175 bbWeight=0.50 PerfScore 17.25
G_M46076_IG42:
mov rdi, r10
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
mov rcx, qword ptr [r10]
mov rcx, qword ptr [rcx+0x68]
call [rcx+0x28]System.Type:GetGenericArguments():System.Type[]:this
- mov gword ptr [rbp-0x110], rax
- mov rdi, gword ptr [rbp-0xD0]
- mov gword ptr [rbp-0xD0], rdi
+ mov gword ptr [rbp-0x118], rax
+ mov rdi, gword ptr [rbp-0xD8]
+ mov gword ptr [rbp-0xD8], rdi
mov rcx, qword ptr [rdi]
mov rcx, qword ptr [rcx+0x60]
call [rcx+0x10]System.Type:get_IsGenericTypeDefinition():ubyte:this
test eax, eax
je SHORT G_M46076_IG43
mov eax, 1
jmp SHORT G_M46076_IG45
;; size=62 bbWeight=0.50 PerfScore 10.88
G_M46076_IG43:
- mov rcx, gword ptr [rbp-0x110]
+ mov rcx, gword ptr [rbp-0x118]
cmp dword ptr [rcx+0x08], 0
jbe G_M46076_IG89
- mov gword ptr [rbp-0x110], rcx
+ mov gword ptr [rbp-0x118], rcx
mov rdi, gword ptr [rcx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x30]System.Type:get_IsGenericParameter():ubyte:this
test eax, eax
jne SHORT G_M46076_IG44
xor eax, eax
jmp SHORT G_M46076_IG45
;; size=46 bbWeight=0.50 PerfScore 9.25
G_M46076_IG44:
- mov rcx, gword ptr [rbp-0x110]
+ mov rcx, gword ptr [rbp-0x118]
cmp dword ptr [rcx+0x08], 1
jbe G_M46076_IG89
- mov gword ptr [rbp-0x110], rcx
+ mov gword ptr [rbp-0x118], rcx
mov rdi, gword ptr [rcx+0x18]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x58]
call [rax+0x30]System.Type:get_IsGenericParameter():ubyte:this
;; size=38 bbWeight=0.50 PerfScore 7.50
G_M46076_IG45:
movzx rax, al
test eax, eax
je SHORT G_M46076_IG46
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
jmp SHORT G_M46076_IG47
;; size=21 bbWeight=0.50 PerfScore 3.38
G_M46076_IG46:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
mov rdi, rax
- mov rsi, gword ptr [rbp-0x110]
+ mov rsi, gword ptr [rbp-0x118]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
;; size=35 bbWeight=0.50 PerfScore 5.75
G_M46076_IG47:
mov rdi, r15
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
- mov rcx, gword ptr [rbp-0x110]
- mov r10, gword ptr [rbp-0xD0]
+ mov rcx, gword ptr [rbp-0x118]
+ mov r10, gword ptr [rbp-0xD8]
;; size=25 bbWeight=0.50 PerfScore 1.75
G_M46076_IG48:
test r13b, r13b
je G_M46076_IG62
lea r8, [rbp-0x40]
lea r9, [rbp-0x38]
mov rdi, rbx
mov rsi, r10
mov rdx, rcx
mov ecx, 1
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetCollectionMethods(System.Type,System.Type,System.Type[],ubyte,byref,byref)
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetCollectionMethods(System.Type,System.Type,System.Type[],ubyte,byref,byref)
mov r13d, dword ptr [rbp-0x48]
test r13d, r13d
je G_M46076_IG50
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov r15, gword ptr [r15]
mov rax, gword ptr [rbp-0x40]
- mov gword ptr [rbp-0x1D8], rax
+ mov gword ptr [rbp-0x1E0], rax
mov rcx, gword ptr [rbp-0x50]
- mov gword ptr [rbp-0x1E0], rcx
+ mov gword ptr [rbp-0x1E8], rcx
mov rdx, gword ptr [rbp-0x58]
- mov gword ptr [rbp-0x1E8], rdx
+ mov gword ptr [rbp-0x1F0], rdx
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x1F0], rax
- mov rdi, gword ptr [rbp-0x1E8]
+ mov gword ptr [rbp-0x1F8], rax
+ mov rdi, gword ptr [rbp-0x1F0]
mov gword ptr [rsp], rdi
mov rdi, rax
mov rsi, rbx
mov edx, dword ptr [rbp-0x60]
mov rcx, r15
- mov r8, gword ptr [rbp-0x1D8]
- mov r9, gword ptr [rbp-0x1E0]
+ mov r8, gword ptr [rbp-0x1E0]
+ mov r9, gword ptr [rbp-0x1E8]
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
lea rdi, bword ptr [r12+0x18]
- mov rsi, gword ptr [rbp-0x1F0]
+ mov rsi, gword ptr [rbp-0x1F8]
call CORINFO_HELP_ASSIGN_REF
- mov r15, gword ptr [rbp-0x1F0]
+ mov r15, gword ptr [rbp-0x1F8]
mov rsi, gword ptr [r15+0x28]
lea rdi, bword ptr [r12+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r15+0x30]
lea rdi, bword ptr [r12+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r12
;; size=238 bbWeight=0.50 PerfScore 20.12
G_M46076_IG49:
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
mov rsi, rax
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
jmp G_M46076_IG51
;; size=38 bbWeight=0.50 PerfScore 4.62
G_M46076_IG50:
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x128], rax
+ mov gword ptr [rbp-0x130], rax
mov r15, gword ptr [r15]
mov rcx, gword ptr [rbp-0x40]
- mov gword ptr [rbp-0x1C0], rcx
+ mov gword ptr [rbp-0x1C8], rcx
mov rdx, gword ptr [rbp-0x38]
- mov gword ptr [rbp-0x1C8], rdx
+ mov gword ptr [rbp-0x1D0], rdx
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x1D0], rax
- mov r10, gword ptr [rbp-0xC8]
+ mov gword ptr [rbp-0x1D8], rax
+ mov r10, gword ptr [rbp-0xD0]
mov gword ptr [rsp], r10
mov rdi, rax
mov rsi, rbx
mov edx, dword ptr [rbp-0x60]
mov rcx, r15
- mov r8, gword ptr [rbp-0x1C0]
- mov r9, gword ptr [rbp-0x1C8]
+ mov r8, gword ptr [rbp-0x1C8]
+ mov r9, gword ptr [rbp-0x1D0]
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.ConstructorInfo):this
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.ConstructorInfo):this
test r12b, r12b
sete dil
- mov r12, gword ptr [rbp-0x1D0]
+ mov r12, gword ptr [rbp-0x1D8]
mov byte ptr [r12+0xF0], dil
- mov r15, gword ptr [rbp-0x128]
+ mov r15, gword ptr [rbp-0x130]
lea rdi, bword ptr [r15+0x18]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x28]
lea rdi, bword ptr [r15+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x30]
lea rdi, bword ptr [r15+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
mov rsi, rax
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
mov r12, r15
;; size=227 bbWeight=0.50 PerfScore 20.12
G_M46076_IG51:
mov rdi, r14
mov rsi, r12
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov dword ptr [rbp-0x48], r13d
jmp G_M46076_IG62
;; size=20 bbWeight=0.50 PerfScore 2.25
G_M46076_IG52:
mov dword ptr [rbp-0x60], eax
mov rdi, 0xD1FFAB1E ; 'CollectionTypeHasMultipleDefinitionsOfInterface'
mov rcx, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rcx]System.SR:GetResourceString(System.String):System.String
mov r15, rax
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:get_KnownInterfaces():System.Type[]
mov r12d, dword ptr [rbp-0x60]
lea edi, [r12-0x01]
cmp edi, dword ptr [rax+0x08]
jae G_M46076_IG89
lea edx, [r12-0x01]
mov edi, edx
mov rdi, gword ptr [rax+8*rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x30]System.Reflection.MemberInfo:get_Name():System.String:this
mov r9, rax
mov bword ptr [rsp], r14
mov r8, r15
movzx rsi, r13b
mov edx, dword ptr [rbp-0x44]
mov ecx, dword ptr [rbp-0x5C]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
jmp G_M46076_IG86
;; size=120 bbWeight=0.50 PerfScore 16.25
G_M46076_IG53:
cmp dword ptr [rbp-0x64], 0
mov dword ptr [rbp-0x60], eax
je SHORT G_M46076_IG54
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIEnumerable():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfIEnumerable():System.Type
mov r10, rax
;; size=24 bbWeight=0.50 PerfScore 3.75
G_M46076_IG54:
mov rdi, r10
- mov gword ptr [rbp-0xD0], r10
+ mov gword ptr [rbp-0xD8], r10
mov rcx, qword ptr [r10]
mov rcx, qword ptr [rcx+0x60]
call [rcx+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
je SHORT G_M46076_IG55
- mov rdi, gword ptr [rbp-0xD0]
- mov gword ptr [rbp-0xD0], rdi
+ mov rdi, gword ptr [rbp-0xD8]
+ mov gword ptr [rbp-0xD8], rdi
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x68]
call [rax+0x28]System.Type:GetGenericArguments():System.Type[]:this
cmp dword ptr [rax+0x08], 0
jbe G_M46076_IG89
mov rsi, gword ptr [rax+0x10]
jmp SHORT G_M46076_IG56
;; size=64 bbWeight=0.50 PerfScore 13.25
G_M46076_IG55:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
mov rsi, rax
;; size=15 bbWeight=0.50 PerfScore 1.75
G_M46076_IG56:
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x118], rax
+ mov gword ptr [rbp-0x120], rax
mov rdx, gword ptr [r15]
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rcx]CORINFO_HELP_ARRADDR_ST
lea r8, [rbp-0x40]
lea r9, [rbp-0x38]
mov rdi, rbx
- mov rsi, gword ptr [rbp-0xD0]
- mov rdx, gword ptr [rbp-0x118]
+ mov rsi, gword ptr [rbp-0xD8]
+ mov rdx, gword ptr [rbp-0x120]
xor ecx, ecx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetCollectionMethods(System.Type,System.Type,System.Type[],ubyte,byref,byref)
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetCollectionMethods(System.Type,System.Type,System.Type[],ubyte,byref,byref)
mov rdi, gword ptr [rbp-0x38]
test rdi, rdi
jne SHORT G_M46076_IG58
mov rdi, rbx
- mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rbp-0xA8]
mov rax, qword ptr [rax+0xA8]
call [rax+0x38]System.Type:get_IsSerializable():ubyte:this
movzx rdi, byte ptr [rbp-0x2C]
or edi, eax
jne G_M46076_IG63
mov dword ptr [rbp-0x48], 1
mov rdi, 0xD1FFAB1E ; 'CollectionTypeDoesNotHaveAddMethod'
mov rdx, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rdx]System.SR:GetResourceString(System.String):System.String
- mov gword ptr [rbp-0x1F8], rax
+ mov gword ptr [rbp-0x200], rax
mov rdi, gword ptr [r15]
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 rcx, rax
- mov rdx, gword ptr [rbp-0x1F8]
+ mov rdx, gword ptr [rbp-0x200]
lea r8, [rbp-0x50]
lea r9, [rbp-0x58]
mov rdi, rbx
mov esi, dword ptr [rbp-0x44]
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetReadOnlyCollectionExceptionMessages(System.Type,ubyte,System.String,System.String,byref,byref)
- ;; size=217 bbWeight=0.50 PerfScore 21.25
+ ;; size=221 bbWeight=0.50 PerfScore 20.75
G_M46076_IG57:
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetReadOnlyCollectionExceptionMessages(System.Type,ubyte,System.String,System.String,byref,byref)
;; size=2 bbWeight=0.50 PerfScore 1.50
G_M46076_IG58:
test r13b, r13b
je G_M46076_IG62
mov r13d, dword ptr [rbp-0x48]
test r13d, r13d
je G_M46076_IG60
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract
call CORINFO_HELP_NEWSFAST
mov r12, rax
mov r15, gword ptr [r15]
mov rax, gword ptr [rbp-0x40]
- mov gword ptr [rbp-0x1A0], rax
+ mov gword ptr [rbp-0x1A8], rax
mov rcx, gword ptr [rbp-0x50]
- mov gword ptr [rbp-0x1A8], rcx
+ mov gword ptr [rbp-0x1B0], rcx
mov rdx, gword ptr [rbp-0x58]
- mov gword ptr [rbp-0x1B0], rdx
+ mov gword ptr [rbp-0x1B8], rdx
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x1B8], rax
- mov rdi, gword ptr [rbp-0x1B0]
+ mov gword ptr [rbp-0x1C0], rax
+ mov rdi, gword ptr [rbp-0x1B8]
mov gword ptr [rsp], rdi
mov rdi, rax
mov rsi, rbx
mov edx, dword ptr [rbp-0x60]
mov rcx, r15
- mov r8, gword ptr [rbp-0x1A0]
- mov r9, gword ptr [rbp-0x1A8]
+ mov r8, gword ptr [rbp-0x1A8]
+ mov r9, gword ptr [rbp-0x1B0]
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
lea rdi, bword ptr [r12+0x18]
- mov rsi, gword ptr [rbp-0x1B8]
+ mov rsi, gword ptr [rbp-0x1C0]
call CORINFO_HELP_ASSIGN_REF
- mov r15, gword ptr [rbp-0x1B8]
+ mov r15, gword ptr [rbp-0x1C0]
mov rsi, gword ptr [r15+0x28]
lea rdi, bword ptr [r12+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r15+0x30]
lea rdi, bword ptr [r12+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r12
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
mov rsi, rax
mov rdi, r12
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
;; size=234 bbWeight=0.50 PerfScore 19.62
G_M46076_IG59:
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
jmp G_M46076_IG61
;; size=7 bbWeight=0.50 PerfScore 2.50
G_M46076_IG60:
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x120], rax
+ mov gword ptr [rbp-0x128], rax
mov r15, gword ptr [r15]
mov rcx, gword ptr [rbp-0x40]
- mov gword ptr [rbp-0x188], rcx
+ mov gword ptr [rbp-0x190], rcx
mov rdx, gword ptr [rbp-0x38]
- mov gword ptr [rbp-0x190], rdx
+ mov gword ptr [rbp-0x198], rdx
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x198], rax
- mov r10, gword ptr [rbp-0xC8]
+ mov gword ptr [rbp-0x1A0], rax
+ mov r10, gword ptr [rbp-0xD0]
mov gword ptr [rsp], r10
mov rdi, rax
mov rsi, rbx
mov edx, dword ptr [rbp-0x60]
mov rcx, r15
- mov r8, gword ptr [rbp-0x188]
- mov r9, gword ptr [rbp-0x190]
+ mov r8, gword ptr [rbp-0x190]
+ mov r9, gword ptr [rbp-0x198]
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.ConstructorInfo):this
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.Reflection.MethodInfo,System.Reflection.ConstructorInfo):this
test r12b, r12b
sete dil
- mov r12, gword ptr [rbp-0x198]
+ mov r12, gword ptr [rbp-0x1A0]
mov byte ptr [r12+0xF0], dil
- mov r15, gword ptr [rbp-0x120]
+ mov r15, gword ptr [rbp-0x128]
lea rdi, bword ptr [r15+0x18]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x28]
lea rdi, bword ptr [r15+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x30]
lea rdi, bword ptr [r15+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
mov rsi, rax
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
mov r12, r15
;; size=227 bbWeight=0.50 PerfScore 20.12
G_M46076_IG61:
mov rdi, r14
mov rsi, r12
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov dword ptr [rbp-0x48], r13d
;; size=15 bbWeight=0.50 PerfScore 1.25
G_M46076_IG62:
movzx rax, byte ptr [rbp-0x2C]
test dword ptr [rbp-0x48], eax
sete al
movzx rax, al
jmp G_M46076_IG86
;; size=18 bbWeight=0.50 PerfScore 3.12
G_M46076_IG63:
movzx r13, r13b
mov r12d, dword ptr [rbp-0x44]
cmp dword ptr [rbp-0x5C], 0
jne SHORT G_M46076_IG64
xor eax, eax
mov dword ptr [rbp-0x68], eax
jmp SHORT G_M46076_IG65
;; size=21 bbWeight=0.50 PerfScore 3.75
G_M46076_IG64:
cmp byte ptr [rbp-0x2C], 0
sete al
movzx rax, al
mov dword ptr [rbp-0x68], eax
;; size=13 bbWeight=0.50 PerfScore 2.12
G_M46076_IG65:
mov rdi, 0xD1FFAB1E ; 'CollectionTypeDoesNotHaveAddMethod'
mov rcx, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rcx]System.SR:GetResourceString(System.String):System.String
- mov gword ptr [rbp-0x200], rax
+ mov gword ptr [rbp-0x208], rax
mov rdi, gword ptr [r15]
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 r9, rax
mov bword ptr [rsp], r14
- mov r8, gword ptr [rbp-0x200]
+ mov r8, gword ptr [rbp-0x208]
movzx rdx, r12b
movzx rcx, byte ptr [rbp-0x68]
movzx rsi, r13b
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
jmp G_M46076_IG86
;; size=90 bbWeight=0.50 PerfScore 9.50
G_M46076_IG66:
mov rdi, 0xD1FFAB1E ; 'CollectionTypeDoesNotHaveDefaultCtor'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r8, rax
mov bword ptr [rsp], r14
movzx rsi, r13b
mov edx, dword ptr [rbp-0x44]
mov ecx, dword ptr [rbp-0x5C]
mov rdi, rbx
xor r9, r9
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
jmp G_M46076_IG86
;; size=62 bbWeight=0.50 PerfScore 6.38
G_M46076_IG67:
- mov r12, qword ptr [rbp-0xA8]
+ mov r12, qword ptr [rbp-0xB0]
xor rdi, rdi
mov gword ptr [rbp-0x38], rdi
mov rdi, rbx
- mov rax, qword ptr [rbp-0x88]
+ mov rax, qword ptr [rbp-0x80]
call [rax+0x08]System.Type:get_IsGenericType():ubyte:this
test eax, eax
jne G_M46076_IG72
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIDictionary():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIDictionary():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne SHORT G_M46076_IG68
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfObject():System.Type
mov rsi, rax
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIList():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIList():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
je SHORT G_M46076_IG70
jmp SHORT G_M46076_IG69
- ;; size=135 bbWeight=0.50 PerfScore 16.25
+ ;; size=132 bbWeight=0.50 PerfScore 16.25
G_M46076_IG68:
mov rdi, 0xD1FFAB1E ; 'System.Runtime.Serialization.KeyValue`2[System.Object,System.Ob'
mov gword ptr [r15], rdi
;; size=13 bbWeight=0.50 PerfScore 0.62
G_M46076_IG69:
xor rdi, rdi
mov gword ptr [rsp], rdi
mov rdi, rbx
mov rsi, 0xD1FFAB1E ; 'Add'
mov edx, 28
xor rcx, rcx
mov r8d, 3
xor r9, r9
- mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rbp-0xA8]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x38], rax
- ;; size=52 bbWeight=0.50 PerfScore 5.38
+ ;; size=56 bbWeight=0.50 PerfScore 4.88
G_M46076_IG70:
xor rdi, rdi
mov gword ptr [rsp], rdi
;; size=6 bbWeight=0.50 PerfScore 0.62
G_M46076_IG71:
mov gword ptr [rsp+0x08], rdi
mov rdi, 0xD1FFAB1E ; 'System.Collections.IEnumerable'
mov rsi, 0xD1FFAB1E ; 'GetEnumerator'
mov edx, -1
mov ecx, 28
xor r8, r8
mov r9d, 3
mov rax, 0xD1FFAB1E ; code for System.RuntimeType:GetMethodImplCommon(System.String,int,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
call [rax]System.RuntimeType:GetMethodImplCommon(System.String,int,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x40], rax
jmp G_M46076_IG77
;; size=65 bbWeight=0.50 PerfScore 4.38
G_M46076_IG72:
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-0xE8], rax
+ mov rax, qword ptr [rbp-0xA8]
+ mov rcx, qword ptr [rax+0x68]
+ call [rcx+0x28]System.Type:GetGenericArguments():System.Type[]:this
+ mov gword ptr [rbp-0xF0], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIDictionaryGeneric():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfIDictionaryGeneric():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne G_M46076_IG75
- mov rax, gword ptr [rbp-0xE8]
+ mov rax, gword ptr [rbp-0xF0]
cmp dword ptr [rax+0x08], 0
jbe G_M46076_IG89
mov rsi, gword ptr [rax+0x10]
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfICollectionGeneric():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfICollectionGeneric():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
jne SHORT G_M46076_IG73
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIListGeneric():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIListGeneric():System.Type
mov rsi, rax
- mov rdi, gword ptr [rbp-0xD8]
+ mov rdi, gword ptr [rbp-0xE0]
mov rax, 0xD1FFAB1E ; code for System.Type:op_Equality(System.Type,System.Type):ubyte
call [rax]System.Type:op_Equality(System.Type,System.Type):ubyte
test eax, eax
je G_M46076_IG74
- ;; size=171 bbWeight=0.50 PerfScore 21.75
+ ;; size=175 bbWeight=0.50 PerfScore 21.25
G_M46076_IG73:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfICollectionGeneric():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfICollectionGeneric():System.Type
- mov gword ptr [rbp-0x148], rax
+ mov gword ptr [rbp-0x150], rax
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x140], rax
+ mov gword ptr [rbp-0x148], rax
mov rdx, gword ptr [r15]
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rcx]CORINFO_HELP_ARRADDR_ST
- mov rdi, gword ptr [rbp-0x148]
- mov rsi, gword ptr [rbp-0x140]
+ mov rdi, gword ptr [rbp-0x150]
+ mov rsi, gword ptr [rbp-0x148]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
xor rdi, rdi
mov gword ptr [rsp], rdi
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'Add'
mov edx, 28
xor rcx, rcx
mov r8d, 3
xor r9, r9
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x38], rax
;; size=145 bbWeight=0.50 PerfScore 16.12
G_M46076_IG74:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIEnumerableGeneric():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIEnumerableGeneric():System.Type
- mov gword ptr [rbp-0x158], rax
+ mov gword ptr [rbp-0x160], rax
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x150], rax
+ mov gword ptr [rbp-0x158], rax
mov rdx, gword ptr [r15]
mov rdi, rax
xor esi, esi
mov rcx, 0xD1FFAB1E ; code for CORINFO_HELP_ARRADDR_ST
call [rcx]CORINFO_HELP_ARRADDR_ST
- mov rdi, gword ptr [rbp-0x158]
- mov rsi, gword ptr [rbp-0x150]
+ mov rdi, gword ptr [rbp-0x160]
+ mov rsi, gword ptr [rbp-0x158]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
xor rdi, rdi
mov gword ptr [rsp], rdi
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'GetEnumerator'
mov edx, 28
xor rcx, rcx
mov r8d, 3
xor r9, r9
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x40], rax
jmp G_M46076_IG77
;; size=150 bbWeight=0.50 PerfScore 17.12
G_M46076_IG75:
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfKeyValue():System.Type
mov rdi, rax
- mov rsi, gword ptr [rbp-0xE8]
+ mov rsi, gword ptr [rbp-0xF0]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
mov rsi, rax
mov rdi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor rdi, rdi
mov gword ptr [rsp], rdi
mov rdi, rbx
mov rsi, 0xD1FFAB1E ; 'Add'
mov edx, 28
xor rcx, rcx
mov r8d, 3
xor r9, r9
- mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rbp-0xA8]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x38], rax
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfIEnumerableGeneric():System.Type
call [rax]System.Runtime.Serialization.Globals:get_TypeOfIEnumerableGeneric():System.Type
- mov gword ptr [rbp-0x168], rax
+ mov gword ptr [rbp-0x170], rax
mov rdi, 0xD1FFAB1E ; System.Type[]
mov esi, 1
call CORINFO_HELP_NEWARR_1_OBJ
- mov gword ptr [rbp-0x160], rax
+ mov gword ptr [rbp-0x168], rax
mov rcx, 0xD1FFAB1E ; code for System.Runtime.Serialization.Globals:get_TypeOfKeyValuePair():System.Type
call [rcx]System.Runtime.Serialization.Globals:get_TypeOfKeyValuePair():System.Type
mov rdi, rax
- mov rsi, gword ptr [rbp-0xE8]
+ mov rsi, gword ptr [rbp-0xF0]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0xA8]
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
- mov rcx, gword ptr [rbp-0x160]
+ mov rcx, gword ptr [rbp-0x168]
lea rdi, bword ptr [rcx+0x10]
mov rsi, rax
call CORINFO_HELP_ASSIGN_REF
- mov rdi, gword ptr [rbp-0x168]
- mov rsi, gword ptr [rbp-0x160]
+ mov rdi, gword ptr [rbp-0x170]
+ mov rsi, gword ptr [rbp-0x168]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0xA8]
- ;; size=222 bbWeight=0.50 PerfScore 25.38
+ ;; size=226 bbWeight=0.50 PerfScore 24.88
G_M46076_IG76:
call [rax+0x08]System.Type:MakeGenericType(System.Type[]):System.Type:this
xor rdi, rdi
mov gword ptr [rsp], rdi
mov rdi, rax
mov rsi, 0xD1FFAB1E ; 'GetEnumerator'
mov edx, 28
xor rcx, rcx
mov r8d, 3
xor r9, r9
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x88]
call [rax+0x38]System.Type:GetMethodImpl(System.String,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
mov gword ptr [rbp-0x40], rax
;; size=55 bbWeight=0.50 PerfScore 6.88
G_M46076_IG77:
test r13b, r13b
je G_M46076_IG79
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract
call CORINFO_HELP_NEWSFAST
mov r13, rax
mov r15, gword ptr [r15]
mov rax, gword ptr [rbp-0x40]
- mov gword ptr [rbp-0x170], rax
+ mov gword ptr [rbp-0x178], rax
mov rcx, gword ptr [rbp-0x38]
- mov gword ptr [rbp-0x178], rcx
+ mov gword ptr [rbp-0x180], rcx
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper
call CORINFO_HELP_NEWSFAST
- mov gword ptr [rbp-0x180], rax
+ mov gword ptr [rbp-0x188], rax
xor rdx, rdx
mov gword ptr [rsp], rdx
inc r12d
movzx rdx, r12b
mov rdi, rax
mov rsi, rbx
mov rcx, r15
- mov r8, gword ptr [rbp-0x170]
+ mov r8, gword ptr [rbp-0x178]
xor r9, r9
mov r10, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
call [r10]System.Runtime.Serialization.DataContracts.CollectionDataContract+CollectionDataContractCriticalHelper:.ctor(System.Type,ubyte,System.Type,System.Reflection.MethodInfo,System.String,System.String):this
- mov r15, gword ptr [rbp-0x178]
+ mov r15, gword ptr [rbp-0x180]
test r15, r15
jne SHORT G_M46076_IG78
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Type:get_IsInterface():ubyte:this
call [rax]System.Type:get_IsInterface():ubyte:this
test eax, eax
je G_M46076_IG88
;; size=154 bbWeight=0.50 PerfScore 12.50
G_M46076_IG78:
- mov r12, gword ptr [rbp-0x180]
+ mov r12, gword ptr [rbp-0x188]
lea rdi, bword ptr [r12+0x60]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
xor rdi, rdi
mov gword ptr [r12+0x68], rdi
lea rdi, bword ptr [r13+0x18]
mov rsi, r12
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x28]
lea rdi, bword ptr [r13+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rsi, gword ptr [r12+0x30]
lea rdi, bword ptr [r13+0x10]
call CORINFO_HELP_ASSIGN_REF
mov rdi, r13
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:GetSharedTypeContract(System.Type):System.Runtime.Serialization.DataContracts.DataContract:this
mov rsi, rax
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:InitCollectionDataContract(System.Runtime.Serialization.DataContracts.DataContract):this
mov rdi, r14
mov rsi, r13
call CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=114 bbWeight=0.50 PerfScore 10.88
G_M46076_IG79:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
G_M46076_IG80:
- add rsp, 488
+ add rsp, 504
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M46076_IG81:
mov rdi, 0xD1FFAB1E ; 'CollectionTypeIsNotIEnumerable'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r8, rax
mov bword ptr [rsp], r14
movzx rsi, r13b
mov edx, dword ptr [rbp-0x44]
mov ecx, dword ptr [rbp-0x5C]
mov rdi, rbx
xor r9, r9
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
jmp G_M46076_IG86
;; size=62 bbWeight=0.50 PerfScore 6.38
G_M46076_IG82:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M46076_IG83:
- add rsp, 488
+ add rsp, 504
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M46076_IG84:
mov rdi, 0xD1FFAB1E ; 'CollectionTypeCannotHaveDataContract'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r8, rax
mov bword ptr [rsp], r14
movzx rsi, r13b
mov edx, dword ptr [rbp-0x44]
mov ecx, dword ptr [rbp-0x5C]
mov rdi, rbx
xor r9, r9
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
jmp SHORT G_M46076_IG86
;; size=59 bbWeight=0.50 PerfScore 6.38
G_M46076_IG85:
mov rdi, 0xD1FFAB1E ; 'CollectionTypeCannotBeBuiltIn'
mov rax, 0xD1FFAB1E ; code for System.SR:GetResourceString(System.String):System.String
call [rax]System.SR:GetResourceString(System.String):System.String
mov r8, rax
mov bword ptr [rsp], r14
movzx rsi, r13b
mov rdi, rbx
xor edx, edx
xor ecx, ecx
xor r9, r9
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
call [rax]System.Runtime.Serialization.DataContracts.CollectionDataContract:HandleIfInvalidCollection(System.Type,ubyte,ubyte,ubyte,System.String,System.String,byref):ubyte
;; size=55 bbWeight=0.50 PerfScore 4.62
G_M46076_IG86:
movzx rax, al
;; size=3 bbWeight=0.50 PerfScore 0.12
G_M46076_IG87:
- add rsp, 488
+ add rsp, 504
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M46076_IG88:
mov rax, 0xD1FFAB1E ; code for System.SR:get_CollectionMustHaveAddMethod():System.String
call [rax]System.SR:get_CollectionMustHaveAddMethod():System.String
mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Runtime.Serialization.InvalidDataContractException
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Runtime.Serialization.DataContracts.DataContract:GetClrTypeFullName(System.Type):System.String
call [rax]System.Runtime.Serialization.DataContracts.DataContract:GetClrTypeFullName(System.Type):System.String
mov rsi, rax
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.SR:Format(System.String,System.Object):System.String
call [rax]System.SR:Format(System.String,System.Object):System.String
mov rbx, rax
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Exception:.ctor():this
call [rax]System.Exception:.ctor():this
lea rdi, bword ptr [r14+0x10]
mov rsi, rbx
call CORINFO_HELP_ASSIGN_REF
mov rdi, r14
call CORINFO_HELP_THROW
int3
;; size=105 bbWeight=0 PerfScore 0.00
G_M46076_IG89:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
RWD00 dd G_M46076_IG42 - G_M46076_IG02
dd G_M46076_IG41 - G_M46076_IG02
dd G_M46076_IG40 - G_M46076_IG02
dd G_M46076_IG40 - G_M46076_IG02
dd G_M46076_IG39 - G_M46076_IG02
-; Total bytes of code 5339, prolog size 65, PerfScore 1087.55, instruction count 1174, allocated bytes for code 5339 (MethodHash=6da94c03) for method System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts)
+; Total bytes of code 5413, prolog size 65, PerfScore 1087.30, instruction count 1182, allocated bytes for code 5413 (MethodHash=6da94c03) for method System.Runtime.Serialization.DataContracts.CollectionDataContract:IsCollectionOrTryCreate(System.Type,ubyte,byref,byref,ubyte,ubyte):ubyte (FullOpts)