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
[JitDiff ARM64] xtqqczze/dotnet-runtime/DivRem #484
Comments
Top method regressions48 (1.99 % of base) - System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:b__3_0(System.Type):System.Type:this ; Assembly listing for method System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:<GetIUnknownDerivedDetails>b__3_0(System.Type):System.Type:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 30 single block inlinees; 9 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c>
-; V01 arg1 [V01,T61] ( 7, 7 ) ref -> x19 class-hnd single-def <System.Type>
-; V02 loc0 [V02,T62] ( 5, 8 ) ref -> x20 class-hnd single-def <System.Reflection.Emit.AssemblyBuilder>
-; V03 loc1 [V03,T68] ( 4, 4 ) ref -> x21 class-hnd single-def <System.Reflection.Emit.ModuleBuilder>
-; V04 loc2 [V04,T63] ( 3, 6 ) ref -> x22 class-hnd single-def <System.Reflection.ConstructorInfo>
+; V01 arg1 [V01,T60] ( 7, 7 ) ref -> x19 class-hnd single-def <System.Type>
+; V02 loc0 [V02,T61] ( 5, 8 ) ref -> x20 class-hnd single-def <System.Reflection.Emit.AssemblyBuilder>
+; V03 loc1 [V03,T67] ( 4, 4 ) ref -> x21 class-hnd single-def <System.Reflection.Emit.ModuleBuilder>
+; V04 loc2 [V04,T62] ( 3, 6 ) ref -> x22 class-hnd single-def <System.Reflection.ConstructorInfo>
; V05 loc3 [V05,T40] ( 8, 38 ) ref -> x21 class-hnd single-def <System.Reflection.Emit.TypeBuilder>
-; V06 loc4 [V06,T60] ( 4, 10 ) ref -> x23 class-hnd single-def <System.Type[]>
-; V07 loc5 [V07,T52] ( 5, 17 ) int -> x25
-; V08 loc6 [V08,T42] ( 6, 36 ) ref -> x27 class-hnd <System.Type>
-; V09 loc7 [V09,T45] ( 3, 24 ) ref -> [fp+0x90] class-hnd spill-single-def <System.Reflection.MethodInfo[]>
-; V10 loc8 [V10,T23] ( 5, 68 ) int -> [fp+0xFC]
-; V11 loc9 [V11,T14] ( 9,144 ) ref -> [fp+0x88] class-hnd spill-single-def <System.Reflection.MethodInfo>
-; V12 loc10 [V12,T43] ( 2, 32 ) ref -> [fp+0x80] class-hnd spill-single-def <System.Type[]>
-; V13 loc11 [V13,T44] ( 2, 32 ) ref -> [fp+0x78] class-hnd spill-single-def <System.Type[]>
-; V14 loc12 [V14,T20] ( 4, 96 ) ref -> [fp+0x70] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-; V15 loc13 [V15,T17] ( 6,100.64) ref -> [fp+0x68] class-hnd exact spill-single-def <System.Type[]>
-; V16 loc14 [V16,T18] ( 6,100.64) ref -> [fp+0x60] class-hnd exact spill-single-def <System.Type[][]>
-; V17 loc15 [V17,T19] ( 6,100.64) ref -> [fp+0x58] class-hnd exact spill-single-def <System.Type[][]>
-; V18 loc16 [V18,T24] ( 4, 64 ) ref -> [fp+0x50] class-hnd spill-single-def <System.Reflection.Emit.MethodBuilder>
-; V19 loc17 [V19,T12] ( 9,192 ) ref -> [fp+0x48] class-hnd spill-single-def <System.Reflection.Emit.ILGenerator>
-; V20 loc18 [V20,T04] ( 17,277.12) int -> [fp+0xF8]
+; V06 loc4 [V06,T59] ( 4, 10 ) ref -> x23 class-hnd single-def <System.Type[]>
+; V07 loc5 [V07,T51] ( 5, 17 ) int -> x25
+; V08 loc6 [V08,T41] ( 6, 36 ) ref -> x26 class-hnd <System.Type>
+; V09 loc7 [V09,T44] ( 3, 24 ) ref -> x28 class-hnd <System.Reflection.MethodInfo[]>
+; V10 loc8 [V10,T23] ( 5, 68 ) int -> [fp+0xDC]
+; V11 loc9 [V11,T14] ( 9,144 ) ref -> [fp+0x70] class-hnd spill-single-def <System.Reflection.MethodInfo>
+; V12 loc10 [V12,T42] ( 2, 32 ) ref -> [fp+0x68] class-hnd spill-single-def <System.Type[]>
+; V13 loc11 [V13,T43] ( 2, 32 ) ref -> [fp+0x60] class-hnd spill-single-def <System.Type[]>
+; V14 loc12 [V14,T20] ( 4, 96 ) ref -> [fp+0x58] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+; V15 loc13 [V15,T17] ( 6,100.64) ref -> [fp+0x50] class-hnd exact spill-single-def <System.Type[]>
+; V16 loc14 [V16,T18] ( 6,100.64) ref -> [fp+0x48] class-hnd exact spill-single-def <System.Type[][]>
+; V17 loc15 [V17,T19] ( 6,100.64) ref -> [fp+0x40] class-hnd exact spill-single-def <System.Type[][]>
+; V18 loc16 [V18,T24] ( 4, 64 ) ref -> [fp+0x38] class-hnd spill-single-def <System.Reflection.Emit.MethodBuilder>
+; V19 loc17 [V19,T12] ( 9,192 ) ref -> [fp+0x30] class-hnd spill-single-def <System.Reflection.Emit.ILGenerator>
+; V20 loc18 [V20,T04] ( 17,277.12) int -> [fp+0xD8]
; V21 loc19 [V21,T10] ( 4,208 ) int -> x3
; V22 OutArgs [V22 ] ( 1, 1 ) struct (16) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V23 tmp1 [V23,T64] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.AssemblyName>
+; V23 tmp1 [V23,T63] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.AssemblyName>
;* V24 tmp2 [V24 ] ( 0, 0 ) ref -> zero-ref
;* V25 tmp3 [V25 ] ( 0, 0 ) ref -> zero-ref single-def
-; V26 tmp4 [V26,T85] ( 2, 2 ) int -> x1
-; V27 tmp5 [V27,T65] ( 3, 6 ) ref -> x23 class-hnd exact single-def "dup spill" <System.Object[]>
-; V28 tmp6 [V28,T70] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
-; V29 tmp7 [V29,T66] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
-;* V30 tmp8 [V30,T88] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-; V31 tmp9 [V31,T71] ( 2, 4 ) ref -> x19 class-hnd single-def "impAppendStmt" <System.Reflection.ConstructorInfo>
-; V32 tmp10 [V32,T67] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
-; V33 tmp11 [V33,T46] ( 3, 24 ) ref -> [fp+0x40] class-hnd exact spill-single-def "dup spill" <System.Object[]>
-; V34 tmp12 [V34,T53] ( 2, 16 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V35 tmp13 [V35,T47] ( 3, 24 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
+; V26 tmp4 [V26,T84] ( 2, 2 ) int -> x1
+; V27 tmp5 [V27,T64] ( 3, 6 ) ref -> x23 class-hnd exact single-def "dup spill" <System.Object[]>
+; V28 tmp6 [V28,T69] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V29 tmp7 [V29,T65] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
+;* V30 tmp8 [V30,T87] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
+; V31 tmp9 [V31,T70] ( 2, 4 ) ref -> x19 class-hnd single-def "impAppendStmt" <System.Reflection.ConstructorInfo>
+; V32 tmp10 [V32,T66] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
+; V33 tmp11 [V33,T45] ( 3, 24 ) ref -> x28 class-hnd exact "dup spill" <System.Object[]>
+; V34 tmp12 [V34,T52] ( 2, 16 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V35 tmp13 [V35,T46] ( 3, 24 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" <System.Reflection.Emit.CustomAttributeBuilder>
; V36 tmp14 [V36,T06] ( 4,256 ) ref -> x0 class-hnd "Strict ordering of exceptions for Array store" <System.Type>
; V37 tmp15 [V37,T07] ( 4,256 ) ref -> x0 class-hnd "Strict ordering of exceptions for Array store" <System.Type[]>
; V38 tmp16 [V38,T08] ( 4,256 ) ref -> x0 class-hnd "Strict ordering of exceptions for Array store" <System.Type[]>
;* V39 tmp17 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
;* V40 tmp18 [V40 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V41 tmp19 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Reflection.AssemblyName>
;* V42 tmp20 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.PropertyInfo[]>
;* V43 tmp21 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object[]>
;* V44 tmp22 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.FieldInfo[]>
-; V45 tmp23 [V45,T72] ( 2, 4 ) ref -> x4 class-hnd single-def "Inlining Arg" <System.Type[]>
+; V45 tmp23 [V45,T71] ( 2, 4 ) ref -> x4 class-hnd single-def "Inlining Arg" <System.Type[]>
;* V46 tmp24 [V46 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V47 tmp25 [V47,T73] ( 2, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.Type[]>
-;* V48 tmp26 [V48,T92] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+; V47 tmp25 [V47,T72] ( 2, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.Type[]>
+;* V48 tmp26 [V48,T91] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V49 tmp27 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V50 tmp28 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object[]>
;* V51 tmp29 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.PropertyInfo[]>
;* V52 tmp30 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object[]>
;* V53 tmp31 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.FieldInfo[]>
;* V54 tmp32 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Reflection.AssemblyName>
;* V55 tmp33 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.PropertyInfo[]>
;* V56 tmp34 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object[]>
;* V57 tmp35 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Reflection.FieldInfo[]>
;* V58 tmp36 [V58 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
;* V59 tmp37 [V59 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V60 tmp38 [V60,T74] ( 2, 4 ) ref -> x27 single-def "argument with side effect"
-; V61 tmp39 [V61,T75] ( 2, 4 ) ref -> [fp+0x30] spill-single-def "argument with side effect"
-; V62 tmp40 [V62,T76] ( 2, 4 ) ref -> x5 single-def "argument with side effect"
-; V63 tmp41 [V63,T77] ( 2, 4 ) ref -> x6 single-def "argument with side effect"
+; V60 tmp38 [V60,T73] ( 2, 4 ) ref -> x26 single-def "argument with side effect"
+; V61 tmp39 [V61,T74] ( 2, 4 ) ref -> [fp+0x20] spill-single-def "argument with side effect"
+; V62 tmp40 [V62,T75] ( 2, 4 ) ref -> x5 single-def "argument with side effect"
+; V63 tmp41 [V63,T76] ( 2, 4 ) ref -> x6 single-def "argument with side effect"
;* V64 tmp42 [V64 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
;* V65 tmp43 [V65 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V66 tmp44 [V66,T78] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
-; V67 tmp45 [V67,T79] ( 2, 4 ) ref -> x3 single-def "argument with side effect"
-; V68 tmp46 [V68,T80] ( 2, 4 ) ref -> x4 single-def "argument with side effect"
-; V69 tmp47 [V69,T81] ( 2, 4 ) ref -> x5 single-def "argument with side effect"
-; V70 tmp48 [V70,T82] ( 2, 4 ) ref -> x6 single-def "argument with side effect"
-; V71 tmp49 [V71,T48] ( 3, 24 ) ref -> x0 "argument with side effect"
-; V72 tmp50 [V72,T54] ( 2, 16 ) ref -> x3 "argument with side effect"
-; V73 tmp51 [V73,T55] ( 2, 16 ) ref -> x4 "argument with side effect"
-; V74 tmp52 [V74,T56] ( 2, 16 ) ref -> x5 "argument with side effect"
-; V75 tmp53 [V75,T57] ( 2, 16 ) ref -> x6 "argument with side effect"
+; V66 tmp44 [V66,T77] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
+; V67 tmp45 [V67,T78] ( 2, 4 ) ref -> x3 single-def "argument with side effect"
+; V68 tmp46 [V68,T79] ( 2, 4 ) ref -> x4 single-def "argument with side effect"
+; V69 tmp47 [V69,T80] ( 2, 4 ) ref -> x5 single-def "argument with side effect"
+; V70 tmp48 [V70,T81] ( 2, 4 ) ref -> x6 single-def "argument with side effect"
+; V71 tmp49 [V71,T47] ( 3, 24 ) ref -> x0 "argument with side effect"
+; V72 tmp50 [V72,T53] ( 2, 16 ) ref -> x3 "argument with side effect"
+; V73 tmp51 [V73,T54] ( 2, 16 ) ref -> x4 "argument with side effect"
+; V74 tmp52 [V74,T55] ( 2, 16 ) ref -> x5 "argument with side effect"
+; V75 tmp53 [V75,T56] ( 2, 16 ) ref -> x6 "argument with side effect"
; V76 tmp54 [V76,T21] ( 3, 96 ) ref -> x0 "argument with side effect"
; V77 tmp55 [V77,T22] ( 3, 96 ) ref -> x0 "argument with side effect"
; V78 tmp56 [V78,T01] ( 6,384 ) ref -> x0 "argument with side effect"
; V79 tmp57 [V79,T02] ( 6,384 ) ref -> x0 "argument with side effect"
; V80 tmp58 [V80,T03] ( 6,384 ) ref -> x0 "argument with side effect"
-; V81 tmp59 [V81,T29] ( 2, 64 ) ref -> [fp+0x28] spill-single-def "argument with side effect"
+; V81 tmp59 [V81,T29] ( 2, 64 ) ref -> [fp+0x18] spill-single-def "argument with side effect"
; V82 tmp60 [V82,T30] ( 2, 64 ) ref -> x4 "argument with side effect"
; V83 tmp61 [V83,T32] ( 2, 64 ) long -> x1 "argument with side effect"
; V84 tmp62 [V84,T33] ( 2, 64 ) long -> x1 "argument with side effect"
-; V85 tmp63 [V85,T34] ( 2, 64 ) long -> [fp+0xF0] spill-single-def "argument with side effect"
+; V85 tmp63 [V85,T34] ( 2, 64 ) long -> [fp+0xD0] spill-single-def "argument with side effect"
; V86 tmp64 [V86,T31] ( 2, 64 ) ref -> x2 "argument with side effect"
; V87 tmp65 [V87,T35] ( 2, 64 ) long -> x1 "argument with side effect"
; V88 tmp66 [V88,T09] ( 2,256 ) long -> x1 "argument with side effect"
; V89 tmp67 [V89,T36] ( 2, 64 ) long -> x1 "argument with side effect"
; V90 tmp68 [V90,T37] ( 2, 64 ) long -> x1 "argument with side effect"
-; V91 cse0 [V91,T59] ( 3, 12 ) ref -> x6 "CSE #17: moderate"
-; V92 cse1 [V92,T69] ( 4, 4 ) ref -> x6 "CSE #13: conservative"
-; V93 cse2 [V93,T84] ( 3, 3 ) ref -> [fp+0x20] spill-single-def "CSE #06: conservative"
-;* V94 cse3 [V94,T58] ( 0, 0 ) byref -> zero-ref "CSE #33: aggressive"
-;* V95 cse4 [V95,T89] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
-;* V96 cse5 [V96,T90] ( 0, 0 ) byref -> zero-ref "CSE #11: moderate"
-;* V97 cse6 [V97,T91] ( 0, 0 ) byref -> zero-ref "CSE #14: moderate"
-; V98 cse7 [V98,T16] ( 4,112 ) long -> [fp+0xE8] spill-single-def "CSE #38: aggressive"
-; V99 cse8 [V99,T25] ( 4, 64 ) long -> [fp+0xE0] spill-single-def "CSE #20: moderate"
-; V100 cse9 [V100,T38] ( 3, 48 ) long -> [fp+0xD8] spill-single-def "CSE #37: moderate"
-; V101 cse10 [V101,T39] ( 3, 48 ) long -> [fp+0xD0] spill-single-def "CSE #40: moderate"
-; V102 cse11 [V102,T26] ( 4, 64 ) long -> [fp+0xC8] spill-single-def "CSE #22: moderate"
-; V103 cse12 [V103,T11] ( 10,204 ) int -> [fp+0xC4] spill-single-def "CSE #21: aggressive"
-; V104 cse13 [V104,T83] ( 4, 3 ) long -> x28 "CSE #03: moderate"
-; V105 cse14 [V105,T27] ( 4, 64 ) long -> [fp+0xB8] spill-single-def "CSE #36: moderate"
-; V106 cse15 [V106,T05] ( 8,256 ) byref -> [fp+0x18] multi-def "CSE #25: aggressive"
-; V107 cse16 [V107,T15] ( 7,112 ) long -> [fp+0xB0] spill-single-def "CSE #34: aggressive"
-; V108 cse17 [V108,T28] ( 4, 64 ) long -> [fp+0xA8] spill-single-def "CSE #19: moderate"
-; V109 cse18 [V109,T13] ( 3,192 ) int -> [fp+0xA4] spill-single-def "CSE #39: aggressive"
-; V110 cse19 [V110,T41] ( 12, 36 ) long -> x26 "CSE #02: moderate"
-; V111 cse20 [V111,T50] ( 4, 19 ) long -> x19 "CSE #41: moderate"
-; V112 cse21 [V112,T51] ( 3, 18 ) ref -> x24 "CSE #35: moderate"
-; V113 cse22 [V113,T49] ( 3, 24 ) int -> [fp+0xA0] spill-single-def "CSE #42: moderate"
-; V114 cse23 [V114,T00] ( 7,443.52) long -> [fp+0x98] spill-single-def "CSE #24: aggressive"
-; V115 rat0 [V115,T86] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
-; V116 rat1 [V116,T87] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V91 cse0 [V91,T58] ( 3, 12 ) ref -> x6 "CSE #17: moderate"
+; V92 cse1 [V92,T68] ( 4, 4 ) ref -> x6 "CSE #13: conservative"
+; V93 cse2 [V93,T83] ( 3, 3 ) ref -> x28 "CSE #06: conservative"
+;* V94 cse3 [V94,T57] ( 0, 0 ) byref -> zero-ref "CSE #33: aggressive"
+;* V95 cse4 [V95,T88] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
+;* V96 cse5 [V96,T89] ( 0, 0 ) byref -> zero-ref "CSE #11: moderate"
+;* V97 cse6 [V97,T90] ( 0, 0 ) byref -> zero-ref "CSE #14: moderate"
+; V98 cse7 [V98,T16] ( 4,112 ) long -> [fp+0xC8] spill-single-def "CSE #38: aggressive"
+; V99 cse8 [V99,T25] ( 4, 64 ) long -> [fp+0xC0] spill-single-def "CSE #20: moderate"
+; V100 cse9 [V100,T38] ( 3, 48 ) long -> [fp+0xB8] spill-single-def "CSE #37: moderate"
+; V101 cse10 [V101,T39] ( 3, 48 ) long -> [fp+0xB0] spill-single-def "CSE #40: moderate"
+; V102 cse11 [V102,T26] ( 4, 64 ) long -> [fp+0xA8] spill-single-def "CSE #22: moderate"
+; V103 cse12 [V103,T11] ( 10,204 ) int -> [fp+0xA4] spill-single-def "CSE #21: aggressive"
+; V104 cse13 [V104,T82] ( 4, 3 ) long -> x27 "CSE #03: moderate"
+; V105 cse14 [V105,T27] ( 4, 64 ) long -> [fp+0x98] spill-single-def "CSE #36: moderate"
+; V106 cse15 [V106,T05] ( 8,256 ) byref -> [fp+0x10] multi-def "CSE #25: aggressive"
+; V107 cse16 [V107,T15] ( 7,112 ) long -> [fp+0x90] spill-single-def "CSE #34: aggressive"
+; V108 cse17 [V108,T28] ( 4, 64 ) long -> [fp+0x88] spill-single-def "CSE #19: moderate"
+; V109 cse18 [V109,T13] ( 3,192 ) int -> [fp+0x84] spill-single-def "CSE #39: aggressive"
+; V110 cse19 [V110,T49] ( 4, 19 ) long -> x19 "CSE #41: moderate"
+; V111 cse20 [V111,T50] ( 3, 18 ) ref -> x24 "CSE #35: moderate"
+; V112 cse21 [V112,T48] ( 3, 24 ) int -> [fp+0x80] spill-single-def "CSE #42: moderate"
+; V113 cse22 [V113,T00] ( 7,443.52) long -> [fp+0x78] spill-single-def "CSE #24: aggressive"
+; V114 rat0 [V114,T85] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V115 rat1 [V115,T86] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
;
-; Lcl frame size = 256
+; Lcl frame size = 224
G_M39034_IG01:
sub sp, sp, #0xD1FFAB1E
stp fp, lr, [sp, #0x10]
- stp x19, x20, [sp, #0xD1FFAB1E]
+ stp x19, x20, [sp, #0xF0]
stp x21, x22, [sp, #0xD1FFAB1E]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
add fp, sp, #16
mov x19, x1
;; size=36 bbWeight=1 PerfScore 7.50
G_M39034_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Reflection.AssemblyName:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
ldr x1, [x19]
ldr x1, [x1, #0x50]
ldr x1, [x1]
blr x1
mov w1, #9
mov w2, #1
cmp w0, #0
csel w1, w1, w2, ne
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Reflection.Emit.AssemblyBuilder:DefineDynamicAssembly(System.Reflection.AssemblyName,int):System.Reflection.Emit.AssemblyBuilder
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x20, x0
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x20]
ldr x2, [x2, #0x70]
ldr x2, [x2, #0x18]
blr x2
mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy:GetIgnoresAccessChecksToAttributeConstructor(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x22, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
mov x23, x0
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x0, x24
bl System.RuntimeTypeHandle:GetAssembly(System.RuntimeType):System.Reflection.RuntimeAssembly
movz x1, #0xD1FFAB1E // code for System.Reflection.Assembly:GetName():System.Reflection.AssemblyName:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
ldr x15, [x0, #0x08]
add x14, x23, #16
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr w3, [x3]
- tbz w3, #0, G_M39034_IG23
+ tbz w3, #0, G_M39034_IG22
;; size=292 bbWeight=1 PerfScore 75.00
G_M39034_IG03:
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- ldr x27, [x26, #0xD1FFAB1E]
- movz x28, #0xD1FFAB1E
- movk x28, #0xD1FFAB1E LSL #16
- movk x28, #0xD1FFAB1E LSL #32
- add x0, x28, #0xD1FFAB1E
+ movz x3, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.PropertyInfo]:Value
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x26, [x3]
+ movz x27, #0xD1FFAB1E
+ movk x27, #0xD1FFAB1E LSL #16
+ movk x27, #0xD1FFAB1E LSL #32
+ add x0, x27, #0xD1FFAB1E
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr w3, [x3]
- tbz w3, #0, G_M39034_IG24
- ;; size=52 bbWeight=1 PerfScore 12.00
+ tbz w3, #0, G_M39034_IG23
+ ;; size=48 bbWeight=1 PerfScore 11.50
G_M39034_IG04:
- ldr x7, [x26, #0xD1FFAB1E]
- mov x6, x7
- str x6, [fp, #0x20] // [V93 cse2]
- mov x7, x6
- str x7, [fp, #0x30] // [V61 tmp39]
- add x0, x28, #0xD1FFAB1E
+ movz x3, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x28, [x3]
+ mov x7, x28
+ str x7, [fp, #0x20] // [V61 tmp39]
+ add x0, x27, #0xD1FFAB1E
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr w3, [x3]
- tbz w3, #0, G_M39034_IG25
- ;; size=44 bbWeight=1 PerfScore 12.00
+ tbz w3, #0, G_M39034_IG24
+ ;; size=44 bbWeight=1 PerfScore 11.50
G_M39034_IG05:
- ldr x5, [x26, #0xD1FFAB1E]
- mov x3, x27
+ movz x3, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.FieldInfo]:Value
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x5, [x3]
+ mov x6, x28
+ mov x3, x26
mov x4, x7
mov x1, x22
mov x2, x23
mov x0, x25
movz x7, #0xD1FFAB1E // code for System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
mov x0, x20
mov x1, x25
movz x2, #0xD1FFAB1E // code for System.Reflection.Emit.AssemblyBuilder:SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
ldr x1, [x19]
ldr x1, [x1, #0x98]
ldr x1, [x1, #0x38]
blr x1
mov x4, x0
mov x0, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w2, #160
mov x3, xzr
mov w5, wzr
mov w6, wzr
ldr x7, [x21]
ldr x7, [x7, #0x68]
ldr x7, [x7, #0x08]
blr x7
mov x21, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Reflection.Emit.TypeBuilder:AddInterfaceImplementation(System.Type):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
- ldr x4, [x26]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x4, [x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #20
mov x2, xzr
mov w3, #3
mov x5, xzr
movz x6, #0xD1FFAB1E // code for System.RuntimeType:GetConstructorImpl(int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.ConstructorInfo:this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
mov x19, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- ldr x6, [x26, #0xD1FFAB1E]
+ movz x2, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x6, [x2]
mov x2, x6
- ldr x3, [x26, #0xD1FFAB1E]
+ movz x3, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.PropertyInfo]:Value
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
mov x4, x6
- ldr x5, [x26, #0xD1FFAB1E]
+ movz x5, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.FieldInfo]:Value
+ movk x5, #0xD1FFAB1E LSL #32
+ ldr x5, [x5]
mov x1, x19
mov x0, x23
movz x7, #0xD1FFAB1E // code for System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
mov x0, x21
mov x1, x23
movz x2, #0xD1FFAB1E // code for System.Reflection.Emit.TypeBuilder:SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x21
ldr x19, [x21]
ldr x1, [x19, #0x98]
ldr x1, [x1, #0x38]
blr x1
mov x23, x0
mov w25, wzr
ldr w0, [x23, #0x08]
cmp w0, #0
ble G_M39034_IG19
- ;; size=368 bbWeight=1 PerfScore 106.50
+ ;; size=412 bbWeight=1 PerfScore 112.00
G_M39034_IG06:
add x0, x23, #16
- ldr x27, [x0, w25, UXTW #3]
+ ldr x26, [x0, w25, UXTW #3]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
- str x0, [fp, #0x40] // [V33 tmp11]
- mov x0, x27
- ldr x2, [x27]
- ldr x2, [x2, #0x50]
- ldr x2, [x2, #0x28]
- blr x2
+ mov x28, x0
+ mov x0, x26
+ ldr x1, [x26]
+ ldr x1, [x1, #0x50]
+ ldr x1, [x1, #0x28]
+ blr x1
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x28]
blr x1
ldr x15, [x0, #0x08]
- ldr x1, [fp, #0x40] // [V33 tmp11]
- add x14, x1, #16
+ add x14, x28, #16
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x7, x0
- str x7, [fp, #0x38] // [V35 tmp13]
- ldr x3, [x26, #0xD1FFAB1E]
- ldr x6, [x26, #0xD1FFAB1E]
+ str x7, [fp, #0x28] // [V35 tmp13]
+ movz x3, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.PropertyInfo]:Value
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ movz x4, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
+ movk x4, #0xD1FFAB1E LSL #32
+ ldr x6, [x4]
mov x4, x6
- ldr x5, [x26, #0xD1FFAB1E]
+ movz x5, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Reflection.FieldInfo]:Value
+ movk x5, #0xD1FFAB1E LSL #32
+ ldr x5, [x5]
mov x1, x22
- ldr x2, [fp, #0x40] // [V33 tmp11]
+ mov x2, x28
mov x0, x7
movz x8, #0xD1FFAB1E // code for System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
mov x0, x20
- ldr x1, [fp, #0x38] // [V35 tmp13]
+ ldr x1, [fp, #0x28] // [V35 tmp13]
movz x2, #0xD1FFAB1E // code for System.Reflection.Emit.AssemblyBuilder:SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x27
+ mov x0, x26
mov w1, #28
- ldr x2, [x27]
+ ldr x2, [x26]
ldr x2, [x2, #0x90]
ldr x2, [x2, #0x08]
blr x2
- mov x1, x0
- str x1, [fp, #0x90] // [V09 loc7]
- mov w2, wzr
- ldr w3, [x1, #0x08]
- str w3, [fp, #0xA0] // [V113 cse22]
- cmp w3, #0
+ mov x28, x0
+ mov w1, wzr
+ ldr w2, [x28, #0x08]
+ str w2, [fp, #0x80] // [V112 cse21]
+ cmp w2, #0
ble G_M39034_IG18
- ;; size=236 bbWeight=4 PerfScore 332.00
+ ;; size=252 bbWeight=4 PerfScore 324.00
G_M39034_IG07:
- add x0, x1, #16
- str w2, [fp, #0xFC] // [V10 loc8]
- ldr x4, [x0, w2, UXTW #3]
- str x4, [fp, #0x88] // [V11 loc9]
- mov x0, x4
- ldr x5, [x4]
- str x5, [fp, #0xA8] // [V108 cse17]
- ldr x6, [x5, #0x60]
- str x6, [fp, #0xE0] // [V99 cse8]
- ldr x7, [x6, #0x20]
- blr x7
+ add x0, x28, #16
+ str w1, [fp, #0xDC] // [V10 loc8]
+ ldr x3, [x0, w1, UXTW #3]
+ str x3, [fp, #0x70] // [V11 loc9]
+ mov x0, x3
+ ldr x4, [x3]
+ str x4, [fp, #0x88] // [V108 cse17]
+ ldr x5, [x4, #0x60]
+ str x5, [fp, #0xC0] // [V99 cse8]
+ ldr x6, [x5, #0x20]
+ blr x6
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x10]
blr x1
- str x0, [fp, #0x80] // [V12 loc10]
- ldr x0, [fp, #0x88] // [V11 loc9]
- ldr x2, [fp, #0xE0] // [V99 cse8]
+ str x0, [fp, #0x68] // [V12 loc10]
+ ldr x0, [fp, #0x70] // [V11 loc9]
+ ldr x2, [fp, #0xC0] // [V99 cse8]
ldr x3, [x2, #0x20]
blr x3
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
- str x0, [fp, #0x78] // [V13 loc11]
- ldr x0, [fp, #0x88] // [V11 loc9]
- ldr x2, [fp, #0xA8] // [V108 cse17]
+ str x0, [fp, #0x60] // [V13 loc11]
+ ldr x0, [fp, #0x70] // [V11 loc9]
+ ldr x2, [fp, #0x88] // [V108 cse17]
ldr x3, [x2, #0x50]
ldr x3, [x3, #0x18]
blr x3
mov x2, x0
- str x2, [fp, #0x70] // [V14 loc12]
+ str x2, [fp, #0x58] // [V14 loc12]
ldr w3, [x2, #0x08]
- str w3, [fp, #0xC4] // [V103 cse12]
+ str w3, [fp, #0xA4] // [V103 cse12]
mov w4, w3
- str x4, [fp, #0xC8] // [V102 cse11]
+ str x4, [fp, #0xA8] // [V102 cse11]
mov x1, x4
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
- str x0, [fp, #0x68] // [V15 loc13]
- ldr x1, [fp, #0xC8] // [V102 cse11]
+ str x0, [fp, #0x50] // [V15 loc13]
+ ldr x1, [fp, #0xA8] // [V102 cse11]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
- str x0, [fp, #0x60] // [V16 loc14]
- ldr x1, [fp, #0xC8] // [V102 cse11]
+ str x0, [fp, #0x48] // [V16 loc14]
+ ldr x1, [fp, #0xA8] // [V102 cse11]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
mov x1, x0
- str x1, [fp, #0x58] // [V17 loc15]
+ str x1, [fp, #0x40] // [V17 loc15]
mov w2, wzr
- ldr w3, [fp, #0xC4] // [V103 cse12]
+ ldr w3, [fp, #0xA4] // [V103 cse12]
cmp w3, #0
ble G_M39034_IG13
;; size=236 bbWeight=16 PerfScore 1368.00
G_M39034_IG08:
- ldr x4, [fp, #0x68] // [V15 loc13]
+ ldr x4, [fp, #0x50] // [V15 loc13]
ldr w0, [x4, #0x08]
cmp w0, w3
blt G_M39034_IG12
- ldr x5, [fp, #0x60] // [V16 loc14]
+ ldr x5, [fp, #0x48] // [V16 loc14]
ldr w0, [x5, #0x08]
cmp w0, w3
blt G_M39034_IG11
ldr w0, [x1, #0x08]
cmp w0, w3
- blt G_M39034_IG22
+ blt G_M39034_IG21
;; size=44 bbWeight=4 PerfScore 70.00
G_M39034_IG09:
- ldr x6, [fp, #0x70] // [V14 loc12]
+ ldr x6, [fp, #0x58] // [V14 loc12]
add x7, x6, #16
- str w2, [fp, #0xF8] // [V20 loc18]
+ str w2, [fp, #0xD8] // [V20 loc18]
mov w8, w2
- str x8, [fp, #0x98] // [V114 cse23]
- str x7, [fp, #0x18] // [V106 cse15]
+ str x8, [fp, #0x78] // [V113 cse22]
+ str x7, [fp, #0x10] // [V106 cse15]
ldr x0, [x7, x8, LSL #3]
ldr x9, [x0]
ldr x9, [x9, #0x40]
ldr x9, [x9, #0x38]
blr x9
- ldr x1, [fp, #0x68] // [V15 loc13]
+ ldr x1, [fp, #0x50] // [V15 loc13]
add x14, x1, #16
- ldr x2, [fp, #0x98] // [V114 cse23]
+ ldr x2, [fp, #0x78] // [V113 cse22]
add x14, x14, x2, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr x3, [fp, #0x18] // [V106 cse15]
+ ldr x3, [fp, #0x10] // [V106 cse15]
ldr x0, [x3, x2, LSL #3]
ldr x4, [x0]
ldr x4, [x4, #0x50]
ldr x4, [x4, #0x10]
blr x4
- ldr x1, [fp, #0x60] // [V16 loc14]
+ ldr x1, [fp, #0x48] // [V16 loc14]
add x14, x1, #16
- ldr x2, [fp, #0x98] // [V114 cse23]
+ ldr x2, [fp, #0x78] // [V113 cse22]
add x14, x14, x2, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr x3, [fp, #0x18] // [V106 cse15]
+ ldr x3, [fp, #0x10] // [V106 cse15]
ldr x0, [x3, x2, LSL #3]
ldr x3, [x0]
ldr x3, [x3, #0x50]
ldr x3, [x3, #0x18]
blr x3
- ldr x1, [fp, #0x58] // [V17 loc15]
+ ldr x1, [fp, #0x40] // [V17 loc15]
add x14, x1, #16
- ldr x15, [fp, #0x98] // [V114 cse23]
+ ldr x15, [fp, #0x78] // [V113 cse22]
add x14, x14, x15, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr w2, [fp, #0xF8] // [V20 loc18]
+ ldr w2, [fp, #0xD8] // [V20 loc18]
add w2, w2, #1
- ldr w3, [fp, #0xC4] // [V103 cse12]
+ ldr w3, [fp, #0xA4] // [V103 cse12]
cmp w3, w2
bgt G_M39034_IG09
;; size=184 bbWeight=63.36 PerfScore 4815.36
G_M39034_IG10:
- ldr x0, [fp, #0x88] // [V11 loc9]
- ldr x4, [fp, #0xA8] // [V108 cse17]
+ ldr x0, [fp, #0x70] // [V11 loc9]
+ ldr x4, [fp, #0x88] // [V108 cse17]
ldr x2, [x4, #0x40]
ldr x2, [x2, #0x30]
blr x2
- str x0, [fp, #0x28] // [V81 tmp59]
- ldr x0, [fp, #0x88] // [V11 loc9]
- ldr x2, [fp, #0xE0] // [V99 cse8]
+ str x0, [fp, #0x18] // [V81 tmp59]
+ ldr x0, [fp, #0x70] // [V11 loc9]
+ ldr x2, [fp, #0xC0] // [V99 cse8]
ldr x2, [x2, #0x28]
blr x2
mov x4, x0
- ldr x8, [fp, #0x58] // [V17 loc15]
+ ldr x8, [fp, #0x40] // [V17 loc15]
str x8, [sp] // [V22 OutArgs]
- ldr x9, [fp, #0x60] // [V16 loc14]
+ ldr x9, [fp, #0x48] // [V16 loc14]
str x9, [sp, #0x08] // [V22 OutArgs+0x08]
- ldr x1, [fp, #0x28] // [V81 tmp59]
+ ldr x1, [fp, #0x18] // [V81 tmp59]
mov x0, x21
- ldp x5, x6, [fp, #0x78] // [V13 loc11], [V12 loc10]
- ldr x7, [fp, #0x68] // [V15 loc13]
+ ldp x5, x6, [fp, #0x60] // [V13 loc11], [V12 loc10]
+ ldr x7, [fp, #0x50] // [V15 loc13]
mov w2, #225
mov w3, #32
movz x8, #0xD1FFAB1E // code for System.Reflection.Emit.TypeBuilder:DefineMethod(System.String,int,int,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]):System.Reflection.Emit.MethodBuilder:this
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
mov x2, x0
- str x2, [fp, #0x50] // [V18 loc16]
+ str x2, [fp, #0x38] // [V18 loc16]
mov x0, x2
mov w1, #64
ldr x3, [x2]
ldr x3, [x3, #0x70]
ldr x3, [x3, #0x08]
blr x3
mov x2, x0
- str x2, [fp, #0x48] // [V19 loc17]
+ str x2, [fp, #0x30] // [V19 loc17]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbnz w1, #0, G_M39034_IG14
- b G_M39034_IG26
+ b G_M39034_IG25
;; size=168 bbWeight=16 PerfScore 976.00
G_M39034_IG11:
- b G_M39034_IG22
+ b G_M39034_IG21
;; size=4 bbWeight=2 PerfScore 2.00
G_M39034_IG12:
- b G_M39034_IG22
+ b G_M39034_IG21
;; size=4 bbWeight=2 PerfScore 2.00
G_M39034_IG13:
b G_M39034_IG10
;; size=4 bbWeight=8 PerfScore 8.00
G_M39034_IG14:
movz x3, #0xD1FFAB1E // data for System.Reflection.Emit.OpCodes:Ldarg_0
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
- str x3, [fp, #0xB0] // [V107 cse16]
+ str x3, [fp, #0x90] // [V107 cse16]
ldr x1, [x3]
mov x0, x2
ldr x4, [x2]
- str x4, [fp, #0xB8] // [V105 cse14]
+ str x4, [fp, #0x98] // [V105 cse14]
ldr x5, [x4, #0x40]
- str x5, [fp, #0xD0] // [V101 cse10]
+ str x5, [fp, #0xB0] // [V101 cse10]
ldr x6, [x5, #0x20]
blr x6
- ldr x3, [fp, #0xB0] // [V107 cse16]
+ ldr x3, [fp, #0x90] // [V107 cse16]
ldr x1, [x3, #0xD1FFAB1E]
- ldr x0, [fp, #0x48] // [V19 loc17]
+ ldr x0, [fp, #0x30] // [V19 loc17]
mov x2, x24
- ldr x4, [fp, #0xB8] // [V105 cse14]
+ ldr x4, [fp, #0x98] // [V105 cse14]
ldr x5, [x4, #0x50]
- str x5, [fp, #0xD8] // [V100 cse9]
+ str x5, [fp, #0xB8] // [V100 cse9]
ldr x6, [x5, #0x08]
blr x6
- ldr x3, [fp, #0xB0] // [V107 cse16]
+ ldr x3, [fp, #0x90] // [V107 cse16]
ldr x4, [x3, #0xD1FFAB1E]
- str x4, [fp, #0xF0] // [V85 tmp63]
+ str x4, [fp, #0xD0] // [V85 tmp63]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
- tbz w1, #0, G_M39034_IG27
+ tbz w1, #0, G_M39034_IG26
;; size=116 bbWeight=16 PerfScore 752.00
G_M39034_IG15:
- ldr x2, [x26, #0xD1FFAB1E]
+ movz x1, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+IComImportAdapter:GetRuntimeCallableWrapperMethod
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr x2, [x1]
mov x1, x4
- ldr x0, [fp, #0x48] // [V19 loc17]
- ldr x5, [fp, #0xB8] // [V105 cse14]
+ ldr x0, [fp, #0x30] // [V19 loc17]
+ ldr x5, [fp, #0x98] // [V105 cse14]
ldr x4, [x5, #0x48]
- str x4, [fp, #0xE8] // [V98 cse7]
+ str x4, [fp, #0xC8] // [V98 cse7]
ldr x5, [x4, #0x18]
blr x5
- ldr x3, [fp, #0xB0] // [V107 cse16]
+ ldr x3, [fp, #0x90] // [V107 cse16]
ldr x1, [x3, #0xD1FFAB1E]
- ldr x0, [fp, #0x48] // [V19 loc17]
- mov x2, x27
- ldr x4, [fp, #0xD8] // [V100 cse9]
+ ldr x0, [fp, #0x30] // [V19 loc17]
+ mov x2, x26
+ ldr x4, [fp, #0xB8] // [V100 cse9]
ldr x4, [x4, #0x08]
blr x4
mov w3, wzr
- ldr w4, [fp, #0xC4] // [V103 cse12]
+ ldr w4, [fp, #0xA4] // [V103 cse12]
cmp w4, #0
ble G_M39034_IG17
- ;; size=76 bbWeight=16 PerfScore 528.00
+ ;; size=84 bbWeight=16 PerfScore 544.00
G_M39034_IG16:
movz x1, #0xD1FFAB1E // data for System.Reflection.Emit.OpCodes:Ldarg
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
add w3, w3, #1
- str w3, [fp, #0xA4] // [V109 cse18]
+ str w3, [fp, #0x84] // [V109 cse18]
mov w2, w3
- ldr x0, [fp, #0x48] // [V19 loc17]
- ldr x5, [fp, #0xE8] // [V98 cse7]
+ ldr x0, [fp, #0x30] // [V19 loc17]
+ ldr x5, [fp, #0xC8] // [V98 cse7]
ldr x6, [x5, #0x10]
blr x6
- ldr w3, [fp, #0xA4] // [V109 cse18]
- ldr w4, [fp, #0xC4] // [V103 cse12]
+ ldr w3, [fp, #0x84] // [V109 cse18]
+ ldr w4, [fp, #0xA4] // [V103 cse12]
cmp w4, w3
bgt G_M39034_IG16
;; size=60 bbWeight=64 PerfScore 1280.00
G_M39034_IG17:
- ldr x3, [fp, #0xB0] // [V107 cse16]
+ ldr x3, [fp, #0x90] // [V107 cse16]
ldr x1, [x3, #0xD1FFAB1E]
- ldr x0, [fp, #0x48] // [V19 loc17]
- ldr x2, [fp, #0x88] // [V11 loc9]
- ldr x5, [fp, #0xE8] // [V98 cse7]
+ ldr x0, [fp, #0x30] // [V19 loc17]
+ ldr x2, [fp, #0x70] // [V11 loc9]
+ ldr x5, [fp, #0xC8] // [V98 cse7]
ldr x4, [x5, #0x18]
blr x4
- ldr x2, [fp, #0xB0] // [V107 cse16]
+ ldr x2, [fp, #0x90] // [V107 cse16]
ldr x1, [x2, #0xD1FFAB1E]
- ldr x0, [fp, #0x48] // [V19 loc17]
- ldr x3, [fp, #0xD0] // [V101 cse10]
+ ldr x0, [fp, #0x30] // [V19 loc17]
+ ldr x3, [fp, #0xB0] // [V101 cse10]
ldr x2, [x3, #0x20]
blr x2
mov x0, x21
- ldr x1, [fp, #0x50] // [V18 loc16]
- ldr x2, [fp, #0x88] // [V11 loc9]
+ ldr x1, [fp, #0x38] // [V18 loc16]
+ ldr x2, [fp, #0x70] // [V11 loc9]
ldr x3, [x19, #0xD0]
ldr x3, [x3, #0x10]
blr x3
- ldr w1, [fp, #0xFC] // [V10 loc8]
+ ldr w1, [fp, #0xDC] // [V10 loc8]
add w1, w1, #1
- ldr w2, [fp, #0xA0] // [V113 cse22]
+ ldr w2, [fp, #0x80] // [V112 cse21]
cmp w2, w1
- bgt G_M39034_IG21
+ bgt G_M39034_IG07
;; size=96 bbWeight=16 PerfScore 728.00
G_M39034_IG18:
add w25, w25, #1
ldr w0, [x23, #0x08]
cmp w0, w25
bgt G_M39034_IG06
;; size=16 bbWeight=4 PerfScore 20.00
G_M39034_IG19:
mov x0, x21
ldr x1, [x19, #0xC8]
ldr x1, [x1, #0x10]
;; size=12 bbWeight=1 PerfScore 6.50
G_M39034_IG20:
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
ldp x21, x22, [sp, #0xD1FFAB1E]
- ldp x19, x20, [sp, #0xD1FFAB1E]
+ ldp x19, x20, [sp, #0xF0]
ldp fp, lr, [sp, #0x10]
add sp, sp, #0xD1FFAB1E
br x1
;; size=32 bbWeight=1 PerfScore 7.50
G_M39034_IG21:
- mov w2, w1
- ldr x1, [fp, #0x90] // [V09 loc7]
- b G_M39034_IG07
- ;; size=12 bbWeight=8 PerfScore 28.00
-G_M39034_IG22:
- ldr x5, [fp, #0x70] // [V14 loc12]
+ ldr x5, [fp, #0x58] // [V14 loc12]
add x0, x5, #16
mov x6, x0
- str x6, [fp, #0x18] // [V106 cse15]
- str w2, [fp, #0xF8] // [V20 loc18]
+ str x6, [fp, #0x10] // [V106 cse15]
+ str w2, [fp, #0xD8] // [V20 loc18]
ldr x0, [x6, w2, UXTW #3]
ldr x7, [x0]
ldr x7, [x7, #0x40]
ldr x7, [x7, #0x38]
blr x7
- ldr x1, [fp, #0x68] // [V15 loc13]
+ ldr x1, [fp, #0x50] // [V15 loc13]
ldr w14, [x1, #0x08]
- ldr w2, [fp, #0xF8] // [V20 loc18]
+ ldr w2, [fp, #0xD8] // [V20 loc18]
cmp w2, w14
- bhs G_M39034_IG28
+ bhs G_M39034_IG27
add x14, x1, #16
add x14, x14, x2, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr x3, [fp, #0x18] // [V106 cse15]
- str w2, [fp, #0xF8] // [V20 loc18]
+ ldr x3, [fp, #0x10] // [V106 cse15]
+ str w2, [fp, #0xD8] // [V20 loc18]
ldr x0, [x3, w2, UXTW #3]
ldr x4, [x0]
ldr x4, [x4, #0x50]
ldr x4, [x4, #0x10]
blr x4
- ldr x1, [fp, #0x60] // [V16 loc14]
+ ldr x1, [fp, #0x48] // [V16 loc14]
ldr w14, [x1, #0x08]
- ldr w2, [fp, #0xF8] // [V20 loc18]
+ ldr w2, [fp, #0xD8] // [V20 loc18]
cmp w2, w14
- bhs G_M39034_IG28
+ bhs G_M39034_IG27
add x14, x1, #16
add x14, x14, x2, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [fp, #0x18] // [V106 cse15]
- str w2, [fp, #0xF8] // [V20 loc18]
+ ldr x0, [fp, #0x10] // [V106 cse15]
+ str w2, [fp, #0xD8] // [V20 loc18]
ldr x0, [x0, w2, UXTW #3]
ldr x3, [x0]
ldr x3, [x3, #0x50]
ldr x3, [x3, #0x18]
blr x3
- ldr x1, [fp, #0x58] // [V17 loc15]
+ ldr x1, [fp, #0x40] // [V17 loc15]
ldr w14, [x1, #0x08]
- ldr w2, [fp, #0xF8] // [V20 loc18]
+ ldr w2, [fp, #0xD8] // [V20 loc18]
cmp w2, w14
- bhs G_M39034_IG28
+ bhs G_M39034_IG27
add x14, x1, #16
add x14, x14, x2, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add w2, w2, #1
- ldr w3, [fp, #0xC4] // [V103 cse12]
+ ldr w3, [fp, #0xA4] // [V103 cse12]
cmp w3, w2
- bgt G_M39034_IG22
+ bgt G_M39034_IG21
b G_M39034_IG10
;; size=224 bbWeight=0.64 PerfScore 57.28
-G_M39034_IG23:
+G_M39034_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M39034_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-G_M39034_IG24:
+G_M39034_IG23:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M39034_IG04
;; size=8 bbWeight=0 PerfScore 0.00
-G_M39034_IG25:
+G_M39034_IG24:
bl CORINFO_HELP_GET_GCSTATIC_BASE
- ldr x6, [fp, #0x20] // [V93 cse2]
- ldr x7, [fp, #0x30] // [V61 tmp39]
+ ldr x7, [fp, #0x20] // [V61 tmp39]
b G_M39034_IG05
- ;; size=16 bbWeight=0 PerfScore 0.00
-G_M39034_IG26:
- mov x0, x28
+ ;; size=12 bbWeight=0 PerfScore 0.00
+G_M39034_IG25:
+ mov x0, x27
bl CORINFO_HELP_GET_GCSTATIC_BASE
- ldr x2, [fp, #0x48] // [V19 loc17]
+ ldr x2, [fp, #0x30] // [V19 loc17]
b G_M39034_IG14
;; size=16 bbWeight=0 PerfScore 0.00
-G_M39034_IG27:
+G_M39034_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
- ldr x4, [fp, #0xF0] // [V85 tmp63]
+ ldr x4, [fp, #0xD0] // [V85 tmp63]
b G_M39034_IG15
;; size=24 bbWeight=0 PerfScore 0.00
-G_M39034_IG28:
+G_M39034_IG27:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2408, prolog size 36, PerfScore 11193.64, instruction count 602, allocated bytes for code 2408 (MethodHash=21be6785) for method System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:<GetIUnknownDerivedDetails>b__3_0(System.Type):System.Type:this (FullOpts)
+; Total bytes of code 2456, prolog size 36, PerfScore 11178.14, instruction count 614, allocated bytes for code 2456 (MethodHash=21be6785) for method System.Runtime.InteropServices.Marshalling.ComImportInteropInterfaceDetailsStrategy+<>c:<GetIUnknownDerivedDetails>b__3_0(System.Type):System.Type: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/b1ef3c7cf8cf2f934379ebaa53dcd9cc |
Top method improvements-36 (-2.80 % of base) - System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] ; Assembly listing for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 17 single block inlinees; 14 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T10] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,System.Nullable`1[int]]>
-; V01 arg1 [V01,T11] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Object>
+; V00 arg0 [V00,T11] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,System.Nullable`1[int]]>
+; V01 arg1 [V01,T12] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Object>
;* V02 arg2 [V02 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op single-def <System.Threading.CancellationToken>
-; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x22 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
-; V04 loc1 [V04,T33] ( 4, 1.50) ref -> [fp+0x18] class-hnd exact EH-live spill-single-def <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x23 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
+; V04 loc1 [V04,T34] ( 4, 1.50) ref -> [fp+0x18] class-hnd exact EH-live spill-single-def <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
; V05 loc2 [V05 ] ( 5, 4 ) ubyte -> [fp+0x20] do-not-enreg[X] addr-exposed ld-addr-op
-; V06 loc3 [V06,T21] ( 4, 2.50) ref -> x23 ld-addr-op class-hnd <System.Threading.Tasks.Task>
+; V06 loc3 [V06,T22] ( 4, 2.50) ref -> x24 ld-addr-op class-hnd <System.Threading.Tasks.Task>
;* V07 loc4 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
-; V10 tmp2 [V10,T02] ( 4, 8 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Func`3[System.Threading.Tasks.Task,System.Object,System.Nullable`1[int]]>
-; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-; V12 tmp4 [V12,T14] ( 2, 4 ) ref -> x25 class-hnd single-def "impAppendStmt" <System.Object>
+; V10 tmp2 [V10,T02] ( 4, 8 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Func`3[System.Threading.Tasks.Task,System.Object,System.Nullable`1[int]]>
+; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+; V12 tmp4 [V12,T15] ( 2, 4 ) ref -> x26 class-hnd single-def "impAppendStmt" <System.Object>
;* V13 tmp5 [V13 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V14 tmp6 [V14,T27] ( 2, 2 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
-; V15 tmp7 [V15,T28] ( 2, 2 ) ref -> x19 class-hnd single-def "impSpillLclRefs" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-; V16 tmp8 [V16,T26] ( 4, 2 ) ref -> x19 single-def
-; V17 tmp9 [V17,T24] ( 5, 2.50) ref -> x24
-; V18 tmp10 [V18,T29] ( 2, 2 ) ref -> x25 class-hnd single-def "impAppendStmt" <System.Object>
+; V14 tmp6 [V14,T28] ( 2, 2 ) ref -> x26 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
+; V15 tmp7 [V15,T29] ( 2, 2 ) ref -> x19 class-hnd single-def "impSpillLclRefs" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+; V16 tmp8 [V16,T27] ( 4, 2 ) ref -> x19 single-def
+; V17 tmp9 [V17,T25] ( 5, 2.50) ref -> x26
+; V18 tmp10 [V18,T30] ( 2, 2 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Object>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V20 tmp12 [V20,T09] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
+; V20 tmp12 [V20,T10] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
;* V21 tmp13 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V22 tmp14 [V22,T15] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
-; V23 tmp15 [V23,T16] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
-; V24 tmp16 [V24,T25] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
-; V25 tmp17 [V25,T08] ( 3, 6 ) ref -> x26 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+; V22 tmp14 [V22,T16] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V23 tmp15 [V23,T17] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
+; V24 tmp16 [V24,T26] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
+; V25 tmp17 [V25,T08] ( 3, 6 ) ref -> x27 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
;* V26 tmp18 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V27 tmp19 [V27 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
;* V28 tmp20 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-; V29 tmp21 [V29,T01] ( 8, 13 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
+; V29 tmp21 [V29,T01] ( 8, 13 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V30 tmp22 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V31 tmp23 [V31 ] ( 0, 0 ) byref -> zero-ref
;* V32 tmp24 [V32 ] ( 0, 0 ) byref -> zero-ref
;* V33 tmp25 [V33 ] ( 0, 0 ) int -> zero-ref
-;* V34 tmp26 [V34,T31] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V34 tmp26 [V34,T32] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V35 tmp27 [V35 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;* V36 tmp28 [V36,T30] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-;* V37 tmp29 [V37,T32] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V36 tmp28 [V36,T31] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+;* V37 tmp29 [V37,T33] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V38 tmp30 [V38 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
-; V39 tmp31 [V39,T06] ( 4, 6 ) ref -> x28 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
-; V40 tmp32 [V40,T22] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Net.Dns+<>c__39`1[System.Nullable`1[int]]>
+; V39 tmp31 [V39,T06] ( 4, 6 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V40 tmp32 [V40,T23] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Net.Dns+<>c__39`1[System.Nullable`1[int]]>
;* V41 tmp33 [V41 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V42 tmp34 [V42,T23] ( 3, 3 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+; V42 tmp34 [V42,T24] ( 3, 3 ) ref -> x25 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
;* V43 tmp35 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V44 tmp36 [V44 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
;* V45 tmp37 [V45 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
+; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V48 tmp40 [V48 ] ( 0, 0 ) byref -> zero-ref
;* V49 tmp41 [V49 ] ( 0, 0 ) byref -> zero-ref
;* V50 tmp42 [V50 ] ( 0, 0 ) int -> zero-ref
-;* V51 tmp43 [V51,T38] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V51 tmp43 [V51,T40] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V52 tmp44 [V52 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;* V53 tmp45 [V53,T34] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-;* V54 tmp46 [V54,T39] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V53 tmp45 [V53,T36] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+;* V54 tmp46 [V54,T41] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V55 tmp47 [V55 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
-; V56 tmp48 [V56,T12] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
-; V57 tmp49 [V57,T17] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
-; V58 tmp50 [V58,T18] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
-; V59 tmp51 [V59,T19] ( 2, 4 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+; V56 tmp48 [V56,T13] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V57 tmp49 [V57,T18] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V58 tmp50 [V58,T19] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
+; V59 tmp51 [V59,T20] ( 2, 4 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
; V60 tmp52 [V60,T07] ( 3, 3 ) ref -> x19 single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;* V61 tmp53 [V61,T35] ( 0, 0 ) ref -> zero-ref single-def "field V13._source (fldOffset=0x0)" P-INDEP
-;* V62 tmp54 [V62,T41] ( 0, 0 ) ref -> zero-ref single-def "field V19._source (fldOffset=0x0)" P-INDEP
+;* V61 tmp53 [V61,T37] ( 0, 0 ) ref -> zero-ref single-def "field V13._source (fldOffset=0x0)" P-INDEP
+;* V62 tmp54 [V62,T43] ( 0, 0 ) ref -> zero-ref single-def "field V19._source (fldOffset=0x0)" P-INDEP
;* V63 tmp55 [V63 ] ( 0, 0 ) ref -> zero-ref single-def "field V35._source (fldOffset=0x0)" P-INDEP
-;* V64 tmp56 [V64,T36] ( 0, 0 ) ref -> zero-ref single-def "field V38._source (fldOffset=0x0)" P-INDEP
+;* V64 tmp56 [V64,T38] ( 0, 0 ) ref -> zero-ref single-def "field V38._source (fldOffset=0x0)" P-INDEP
;* V65 tmp57 [V65 ] ( 0, 0 ) ref -> zero-ref single-def "field V41._source (fldOffset=0x0)" P-INDEP
;* V66 tmp58 [V66 ] ( 0, 0 ) ref -> zero-ref single-def "field V52._source (fldOffset=0x0)" P-INDEP
-;* V67 tmp59 [V67,T42] ( 0, 0 ) ref -> zero-ref single-def "field V55._source (fldOffset=0x0)" P-INDEP
-; V68 tmp60 [V68,T20] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
-; V69 PSPSym [V69,T40] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
-;* V70 cse0 [V70,T43] ( 0, 0 ) byref -> zero-ref "CSE #06: moderate"
-;* V71 cse1 [V71,T37] ( 0, 0 ) byref -> zero-ref "CSE #08: moderate"
-; V72 cse2 [V72,T13] ( 4, 4 ) ref -> x21 "CSE #02: moderate"
+;* V67 tmp59 [V67,T44] ( 0, 0 ) ref -> zero-ref single-def "field V55._source (fldOffset=0x0)" P-INDEP
+; V68 tmp60 [V68,T21] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
+; V69 PSPSym [V69,T42] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
+;* V70 cse0 [V70,T45] ( 0, 0 ) byref -> zero-ref "CSE #05: moderate"
+;* V71 cse1 [V71,T39] ( 0, 0 ) byref -> zero-ref "CSE #08: moderate"
+; V72 cse2 [V72,T14] ( 4, 4 ) ref -> x21 "CSE #02: moderate"
; V73 cse3 [V73,T04] ( 11, 7.50) long -> x20 "CSE #01: aggressive"
+; V74 cse4 [V74,T09] ( 7, 5.50) long -> x22 "CSE #03: moderate"
+; V75 rat0 [V75,T35] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 32
G_M35011_IG01:
stp fp, lr, [sp, #-0x80]!
stp x19, x20, [sp, #0x30]
stp x21, x22, [sp, #0x40]
stp x23, x24, [sp, #0x50]
stp x25, x26, [sp, #0x60]
stp x27, x28, [sp, #0x70]
mov fp, sp
add x3, sp, #128
str x3, [fp, #0x28] // [V69 PSPSym]
mov x20, x0
mov x21, x1
mov x19, x2
;; size=48 bbWeight=1 PerfScore 9.50
G_M35011_IG02:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- add x14, x22, #8
+ mov x23, x0
+ add x14, x23, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- add x14, x22, #16
+ add x14, x23, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG32
- ;; size=64 bbWeight=1 PerfScore 12.50
+ ;; size=68 bbWeight=1 PerfScore 13.00
G_M35011_IG03:
movz x20, #0xD1FFAB1E // data for System.Net.NameResolutionTelemetry:Log
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
ldr x0, [x20]
- ldr x1, [x22, #0x10]
+ ldr x1, [x23, #0x10]
movz x2, #0xD1FFAB1E // code for System.Net.NameResolutionTelemetry:BeforeResolution(System.Object):long:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
- stp xzr, x0, [x22, #0x18]
+ stp xzr, x0, [x23, #0x18]
ldr x21, [x20, #-0x10]
mov x0, x21
str x0, [fp, #0x18] // [V04 loc1]
str wzr, [fp, #0x20] // [V05 loc2]
;; size=64 bbWeight=1 PerfScore 22.50
G_M35011_IG04:
ldrb w1, [fp, #0x20] // [V05 loc2]
cbnz w1, G_M35011_IG27
add x1, fp, #32 // [V05 loc2]
bl System.Threading.Monitor:ReliableEnter(System.Object,byref)
mov x0, x21
- ldr x1, [x22, #0x10]
+ ldr x1, [x23, #0x10]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M35011_IG06
;; size=48 bbWeight=1 PerfScore 14.50
G_M35011_IG05:
- ldr x23, [x0]
- cbnz x23, G_M35011_IG07
+ ldr x24, [x0]
+ cbnz x24, G_M35011_IG07
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M35011_IG06:
- ldr x23, [x20, #-0xB8]
+ ldr x24, [x20, #-0xB8]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M35011_IG07:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
- mov x15, x22
+ mov x25, x0
+ add x14, x25, #8
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]:<RunAsync>b__0(System.Threading.Tasks.Task,System.Object):System.Nullable`1[int]:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
- ldr x25, [x22, #0x10]
+ str x0, [x25, #0x18]
+ ldr x26, [x23, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG20
- ;; size=72 bbWeight=1 PerfScore 16.00
+ ;; size=64 bbWeight=1 PerfScore 15.00
G_M35011_IG08:
- ldr x26, [x20, #0x88]
- ldrsb wzr, [x23]
- cbz x26, G_M35011_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ ldr x27, [x20, #0x88]
+ ldrsb wzr, [x24]
+ cbz x27, G_M35011_IG26
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x27, x0
- mov x1, x24
- mov x2, x25
+ mov x28, x0
+ mov x1, x25
+ mov x2, x26
mov x3, xzr
mov w4, #8
mov w5, #0xD1FFAB1E
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- mov x28, x0
- cbnz x28, G_M35011_IG10
- ;; size=104 bbWeight=1 PerfScore 25.50
+ mov x25, x0
+ cbnz x25, G_M35011_IG10
+ ;; size=96 bbWeight=1 PerfScore 24.50
G_M35011_IG09:
- add x0, x27, #52
+ add x0, x28, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x27, #52
+ add x1, x28, #52
stlr w0, [x1]
b G_M35011_IG12
;; size=24 bbWeight=0.50 PerfScore 3.25
G_M35011_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG21
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M35011_IG11:
ldr x0, [x20, #-0xE0]
- cmp x28, x0
+ cmp x25, x0
beq G_M35011_IG12
- mov x0, x27
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #8
- mov x15, x28
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG12:
- add x14, x27, #64
- mov x15, x23
+ add x14, x28, #64
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x23
- mov x1, x27
- mov x2, x26
+ mov x0, x24
+ mov x1, x28
+ mov x2, x27
mov x3, x19
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- add x14, x22, #24
- mov x15, x27
+ add x14, x23, #24
+ mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
cbz x19, G_M35011_IG19
;; size=68 bbWeight=1 PerfScore 13.00
G_M35011_IG13:
- ldr x19, [x22, #0x18]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldr w0, [x0]
- tbz w0, #0, G_M35011_IG22
- ;; size=24 bbWeight=0.50 PerfScore 4.25
+ ldr x19, [x23, #0x18]
+ add x0, x22, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr w1, [x1]
+ tbz w1, #0, G_M35011_IG22
+ ;; size=28 bbWeight=0.50 PerfScore 4.50
G_M35011_IG14:
- ldr x24, [x20, #0xD1FFAB1E]
- cbnz x24, G_M35011_IG15
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ ldr x26, [x20, #0xD1FFAB1E]
+ cbnz x26, G_M35011_IG15
+ add x0, x22, #176
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x26, x0
ldr x15, [x20, #0xD1FFAB1E]
cbz x15, G_M35011_IG25
- add x14, x24, #8
+ add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Net.Dns+<>c__39`1[System.Nullable`1[int]]:<RunAsync>b__39_1(System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x24, #0x18]
+ str x14, [x26, #0x18]
add x14, x20, #0xD1FFAB1E
- mov x15, x24
+ mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
- ;; size=72 bbWeight=0.50 PerfScore 8.50
+ ;; size=64 bbWeight=0.50 PerfScore 8.00
G_M35011_IG15:
- ldr x25, [x22, #0x10]
- ldr x23, [x20, #0x88]
+ ldr x24, [x23, #0x10]
+ ldr x25, [x20, #0x88]
ldrsb wzr, [x19]
- cbz x24, G_M35011_IG24
- cbz x23, G_M35011_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ cbz x26, G_M35011_IG24
+ cbz x25, G_M35011_IG26
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
- mov x1, x24
- mov x2, x25
+ mov x22, x0
+ mov x1, x26
+ mov x2, x24
mov x3, xzr
mov w4, wzr
mov w5, #0xD1FFAB1E
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x24, x0
cbnz x24, G_M35011_IG16
- add x0, x26, #52
+ add x0, x22, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x26, #52
+ add x1, x22, #52
stlr w0, [x1]
b G_M35011_IG18
- ;; size=136 bbWeight=0.50 PerfScore 18.00
+ ;; size=128 bbWeight=0.50 PerfScore 17.50
G_M35011_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG23
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M35011_IG17:
ldr x0, [x20, #-0xE0]
cmp x24, x0
beq G_M35011_IG18
- mov x0, x26
+ mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #8
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG18:
- add x14, x26, #56
+ add x14, x22, #56
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
- mov x1, x26
- mov x2, x23
+ mov x1, x22
+ mov x2, x25
mov x3, xzr
mov w4, #0xD1FFAB1E
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=52 bbWeight=0.50 PerfScore 5.00
G_M35011_IG19:
mov x0, x21
- ldp x1, x2, [x22, #0x10]
+ ldp x1, x2, [x23, #0x10]
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
b G_M35011_IG28
;; size=36 bbWeight=1 PerfScore 11.50
G_M35011_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M35011_IG08
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG21:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG11
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG22:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG14
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M35011_IG23:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG17
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG24:
mov w0, #49
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M35011_IG25:
movz x0, #0xD1FFAB1E // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M35011_IG26:
mov w0, #47
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M35011_IG27:
movz x1, #0xD1FFAB1E // code for System.Threading.Monitor:ThrowLockTakenException()
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M35011_IG28:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M35011_IG30
;; size=8 bbWeight=1 PerfScore 3.00
G_M35011_IG29:
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M35011_IG30:
- ldr x0, [x22, #0x18]
+ ldr x0, [x23, #0x18]
;; size=4 bbWeight=1 PerfScore 3.00
G_M35011_IG31:
ldp x27, x28, [sp, #0x70]
ldp x25, x26, [sp, #0x60]
ldp x23, x24, [sp, #0x50]
ldp x21, x22, [sp, #0x40]
ldp x19, x20, [sp, #0x30]
ldp fp, lr, [sp], #0x80
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M35011_IG32:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG33:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
stp x25, x26, [sp, #0x50]
stp x27, x28, [sp, #0x60]
add x3, fp, #128
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M35011_IG34:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M35011_IG35
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=16 bbWeight=0 PerfScore 0.00
G_M35011_IG35:
ldp x27, x28, [sp, #0x60]
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x70
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1288, prolog size 48, PerfScore 200.00, instruction count 322, allocated bytes for code 1288 (MethodHash=13e1773c) for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
+; Total bytes of code 1252, prolog size 48, PerfScore 197.75, instruction count 313, allocated bytes for code 1252 (MethodHash=13e1773c) for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (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/5935eaac4715009d376c5cb87a55ef5a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 22 minutes.
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: