92 (12.71 % of base) - System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this
; Assembly listing for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 22 single block inlinees; 12 inlinees without PGO data
+; 0 inlinees with PGO data; 23 single block inlinees; 12 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T05] ( 4, 4 ) byref -> x0 this single-def
+; V00 this [V00,T09] ( 4, 4 ) byref -> x0 this single-def
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Span`1[ushort]>
-; V02 arg2 [V02,T04] ( 6, 4 ) byref -> x19 single-def
+; V02 arg2 [V02,T08] ( 6, 4 ) byref -> x19 single-def
;* V03 arg3 [V03 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
-; V04 arg4 [V04,T06] ( 5, 3.50) ref -> [fp+0x10] class-hnd single-def <System.IFormatProvider>
+; V04 arg4 [V04,T11] ( 5, 3.50) ref -> [fp+0x10] class-hnd single-def <System.IFormatProvider>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06,T20] ( 4, 2.50) ubyte -> x0 "Inline return value spill temp"
+; V06 tmp1 [V06,T24] ( 4, 2.50) ubyte -> x0 "Inline return value spill temp"
;* V07 tmp2 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inlining Arg" <System.Int128>
;* V09 tmp4 [V09 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V10 tmp5 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V11 tmp6 [V11,T26] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+; V11 tmp6 [V11,T29] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
;* V12 tmp7 [V12 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp8 [V13 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V14 tmp9 [V14,T11] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
+; V14 tmp9 [V14,T17] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
;* V15 tmp10 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp11 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V17 tmp12 [V17,T23] ( 2, 2 ) byref -> x3 single-def "Inlining Arg"
-; V18 tmp13 [V18,T24] ( 2, 2 ) int -> x4 "Inlining Arg"
-;* V19 tmp14 [V19 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
-;* V20 tmp15 [V20 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V21 tmp16 [V21 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V22 tmp17 [V22,T28] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
-;* V23 tmp18 [V23 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V24 tmp19 [V24 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-;* V25 tmp20 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-; V26 tmp21 [V26 ] ( 2, 1 ) byref -> [fp+0x38] must-init pinned "Inline stloc first use temp"
-; V27 tmp22 [V27,T29] ( 3, 1.50) long -> x21 "Inline stloc first use temp"
-;* V28 tmp23 [V28 ] ( 0, 0 ) long -> zero-ref
-; V29 tmp24 [V29,T18] ( 5, 2.50) int -> x24 "Inline return value spill temp"
-;* V30 tmp25 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inlining Arg" <System.UInt128>
-;* V31 tmp26 [V31 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-; V32 tmp27 [V32,T19] ( 5, 2.50) int -> x24 "Inline stloc first use temp"
-;* V33 tmp28 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
-;* V34 tmp29 [V34 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
-;* V35 tmp30 [V35 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.UInt128>
-;* V36 tmp31 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V37 tmp32 [V37 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V38 tmp33 [V38 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V39 tmp34 [V39,T30] ( 3, 1.50) int -> x0 "Inline stloc first use temp"
-;* V40 tmp35 [V40 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
-;* V41 tmp36 [V41 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-;* V42 tmp37 [V42 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
-;* V43 tmp38 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V44 tmp39 [V44 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+; V17 tmp12 [V17,T26] ( 2, 2 ) byref -> x3 single-def "Inlining Arg"
+; V18 tmp13 [V18,T27] ( 2, 2 ) int -> x4 "Inlining Arg"
+; V19 tmp14 [V19,T31] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
+;* V20 tmp15 [V20 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V21 tmp16 [V21 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
+;* V22 tmp17 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+; V23 tmp18 [V23 ] ( 2, 1 ) byref -> [fp+0x18] must-init pinned "Inline stloc first use temp"
+; V24 tmp19 [V24,T32] ( 3, 1.50) long -> x21 "Inline stloc first use temp"
+;* V25 tmp20 [V25 ] ( 0, 0 ) long -> zero-ref
+; V26 tmp21 [V26,T22] ( 5, 2.50) int -> x24 "Inline return value spill temp"
+;* V27 tmp22 [V27 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inlining Arg" <System.UInt128>
+;* V28 tmp23 [V28 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+; V29 tmp24 [V29,T23] ( 5, 2.50) int -> x24 "Inline stloc first use temp"
+;* V30 tmp25 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
+;* V31 tmp26 [V31 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
+;* V32 tmp27 [V32 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.UInt128>
+;* V33 tmp28 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V34 tmp29 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V35 tmp30 [V35 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V36 tmp31 [V36,T33] ( 3, 1.50) int -> x0 "Inline stloc first use temp"
+;* V37 tmp32 [V37 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V38 tmp33 [V38 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+;* V39 tmp34 [V39 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
+;* V40 tmp35 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V41 tmp36 [V41 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V42 tmp37 [V42 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V43 tmp38 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V44 tmp39 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V45 tmp40 [V45 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V46 tmp41 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
-;* V47 tmp42 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V48 tmp43 [V48 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V49 tmp44 [V49 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V50 tmp45 [V50,T31] ( 3, 1.50) int -> x1 "Inline stloc first use temp"
-;* V51 tmp46 [V51 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
-;* V52 tmp47 [V52 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-;* V53 tmp48 [V53 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
-;* V54 tmp49 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V55 tmp50 [V55 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp51 [V56 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V57 tmp52 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
-; V58 tmp53 [V58,T22] ( 4, 2 ) int -> x0 "Inline return value spill temp"
-;* V59 tmp54 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V60 tmp55 [V60 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
-; V61 tmp56 [V61,T00] ( 4, 18 ) long -> x21 "Inlining Arg"
-;* V62 tmp57 [V62 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
-; V63 tmp58 [V63 ] ( 4, 16 ) struct (32) [fp+0x18] do-not-enreg[XS] addr-exposed "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
-;* V64 tmp59 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
-; V65 tmp60 [V65,T07] ( 5, 3 ) byref -> x20 single-def "field V01._reference (fldOffset=0x0)" P-INDEP
-; V66 tmp61 [V66,T08] ( 4, 2.50) int -> x21 single-def "field V01._length (fldOffset=0x8)" P-INDEP
-; V67 tmp62 [V67,T16] ( 2, 1.50) byref -> x2 single-def "field V03._reference (fldOffset=0x0)" P-INDEP
-; V68 tmp63 [V68,T09] ( 3, 2.50) int -> x5 single-def "field V03._length (fldOffset=0x8)" P-INDEP
-;* V69 tmp64 [V69 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V70 tmp65 [V70 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
-; V71 tmp66 [V71,T21] ( 4, 2.50) long -> x22 "field V08._lower (fldOffset=0x0)" P-INDEP
-; V72 tmp67 [V72,T17] ( 5, 3 ) long -> x23 "field V08._upper (fldOffset=0x8)" P-INDEP
-;* V73 tmp68 [V73 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
-;* V74 tmp69 [V74 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP
-;* V75 tmp70 [V75 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
-;* V76 tmp71 [V76 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
-;* V77 tmp72 [V77 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V78 tmp73 [V78 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
-; V79 tmp74 [V79,T27] ( 3, 1.50) byref -> x3 "field V13._reference (fldOffset=0x0)" P-INDEP
-; V80 tmp75 [V80,T32] ( 3, 1.50) int -> x4 "field V13._length (fldOffset=0x8)" P-INDEP
-; V81 tmp76 [V81,T34] ( 2, 1 ) byref -> x3 single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-; V82 tmp77 [V82,T35] ( 2, 1 ) int -> x4 "field V15._length (fldOffset=0x8)" P-INDEP
-;* V83 tmp78 [V83 ] ( 0, 0 ) byref -> zero-ref single-def "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V84 tmp79 [V84 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
-; V85 tmp80 [V85,T14] ( 7, 3.50) long -> x22 "field V19._lower (fldOffset=0x0)" P-INDEP
-; V86 tmp81 [V86,T15] ( 7, 3.50) long -> x23 "field V19._upper (fldOffset=0x8)" P-INDEP
-;* V87 tmp82 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp83 [V88 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
-; V89 tmp84 [V89,T33] ( 3, 1.50) long -> x0 "field V30._lower (fldOffset=0x0)" P-INDEP
-; V90 tmp85 [V90,T36] ( 1, 0.50) long -> x1 "field V30._upper (fldOffset=0x8)" P-INDEP
-;* V91 tmp86 [V91,T37] ( 0, 0 ) long -> zero-ref "field V33._lower (fldOffset=0x0)" P-INDEP
-;* V92 tmp87 [V92,T38] ( 0, 0 ) long -> zero-ref "field V33._upper (fldOffset=0x8)" P-INDEP
-;* V93 tmp88 [V93 ] ( 0, 0 ) long -> zero-ref "field V34._lower (fldOffset=0x0)" P-INDEP
-;* V94 tmp89 [V94 ] ( 0, 0 ) long -> zero-ref "field V34._upper (fldOffset=0x8)" P-INDEP
-;* V95 tmp90 [V95 ] ( 0, 0 ) long -> zero-ref "field V35._lower (fldOffset=0x0)" P-DEP
-;* V96 tmp91 [V96 ] ( 0, 0 ) long -> zero-ref "field V35._upper (fldOffset=0x8)" P-DEP
-;* V97 tmp92 [V97 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
-;* V98 tmp93 [V98 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
-;* V99 tmp94 [V99 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
-;* V100 tmp95 [V100 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
-;* V101 tmp96 [V101 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V102 tmp97 [V102 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
-;* V103 tmp98 [V103 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;* V104 tmp99 [V104 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
-;* V105 tmp100 [V105 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP
-;* V106 tmp101 [V106 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
-;* V107 tmp102 [V107 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V108 tmp103 [V108 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
-;* V109 tmp104 [V109 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP
-;* V110 tmp105 [V110 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
-;* V111 tmp106 [V111 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
-;* V112 tmp107 [V112 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0x8)" P-INDEP
-;* V113 tmp108 [V113 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-;* V114 tmp109 [V114 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
-; V115 tmp110 [V115,T02] ( 4, 9 ) long -> x22 "field V60._lower (fldOffset=0x0)" P-INDEP
-; V116 tmp111 [V116,T01] ( 5, 13 ) long -> x23 "field V60._upper (fldOffset=0x8)" P-INDEP
-;* V117 tmp112 [V117,T12] ( 0, 0 ) long -> zero-ref "field V62._lower (fldOffset=0x0)" P-INDEP
-;* V118 tmp113 [V118,T13] ( 0, 0 ) long -> zero-ref "field V62._upper (fldOffset=0x8)" P-INDEP
-; V119 tmp114 [V119,T03] ( 2, 8 ) long -> x1 "field V64._lower (fldOffset=0x0)" P-INDEP
-;* V120 tmp115 [V120 ] ( 0, 0 ) long -> zero-ref "field V64._upper (fldOffset=0x8)" P-INDEP
-; V121 tmp116 [V121,T25] ( 2, 2 ) long -> x20 "Cast away GC"
-; V122 cse0 [V122,T10] ( 1, 0.25) long -> x19 hoist "CSE #04: moderate"
+;* V46 tmp41 [V46 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V47 tmp42 [V47,T34] ( 3, 1.50) int -> x1 "Inline stloc first use temp"
+;* V48 tmp43 [V48 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V49 tmp44 [V49 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+;* V50 tmp45 [V50 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
+;* V51 tmp46 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V52 tmp47 [V52 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp48 [V53 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V54 tmp49 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+; V55 tmp50 [V55,T25] ( 4, 2 ) int -> x0 "Inline return value spill temp"
+;* V56 tmp51 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V57 tmp52 [V57 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
+; V58 tmp53 [V58,T00] ( 4, 18 ) long -> x21 "Inlining Arg"
+;* V59 tmp54 [V59 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
+;* V60 tmp55 [V60 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
+;* V61 tmp56 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
+;* V62 tmp57 [V62 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
+;* V63 tmp58 [V63 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
+;* V64 tmp59 [V64 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.UInt128>
+;* V65 tmp60 [V65 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret "Inline stloc first use temp" <System.UInt128>
+;* V66 tmp61 [V66 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret "spilled call-like call argument" <System.UInt128>
+;* V67 tmp62 [V67 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
+;* V68 tmp63 [V68 ] ( 0, 0 ) struct (16) zero-ref multireg-ret "spilled call-like call argument" <System.UInt128>
+; V69 tmp64 [V69,T13] ( 5, 3 ) byref -> x20 single-def "field V01._reference (fldOffset=0x0)" P-INDEP
+; V70 tmp65 [V70,T14] ( 4, 2.50) int -> x21 single-def "field V01._length (fldOffset=0x8)" P-INDEP
+; V71 tmp66 [V71,T21] ( 2, 1.50) byref -> x2 single-def "field V03._reference (fldOffset=0x0)" P-INDEP
+; V72 tmp67 [V72,T15] ( 3, 2.50) int -> x5 single-def "field V03._length (fldOffset=0x8)" P-INDEP
+;* V73 tmp68 [V73 ] ( 0, 0 ) byref -> zero-ref single-def "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V74 tmp69 [V74 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
+; V75 tmp70 [V75,T12] ( 9, 5 ) long -> x22 "field V08._lower (fldOffset=0x0)" P-INDEP
+; V76 tmp71 [V76,T10] ( 10, 5.50) long -> x23 "field V08._upper (fldOffset=0x8)" P-INDEP
+;* V77 tmp72 [V77 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
+;* V78 tmp73 [V78 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP
+;* V79 tmp74 [V79 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
+;* V80 tmp75 [V80 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
+;* V81 tmp76 [V81 ] ( 0, 0 ) byref -> zero-ref "field V12._reference (fldOffset=0x0)" P-INDEP
+;* V82 tmp77 [V82 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
+; V83 tmp78 [V83,T30] ( 3, 1.50) byref -> x3 "field V13._reference (fldOffset=0x0)" P-INDEP
+; V84 tmp79 [V84,T35] ( 3, 1.50) int -> x4 "field V13._length (fldOffset=0x8)" P-INDEP
+; V85 tmp80 [V85,T37] ( 2, 1 ) byref -> x3 single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+; V86 tmp81 [V86,T38] ( 2, 1 ) int -> x4 "field V15._length (fldOffset=0x8)" P-INDEP
+;* V87 tmp82 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V88 tmp83 [V88 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
+;* V89 tmp84 [V89 ] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP
+;* V90 tmp85 [V90 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
+; V91 tmp86 [V91,T36] ( 3, 1.50) long -> x0 "field V27._lower (fldOffset=0x0)" P-INDEP
+; V92 tmp87 [V92,T39] ( 1, 0.50) long -> x1 "field V27._upper (fldOffset=0x8)" P-INDEP
+;* V93 tmp88 [V93,T40] ( 0, 0 ) long -> zero-ref "field V30._lower (fldOffset=0x0)" P-INDEP
+;* V94 tmp89 [V94,T41] ( 0, 0 ) long -> zero-ref "field V30._upper (fldOffset=0x8)" P-INDEP
+;* V95 tmp90 [V95 ] ( 0, 0 ) long -> zero-ref "field V31._lower (fldOffset=0x0)" P-INDEP
+;* V96 tmp91 [V96 ] ( 0, 0 ) long -> zero-ref "field V31._upper (fldOffset=0x8)" P-INDEP
+;* V97 tmp92 [V97 ] ( 0, 0 ) long -> zero-ref "field V32._lower (fldOffset=0x0)" P-DEP
+;* V98 tmp93 [V98 ] ( 0, 0 ) long -> zero-ref "field V32._upper (fldOffset=0x8)" P-DEP
+;* V99 tmp94 [V99 ] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP
+;* V100 tmp95 [V100 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
+;* V101 tmp96 [V101 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
+;* V102 tmp97 [V102 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
+;* V103 tmp98 [V103 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V104 tmp99 [V104 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
+;* V105 tmp100 [V105 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V106 tmp101 [V106 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+;* V107 tmp102 [V107 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
+;* V108 tmp103 [V108 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
+;* V109 tmp104 [V109 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V110 tmp105 [V110 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V111 tmp106 [V111 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V112 tmp107 [V112 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
+;* V113 tmp108 [V113 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP
+;* V114 tmp109 [V114 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
+;* V115 tmp110 [V115 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP
+;* V116 tmp111 [V116 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
+; V117 tmp112 [V117,T02] ( 5, 13 ) long -> x22 "field V57._lower (fldOffset=0x0)" P-INDEP
+; V118 tmp113 [V118,T01] ( 6, 17 ) long -> x23 "field V57._upper (fldOffset=0x8)" P-INDEP
+;* V119 tmp114 [V119,T18] ( 0, 0 ) long -> zero-ref "field V59._lower (fldOffset=0x0)" P-INDEP
+;* V120 tmp115 [V120,T19] ( 0, 0 ) long -> zero-ref "field V59._upper (fldOffset=0x8)" P-INDEP
+;* V121 tmp116 [V121 ] ( 0, 0 ) long -> zero-ref "field V61._lower (fldOffset=0x0)" P-INDEP
+;* V122 tmp117 [V122 ] ( 0, 0 ) long -> zero-ref "field V61._upper (fldOffset=0x8)" P-INDEP
+;* V123 tmp118 [V123 ] ( 0, 0 ) long -> zero-ref "field V62._lower (fldOffset=0x0)" P-INDEP
+;* V124 tmp119 [V124 ] ( 0, 0 ) long -> zero-ref "field V62._upper (fldOffset=0x8)" P-INDEP
+;* V125 tmp120 [V125 ] ( 0, 0 ) long -> zero-ref "field V63._lower (fldOffset=0x0)" P-INDEP
+;* V126 tmp121 [V126 ] ( 0, 0 ) long -> zero-ref "field V63._upper (fldOffset=0x8)" P-INDEP
+;* V127 tmp122 [V127 ] ( 0, 0 ) long -> zero-ref "field V64._lower (fldOffset=0x0)" P-DEP
+;* V128 tmp123 [V128 ] ( 0, 0 ) long -> zero-ref "field V64._upper (fldOffset=0x8)" P-DEP
+; V129 tmp124 [V129,T03] ( 3, 12 ) long -> x20 "field V65._lower (fldOffset=0x0)" P-INDEP
+; V130 tmp125 [V130,T04] ( 3, 12 ) long -> x24 "field V65._upper (fldOffset=0x8)" P-INDEP
+; V131 tmp126 [V131,T05] ( 2, 8 ) long -> x2 "field V66._lower (fldOffset=0x0)" P-INDEP
+; V132 tmp127 [V132,T06] ( 2, 8 ) long -> x3 "field V66._upper (fldOffset=0x8)" P-INDEP
+; V133 tmp128 [V133,T07] ( 2, 8 ) long -> x2 "field V68._lower (fldOffset=0x0)" P-INDEP
+; V134 tmp129 [V134,T20] ( 1, 4 ) long -> x1 "field V68._upper (fldOffset=0x8)" P-INDEP
+;* V135 tmp130 [V135 ] ( 0, 0 ) long -> zero-ref "V60.[000..008)"
+;* V136 tmp131 [V136 ] ( 0, 0 ) long -> zero-ref "V60.[008..016)"
+;* V137 tmp132 [V137 ] ( 0, 0 ) long -> zero-ref "V60.[016..024)"
+;* V138 tmp133 [V138 ] ( 0, 0 ) long -> zero-ref "V60.[024..032)"
+;* V139 tmp134 [V139 ] ( 0, 0 ) long -> zero-ref "V67.[000..008)"
+;* V140 tmp135 [V140 ] ( 0, 0 ) long -> zero-ref "V67.[008..016)"
+;* V141 tmp136 [V141 ] ( 0, 0 ) long -> zero-ref "V67.[016..024)"
+;* V142 tmp137 [V142 ] ( 0, 0 ) long -> zero-ref "V67.[024..032)"
+; V143 tmp138 [V143,T28] ( 2, 2 ) long -> x20 "Cast away GC"
+; V144 cse0 [V144,T16] ( 1, 0.25) long -> x19 hoist "CSE #04: moderate"
;
-; Lcl frame size = 48
+; Lcl frame size = 16
G_M10567_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x40]
- stp x21, x22, [sp, #0x50]
- stp x23, x24, [sp, #0x60]
+ stp fp, lr, [sp, #-0x50]!
+ stp x19, x20, [sp, #0x20]
+ stp x21, x22, [sp, #0x30]
+ stp x23, x24, [sp, #0x40]
mov fp, sp
- str xzr, [fp, #0x38] // [V26 tmp21]
+ str xzr, [fp, #0x18] // [V23 tmp18]
mov x20, x1
mov w21, w2
mov x2, x4
mov x19, x3
mov x3, x6
;; size=44 bbWeight=1 PerfScore 8.00
G_M10567_IG02:
ldp x22, x23, [x0]
cbnz w5, G_M10567_IG04
;; size=8 bbWeight=1 PerfScore 5.00
G_M10567_IG03:
tbz x23, #63, G_M10567_IG05
cbz x3, G_M10567_IG16
mov x0, x3
movz x1, #0xD1FFAB1E // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M10567_IG17
;; size=36 bbWeight=0.50 PerfScore 4.50
G_M10567_IG04:
str x3, [fp, #0x10] // [V04 arg4]
mov x0, x22
mov x1, x23
mov w3, w5
mov x5, x20
mov w6, w21
ldr x4, [fp, #0x10] // [V04 arg4]
mov x7, x19
movz x8, #0xD1FFAB1E // code for System.Number:<TryFormatInt128>g__TryFormatInt128Slow|27_0[ushort](System.Int128,System.ReadOnlySpan`1[ushort],System.IFormatProvider,System.Span`1[ushort],byref):ubyte
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
b G_M10567_IG20
;; size=56 bbWeight=0.50 PerfScore 6.25
G_M10567_IG05:
cbnz x23, G_M10567_IG06
orr x0, x22, #1
clz x0, x0
eor w0, w0, #63
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldrb w0, [x1, w0, SXTW #2]
ubfiz x1, x0, #3, #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x1, [x1, x2]
cmp x22, x1
cset x1, lo
sub w24, w0, w1
b G_M10567_IG08
;; size=68 bbWeight=0.50 PerfScore 7.50
G_M10567_IG06:
mov w24, #20
cmp x23, #5
bls G_M10567_IG07
mov x0, x22
mov x1, x23
movz x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movk x2, #0xD1FFAB1E LSL #48
mov x3, #5
movz x4, #0xD1FFAB1E // code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
orr x1, x0, #1
clz x1, x1
eor w1, w1, #63
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldrb w1, [x2, w1, SXTW #2]
ubfiz x2, x1, #3, #32
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x2, [x2, x3]
cmp x0, x2
cset x0, lo
sub w0, w1, w0
add w24, w0, #20
b G_M10567_IG08
;; size=124 bbWeight=0.50 PerfScore 12.50
G_M10567_IG07:
movz x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movk x0, #0xD1FFAB1E LSL #48
mov w1, #21
cmp x23, #5
ccmp x22, x0, 0, eq
csel w24, w24, w1, lo
;; size=28 bbWeight=0.50 PerfScore 1.75
G_M10567_IG08:
movn w0, #0
cmp w24, #0
csel w0, w0, w24, lt
cmp w0, w21
bgt G_M10567_IG12
str w0, [x19]
- str x20, [fp, #0x38] // [V26 tmp21]
+ str x20, [fp, #0x18] // [V23 tmp18]
sbfiz x0, x0, #1, #32
add x21, x20, x0
cmn w24, #1
blt G_M10567_IG13
cbz x23, G_M10567_IG11
;; size=48 bbWeight=0.50 PerfScore 4.50
G_M10567_IG09:
movz x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
movk x19, #0xD1FFAB1E LSL #48
;; size=12 bbWeight=0.25 PerfScore 0.38
G_M10567_IG10:
mov x0, x22
mov x1, x23
movz x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movk x2, #0xD1FFAB1E LSL #48
mov x3, xzr
- add x8, fp, #24 // [V63 tmp58]
- movz x4, #0xD1FFAB1E // code for System.UInt128:DivRem(System.UInt128,System.UInt128):System.ValueTuple`2[System.UInt128,System.UInt128]
+ movz x4, #0xD1FFAB1E // code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128
+ movk x4, #0xD1FFAB1E LSL #16
+ movk x4, #0xD1FFAB1E LSL #32
+ ldr x4, [x4]
+ blr x4
+ mov x20, x0
+ mov x24, x1
+ mov x0, x20
+ mov x1, x24
+ movz x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ movk x2, #0xD1FFAB1E LSL #48
+ mov x3, xzr
+ movz x4, #0xD1FFAB1E // code for System.UInt128:op_Multiply(System.UInt128,System.UInt128):System.UInt128
+ movk x4, #0xD1FFAB1E LSL #16
+ movk x4, #0xD1FFAB1E LSL #32
+ ldr x4, [x4]
+ blr x4
+ mov x2, x0
+ mov x3, x1
+ mov x0, x22
+ mov x1, x23
+ movz x4, #0xD1FFAB1E // code for System.UInt128:op_Subtraction(System.UInt128,System.UInt128):System.UInt128
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ldp x22, x23, [fp, #0x18] // [V63 tmp58], [V63 tmp58+0x08]
- ldr x1, [fp, #0x28] // [V63 tmp58+0x10]
+ mov x2, x0
+ mov x22, x20
+ mov x23, x24
mov x0, x21
+ mov x1, x2
mov w2, #19
movz x3, #0xD1FFAB1E // code for System.Number:UInt64ToDecChars[ushort](ulong,ulong,int):ulong
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x21, x0
cbnz x23, G_M10567_IG10
- ;; size=92 bbWeight=4 PerfScore 88.00
+ ;; size=184 bbWeight=4 PerfScore 142.00
G_M10567_IG11:
mov x0, x21
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Number:UInt64ToDecChars[ushort](ulong,ulong):ulong
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M10567_IG14
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M10567_IG12:
str wzr, [x19]
mov w19, wzr
b G_M10567_IG15
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M10567_IG13:
mov x1, x22
mov x2, x23
mov x0, x21
movn w3, #0
movz x4, #0xD1FFAB1E // code for System.Number:UInt128ToDecChars[ushort](ulong,System.UInt128,int):ulong
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M10567_IG14:
- str xzr, [fp, #0x38] // [V26 tmp21]
+ str xzr, [fp, #0x18] // [V23 tmp18]
mov w19, #1
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M10567_IG15:
sxtw w0, w19
b G_M10567_IG20
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M10567_IG16:
movz x0, #0xD1FFAB1E // code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M10567_IG17:
ldr x0, [x0, #0x28]
cbnz x0, G_M10567_IG18
mov x3, xzr
mov w4, wzr
b G_M10567_IG19
;; size=20 bbWeight=0.50 PerfScore 3.00
G_M10567_IG18:
add x3, x0, #12
ldr w4, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M10567_IG19:
mov x0, x22
mov x1, x23
mov x5, x20
mov w6, w21
mov x7, x19
movn w2, #0
movz x8, #0xD1FFAB1E // code for System.Number:TryNegativeInt128ToDecStr[ushort](System.Int128,int,System.ReadOnlySpan`1[ushort],System.Span`1[ushort],byref):ubyte
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
;; size=44 bbWeight=0.50 PerfScore 4.25
G_M10567_IG20:
- ldp x23, x24, [sp, #0x60]
- ldp x21, x22, [sp, #0x50]
- ldp x19, x20, [sp, #0x40]
- ldp fp, lr, [sp], #0x70
+ ldp x23, x24, [sp, #0x40]
+ ldp x21, x22, [sp, #0x30]
+ ldp x19, x20, [sp, #0x20]
+ ldp fp, lr, [sp], #0x50
ret lr
;; size=20 bbWeight=1 PerfScore 5.00
-; Total bytes of code 724, prolog size 24, PerfScore 165.38, instruction count 181, allocated bytes for code 724 (MethodHash=0694d6b8) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
+; Total bytes of code 816, prolog size 24, PerfScore 219.38, instruction count 204, allocated bytes for code 816 (MethodHash=0694d6b8) for method System.Int128:TryFormat(System.Span`1[ushort],byref,System.ReadOnlySpan`1[ushort],System.IFormatProvider):ubyte:this (FullOpts)
36 (2.40 % of base) - System.Net.HttpListenerResponse:ComputeCookies():this
; Assembly listing for method System.Net.HttpListenerResponse:ComputeCookies():this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 21 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 18, 20.50) ref -> x19 this class-hnd single-def <System.Net.HttpListenerResponse>
-; V01 loc0 [V01,T09] ( 9, 9 ) ref -> x21 class-hnd <System.String>
-; V02 loc1 [V02,T10] ( 9, 9 ) ref -> x22 class-hnd <System.String>
-; V03 loc2 [V03,T02] ( 6, 18.50) int -> x23
-; V04 loc3 [V04,T06] ( 4, 12 ) ref -> x24 class-hnd exact <System.Net.Cookie>
-; V05 loc4 [V05,T03] ( 7, 18 ) ref -> x25 class-hnd exact <System.String>
+; V01 loc0 [V01,T09] ( 9, 9 ) ref -> x20 class-hnd <System.String>
+; V02 loc1 [V02,T10] ( 9, 9 ) ref -> x21 class-hnd <System.String>
+; V03 loc2 [V03,T02] ( 6, 18.50) int -> x22
+; V04 loc3 [V04,T06] ( 4, 12 ) ref -> x23 class-hnd exact <System.Net.Cookie>
+; V05 loc4 [V05,T03] ( 7, 18 ) ref -> x24 class-hnd exact <System.String>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T17] ( 4, 4 ) ref -> x21 class-hnd exact single-def "dup spill" <System.Object[]>
-; V08 tmp2 [V08,T33] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
-; V09 tmp3 [V09,T34] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
-; V10 tmp4 [V10,T15] ( 3, 6 ) ref -> x22
-; V11 tmp5 [V11,T16] ( 3, 6 ) ref -> x21
-; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x26 class-hnd exact "dup spill" <System.Object[]>
+; V07 tmp1 [V07,T16] ( 4, 4 ) ref -> x20 class-hnd exact single-def "dup spill" <System.Object[]>
+; V08 tmp2 [V08,T32] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V09 tmp3 [V09,T33] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V10 tmp4 [V10,T14] ( 3, 6 ) ref -> x21
+; V11 tmp5 [V11,T15] ( 3, 6 ) ref -> x20
+; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x25 class-hnd exact "dup spill" <System.Object[]>
; V13 tmp7 [V13,T07] ( 3, 12 ) ref -> x0 class-hnd exact "Single-def Box Helper" <System.Int32>
-; V14 tmp8 [V14,T18] ( 4, 4 ) ref -> x21 class-hnd exact single-def "dup spill" <System.Object[]>
-; V15 tmp9 [V15,T35] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
-; V16 tmp10 [V16,T36] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V14 tmp8 [V14,T17] ( 4, 4 ) ref -> x20 class-hnd exact single-def "dup spill" <System.Object[]>
+; V15 tmp9 [V15,T34] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
+; V16 tmp10 [V16,T35] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.String>
;* V17 tmp11 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V18 tmp12 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
;* V19 tmp13 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V20 tmp14 [V20,T24] ( 3, 3 ) ref -> x21 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V21 tmp15 [V21,T40] ( 3, 1.50) ref -> x22 single-def
-; V22 tmp16 [V22,T44] ( 2, 1 ) ref -> x23 single-def
+; V20 tmp14 [V20,T23] ( 3, 3 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V21 tmp15 [V21,T39] ( 3, 1.50) ref -> x21 single-def
+; V22 tmp16 [V22,T43] ( 2, 1 ) ref -> x22 single-def
;* V23 tmp17 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def
;* V25 tmp19 [V25 ] ( 0, 0 ) ref -> zero-ref single-def
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref single-def
-; V27 tmp21 [V27,T41] ( 3, 1.50) ref -> x4
-; V28 tmp22 [V28,T45] ( 2, 1 ) ref -> x0 single-def
-;* V29 tmp23 [V29,T53] ( 0, 0 ) int -> zero-ref
-; V30 tmp24 [V30,T46] ( 2, 1 ) ref -> x2 single-def
-;* V31 tmp25 [V31,T51] ( 0, 0 ) ref -> zero-ref single-def
-;* V32 tmp26 [V32,T38] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V27 tmp21 [V27,T40] ( 3, 1.50) ref -> x4
+; V28 tmp22 [V28,T44] ( 2, 1 ) ref -> x0 single-def
+;* V29 tmp23 [V29,T52] ( 0, 0 ) int -> zero-ref
+; V30 tmp24 [V30,T45] ( 2, 1 ) ref -> x2 single-def
+;* V31 tmp25 [V31,T50] ( 0, 0 ) ref -> zero-ref single-def
+;* V32 tmp26 [V32,T37] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V33 tmp27 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
-; V34 tmp28 [V34,T05] ( 4, 16 ) ref -> x27 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
-; V35 tmp29 [V35,T08] ( 3, 12 ) ref -> x26 class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
+; V34 tmp28 [V34,T05] ( 4, 16 ) ref -> x26 class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.FormattableStringFactory+ConcreteFormattableString>
+; V35 tmp29 [V35,T08] ( 3, 12 ) ref -> x25 class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
;* V36 tmp30 [V36 ] ( 0, 0 ) ref -> zero-ref
;* V37 tmp31 [V37 ] ( 0, 0 ) ref -> zero-ref
;* V38 tmp32 [V38 ] ( 0, 0 ) ref -> zero-ref
;* V39 tmp33 [V39 ] ( 0, 0 ) ref -> zero-ref
;* V40 tmp34 [V40 ] ( 0, 0 ) ref -> zero-ref
;* V41 tmp35 [V41 ] ( 0, 0 ) ref -> zero-ref
-; V42 tmp36 [V42,T19] ( 2, 4 ) ref -> x4
-; V43 tmp37 [V43,T20] ( 2, 4 ) ref -> x28 class-hnd "Inline return value spill temp" <System.String>
-; V44 tmp38 [V44,T12] ( 2, 8 ) ref -> x28 class-hnd exact "impAppendStmt" <System.String>
+; V42 tmp36 [V42,T18] ( 2, 4 ) ref -> x4
+; V43 tmp37 [V43,T19] ( 2, 4 ) ref -> x27 class-hnd "Inline return value spill temp" <System.String>
+; V44 tmp38 [V44,T11] ( 2, 8 ) ref -> x27 class-hnd exact "impAppendStmt" <System.String>
;* V45 tmp39 [V45 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline stloc first use temp"
;* V46 tmp40 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType>
-; V47 tmp41 [V47,T23] ( 2, 4 ) int -> x0 "Inline return value spill temp"
-; V48 tmp42 [V48,T21] ( 2, 4 ) ref -> x0
-;* V49 tmp43 [V49,T39] ( 0, 0 ) int -> zero-ref
-; V50 tmp44 [V50,T22] ( 2, 4 ) ref -> x2
-;* V51 tmp45 [V51,T37] ( 0, 0 ) ref -> zero-ref
+; V47 tmp41 [V47,T22] ( 2, 4 ) int -> x0 "Inline return value spill temp"
+; V48 tmp42 [V48,T20] ( 2, 4 ) ref -> x0
+;* V49 tmp43 [V49,T38] ( 0, 0 ) int -> zero-ref
+; V50 tmp44 [V50,T21] ( 2, 4 ) ref -> x2
+;* V51 tmp45 [V51,T36] ( 0, 0 ) ref -> zero-ref
;* V52 tmp46 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.CookieCollection>
-;* V53 tmp47 [V53,T54] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V54 tmp48 [V54,T55] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V55 tmp49 [V55,T56] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V56 tmp50 [V56,T57] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V53 tmp47 [V53,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V54 tmp48 [V54,T54] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V55 tmp49 [V55,T55] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V56 tmp50 [V56,T56] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V57 tmp51 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V58 tmp52 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
;* V59 tmp53 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Net.NetEventSource>
-; V60 tmp54 [V60,T25] ( 3, 3 ) ref -> x21 class-hnd single-def "Inlining Arg" <System.FormattableString>
-; V61 tmp55 [V61,T42] ( 3, 1.50) ref -> x20 single-def
-; V62 tmp56 [V62,T47] ( 2, 1 ) ref -> x19 single-def
+; V60 tmp54 [V60,T24] ( 3, 3 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.FormattableString>
+; V61 tmp55 [V61,T41] ( 3, 1.50) ref -> x21 single-def
+; V62 tmp56 [V62,T46] ( 2, 1 ) ref -> x19 single-def
;* V63 tmp57 [V63 ] ( 0, 0 ) ref -> zero-ref single-def
;* V64 tmp58 [V64 ] ( 0, 0 ) ref -> zero-ref single-def
;* V65 tmp59 [V65 ] ( 0, 0 ) ref -> zero-ref single-def
;* V66 tmp60 [V66 ] ( 0, 0 ) ref -> zero-ref single-def
-; V67 tmp61 [V67,T43] ( 3, 1.50) ref -> x4
-; V68 tmp62 [V68,T48] ( 2, 1 ) ref -> x0 single-def
-;* V69 tmp63 [V69,T58] ( 0, 0 ) int -> zero-ref
-; V70 tmp64 [V70,T49] ( 2, 1 ) ref -> x2 single-def
-;* V71 tmp65 [V71,T52] ( 0, 0 ) ref -> zero-ref single-def
-; V72 tmp66 [V72,T26] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V67 tmp61 [V67,T42] ( 3, 1.50) ref -> x4
+; V68 tmp62 [V68,T47] ( 2, 1 ) ref -> x0 single-def
+;* V69 tmp63 [V69,T57] ( 0, 0 ) int -> zero-ref
+; V70 tmp64 [V70,T48] ( 2, 1 ) ref -> x2 single-def
+;* V71 tmp65 [V71,T51] ( 0, 0 ) ref -> zero-ref single-def
+; V72 tmp66 [V72,T25] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V73 tmp67 [V73,T00] ( 6, 27 ) ref -> x0 "argument with side effect"
-; V74 tmp68 [V74,T13] ( 2, 8 ) ref -> x0 "argument with side effect"
-; V75 tmp69 [V75,T14] ( 2, 8 ) ref -> x2 "argument with side effect"
-; V76 tmp70 [V76,T27] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V77 tmp71 [V77,T28] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V78 tmp72 [V78,T29] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V79 tmp73 [V79,T30] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V80 tmp74 [V80,T31] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-;* V81 cse0 [V81,T50] ( 0, 0 ) byref -> zero-ref "CSE #02: moderate"
-; V82 cse1 [V82,T11] ( 7, 8 ) long -> x20 "CSE #03: moderate"
-; V83 cse2 [V83,T32] ( 4, 2 ) ref -> x4 multi-def "CSE #06: moderate"
+; V74 tmp68 [V74,T12] ( 2, 8 ) ref -> x0 "argument with side effect"
+; V75 tmp69 [V75,T13] ( 2, 8 ) ref -> x2 "argument with side effect"
+; V76 tmp70 [V76,T26] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V77 tmp71 [V77,T27] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V78 tmp72 [V78,T28] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V79 tmp73 [V79,T29] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V80 tmp74 [V80,T30] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+;* V81 cse0 [V81,T49] ( 0, 0 ) byref -> zero-ref "CSE #02: moderate"
+; V82 cse1 [V82,T31] ( 4, 2 ) ref -> x4 multi-def "CSE #06: moderate"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M58464_IG01:
stp fp, lr, [sp, #-0x60]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
- stp x23, x24, [sp, #0x30]
- stp x25, x26, [sp, #0x40]
- stp x27, x28, [sp, #0x50]
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ stp x25, x26, [sp, #0x48]
+ str x27, [sp, #0x58]
mov fp, sp
mov x19, x0
;; size=32 bbWeight=1 PerfScore 7.00
G_M58464_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M58464_IG26
;; size=20 bbWeight=1 PerfScore 5.50
G_M58464_IG03:
- movz x20, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- ldr x0, [x20]
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
ldrb w0, [x0, #0x9D]
cbz w0, G_M58464_IG07
- ;; size=24 bbWeight=1 PerfScore 8.50
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M58464_IG04:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #2
bl CORINFO_HELP_NEWARR_1_OBJ
- mov x21, x0
+ mov x20, x0
ldr x0, [x19, #0x28]
mov w1, #27
movz x2, #0xD1FFAB1E // code for System.Net.WebHeaderCollection:get_Item(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x15, x0
- add x14, x21, #16
+ add x14, x20, #16
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x38]
blr x2
mov x15, x0
- add x14, x21, #24
+ add x14, x20, #24
bl CORINFO_HELP_ASSIGN_REF
- mov x1, x21
+ mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x21, x0
- ldr x22, [x20]
+ mov x20, x0
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x21, [x0]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Net.NetEventSource:IdOf(System.Object):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- mov x23, x0
- cbnz x21, G_M58464_IG05
+ mov x22, x0
+ cbnz x20, G_M58464_IG05
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
b G_M58464_IG06
- ;; size=204 bbWeight=0.50 PerfScore 27.50
+ ;; size=212 bbWeight=0.50 PerfScore 28.00
G_M58464_IG05:
- mov x0, x21
+ mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Net.NetEventSource:Format(System.FormattableString):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x4, x0
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M58464_IG06:
- ldrsb wzr, [x22]
- mov x0, x22
- mov x2, x23
+ ldrsb wzr, [x21]
+ mov x0, x21
+ mov x2, x22
mov w1, #1
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=48 bbWeight=0.50 PerfScore 5.75
G_M58464_IG07:
ldr x0, [x19, #0x08]
cbz x0, G_M58464_IG21
;; size=8 bbWeight=1 PerfScore 4.00
G_M58464_IG08:
+ mov x20, xzr
mov x21, xzr
- mov x22, xzr
- mov w23, wzr
+ mov w22, wzr
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, #0
ble G_M58464_IG17
;; size=44 bbWeight=0.50 PerfScore 9.50
G_M58464_IG09:
ldr x0, [x19, #0x08]
- mov w1, w23
+ mov w1, w22
movz x2, #0xD1FFAB1E // code for System.Net.CookieCollection:get_Item(int):System.Net.Cookie:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
- mov x24, x0
+ mov x23, x0
movz x1, #0xD1FFAB1E // code for System.Net.CookieExtensions:ToServerString(System.Net.Cookie):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- mov x25, x0
- cbz x25, G_M58464_IG16
+ mov x24, x0
+ cbz x24, G_M58464_IG16
;; size=64 bbWeight=4 PerfScore 78.00
G_M58464_IG10:
- ldr w0, [x25, #0x08]
+ ldr w0, [x24, #0x08]
cbz w0, G_M58464_IG16
- ldr x0, [x20]
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
ldrb w0, [x0, #0x9D]
cbz w0, G_M58464_IG11
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #2
bl CORINFO_HELP_NEWARR_1_OBJ
- mov x26, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- str w23, [x0, #0x08]
- add x14, x26, #16
+ str w22, [x0, #0x08]
+ add x14, x25, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x14, x26, #24
- mov x15, x24
+ add x14, x25, #24
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x27, x0
+ mov x26, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x27, #0x08]
- add x14, x27, #16
- mov x15, x26
+ str x14, [x26, #0x08]
+ add x14, x26, #16
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
- ldr x26, [x20]
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x25, [x0]
mov x0, x19
bl System.Object:GetType():System.Type:this
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x28, x0
+ mov x27, x0
mov x0, x19
bl System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
movz x1, #0xD1FFAB1E // code for System.Number:Int32ToDecStr(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
- mov x0, x28
+ mov x0, x27
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.String:Concat(System.String,System.String,System.String):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x28, x0
- mov x0, x27
+ mov x27, x0
+ mov x0, x26
movz x1, #0xD1FFAB1E // code for System.Net.NetEventSource:Format(System.FormattableString):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x4, x0
- ldrsb wzr, [x26]
- mov x0, x26
- mov x2, x28
+ ldrsb wzr, [x25]
+ mov x0, x25
+ mov x2, x27
mov w1, #1
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=324 bbWeight=2 PerfScore 148.00
+ ;; size=340 bbWeight=2 PerfScore 152.00
G_M58464_IG11:
- mov x0, x24
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.Net.CookieExtensions:IsRfc2965Variant(System.Net.Cookie):ubyte
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M58464_IG12
- cbz x21, G_M58464_IG15
- mov x0, x21
- mov x2, x25
+ cbz x20, G_M58464_IG15
+ mov x0, x20
+ mov x2, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.String:Concat(System.String,System.String,System.String):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x21, x0
+ mov x20, x0
b G_M58464_IG16
;; size=80 bbWeight=2 PerfScore 35.00
G_M58464_IG12:
- cbz x22, G_M58464_IG13
- mov x0, x22
- mov x2, x25
+ cbz x21, G_M58464_IG13
+ mov x0, x21
+ mov x2, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.String:Concat(System.String,System.String,System.String):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x22, x0
+ mov x21, x0
b G_M58464_IG14
;; size=52 bbWeight=2 PerfScore 21.00
G_M58464_IG13:
- mov x22, x25
+ mov x21, x24
;; size=4 bbWeight=2 PerfScore 1.00
G_M58464_IG14:
b G_M58464_IG16
;; size=4 bbWeight=2 PerfScore 2.00
G_M58464_IG15:
- mov x21, x25
+ mov x20, x24
;; size=4 bbWeight=2 PerfScore 1.00
G_M58464_IG16:
- add w23, w23, #1
+ add w22, w22, #1
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
- cmp w0, w23
+ cmp w0, w22
bgt G_M58464_IG09
;; size=36 bbWeight=4 PerfScore 72.00
G_M58464_IG17:
- cbz x22, G_M58464_IG19
- ldr w0, [x22, #0x08]
+ cbz x21, G_M58464_IG19
+ ldr w0, [x21, #0x08]
cbz w0, G_M58464_IG19
ldr x0, [x19, #0x28]
- mov x2, x22
+ mov x2, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x0]
ldr x3, [x3, #0x50]
ldr x3, [x3, #0x08]
blr x3
- cbz x21, G_M58464_IG18
- ldr w0, [x21, #0x08]
+ cbz x20, G_M58464_IG18
+ ldr w0, [x20, #0x08]
cbnz w0, G_M58464_IG19
;; size=60 bbWeight=0.50 PerfScore 12.50
G_M58464_IG18:
ldr x0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x50]
ldr x2, [x2, #0x10]
blr x2
;; size=32 bbWeight=0.50 PerfScore 7.25
G_M58464_IG19:
- cbz x21, G_M58464_IG21
- ldr w0, [x21, #0x08]
+ cbz x20, G_M58464_IG21
+ ldr w0, [x20, #0x08]
cbz w0, G_M58464_IG21
ldr x0, [x19, #0x28]
- mov x2, x21
+ mov x2, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x0]
ldr x3, [x3, #0x50]
ldr x3, [x3, #0x08]
blr x3
- cbz x22, G_M58464_IG20
- ldr w0, [x22, #0x08]
+ cbz x21, G_M58464_IG20
+ ldr w0, [x21, #0x08]
cbnz w0, G_M58464_IG21
;; size=60 bbWeight=0.50 PerfScore 12.50
G_M58464_IG20:
ldr x0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x50]
ldr x2, [x2, #0x10]
blr x2
;; size=32 bbWeight=0.50 PerfScore 7.25
G_M58464_IG21:
- ldr x0, [x20]
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
ldrb w0, [x0, #0x9D]
cbz w0, G_M58464_IG25
- ;; size=12 bbWeight=1 PerfScore 7.00
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M58464_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #2
bl CORINFO_HELP_NEWARR_1_OBJ
- mov x21, x0
+ mov x20, x0
ldr x0, [x19, #0x28]
mov w1, #27
movz x2, #0xD1FFAB1E // code for System.Net.WebHeaderCollection:get_Item(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x15, x0
- add x14, x21, #16
+ add x14, x20, #16
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x38]
blr x2
mov x15, x0
- add x14, x21, #24
+ add x14, x20, #24
bl CORINFO_HELP_ASSIGN_REF
- mov x1, x21
+ mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.FormattableStringFactory:Create(System.String,System.Object[]):System.FormattableString
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x21, x0
- ldr x20, [x20]
+ mov x20, x0
+ movz x0, #0xD1FFAB1E // data for System.Net.NetEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x21, [x0]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Net.NetEventSource:IdOf(System.Object):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x19, x0
- cbnz x21, G_M58464_IG23
+ cbnz x20, G_M58464_IG23
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
b G_M58464_IG24
- ;; size=204 bbWeight=0.50 PerfScore 27.50
+ ;; size=212 bbWeight=0.50 PerfScore 28.00
G_M58464_IG23:
- mov x0, x21
+ mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Net.NetEventSource:Format(System.FormattableString):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x4, x0
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M58464_IG24:
- ldrsb wzr, [x20]
- mov x0, x20
+ ldrsb wzr, [x21]
+ mov x0, x21
mov x2, x19
mov w1, #1
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,System.String,System.String):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=48 bbWeight=0.50 PerfScore 5.75
G_M58464_IG25:
- ldp x27, x28, [sp, #0x50]
- ldp x25, x26, [sp, #0x40]
- ldp x23, x24, [sp, #0x30]
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x27, [sp, #0x58]
+ ldp x25, x26, [sp, #0x48]
+ ldp x23, x24, [sp, #0x38]
+ ldp x21, x22, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x60
ret lr
- ;; size=28 bbWeight=1 PerfScore 7.00
+ ;; size=28 bbWeight=1 PerfScore 8.00
G_M58464_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M58464_IG03
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1500, prolog size 28, PerfScore 519.00, instruction count 375, allocated bytes for code 1500 (MethodHash=c7e71b9f) for method System.Net.HttpListenerResponse:ComputeCookies():this (FullOpts)
+; Total bytes of code 1536, prolog size 28, PerfScore 525.50, instruction count 384, allocated bytes for code 1536 (MethodHash=c7e71b9f) for method System.Net.HttpListenerResponse:ComputeCookies():this (FullOpts)
28 (9.33 % of base) - System.Formats.Asn1.AsnCharacterStringEncodings:GetEncoding(int):System.Text.Encoding
; Assembly listing for method System.Formats.Asn1.AsnCharacterStringEncodings:GetEncoding(int):System.Text.Encoding (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 6, 4 ) int -> x19 single-def
; V01 loc0 [V01,T01] ( 8, 4.50) ref -> x0 class-hnd <System.Text.Encoding>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03,T03] ( 3, 0 ) ref -> x20 class-hnd exact single-def "Single-def Box Helper" <System.Formats.Asn1.UniversalTagNumber>
; V04 tmp2 [V04,T04] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
; V05 tmp3 [V05,T05] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V06 rat0 [V06,T02] ( 3, 2.90) int -> x1 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 0
G_M63152_IG01:
stp fp, lr, [sp, #-0x20]!
stp x19, x20, [sp, #0x10]
mov fp, sp
mov w19, w0
;; size=16 bbWeight=1 PerfScore 3.00
G_M63152_IG02:
cmp w19, #12
beq G_M63152_IG05
;; size=8 bbWeight=1 PerfScore 1.50
G_M63152_IG03:
sub w1, w19, #18
cmp w1, #8
bhi G_M63152_IG06
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M63152_IG04:
mov w0, w1
adr x1, [@RWD00]
ldr w1, [x1, x0, LSL #2]
adr x2, [G_M63152_IG02]
add x1, x1, x2
br x1
;; size=24 bbWeight=0.45 PerfScore 2.70
G_M63152_IG05:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M63152_IG06:
cmp w19, #30
bne G_M63152_IG13
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=24 bbWeight=0.50 PerfScore 3.25
+ ;; size=28 bbWeight=0.50 PerfScore 3.50
G_M63152_IG07:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M63152_IG08:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M63152_IG09:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M63152_IG10:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
b G_M63152_IG12
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M63152_IG11:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
- ;; size=12 bbWeight=0.50 PerfScore 2.00
+ ;; size=16 bbWeight=0.50 PerfScore 2.25
G_M63152_IG12:
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x20
ret lr
;; size=12 bbWeight=1 PerfScore 3.00
G_M63152_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
str w19, [x20, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x2, x20
mov x0, x19
mov x3, xzr
movz x4, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String,System.Object,System.String):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=112 bbWeight=0 PerfScore 0.00
RWD00 dd G_M63152_IG11 - G_M63152_IG02
dd G_M63152_IG10 - G_M63152_IG02
dd G_M63152_IG09 - G_M63152_IG02
dd G_M63152_IG13 - G_M63152_IG02
dd G_M63152_IG08 - G_M63152_IG02
dd G_M63152_IG13 - G_M63152_IG02
dd G_M63152_IG13 - G_M63152_IG02
dd G_M63152_IG13 - G_M63152_IG02
dd G_M63152_IG07 - G_M63152_IG02
-; Total bytes of code 300, prolog size 12, PerfScore 28.95, instruction count 75, allocated bytes for code 300 (MethodHash=15cd094f) for method System.Formats.Asn1.AsnCharacterStringEncodings:GetEncoding(int):System.Text.Encoding (FullOpts)
+; Total bytes of code 328, prolog size 12, PerfScore 30.70, instruction count 82, allocated bytes for code 328 (MethodHash=15cd094f) for method System.Formats.Asn1.AsnCharacterStringEncodings:GetEncoding(int):System.Text.Encoding (FullOpts)
28 (1.17 % of base) - System.Net.HttpListenerRequest:FinishInitialization():this
; Assembly listing for method System.Net.HttpListenerRequest:FinishInitialization():this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 41 single block inlinees; 30 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 30, 17 ) ref -> x19 this class-hnd single-def <System.Net.HttpListenerRequest>
;* V01 loc0 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
-; V02 loc1 [V02,T29] ( 4, 2 ) ref -> x22 class-hnd <System.String>
-; V03 loc2 [V03,T17] ( 6, 3 ) ref -> x24 ld-addr-op class-hnd <System.Uri>
-; V04 loc3 [V04,T30] ( 4, 2 ) int -> x0
-; V05 loc4 [V05,T60] ( 3, 1.50) ref -> x20 class-hnd exact single-def <System.String>
-; V06 loc5 [V06 ] ( 37, 18.50) struct (40) [fp+0x28] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-; V07 loc6 [V07,T28] ( 6, 2 ) ref -> x0 class-hnd exact single-def <System.String>
+; V02 loc1 [V02,T28] ( 4, 2 ) ref -> x22 class-hnd <System.String>
+; V03 loc2 [V03,T16] ( 6, 3 ) ref -> x23 ld-addr-op class-hnd <System.Uri>
+; V04 loc3 [V04,T29] ( 4, 2 ) int -> x0
+; V05 loc4 [V05,T59] ( 3, 1.50) ref -> x20 class-hnd exact single-def <System.String>
+; V06 loc5 [V06 ] ( 37, 18.50) struct (40) [fp+0x20] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+; V07 loc6 [V07,T27] ( 6, 2 ) ref -> x0 class-hnd exact single-def <System.String>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V09 tmp1 [V09,T33] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.String>
-; V10 tmp2 [V10,T34] ( 2, 2 ) ref -> x25 class-hnd exact single-def "impAppendStmt" <System.String>
-; V11 tmp3 [V11,T35] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-; V12 tmp4 [V12,T36] ( 2, 2 ) ref -> x22 class-hnd exact single-def "impAppendStmt" <System.String>
+; V09 tmp1 [V09,T32] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.String>
+; V10 tmp2 [V10,T33] ( 2, 2 ) ref -> x24 class-hnd exact single-def "impAppendStmt" <System.String>
+; V11 tmp3 [V11,T34] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+; V12 tmp4 [V12,T35] ( 2, 2 ) ref -> x22 class-hnd exact single-def "impAppendStmt" <System.String>
; V13 tmp5 [V13,T08] ( 5, 4.50) ref -> x0 single-def "spilling varStr"
-; V14 tmp6 [V14,T19] ( 2, 2 ) int -> x0 "spilling unroll qmark"
-; V15 tmp7 [V15,T26] ( 4, 2.75) ref -> x1 single-def "spilling varStr"
-;* V16 tmp8 [V16,T70] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V17 tmp9 [V17,T18] ( 5, 3 ) ref -> x0 single-def "spilling varStr"
-;* V18 tmp10 [V18,T71] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
+; V14 tmp6 [V14,T18] ( 2, 2 ) int -> x0 "spilling unroll qmark"
+; V15 tmp7 [V15,T25] ( 4, 2.75) ref -> x1 single-def "spilling varStr"
+;* V16 tmp8 [V16,T69] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
+; V17 tmp9 [V17,T17] ( 5, 3 ) ref -> x0 single-def "spilling varStr"
+;* V18 tmp10 [V18,T70] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
;* V19 tmp11 [V19 ] ( 0, 0 ) ref -> zero-ref single-def
;* V20 tmp12 [V20 ] ( 0, 0 ) ref -> zero-ref
-; V21 tmp13 [V21,T65] ( 3, 1.50) int -> x1
+; V21 tmp13 [V21,T64] ( 3, 1.50) int -> x1
;* V22 tmp14 [V22 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-; V23 tmp15 [V23,T59] ( 3, 1.75) int -> x20 "spilling unroll qmark"
-; V24 tmp16 [V24,T37] ( 2, 2 ) ref -> x19 class-hnd exact single-def "non-inline candidate call" <System.Net.HttpListenerContext>
+; V23 tmp15 [V23,T58] ( 3, 1.75) int -> x20 "spilling unroll qmark"
+; V24 tmp16 [V24,T36] ( 2, 2 ) ref -> x19 class-hnd exact single-def "non-inline candidate call" <System.Net.HttpListenerContext>
;* V25 tmp17 [V25 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
; V26 tmp18 [V26,T04] ( 4, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
;* V27 tmp19 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V28 tmp20 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V29 tmp21 [V29,T38] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
-; V30 tmp22 [V30,T51] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V29 tmp21 [V29,T37] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
+; V30 tmp22 [V30,T50] ( 2, 2 ) int -> x21 "Inlining Arg"
; V31 tmp23 [V31,T06] ( 3, 5 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Version>
-; V32 tmp24 [V32,T16] ( 3, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Version>
+; V32 tmp24 [V32,T15] ( 3, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Version>
;* V33 tmp25 [V33 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V34 tmp26 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
-; V35 tmp27 [V35,T20] ( 3, 3 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.String>
-; V36 tmp28 [V36,T66] ( 3, 1.50) ubyte -> x0 "Inline return value spill temp"
-; V37 tmp29 [V37,T21] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
-; V38 tmp30 [V38 ] ( 4, 2 ) ref -> [fp+0x20] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.UriFormatException>
-; V39 tmp31 [V39 ] ( 2, 1 ) struct ( 8) [fp+0x18] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.UriCreationOptions>
-; V40 tmp32 [V40,T77] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
+; V35 tmp27 [V35,T19] ( 3, 3 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
+; V36 tmp28 [V36,T65] ( 3, 1.50) ubyte -> x0 "Inline return value spill temp"
+; V37 tmp29 [V37,T20] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
+; V38 tmp30 [V38 ] ( 4, 2 ) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.UriFormatException>
+; V39 tmp31 [V39 ] ( 2, 1 ) struct ( 8) [fp+0x10] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.UriCreationOptions>
+; V40 tmp32 [V40,T76] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
;* V41 tmp33 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
;* V42 tmp34 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
;* V43 tmp35 [V43 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V44 tmp36 [V44,T10] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
+; V44 tmp36 [V44,T09] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
;* V45 tmp37 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V46 tmp38 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V47 tmp39 [V47,T39] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
-; V48 tmp40 [V48,T52] ( 2, 2 ) int -> x21 "Inlining Arg"
-;* V49 tmp41 [V49,T78] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V47 tmp39 [V47,T38] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
+; V48 tmp40 [V48,T51] ( 2, 2 ) int -> x21 "Inlining Arg"
+;* V49 tmp41 [V49,T77] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp42 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Uri>
;* V51 tmp43 [V51 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V52 tmp44 [V52,T11] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
+; V52 tmp44 [V52,T10] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
;* V53 tmp45 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V54 tmp46 [V54 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V55 tmp47 [V55,T40] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
-; V56 tmp48 [V56,T53] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V55 tmp47 [V55,T39] ( 2, 2 ) byref -> x20 single-def "Inlining Arg"
+; V56 tmp48 [V56,T52] ( 2, 2 ) int -> x21 "Inlining Arg"
;* V57 tmp49 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V58 tmp50 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V59 tmp51 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V60 tmp52 [V60 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V62 tmp54 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V63 tmp55 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V64 tmp56 [V64 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V65 tmp57 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V66 tmp58 [V66,T05] ( 5, 5 ) ref -> x0 class-hnd single-def "dup spill" <ushort[]>
;* V67 tmp59 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V68 tmp60 [V68 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V69 tmp61 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V70 tmp62 [V70,T01] ( 7, 7 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
+; V70 tmp62 [V70,T01] ( 7, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
;* V71 tmp63 [V71 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V72 tmp64 [V72,T12] ( 4, 4 ) int -> x2 "Inlining Arg"
+; V72 tmp64 [V72,T11] ( 4, 4 ) int -> x2 "Inlining Arg"
;* V73 tmp65 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V74 tmp66 [V74,T41] ( 2, 2 ) byref -> x0 single-def "Inlining Arg"
-; V75 tmp67 [V75,T54] ( 2, 2 ) int -> x2 "Inlining Arg"
-;* V76 tmp68 [V76,T79] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V74 tmp66 [V74,T40] ( 2, 2 ) byref -> x0 single-def "Inlining Arg"
+; V75 tmp67 [V75,T53] ( 2, 2 ) int -> x2 "Inlining Arg"
+;* V76 tmp68 [V76,T78] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V77 tmp69 [V77 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V78 tmp70 [V78 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V79 tmp71 [V79 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V80 tmp72 [V80 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V81 tmp73 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V82 tmp74 [V82,T13] ( 4, 4 ) int -> x0 "Inlining Arg"
+; V82 tmp74 [V82,T12] ( 4, 4 ) int -> x0 "Inlining Arg"
;* V83 tmp75 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V84 tmp76 [V84,T42] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
-; V85 tmp77 [V85,T55] ( 2, 2 ) int -> x0 "Inlining Arg"
-;* V86 tmp78 [V86,T80] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V84 tmp76 [V84,T41] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
+; V85 tmp77 [V85,T54] ( 2, 2 ) int -> x0 "Inlining Arg"
+;* V86 tmp78 [V86,T79] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V87 tmp79 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V88 tmp80 [V88 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V89 tmp81 [V89 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V90 tmp82 [V90 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V91 tmp83 [V91 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V92 tmp84 [V92,T14] ( 4, 4 ) int -> x2 "Inlining Arg"
+; V92 tmp84 [V92,T13] ( 4, 4 ) int -> x2 "Inlining Arg"
;* V93 tmp85 [V93 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V94 tmp86 [V94,T43] ( 2, 2 ) byref -> x0 single-def "Inlining Arg"
-; V95 tmp87 [V95,T56] ( 2, 2 ) int -> x2 "Inlining Arg"
-;* V96 tmp88 [V96,T81] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V94 tmp86 [V94,T42] ( 2, 2 ) byref -> x0 single-def "Inlining Arg"
+; V95 tmp87 [V95,T55] ( 2, 2 ) int -> x2 "Inlining Arg"
+;* V96 tmp88 [V96,T80] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V97 tmp89 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V98 tmp90 [V98 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V99 tmp91 [V99 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V100 tmp92 [V100 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V101 tmp93 [V101 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
-; V102 tmp94 [V102,T15] ( 4, 4 ) int -> x0 "Inlining Arg"
+; V102 tmp94 [V102,T14] ( 4, 4 ) int -> x0 "Inlining Arg"
;* V103 tmp95 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V104 tmp96 [V104,T44] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
-; V105 tmp97 [V105,T57] ( 2, 2 ) int -> x0 "Inlining Arg"
-;* V106 tmp98 [V106,T82] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V104 tmp96 [V104,T43] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
+; V105 tmp97 [V105,T56] ( 2, 2 ) int -> x0 "Inlining Arg"
+;* V106 tmp98 [V106,T81] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V107 tmp99 [V107 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V108 tmp100 [V108 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V109 tmp101 [V109 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V110 tmp102 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
;* V111 tmp103 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.IPEndPoint>
-; V112 tmp104 [V112,T45] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
-; V113 tmp105 [V113,T46] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
-; V114 tmp106 [V114,T02] ( 7, 7 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Net.HttpListenerRequestUriBuilder>
+; V112 tmp104 [V112,T44] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
+; V113 tmp105 [V113,T45] ( 2, 2 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
+; V114 tmp106 [V114,T02] ( 7, 7 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Net.HttpListenerRequestUriBuilder>
;* V115 tmp107 [V115 ] ( 0, 0 ) ref -> zero-ref single-def
-; V116 tmp108 [V116,T27] ( 5, 2.50) ref -> x15
-; V117 tmp109 [V117,T22] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Version>
-; V118 tmp110 [V118,T47] ( 2, 2 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.Version>
-;* V119 tmp111 [V119,T88] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V116 tmp108 [V116,T26] ( 5, 2.50) ref -> x15
+; V117 tmp109 [V117,T21] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Version>
+; V118 tmp110 [V118,T46] ( 2, 2 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.Version>
+;* V119 tmp111 [V119,T87] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V120 tmp112 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
;* V121 tmp113 [V121 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
;* V122 tmp114 [V122 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
;* V123 tmp115 [V123 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Net.WebHeaderCollection>
;* V124 tmp116 [V124 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.HttpListenerContext>
; V125 tmp117 [V125,T07] ( 8, 4.50) byref -> x20 "field V01._reference (fldOffset=0x0)" P-INDEP
; V126 tmp118 [V126,T03] ( 12, 6.50) int -> x21 "field V01._length (fldOffset=0x8)" P-INDEP
-; V127 tmp119 [V127,T31] ( 3, 2 ) byref -> x20 "field V25._reference (fldOffset=0x0)" P-INDEP
-; V128 tmp120 [V128,T32] ( 3, 2 ) int -> x21 "field V25._length (fldOffset=0x8)" P-INDEP
-; V129 tmp121 [V129,T72] ( 2, 1 ) byref -> x20 single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-; V130 tmp122 [V130,T83] ( 2, 1 ) int -> x21 "field V27._length (fldOffset=0x8)" P-INDEP
+; V127 tmp119 [V127,T30] ( 3, 2 ) byref -> x20 "field V25._reference (fldOffset=0x0)" P-INDEP
+; V128 tmp120 [V128,T31] ( 3, 2 ) int -> x21 "field V25._length (fldOffset=0x8)" P-INDEP
+; V129 tmp121 [V129,T71] ( 2, 1 ) byref -> x20 single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+; V130 tmp122 [V130,T82] ( 2, 1 ) int -> x21 "field V27._length (fldOffset=0x8)" P-INDEP
;* V131 tmp123 [V131 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP
;* V132 tmp124 [V132 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
-; V133 tmp125 [V133 ] ( 2, 1 ) ubyte -> [fp+0x18] do-not-enreg[X] addr-exposed "field V39._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP
-; V134 tmp126 [V134,T61] ( 3, 1.50) byref -> x20 "field V43._reference (fldOffset=0x0)" P-INDEP
-; V135 tmp127 [V135,T67] ( 3, 1.50) int -> x21 "field V43._length (fldOffset=0x8)" P-INDEP
-; V136 tmp128 [V136,T73] ( 2, 1 ) byref -> x20 single-def "field V45._reference (fldOffset=0x0)" P-INDEP
-; V137 tmp129 [V137,T84] ( 2, 1 ) int -> x21 "field V45._length (fldOffset=0x8)" P-INDEP
+; V133 tmp125 [V133 ] ( 2, 1 ) ubyte -> [fp+0x10] do-not-enreg[X] addr-exposed "field V39._disablePathAndQueryCanonicalization (fldOffset=0x0)" P-DEP
+; V134 tmp126 [V134,T60] ( 3, 1.50) byref -> x20 "field V43._reference (fldOffset=0x0)" P-INDEP
+; V135 tmp127 [V135,T66] ( 3, 1.50) int -> x21 "field V43._length (fldOffset=0x8)" P-INDEP
+; V136 tmp128 [V136,T72] ( 2, 1 ) byref -> x20 single-def "field V45._reference (fldOffset=0x0)" P-INDEP
+; V137 tmp129 [V137,T83] ( 2, 1 ) int -> x21 "field V45._length (fldOffset=0x8)" P-INDEP
;* V138 tmp130 [V138 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
;* V139 tmp131 [V139 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
-; V140 tmp132 [V140,T62] ( 3, 1.50) byref -> x20 "field V51._reference (fldOffset=0x0)" P-INDEP
-; V141 tmp133 [V141,T68] ( 3, 1.50) int -> x21 "field V51._length (fldOffset=0x8)" P-INDEP
-; V142 tmp134 [V142,T74] ( 2, 1 ) byref -> x20 single-def "field V53._reference (fldOffset=0x0)" P-INDEP
-; V143 tmp135 [V143,T85] ( 2, 1 ) int -> x21 "field V53._length (fldOffset=0x8)" P-INDEP
+; V140 tmp132 [V140,T61] ( 3, 1.50) byref -> x20 "field V51._reference (fldOffset=0x0)" P-INDEP
+; V141 tmp133 [V141,T67] ( 3, 1.50) int -> x21 "field V51._length (fldOffset=0x8)" P-INDEP
+; V142 tmp134 [V142,T73] ( 2, 1 ) byref -> x20 single-def "field V53._reference (fldOffset=0x0)" P-INDEP
+; V143 tmp135 [V143,T84] ( 2, 1 ) int -> x21 "field V53._length (fldOffset=0x8)" P-INDEP
;* V144 tmp136 [V144 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP
;* V145 tmp137 [V145 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
;* V146 tmp138 [V146 ] ( 0, 0 ) byref -> zero-ref single-def "field V58._reference (fldOffset=0x0)" P-INDEP
;* V147 tmp139 [V147 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
;* V148 tmp140 [V148 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP
;* V149 tmp141 [V149 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
;* V150 tmp142 [V150 ] ( 0, 0 ) byref -> zero-ref "field V62._reference (fldOffset=0x0)" P-INDEP
;* V151 tmp143 [V151 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
-; V152 tmp144 [V152,T75] ( 2, 1 ) byref -> x20 single-def "field V63._reference (fldOffset=0x0)" P-INDEP
-; V153 tmp145 [V153,T86] ( 2, 1 ) int -> x21 "field V63._length (fldOffset=0x8)" P-INDEP
-; V154 tmp146 [V154,T63] ( 3, 1.50) byref -> x1 "field V69._reference (fldOffset=0x0)" P-INDEP
-; V155 tmp147 [V155,T69] ( 3, 1.50) int -> x2 "field V69._length (fldOffset=0x8)" P-INDEP
+; V152 tmp144 [V152,T74] ( 2, 1 ) byref -> x20 single-def "field V63._reference (fldOffset=0x0)" P-INDEP
+; V153 tmp145 [V153,T85] ( 2, 1 ) int -> x21 "field V63._length (fldOffset=0x8)" P-INDEP
+; V154 tmp146 [V154,T62] ( 3, 1.50) byref -> x1 "field V69._reference (fldOffset=0x0)" P-INDEP
+; V155 tmp147 [V155,T68] ( 3, 1.50) int -> x2 "field V69._length (fldOffset=0x8)" P-INDEP
;* V156 tmp148 [V156 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP
;* V157 tmp149 [V157 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
;* V158 tmp150 [V158 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
;* V159 tmp151 [V159 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
;* V160 tmp152 [V160 ] ( 0, 0 ) byref -> zero-ref single-def "field V77._reference (fldOffset=0x0)" P-INDEP
;* V161 tmp153 [V161 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
;* V162 tmp154 [V162 ] ( 0, 0 ) byref -> zero-ref "field V81._reference (fldOffset=0x0)" P-INDEP
;* V163 tmp155 [V163 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
;* V164 tmp156 [V164 ] ( 0, 0 ) byref -> zero-ref single-def "field V83._reference (fldOffset=0x0)" P-INDEP
;* V165 tmp157 [V165 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
;* V166 tmp158 [V166 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
;* V167 tmp159 [V167 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
;* V168 tmp160 [V168 ] ( 0, 0 ) byref -> zero-ref single-def "field V90._reference (fldOffset=0x0)" P-INDEP
;* V169 tmp161 [V169 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
;* V170 tmp162 [V170 ] ( 0, 0 ) byref -> zero-ref "field V91._reference (fldOffset=0x0)" P-INDEP
;* V171 tmp163 [V171 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
;* V172 tmp164 [V172 ] ( 0, 0 ) byref -> zero-ref single-def "field V93._reference (fldOffset=0x0)" P-INDEP
;* V173 tmp165 [V173 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
;* V174 tmp166 [V174 ] ( 0, 0 ) byref -> zero-ref single-def "field V97._reference (fldOffset=0x0)" P-INDEP
;* V175 tmp167 [V175 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
;* V176 tmp168 [V176 ] ( 0, 0 ) byref -> zero-ref "field V101._reference (fldOffset=0x0)" P-INDEP
;* V177 tmp169 [V177 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
;* V178 tmp170 [V178 ] ( 0, 0 ) byref -> zero-ref single-def "field V103._reference (fldOffset=0x0)" P-INDEP
;* V179 tmp171 [V179 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
;* V180 tmp172 [V180 ] ( 0, 0 ) byref -> zero-ref single-def "field V107._reference (fldOffset=0x0)" P-INDEP
;* V181 tmp173 [V181 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
-; V182 tmp174 [V182,T48] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
-; V183 tmp175 [V183,T23] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V184 tmp176 [V184,T58] ( 2, 2 ) int -> x1 "argument with side effect"
-; V185 tmp177 [V185,T49] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
-; V186 tmp178 [V186,T24] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V187 tmp179 [V187,T25] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V188 tmp180 [V188,T50] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
-;* V189 cse0 [V189,T87] ( 0, 0 ) byref -> zero-ref "CSE #10: moderate"
-; V190 cse1 [V190,T76] ( 2, 1 ) ref -> x1 "CSE #13: conservative"
-; V191 cse2 [V191,T64] ( 3, 1.50) ref -> x0 "CSE #11: conservative"
-; V192 cse3 [V192,T09] ( 6, 4 ) long -> x23 "CSE #01: moderate"
-; V193 rat0 [V193,T89] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
+; V182 tmp174 [V182,T47] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
+; V183 tmp175 [V183,T22] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V184 tmp176 [V184,T57] ( 2, 2 ) int -> x1 "argument with side effect"
+; V185 tmp177 [V185,T48] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
+; V186 tmp178 [V186,T23] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V187 tmp179 [V187,T24] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V188 tmp180 [V188,T49] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
+;* V189 cse0 [V189,T86] ( 0, 0 ) byref -> zero-ref "CSE #10: moderate"
+; V190 cse1 [V190,T75] ( 2, 1 ) ref -> x1 "CSE #13: conservative"
+; V191 cse2 [V191,T63] ( 3, 1.50) ref -> x0 "CSE #11: conservative"
+; V192 rat0 [V192,T88] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 64
+; Lcl frame size = 56
G_M22163_IG01:
- stp fp, lr, [sp, #-0x90]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
- stp x23, x24, [sp, #0x70]
- stp x25, x26, [sp, #0x80]
+ stp fp, lr, [sp, #-0x80]!
+ stp x19, x20, [sp, #0x48]
+ stp x21, x22, [sp, #0x58]
+ stp x23, x24, [sp, #0x68]
+ str x25, [sp, #0x78]
mov fp, sp
- add x9, fp, #32
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp xzr, xzr, [x9, #0x20]
mov x19, x0
;; size=44 bbWeight=1 PerfScore 9.00
G_M22163_IG02:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Net.HttpListenerRequest:get_UserHostName():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x0, G_M22163_IG04
;; size=28 bbWeight=1 PerfScore 7.00
G_M22163_IG03:
mov x20, xzr
mov w21, wzr
b G_M22163_IG05
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M22163_IG04:
add x20, x0, #12
ldr w21, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M22163_IG05:
ldr x22, [x19, #0x20]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M22163_IG51
;; size=24 bbWeight=1 PerfScore 8.50
G_M22163_IG06:
- movz x23, #0xD1FFAB1E
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- ldr x0, [x23, #0xD1FFAB1E]
+ movz x0, #0xD1FFAB1E // data for System.Net.HttpVersion:Version10
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
cbnz x0, G_M22163_IG08
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=16 bbWeight=1 PerfScore 5.00
G_M22163_IG07:
cbz x22, G_M22163_IG11
b G_M22163_IG09
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M22163_IG08:
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Version:CompareTo(System.Version):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
tbz w0, #31, G_M22163_IG11
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M22163_IG09:
cbnz w21, G_M22163_IG11
ldr x0, [x19, #0x48]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
str x1, [x0, #0x30]
;; size=24 bbWeight=0.50 PerfScore 3.25
G_M22163_IG10:
- ldp x25, x26, [sp, #0x80]
- ldp x23, x24, [sp, #0x70]
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x90
+ ldr x25, [sp, #0x78]
+ ldp x23, x24, [sp, #0x68]
+ ldp x21, x22, [sp, #0x58]
+ ldp x19, x20, [sp, #0x48]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=24 bbWeight=1 PerfScore 6.00
+ ;; size=24 bbWeight=1 PerfScore 7.00
G_M22163_IG11:
- mov x24, xzr
- ldr x25, [x19, #0x10]
- ldrsb wzr, [x25]
+ mov x23, xzr
+ ldr x24, [x19, #0x10]
+ ldrsb wzr, [x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M22163_IG52
;; size=32 bbWeight=0.50 PerfScore 6.00
G_M22163_IG12:
- ldr x0, [x23]
- mov x1, x25
+ movz x0, #0xD1FFAB1E // data for System.Globalization.TextInfo:Invariant
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
+ mov x1, x24
movz x2, #0xD1FFAB1E // code for System.Globalization.TextInfo:ToLower(System.String):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
movz x1, #0xD1FFAB1E // code for System.Net.HttpListenerRequest:MaybeUri(System.String):ubyte
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M22163_IG15
ldr x0, [x19, #0x10]
cbz x0, G_M22163_IG13
- str xzr, [fp, #0x20] // [V38 tmp30]
- strb wzr, [fp, #0x18] // [V39 tmp31]
- add x4, fp, #24 // [V39 tmp31]
- add x3, fp, #32 // [V38 tmp30]
+ str xzr, [fp, #0x18] // [V38 tmp30]
+ strb wzr, [fp, #0x10] // [V39 tmp31]
+ add x4, fp, #16 // [V39 tmp31]
+ add x3, fp, #24 // [V38 tmp30]
mov w1, wzr
mov w2, #1
movz x5, #0xD1FFAB1E // code for System.Uri:CreateHelper(System.String,ubyte,int,byref,byref):System.Uri
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- mov x24, x0
- ldr x0, [fp, #0x20] // [V38 tmp30]
+ mov x23, x0
+ ldr x0, [fp, #0x18] // [V38 tmp30]
cbnz x0, G_M22163_IG13
- cmp x24, #0
+ cmp x23, #0
cset x0, ne
b G_M22163_IG14
- ;; size=132 bbWeight=0.50 PerfScore 18.75
+ ;; size=140 bbWeight=0.50 PerfScore 19.25
G_M22163_IG13:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22163_IG14:
- str xzr, [fp, #0x20] // [V38 tmp30]
+ str xzr, [fp, #0x18] // [V38 tmp30]
cbz w0, G_M22163_IG15
- mov x0, x24
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.Uri:get_PathAndQuery():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x22, x0
b G_M22163_IG16
;; size=44 bbWeight=0.50 PerfScore 6.25
G_M22163_IG15:
ldr x22, [x19, #0x10]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M22163_IG16:
cbnz w21, G_M22163_IG18
ldr x0, [x19, #0x48]
ldr x0, [x0, #0x28]
movz x1, #0xD1FFAB1E // code for System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x08]
blr x1
cbnz x0, G_M22163_IG17
mov x20, xzr
mov w21, wzr
b G_M22163_IG18
;; size=68 bbWeight=0.50 PerfScore 14.25
G_M22163_IG17:
add x20, x0, #12
ldr w21, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M22163_IG18:
- cbz x24, G_M22163_IG20
- mov x0, x24
+ cbz x23, G_M22163_IG20
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.Uri:get_Host():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x0, G_M22163_IG19
mov x20, xzr
mov w21, wzr
b G_M22163_IG20
;; size=44 bbWeight=0.50 PerfScore 5.00
G_M22163_IG19:
add x20, x0, #12
ldr w21, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M22163_IG20:
mov x0, x20
mov w2, w21
mov w1, #58
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:NonPackedIndexOfValueType[short,System.SpanHelpers+DontNegate`1[short]](byref,short,int):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
tbnz w0, #31, G_M22163_IG21
cmp w0, w21
bhi G_M22163_IG53
sxtw w21, w0
;; size=48 bbWeight=0.50 PerfScore 5.00
G_M22163_IG21:
- str xzr, [fp, #0x28] // [V06 loc5]
- ldr x0, [x23, #0xD8]
+ str xzr, [fp, #0x20] // [V06 loc5]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- str x0, [fp, #0x30] // [V06 loc5+0x08]
+ str x0, [fp, #0x28] // [V06 loc5+0x08]
cbnz x0, G_M22163_IG22
mov x1, xzr
mov w2, wzr
b G_M22163_IG23
- ;; size=52 bbWeight=0.50 PerfScore 7.00
+ ;; size=60 bbWeight=0.50 PerfScore 7.50
G_M22163_IG22:
add x1, x0, #16
ldr w2, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M22163_IG23:
- str x1, [fp, #0x40] // [V06 loc5+0x18]
- str w2, [fp, #0x48] // [V06 loc5+0x20]
- str wzr, [fp, #0x38] // [V06 loc5+0x10]
- strb wzr, [fp, #0x3C] // [V06 loc5+0x14]
+ str x1, [fp, #0x38] // [V06 loc5+0x18]
+ str w2, [fp, #0x40] // [V06 loc5+0x20]
+ str wzr, [fp, #0x30] // [V06 loc5+0x10]
+ strb wzr, [fp, #0x34] // [V06 loc5+0x14]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Net.HttpListenerRequest:get_RequestScheme():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- mov x24, x0
- ldrb w2, [fp, #0x3C] // [V06 loc5+0x14]
+ mov x23, x0
+ ldrb w2, [fp, #0x34] // [V06 loc5+0x14]
cbnz w2, G_M22163_IG24
- cbz x24, G_M22163_IG24
- ldr w2, [fp, #0x38] // [V06 loc5+0x10]
- ldr w1, [fp, #0x48] // [V06 loc5+0x20]
+ cbz x23, G_M22163_IG24
+ ldr w2, [fp, #0x30] // [V06 loc5+0x10]
+ ldr w1, [fp, #0x40] // [V06 loc5+0x20]
cmp w2, w1
bhi G_M22163_IG53
- ldr x1, [fp, #0x40] // [V06 loc5+0x18]
+ ldr x1, [fp, #0x38] // [V06 loc5+0x18]
ubfiz x0, x2, #1, #32
add x0, x1, x0
- ldr w1, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w1, [fp, #0x40] // [V06 loc5+0x20]
sub w2, w1, w2
- ldr w1, [x24, #0x08]
+ ldr w1, [x23, #0x08]
cmp w1, w2
bhi G_M22163_IG24
- ldr w2, [x24, #0x08]
+ ldr w2, [x23, #0x08]
ubfiz x2, x2, #1, #32
- add x1, x24, #12
+ add x1, x23, #12
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:Memmove(byref,byref,ulong)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w0, [fp, #0x38] // [V06 loc5+0x10]
- ldr w1, [x24, #0x08]
+ ldr w0, [fp, #0x30] // [V06 loc5+0x10]
+ ldr w1, [x23, #0x08]
add w0, w0, w1
- str w0, [fp, #0x38] // [V06 loc5+0x10]
+ str w0, [fp, #0x30] // [V06 loc5+0x10]
b G_M22163_IG25
;; size=156 bbWeight=0.50 PerfScore 24.00
G_M22163_IG24:
- add x0, fp, #40 // [V06 loc5]
- mov x1, x24
+ add x0, fp, #32 // [V06 loc5]
+ mov x1, x23
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M22163_IG25:
- ldr w0, [fp, #0x38] // [V06 loc5+0x10]
- ldr w1, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w0, [fp, #0x30] // [V06 loc5+0x10]
+ ldr w1, [fp, #0x40] // [V06 loc5+0x20]
cmp w0, w1
bhi G_M22163_IG53
- ldr x1, [fp, #0x40] // [V06 loc5+0x18]
+ ldr x1, [fp, #0x38] // [V06 loc5+0x18]
ubfiz x2, x0, #1, #32
add x1, x1, x2
- ldr w2, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w2, [fp, #0x40] // [V06 loc5+0x20]
sub w0, w2, w0
cmp w0, #3
blo G_M22163_IG26
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w2, [x0]
ldr w3, [x0, #0x02]
str w2, [x1]
str w3, [x1, #0x02]
- ldr w0, [fp, #0x38] // [V06 loc5+0x10]
+ ldr w0, [fp, #0x30] // [V06 loc5+0x10]
add w0, w0, #3
- str w0, [fp, #0x38] // [V06 loc5+0x10]
+ str w0, [fp, #0x30] // [V06 loc5+0x10]
b G_M22163_IG27
;; size=88 bbWeight=0.50 PerfScore 13.50
G_M22163_IG26:
- add x0, fp, #40 // [V06 loc5]
+ add x0, fp, #32 // [V06 loc5]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M22163_IG27:
- ldr w2, [fp, #0x38] // [V06 loc5+0x10]
- ldr w0, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w2, [fp, #0x30] // [V06 loc5+0x10]
+ ldr w0, [fp, #0x40] // [V06 loc5+0x20]
cmp w2, w0
bhi G_M22163_IG53
- ldr x0, [fp, #0x40] // [V06 loc5+0x18]
+ ldr x0, [fp, #0x38] // [V06 loc5+0x18]
ubfiz x1, x2, #1, #32
add x0, x0, x1
- ldr w1, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w1, [fp, #0x40] // [V06 loc5+0x20]
sub w2, w1, w2
cmp w21, w2
bhi G_M22163_IG28
ubfiz x2, x21, #1, #32
mov x1, x20
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:Memmove(byref,byref,ulong)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w1, [fp, #0x38] // [V06 loc5+0x10]
+ ldr w1, [fp, #0x30] // [V06 loc5+0x10]
add w1, w1, w21
- str w1, [fp, #0x38] // [V06 loc5+0x10]
+ str w1, [fp, #0x30] // [V06 loc5+0x10]
b G_M22163_IG29
;; size=88 bbWeight=0.50 PerfScore 12.25
G_M22163_IG28:
mov x1, x20
mov w2, w21
- add x0, fp, #40 // [V06 loc5]
+ add x0, fp, #32 // [V06 loc5]
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=32 bbWeight=0.50 PerfScore 3.50
G_M22163_IG29:
- ldr w0, [fp, #0x38] // [V06 loc5+0x10]
- ldr w1, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w0, [fp, #0x30] // [V06 loc5+0x10]
+ ldr w1, [fp, #0x40] // [V06 loc5+0x20]
cmp w0, w1
bhi G_M22163_IG53
- ldr x1, [fp, #0x40] // [V06 loc5+0x18]
+ ldr x1, [fp, #0x38] // [V06 loc5+0x18]
ubfiz x2, x0, #1, #32
add x1, x1, x2
- ldr w2, [fp, #0x48] // [V06 loc5+0x20]
+ ldr w2, [fp, #0x40] // [V06 loc5+0x20]
sub w0, w2, w0
cbz w0, G_M22163_IG30
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldrh w2, [x0]
strh w2, [x1]
- ldr w0, [fp, #0x38] // [V06 loc5+0x10]
+ ldr w0, [fp, #0x30] // [V06 loc5+0x10]
add w0, w0, #1
- str w0, [fp, #0x38] // [V06 loc5+0x10]
+ str w0, [fp, #0x30] // [V06 loc5+0x10]
b G_M22163_IG31
;; size=76 bbWeight=0.50 PerfScore 11.25
G_M22163_IG30:
- add x0, fp, #40 // [V06 loc5]
+ add x0, fp, #32 // [V06 loc5]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M22163_IG31:
ldr x0, [x19, #0x48]
ldr x0, [x0, #0x28]
movz x1, #0xD1FFAB1E // code for System.Net.HttpConnection:get_LocalEndPoint():System.Net.IPEndPoint:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
ldr w1, [x0, #0x10]
- add x0, fp, #40 // [V06 loc5]
+ add x0, fp, #32 // [V06 loc5]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x0, fp, #40 // [V06 loc5]
+ add x0, fp, #32 // [V06 loc5]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.String:Concat(System.String,System.String):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x2, x19, #24
mov w1, #1
movz x3, #0xD1FFAB1E // code for System.Uri:TryCreate(System.String,int,byref):ubyte
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbnz w0, G_M22163_IG32
ldr x19, [x19, #0x48]
mov x2, x22
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.String:Concat(System.String,System.String,System.String):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x1, #0xD1FFAB1E // code for System.Net.WebUtility:HtmlEncode(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x15, x0
add x14, x19, #48
bl CORINFO_HELP_ASSIGN_REF
b G_M22163_IG10
;; size=224 bbWeight=0.50 PerfScore 31.50
G_M22163_IG32:
ldp x21, x0, [x19, #0x10]
movz x1, #0xD1FFAB1E // code for System.Uri:get_Scheme():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
- mov x25, x0
+ mov x24, x0
ldr x0, [x19, #0x18]
movz x1, #0xD1FFAB1E // code for System.Uri:get_Authority():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x20, x0
ldr x0, [x19, #0x18]
movz x1, #0xD1FFAB1E // code for System.Uri:get_LocalPath():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x22, x0
ldr x0, [x19, #0x18]
movz x1, #0xD1FFAB1E // code for System.Uri:get_Query():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
- mov x24, x0
+ mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
- add x14, x26, #8
+ mov x25, x0
+ add x14, x25, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- add x14, x26, #16
- mov x15, x25
+ add x14, x25, #16
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- add x14, x26, #24
+ add x14, x25, #24
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Net.HttpListenerRequestUriBuilder:AddSlashToAsteriskOnlyPath(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- add x14, x26, #32
+ add x14, x25, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- mov x15, x24
+ mov x15, x23
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
cmp x15, #0
csel x15, x15, x14, ne
- add x14, x26, #40
+ add x14, x25, #40
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x26
+ mov x0, x25
movz x1, #0xD1FFAB1E // code for System.Net.HttpListenerRequestUriBuilder:Build():System.Uri:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x19, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [x19, #0x20]
- ldr x0, [x23, #0xD1FFAB1E]
+ movz x0, #0xD1FFAB1E // data for System.Net.HttpVersion:Version11
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr x0, [x0]
cbnz x0, G_M22163_IG36
- ;; size=300 bbWeight=0.50 PerfScore 42.75
+ ;; size=308 bbWeight=0.50 PerfScore 43.25
G_M22163_IG33:
ldr x0, [x19, #0x30]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x38]
blr x2
cbz x0, G_M22163_IG37
;; size=36 bbWeight=0.50 PerfScore 7.75
G_M22163_IG34:
ldr w1, [x0, #0x08]
cmp w1, #7
bne G_M22163_IG38
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M22163_IG35:
ldr x1, [x0, #0x0C]
orr x1, x1, #0xD1FFAB1E
movz x2, #99
movk x2, #104 LSL #16
movk x2, #117 LSL #32
movk x2, #110 LSL #48
eor x1, x1, x2
ldr x2, [x0, #0x12]
orr x2, x2, #0xD1FFAB1E
movz x3, #110
movk x3, #107 LSL #16
movk x3, #101 LSL #32
movk x3, #100 LSL #48
eor x2, x2, x3
orr x1, x1, x2
cmp x1, #0
cset x20, eq
b G_M22163_IG39
;; size=72 bbWeight=0.12 PerfScore 1.81
G_M22163_IG36:
movz x2, #0xD1FFAB1E // code for System.Version:CompareTo(System.Version):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cmp w0, #0
bgt G_M22163_IG41
b G_M22163_IG33
;; size=32 bbWeight=0.50 PerfScore 4.00
G_M22163_IG37:
mov w1, wzr
b G_M22163_IG40
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M22163_IG38:
mov w20, wzr
;; size=4 bbWeight=0.25 PerfScore 0.12
G_M22163_IG39:
sxtw w1, w20
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22163_IG40:
strb w1, [x19, #0x5D]
cbz x0, G_M22163_IG41
ldrb w0, [x19, #0x5D]
cbnz w0, G_M22163_IG41
ldr x0, [x19, #0x48]
ldr x0, [x0, #0x28]
mov x1, xzr
mov w2, #0xD1FFAB1E
movz x3, #0xD1FFAB1E // code for System.Net.HttpConnection:SendError(System.String,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
b G_M22163_IG10
;; size=60 bbWeight=0.50 PerfScore 11.25
G_M22163_IG41:
ldrb w0, [x19, #0x5D]
cbnz w0, G_M22163_IG48
ldrb w0, [x19, #0x5C]
cbnz w0, G_M22163_IG48
ldr x0, [x19, #0x38]
mov x1, x0
cbz x1, G_M22163_IG44
;; size=28 bbWeight=0.50 PerfScore 6.25
G_M22163_IG42:
ldr w2, [x1, #0x08]
cmp w2, #4
bne G_M22163_IG44
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M22163_IG43:
ldr x1, [x1, #0x0C]
orr x1, x1, #0xD1FFAB1E
movz x2, #112
movk x2, #111 LSL #16
movk x2, #115 LSL #32
movk x2, #116 LSL #48
cmp x1, x2
beq G_M22163_IG47
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M22163_IG44:
cbz x0, G_M22163_IG48
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M22163_IG45:
ldr w1, [x0, #0x08]
cmp w1, #3
bne G_M22163_IG48
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M22163_IG46:
ldr w1, [x0, #0x0C]
orr w1, w1, #0xD1FFAB1E
movz w2, #112
movk w2, #117 LSL #16
eor w1, w1, w2
ldr w0, [x0, #0x0E]
orr w0, w0, #0xD1FFAB1E
movz w2, #117
movk w2, #116 LSL #16
eor w0, w0, w2
orr w0, w1, w0
cbnz w0, G_M22163_IG48
;; size=48 bbWeight=0.12 PerfScore 1.44
G_M22163_IG47:
ldr x0, [x19, #0x48]
ldr x0, [x0, #0x28]
mov x1, xzr
mov w2, #0xD1FFAB1E
movz x3, #0xD1FFAB1E // code for System.Net.HttpConnection:SendError(System.String,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
b G_M22163_IG10
;; size=44 bbWeight=0.50 PerfScore 8.25
G_M22163_IG48:
ldr x0, [x19, #0x30]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x38]
blr x2
cbz x0, G_M22163_IG10
;; size=36 bbWeight=0.50 PerfScore 7.75
G_M22163_IG49:
ldr w1, [x0, #0x08]
cmp w1, #12
bne G_M22163_IG10
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M22163_IG50:
ldr q16, [x0, #0x0C]
ldr q17, [@RWD00]
orr v16.2d, v16.2d, v17.2d
ldr q17, [@RWD16]
eor v16.2d, v16.2d, v17.2d
ldr q17, [x0, #0x14]
movi v18.8h, #0x20
orr v17.2d, v17.2d, v18.2d
ldr q18, [@RWD32]
eor v17.2d, v17.2d, v18.2d
orr v16.2d, v16.2d, v17.2d
umaxp v16.4s, v16.4s, v16.4s
umov x0, v16.d[0]
cmp x0, #0
cset x0, eq
cbz w0, G_M22163_IG10
ldr x0, [x19, #0x48]
ldr x0, [x0, #0x28]
movz x1, #0xD1FFAB1E // code for System.Net.HttpConnection:GetResponseStream():System.Net.HttpResponseStream:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
- ldr x1, [x23, #0xD1FFAB1E]
+ movz x3, #0xD1FFAB1E
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x1, [x3]
mov w3, #25
mov w2, wzr
movz x4, #0xD1FFAB1E // code for System.Net.HttpResponseStream:InternalWrite(ubyte[],int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
b G_M22163_IG10
- ;; size=136 bbWeight=0.50 PerfScore 23.50
+ ;; size=144 bbWeight=0.50 PerfScore 24.00
G_M22163_IG51:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22163_IG06
;; size=20 bbWeight=0 PerfScore 0.00
G_M22163_IG52:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22163_IG12
;; size=20 bbWeight=0 PerfScore 0.00
G_M22163_IG53:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
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
RWD00 dq 0000000000000000h, 0020002000200020h
RWD16 dq 002D003000300031h, 0074006E006F0063h
RWD32 dq 0074006E006F0063h, 00650075006E0069h
-; Total bytes of code 2392, prolog size 40, PerfScore 344.25, instruction count 598, allocated bytes for code 2392 (MethodHash=d789a96c) for method System.Net.HttpListenerRequest:FinishInitialization():this (FullOpts)
+; Total bytes of code 2420, prolog size 40, PerfScore 346.75, instruction count 605, allocated bytes for code 2420 (MethodHash=d789a96c) for method System.Net.HttpListenerRequest:FinishInitialization():this (FullOpts)
20 (0.97 % of base) - System.Formats.Asn1.AsnWriter:WriteUtcTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset):this
; Assembly listing for method System.Formats.Asn1.AsnWriter:WriteUtcTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset):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; 113 single block inlinees; 89 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T17] ( 9, 9 ) ref -> x19 this class-hnd single-def <System.Formats.Asn1.AsnWriter>
; V01 arg1 [V01,T37] ( 3, 3 ) struct ( 8) [fp+0x50] do-not-enreg[S] single-def <System.Formats.Asn1.Asn1Tag>
;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <System.DateTimeOffset>
; V03 loc0 [V03 ] ( 8, 8 ) struct (16) [fp+0x40] do-not-enreg[XS] addr-exposed ld-addr-op <System.DateTimeOffset>
; V04 loc1 [V04,T43] ( 4, 2.50) int -> x21
; V05 loc2 [V05,T44] ( 4, 2.50) int -> x22
; V06 loc3 [V06,T45] ( 4, 2.50) int -> x23
; V07 loc4 [V07,T46] ( 4, 2.50) int -> x24
; V08 loc5 [V08,T47] ( 4, 2.50) int -> x25
;* V09 loc6 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V10 loc7 [V10 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Buffers.StandardFormat>
; V11 loc8 [V11 ] ( 13, 6.50) int -> [fp+0x38] do-not-enreg[X] addr-exposed ld-addr-op
;# V12 OutArgs [V12 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V13 tmp1 [V13,T31] ( 3, 6 ) int -> x20 "impAppendStmt"
;* V14 tmp2 [V14 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <System.Span`1[ubyte]>
; V15 tmp3 [V15,T127] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
;* V16 tmp4 [V16 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V17 tmp5 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V18 tmp6 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V19 tmp7 [V19 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V20 tmp8 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V21 tmp9 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.DateTimeOffset>
;* V22 tmp10 [V22 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.DateTime>
;* V23 tmp11 [V23 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.DateTime>
;* V24 tmp12 [V24 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.DateTime>
;* V25 tmp13 [V25 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V26 tmp14 [V26 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.DateTime>
;* V27 tmp15 [V27 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.TimeSpan>
; V28 tmp16 [V28,T49] ( 3, 2.50) long -> x0 "Inline stloc first use temp"
;* V29 tmp17 [V29,T76] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V30 tmp18 [V30 ] ( 0, 0 ) struct ( 8) zero-ref "Inline return value spill temp" <System.TimeSpan>
; V31 tmp19 [V31,T50] ( 4, 2 ) ref -> x21 class-hnd exact single-def "Inline stloc first use temp" <System.TimeZoneInfo+CachedData>
;* V32 tmp20 [V32 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
; V33 tmp21 [V33,T61] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.TimeZoneInfo>
; V34 tmp22 [V34,T51] ( 4, 2 ) ref -> x0
; V35 tmp23 [V35 ] ( 2, 2 ) struct ( 8) [fp+0x30] do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.DateTime>
; V36 tmp24 [V36 ] ( 2, 2 ) struct ( 8) [fp+0x28] do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.DateTime>
; V37 tmp25 [V37 ] ( 2, 2 ) struct ( 8) [fp+0x20] do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.DateTime>
;* V38 tmp26 [V38 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline stloc first use temp" <System.DateTime>
;* V39 tmp27 [V39 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline stloc first use temp" <System.DateTime>
;* V40 tmp28 [V40 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline stloc first use temp" <System.DateTime>
;* V41 tmp29 [V41 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V42 tmp30 [V42,T27] ( 5, 7 ) ref -> x4 class-hnd single-def "Inlining Arg" <ubyte[]>
; V43 tmp31 [V43,T29] ( 5, 6 ) int -> x5 "Inlining Arg"
;* V44 tmp32 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V45 tmp33 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
; V46 tmp34 [V46,T62] ( 2, 2 ) byref -> x26 single-def "Inlining Arg"
; V47 tmp35 [V47,T63] ( 2, 2 ) int -> x27 "Inlining Arg"
;* V48 tmp36 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V49 tmp37 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V50 tmp38 [V50 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V51 tmp39 [V51 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V52 tmp40 [V52,T55] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V53 tmp41 [V53 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V54 tmp42 [V54 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V55 tmp43 [V55,T18] ( 7, 9 ) int -> x0 "Inlining Arg"
;* V56 tmp44 [V56 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V57 tmp45 [V57,T93] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V58 tmp46 [V58 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V59 tmp47 [V59 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V60 tmp48 [V60 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V61 tmp49 [V61 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V62 tmp50 [V62 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V63 tmp51 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V64 tmp52 [V64 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
;* V65 tmp53 [V65 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[long]>
;* V66 tmp54 [V66 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V67 tmp55 [V67 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V68 tmp56 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
;* V69 tmp57 [V69 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V70 tmp58 [V70 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V71 tmp59 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V72 tmp60 [V72 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V73 tmp61 [V73 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V74 tmp62 [V74 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V75 tmp63 [V75 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V76 tmp64 [V76 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
;* V77 tmp65 [V77 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V78 tmp66 [V78 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V79 tmp67 [V79 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V80 tmp68 [V80 ] ( 0, 0 ) long -> zero-ref
;* V81 tmp69 [V81 ] ( 0, 0 ) long -> zero-ref
;* V82 tmp70 [V82 ] ( 0, 0 ) ref -> zero-ref
;* V83 tmp71 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V84 tmp72 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V85 tmp73 [V85 ] ( 0, 0 ) long -> zero-ref
;* V86 tmp74 [V86 ] ( 0, 0 ) long -> zero-ref
;* V87 tmp75 [V87 ] ( 0, 0 ) ref -> zero-ref
;* V88 tmp76 [V88 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V89 tmp77 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V90 tmp78 [V90,T104] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V91 tmp79 [V91,T77] ( 3, 1.50) ubyte -> x0 "Inline return value spill temp"
; V92 tmp80 [V92,T52] ( 4, 2 ) int -> x4 "Inline stloc first use temp"
;* V93 tmp81 [V93 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V94 tmp82 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V95 tmp83 [V95 ] ( 3, 1.50) byref -> [fp+0x18] must-init pinned "Inline stloc first use temp"
; V96 tmp84 [V96,T78] ( 3, 1.50) long -> x5 "Inline stloc first use temp"
;* V97 tmp85 [V97 ] ( 0, 0 ) long -> zero-ref
;* V98 tmp86 [V98 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[long]>
;* V99 tmp87 [V99 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V100 tmp88 [V100 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V101 tmp89 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
;* V102 tmp90 [V102 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V103 tmp91 [V103 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V104 tmp92 [V104,T53] ( 4, 2 ) int -> x5 "Inline return value spill temp"
;* V105 tmp93 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V106 tmp94 [V106 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
; V107 tmp95 [V107,T05] ( 9, 37 ) int -> x0 "Inlining Arg"
; V108 tmp96 [V108,T08] ( 6, 27 ) long -> x5 "Inlining Arg"
;* V109 tmp97 [V109 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V110 tmp98 [V110 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
; V111 tmp99 [V111,T14] ( 3, 12 ) int -> x4 "Inline stloc first use temp"
;* V112 tmp100 [V112 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V113 tmp101 [V113 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V114 tmp102 [V114 ] ( 0, 0 ) long -> zero-ref
;* V115 tmp103 [V115 ] ( 0, 0 ) long -> zero-ref
; V116 tmp104 [V116,T20] ( 2, 8 ) ref -> x4
;* V117 tmp105 [V117 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V118 tmp106 [V118 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V119 tmp107 [V119 ] ( 0, 0 ) long -> zero-ref
; V120 tmp108 [V120,T87] ( 2, 1 ) long -> x5
; V121 tmp109 [V121,T79] ( 2, 1 ) ref -> x4 single-def
;* V122 tmp110 [V122 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V123 tmp111 [V123 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V124 tmp112 [V124,T00] ( 10,138 ) int -> x5 "Inlining Arg"
; V125 tmp113 [V125,T01] ( 7,121 ) long -> x4 "Inlining Arg"
; V126 tmp114 [V126,T02] ( 6, 89 ) int -> x2 "Inlining Arg"
;* V127 tmp115 [V127 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
;* V128 tmp116 [V128 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V129 tmp117 [V129 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
; V130 tmp118 [V130,T03] ( 2, 64 ) long -> x4 "dup spill"
; V131 tmp119 [V131,T15] ( 3, 12 ) int -> x6 "Inline stloc first use temp"
;* V132 tmp120 [V132 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V133 tmp121 [V133 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V134 tmp122 [V134 ] ( 0, 0 ) long -> zero-ref
;* V135 tmp123 [V135 ] ( 0, 0 ) long -> zero-ref
; V136 tmp124 [V136,T21] ( 2, 8 ) ref -> x6
;* V137 tmp125 [V137 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V138 tmp126 [V138,T04] ( 3, 48 ) int -> x3 "Inline stloc first use temp"
;* V139 tmp127 [V139 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V140 tmp128 [V140 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V141 tmp129 [V141 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V142 tmp130 [V142 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V143 tmp131 [V143 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V144 tmp132 [V144 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V145 tmp133 [V145 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V146 tmp134 [V146 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V147 tmp135 [V147 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V148 tmp136 [V148 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V149 tmp137 [V149 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
;* V150 tmp138 [V150 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V151 tmp139 [V151 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V152 tmp140 [V152 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V153 tmp141 [V153 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V154 tmp142 [V154 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V155 tmp143 [V155 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V156 tmp144 [V156 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V157 tmp145 [V157 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V158 tmp146 [V158 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V159 tmp147 [V159 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V160 tmp148 [V160 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V161 tmp149 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V162 tmp150 [V162 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V163 tmp151 [V163 ] ( 0, 0 ) long -> zero-ref
;* V164 tmp152 [V164 ] ( 0, 0 ) int -> zero-ref
;* V165 tmp153 [V165 ] ( 0, 0 ) long -> zero-ref
;* V166 tmp154 [V166 ] ( 0, 0 ) int -> zero-ref
;* V167 tmp155 [V167 ] ( 0, 0 ) int -> zero-ref
;* V168 tmp156 [V168 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V169 tmp157 [V169 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V170 tmp158 [V170 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V171 tmp159 [V171 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V172 tmp160 [V172 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V173 tmp161 [V173,T56] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V174 tmp162 [V174 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V175 tmp163 [V175,T105] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V176 tmp164 [V176 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V177 tmp165 [V177,T94] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V178 tmp166 [V178 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V179 tmp167 [V179 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V180 tmp168 [V180 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V181 tmp169 [V181 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V182 tmp170 [V182 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V183 tmp171 [V183 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V184 tmp172 [V184 ] ( 0, 0 ) byref -> zero-ref pinned "Inline stloc first use temp"
;* V185 tmp173 [V185 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[long]>
;* V186 tmp174 [V186 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V187 tmp175 [V187 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V188 tmp176 [V188 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
;* V189 tmp177 [V189 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V190 tmp178 [V190 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V191 tmp179 [V191 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V192 tmp180 [V192 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V193 tmp181 [V193 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V194 tmp182 [V194 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V195 tmp183 [V195 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V196 tmp184 [V196 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
;* V197 tmp185 [V197 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V198 tmp186 [V198 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V199 tmp187 [V199 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V200 tmp188 [V200 ] ( 0, 0 ) long -> zero-ref
;* V201 tmp189 [V201 ] ( 0, 0 ) long -> zero-ref
;* V202 tmp190 [V202 ] ( 0, 0 ) ref -> zero-ref
;* V203 tmp191 [V203 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V204 tmp192 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V205 tmp193 [V205 ] ( 0, 0 ) long -> zero-ref
;* V206 tmp194 [V206 ] ( 0, 0 ) long -> zero-ref
;* V207 tmp195 [V207 ] ( 0, 0 ) ref -> zero-ref single-def
;* V208 tmp196 [V208 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V209 tmp197 [V209 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V210 tmp198 [V210,T106] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V211 tmp199 [V211 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V212 tmp200 [V212 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V213 tmp201 [V213 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V214 tmp202 [V214 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V215 tmp203 [V215 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V216 tmp204 [V216 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V217 tmp205 [V217 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V218 tmp206 [V218 ] ( 0, 0 ) byref -> zero-ref pinned "Inline stloc first use temp"
;* V219 tmp207 [V219 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V220 tmp208 [V220 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V221 tmp209 [V221 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V222 tmp210 [V222 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V223 tmp211 [V223 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V224 tmp212 [V224 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V225 tmp213 [V225 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V226 tmp214 [V226 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V227 tmp215 [V227 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V228 tmp216 [V228 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V229 tmp217 [V229 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V230 tmp218 [V230 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V231 tmp219 [V231 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V232 tmp220 [V232 ] ( 0, 0 ) long -> zero-ref
;* V233 tmp221 [V233 ] ( 0, 0 ) int -> zero-ref
;* V234 tmp222 [V234 ] ( 0, 0 ) long -> zero-ref
;* V235 tmp223 [V235 ] ( 0, 0 ) int -> zero-ref
;* V236 tmp224 [V236 ] ( 0, 0 ) int -> zero-ref
;* V237 tmp225 [V237 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V238 tmp226 [V238 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V239 tmp227 [V239 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V240 tmp228 [V240 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V241 tmp229 [V241 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V242 tmp230 [V242,T48] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V243 tmp231 [V243 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V244 tmp232 [V244,T107] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V245 tmp233 [V245 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V246 tmp234 [V246,T95] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V247 tmp235 [V247 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V248 tmp236 [V248 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V249 tmp237 [V249 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V250 tmp238 [V250 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V251 tmp239 [V251 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V252 tmp240 [V252 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V253 tmp241 [V253 ] ( 0, 0 ) byref -> zero-ref pinned "Inline stloc first use temp"
;* V254 tmp242 [V254 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[long]>
;* V255 tmp243 [V255 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V256 tmp244 [V256 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V257 tmp245 [V257 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[long]>
;* V258 tmp246 [V258 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V259 tmp247 [V259 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V260 tmp248 [V260 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V261 tmp249 [V261 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V262 tmp250 [V262 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V263 tmp251 [V263 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V264 tmp252 [V264 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V265 tmp253 [V265 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
;* V266 tmp254 [V266 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V267 tmp255 [V267 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[uint,uint]>
;* V268 tmp256 [V268 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V269 tmp257 [V269 ] ( 0, 0 ) long -> zero-ref
;* V270 tmp258 [V270 ] ( 0, 0 ) long -> zero-ref
;* V271 tmp259 [V271 ] ( 0, 0 ) ref -> zero-ref
;* V272 tmp260 [V272 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V273 tmp261 [V273 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V274 tmp262 [V274 ] ( 0, 0 ) long -> zero-ref
;* V275 tmp263 [V275 ] ( 0, 0 ) long -> zero-ref
;* V276 tmp264 [V276 ] ( 0, 0 ) ref -> zero-ref single-def
;* V277 tmp265 [V277 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V278 tmp266 [V278 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V279 tmp267 [V279,T108] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V280 tmp268 [V280 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V281 tmp269 [V281 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V282 tmp270 [V282,T109] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V283 tmp271 [V283 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V284 tmp272 [V284 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V285 tmp273 [V285 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V286 tmp274 [V286 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V287 tmp275 [V287 ] ( 0, 0 ) byref -> zero-ref pinned "Inline stloc first use temp"
;* V288 tmp276 [V288 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V289 tmp277 [V289 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V290 tmp278 [V290 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V291 tmp279 [V291 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V292 tmp280 [V292 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V293 tmp281 [V293 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V294 tmp282 [V294 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V295 tmp283 [V295,T09] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V296 tmp284 [V296,T11] ( 0, 0 ) int -> zero-ref "dup spill"
;* V297 tmp285 [V297,T06] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V298 tmp286 [V298,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V299 tmp287 [V299,T10] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V300 tmp288 [V300,T12] ( 0, 0 ) long -> zero-ref "dup spill"
;* V301 tmp289 [V301 ] ( 0, 0 ) long -> zero-ref
;* V302 tmp290 [V302,T16] ( 0, 0 ) int -> zero-ref
;* V303 tmp291 [V303 ] ( 0, 0 ) long -> zero-ref
;* V304 tmp292 [V304 ] ( 0, 0 ) int -> zero-ref
;* V305 tmp293 [V305,T19] ( 0, 0 ) int -> zero-ref
;* V306 tmp294 [V306 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V307 tmp295 [V307 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V308 tmp296 [V308 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V309 tmp297 [V309 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V310 tmp298 [V310 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V311 tmp299 [V311,T57] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V312 tmp300 [V312 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V313 tmp301 [V313,T110] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V314 tmp302 [V314 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V315 tmp303 [V315,T96] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V316 tmp304 [V316 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V317 tmp305 [V317 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V318 tmp306 [V318 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V319 tmp307 [V319,T111] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V320 tmp308 [V320 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V321 tmp309 [V321 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V322 tmp310 [V322 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V323 tmp311 [V323 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V324 tmp312 [V324 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V325 tmp313 [V325,T58] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V326 tmp314 [V326 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V327 tmp315 [V327,T112] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V328 tmp316 [V328 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V329 tmp317 [V329,T97] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V330 tmp318 [V330 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V331 tmp319 [V331 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V332 tmp320 [V332 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V333 tmp321 [V333,T113] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V334 tmp322 [V334 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V335 tmp323 [V335 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V336 tmp324 [V336 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V337 tmp325 [V337 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V338 tmp326 [V338 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Buffers.StandardFormat>
; V339 tmp327 [V339,T59] ( 3, 2 ) ubyte -> x0 "Inline return value spill temp"
;* V340 tmp328 [V340 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Buffers.StandardFormat>
;* V341 tmp329 [V341,T114] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V342 tmp330 [V342 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V343 tmp331 [V343,T98] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V344 tmp332 [V344 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V345 tmp333 [V345 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V346 tmp334 [V346 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V347 tmp335 [V347,T115] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V348 tmp336 [V348 ] ( 0, 0 ) ushort -> zero-ref "Inlining Arg"
;* V349 tmp337 [V349 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V350 tmp338 [V350,T42] ( 1, 1 ) short -> x2 single-def "field V02._offsetMinutes (fldOffset=0x0)" P-INDEP
; V351 tmp339 [V351,T38] ( 2, 2 ) long -> x20 single-def "field V02._dateTime (fldOffset=0x8)" P-INDEP
; V352 tmp340 [V352 ] ( 7, 7 ) short -> [fp+0x40] do-not-enreg[X] addr-exposed "field V03._offsetMinutes (fldOffset=0x0)" P-DEP
; V353 tmp341 [V353 ] ( 7, 7 ) long -> [fp+0x48] do-not-enreg[X] addr-exposed "field V03._dateTime (fldOffset=0x8)" P-DEP
; V354 tmp342 [V354,T25] ( 9, 5 ) byref -> x26 single-def "field V09._reference (fldOffset=0x0)" P-INDEP
; V355 tmp343 [V355,T26] ( 7, 7 ) int -> x27 "field V09._length (fldOffset=0x8)" P-INDEP
;* V356 tmp344 [V356,T99] ( 0, 0 ) ubyte -> zero-ref "field V10._format (fldOffset=0x0)" P-INDEP
;* V357 tmp345 [V357,T100] ( 0, 0 ) ubyte -> zero-ref "field V10._precision (fldOffset=0x1)" P-INDEP
;* V358 tmp346 [V358,T91] ( 0, 0 ) byref -> zero-ref "field V14._reference (fldOffset=0x0)" P-INDEP
;* V359 tmp347 [V359,T101] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V360 tmp348 [V360 ] ( 0, 0 ) byref -> zero-ref single-def "field V16._reference (fldOffset=0x0)" P-INDEP
;* V361 tmp349 [V361 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
;* V362 tmp350 [V362 ] ( 0, 0 ) byref -> zero-ref single-def "field V17._reference (fldOffset=0x0)" P-INDEP
;* V363 tmp351 [V363 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
;* V364 tmp352 [V364 ] ( 0, 0 ) byref -> zero-ref single-def "field V18._reference (fldOffset=0x0)" P-INDEP
;* V365 tmp353 [V365 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
;* V366 tmp354 [V366 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP
;* V367 tmp355 [V367 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
;* V368 tmp356 [V368 ] ( 0, 0 ) byref -> zero-ref single-def "field V20._reference (fldOffset=0x0)" P-INDEP
;* V369 tmp357 [V369 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
; V370 tmp358 [V370,T64] ( 2, 2 ) short -> x22 "field V21._offsetMinutes (fldOffset=0x0)" P-INDEP
; V371 tmp359 [V371,T65] ( 2, 2 ) long -> [fp+0x10] do-not-enreg[F] "field V21._dateTime (fldOffset=0x8)" P-INDEP
;* V372 tmp360 [V372 ] ( 0, 0 ) long -> zero-ref "field V22._dateData (fldOffset=0x0)" P-INDEP
;* V373 tmp361 [V373 ] ( 0, 0 ) long -> zero-ref "field V23._dateData (fldOffset=0x0)" P-INDEP
; V374 tmp362 [V374,T39] ( 4, 3.50) long -> x20 "field V24._dateData (fldOffset=0x0)" P-INDEP
;* V375 tmp363 [V375 ] ( 0, 0 ) long -> zero-ref "field V26._dateData (fldOffset=0x0)" P-INDEP
; V376 tmp364 [V376,T40] ( 4, 3 ) long -> x21 "field V27._ticks (fldOffset=0x0)" P-INDEP
; V377 tmp365 [V377,T88] ( 2, 1 ) long -> x21 "field V30._ticks (fldOffset=0x0)" P-INDEP
;* V378 tmp366 [V378 ] ( 0, 0 ) long -> zero-ref "field V32._dateData (fldOffset=0x0)" P-INDEP
; V379 tmp367 [V379 ] ( 2, 2 ) long -> [fp+0x30] do-not-enreg[X] addr-exposed "field V35._dateData (fldOffset=0x0)" P-DEP
; V380 tmp368 [V380 ] ( 2, 2 ) long -> [fp+0x28] do-not-enreg[X] addr-exposed "field V36._dateData (fldOffset=0x0)" P-DEP
; V381 tmp369 [V381 ] ( 2, 2 ) long -> [fp+0x20] do-not-enreg[X] addr-exposed "field V37._dateData (fldOffset=0x0)" P-DEP
; V382 tmp370 [V382,T66] ( 2, 2 ) long -> x0 "field V38._dateData (fldOffset=0x0)" P-INDEP
; V383 tmp371 [V383,T67] ( 2, 2 ) long -> x0 "field V39._dateData (fldOffset=0x0)" P-INDEP
; V384 tmp372 [V384,T68] ( 2, 2 ) long -> x0 "field V40._dateData (fldOffset=0x0)" P-INDEP
; V385 tmp373 [V385,T54] ( 3, 2 ) byref -> x26 "field V41._reference (fldOffset=0x0)" P-INDEP
; V386 tmp374 [V386,T60] ( 3, 2 ) int -> x27 "field V41._length (fldOffset=0x8)" P-INDEP
; V387 tmp375 [V387,T80] ( 2, 1 ) byref -> x26 single-def "field V44._reference (fldOffset=0x0)" P-INDEP
; V388 tmp376 [V388,T89] ( 2, 1 ) int -> x27 "field V44._length (fldOffset=0x8)" P-INDEP
;* V389 tmp377 [V389 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
;* V390 tmp378 [V390 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
;* V391 tmp379 [V391,T92] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-INDEP
;* V392 tmp380 [V392,T102] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
;* V393 tmp381 [V393 ] ( 0, 0 ) ubyte -> zero-ref "field V51._format (fldOffset=0x0)" P-INDEP
;* V394 tmp382 [V394 ] ( 0, 0 ) ubyte -> zero-ref "field V51._precision (fldOffset=0x1)" P-INDEP
;* V395 tmp383 [V395 ] ( 0, 0 ) ubyte -> zero-ref "field V53._format (fldOffset=0x0)" P-INDEP
;* V396 tmp384 [V396,T103] ( 0, 0 ) ubyte -> zero-ref "field V53._precision (fldOffset=0x1)" P-INDEP
; V397 tmp385 [V397,T81] ( 2, 1 ) byref -> x2 single-def "field V56._reference (fldOffset=0x0)" P-INDEP
;* V398 tmp386 [V398,T116] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
;* V399 tmp387 [V399 ] ( 0, 0 ) byref -> zero-ref "field V59._reference (fldOffset=0x0)" P-INDEP
;* V400 tmp388 [V400 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
;* V401 tmp389 [V401 ] ( 0, 0 ) byref -> zero-ref "field V63._reference (fldOffset=0x0)" P-INDEP
;* V402 tmp390 [V402 ] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP
;* V403 tmp391 [V403 ] ( 0, 0 ) byref -> zero-ref "field V65._reference (fldOffset=0x0)" P-INDEP
;* V404 tmp392 [V404 ] ( 0, 0 ) int -> zero-ref "field V65._length (fldOffset=0x8)" P-INDEP
;* V405 tmp393 [V405 ] ( 0, 0 ) byref -> zero-ref "field V68._reference (fldOffset=0x0)" P-INDEP
;* V406 tmp394 [V406 ] ( 0, 0 ) int -> zero-ref "field V68._length (fldOffset=0x8)" P-INDEP
;* V407 tmp395 [V407 ] ( 0, 0 ) byref -> zero-ref "field V71._reference (fldOffset=0x0)" P-INDEP
;* V408 tmp396 [V408 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
;* V409 tmp397 [V409 ] ( 0, 0 ) int -> zero-ref "field V76.Item1 (fldOffset=0x0)" P-INDEP
;* V410 tmp398 [V410 ] ( 0, 0 ) int -> zero-ref "field V76.Item2 (fldOffset=0x4)" P-INDEP
;* V411 tmp399 [V411 ] ( 0, 0 ) int -> zero-ref "field V78.Item1 (fldOffset=0x0)" P-INDEP
;* V412 tmp400 [V412 ] ( 0, 0 ) int -> zero-ref "field V78.Item2 (fldOffset=0x4)" P-INDEP
;* V413 tmp401 [V413 ] ( 0, 0 ) byref -> zero-ref single-def "field V94._reference (fldOffset=0x0)" P-INDEP
;* V414 tmp402 [V414 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP
;* V415 tmp403 [V415 ] ( 0, 0 ) byref -> zero-ref single-def "field V98._reference (fldOffset=0x0)" P-INDEP
;* V416 tmp404 [V416 ] ( 0, 0 ) int -> zero-ref "field V98._length (fldOffset=0x8)" P-INDEP
;* V417 tmp405 [V417 ] ( 0, 0 ) byref -> zero-ref single-def "field V101._reference (fldOffset=0x0)" P-INDEP
;* V418 tmp406 [V418 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
;* V419 tmp407 [V419 ] ( 0, 0 ) byref -> zero-ref single-def "field V105._reference (fldOffset=0x0)" P-INDEP
;* V420 tmp408 [V420 ] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
;* V421 tmp409 [V421 ] ( 0, 0 ) int -> zero-ref "field V110.Item1 (fldOffset=0x0)" P-INDEP
;* V422 tmp410 [V422 ] ( 0, 0 ) int -> zero-ref "field V110.Item2 (fldOffset=0x4)" P-INDEP
;* V423 tmp411 [V423 ] ( 0, 0 ) int -> zero-ref "field V112.Item1 (fldOffset=0x0)" P-INDEP
; V424 tmp412 [V424,T23] ( 2, 8 ) int -> x2 "field V112.Item2 (fldOffset=0x4)" P-INDEP
;* V425 tmp413 [V425 ] ( 0, 0 ) int -> zero-ref "field V127.Item1 (fldOffset=0x0)" P-INDEP
;* V426 tmp414 [V426 ] ( 0, 0 ) int -> zero-ref "field V127.Item2 (fldOffset=0x4)" P-INDEP
;* V427 tmp415 [V427 ] ( 0, 0 ) int -> zero-ref "field V129.Item1 (fldOffset=0x0)" P-INDEP
;* V428 tmp416 [V428 ] ( 0, 0 ) int -> zero-ref "field V129.Item2 (fldOffset=0x4)" P-INDEP
;* V429 tmp417 [V429 ] ( 0, 0 ) int -> zero-ref "field V132.Item1 (fldOffset=0x0)" P-INDEP
; V430 tmp418 [V430,T24] ( 2, 8 ) int -> x0 "field V132.Item2 (fldOffset=0x4)" P-INDEP
;* V431 tmp419 [V431 ] ( 0, 0 ) int -> zero-ref "field V139.Item1 (fldOffset=0x0)" P-INDEP
; V432 tmp420 [V432,T07] ( 2, 32 ) int -> x6 "field V139.Item2 (fldOffset=0x4)" P-INDEP
;* V433 tmp421 [V433 ] ( 0, 0 ) byref -> zero-ref "field V148._reference (fldOffset=0x0)" P-INDEP
;* V434 tmp422 [V434 ] ( 0, 0 ) int -> zero-ref "field V148._length (fldOffset=0x8)" P-INDEP
;* V435 tmp423 [V435 ] ( 0, 0 ) byref -> zero-ref "field V156._reference (fldOffset=0x0)" P-INDEP
;* V436 tmp424 [V436 ] ( 0, 0 ) int -> zero-ref "field V156._length (fldOffset=0x8)" P-INDEP
; V437 tmp425 [V437,T71] ( 3, 1.50) byref -> x2 single-def "field V170._reference (fldOffset=0x0)" P-INDEP
;* V438 tmp426 [V438,T117] ( 0, 0 ) int -> zero-ref "field V170._length (fldOffset=0x8)" P-INDEP
;* V439 tmp427 [V439 ] ( 0, 0 ) ubyte -> zero-ref "field V172._format (fldOffset=0x0)" P-INDEP
;* V440 tmp428 [V440 ] ( 0, 0 ) ubyte -> zero-ref "field V172._precision (fldOffset=0x1)" P-INDEP
;* V441 tmp429 [V441 ] ( 0, 0 ) ubyte -> zero-ref "field V174._format (fldOffset=0x0)" P-INDEP
;* V442 tmp430 [V442 ] ( 0, 0 ) ubyte -> zero-ref "field V174._precision (fldOffset=0x1)" P-INDEP
; V443 tmp431 [V443,T82] ( 2, 1 ) byref -> x3 single-def "field V176._reference (fldOffset=0x0)" P-INDEP
;* V444 tmp432 [V444,T118] ( 0, 0 ) int -> zero-ref "field V176._length (fldOffset=0x8)" P-INDEP
;* V445 tmp433 [V445 ] ( 0, 0 ) byref -> zero-ref single-def "field V179._reference (fldOffset=0x0)" P-INDEP
;* V446 tmp434 [V446 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP
;* V447 tmp435 [V447 ] ( 0, 0 ) byref -> zero-ref single-def "field V183._reference (fldOffset=0x0)" P-INDEP
;* V448 tmp436 [V448 ] ( 0, 0 ) int -> zero-ref "field V183._length (fldOffset=0x8)" P-INDEP
;* V449 tmp437 [V449 ] ( 0, 0 ) byref -> zero-ref single-def "field V185._reference (fldOffset=0x0)" P-INDEP
;* V450 tmp438 [V450 ] ( 0, 0 ) int -> zero-ref "field V185._length (fldOffset=0x8)" P-INDEP
;* V451 tmp439 [V451 ] ( 0, 0 ) byref -> zero-ref single-def "field V188._reference (fldOffset=0x0)" P-INDEP
;* V452 tmp440 [V452 ] ( 0, 0 ) int -> zero-ref "field V188._length (fldOffset=0x8)" P-INDEP
;* V453 tmp441 [V453 ] ( 0, 0 ) byref -> zero-ref single-def "field V191._reference (fldOffset=0x0)" P-INDEP
;* V454 tmp442 [V454 ] ( 0, 0 ) int -> zero-ref "field V191._length (fldOffset=0x8)" P-INDEP
;* V455 tmp443 [V455 ] ( 0, 0 ) int -> zero-ref "field V196.Item1 (fldOffset=0x0)" P-INDEP
;* V456 tmp444 [V456 ] ( 0, 0 ) int -> zero-ref "field V196.Item2 (fldOffset=0x4)" P-INDEP
;* V457 tmp445 [V457 ] ( 0, 0 ) int -> zero-ref "field V198.Item1 (fldOffset=0x0)" P-INDEP
;* V458 tmp446 [V458 ] ( 0, 0 ) int -> zero-ref "field V198.Item2 (fldOffset=0x4)" P-INDEP
;* V459 tmp447 [V459 ] ( 0, 0 ) byref -> zero-ref single-def "field V217._reference (fldOffset=0x0)" P-INDEP
;* V460 tmp448 [V460 ] ( 0, 0 ) int -> zero-ref "field V217._length (fldOffset=0x8)" P-INDEP
;* V461 tmp449 [V461 ] ( 0, 0 ) byref -> zero-ref single-def "field V225._reference (fldOffset=0x0)" P-INDEP
;* V462 tmp450 [V462 ] ( 0, 0 ) int -> zero-ref "field V225._length (fldOffset=0x8)" P-INDEP
; V463 tmp451 [V463,T72] ( 3, 1.50) byref -> x2 single-def "field V239._reference (fldOffset=0x0)" P-INDEP
;* V464 tmp452 [V464,T119] ( 0, 0 ) int -> zero-ref "field V239._length (fldOffset=0x8)" P-INDEP
;* V465 tmp453 [V465 ] ( 0, 0 ) ubyte -> zero-ref "field V241._format (fldOffset=0x0)" P-INDEP
;* V466 tmp454 [V466 ] ( 0, 0 ) ubyte -> zero-ref "field V241._precision (fldOffset=0x1)" P-INDEP
;* V467 tmp455 [V467 ] ( 0, 0 ) ubyte -> zero-ref "field V243._format (fldOffset=0x0)" P-INDEP
;* V468 tmp456 [V468 ] ( 0, 0 ) ubyte -> zero-ref "field V243._precision (fldOffset=0x1)" P-INDEP
; V469 tmp457 [V469,T83] ( 2, 1 ) byref -> x3 single-def "field V245._reference (fldOffset=0x0)" P-INDEP
;* V470 tmp458 [V470,T120] ( 0, 0 ) int -> zero-ref "field V245._length (fldOffset=0x8)" P-INDEP
;* V471 tmp459 [V471 ] ( 0, 0 ) byref -> zero-ref single-def "field V248._reference (fldOffset=0x0)" P-INDEP
;* V472 tmp460 [V472 ] ( 0, 0 ) int -> zero-ref "field V248._length (fldOffset=0x8)" P-INDEP
;* V473 tmp461 [V473 ] ( 0, 0 ) byref -> zero-ref single-def "field V252._reference (fldOffset=0x0)" P-INDEP
;* V474 tmp462 [V474 ] ( 0, 0 ) int -> zero-ref "field V252._length (fldOffset=0x8)" P-INDEP
;* V475 tmp463 [V475 ] ( 0, 0 ) byref -> zero-ref single-def "field V254._reference (fldOffset=0x0)" P-INDEP
;* V476 tmp464 [V476 ] ( 0, 0 ) int -> zero-ref "field V254._length (fldOffset=0x8)" P-INDEP
;* V477 tmp465 [V477 ] ( 0, 0 ) byref -> zero-ref single-def "field V257._reference (fldOffset=0x0)" P-INDEP
;* V478 tmp466 [V478 ] ( 0, 0 ) int -> zero-ref "field V257._length (fldOffset=0x8)" P-INDEP
;* V479 tmp467 [V479 ] ( 0, 0 ) byref -> zero-ref single-def "field V260._reference (fldOffset=0x0)" P-INDEP
;* V480 tmp468 [V480 ] ( 0, 0 ) int -> zero-ref "field V260._length (fldOffset=0x8)" P-INDEP
;* V481 tmp469 [V481 ] ( 0, 0 ) int -> zero-ref "field V265.Item1 (fldOffset=0x0)" P-INDEP
;* V482 tmp470 [V482 ] ( 0, 0 ) int -> zero-ref "field V265.Item2 (fldOffset=0x4)" P-INDEP
;* V483 tmp471 [V483 ] ( 0, 0 ) int -> zero-ref "field V267.Item1 (fldOffset=0x0)" P-INDEP
;* V484 tmp472 [V484 ] ( 0, 0 ) int -> zero-ref "field V267.Item2 (fldOffset=0x4)" P-INDEP
;* V485 tmp473 [V485 ] ( 0, 0 ) byref -> zero-ref single-def "field V286._reference (fldOffset=0x0)" P-INDEP
;* V486 tmp474 [V486 ] ( 0, 0 ) int -> zero-ref "field V286._length (fldOffset=0x8)" P-INDEP
;* V487 tmp475 [V487 ] ( 0, 0 ) byref -> zero-ref single-def "field V294._reference (fldOffset=0x0)" P-INDEP
;* V488 tmp476 [V488 ] ( 0, 0 ) int -> zero-ref "field V294._length (fldOffset=0x8)" P-INDEP
; V489 tmp477 [V489,T73] ( 3, 1.50) byref -> x2 single-def "field V308._reference (fldOffset=0x0)" P-INDEP
;* V490 tmp478 [V490,T121] ( 0, 0 ) int -> zero-ref "field V308._length (fldOffset=0x8)" P-INDEP
;* V491 tmp479 [V491 ] ( 0, 0 ) ubyte -> zero-ref "field V310._format (fldOffset=0x0)" P-INDEP
;* V492 tmp480 [V492 ] ( 0, 0 ) ubyte -> zero-ref "field V310._precision (fldOffset=0x1)" P-INDEP
;* V493 tmp481 [V493 ] ( 0, 0 ) ubyte -> zero-ref "field V312._format (fldOffset=0x0)" P-INDEP
;* V494 tmp482 [V494 ] ( 0, 0 ) ubyte -> zero-ref "field V312._precision (fldOffset=0x1)" P-INDEP
; V495 tmp483 [V495,T84] ( 2, 1 ) byref -> x3 single-def "field V314._reference (fldOffset=0x0)" P-INDEP
;* V496 tmp484 [V496,T122] ( 0, 0 ) int -> zero-ref "field V314._length (fldOffset=0x8)" P-INDEP
;* V497 tmp485 [V497 ] ( 0, 0 ) byref -> zero-ref single-def "field V317._reference (fldOffset=0x0)" P-INDEP
;* V498 tmp486 [V498 ] ( 0, 0 ) int -> zero-ref "field V317._length (fldOffset=0x8)" P-INDEP
; V499 tmp487 [V499,T74] ( 3, 1.50) byref -> x2 single-def "field V322._reference (fldOffset=0x0)" P-INDEP
;* V500 tmp488 [V500,T123] ( 0, 0 ) int -> zero-ref "field V322._length (fldOffset=0x8)" P-INDEP
;* V501 tmp489 [V501 ] ( 0, 0 ) ubyte -> zero-ref "field V324._format (fldOffset=0x0)" P-INDEP
;* V502 tmp490 [V502 ] ( 0, 0 ) ubyte -> zero-ref "field V324._precision (fldOffset=0x1)" P-INDEP
;* V503 tmp491 [V503 ] ( 0, 0 ) ubyte -> zero-ref "field V326._format (fldOffset=0x0)" P-INDEP
;* V504 tmp492 [V504 ] ( 0, 0 ) ubyte -> zero-ref "field V326._precision (fldOffset=0x1)" P-INDEP
; V505 tmp493 [V505,T85] ( 2, 1 ) byref -> x3 single-def "field V328._reference (fldOffset=0x0)" P-INDEP
;* V506 tmp494 [V506,T124] ( 0, 0 ) int -> zero-ref "field V328._length (fldOffset=0x8)" P-INDEP
;* V507 tmp495 [V507 ] ( 0, 0 ) byref -> zero-ref single-def "field V331._reference (fldOffset=0x0)" P-INDEP
;* V508 tmp496 [V508 ] ( 0, 0 ) int -> zero-ref "field V331._length (fldOffset=0x8)" P-INDEP
; V509 tmp497 [V509,T75] ( 3, 1.50) byref -> x2 single-def "field V336._reference (fldOffset=0x0)" P-INDEP
;* V510 tmp498 [V510,T125] ( 0, 0 ) int -> zero-ref "field V336._length (fldOffset=0x8)" P-INDEP
;* V511 tmp499 [V511 ] ( 0, 0 ) ubyte -> zero-ref "field V338._format (fldOffset=0x0)" P-INDEP
;* V512 tmp500 [V512 ] ( 0, 0 ) ubyte -> zero-ref "field V338._precision (fldOffset=0x1)" P-INDEP
;* V513 tmp501 [V513 ] ( 0, 0 ) ubyte -> zero-ref "field V340._format (fldOffset=0x0)" P-INDEP
;* V514 tmp502 [V514 ] ( 0, 0 ) ubyte -> zero-ref "field V340._precision (fldOffset=0x1)" P-INDEP
; V515 tmp503 [V515,T86] ( 2, 1 ) byref -> x3 single-def "field V342._reference (fldOffset=0x0)" P-INDEP
;* V516 tmp504 [V516,T126] ( 0, 0 ) int -> zero-ref "field V342._length (fldOffset=0x8)" P-INDEP
;* V517 tmp505 [V517 ] ( 0, 0 ) byref -> zero-ref single-def "field V345._reference (fldOffset=0x0)" P-INDEP
;* V518 tmp506 [V518 ] ( 0, 0 ) int -> zero-ref "field V345._length (fldOffset=0x8)" P-INDEP
; V519 tmp507 [V519,T32] ( 3, 6 ) int -> x0 "fgMakeTemp is creating a new local variable"
; V520 tmp508 [V520,T33] ( 3, 6 ) long -> x0 "fgMakeTemp is creating a new local variable"
; V521 tmp509 [V521,T34] ( 3, 6 ) long -> x4 "fgMakeTemp is creating a new local variable"
;* V522 tmp510 [V522 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] "by-value struct argument" <System.Buffers.StandardFormat>
;* V523 tmp511 [V523 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
; V524 tmp512 [V524,T69] ( 2, 2 ) long -> x2 "Cast away GC"
;* V525 tmp513 [V525 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
;* V526 tmp514 [V526 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
;* V527 tmp515 [V527 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
;* V528 tmp516 [V528 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
;* V529 tmp517 [V529 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
; V530 tmp518 [V530,T30] ( 3, 6 ) ref -> x0 single-def "arr expr"
; V531 tmp519 [V531,T35] ( 3, 6 ) int -> x2 "index expr"
; V532 cse0 [V532,T70] ( 2, 2 ) int -> x23 "CSE #12: conservative"
; V533 cse1 [V533,T13] ( 6, 13.25) ref -> registers hoist multi-def "CSE #04: moderate"
; V534 cse2 [V534,T41] ( 3, 3 ) int -> x1 "CSE #13: conservative"
; V535 cse3 [V535,T28] ( 12, 6 ) long -> registers multi-def "CSE #05: moderate"
; V536 cse4 [V536,T90] ( 2, 1 ) long -> x5 "CSE #06: conservative"
; V537 rat0 [V537,T36] ( 3, 6 ) int -> x4 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 72
G_M33131_IG01:
stp fp, lr, [sp, #-0xA0]!
stp x19, x20, [sp, #0x58]
stp x21, x22, [sp, #0x68]
stp x23, x24, [sp, #0x78]
stp x25, x26, [sp, #0x88]
str x27, [sp, #0x98]
mov fp, sp
str xzr, [fp, #0x18] // [V95 tmp83]
str x1, [fp, #0x50] // [V01 arg1]
mov x19, x0
mov x20, x3
;; size=44 bbWeight=1 PerfScore 9.50
G_M33131_IG02:
mov x0, x19
ldr x1, [fp, #0x50] // [V01 arg1]
movz x2, #0xD1FFAB1E // code for System.Formats.Asn1.AsnWriter:WriteTag(System.Formats.Asn1.Asn1Tag):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
mov w1, #13
movz x2, #0xD1FFAB1E // code for System.Formats.Asn1.AsnWriter:WriteLength(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
and x0, x20, #0xD1FFAB1E
orr x20, x0, #0xD1FFAB1E
and x0, x20, #0xD1FFAB1E
cbz x0, G_M33131_IG04
;; size=72 bbWeight=1 PerfScore 17.00
G_M33131_IG03:
mov x1, #0xD1FFAB1E
cmp x0, x1
beq G_M33131_IG06
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M33131_IG04:
movz x0, #0xD1FFAB1E // data for System.TimeZoneInfo:s_cachedData
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x21, [x0]
add x0, x21, #8
ldapr x0, [x0]
cbnz x0, G_M33131_IG05
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.TimeZoneInfo+CachedData:CreateLocal():System.TimeZoneInfo:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=48 bbWeight=0.50 PerfScore 7.25
+ ;; size=52 bbWeight=0.50 PerfScore 7.50
G_M33131_IG05:
mov x1, x20
mov x3, x21
mov w2, #2
movz x4, #0xD1FFAB1E // code for System.TimeZoneInfo:GetUtcOffset(System.DateTime,int,System.TimeZoneInfo+CachedData):System.TimeSpan:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
mov x21, x0
b G_M33131_IG07
align [0 bytes for IG14]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=44 bbWeight=0.50 PerfScore 5.75
G_M33131_IG06:
mov x21, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M33131_IG07:
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:ValidateOffset(System.TimeSpan):short
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxth w22, w0
mov x0, x20
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.DateTimeOffset:ValidateDate(System.DateTime,System.TimeSpan):System.DateTime
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x0, [fp, #0x10] // [V371 tmp359]
strh w22, [fp, #0x40] // [V352 tmp340]
ldr x0, [fp, #0x10] // [V371 tmp359]
str x0, [fp, #0x48] // [V353 tmp341]
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [fp, #0x30] // [V35 tmp23]
add x0, fp, #48 // [V35 tmp23]
movz x1, #0xD1FFAB1E // code for System.DateTime:get_Year():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w20, w0
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [fp, #0x28] // [V36 tmp24]
add x0, fp, #40 // [V36 tmp24]
movz x1, #0xD1FFAB1E // code for System.DateTime:get_Month():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w21, w0
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [fp, #0x20] // [V37 tmp25]
add x0, fp, #32 // [V37 tmp25]
movz x1, #0xD1FFAB1E // code for System.DateTime:get_Day():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w22, w0
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
and x0, x0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movk x1, #0xD1FFAB1E LSL #48
umulh x0, x0, x1
lsr x0, x0, #33
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
umull x1, w0, w1
lsr x1, x1, #36
mov w2, #24
msub w23, w1, w2, w0
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
and x0, x0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movk x1, #0xD1FFAB1E LSL #48
umulh x0, x0, x1
lsr x0, x0, #26
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movk x1, #0xD1FFAB1E LSL #48
umulh x1, x0, x1
lsr x1, x1, #5
mov x2, #60
msub x24, x1, x2, x0
add x0, fp, #64 // [V03 loc0]
movz x1, #0xD1FFAB1E // code for System.DateTimeOffset:get_ClockDateTime():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
and x4, x0, #0xD1FFAB1E
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
movk x5, #0xD1FFAB1E LSL #48
umulh x4, x4, x5
lsr x4, x4, #22
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
movk x5, #0xD1FFAB1E LSL #48
umulh x5, x4, x5
lsr x5, x5, #5
mov x2, #60
msub x25, x5, x2, x4
ldr x4, [x19, #0x08]
ldr w5, [x19, #0x18]
cbnz x4, G_M33131_IG09
;; size=496 bbWeight=1 PerfScore 142.50
G_M33131_IG08:
cbz w5, G_M33131_IG10
b G_M33131_IG45
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M33131_IG09:
ldr w2, [x4, #0x08]
cmp w2, w5
blo G_M33131_IG45
add x2, x4, #16
mov w3, w5
add x26, x2, x3
ldr w4, [x4, #0x08]
sub w27, w4, w5
b G_M33131_IG11
;; size=36 bbWeight=0.50 PerfScore 5.25
G_M33131_IG10:
mov x26, xzr
mov w27, wzr
;; size=8 bbWeight=0.50 PerfScore 0.50
G_M33131_IG11:
cmp w27, #2
blo G_M33131_IG45
movz w4, #0xD1FFAB1E
movk w4, #0xD1FFAB1E LSL #16
smull x4, w4, w20
asr x4, x4, #32
asr w5, w4, #5
add w4, w5, w4, LSR #31
mov w5, #100
msub w0, w4, w5, w20
tbz w0, #31, G_M33131_IG13
;; size=44 bbWeight=1 PerfScore 11.00
G_M33131_IG12:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
mov x4, x26
mov w5, #2
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG26
;; size=56 bbWeight=0.50 PerfScore 5.25
G_M33131_IG13:
orr w4, w0, #1
clz w4, w4
eor w4, w4, #31
ubfiz x4, x4, #3, #32
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x4, [x4, x5]
add x4, x4, w0, UXTW
asr x4, x4, #32
mov w5, #2
cmp w4, #2
csel w5, w5, w4, le
cmp w5, #2
bgt G_M33131_IG17
str w5, [fp, #0x38] // [V11 loc8]
str x26, [fp, #0x18] // [V95 tmp83]
mov x2, x26
add x5, x2, w5, SXTW
cmp w4, #2
blt G_M33131_IG18
cmp w0, #10
blo G_M33131_IG27
b G_M33131_IG15
;; size=96 bbWeight=0.50 PerfScore 9.75
G_M33131_IG14:
sub x5, x5, #2
movz w4, #0xD1FFAB1E
movk w4, #0xD1FFAB1E LSL #16
umull x4, w0, w4
lsr x4, x4, #37
mov w2, #100
msub w2, w4, w2, w0
sxtw w0, w4
movz x4, #0xD1FFAB1E
+ movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
add x4, x4, #16
lsl w2, w2, #1
mov w2, w2
ldrh w4, [x4, x2]
strh w4, [x5]
- ;; size=64 bbWeight=4 PerfScore 70.00
+ ;; size=68 bbWeight=4 PerfScore 72.00
G_M33131_IG15:
cmp w0, #100
bhs G_M33131_IG14
;; size=8 bbWeight=4 PerfScore 6.00
G_M33131_IG16:
cmp w0, #10
blo G_M33131_IG27
sub x5, x5, #2
movz x4, #0xD1FFAB1E
+ movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
add x4, x4, #16
lsl w0, w0, #1
mov w2, w0
ldrh w4, [x4, x2]
strh w4, [x5]
b G_M33131_IG24
- align [0 bytes for IG20]
+ align [4 bytes for IG20]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=48 bbWeight=0.50 PerfScore 6.50
+ ;; size=56 bbWeight=0.50 PerfScore 6.75
G_M33131_IG17:
str wzr, [fp, #0x38] // [V11 loc8]
mov w0, wzr
b G_M33131_IG25
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M33131_IG18:
mov x4, x5
sxtw w5, w0
mov w2, #2
cmp w5, #100
blo G_M33131_IG22
;; size=20 bbWeight=0.50 PerfScore 1.50
G_M33131_IG19:
movz x3, #0xD1FFAB1E
+ movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
- ;; size=12 bbWeight=0.25 PerfScore 1.00
+ ;; size=16 bbWeight=0.25 PerfScore 1.12
G_M33131_IG20:
sub x4, x4, #2
sub w2, w2, #2
movz w6, #0xD1FFAB1E
movk w6, #0xD1FFAB1E LSL #16
umull x6, w5, w6
lsr x6, x6, #37
mov w0, #100
msub w0, w6, w0, w5
sxtw w5, w6
mov x6, x3
add x6, x6, #16
lsl w0, w0, #1
mov w0, w0
ldrh w6, [x6, x0]
strh w6, [x4]
cmp w5, #100
bhs G_M33131_IG20
b G_M33131_IG22
align [0 bytes for IG21]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=72 bbWeight=4 PerfScore 68.00
G_M33131_IG21:
sub w2, w2, #1
movz w3, #0xD1FFAB1E
movk w3, #0xD1FFAB1E LSL #16
umull x3, w5, w3
lsr x3, x3, #35
mov w6, #10
msub w6, w3, w6, w5
sxtw w5, w3
sub x4, x4, #1
add w3, w6, #48
strb w3, [x4]
;; size=44 bbWeight=16 PerfScore 152.00
G_M33131_IG22:
cbnz w5, G_M33131_IG21
;; size=4 bbWeight=4 PerfScore 4.00
G_M33131_IG23:
cmp w2, #0
bgt G_M33131_IG21
;; size=8 bbWeight=4 PerfScore 6.00
G_M33131_IG24:
str xzr, [fp, #0x18] // [V95 tmp83]
mov w0, #1
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M33131_IG25:
str xzr, [fp, #0x18] // [V95 tmp83]
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M33131_IG26:
cbz w0, G_M33131_IG44
cmp w27, #4
bhs G_M33131_IG28
b G_M33131_IG45
;; size=16 bbWeight=1 PerfScore 3.50
G_M33131_IG27:
add w4, w0, #48
strb w4, [x5, #-0x01]
b G_M33131_IG24
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M33131_IG28:
add x2, x26, #2
tbz w21, #31, G_M33131_IG29
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
mov x3, x4
mov x4, x2
mov w5, #2
mov x2, x3
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w0, w21
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG30
;; size=76 bbWeight=0.50 PerfScore 6.75
G_M33131_IG29:
mov w3, #2
add x4, fp, #56 // [V11 loc8]
mov w0, w21
mov w1, #2
movz x5, #0xD1FFAB1E // code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):ubyte
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M33131_IG30:
cbz w0, G_M33131_IG44
cmp w27, #6
blo G_M33131_IG45
;; size=12 bbWeight=1 PerfScore 2.50
G_M33131_IG31:
add x2, x26, #4
tbz w22, #31, G_M33131_IG32
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
mov x3, x4
mov x4, x2
mov w5, #2
mov x2, x3
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w0, w22
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG33
;; size=76 bbWeight=0.50 PerfScore 6.75
G_M33131_IG32:
mov w3, #2
add x4, fp, #56 // [V11 loc8]
mov w0, w22
mov w1, #2
movz x5, #0xD1FFAB1E // code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):ubyte
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M33131_IG33:
cbz w0, G_M33131_IG44
cmp w27, #8
blo G_M33131_IG45
;; size=12 bbWeight=1 PerfScore 2.50
G_M33131_IG34:
add x2, x26, #6
tbz w23, #31, G_M33131_IG35
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
mov x3, x4
mov x4, x2
mov w5, #2
mov x2, x3
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w0, w23
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG36
;; size=76 bbWeight=0.50 PerfScore 6.75
G_M33131_IG35:
mov w3, #2
add x4, fp, #56 // [V11 loc8]
mov w0, w23
mov w1, #2
movz x5, #0xD1FFAB1E // code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):ubyte
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M33131_IG36:
cbz w0, G_M33131_IG44
cmp w27, #10
blo G_M33131_IG45
;; size=12 bbWeight=1 PerfScore 2.50
G_M33131_IG37:
add x2, x26, #8
tbz w24, #31, G_M33131_IG38
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
mov x3, x4
mov x4, x2
mov w5, #2
mov x2, x3
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w0, w24
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG39
;; size=76 bbWeight=0.50 PerfScore 6.75
G_M33131_IG38:
mov w3, #2
add x4, fp, #56 // [V11 loc8]
mov w0, w24
mov w1, #2
movz x5, #0xD1FFAB1E // code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):ubyte
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M33131_IG39:
cbz w0, G_M33131_IG44
cmp w27, #12
blo G_M33131_IG45
;; size=12 bbWeight=1 PerfScore 2.50
G_M33131_IG40:
add x2, x26, #10
tbz w25, #31, G_M33131_IG41
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
mov x3, x4
mov x4, x2
mov w5, #2
mov x2, x3
mov w3, #1
add x6, fp, #56 // [V11 loc8]
mov w0, w25
mov w1, #2
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt32ToDecStr[ubyte](int,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
b G_M33131_IG42
;; size=76 bbWeight=0.50 PerfScore 6.75
G_M33131_IG41:
mov w3, #2
add x4, fp, #56 // [V11 loc8]
mov w0, w25
mov w1, #2
movz x5, #0xD1FFAB1E // code for System.Number:TryUInt32ToDecStr[ubyte](uint,int,System.Span`1[ubyte],byref):ubyte
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=36 bbWeight=0.50 PerfScore 3.75
G_M33131_IG42:
cbz w0, G_M33131_IG44
ldr x0, [x19, #0x08]
ldr w1, [x19, #0x18]
add w2, w1, #12
ldr w3, [x0, #0x08]
cmp w2, w3
bhs G_M33131_IG46
add x0, x0, #16
mov w3, #90
strb w3, [x0, w2, UXTW #2]
add w0, w1, #13
str w0, [x19, #0x18]
;; size=48 bbWeight=1 PerfScore 15.50
G_M33131_IG43:
ldr x27, [sp, #0x98]
ldp x25, x26, [sp, #0x88]
ldp x23, x24, [sp, #0x78]
ldp x21, x22, [sp, #0x68]
ldp x19, x20, [sp, #0x58]
ldp fp, lr, [sp], #0xA0
ret lr
;; size=28 bbWeight=1 PerfScore 8.00
G_M33131_IG44:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x1, #0xD1FFAB1E // code for System.InvalidOperationException:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M33131_IG45:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
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_M33131_IG46:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2068, prolog size 44, PerfScore 624.25, instruction count 529, allocated bytes for code 2068 (MethodHash=6afe7e94) for method System.Formats.Asn1.AsnWriter:WriteUtcTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset):this (FullOpts)
+; Total bytes of code 2088, prolog size 44, PerfScore 626.88, instruction count 533, allocated bytes for code 2088 (MethodHash=6afe7e94) for method System.Formats.Asn1.AsnWriter:WriteUtcTimeCore(System.Formats.Asn1.Asn1Tag,System.DateTimeOffset):this (FullOpts)
20 (8.20 % of base) - System.Net.NameResolutionTelemetry:GetHostnameFromStateObject(System.Object):System.String
; Assembly listing for method System.Net.NameResolutionTelemetry:GetHostnameFromStateObject(System.Object):System.String (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 11, 6.25) ref -> x19 class-hnd single-def <System.Object>
-; V01 loc0 [V01,T06] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
+; V01 loc0 [V01,T07] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
;* V02 loc1 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,int]>
; V03 loc2 [V03,T02] ( 4, 2 ) ref -> x0 class-hnd single-def <System.Net.IPAddress>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Net.IPAddress,int]>
; V05 loc4 [V05,T01] ( 6, 3.50) ref -> x0 class-hnd <System.String>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.String>
-;* V08 tmp2 [V08,T04] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
-;* V09 tmp3 [V09,T05] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V08 tmp2 [V08,T05] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V09 tmp3 [V09,T06] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V10 tmp4 [V10,T09] ( 2, 1 ) ref -> x0 single-def "field V02.key (fldOffset=0x0)" P-INDEP
;* V11 tmp5 [V11 ] ( 0, 0 ) int -> zero-ref "field V02.value (fldOffset=0x8)" P-INDEP
-; V12 tmp6 [V12,T07] ( 3, 1.50) ref -> x0 single-def "field V04.key (fldOffset=0x0)" P-INDEP
+; V12 tmp6 [V12,T08] ( 3, 1.50) ref -> x0 single-def "field V04.key (fldOffset=0x0)" P-INDEP
;* V13 tmp7 [V13 ] ( 0, 0 ) int -> zero-ref "field V04.value (fldOffset=0x8)" P-INDEP
-; V14 cse0 [V14,T03] ( 6, 1.75) long -> x20 multi-def "CSE #01: aggressive"
-; V15 cse1 [V15,T08] ( 4, 1.25) long -> x0 "CSE #02: moderate"
-; V16 cse2 [V16,T10] ( 2, 0.50) long -> x0 "CSE #03: moderate"
+; V14 cse0 [V14,T03] ( 6, 1.75) long -> x21 multi-def "CSE #02: aggressive"
+; V15 cse1 [V15,T04] ( 6, 1.75) long -> x20 multi-def "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M35554_IG01:
- stp fp, lr, [sp, #-0x20]!
- stp x19, x20, [sp, #0x10]
+ stp fp, lr, [sp, #-0x30]!
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x0
- ;; size=16 bbWeight=1 PerfScore 3.00
+ ;; size=20 bbWeight=1 PerfScore 4.00
G_M35554_IG02:
cbnz x19, G_M35554_IG06
;; size=4 bbWeight=1 PerfScore 1.00
G_M35554_IG03:
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M35554_IG11
cbnz x19, G_M35554_IG12
;; size=44 bbWeight=0.50 PerfScore 4.75
G_M35554_IG04:
mov x0, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M35554_IG05:
- ldp x19, x20, [sp, #0x10]
- ldp fp, lr, [sp], #0x20
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 3.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
G_M35554_IG06:
ldr x20, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x20, x0
beq G_M35554_IG08
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- cmp x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ add x1, x21, #0xD1FFAB1E
+ cmp x20, x1
bne G_M35554_IG03
- ;; size=44 bbWeight=0.25 PerfScore 2.25
+ ;; size=48 bbWeight=0.25 PerfScore 2.38
G_M35554_IG07:
- cmp x20, x0
+ add x1, x21, #0xD1FFAB1E
+ cmp x20, x1
beq G_M35554_IG10
b G_M35554_IG09
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ ;; size=16 bbWeight=0.50 PerfScore 1.50
G_M35554_IG08:
mov x0, x19
b G_M35554_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M35554_IG09:
mov x1, x19
+ add x0, x21, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_UNBOX
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=24 bbWeight=0.25 PerfScore 1.50
+ ;; size=28 bbWeight=0.25 PerfScore 1.62
G_M35554_IG10:
ldr x0, [x19, #0x08]
b G_M35554_IG05
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M35554_IG11:
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x08]
blr x1
b G_M35554_IG05
;; size=20 bbWeight=0.50 PerfScore 5.50
G_M35554_IG12:
ldr x20, [x19]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- cmp x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ cmp x20, x21
bne G_M35554_IG04
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M35554_IG13:
ldr x0, [x19, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x08]
blr x1
b G_M35554_IG05
;; size=24 bbWeight=0.50 PerfScore 7.00
-; Total bytes of code 244, prolog size 12, PerfScore 33.75, instruction count 61, allocated bytes for code 244 (MethodHash=9d18751d) for method System.Net.NameResolutionTelemetry:GetHostnameFromStateObject(System.Object):System.String (FullOpts)
+; Total bytes of code 264, prolog size 16, PerfScore 37.25, instruction count 66, allocated bytes for code 264 (MethodHash=9d18751d) for method System.Net.NameResolutionTelemetry:GetHostnameFromStateObject(System.Object):System.String (FullOpts)
16 (1.28 % of base) - System.Net.Dns:RunAsync[double](System.Func`3[System.Object,long,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double]
; Assembly listing for method System.Net.Dns:RunAsync[double](System.Func`3[System.Object,long,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (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,T11] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,double]>
-; V01 arg1 [V01,T12] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Object>
+; V00 arg0 [V00,T10] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,double]>
+; V01 arg1 [V01,T11] ( 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 -> x23 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[double]>
+; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x22 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[double]>
; 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,T22] ( 4, 2.50) ref -> x24 ld-addr-op class-hnd <System.Threading.Tasks.Task>
+; V06 loc3 [V06,T22] ( 4, 2.50) ref -> x23 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[double],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[double]>
; 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,double]>
-; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x23 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,T28] ( 2, 2 ) ref -> x26 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task`1[double],System.Object]>
; V15 tmp7 [V15,T29] ( 2, 2 ) ref -> x19 class-hnd single-def "impSpillLclRefs" <System.Threading.Tasks.Task`1[double]>
; 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>
+; V18 tmp10 [V18,T30] ( 2, 2 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Object>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V20 tmp12 [V20,T10] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[double],System.Object]>
+; V20 tmp12 [V20,T09] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[double],System.Object]>
;* V21 tmp13 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; 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[double]>
;* 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 -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]>
;* V30 tmp22 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[double]>
;* 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,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,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 -> 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[double]>
;* V41 tmp33 [V41 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; 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[double]>
;* 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 -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]>
+; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]>
;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]>
;* 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,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,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,T13] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V56 tmp48 [V56,T13] ( 4, 4 ) ref -> x23 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[double]>
; V60 tmp52 [V60,T07] ( 3, 3 ) ref -> x19 single-def "field V02._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,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,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"
+;* V70 cse0 [V70,T45] ( 0, 0 ) byref -> zero-ref "CSE #06: 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"
+; V74 cse4 [V74,T12] ( 5, 4 ) long -> x24 "CSE #03: moderate"
; V75 rat0 [V75,T35] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 32
G_M52936_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_M52936_IG02:
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- mov x0, x22
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
- add x14, x23, #8
+ mov x22, x0
+ add x14, x22, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #16
+ add x14, x22, #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_M52936_IG32
- ;; size=68 bbWeight=1 PerfScore 13.00
+ ;; size=64 bbWeight=1 PerfScore 12.50
G_M52936_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, [x23, #0x10]
+ ldr x1, [x22, #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, [x23, #0x18]
+ stp xzr, x0, [x22, #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_M52936_IG04:
ldrb w1, [fp, #0x20] // [V05 loc2]
cbnz w1, G_M52936_IG27
add x1, fp, #32 // [V05 loc2]
bl System.Threading.Monitor:ReliableEnter(System.Object,byref)
mov x0, x21
- ldr x1, [x23, #0x10]
+ ldr x1, [x22, #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_M52936_IG06
;; size=48 bbWeight=1 PerfScore 14.50
G_M52936_IG05:
- ldr x24, [x0]
- cbnz x24, G_M52936_IG07
+ ldr x23, [x0]
+ cbnz x23, G_M52936_IG07
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M52936_IG06:
- ldr x24, [x20, #-0xB8]
+ ldr x23, [x20, #-0xB8]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M52936_IG07:
- add x0, x22, #0xD1FFAB1E
+ movz x24, #0xD1FFAB1E
+ movk x24, #0xD1FFAB1E LSL #16
+ movk x24, #0xD1FFAB1E LSL #32
+ mov x0, x24
bl CORINFO_HELP_NEWSFAST
mov x25, x0
add x14, x25, #8
- mov x15, x23
+ mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Dns+<>c__DisplayClass39_0`1[double]:<RunAsync>b__0(System.Threading.Tasks.Task,System.Object):double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x25, #0x18]
- ldr x26, [x23, #0x10]
+ ldr x26, [x22, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M52936_IG20
- ;; size=64 bbWeight=1 PerfScore 15.00
+ ;; size=76 bbWeight=1 PerfScore 16.50
G_M52936_IG08:
ldr x27, [x20, #0x88]
- ldrsb wzr, [x24]
+ ldrsb wzr, [x23]
cbz x27, G_M52936_IG26
- add x0, x22, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
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 x25, x0
cbnz x25, G_M52936_IG10
;; size=96 bbWeight=1 PerfScore 24.50
G_M52936_IG09:
add x0, x28, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
add x1, x28, #52
stlr w0, [x1]
b G_M52936_IG12
;; size=24 bbWeight=0.50 PerfScore 3.25
G_M52936_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M52936_IG21
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M52936_IG11:
ldr x0, [x20, #-0xE0]
cmp x25, x0
beq G_M52936_IG12
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, x25
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M52936_IG12:
add x14, x28, #64
- mov x15, x24
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x24
+ mov x0, x23
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, x23, #24
+ add x14, x22, #24
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
cbz x19, G_M52936_IG19
;; size=68 bbWeight=1 PerfScore 13.00
G_M52936_IG13:
- ldr x19, [x23, #0x18]
- add x0, x22, #0xD1FFAB1E
+ ldr x19, [x22, #0x18]
+ add x0, x24, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M52936_IG22
;; size=28 bbWeight=0.50 PerfScore 4.50
G_M52936_IG14:
ldr x26, [x20, #0xD1FFAB1E]
cbnz x26, G_M52936_IG15
- add x0, x22, #176
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
ldr x15, [x20, #0xD1FFAB1E]
cbz x15, G_M52936_IG25
add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Net.Dns+<>c__39`1[double]:<RunAsync>b__39_1(System.Threading.Tasks.Task`1[double],System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x26, #0x18]
add x14, x20, #0xD1FFAB1E
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M52936_IG15:
- ldr x24, [x23, #0x10]
+ ldr x23, [x22, #0x10]
ldr x25, [x20, #0x88]
ldrsb wzr, [x19]
cbz x26, G_M52936_IG24
cbz x25, G_M52936_IG26
- add x0, x22, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
+ mov x24, x0
mov x1, x26
- mov x2, x24
+ mov x2, x23
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_M52936_IG16
- add x0, x22, #52
+ mov x23, x0
+ cbnz x23, G_M52936_IG16
+ add x0, x24, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x22, #52
+ add x1, x24, #52
stlr w0, [x1]
b G_M52936_IG18
;; size=128 bbWeight=0.50 PerfScore 17.50
G_M52936_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M52936_IG23
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M52936_IG17:
ldr x0, [x20, #-0xE0]
- cmp x24, x0
+ cmp x23, x0
beq G_M52936_IG18
- mov x0, x22
+ mov x0, x24
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
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M52936_IG18:
- add x14, x22, #56
+ add x14, x24, #56
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
- mov x1, x22
+ mov x1, x24
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_M52936_IG19:
mov x0, x21
- ldp x1, x2, [x23, #0x10]
+ ldp x1, x2, [x22, #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_M52936_IG28
;; size=36 bbWeight=1 PerfScore 11.50
G_M52936_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M52936_IG08
;; size=20 bbWeight=0 PerfScore 0.00
G_M52936_IG21:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52936_IG11
;; size=20 bbWeight=0 PerfScore 0.00
G_M52936_IG22:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52936_IG14
;; size=8 bbWeight=0 PerfScore 0.00
G_M52936_IG23:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52936_IG17
;; size=20 bbWeight=0 PerfScore 0.00
G_M52936_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_M52936_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_M52936_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_M52936_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_M52936_IG28:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M52936_IG30
;; size=8 bbWeight=1 PerfScore 3.00
G_M52936_IG29:
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M52936_IG30:
- ldr x0, [x23, #0x18]
+ ldr x0, [x22, #0x18]
;; size=4 bbWeight=1 PerfScore 3.00
G_M52936_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_M52936_IG32:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52936_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M52936_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_M52936_IG34:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M52936_IG35
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=16 bbWeight=0 PerfScore 0.00
G_M52936_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 1252, prolog size 48, PerfScore 197.75, instruction count 313, allocated bytes for code 1252 (MethodHash=4a973137) for method System.Net.Dns:RunAsync[double](System.Func`3[System.Object,long,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (FullOpts)
+; Total bytes of code 1268, prolog size 48, PerfScore 199.25, instruction count 317, allocated bytes for code 1268 (MethodHash=4a973137) for method System.Net.Dns:RunAsync[double](System.Func`3[System.Object,long,double],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[double] (FullOpts)
16 (1.28 % 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,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>
+; 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>
;* V02 arg2 [V02 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op single-def <System.Threading.CancellationToken>
-; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x23 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
+; 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,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,T22] ( 4, 2.50) ref -> x24 ld-addr-op class-hnd <System.Threading.Tasks.Task>
+; V06 loc3 [V06,T22] ( 4, 2.50) ref -> x23 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 -> 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>
+; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x23 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,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>
+; V18 tmp10 [V18,T30] ( 2, 2 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Object>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; 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]>
+; V20 tmp12 [V20,T09] ( 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,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 -> 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,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,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 -> 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,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 -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
+; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x24 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,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,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,T13] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V56 tmp48 [V56,T13] ( 4, 4 ) ref -> x23 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,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,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,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 #07: moderate"
+;* V70 cse0 [V70,T45] ( 0, 0 ) byref -> zero-ref "CSE #06: moderate"
+;* V71 cse1 [V71,T39] ( 0, 0 ) byref -> zero-ref "CSE #09: 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"
+; V74 cse4 [V74,T12] ( 5, 4 ) long -> x24 "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 x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- mov x0, x22
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
- add x14, x23, #8
+ mov x22, x0
+ add x14, x22, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #16
+ add x14, x22, #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=68 bbWeight=1 PerfScore 13.00
+ ;; size=64 bbWeight=1 PerfScore 12.50
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, [x23, #0x10]
+ ldr x1, [x22, #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, [x23, #0x18]
+ stp xzr, x0, [x22, #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, [x23, #0x10]
+ ldr x1, [x22, #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 x24, [x0]
- cbnz x24, G_M35011_IG07
+ ldr x23, [x0]
+ cbnz x23, G_M35011_IG07
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M35011_IG06:
- ldr x24, [x20, #-0xB8]
+ ldr x23, [x20, #-0xB8]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M35011_IG07:
- add x0, x22, #0xD1FFAB1E
+ movz x24, #0xD1FFAB1E
+ movk x24, #0xD1FFAB1E LSL #16
+ movk x24, #0xD1FFAB1E LSL #32
+ mov x0, x24
bl CORINFO_HELP_NEWSFAST
mov x25, x0
add x14, x25, #8
- mov x15, x23
+ mov x15, x22
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, [x25, #0x18]
- ldr x26, [x23, #0x10]
+ ldr x26, [x22, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG20
- ;; size=64 bbWeight=1 PerfScore 15.00
+ ;; size=76 bbWeight=1 PerfScore 16.50
G_M35011_IG08:
ldr x27, [x20, #0x88]
- ldrsb wzr, [x24]
+ ldrsb wzr, [x23]
cbz x27, G_M35011_IG26
- add x0, x22, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
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 x25, x0
cbnz x25, G_M35011_IG10
;; size=96 bbWeight=1 PerfScore 24.50
G_M35011_IG09:
add x0, x28, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
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 x25, x0
beq G_M35011_IG12
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, x25
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG12:
add x14, x28, #64
- mov x15, x24
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x24
+ mov x0, x23
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, x23, #24
+ add x14, x22, #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, [x23, #0x18]
- add x0, x22, #0xD1FFAB1E
+ ldr x19, [x22, #0x18]
+ add x0, x24, #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 x26, [x20, #0xD1FFAB1E]
cbnz x26, G_M35011_IG15
- add x0, x22, #176
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
ldr x15, [x20, #0xD1FFAB1E]
cbz x15, G_M35011_IG25
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, [x26, #0x18]
add x14, x20, #0xD1FFAB1E
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M35011_IG15:
- ldr x24, [x23, #0x10]
+ ldr x23, [x22, #0x10]
ldr x25, [x20, #0x88]
ldrsb wzr, [x19]
cbz x26, G_M35011_IG24
cbz x25, G_M35011_IG26
- add x0, x22, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
+ mov x24, x0
mov x1, x26
- mov x2, x24
+ mov x2, x23
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, x22, #52
+ mov x23, x0
+ cbnz x23, G_M35011_IG16
+ add x0, x24, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x22, #52
+ add x1, x24, #52
stlr w0, [x1]
b G_M35011_IG18
;; 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
+ cmp x23, x0
beq G_M35011_IG18
- mov x0, x22
+ mov x0, x24
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
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG18:
- add x14, x22, #56
+ add x14, x24, #56
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
- mov x1, x22
+ mov x1, x24
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, [x23, #0x10]
+ ldp x1, x2, [x22, #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:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG14
;; 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, [x23, #0x18]
+ ldr x0, [x22, #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 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)
+; Total bytes of code 1268, prolog size 48, PerfScore 199.25, instruction count 317, allocated bytes for code 1268 (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)
12 (1.57 % of base) - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[int](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[]
; Assembly listing for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[int](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
; V01 arg1 [V01,T07] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
-; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x22 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[int]>
-; V03 loc1 [V03,T15] ( 3, 2.50) ref -> x23 class-hnd <System.Composition.Hosting.Core.CompositionContract>
-; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x20] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
-; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x21 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[int]>
+; V03 loc1 [V03,T14] ( 3, 2.50) ref -> x22 class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
+; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x10] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[int]>
-; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
-; V09 tmp3 [V09,T11] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
+; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
+; V09 tmp3 [V09,T10] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;* V10 tmp4 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
-; V11 tmp5 [V11,T17] ( 4, 2 ) ref -> x1
+; V11 tmp5 [V11,T16] ( 4, 2 ) ref -> x1
; V12 tmp6 [V12,T02] ( 4, 8 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
; V14 tmp8 [V14,T03] ( 4, 7 ) ref -> x19 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V15 tmp9 [V15,T12] ( 2, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
-; V16 tmp10 [V16,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
-; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V20 tmp14 [V20,T18] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.String>
-; V21 tmp15 [V21,T20] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V22 tmp16 [V22,T13] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V23 tmp17 [V23,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V24 tmp18 [V24,T22] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V25 cse0 [V25,T16] ( 3, 2.50) ref -> x19 "CSE #08: aggressive"
-; V26 cse1 [V26,T10] ( 4, 4 ) long -> x19 "CSE #09: aggressive"
-; V27 cse2 [V27,T14] ( 4, 3.50) long -> x21 "CSE #01: aggressive"
+; V15 tmp9 [V15,T11] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
+; V16 tmp10 [V16,T18] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
+; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
+; V20 tmp14 [V20,T17] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
+; V21 tmp15 [V21,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V22 tmp16 [V22,T12] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V23 tmp17 [V23,T20] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V24 tmp18 [V24,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V25 cse0 [V25,T15] ( 3, 2.50) ref -> x19 "CSE #07: aggressive"
+; V26 cse1 [V26,T13] ( 3, 3 ) long -> x19 "CSE #09: aggressive"
;
-; Lcl frame size = 24
+; Lcl frame size = 16
G_M53351_IG01:
- stp fp, lr, [sp, #-0x60]!
- stp x19, x20, [sp, #0x28]
- stp x21, x22, [sp, #0x38]
- stp x23, x24, [sp, #0x48]
- str x25, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
+ stp x19, x20, [sp, #0x20]
+ stp x21, x22, [sp, #0x30]
+ stp x23, x24, [sp, #0x40]
mov fp, sp
- stp xzr, xzr, [fp, #0x18] // [V05 loc3], [V04 loc2]
+ stp xzr, xzr, [fp, #0x10] // [V05 loc3], [V04 loc2]
mov x19, x0
mov x20, x1
- ;; size=36 bbWeight=1 PerfScore 7.50
+ ;; size=32 bbWeight=1 PerfScore 6.50
G_M53351_IG02:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- add x14, x22, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x19, [x22, #0x08]
+ ldr x19, [x21, #0x08]
ldrsb wzr, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
- ldp x24, x19, [x19, #0x10]
+ mov x22, x0
+ ldp x23, x19, [x19, #0x10]
cbz x19, G_M53351_IG04
- ;; size=72 bbWeight=1 PerfScore 19.50
+ ;; size=68 bbWeight=1 PerfScore 19.00
G_M53351_IG03:
mov x0, x19
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M53351_IG10
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M53351_IG04:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x23, #0x08]
- add x14, x23, #16
- mov x15, x24
+ str x14, [x22, #0x08]
+ add x14, x22, #16
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #24
+ add x14, x22, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x19, [x14]
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [x22, #0x08]
- add x3, fp, #32 // [V04 loc2]
- add x4, fp, #24 // [V05 loc3]
- mov x1, x21
+ ldr x0, [x21, #0x08]
+ add x3, fp, #24 // [V04 loc2]
+ add x4, fp, #16 // [V05 loc3]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Composition.Hosting.Core.CompositionContract:TryUnwrapMetadataConstraint[System.__Canon](System.String,byref,byref):ubyte:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
ldr wzr, [x0]
blr x5
cbz w0, G_M53351_IG07
- ;; size=124 bbWeight=1 PerfScore 28.50
+ ;; size=132 bbWeight=1 PerfScore 29.50
G_M53351_IG05:
- ldr x23, [fp, #0x18] // [V05 loc3]
- ldrsb wzr, [x23]
+ ldr x22, [fp, #0x10] // [V05 loc3]
+ ldrsb wzr, [x22]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- ldp x25, x23, [x23, #0x10]
- cbz x23, G_M53351_IG06
- mov x0, x23
+ mov x23, x0
+ ldp x24, x22, [x22, #0x10]
+ cbz x22, G_M53351_IG06
+ mov x0, x22
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M53351_IG09
;; size=64 bbWeight=0.50 PerfScore 10.00
G_M53351_IG06:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x24, #0x08]
- add x14, x24, #16
- mov x15, x25
+ str x14, [x23, #0x08]
+ add x14, x23, #16
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- add x14, x24, #24
- mov x15, x23
+ add x14, x23, #24
+ mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
- mov x23, x24
- ldr x1, [fp, #0x20] // [V04 loc2]
+ mov x22, x23
+ ldr x1, [fp, #0x18] // [V04 loc2]
mov x0, x1
cmp x0, #0
csel x1, x1, x19, ne
- add x0, x21, #128
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ;; size=96 bbWeight=0.50 PerfScore 9.25
+ ;; size=104 bbWeight=0.50 PerfScore 9.75
G_M53351_IG07:
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- mov x0, x19
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x19, x0
mov x0, x20
- mov x2, x23
+ mov x2, x22
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DependencyAccessor:ResolveDependencies(System.Object,System.Composition.Hosting.Core.CompositionContract,ubyte):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
mov x1, x0
- add x14, x21, #8
- mov x15, x22
+ add x14, x19, #8
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[int]:<GetExportFactoryDescriptors>b__0(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptorPromise:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- str x2, [x21, #0x18]
- mov x2, x21
- add x0, x19, #0xD1FFAB1E
+ str x2, [x19, #0x18]
+ mov x2, x19
+ movz x19, #0xD1FFAB1E
+ movk x19, #0xD1FFAB1E LSL #16
+ movk x19, #0xD1FFAB1E LSL #32
+ mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- add x0, x19, #0xD1FFAB1E
+ add x0, x19, #128
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=160 bbWeight=1 PerfScore 33.00
+ ;; size=168 bbWeight=1 PerfScore 34.00
G_M53351_IG08:
- ldr x25, [sp, #0x58]
- ldp x23, x24, [sp, #0x48]
- ldp x21, x22, [sp, #0x38]
- ldp x19, x20, [sp, #0x28]
- ldp fp, lr, [sp], #0x60
+ ldp x23, x24, [sp, #0x40]
+ ldp x21, x22, [sp, #0x30]
+ ldp x19, x20, [sp, #0x20]
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=24 bbWeight=1 PerfScore 7.00
+ ;; size=20 bbWeight=1 PerfScore 5.00
G_M53351_IG09:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M53351_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-; Total bytes of code 764, prolog size 28, PerfScore 118.25, instruction count 191, allocated bytes for code 764 (MethodHash=e0342f98) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[int](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
+; Total bytes of code 776, prolog size 24, PerfScore 117.25, instruction count 194, allocated bytes for code 776 (MethodHash=e0342f98) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[int](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
12 (1.57 % of base) - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[]
; Assembly listing for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
; V01 arg1 [V01,T07] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
-; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x22 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[short]>
-; V03 loc1 [V03,T15] ( 3, 2.50) ref -> x23 class-hnd <System.Composition.Hosting.Core.CompositionContract>
-; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x20] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
-; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x21 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[short]>
+; V03 loc1 [V03,T14] ( 3, 2.50) ref -> x22 class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
+; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x10] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[short]>
-; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
-; V09 tmp3 [V09,T11] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
+; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
+; V09 tmp3 [V09,T10] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;* V10 tmp4 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
-; V11 tmp5 [V11,T17] ( 4, 2 ) ref -> x1
+; V11 tmp5 [V11,T16] ( 4, 2 ) ref -> x1
; V12 tmp6 [V12,T02] ( 4, 8 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
; V14 tmp8 [V14,T03] ( 4, 7 ) ref -> x19 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V15 tmp9 [V15,T12] ( 2, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
-; V16 tmp10 [V16,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
-; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V20 tmp14 [V20,T18] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.String>
-; V21 tmp15 [V21,T20] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V22 tmp16 [V22,T13] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V23 tmp17 [V23,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V24 tmp18 [V24,T22] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V25 cse0 [V25,T16] ( 3, 2.50) ref -> x19 "CSE #08: aggressive"
-; V26 cse1 [V26,T10] ( 4, 4 ) long -> x19 "CSE #09: aggressive"
-; V27 cse2 [V27,T14] ( 4, 3.50) long -> x21 "CSE #01: aggressive"
+; V15 tmp9 [V15,T11] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
+; V16 tmp10 [V16,T18] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
+; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
+; V20 tmp14 [V20,T17] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
+; V21 tmp15 [V21,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V22 tmp16 [V22,T12] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V23 tmp17 [V23,T20] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V24 tmp18 [V24,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V25 cse0 [V25,T15] ( 3, 2.50) ref -> x19 "CSE #07: aggressive"
+; V26 cse1 [V26,T13] ( 3, 3 ) long -> x19 "CSE #09: aggressive"
;
-; Lcl frame size = 24
+; Lcl frame size = 16
G_M38918_IG01:
- stp fp, lr, [sp, #-0x60]!
- stp x19, x20, [sp, #0x28]
- stp x21, x22, [sp, #0x38]
- stp x23, x24, [sp, #0x48]
- str x25, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
+ stp x19, x20, [sp, #0x20]
+ stp x21, x22, [sp, #0x30]
+ stp x23, x24, [sp, #0x40]
mov fp, sp
- stp xzr, xzr, [fp, #0x18] // [V05 loc3], [V04 loc2]
+ stp xzr, xzr, [fp, #0x10] // [V05 loc3], [V04 loc2]
mov x19, x0
mov x20, x1
- ;; size=36 bbWeight=1 PerfScore 7.50
+ ;; size=32 bbWeight=1 PerfScore 6.50
G_M38918_IG02:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- add x14, x22, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x19, [x22, #0x08]
+ ldr x19, [x21, #0x08]
ldrsb wzr, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
- ldp x24, x19, [x19, #0x10]
+ mov x22, x0
+ ldp x23, x19, [x19, #0x10]
cbz x19, G_M38918_IG04
- ;; size=72 bbWeight=1 PerfScore 19.50
+ ;; size=68 bbWeight=1 PerfScore 19.00
G_M38918_IG03:
mov x0, x19
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M38918_IG10
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M38918_IG04:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x23, #0x08]
- add x14, x23, #16
- mov x15, x24
+ str x14, [x22, #0x08]
+ add x14, x22, #16
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #24
+ add x14, x22, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x19, [x14]
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [x22, #0x08]
- add x3, fp, #32 // [V04 loc2]
- add x4, fp, #24 // [V05 loc3]
- mov x1, x21
+ ldr x0, [x21, #0x08]
+ add x3, fp, #24 // [V04 loc2]
+ add x4, fp, #16 // [V05 loc3]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Composition.Hosting.Core.CompositionContract:TryUnwrapMetadataConstraint[System.__Canon](System.String,byref,byref):ubyte:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
ldr wzr, [x0]
blr x5
cbz w0, G_M38918_IG07
- ;; size=124 bbWeight=1 PerfScore 28.50
+ ;; size=132 bbWeight=1 PerfScore 29.50
G_M38918_IG05:
- ldr x23, [fp, #0x18] // [V05 loc3]
- ldrsb wzr, [x23]
+ ldr x22, [fp, #0x10] // [V05 loc3]
+ ldrsb wzr, [x22]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- ldp x25, x23, [x23, #0x10]
- cbz x23, G_M38918_IG06
- mov x0, x23
+ mov x23, x0
+ ldp x24, x22, [x22, #0x10]
+ cbz x22, G_M38918_IG06
+ mov x0, x22
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M38918_IG09
;; size=64 bbWeight=0.50 PerfScore 10.00
G_M38918_IG06:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x24, #0x08]
- add x14, x24, #16
- mov x15, x25
+ str x14, [x23, #0x08]
+ add x14, x23, #16
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- add x14, x24, #24
- mov x15, x23
+ add x14, x23, #24
+ mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
- mov x23, x24
- ldr x1, [fp, #0x20] // [V04 loc2]
+ mov x22, x23
+ ldr x1, [fp, #0x18] // [V04 loc2]
mov x0, x1
cmp x0, #0
csel x1, x1, x19, ne
- add x0, x21, #128
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ;; size=96 bbWeight=0.50 PerfScore 9.25
+ ;; size=104 bbWeight=0.50 PerfScore 9.75
G_M38918_IG07:
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- mov x0, x19
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x19, x0
mov x0, x20
- mov x2, x23
+ mov x2, x22
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DependencyAccessor:ResolveDependencies(System.Object,System.Composition.Hosting.Core.CompositionContract,ubyte):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
mov x1, x0
- add x14, x21, #8
- mov x15, x22
+ add x14, x19, #8
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[short]:<GetExportFactoryDescriptors>b__0(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptorPromise:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- str x2, [x21, #0x18]
- mov x2, x21
- add x0, x19, #0xD1FFAB1E
+ str x2, [x19, #0x18]
+ mov x2, x19
+ movz x19, #0xD1FFAB1E
+ movk x19, #0xD1FFAB1E LSL #16
+ movk x19, #0xD1FFAB1E LSL #32
+ mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- add x0, x19, #0xD1FFAB1E
+ add x0, x19, #128
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=160 bbWeight=1 PerfScore 33.00
+ ;; size=168 bbWeight=1 PerfScore 34.00
G_M38918_IG08:
- ldr x25, [sp, #0x58]
- ldp x23, x24, [sp, #0x48]
- ldp x21, x22, [sp, #0x38]
- ldp x19, x20, [sp, #0x28]
- ldp fp, lr, [sp], #0x60
+ ldp x23, x24, [sp, #0x40]
+ ldp x21, x22, [sp, #0x30]
+ ldp x19, x20, [sp, #0x20]
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=24 bbWeight=1 PerfScore 7.00
+ ;; size=20 bbWeight=1 PerfScore 5.00
G_M38918_IG09:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M38918_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-; Total bytes of code 764, prolog size 28, PerfScore 118.25, instruction count 191, allocated bytes for code 764 (MethodHash=fb6767f9) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
+; Total bytes of code 776, prolog size 24, PerfScore 117.25, instruction count 194, allocated bytes for code 776 (MethodHash=fb6767f9) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[short](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
12 (1.57 % of base) - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[]
; Assembly listing for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
; V01 arg1 [V01,T07] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
-; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x22 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[ubyte]>
-; V03 loc1 [V03,T15] ( 3, 2.50) ref -> x23 class-hnd <System.Composition.Hosting.Core.CompositionContract>
-; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x20] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
-; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x21 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[ubyte]>
+; V03 loc1 [V03,T14] ( 3, 2.50) ref -> x22 class-hnd <System.Composition.Hosting.Core.CompositionContract>
+; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
+; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x10] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[ubyte]>
-; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
-; V09 tmp3 [V09,T11] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
+; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
+; V09 tmp3 [V09,T10] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;* V10 tmp4 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
-; V11 tmp5 [V11,T17] ( 4, 2 ) ref -> x1
+; V11 tmp5 [V11,T16] ( 4, 2 ) ref -> x1
; V12 tmp6 [V12,T02] ( 4, 8 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
; V14 tmp8 [V14,T03] ( 4, 7 ) ref -> x19 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V15 tmp9 [V15,T12] ( 2, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
-; V16 tmp10 [V16,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
-; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V20 tmp14 [V20,T18] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.String>
-; V21 tmp15 [V21,T20] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V22 tmp16 [V22,T13] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V23 tmp17 [V23,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V24 tmp18 [V24,T22] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V25 cse0 [V25,T16] ( 3, 2.50) ref -> x19 "CSE #08: aggressive"
-; V26 cse1 [V26,T10] ( 4, 4 ) long -> x19 "CSE #09: aggressive"
-; V27 cse2 [V27,T14] ( 4, 3.50) long -> x21 "CSE #01: aggressive"
+; V15 tmp9 [V15,T11] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
+; V16 tmp10 [V16,T18] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
+; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
+; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
+; V20 tmp14 [V20,T17] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
+; V21 tmp15 [V21,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
+; V22 tmp16 [V22,T12] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V23 tmp17 [V23,T20] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V24 tmp18 [V24,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V25 cse0 [V25,T15] ( 3, 2.50) ref -> x19 "CSE #07: aggressive"
+; V26 cse1 [V26,T13] ( 3, 3 ) long -> x19 "CSE #09: aggressive"
;
-; Lcl frame size = 24
+; Lcl frame size = 16
G_M31467_IG01:
- stp fp, lr, [sp, #-0x60]!
- stp x19, x20, [sp, #0x28]
- stp x21, x22, [sp, #0x38]
- stp x23, x24, [sp, #0x48]
- str x25, [sp, #0x58]
+ stp fp, lr, [sp, #-0x50]!
+ stp x19, x20, [sp, #0x20]
+ stp x21, x22, [sp, #0x30]
+ stp x23, x24, [sp, #0x40]
mov fp, sp
- stp xzr, xzr, [fp, #0x18] // [V05 loc3], [V04 loc2]
+ stp xzr, xzr, [fp, #0x10] // [V05 loc3], [V04 loc2]
mov x19, x0
mov x20, x1
- ;; size=36 bbWeight=1 PerfScore 7.50
+ ;; size=32 bbWeight=1 PerfScore 6.50
G_M31467_IG02:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- add x14, x22, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x19, [x22, #0x08]
+ ldr x19, [x21, #0x08]
ldrsb wzr, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
- ldp x24, x19, [x19, #0x10]
+ mov x22, x0
+ ldp x23, x19, [x19, #0x10]
cbz x19, G_M31467_IG04
- ;; size=72 bbWeight=1 PerfScore 19.50
+ ;; size=68 bbWeight=1 PerfScore 19.00
G_M31467_IG03:
mov x0, x19
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M31467_IG10
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M31467_IG04:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x23, #0x08]
- add x14, x23, #16
- mov x15, x24
+ str x14, [x22, #0x08]
+ add x14, x22, #16
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #24
+ add x14, x22, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x19, [x14]
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [x22, #0x08]
- add x3, fp, #32 // [V04 loc2]
- add x4, fp, #24 // [V05 loc3]
- mov x1, x21
+ ldr x0, [x21, #0x08]
+ add x3, fp, #24 // [V04 loc2]
+ add x4, fp, #16 // [V05 loc3]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Composition.Hosting.Core.CompositionContract:TryUnwrapMetadataConstraint[System.__Canon](System.String,byref,byref):ubyte:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
ldr wzr, [x0]
blr x5
cbz w0, G_M31467_IG07
- ;; size=124 bbWeight=1 PerfScore 28.50
+ ;; size=132 bbWeight=1 PerfScore 29.50
G_M31467_IG05:
- ldr x23, [fp, #0x18] // [V05 loc3]
- ldrsb wzr, [x23]
+ ldr x22, [fp, #0x10] // [V05 loc3]
+ ldrsb wzr, [x22]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- ldp x25, x23, [x23, #0x10]
- cbz x23, G_M31467_IG06
- mov x0, x23
+ mov x23, x0
+ ldp x24, x22, [x22, #0x10]
+ cbz x22, G_M31467_IG06
+ mov x0, x22
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M31467_IG09
;; size=64 bbWeight=0.50 PerfScore 10.00
G_M31467_IG06:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x24, #0x08]
- add x14, x24, #16
- mov x15, x25
+ str x14, [x23, #0x08]
+ add x14, x23, #16
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- add x14, x24, #24
- mov x15, x23
+ add x14, x23, #24
+ mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
- mov x23, x24
- ldr x1, [fp, #0x20] // [V04 loc2]
+ mov x22, x23
+ ldr x1, [fp, #0x18] // [V04 loc2]
mov x0, x1
cmp x0, #0
csel x1, x1, x19, ne
- add x0, x21, #128
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x22, #16
+ add x14, x21, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ;; size=96 bbWeight=0.50 PerfScore 9.25
+ ;; size=104 bbWeight=0.50 PerfScore 9.75
G_M31467_IG07:
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- mov x0, x19
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x19, x0
mov x0, x20
- mov x2, x23
+ mov x2, x22
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DependencyAccessor:ResolveDependencies(System.Object,System.Composition.Hosting.Core.CompositionContract,ubyte):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
mov x1, x0
- add x14, x21, #8
- mov x15, x22
+ add x14, x19, #8
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[ubyte]:<GetExportFactoryDescriptors>b__0(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptorPromise:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- str x2, [x21, #0x18]
- mov x2, x21
- add x0, x19, #0xD1FFAB1E
+ str x2, [x19, #0x18]
+ mov x2, x19
+ movz x19, #0xD1FFAB1E
+ movk x19, #0xD1FFAB1E LSL #16
+ movk x19, #0xD1FFAB1E LSL #32
+ mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- add x0, x19, #0xD1FFAB1E
+ add x0, x19, #128
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=160 bbWeight=1 PerfScore 33.00
+ ;; size=168 bbWeight=1 PerfScore 34.00
G_M31467_IG08:
- ldr x25, [sp, #0x58]
- ldp x23, x24, [sp, #0x48]
- ldp x21, x22, [sp, #0x38]
- ldp x19, x20, [sp, #0x28]
- ldp fp, lr, [sp], #0x60
+ ldp x23, x24, [sp, #0x40]
+ ldp x21, x22, [sp, #0x30]
+ ldp x19, x20, [sp, #0x20]
+ ldp fp, lr, [sp], #0x50
ret lr
- ;; size=24 bbWeight=1 PerfScore 7.00
+ ;; size=20 bbWeight=1 PerfScore 5.00
G_M31467_IG09:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M31467_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-; Total bytes of code 764, prolog size 28, PerfScore 118.25, instruction count 191, allocated bytes for code 764 (MethodHash=f25c8514) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
+; Total bytes of code 776, prolog size 24, PerfScore 117.25, instruction count 194, allocated bytes for code 776 (MethodHash=f25c8514) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[ubyte](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
12 (3.85 % of base) - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this
; Assembly listing for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[double]>
+; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[double]>
; V04 tmp2 [V04,T06] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp6 [V08,T09] ( 4, 3.50) ref -> x2
; V09 tmp7 [V09,T00] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositeActivator>
; V10 tmp8 [V10,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
-; V11 tmp9 [V11,T11] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]>
+; V11 tmp9 [V11,T10] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]>
; V12 tmp10 [V12,T07] ( 2, 4 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Object]>
; V13 tmp11 [V13,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.DirectExportDescriptor>
; V14 tmp12 [V14,T08] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V15 cse0 [V15,T05] ( 5, 4 ) long -> x22 "CSE #02: aggressive"
-; V16 cse1 [V16,T10] ( 4, 3.50) long -> x20 "CSE #01: aggressive"
+; V15 cse0 [V15,T05] ( 5, 4 ) long -> x21 "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M19674_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M19674_IG02:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x2, [x22, #0xD1FFAB1E]
+ mov x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ ldr x2, [x21, #0xD1FFAB1E]
cbnz x2, G_M19674_IG04
- ;; size=44 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M19674_IG03:
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x22, #0xD1FFAB1E]
+ ldr x15, [x21, #0xD1FFAB1E]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_2(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptor:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x22, #0xD1FFAB1E
+ add x14, x21, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=0.50 PerfScore 5.50
+ ;; size=60 bbWeight=0.50 PerfScore 6.00
G_M19674_IG04:
mov x1, x19
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x21, #8
+ add x14, x20, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x14, x19, #8
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[double]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x19, #0x18]
- ldr x20, [x22]
+ ldr x20, [x21]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x1, x19
mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DirectExportDescriptor:.ctor(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
- ;; size=180 bbWeight=1 PerfScore 36.50
+ ;; size=188 bbWeight=1 PerfScore 37.50
G_M19674_IG05:
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 312, prolog size 16, PerfScore 59.00, instruction count 78, allocated bytes for code 312 (MethodHash=20ebb325) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
+; Total bytes of code 324, prolog size 16, PerfScore 61.00, instruction count 81, allocated bytes for code 324 (MethodHash=20ebb325) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[double]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
12 (3.85 % of base) - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this
; Assembly listing for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[int]>
+; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[int]>
; V04 tmp2 [V04,T06] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp6 [V08,T09] ( 4, 3.50) ref -> x2
; V09 tmp7 [V09,T00] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositeActivator>
; V10 tmp8 [V10,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
-; V11 tmp9 [V11,T11] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]>
+; V11 tmp9 [V11,T10] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]>
; V12 tmp10 [V12,T07] ( 2, 4 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Object]>
; V13 tmp11 [V13,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.DirectExportDescriptor>
; V14 tmp12 [V14,T08] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V15 cse0 [V15,T05] ( 5, 4 ) long -> x22 "CSE #02: aggressive"
-; V16 cse1 [V16,T10] ( 4, 3.50) long -> x20 "CSE #01: aggressive"
+; V15 cse0 [V15,T05] ( 5, 4 ) long -> x21 "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M42556_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M42556_IG02:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x2, [x22, #0xD1FFAB1E]
+ mov x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ ldr x2, [x21, #0xD1FFAB1E]
cbnz x2, G_M42556_IG04
- ;; size=44 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M42556_IG03:
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x22, #0xD1FFAB1E]
+ ldr x15, [x21, #0xD1FFAB1E]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_2(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptor:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x22, #0xD1FFAB1E
+ add x14, x21, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=0.50 PerfScore 5.50
+ ;; size=60 bbWeight=0.50 PerfScore 6.00
G_M42556_IG04:
mov x1, x19
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x21, #8
+ add x14, x20, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x14, x19, #8
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[int]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x19, #0x18]
- ldr x20, [x22]
+ ldr x20, [x21]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x1, x19
mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DirectExportDescriptor:.ctor(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
- ;; size=180 bbWeight=1 PerfScore 36.50
+ ;; size=188 bbWeight=1 PerfScore 37.50
G_M42556_IG05:
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 312, prolog size 16, PerfScore 59.00, instruction count 78, allocated bytes for code 312 (MethodHash=20dd59c3) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
+; Total bytes of code 324, prolog size 16, PerfScore 61.00, instruction count 81, allocated bytes for code 324 (MethodHash=20dd59c3) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[int]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
12 (3.85 % of base) - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this
; Assembly listing for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[long]>
+; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[long]>
; V04 tmp2 [V04,T06] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp6 [V08,T09] ( 4, 3.50) ref -> x2
; V09 tmp7 [V09,T00] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositeActivator>
; V10 tmp8 [V10,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
-; V11 tmp9 [V11,T11] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]>
+; V11 tmp9 [V11,T10] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]>
; V12 tmp10 [V12,T07] ( 2, 4 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Object]>
; V13 tmp11 [V13,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.DirectExportDescriptor>
; V14 tmp12 [V14,T08] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V15 cse0 [V15,T05] ( 5, 4 ) long -> x22 "CSE #02: aggressive"
-; V16 cse1 [V16,T10] ( 4, 3.50) long -> x20 "CSE #01: aggressive"
+; V15 cse0 [V15,T05] ( 5, 4 ) long -> x21 "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M42277_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M42277_IG02:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x2, [x22, #0xD1FFAB1E]
+ mov x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ ldr x2, [x21, #0xD1FFAB1E]
cbnz x2, G_M42277_IG04
- ;; size=44 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M42277_IG03:
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x22, #0xD1FFAB1E]
+ ldr x15, [x21, #0xD1FFAB1E]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_2(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptor:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x22, #0xD1FFAB1E
+ add x14, x21, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=0.50 PerfScore 5.50
+ ;; size=60 bbWeight=0.50 PerfScore 6.00
G_M42277_IG04:
mov x1, x19
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x21, #8
+ add x14, x20, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x14, x19, #8
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[long]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x19, #0x18]
- ldr x20, [x22]
+ ldr x20, [x21]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x1, x19
mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DirectExportDescriptor:.ctor(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
- ;; size=180 bbWeight=1 PerfScore 36.50
+ ;; size=188 bbWeight=1 PerfScore 37.50
G_M42277_IG05:
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 312, prolog size 16, PerfScore 59.00, instruction count 78, allocated bytes for code 312 (MethodHash=38425ada) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
+; Total bytes of code 324, prolog size 16, PerfScore 61.00, instruction count 81, allocated bytes for code 324 (MethodHash=38425ada) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[long]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
12 (3.85 % of base) - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this
; Assembly listing for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Nullable`1[int]]>
+; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Nullable`1[int]]>
; V04 tmp2 [V04,T06] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp6 [V08,T09] ( 4, 3.50) ref -> x2
; V09 tmp7 [V09,T00] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositeActivator>
; V10 tmp8 [V10,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
-; V11 tmp9 [V11,T11] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]>
+; V11 tmp9 [V11,T10] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]>
; V12 tmp10 [V12,T07] ( 2, 4 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Object]>
; V13 tmp11 [V13,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.DirectExportDescriptor>
; V14 tmp12 [V14,T08] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V15 cse0 [V15,T05] ( 5, 4 ) long -> x22 "CSE #02: aggressive"
-; V16 cse1 [V16,T10] ( 4, 3.50) long -> x20 "CSE #01: aggressive"
+; V15 cse0 [V15,T05] ( 5, 4 ) long -> x21 "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M49873_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M49873_IG02:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x2, [x22, #0xD1FFAB1E]
+ mov x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ ldr x2, [x21, #0xD1FFAB1E]
cbnz x2, G_M49873_IG04
- ;; size=44 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M49873_IG03:
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x22, #0xD1FFAB1E]
+ ldr x15, [x21, #0xD1FFAB1E]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_2(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptor:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x22, #0xD1FFAB1E
+ add x14, x21, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=0.50 PerfScore 5.50
+ ;; size=60 bbWeight=0.50 PerfScore 6.00
G_M49873_IG04:
mov x1, x19
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x21, #8
+ add x14, x20, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x14, x19, #8
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x19, #0x18]
- ldr x20, [x22]
+ ldr x20, [x21]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x1, x19
mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DirectExportDescriptor:.ctor(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
- ;; size=180 bbWeight=1 PerfScore 36.50
+ ;; size=188 bbWeight=1 PerfScore 37.50
G_M49873_IG05:
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 312, prolog size 16, PerfScore 59.00, instruction count 78, allocated bytes for code 312 (MethodHash=4d563d2e) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
+; Total bytes of code 324, prolog size 16, PerfScore 61.00, instruction count 81, allocated bytes for code 324 (MethodHash=4d563d2e) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Nullable`1[int]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
12 (3.85 % of base) - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this
; Assembly listing for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 3 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Numerics.Vector`1[float]]>
+; V03 tmp1 [V03,T01] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Numerics.Vector`1[float]]>
; V04 tmp2 [V04,T06] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp6 [V08,T09] ( 4, 3.50) ref -> x2
; V09 tmp7 [V09,T00] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositeActivator>
; V10 tmp8 [V10,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptor]>
-; V11 tmp9 [V11,T11] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]>
+; V11 tmp9 [V11,T10] ( 2, 2 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]>
; V12 tmp10 [V12,T07] ( 2, 4 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyDictionary`2[System.String,System.Object]>
; V13 tmp11 [V13,T02] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.DirectExportDescriptor>
; V14 tmp12 [V14,T08] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V15 cse0 [V15,T05] ( 5, 4 ) long -> x22 "CSE #02: aggressive"
-; V16 cse1 [V16,T10] ( 4, 3.50) long -> x20 "CSE #01: aggressive"
+; V15 cse0 [V15,T05] ( 5, 4 ) long -> x21 "CSE #01: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M61356_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x10]
- stp x21, x22, [sp, #0x20]
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
mov x19, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M61356_IG02:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x2, [x22, #0xD1FFAB1E]
+ mov x20, x0
+ movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ ldr x2, [x21, #0xD1FFAB1E]
cbnz x2, G_M61356_IG04
- ;; size=44 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M61356_IG03:
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x22, #0xD1FFAB1E]
+ ldr x15, [x21, #0xD1FFAB1E]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_2(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptor:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x22, #0xD1FFAB1E
+ add x14, x21, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=0.50 PerfScore 5.50
+ ;; size=60 bbWeight=0.50 PerfScore 6.00
G_M61356_IG04:
mov x1, x19
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add x14, x21, #8
+ add x14, x20, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x14, x19, #8
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__DisplayClass3_1`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3(System.Composition.Hosting.Core.LifetimeContext,System.Composition.Hosting.Core.CompositionOperation):System.Object:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
str x0, [x19, #0x18]
- ldr x20, [x22]
+ ldr x20, [x21]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x1, x19
mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DirectExportDescriptor:.ctor(System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
- ;; size=180 bbWeight=1 PerfScore 36.50
+ ;; size=188 bbWeight=1 PerfScore 37.50
G_M61356_IG05:
- ldp x21, x22, [sp, #0x20]
- ldp x19, x20, [sp, #0x10]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 312, prolog size 16, PerfScore 59.00, instruction count 78, allocated bytes for code 312 (MethodHash=65371053) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
+; Total bytes of code 324, prolog size 16, PerfScore 61.00, instruction count 81, allocated bytes for code 324 (MethodHash=65371053) for method System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider+<>c__3`1[System.Numerics.Vector`1[float]]:<GetImportManyDescriptor>b__3_1(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
12 (1.87 % of base) - System.Net.Dns+<>c:b__33_0(System.Object,long):System.Net.IPAddress[]:this
; Assembly listing for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_0(System.Object,long):System.Net.IPAddress[]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Net.Dns+<>c>
; V01 arg1 [V01,T00] ( 13, 7.25) ref -> x19 class-hnd single-def <System.Object>
; V02 arg2 [V02,T01] ( 6, 4 ) long -> x20 single-def
-; V03 loc0 [V03,T14] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
+; V03 loc0 [V03,T15] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
;* V04 loc1 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,int]>
-; V05 loc2 [V05,T15] ( 3, 1.50) ref -> x0 class-hnd single-def <System.Net.IPAddress>
+; V05 loc2 [V05,T16] ( 3, 1.50) ref -> x0 class-hnd single-def <System.Net.IPAddress>
;* V06 loc3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Net.IPAddress,int]>
; V07 loc4 [V07,T06] ( 6, 3.50) ref -> x0 class-hnd <System.Net.IPAddress[]>
;# 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 "spilling qmarkNull" <System.String>
;* V10 tmp2 [V10 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
-;* V11 tmp3 [V11,T12] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V11 tmp3 [V11,T13] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
;* V12 tmp4 [V12 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
-;* V13 tmp5 [V13,T13] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V13 tmp5 [V13,T14] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
;* V14 tmp6 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Net.IPAddress>
;* V15 tmp7 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V17 tmp9 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.String>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V19 tmp11 [V19 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V20 tmp12 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V21 tmp13 [V21 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V22 tmp14 [V22 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V23 tmp15 [V23 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
; V24 tmp16 [V24,T21] ( 2, 1 ) ref -> x0 single-def "field V04.key (fldOffset=0x0)" P-INDEP
; V25 tmp17 [V25,T23] ( 2, 1 ) int -> x2 "field V04.value (fldOffset=0x8)" P-INDEP
; V26 tmp18 [V26,T22] ( 2, 1 ) ref -> x0 single-def "field V06.key (fldOffset=0x0)" P-INDEP
; V27 tmp19 [V27,T24] ( 2, 1 ) int -> x2 "field V06.value (fldOffset=0x8)" P-INDEP
-;* V28 tmp20 [V28,T30] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
+;* V28 tmp20 [V28,T29] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
; V29 tmp21 [V29,T25] ( 2, 1 ) long -> x4 "field V10.value (fldOffset=0x8)" P-INDEP
-;* V30 tmp22 [V30,T31] ( 0, 0 ) ubyte -> zero-ref "field V12.hasValue (fldOffset=0x0)" P-INDEP
+;* V30 tmp22 [V30,T30] ( 0, 0 ) ubyte -> zero-ref "field V12.hasValue (fldOffset=0x0)" P-INDEP
; V31 tmp23 [V31,T26] ( 2, 1 ) long -> x4 "field V12.value (fldOffset=0x8)" P-INDEP
-;* V32 tmp24 [V32,T32] ( 0, 0 ) ubyte -> zero-ref "field V15.hasValue (fldOffset=0x0)" P-INDEP
+;* V32 tmp24 [V32,T31] ( 0, 0 ) ubyte -> zero-ref "field V15.hasValue (fldOffset=0x0)" P-INDEP
; V33 tmp25 [V33,T27] ( 2, 1 ) long -> x4 "field V15.value (fldOffset=0x8)" P-INDEP
-;* V34 tmp26 [V34,T33] ( 0, 0 ) ubyte -> zero-ref "field V18.hasValue (fldOffset=0x0)" P-INDEP
+;* V34 tmp26 [V34,T32] ( 0, 0 ) ubyte -> zero-ref "field V18.hasValue (fldOffset=0x0)" P-INDEP
; V35 tmp27 [V35,T28] ( 2, 1 ) long -> x4 "field V18.value (fldOffset=0x8)" P-INDEP
;* V36 tmp28 [V36 ] ( 0, 0 ) ubyte -> zero-ref "field V20.hasValue (fldOffset=0x0)" P-INDEP
;* V37 tmp29 [V37 ] ( 0, 0 ) long -> zero-ref "field V20.value (fldOffset=0x8)" P-INDEP
;* V38 tmp30 [V38 ] ( 0, 0 ) ubyte -> zero-ref "field V21.hasValue (fldOffset=0x0)" P-INDEP
;* V39 tmp31 [V39 ] ( 0, 0 ) long -> zero-ref "field V21.value (fldOffset=0x8)" P-INDEP
;* V40 tmp32 [V40 ] ( 0, 0 ) ubyte -> zero-ref "field V22.hasValue (fldOffset=0x0)" P-INDEP
;* V41 tmp33 [V41 ] ( 0, 0 ) long -> zero-ref "field V22.value (fldOffset=0x8)" P-INDEP
;* V42 tmp34 [V42 ] ( 0, 0 ) ubyte -> zero-ref "field V23.hasValue (fldOffset=0x0)" P-INDEP
;* V43 tmp35 [V43 ] ( 0, 0 ) long -> zero-ref "field V23.value (fldOffset=0x8)" P-INDEP
; V44 tmp36 [V44,T07] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V45 tmp37 [V45,T08] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V46 tmp38 [V46,T09] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V47 tmp39 [V47,T10] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
-; V48 cse0 [V48,T11] ( 6, 1.75) long -> x21 multi-def "CSE #01: aggressive"
-; V49 cse1 [V49,T16] ( 4, 1.25) long -> x0 "CSE #02: moderate"
-; V50 cse2 [V50,T29] ( 2, 0.50) long -> x3 "CSE #03: moderate"
-; V51 rat0 [V51,T02] ( 5, 3.75) ref -> registers "replacement local"
-; V52 rat1 [V52,T17] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V53 rat2 [V53,T03] ( 5, 3.75) ref -> registers "replacement local"
-; V54 rat3 [V54,T18] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V55 rat4 [V55,T04] ( 5, 3.75) ref -> registers "replacement local"
-; V56 rat5 [V56,T19] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V57 rat6 [V57,T05] ( 5, 3.75) ref -> registers "replacement local"
-; V58 rat7 [V58,T20] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V48 cse0 [V48,T11] ( 6, 1.75) long -> x22 multi-def "CSE #02: aggressive"
+; V49 cse1 [V49,T12] ( 6, 1.75) long -> x21 multi-def "CSE #01: aggressive"
+; V50 rat0 [V50,T02] ( 5, 3.75) ref -> registers "replacement local"
+; V51 rat1 [V51,T17] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V52 rat2 [V52,T03] ( 5, 3.75) ref -> registers "replacement local"
+; V53 rat3 [V53,T18] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V54 rat4 [V54,T04] ( 5, 3.75) ref -> registers "replacement local"
+; V55 rat5 [V55,T19] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V56 rat6 [V56,T05] ( 5, 3.75) ref -> registers "replacement local"
+; V57 rat7 [V57,T20] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
;
-; Lcl frame size = 8
+; Lcl frame size = 0
G_M15912_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x18]
- str x21, [sp, #0x28]
+ stp x19, x20, [sp, #0x10]
+ stp x21, x22, [sp, #0x20]
mov fp, sp
mov x19, x1
mov x20, x2
;; size=24 bbWeight=1 PerfScore 4.50
G_M15912_IG02:
cbnz x19, G_M15912_IG06
;; size=4 bbWeight=1 PerfScore 1.00
G_M15912_IG03:
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M15912_IG17
cbnz x19, G_M15912_IG21
;; size=44 bbWeight=0.50 PerfScore 4.75
G_M15912_IG04:
mov x0, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M15912_IG05:
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
+ ldp x21, x22, [sp, #0x20]
+ ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 5.00
+ ;; size=16 bbWeight=1 PerfScore 4.00
G_M15912_IG06:
ldr x21, [x19]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
cmp x21, x3
beq G_M15912_IG08
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- cmp x21, x0
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ add x3, x22, #0xD1FFAB1E
+ cmp x21, x3
bne G_M15912_IG03
- ;; size=44 bbWeight=0.25 PerfScore 2.25
+ ;; size=48 bbWeight=0.25 PerfScore 2.38
G_M15912_IG07:
- cmp x21, x0
+ add x1, x22, #0xD1FFAB1E
+ cmp x21, x1
beq G_M15912_IG13
b G_M15912_IG12
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ ;; size=16 bbWeight=0.50 PerfScore 1.50
G_M15912_IG08:
mov x0, x19
mov x4, x20
mov w3, #1
mov w1, #1
mov w2, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.String,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M15912_IG11
;; size=48 bbWeight=0.50 PerfScore 4.75
G_M15912_IG09:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M15912_IG11
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M15912_IG10:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M15912_IG11:
mov x0, x2
b G_M15912_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M15912_IG12:
mov x1, x19
+ add x0, x22, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_UNBOX
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=24 bbWeight=0.25 PerfScore 1.50
+ ;; size=28 bbWeight=0.25 PerfScore 1.62
G_M15912_IG13:
ldr x0, [x19, #0x08]
ldr w2, [x19, #0x10]
mov x4, x20
mov w3, #1
mov w1, #1
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.String,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M15912_IG16
;; size=48 bbWeight=0.50 PerfScore 7.25
G_M15912_IG14:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M15912_IG16
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M15912_IG15:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M15912_IG16:
mov x0, x2
b G_M15912_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M15912_IG17:
mov x4, x20
mov w3, #1
mov w1, #1
mov w2, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.Net.IPAddress,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M15912_IG20
;; size=44 bbWeight=0.50 PerfScore 4.50
G_M15912_IG18:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M15912_IG20
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M15912_IG19:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M15912_IG20:
mov x0, x2
b G_M15912_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M15912_IG21:
ldr x21, [x19]
- movz x3, #0xD1FFAB1E
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- cmp x21, x3
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ cmp x21, x22
bne G_M15912_IG04
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M15912_IG22:
ldr x0, [x19, #0x08]
ldr w2, [x19, #0x10]
mov x4, x20
mov w3, #1
mov w1, #1
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.Net.IPAddress,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M15912_IG25
;; size=48 bbWeight=0.50 PerfScore 7.25
G_M15912_IG23:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M15912_IG25
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M15912_IG24:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M15912_IG25:
mov x0, x2
b G_M15912_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
-; Total bytes of code 640, prolog size 16, PerfScore 58.25, instruction count 160, allocated bytes for code 640 (MethodHash=6198c1d7) for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_0(System.Object,long):System.Net.IPAddress[]:this (FullOpts)
+; Total bytes of code 652, prolog size 16, PerfScore 57.75, instruction count 163, allocated bytes for code 652 (MethodHash=6198c1d7) for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_0(System.Object,long):System.Net.IPAddress[]:this (FullOpts)
12 (1.87 % of base) - System.Net.Dns+<>c:b__33_1(System.Object,long):System.Net.IPHostEntry:this
; Assembly listing for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_1(System.Object,long):System.Net.IPHostEntry:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <System.Net.Dns+<>c>
; V01 arg1 [V01,T00] ( 13, 7.25) ref -> x19 class-hnd single-def <System.Object>
; V02 arg2 [V02,T01] ( 6, 4 ) long -> x20 single-def
-; V03 loc0 [V03,T14] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
+; V03 loc0 [V03,T15] ( 2, 1 ) ref -> x0 class-hnd exact <System.String>
;* V04 loc1 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,int]>
-; V05 loc2 [V05,T15] ( 3, 1.50) ref -> x0 class-hnd single-def <System.Net.IPAddress>
+; V05 loc2 [V05,T16] ( 3, 1.50) ref -> x0 class-hnd single-def <System.Net.IPAddress>
;* V06 loc3 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Net.IPAddress,int]>
; V07 loc4 [V07,T06] ( 6, 3.50) ref -> x0 class-hnd <System.Net.IPHostEntry>
;# 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 "spilling qmarkNull" <System.String>
;* V10 tmp2 [V10 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
-;* V11 tmp3 [V11,T12] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V11 tmp3 [V11,T13] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
;* V12 tmp4 [V12 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
-;* V13 tmp5 [V13,T13] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
+;* V13 tmp5 [V13,T14] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
;* V14 tmp6 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Net.IPAddress>
;* V15 tmp7 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V16 tmp8 [V16 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V17 tmp9 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.String>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V19 tmp11 [V19 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V20 tmp12 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V21 tmp13 [V21 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V22 tmp14 [V22 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V23 tmp15 [V23 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
; V24 tmp16 [V24,T21] ( 2, 1 ) ref -> x0 single-def "field V04.key (fldOffset=0x0)" P-INDEP
; V25 tmp17 [V25,T23] ( 2, 1 ) int -> x2 "field V04.value (fldOffset=0x8)" P-INDEP
; V26 tmp18 [V26,T22] ( 2, 1 ) ref -> x0 single-def "field V06.key (fldOffset=0x0)" P-INDEP
; V27 tmp19 [V27,T24] ( 2, 1 ) int -> x2 "field V06.value (fldOffset=0x8)" P-INDEP
-;* V28 tmp20 [V28,T30] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
+;* V28 tmp20 [V28,T29] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
; V29 tmp21 [V29,T25] ( 2, 1 ) long -> x4 "field V10.value (fldOffset=0x8)" P-INDEP
-;* V30 tmp22 [V30,T31] ( 0, 0 ) ubyte -> zero-ref "field V12.hasValue (fldOffset=0x0)" P-INDEP
+;* V30 tmp22 [V30,T30] ( 0, 0 ) ubyte -> zero-ref "field V12.hasValue (fldOffset=0x0)" P-INDEP
; V31 tmp23 [V31,T26] ( 2, 1 ) long -> x4 "field V12.value (fldOffset=0x8)" P-INDEP
-;* V32 tmp24 [V32,T32] ( 0, 0 ) ubyte -> zero-ref "field V15.hasValue (fldOffset=0x0)" P-INDEP
+;* V32 tmp24 [V32,T31] ( 0, 0 ) ubyte -> zero-ref "field V15.hasValue (fldOffset=0x0)" P-INDEP
; V33 tmp25 [V33,T27] ( 2, 1 ) long -> x4 "field V15.value (fldOffset=0x8)" P-INDEP
-;* V34 tmp26 [V34,T33] ( 0, 0 ) ubyte -> zero-ref "field V18.hasValue (fldOffset=0x0)" P-INDEP
+;* V34 tmp26 [V34,T32] ( 0, 0 ) ubyte -> zero-ref "field V18.hasValue (fldOffset=0x0)" P-INDEP
; V35 tmp27 [V35,T28] ( 2, 1 ) long -> x4 "field V18.value (fldOffset=0x8)" P-INDEP
;* V36 tmp28 [V36 ] ( 0, 0 ) ubyte -> zero-ref "field V20.hasValue (fldOffset=0x0)" P-INDEP
;* V37 tmp29 [V37 ] ( 0, 0 ) long -> zero-ref "field V20.value (fldOffset=0x8)" P-INDEP
;* V38 tmp30 [V38 ] ( 0, 0 ) ubyte -> zero-ref "field V21.hasValue (fldOffset=0x0)" P-INDEP
;* V39 tmp31 [V39 ] ( 0, 0 ) long -> zero-ref "field V21.value (fldOffset=0x8)" P-INDEP
;* V40 tmp32 [V40 ] ( 0, 0 ) ubyte -> zero-ref "field V22.hasValue (fldOffset=0x0)" P-INDEP
;* V41 tmp33 [V41 ] ( 0, 0 ) long -> zero-ref "field V22.value (fldOffset=0x8)" P-INDEP
;* V42 tmp34 [V42 ] ( 0, 0 ) ubyte -> zero-ref "field V23.hasValue (fldOffset=0x0)" P-INDEP
;* V43 tmp35 [V43 ] ( 0, 0 ) long -> zero-ref "field V23.value (fldOffset=0x8)" P-INDEP
; V44 tmp36 [V44,T07] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V45 tmp37 [V45,T08] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V46 tmp38 [V46,T09] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V47 tmp39 [V47,T10] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
-; V48 cse0 [V48,T11] ( 6, 1.75) long -> x21 multi-def "CSE #01: aggressive"
-; V49 cse1 [V49,T16] ( 4, 1.25) long -> x0 "CSE #02: moderate"
-; V50 cse2 [V50,T29] ( 2, 0.50) long -> x3 "CSE #03: moderate"
-; V51 rat0 [V51,T02] ( 5, 3.75) ref -> registers "replacement local"
-; V52 rat1 [V52,T17] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V53 rat2 [V53,T03] ( 5, 3.75) ref -> registers "replacement local"
-; V54 rat3 [V54,T18] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V55 rat4 [V55,T04] ( 5, 3.75) ref -> registers "replacement local"
-; V56 rat5 [V56,T19] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
-; V57 rat6 [V57,T05] ( 5, 3.75) ref -> registers "replacement local"
-; V58 rat7 [V58,T20] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V48 cse0 [V48,T11] ( 6, 1.75) long -> x22 multi-def "CSE #02: aggressive"
+; V49 cse1 [V49,T12] ( 6, 1.75) long -> x21 multi-def "CSE #01: aggressive"
+; V50 rat0 [V50,T02] ( 5, 3.75) ref -> registers "replacement local"
+; V51 rat1 [V51,T17] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V52 rat2 [V52,T03] ( 5, 3.75) ref -> registers "replacement local"
+; V53 rat3 [V53,T18] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V54 rat4 [V54,T04] ( 5, 3.75) ref -> registers "replacement local"
+; V55 rat5 [V55,T19] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
+; V56 rat6 [V56,T05] ( 5, 3.75) ref -> registers "replacement local"
+; V57 rat7 [V57,T20] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
;
-; Lcl frame size = 8
+; Lcl frame size = 0
G_M22701_IG01:
stp fp, lr, [sp, #-0x30]!
- stp x19, x20, [sp, #0x18]
- str x21, [sp, #0x28]
+ stp x19, x20, [sp, #0x10]
+ stp x21, x22, [sp, #0x20]
mov fp, sp
mov x19, x1
mov x20, x2
;; size=24 bbWeight=1 PerfScore 4.50
G_M22701_IG02:
cbnz x19, G_M22701_IG06
;; size=4 bbWeight=1 PerfScore 1.00
G_M22701_IG03:
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M22701_IG17
cbnz x19, G_M22701_IG21
;; size=44 bbWeight=0.50 PerfScore 4.75
G_M22701_IG04:
mov x0, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22701_IG05:
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
+ ldp x21, x22, [sp, #0x20]
+ ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x30
ret lr
- ;; size=16 bbWeight=1 PerfScore 5.00
+ ;; size=16 bbWeight=1 PerfScore 4.00
G_M22701_IG06:
ldr x21, [x19]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
cmp x21, x3
beq G_M22701_IG08
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- cmp x21, x0
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ add x3, x22, #0xD1FFAB1E
+ cmp x21, x3
bne G_M22701_IG03
- ;; size=44 bbWeight=0.25 PerfScore 2.25
+ ;; size=48 bbWeight=0.25 PerfScore 2.38
G_M22701_IG07:
- cmp x21, x0
+ add x1, x22, #0xD1FFAB1E
+ cmp x21, x1
beq G_M22701_IG13
b G_M22701_IG12
- ;; size=12 bbWeight=0.50 PerfScore 1.25
+ ;; size=16 bbWeight=0.50 PerfScore 1.50
G_M22701_IG08:
mov x0, x19
mov x4, x20
mov w3, #1
mov w1, wzr
mov w2, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.String,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M22701_IG11
;; size=48 bbWeight=0.50 PerfScore 4.75
G_M22701_IG09:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M22701_IG11
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M22701_IG10:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M22701_IG11:
mov x0, x2
b G_M22701_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M22701_IG12:
mov x1, x19
+ add x0, x22, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_UNBOX
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=24 bbWeight=0.25 PerfScore 1.50
+ ;; size=28 bbWeight=0.25 PerfScore 1.62
G_M22701_IG13:
ldr x0, [x19, #0x08]
ldr w2, [x19, #0x10]
mov x4, x20
mov w3, #1
mov w1, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.String,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M22701_IG16
;; size=48 bbWeight=0.50 PerfScore 7.25
G_M22701_IG14:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M22701_IG16
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M22701_IG15:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M22701_IG16:
mov x0, x2
b G_M22701_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M22701_IG17:
mov x4, x20
mov w3, #1
mov w1, wzr
mov w2, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.Net.IPAddress,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M22701_IG20
;; size=44 bbWeight=0.50 PerfScore 4.50
G_M22701_IG18:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M22701_IG20
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M22701_IG19:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M22701_IG20:
mov x0, x2
b G_M22701_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M22701_IG21:
ldr x21, [x19]
- movz x3, #0xD1FFAB1E
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- cmp x21, x3
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ cmp x21, x22
bne G_M22701_IG04
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M22701_IG22:
ldr x0, [x19, #0x08]
ldr w2, [x19, #0x10]
mov x4, x20
mov w3, #1
mov w1, wzr
movz x5, #0xD1FFAB1E // code for System.Net.Dns:GetHostEntryOrAddressesCore(System.Net.IPAddress,ubyte,int,System.Nullable`1[long]):System.Object
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
cbz x2, G_M22701_IG25
;; size=48 bbWeight=0.50 PerfScore 7.25
G_M22701_IG23:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M22701_IG25
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M22701_IG24:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M22701_IG25:
mov x0, x2
b G_M22701_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
-; Total bytes of code 640, prolog size 16, PerfScore 58.25, instruction count 160, allocated bytes for code 640 (MethodHash=1d20a752) for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_1(System.Object,long):System.Net.IPHostEntry:this (FullOpts)
+; Total bytes of code 652, prolog size 16, PerfScore 57.75, instruction count 163, allocated bytes for code 652 (MethodHash=1d20a752) for method System.Net.Dns+<>c:<GetHostEntryOrAddressesCoreAsync>b__33_1(System.Object,long):System.Net.IPHostEntry:this (FullOpts)
12 (0.32 % of base) - System.Resources.ResourceWriter:Generate():this
; Assembly listing for method System.Resources.ResourceWriter:Generate():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; 84 single block inlinees; 22 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T19] ( 12, 14 ) ref -> x19 this class-hnd single-def <System.Resources.ResourceWriter>
; V01 loc0 [V01,T02] ( 24, 47 ) ref -> x21 class-hnd exact single-def <System.IO.BinaryWriter>
; V02 loc1 [V02,T44] ( 4, 7 ) ref -> x20 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.IO.MemoryStream>
; V04 loc3 [V04,T48] ( 7, 6 ) int -> x23
; V05 loc4 [V05,T27] ( 6, 12 ) ref -> x24 class-hnd exact single-def <int[]>
; V06 loc5 [V06,T34] ( 5, 11 ) ref -> x25 class-hnd exact single-def <int[]>
; V07 loc6 [V07,T17] ( 5, 17 ) int -> [fp+0x124]
; V08 loc7 [V08,T47] ( 9, 6.50) ref -> x27 class-hnd exact single-def <System.IO.MemoryStream>
; V09 loc8 [V09,T20] ( 8, 16 ) ref -> x23 class-hnd exact single-def <System.IO.BinaryWriter>
; V10 loc9 [V10,T49] ( 6, 6 ) ref -> x28 class-hnd exact single-def <System.IO.MemoryStream>
; V11 loc10 [V11,T70] ( 9, 4 ) ref -> [fp+0x40] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
; V12 loc11 [V12,T15] ( 9, 20 ) ref -> x22 class-hnd exact single-def <System.IO.BinaryWriter>
; V13 loc12 [V13,T94] ( 3, 2.50) int -> x1
;* V14 loc13 [V14 ] ( 0, 0 ) int -> zero-ref
; V15 loc14 [V15 ] ( 8, 14.50) struct (40) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.ResourceWriter+PrecannedResource]>
;* V16 loc15 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
; V17 loc16 [V17 ] ( 5, 16 ) struct (40) [fp+0xD0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
;* V18 loc17 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V19 loc18 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Object>
; V20 loc19 [V20,T32] ( 3, 12 ) int -> x26
; V21 loc20 [V21,T38] ( 2, 8 ) ref -> x3 class-hnd exact <System.Resources.ResourceWriter+PrecannedResource>
;* V22 loc21 [V22 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
;* V23 loc22 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
; V24 loc23 [V24,T13] ( 6, 20.50) int -> x20
; V25 loc24 [V25,T16] ( 8, 20 ) ref -> x24 class-hnd <int[]>
; V26 loc25 [V26,T03] ( 10, 34 ) int -> x20
;* V27 loc26 [V27 ] ( 0, 0 ) int -> zero-ref
;* V28 loc27 [V28 ] ( 0, 0 ) int -> zero-ref
;# V29 OutArgs [V29 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V30 tmp1 [V30,T35] ( 5, 10 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.IO.Stream>
; V31 tmp2 [V31,T28] ( 6, 12 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
; V32 tmp3 [V32,T51] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
; V33 tmp4 [V33,T14] ( 10, 20 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
; V34 tmp5 [V34,T21] ( 8, 16 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
;* V35 tmp6 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
; V36 tmp7 [V36,T52] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
; V37 tmp8 [V37,T53] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
; V38 tmp9 [V38,T54] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
; V39 tmp10 [V39,T55] ( 3, 6 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
; V40 tmp11 [V40,T24] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
; V41 tmp12 [V41,T05] ( 4, 32 ) int -> x26 "impSpillLclRefs"
; V42 tmp13 [V42,T25] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
;* V43 tmp14 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Resources.ResourceWriter+PrecannedResource>
;* V44 tmp15 [V44 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V45 tmp16 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
; V46 tmp17 [V46,T07] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
;* V47 tmp18 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
; V48 tmp19 [V48,T106] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
; V49 tmp20 [V49,T45] ( 4, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V50 tmp21 [V50 ] ( 0, 0 ) ref -> zero-ref
;* V51 tmp22 [V51 ] ( 0, 0 ) ref -> zero-ref single-def
; V52 tmp23 [V52,T95] ( 3, 2 ) int -> x0
; V53 tmp24 [V53,T107] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
; V54 tmp25 [V54,T46] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V55 tmp26 [V55 ] ( 0, 0 ) ref -> zero-ref
;* V56 tmp27 [V56 ] ( 0, 0 ) ref -> zero-ref single-def
; V57 tmp28 [V57,T96] ( 3, 2 ) int -> x0
; V58 tmp29 [V58,T108] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V59 tmp30 [V59 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V60 tmp31 [V60 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V61 tmp32 [V61 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
; V62 tmp33 [V62,T72] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
; V63 tmp34 [V63,T84] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
;* V64 tmp35 [V64 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Text.UnicodeEncoding>
;* V65 tmp36 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
; V66 tmp37 [V66,T85] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
; V67 tmp38 [V67,T98] ( 2, 2 ) struct (40) [fp+0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.ResourceWriter+PrecannedResource]>
;* V68 tmp39 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.__Canon>
;* V69 tmp40 [V69 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
; V70 tmp41 [V70,T23] ( 2, 16 ) ref -> x0 class-hnd exact "impAppendStmt" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
;* V71 tmp42 [V71 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
; V72 tmp43 [V72,T73] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
; V73 tmp44 [V73,T77] ( 2, 4 ) struct (40) [fp+0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
; V74 tmp45 [V74,T36] ( 5, 10 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
; V75 tmp46 [V75 ] ( 8, 16 ) struct (32) [fp+0x60] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
; V76 tmp47 [V76,T56] ( 3, 6 ) ref -> [fp+0x30] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]]>
;* V77 tmp48 [V77 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V78 tmp49 [V78,T99] ( 2, 2 ) int -> [fp+0x5C] spill-single-def "Inline return value spill temp"
;* V79 tmp50 [V79 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V80 tmp51 [V80,T50] ( 4, 6 ) int -> [fp+0x58] spill-single-def "Inlining Arg"
;* V81 tmp52 [V81 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V82 tmp53 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V83 tmp54 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
;* V84 tmp55 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
; V85 tmp56 [V85,T22] ( 4, 16 ) ref -> x1 class-hnd "Inline stloc first use temp" <ubyte[]>
;* V86 tmp57 [V86 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
;* V87 tmp58 [V87,T18] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V88 tmp59 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.String]>
;* V89 tmp60 [V89 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V90 tmp61 [V90 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V91 tmp62 [V91,T74] ( 2, 4 ) ref -> x27 class-hnd single-def "Inlining Arg" <System.IO.Stream>
; V92 tmp63 [V92,T30] ( 3, 12 ) ref -> x1 "field V16.key (fldOffset=0x0)" P-INDEP
; V93 tmp64 [V93,T41] ( 2, 8 ) ref -> x2 "field V16.value (fldOffset=0x8)" P-INDEP
;* V94 tmp65 [V94 ] ( 0, 0 ) ref -> zero-ref "field V18.key (fldOffset=0x0)" P-INDEP
;* V95 tmp66 [V95 ] ( 0, 0 ) ref -> zero-ref "field V18.value (fldOffset=0x8)" P-INDEP
; V96 tmp67 [V96,T06] ( 4, 29 ) ref -> x20 single-def "field V22._list (fldOffset=0x0)" P-INDEP
; V97 tmp68 [V97,T04] ( 2, 32 ) ref -> x1 "field V22._current (fldOffset=0x8)" P-INDEP
; V98 tmp69 [V98,T01] ( 6, 69 ) int -> [fp+0x54] "field V22._index (fldOffset=0x10)" P-INDEP
; V99 tmp70 [V99,T40] ( 2, 9 ) int -> x26 "field V22._version (fldOffset=0x14)" P-INDEP
; V100 tmp71 [V100,T42] ( 2, 8 ) ref -> x1 "field V69.key (fldOffset=0x0)" P-INDEP
; V101 tmp72 [V101,T43] ( 2, 8 ) ref -> x2 "field V69.value (fldOffset=0x8)" P-INDEP
;* V102 tmp73 [V102 ] ( 0, 0 ) ref -> zero-ref "field V71.key (fldOffset=0x0)" P-INDEP
;* V103 tmp74 [V103 ] ( 0, 0 ) ref -> zero-ref "field V71.value (fldOffset=0x8)" P-INDEP
; V104 tmp75 [V104,T29] ( 4, 12 ) ref -> [fp+0x28] "field V81.key (fldOffset=0x0)" P-INDEP
; V105 tmp76 [V105,T12] ( 7, 21 ) ref -> [fp+0x20] "field V81.value (fldOffset=0x8)" P-INDEP
;* V106 tmp77 [V106 ] ( 0, 0 ) ref -> zero-ref "field V82.key (fldOffset=0x0)" P-INDEP
;* V107 tmp78 [V107 ] ( 0, 0 ) ref -> zero-ref "field V82.value (fldOffset=0x8)" P-INDEP
; V108 tmp79 [V108,T86] ( 3, 3 ) ref -> x20 single-def "field V86._list (fldOffset=0x0)" P-INDEP
;* V109 tmp80 [V109 ] ( 0, 0 ) ref -> zero-ref single-def "field V86._current (fldOffset=0x8)" P-INDEP
;* V110 tmp81 [V110,T104] ( 0, 0 ) int -> zero-ref "field V86._index (fldOffset=0x10)" P-INDEP
; V111 tmp82 [V111,T100] ( 2, 2 ) int -> x26 "field V86._version (fldOffset=0x14)" P-INDEP
;* V112 tmp83 [V112 ] ( 0, 0 ) ref -> zero-ref single-def "V67.[000..008)"
; V113 tmp84 [V113,T102] ( 2, 1 ) int -> x1 "V67.[008..012)"
;* V114 tmp85 [V114 ] ( 0, 0 ) int -> zero-ref "V67.[012..016)"
;* V115 tmp86 [V115 ] ( 0, 0 ) int -> zero-ref "V67.[016..020)"
;* V116 tmp87 [V116 ] ( 0, 0 ) int -> zero-ref "V73.[000..004)"
; V117 tmp88 [V117,T87] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V118 tmp89 [V118,T78] ( 2, 4 ) int -> x1 "argument with side effect"
; V119 tmp90 [V119,T79] ( 2, 4 ) int -> x1 "argument with side effect"
; V120 tmp91 [V120,T109] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V121 tmp92 [V121,T88] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V122 tmp93 [V122,T57] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V123 tmp94 [V123,T80] ( 2, 4 ) int -> x1 "argument with side effect"
; V124 tmp95 [V124,T58] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V125 tmp96 [V125,T81] ( 2, 4 ) int -> x2 "argument with side effect"
; V126 tmp97 [V126,T75] ( 2, 4 ) ref -> x24 single-def "argument with side effect"
; V127 tmp98 [V127,T76] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V128 tmp99 [V128,T110] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V129 tmp100 [V129,T31] ( 3, 12 ) ref -> x0 "BlockOp address local"
; V130 tmp101 [V130,T08] ( 3, 24 ) ref -> x0 "argument with side effect"
; V131 tmp102 [V131,T09] ( 3, 24 ) ref -> x0 "argument with side effect"
; V132 tmp103 [V132,T26] ( 2, 16 ) int -> x1 "argument with side effect"
; V133 tmp104 [V133,T10] ( 3, 24 ) ref -> x0 "argument with side effect"
; V134 tmp105 [V134,T00] ( 3, 96 ) ref -> x0 "arr expr"
; V135 tmp106 [V135,T59] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V136 tmp107 [V136,T60] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V137 tmp108 [V137,T61] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V138 tmp109 [V138,T62] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V139 tmp110 [V139,T63] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V140 tmp111 [V140,T64] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V141 tmp112 [V141,T65] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V142 tmp113 [V142,T82] ( 2, 4 ) int -> x1 "argument with side effect"
; V143 tmp114 [V143,T89] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V144 tmp115 [V144,T101] ( 2, 2 ) int -> x2 "argument with side effect"
; V145 tmp116 [V145,T97] ( 2, 2 ) ref -> x25 single-def "argument with side effect"
; V146 tmp117 [V146,T90] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V147 tmp118 [V147,T91] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V148 tmp119 [V148,T66] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V149 tmp120 [V149,T83] ( 2, 4 ) int -> x2 "argument with side effect"
; V150 tmp121 [V150,T92] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V151 tmp122 [V151,T93] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V152 tmp123 [V152,T67] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V153 tmp124 [V153,T111] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V154 tmp125 [V154,T112] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V155 PSPSym [V155,T105] ( 1, 1 ) long -> [fp+0x128] do-not-enreg[V] "PSPSym"
; V156 cse0 [V156,T33] ( 3, 12 ) int -> x1 "CSE #26: moderate"
;* V157 cse1 [V157,T103] ( 0, 0 ) byref -> zero-ref "CSE #04: conservative"
-; V158 cse2 [V158,T69] ( 2, 4.25) byref -> [fp+0x18] spill-single-def hoist "CSE #28: conservative"
-; V159 cse3 [V159,T71] ( 4, 4 ) ref -> x22 "CSE #07: conservative"
+; V158 cse2 [V158,T71] ( 4, 4 ) ref -> x22 "CSE #07: conservative"
+; V159 cse3 [V159,T69] ( 2, 4.25) byref -> [fp+0x18] spill-single-def hoist "CSE #28: conservative"
; V160 cse4 [V160,T68] ( 3, 5 ) int -> x26 "CSE #23: conservative"
; V161 cse5 [V161,T39] ( 2, 8 ) int -> x0 "CSE #20: moderate"
; V162 cse6 [V162,T37] ( 3, 10 ) long -> [fp+0x48] spill-single-def "CSE #16: moderate"
; V163 rat0 [V163,T11] ( 3, 24 ) int -> x1 "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 int -> [fp+0x14]
;
; Lcl frame size = 288
G_M22543_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD1FFAB1E]
stp x21, x22, [sp, #0xD1FFAB1E]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
movi v16.16b, #0
add x9, fp, #64
mov x10, #128
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]!
subs x10, x10, #64
bge pc-16 (-4 instructions)
add x1, sp, #0xD1FFAB1E
str x1, [fp, #0xD1FFAB1E] // [V155 PSPSym]
mov x19, x0
;; size=68 bbWeight=1 PerfScore 13.50
G_M22543_IG02:
ldr x0, [x19, #0x10]
cbz x0, G_M22543_IG69
ldr x20, [x19, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
mov x23, x22
cbz x20, G_M22543_IG68
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cbz w0, G_M22543_IG67
add x14, x21, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x21, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x21, #0x18]
ldr w0, [x23, #0x20]
mov w1, #0xD1FFAB1E
cmp w0, w1
bne G_M22543_IG04
- ;; size=120 bbWeight=1 PerfScore 37.00
+ ;; size=124 bbWeight=1 PerfScore 37.50
G_M22543_IG03:
ldr x0, [x23, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M22543_IG05
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M22543_IG04:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22543_IG05:
strb w0, [x21, #0x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M22543_IG62
;; size=44 bbWeight=1 PerfScore 9.50
G_M22543_IG06:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.String]:s_emptyArray
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x20, #8
bl CORINFO_HELP_ASSIGN_REF
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M22543_IG63
- ;; size=40 bbWeight=1 PerfScore 11.00
+ ;; size=44 bbWeight=1 PerfScore 11.50
G_M22543_IG07:
movz x1, #0xD1FFAB1E // data for System.Resources.ResourceManager:MagicNumber
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x1, #0xD1FFAB1E // data for System.Resources.ResourceManager:HeaderVersionNumber
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
mov w1, #240
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov x0, x22
ldrb w14, [x23, #0x29]
cbz w14, G_M22543_IG66
add x14, x24, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x24, #0x18]
ldr w1, [x0, #0x20]
mov w2, #0xD1FFAB1E
cmp w1, w2
bne G_M22543_IG09
;; size=200 bbWeight=1 PerfScore 47.50
G_M22543_IG08:
ldr x0, [x0, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M22543_IG10
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M22543_IG09:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22543_IG10:
strb w0, [x24, #0x19]
mov x0, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x24, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
mov x0, x23
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w1, w0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldrb w2, [x23, #0x2B]
cbz w2, G_M22543_IG65
ldr w2, [x23, #0x18]
mov x0, x23
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x24, [x21, #0x08]
mov x0, x23
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w2, w0
mov x1, x24
mov x0, x23
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
mov w1, #2
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x10]
ldr x0, [x0, #0x18]
ldr w23, [x0, #0x20]
ldr x0, [x19, #0x28]
cbz x0, G_M22543_IG12
;; size=316 bbWeight=1 PerfScore 103.50
G_M22543_IG11:
ldr x0, [x19, #0x28]
ldr w1, [x0, #0x38]
ldr w0, [x0, #0x40]
sub w0, w1, w0
add w23, w0, w23
;; size=20 bbWeight=0.50 PerfScore 5.00
G_M22543_IG12:
mov x0, x21
mov w1, w23
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
sxtw x1, w23
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
mov x24, x0
sxtw x1, w23
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
mov x25, x0
mov w26, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
mov w1, #40
mul w1, w23, w1
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr w2, [x2]
tbz w2, #0, G_M22543_IG64
;; size=172 bbWeight=1 PerfScore 34.00
G_M22543_IG13:
movz x2, #0xD1FFAB1E // data for System.Text.UnicodeEncoding:s_littleEndianDefault
+ movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
mov x1, x27
mov x0, x23
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x28, x0
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x28, [fp, #0x40] // [V11 loc10]
- ;; size=92 bbWeight=1 PerfScore 21.00
+ ;; size=96 bbWeight=1 PerfScore 21.50
G_M22543_IG14:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x4, x0
str x4, [fp, #0x38] // [V39 tmp10]
mov x2, x22
mov x0, x4
mov x1, x28
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x22, [fp, #0x38] // [V39 tmp10]
ldr x0, [x19, #0x28]
cbz x0, G_M22543_IG20
;; size=72 bbWeight=1 PerfScore 17.50
G_M22543_IG15:
ldr x0, [x19, #0x28]
ldr w1, [x0, #0x44]
stp xzr, xzr, [fp, #0xC0]
;; size=12 bbWeight=0.50 PerfScore 3.50
G_M22543_IG16:
ldr x2, [fp, #0xA8]
str x2, [fp, #0xF8]
ldp q16, q17, [fp, #0xB0]
stp q16, q17, [fp, #0xD1FFAB1E]
;; size=16 bbWeight=0.50 PerfScore 3.00
G_M22543_IG17:
str x0, [fp, #0xF8] // [V15 loc14]
str w1, [fp, #0xD1FFAB1E] // [V15 loc14+0x08]
str wzr, [fp, #0xD1FFAB1E] // [V15 loc14+0x0c]
mov w0, #2
str w0, [fp, #0xD1FFAB1E] // [V15 loc14+0x10]
b G_M22543_IG19
;; size=24 bbWeight=0.50 PerfScore 2.75
G_M22543_IG18:
ldr x0, [x0, #0x18]
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:AddIfNotPresent(System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]):ubyte:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
;; size=28 bbWeight=4 PerfScore 46.00
G_M22543_IG19:
add x0, fp, #248 // [V15 loc14]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M22543_IG21
;; size=40 bbWeight=4 PerfScore 34.00
G_M22543_IG20:
ldr x0, [x19, #0x10]
ldr x0, [x0, #0x18]
ldrsb wzr, [x0]
stp xzr, xzr, [fp, #0x60]
stp xzr, xzr, [fp, #0x70]
str x0, [fp, #0x60] // [V75 tmp46]
ldr w1, [x0, #0x24]
str w1, [fp, #0x78] // [V75 tmp46+0x18]
ldr w0, [x0, #0x20]
add w0, w0, #1
orr w0, w0, #1
clz w0, w0
eor w1, w0, #31
str w1, [fp, #0x5C] // [V78 tmp49]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x30] // [V76 tmp47]
ldr w1, [fp, #0x5C] // [V78 tmp49]
lsl w4, w1, #1
str w4, [fp, #0x58] // [V80 tmp51]
tbz w4, #31, G_M22543_IG22
b G_M22543_IG59
;; size=96 bbWeight=1 PerfScore 31.50
G_M22543_IG21:
ldp x1, x2, [fp, #0xD1FFAB1E] // [V15 loc14+0x18], [V15 loc14+0x20]
ldr x0, [x19, #0x10]
ldrsb wzr, [x0]
cbnz x1, G_M22543_IG18
b G_M22543_IG54
;; size=20 bbWeight=4 PerfScore 44.00
G_M22543_IG22:
sxtw x1, w4
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
ldr x1, [fp, #0x30] // [V76 tmp47]
add x14, x1, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
stp x1, xzr, [fp, #0x68] // [V75 tmp46+0x08], [V75 tmp46+0x10]
strb wzr, [fp, #0x7C] // [V75 tmp46+0x1c]
add x0, fp, #96 // [V75 tmp46]
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [fp, #0x48] // [V162 cse6]
mov x1, x2
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Initialize():this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=88 bbWeight=1 PerfScore 18.00
G_M22543_IG23:
ldp x0, x1, [fp, #0x60]
stp x0, x1, [fp, #0x88]
ldp x0, x1, [fp, #0x70]
stp x0, x1, [fp, #0x98]
;; size=16 bbWeight=1 PerfScore 8.00
G_M22543_IG24:
ldp q16, q17, [fp, #0x80]
stp q16, q17, [fp, #0xD0]
ldr x0, [fp, #0xA0]
str x0, [fp, #0xF0]
;; size=16 bbWeight=1 PerfScore 6.00
G_M22543_IG25:
mov w0, #1
str w0, [fp, #0xD0] // [V17 loc16]
b G_M22543_IG27
;; size=12 bbWeight=1 PerfScore 2.50
G_M22543_IG26:
mov w0, w26
mov x1, x3
mov x2, x22
movz x3, #0xD1FFAB1E // code for System.Resources.ResourceWriter:WriteValue(int,System.Object,System.IO.BinaryWriter)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr w26, [fp, #0xD1FFAB1E] // [V07 loc6]
;; size=36 bbWeight=4 PerfScore 36.00
G_M22543_IG27:
add x0, fp, #216 // [V17 loc16+0x08]
ldr x1, [fp, #0x48] // [V162 cse6]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M22543_IG32
;; size=32 bbWeight=8 PerfScore 72.00
G_M22543_IG28:
ldr w1, [x20, #0x10]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr w26, [x20, #0x14]
mov w2, wzr
b G_M22543_IG30
;; size=40 bbWeight=1 PerfScore 13.50
G_M22543_IG29:
ldr x0, [x20, #0x08]
ldr w1, [x0, #0x08]
cmp w2, w1
bhs G_M22543_IG57
add x0, x0, #16
ldr x1, [x0, w2, UXTW #3]
add w2, w2, #1
str w2, [fp, #0x54] // [V98 tmp69]
mov x0, x21
movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr w2, [fp, #0x54] // [V98 tmp69]
;; size=60 bbWeight=16 PerfScore 328.00
G_M22543_IG30:
ldr w0, [x20, #0x14]
cmp w26, w0
bne G_M22543_IG56
;; size=12 bbWeight=8 PerfScore 36.00
G_M22543_IG31:
ldr w0, [x20, #0x10]
cmp w2, w0
bhs G_M22543_IG38
b G_M22543_IG29
;; size=16 bbWeight=4 PerfScore 22.00
G_M22543_IG32:
ldr x0, [fp, #0xE8] // [V17 loc16+0x18]
cbz x0, G_M22543_IG34
;; size=8 bbWeight=4 PerfScore 12.00
G_M22543_IG33:
ldr x0, [fp, #0xE8] // [V17 loc16+0x18]
ldp x1, x2, [x0, #0x20]
str x2, [fp, #0x20] // [V105 tmp76]
b G_M22543_IG35
;; size=16 bbWeight=2 PerfScore 16.00
G_M22543_IG34:
mov x1, xzr
str xzr, [fp, #0x20] // [V105 tmp76]
;; size=8 bbWeight=2 PerfScore 3.00
G_M22543_IG35:
str x1, [fp, #0x28] // [V104 tmp75]
mov x0, x1
movz x3, #0xD1FFAB1E // code for System.Resources.FastResourceComparer:HashFunction(System.String):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr w1, [x24, #0x08]
cmp w26, w1
bhs G_M22543_IG57
add x1, x24, #16
str w0, [x1, w26, UXTW #2]
add w0, w26, #1
str w0, [fp, #0xD1FFAB1E] // [V07 loc6]
ldr x0, [x23, #0x08]
mov x1, xzr
mov w2, #1
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4, #0x08]
blr x4
ldr w1, [x25, #0x08]
cmp w26, w1
bhs G_M22543_IG57
add x1, x25, #16
str w0, [x1, w26, UXTW #2]
mov x0, x23
ldr x1, [fp, #0x28] // [V104 tmp75]
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x22, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
mov w1, w0
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [fp, #0x20] // [V105 tmp76]
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Resources.ResourceWriter:FindTypeCode(System.Object,System.Collections.Generic.List`1[System.String]):int
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
sxtw w26, w0
mov x0, x22
mov w1, w26
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write7BitEncodedInt(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x3, [fp, #0x20] // [V105 tmp76]
cbz x3, G_M22543_IG26
;; size=256 bbWeight=4 PerfScore 324.00
G_M22543_IG36:
ldr x0, [x3]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
bne G_M22543_IG26
;; size=24 bbWeight=1 PerfScore 6.00
G_M22543_IG37:
ldr x1, [x3, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
cbz x1, G_M22543_IG55
ldr x0, [x22, #0x08]
ldr w3, [x1, #0x08]
mov w2, wzr
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4, #0x30]
blr x4
ldr w26, [fp, #0xD1FFAB1E] // [V07 loc6]
b G_M22543_IG27
;; size=80 bbWeight=4 PerfScore 124.00
G_M22543_IG38:
ldr w3, [x24, #0x08]
mov x0, x24
mov x1, x25
mov w2, wzr
mov x4, xzr
movz x5, #0xD1FFAB1E // code for System.Array:Sort[int,int](int[],int[],int,int,System.Collections.Generic.IComparer`1[int])
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x10]
blr x1
and w1, w0, #7
cmp w1, #0
ble G_M22543_IG42
;; size=112 bbWeight=1 PerfScore 51.50
G_M22543_IG39:
mov w20, wzr
neg w1, w1
add w26, w1, #8
cmp w26, #0
ble G_M22543_IG42
;; size=20 bbWeight=0.50 PerfScore 1.50
G_M22543_IG40:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- str x2, [fp, #0x18] // [V158 cse2]
+ str x2, [fp, #0x18] // [V159 cse3]
;; size=16 bbWeight=0.25 PerfScore 0.62
G_M22543_IG41:
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
smull x1, w1, w20
asr x1, x1, #32
add w1, w1, w1, LSR #31
mov w0, #3
msub w1, w1, w0, w20
cmp w1, #3
bhs G_M22543_IG57
ldrh w1, [x2, w1, UXTW #2]
mov x0, x21
movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(ushort):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add w20, w20, #1
cmp w26, w20
- ldr x2, [fp, #0x18] // [V158 cse2]
+ ldr x2, [fp, #0x18] // [V159 cse3]
bgt G_M22543_IG41
;; size=80 bbWeight=4 PerfScore 88.00
G_M22543_IG42:
mov w20, wzr
ldr w1, [x24, #0x08]
cmp w1, #0
ble G_M22543_IG44
;; size=16 bbWeight=1 PerfScore 5.00
G_M22543_IG43:
add x1, x24, #16
ldr w1, [x1, w20, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w20, w20, #1
ldr w1, [x24, #0x08]
cmp w1, w20
bgt G_M22543_IG43
;; size=48 bbWeight=4 PerfScore 58.00
G_M22543_IG44:
mov x24, x25
mov w20, wzr
ldr w1, [x24, #0x08]
cmp w1, #0
ble G_M22543_IG46
;; size=20 bbWeight=1 PerfScore 5.50
G_M22543_IG45:
add x1, x24, #16
ldr w1, [x1, w20, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w20, w20, #1
ldr w0, [x24, #0x08]
cmp w0, w20
bgt G_M22543_IG45
;; size=48 bbWeight=4 PerfScore 58.00
G_M22543_IG46:
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
str w0, [fp, #0x14] // [TEMP_01]
mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr w1, [fp, #0x14] // [TEMP_01]
add w1, w1, w0
add w1, w1, #4
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cmp x0, #0
ble G_M22543_IG48
;; size=184 bbWeight=1 PerfScore 76.50
G_M22543_IG47:
ldrb w2, [x27, #0x2B]
cbz w2, G_M22543_IG58
ldr w2, [x27, #0x18]
mov x0, x27
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x25, [x21, #0x08]
mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w2, w0
mov x1, x25
mov x0, x27
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=120 bbWeight=0.50 PerfScore 21.25
G_M22543_IG48:
ldrb w0, [x23, #0x18]
cbz w0, G_M22543_IG50
;; size=8 bbWeight=1 PerfScore 4.00
G_M22543_IG49:
ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M22543_IG51
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M22543_IG50:
ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M22543_IG51:
mov x0, x28
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:set_Position(long):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x27, [x21, #0x08]
mov x0, x28
movz x1, #0xD1FFAB1E // code for System.IO.Stream:GetCopyBufferSize():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w2, w0
mov x1, x27
mov x0, x28
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrb w0, [x22, #0x18]
cbz w0, G_M22543_IG53
;; size=116 bbWeight=1 PerfScore 39.50
G_M22543_IG52:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M22543_IG60
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M22543_IG53:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
b G_M22543_IG60
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M22543_IG54:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=44 bbWeight=0 PerfScore 0.00
G_M22543_IG55:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M22543_IG56:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
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_M22543_IG57:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M22543_IG58:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
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_M22543_IG59:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
ldr w0, [fp, #0x58] // [V80 tmp51]
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M22543_IG60:
ldr x0, [fp, #0x40] // [V11 loc10]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
str xzr, [x19, #0x10]
;; size=44 bbWeight=1 PerfScore 20.00
G_M22543_IG61:
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 fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M22543_IG62:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22543_IG06
;; size=20 bbWeight=0 PerfScore 0.00
G_M22543_IG63:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M22543_IG07
;; size=20 bbWeight=0 PerfScore 0.00
G_M22543_IG64:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22543_IG13
;; size=20 bbWeight=0 PerfScore 0.00
G_M22543_IG65:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
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_M22543_IG66:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG67:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG68:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M22543_IG69:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_InvalidOperation_ResourceWriterSaved():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.InvalidOperationException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG70:
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, #0xD1FFAB1E
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M22543_IG71:
ldr x0, [fp, #0x40] // [V11 loc10]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
;; size=20 bbWeight=0 PerfScore 0.00
G_M22543_IG72:
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 3784, prolog size 68, PerfScore 1970.62, instruction count 946, allocated bytes for code 3784 (MethodHash=0feca7f0) for method System.Resources.ResourceWriter:Generate():this (FullOpts)
+; Total bytes of code 3796, prolog size 68, PerfScore 1972.12, instruction count 949, allocated bytes for code 3796 (MethodHash=0feca7f0) for method System.Resources.ResourceWriter:Generate():this (FullOpts)
8 (1.04 % of base) - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[]
; Assembly listing for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x19 class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
; V01 arg1 [V01,T07] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
; V02 loc0 [V02,T04] ( 7, 6.50) ref -> x21 class-hnd exact single-def <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[double]>
; V03 loc1 [V03,T14] ( 3, 2.50) ref -> x22 class-hnd <System.Composition.Hosting.Core.CompositionContract>
; V04 loc2 [V04 ] ( 3, 2 ) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Collections.Generic.IEnumerable`1[System.String]>
; V05 loc3 [V05 ] ( 2, 1.50) ref -> [fp+0x10] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Composition.Hosting.Core.CompositionContract>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[double]>
-; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
-; V09 tmp3 [V09,T11] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
+; V08 tmp2 [V08,T01] ( 4, 8 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.Hosting.Core.CompositionDependency,System.Composition.Hosting.Core.ExportDescriptorPromise]>
+; V09 tmp3 [V09,T10] ( 2, 4 ) ref -> x1 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]>
;* V10 tmp4 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
; V11 tmp5 [V11,T16] ( 4, 2 ) ref -> x1
; V12 tmp6 [V12,T02] ( 4, 8 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
; V13 tmp7 [V13,T00] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
; V14 tmp8 [V14,T03] ( 4, 7 ) ref -> x19 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
-; V15 tmp9 [V15,T12] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
+; V15 tmp9 [V15,T11] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
; V16 tmp10 [V16,T18] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
; V17 tmp11 [V17,T08] ( 4, 4 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
; V18 tmp12 [V18,T05] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.Core.CompositionContract>
; V19 tmp13 [V19,T09] ( 4, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Collections.Generic.IDictionary`2[System.String,System.Object]>
; V20 tmp14 [V20,T17] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
; V21 tmp15 [V21,T19] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentOutOfRangeException>
-; V22 tmp16 [V22,T13] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V22 tmp16 [V22,T12] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V23 tmp17 [V23,T20] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V24 tmp18 [V24,T21] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V25 cse0 [V25,T15] ( 3, 2.50) ref -> x19 "CSE #07: aggressive"
-; V26 cse1 [V26,T10] ( 4, 4 ) long -> x19 "CSE #09: aggressive"
+; V26 cse1 [V26,T13] ( 3, 3 ) long -> x19 "CSE #09: aggressive"
;
; Lcl frame size = 16
G_M7169_IG01:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
mov fp, sp
stp xzr, xzr, [fp, #0x10] // [V05 loc3], [V04 loc2]
mov x19, x0
mov x20, x1
;; size=32 bbWeight=1 PerfScore 6.50
G_M7169_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
add x14, x21, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr x19, [x21, #0x08]
ldrsb wzr, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
ldp x23, x19, [x19, #0x10]
cbz x19, G_M7169_IG04
;; size=68 bbWeight=1 PerfScore 19.00
G_M7169_IG03:
mov x0, x19
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M7169_IG10
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M7169_IG04:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x22, #0x08]
add x14, x22, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x19, [x14]
add x14, x21, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x21, #0x08]
add x3, fp, #24 // [V04 loc2]
add x4, fp, #16 // [V05 loc3]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Composition.Hosting.Core.CompositionContract:TryUnwrapMetadataConstraint[System.__Canon](System.String,byref,byref):ubyte:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
ldr wzr, [x0]
blr x5
cbz w0, G_M7169_IG07
;; size=132 bbWeight=1 PerfScore 29.50
G_M7169_IG05:
ldr x22, [fp, #0x10] // [V05 loc3]
ldrsb wzr, [x22]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldp x24, x22, [x22, #0x10]
cbz x22, G_M7169_IG06
mov x0, x22
movz x11, #0xD1FFAB1E // code for System.Collections.Generic.ICollection`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:get_Count():int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M7169_IG09
;; size=64 bbWeight=0.50 PerfScore 10.00
G_M7169_IG06:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x23, #0x08]
add x14, x23, #16
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #24
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
mov x22, x23
ldr x1, [fp, #0x18] // [V04 loc2]
mov x0, x1
cmp x0, #0
csel x1, x1, x19, ne
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x21, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
;; size=104 bbWeight=0.50 PerfScore 9.75
G_M7169_IG07:
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- mov x0, x19
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
+ mov x19, x0
mov x0, x20
mov x2, x22
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.Composition.Hosting.Core.DependencyAccessor:ResolveDependencies(System.Object,System.Composition.Hosting.Core.CompositionContract,ubyte):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
mov x1, x0
- add x14, x23, #8
+ add x14, x19, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider+<>c__DisplayClass2_0`1[double]:<GetExportFactoryDescriptors>b__0(System.Composition.Hosting.Core.CompositionDependency):System.Composition.Hosting.Core.ExportDescriptorPromise:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- str x2, [x23, #0x18]
- mov x2, x23
- add x0, x19, #0xD1FFAB1E
+ str x2, [x19, #0x18]
+ mov x2, x19
+ movz x19, #0xD1FFAB1E
+ movk x19, #0xD1FFAB1E LSL #16
+ movk x19, #0xD1FFAB1E LSL #32
+ mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- add x0, x19, #0xD1FFAB1E
+ add x0, x19, #128
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=160 bbWeight=1 PerfScore 33.00
+ ;; size=168 bbWeight=1 PerfScore 34.00
G_M7169_IG08:
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x50
ret lr
;; size=20 bbWeight=1 PerfScore 5.00
G_M7169_IG09:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M7169_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-; Total bytes of code 768, prolog size 24, PerfScore 116.25, instruction count 192, allocated bytes for code 768 (MethodHash=0e17e3fe) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)
+; Total bytes of code 776, prolog size 24, PerfScore 117.25, instruction count 194, allocated bytes for code 776 (MethodHash=0e17e3fe) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:GetExportFactoryDescriptors[double](System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Composition.Hosting.Core.ExportDescriptorPromise[] (FullOpts)