-40 (-1.69 % of base) - System.Net.Http.Headers.ContentRangeHeaderValue:ToString():System.String:this
; Assembly listing for method System.Net.Http.Headers.ContentRangeHeaderValue:ToString():System.String: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; 47 single block inlinees; 55 inlinees without PGO data
+; 0 inlinees with PGO data; 46 single block inlinees; 52 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T10] ( 8, 6.50) ref -> x19 this class-hnd single-def <System.Net.Http.Headers.ContentRangeHeaderValue>
+; V00 this [V00,T09] ( 8, 6.50) ref -> x19 this class-hnd single-def <System.Net.Http.Headers.ContentRangeHeaderValue>
; V01 loc0 [V01 ] ( 72, 41.50) struct (32) [fp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
;* V02 loc1 [V02 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ushort]>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V05 tmp2 [V05,T29] ( 2, 4 ) long -> x0 "Inlining Arg"
-; V06 tmp3 [V06,T17] ( 5, 7 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
-; V07 tmp4 [V07,T37] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
-; V08 tmp5 [V08,T31] ( 4, 3 ) int -> x0 "Inline stloc first use temp"
+; V05 tmp2 [V05,T33] ( 2, 4 ) long -> x0 "Inlining Arg"
+; V06 tmp3 [V06,T20] ( 5, 7 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
+; V07 tmp4 [V07,T40] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
+; V08 tmp5 [V08,T34] ( 4, 3 ) int -> x0 "Inline stloc first use temp"
;* V09 tmp6 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-; V10 tmp7 [V10,T20] ( 5, 5 ) long -> x0 ld-addr-op "Inlining Arg"
+; V10 tmp7 [V10,T24] ( 5, 5 ) long -> x0 ld-addr-op "Inlining Arg"
;* V11 tmp8 [V11 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
;* V12 tmp9 [V12 ] ( 0, 0 ) byref -> zero-ref
; V13 tmp10 [V13 ] ( 3, 1.50) int -> [fp-0x58] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.Span`1[ushort]>
;* V15 tmp12 [V15 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V16 tmp13 [V16,T26] ( 4, 4 ) int -> x20 "Inlining Arg"
+; V16 tmp13 [V16,T30] ( 4, 4 ) int -> x20 "Inlining Arg"
;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V18 tmp15 [V18,T21] ( 3, 3 ) byref -> x1 single-def "Inlining Arg"
-; V19 tmp16 [V19,T33] ( 2, 2 ) int -> x2 "Inlining Arg"
+; V18 tmp15 [V18,T25] ( 3, 3 ) byref -> x1 single-def "Inlining Arg"
+; V19 tmp16 [V19,T36] ( 2, 2 ) int -> x2 "Inlining Arg"
;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V22 tmp19 [V22,T87] ( 2, 1 ) ubyte -> x2 "Inline return value spill temp"
+; V22 tmp19 [V22,T89] ( 2, 1 ) ubyte -> x2 "Inline return value spill temp"
;* V23 tmp20 [V23 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V24 tmp21 [V24 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V25 tmp22 [V25 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V26 tmp23 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
;* V27 tmp24 [V27 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V28 tmp25 [V28 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V29 tmp26 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
;* V30 tmp27 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V31 tmp28 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V32 tmp29 [V32 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V33 tmp30 [V33 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V34 tmp31 [V34,T63] ( 3, 1.50) ubyte -> x2 "Inline return value spill temp"
-; V35 tmp32 [V35,T41] ( 4, 2 ) int -> x3 "Inline stloc first use temp"
+; V34 tmp31 [V34,T65] ( 3, 1.50) ubyte -> x2 "Inline return value spill temp"
+; V35 tmp32 [V35,T44] ( 4, 2 ) int -> x3 "Inline stloc first use temp"
;* V36 tmp33 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
; V37 tmp34 [V37 ] ( 3, 1.50) byref -> [fp-0x60] must-init pinned "Inline stloc first use temp"
;* V38 tmp35 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V39 tmp36 [V39 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V40 tmp37 [V40,T64] ( 3, 1.50) int -> x3 "Inline stloc first use temp"
+; V40 tmp37 [V40,T66] ( 3, 1.50) int -> x3 "Inline stloc first use temp"
;* V41 tmp38 [V41 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V42 tmp39 [V42 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V43 tmp40 [V43 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
;* V44 tmp41 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V45 tmp42 [V45 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V46 tmp43 [V46 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V47 tmp44 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V48 tmp45 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V49 tmp46 [V49 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
; V50 tmp47 [V50,T00] ( 9, 37 ) long -> x2 "Inlining Arg"
; V51 tmp48 [V51,T03] ( 8, 29 ) long -> x1 "Inlining Arg"
-; V52 tmp49 [V52,T51] ( 2, 2 ) long -> x1 "dup spill"
+; V52 tmp49 [V52,T53] ( 2, 2 ) long -> x1 "dup spill"
;* V53 tmp50 [V53 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
-; V54 tmp51 [V54,T06] ( 3, 12 ) long -> x3 "Inline stloc first use temp"
-;* V55 tmp52 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
-;* V56 tmp53 [V56 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V57 tmp54 [V57 ] ( 0, 0 ) long -> zero-ref
+; V54 tmp51 [V54,T06] ( 3, 24 ) long -> x3 "dup spill"
+; V55 tmp52 [V55,T13] ( 2, 8 ) long -> x4 "Inline stloc first use temp"
+;* V56 tmp53 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
+;* V57 tmp54 [V57 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V58 tmp55 [V58 ] ( 0, 0 ) long -> zero-ref
-; V59 tmp56 [V59,T11] ( 2, 8 ) ref -> x3
-;* V60 tmp57 [V60 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V61 tmp58 [V61 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V62 tmp59 [V62 ] ( 0, 0 ) long -> zero-ref
+;* V59 tmp56 [V59 ] ( 0, 0 ) long -> zero-ref
+; V60 tmp57 [V60,T10] ( 2, 8 ) ref -> x3
+;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V63 tmp60 [V63 ] ( 0, 0 ) long -> zero-ref
-; V64 tmp61 [V64,T75] ( 2, 1 ) ref -> x3 single-def
-;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V67 tmp64 [V67 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V68 tmp65 [V68,T36] ( 5, 2.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
-;* V69 tmp66 [V69 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V70 tmp67 [V70 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V71 tmp68 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V72 tmp69 [V72,T38] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
-; V73 tmp70 [V73,T42] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
-;* V74 tmp71 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-; V75 tmp72 [V75,T09] ( 9, 9 ) long -> x20 ld-addr-op "Inlining Arg"
-;* V76 tmp73 [V76 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-;* V77 tmp74 [V77 ] ( 0, 0 ) byref -> zero-ref
-; V78 tmp75 [V78 ] ( 4, 2 ) int -> [fp-0x68] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;* V79 tmp76 [V79 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.Span`1[ushort]>
-;* V80 tmp77 [V80 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V81 tmp78 [V81,T27] ( 4, 4 ) int -> x0 "Inlining Arg"
-;* V82 tmp79 [V82 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V83 tmp80 [V83,T22] ( 4, 4 ) byref -> x21 single-def "Inlining Arg"
-; V84 tmp81 [V84,T34] ( 3, 3 ) int -> x22 "Inlining Arg"
-;* V85 tmp82 [V85 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V86 tmp83 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V87 tmp84 [V87,T65] ( 3, 1.50) ubyte -> x21 "Inline return value spill temp"
-;* V88 tmp85 [V88 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V89 tmp86 [V89 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V90 tmp87 [V90 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V91 tmp88 [V91,T76] ( 2, 1 ) ref -> x0 class-hnd single-def "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V92 tmp89 [V92 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V93 tmp90 [V93 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V94 tmp91 [V94,T23] ( 4, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.String>
-;* V95 tmp92 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V96 tmp93 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V97 tmp94 [V97,T47] ( 2, 2 ) byref -> x2 single-def "Inlining Arg"
-; V98 tmp95 [V98,T52] ( 2, 2 ) int -> x3 "Inlining Arg"
-; V99 tmp96 [V99,T66] ( 3, 1.50) ubyte -> x21 "Inline return value spill temp"
-; V100 tmp97 [V100,T43] ( 4, 2 ) int -> x4 "Inline stloc first use temp"
-;* V101 tmp98 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-; V102 tmp99 [V102 ] ( 3, 1.50) byref -> [fp-0x70] must-init pinned "Inline stloc first use temp"
-;* V103 tmp100 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V104 tmp101 [V104 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V105 tmp102 [V105,T67] ( 3, 1.50) int -> x4 "Inline stloc first use temp"
-;* V106 tmp103 [V106 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
-;* V107 tmp104 [V107 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-;* V108 tmp105 [V108 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
-;* V109 tmp106 [V109 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V110 tmp107 [V110 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V111 tmp108 [V111 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V112 tmp109 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
-;* V113 tmp110 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V114 tmp111 [V114 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
-; V115 tmp112 [V115,T01] ( 9, 37 ) long -> x5 "Inlining Arg"
-; V116 tmp113 [V116,T04] ( 8, 29 ) long -> x4 "Inlining Arg"
-; V117 tmp114 [V117,T53] ( 2, 2 ) long -> x4 "dup spill"
-;* V118 tmp115 [V118 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
-; V119 tmp116 [V119,T07] ( 3, 12 ) long -> x2 "Inline stloc first use temp"
-;* V120 tmp117 [V120 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
-;* V121 tmp118 [V121 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V122 tmp119 [V122 ] ( 0, 0 ) long -> zero-ref
-;* V123 tmp120 [V123 ] ( 0, 0 ) long -> zero-ref
-; V124 tmp121 [V124,T12] ( 2, 8 ) ref -> x2
-;* V125 tmp122 [V125 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V126 tmp123 [V126 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V127 tmp124 [V127 ] ( 0, 0 ) long -> zero-ref
-;* V128 tmp125 [V128 ] ( 0, 0 ) long -> zero-ref
-; V129 tmp126 [V129,T77] ( 2, 1 ) ref -> x2 single-def
-;* V130 tmp127 [V130 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-;* V131 tmp128 [V131 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-;* V132 tmp129 [V132 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V133 tmp130 [V133,T30] ( 6, 3 ) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+;* V64 tmp61 [V64 ] ( 0, 0 ) long -> zero-ref
+; V65 tmp62 [V65,T77] ( 2, 1 ) ref -> x3 single-def
+;* V66 tmp63 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V67 tmp64 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V68 tmp65 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+; V69 tmp66 [V69,T39] ( 5, 2.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+;* V70 tmp67 [V70 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V71 tmp68 [V71 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V72 tmp69 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+; V73 tmp70 [V73,T41] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
+; V74 tmp71 [V74,T45] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
+;* V75 tmp72 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
+; V76 tmp73 [V76,T19] ( 7, 7 ) long -> x20 ld-addr-op "Inlining Arg"
+;* V77 tmp74 [V77 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
+;* V78 tmp75 [V78 ] ( 0, 0 ) byref -> zero-ref
+; V79 tmp76 [V79 ] ( 4, 2 ) int -> [fp-0x68] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;* V80 tmp77 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.Span`1[ushort]>
+;* V81 tmp78 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V82 tmp79 [V82,T31] ( 4, 4 ) int -> x0 "Inlining Arg"
+;* V83 tmp80 [V83 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V84 tmp81 [V84,T26] ( 4, 4 ) byref -> x21 single-def "Inlining Arg"
+; V85 tmp82 [V85,T37] ( 3, 3 ) int -> x22 "Inlining Arg"
+;* V86 tmp83 [V86 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V87 tmp84 [V87 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V88 tmp85 [V88,T67] ( 3, 1.50) ubyte -> x21 "Inline return value spill temp"
+;* V89 tmp86 [V89 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+;* V90 tmp87 [V90 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V91 tmp88 [V91 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V92 tmp89 [V92,T78] ( 2, 1 ) ref -> x0 class-hnd single-def "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V93 tmp90 [V93 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V94 tmp91 [V94 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V95 tmp92 [V95,T27] ( 4, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.String>
+;* V96 tmp93 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V97 tmp94 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V98 tmp95 [V98,T50] ( 2, 2 ) byref -> x2 single-def "Inlining Arg"
+; V99 tmp96 [V99,T54] ( 2, 2 ) int -> x3 "Inlining Arg"
+; V100 tmp97 [V100,T68] ( 3, 1.50) ubyte -> x21 "Inline return value spill temp"
+; V101 tmp98 [V101,T46] ( 4, 2 ) int -> x4 "Inline stloc first use temp"
+;* V102 tmp99 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+; V103 tmp100 [V103 ] ( 3, 1.50) byref -> [fp-0x70] must-init pinned "Inline stloc first use temp"
+;* V104 tmp101 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V105 tmp102 [V105 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V106 tmp103 [V106,T69] ( 3, 1.50) int -> x4 "Inline stloc first use temp"
+;* V107 tmp104 [V107 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V108 tmp105 [V108 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+;* V109 tmp106 [V109 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
+;* V110 tmp107 [V110 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V111 tmp108 [V111 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp109 [V112 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V113 tmp110 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V114 tmp111 [V114 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V115 tmp112 [V115 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
+; V116 tmp113 [V116,T01] ( 9, 37 ) long -> x5 "Inlining Arg"
+; V117 tmp114 [V117,T04] ( 8, 29 ) long -> x4 "Inlining Arg"
+; V118 tmp115 [V118,T55] ( 2, 2 ) long -> x4 "dup spill"
+;* V119 tmp116 [V119 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
+; V120 tmp117 [V120,T07] ( 3, 24 ) long -> x2 "dup spill"
+; V121 tmp118 [V121,T14] ( 2, 8 ) long -> x3 "Inline stloc first use temp"
+;* V122 tmp119 [V122 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
+;* V123 tmp120 [V123 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V124 tmp121 [V124 ] ( 0, 0 ) long -> zero-ref
+;* V125 tmp122 [V125 ] ( 0, 0 ) long -> zero-ref
+; V126 tmp123 [V126,T11] ( 2, 8 ) ref -> x2
+;* V127 tmp124 [V127 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V128 tmp125 [V128 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V129 tmp126 [V129 ] ( 0, 0 ) long -> zero-ref
+;* V130 tmp127 [V130 ] ( 0, 0 ) long -> zero-ref
+; V131 tmp128 [V131,T79] ( 2, 1 ) ref -> x2 single-def
+;* V132 tmp129 [V132 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V133 tmp130 [V133 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V134 tmp131 [V134 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V135 tmp132 [V135 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V136 tmp133 [V136 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-; V137 tmp134 [V137,T39] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
-; V138 tmp135 [V138,T44] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
-;* V139 tmp136 [V139 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-; V140 tmp137 [V140,T32] ( 4, 3 ) int -> x0 "Inline stloc first use temp"
-;* V141 tmp138 [V141 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-; V142 tmp139 [V142 ] ( 3, 3 ) long -> [fp-0x78] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
-;* V143 tmp140 [V143 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-;* V144 tmp141 [V144,T96] ( 0, 0 ) byref -> zero-ref single-def
-; V145 tmp142 [V145 ] ( 4, 2 ) int -> [fp-0x80] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;* V146 tmp143 [V146 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.Span`1[ushort]>
-;* V147 tmp144 [V147 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V148 tmp145 [V148,T28] ( 4, 4 ) int -> x19 "Inlining Arg"
-;* V149 tmp146 [V149 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V150 tmp147 [V150,T24] ( 4, 4 ) byref -> x20 single-def "Inlining Arg"
-; V151 tmp148 [V151,T35] ( 3, 3 ) int -> x19 "Inlining Arg"
-;* V152 tmp149 [V152 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V153 tmp150 [V153 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V154 tmp151 [V154,T68] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
-;* V155 tmp152 [V155 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-; V156 tmp153 [V156,T18] ( 6, 6 ) long -> x23 "Inlining Arg"
-;* V157 tmp154 [V157 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V158 tmp155 [V158,T78] ( 2, 1 ) ref -> x0 class-hnd single-def "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;* V159 tmp156 [V159 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V160 tmp157 [V160 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-; V161 tmp158 [V161,T25] ( 4, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.String>
-;* V162 tmp159 [V162 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V163 tmp160 [V163 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V164 tmp161 [V164,T48] ( 2, 2 ) byref -> x2 single-def "Inlining Arg"
-; V165 tmp162 [V165,T54] ( 2, 2 ) int -> x3 "Inlining Arg"
-; V166 tmp163 [V166,T69] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
-; V167 tmp164 [V167,T45] ( 4, 2 ) int -> x4 "Inline stloc first use temp"
-;* V168 tmp165 [V168 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-; V169 tmp166 [V169 ] ( 3, 1.50) byref -> [fp-0x88] must-init pinned "Inline stloc first use temp"
-;* V170 tmp167 [V170 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;* V171 tmp168 [V171 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
-; V172 tmp169 [V172,T70] ( 3, 1.50) int -> x4 "Inline stloc first use temp"
-;* V173 tmp170 [V173 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
-;* V174 tmp171 [V174 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
-;* V175 tmp172 [V175 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
-;* V176 tmp173 [V176 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;* V177 tmp174 [V177 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V178 tmp175 [V178 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-;* V179 tmp176 [V179 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
-;* V180 tmp177 [V180 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;* V181 tmp178 [V181 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
-; V182 tmp179 [V182,T02] ( 9, 37 ) long -> x23 "Inlining Arg"
-; V183 tmp180 [V183,T05] ( 8, 29 ) long -> x4 "Inlining Arg"
-; V184 tmp181 [V184,T55] ( 2, 2 ) long -> x4 "dup spill"
-;* V185 tmp182 [V185 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
-; V186 tmp183 [V186,T08] ( 3, 12 ) long -> x5 "Inline stloc first use temp"
+; V135 tmp132 [V135,T22] ( 5, 5 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
+; V136 tmp133 [V136,T42] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
+; V137 tmp134 [V137,T47] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
+;* V138 tmp135 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
+; V139 tmp136 [V139,T35] ( 4, 3 ) int -> x0 "Inline stloc first use temp"
+;* V140 tmp137 [V140 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
+; V141 tmp138 [V141 ] ( 3, 3 ) long -> [fp-0x78] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V142 tmp139 [V142 ] ( 0, 0 ) long -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
+;* V143 tmp140 [V143,T98] ( 0, 0 ) byref -> zero-ref single-def
+; V144 tmp141 [V144 ] ( 4, 2 ) int -> [fp-0x80] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;* V145 tmp142 [V145 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "impAppendStmt" <System.Span`1[ushort]>
+;* V146 tmp143 [V146 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V147 tmp144 [V147,T32] ( 4, 4 ) int -> x19 "Inlining Arg"
+;* V148 tmp145 [V148 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
+; V149 tmp146 [V149,T28] ( 4, 4 ) byref -> x20 single-def "Inlining Arg"
+; V150 tmp147 [V150,T38] ( 3, 3 ) int -> x19 "Inlining Arg"
+;* V151 tmp148 [V151 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V152 tmp149 [V152 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V153 tmp150 [V153,T70] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
+;* V154 tmp151 [V154 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
+; V155 tmp152 [V155,T21] ( 6, 6 ) long -> x23 "Inlining Arg"
+;* V156 tmp153 [V156 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
+; V157 tmp154 [V157,T80] ( 2, 1 ) ref -> x0 class-hnd single-def "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
+;* V158 tmp155 [V158 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+;* V159 tmp156 [V159 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
+; V160 tmp157 [V160,T29] ( 4, 4 ) ref -> x4 class-hnd exact single-def "Inlining Arg" <System.String>
+;* V161 tmp158 [V161 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;* V162 tmp159 [V162 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+; V163 tmp160 [V163,T51] ( 2, 2 ) byref -> x2 single-def "Inlining Arg"
+; V164 tmp161 [V164,T56] ( 2, 2 ) int -> x3 "Inlining Arg"
+; V165 tmp162 [V165,T71] ( 3, 1.50) ubyte -> x19 "Inline return value spill temp"
+; V166 tmp163 [V166,T48] ( 4, 2 ) int -> x4 "Inline stloc first use temp"
+;* V167 tmp164 [V167 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+; V168 tmp165 [V168 ] ( 3, 1.50) byref -> [fp-0x88] must-init pinned "Inline stloc first use temp"
+;* V169 tmp166 [V169 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V170 tmp167 [V170 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
+; V171 tmp168 [V171,T72] ( 3, 1.50) int -> x4 "Inline stloc first use temp"
+;* V172 tmp169 [V172 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
+;* V173 tmp170 [V173 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
+;* V174 tmp171 [V174 ] ( 0, 0 ) ubyte -> zero-ref ld-addr-op "Inline stloc first use temp"
+;* V175 tmp172 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
+;* V176 tmp173 [V176 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V177 tmp174 [V177 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
+;* V178 tmp175 [V178 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
+;* V179 tmp176 [V179 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
+;* V180 tmp177 [V180 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
+; V181 tmp178 [V181,T02] ( 9, 37 ) long -> x23 "Inlining Arg"
+; V182 tmp179 [V182,T05] ( 8, 29 ) long -> x4 "Inlining Arg"
+; V183 tmp180 [V183,T57] ( 2, 2 ) long -> x4 "dup spill"
+;* V184 tmp181 [V184 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
+; V185 tmp182 [V185,T08] ( 3, 24 ) long -> x5 "dup spill"
+; V186 tmp183 [V186,T15] ( 2, 8 ) long -> x2 "Inline stloc first use temp"
;* V187 tmp184 [V187 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V188 tmp185 [V188 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V189 tmp186 [V189 ] ( 0, 0 ) long -> zero-ref
;* V190 tmp187 [V190 ] ( 0, 0 ) long -> zero-ref
-; V191 tmp188 [V191,T13] ( 2, 8 ) ref -> x5
+; V191 tmp188 [V191,T12] ( 2, 8 ) ref -> x5
;* V192 tmp189 [V192 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V193 tmp190 [V193 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V194 tmp191 [V194 ] ( 0, 0 ) long -> zero-ref
;* V195 tmp192 [V195 ] ( 0, 0 ) long -> zero-ref
-; V196 tmp193 [V196,T79] ( 2, 1 ) ref -> x5 single-def
+; V196 tmp193 [V196,T81] ( 2, 1 ) ref -> x5 single-def
;* V197 tmp194 [V197 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V198 tmp195 [V198 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V199 tmp196 [V199 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V200 tmp197 [V200,T19] ( 5, 5 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
-; V201 tmp198 [V201,T40] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
-; V202 tmp199 [V202,T46] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
+; V200 tmp197 [V200,T23] ( 5, 5 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
+; V201 tmp198 [V201,T43] ( 5, 2.50) int -> x0 "Inline stloc first use temp"
+; V202 tmp199 [V202,T49] ( 4, 2 ) int -> x0 "Inline stloc first use temp"
;* V203 tmp200 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
;* V204 tmp201 [V204 ] ( 0, 0 ) byref -> zero-ref single-def "field V02._reference (fldOffset=0x0)" P-INDEP
;* V205 tmp202 [V205 ] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP
-; V206 tmp203 [V206,T49] ( 2, 2 ) byref -> x0 single-def "field V04._reference (fldOffset=0x0)" P-INDEP
-;* V207 tmp204 [V207,T95] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-; V208 tmp205 [V208,T73] ( 2, 1.50) byref -> x1 single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-; V209 tmp206 [V209,T56] ( 2, 2 ) int -> x2 "field V09._length (fldOffset=0x8)" P-INDEP
+; V206 tmp203 [V206,T52] ( 2, 2 ) byref -> x0 single-def "field V04._reference (fldOffset=0x0)" P-INDEP
+;* V207 tmp204 [V207,T97] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
+; V208 tmp205 [V208,T75] ( 2, 1.50) byref -> x1 single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+; V209 tmp206 [V209,T58] ( 2, 2 ) int -> x2 "field V09._length (fldOffset=0x8)" P-INDEP
;* V210 tmp207 [V210 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V211 tmp208 [V211 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V212 tmp209 [V212 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP
;* V213 tmp210 [V213 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
-;* V214 tmp211 [V214,T97] ( 0, 0 ) byref -> zero-ref single-def "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V215 tmp212 [V215,T98] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
+;* V214 tmp211 [V214,T99] ( 0, 0 ) byref -> zero-ref single-def "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp212 [V215,T100] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
;* V216 tmp213 [V216 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
;* V217 tmp214 [V217 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V218 tmp215 [V218 ] ( 0, 0 ) byref -> zero-ref single-def "field V21._reference (fldOffset=0x0)" P-INDEP
;* V219 tmp216 [V219 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
;* V220 tmp217 [V220 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP
;* V221 tmp218 [V221 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP
;* V222 tmp219 [V222 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
;* V223 tmp220 [V223 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
;* V224 tmp221 [V224 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
;* V225 tmp222 [V225 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
;* V226 tmp223 [V226 ] ( 0, 0 ) byref -> zero-ref "field V28._reference (fldOffset=0x0)" P-INDEP
;* V227 tmp224 [V227 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
;* V228 tmp225 [V228 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
;* V229 tmp226 [V229 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
;* V230 tmp227 [V230 ] ( 0, 0 ) byref -> zero-ref single-def "field V31._reference (fldOffset=0x0)" P-INDEP
;* V231 tmp228 [V231 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
;* V232 tmp229 [V232 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V233 tmp230 [V233 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
;* V234 tmp231 [V234 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP
;* V235 tmp232 [V235 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
;* V236 tmp233 [V236 ] ( 0, 0 ) byref -> zero-ref single-def "field V41._reference (fldOffset=0x0)" P-INDEP
;* V237 tmp234 [V237 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
;* V238 tmp235 [V238 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
;* V239 tmp236 [V239 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
;* V240 tmp237 [V240 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP
;* V241 tmp238 [V241 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
;* V242 tmp239 [V242 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
;* V243 tmp240 [V243 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
;* V244 tmp241 [V244 ] ( 0, 0 ) long -> zero-ref "field V53.Item1 (fldOffset=0x0)" P-INDEP
;* V245 tmp242 [V245 ] ( 0, 0 ) long -> zero-ref "field V53.Item2 (fldOffset=0x8)" P-INDEP
-;* V246 tmp243 [V246 ] ( 0, 0 ) long -> zero-ref "field V55.Item1 (fldOffset=0x0)" P-INDEP
-; V247 tmp244 [V247,T14] ( 2, 8 ) long -> x4 "field V55.Item2 (fldOffset=0x8)" P-INDEP
-; V248 tmp245 [V248,T80] ( 2, 1 ) byref -> x1 single-def "field V74._reference (fldOffset=0x0)" P-INDEP
-; V249 tmp246 [V249,T88] ( 2, 1 ) int -> x2 "field V74._length (fldOffset=0x8)" P-INDEP
-;* V250 tmp247 [V250 ] ( 0, 0 ) byref -> zero-ref single-def "field V79._reference (fldOffset=0x0)" P-INDEP
-;* V251 tmp248 [V251 ] ( 0, 0 ) int -> zero-ref "field V79._length (fldOffset=0x8)" P-INDEP
-;* V252 tmp249 [V252 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
-;* V253 tmp250 [V253 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
-; V254 tmp251 [V254,T81] ( 2, 1 ) byref -> x23 single-def "field V82._reference (fldOffset=0x0)" P-INDEP
-; V255 tmp252 [V255,T89] ( 2, 1 ) int -> x24 "field V82._length (fldOffset=0x8)" P-INDEP
-;* V256 tmp253 [V256 ] ( 0, 0 ) byref -> zero-ref "field V85._reference (fldOffset=0x0)" P-INDEP
-;* V257 tmp254 [V257 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
-;* V258 tmp255 [V258 ] ( 0, 0 ) byref -> zero-ref single-def "field V86._reference (fldOffset=0x0)" P-INDEP
-;* V259 tmp256 [V259 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
-;* V260 tmp257 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "field V88._reference (fldOffset=0x0)" P-INDEP
-;* V261 tmp258 [V261 ] ( 0, 0 ) int -> zero-ref "field V88._length (fldOffset=0x8)" P-INDEP
-;* V262 tmp259 [V262 ] ( 0, 0 ) byref -> zero-ref "field V90._reference (fldOffset=0x0)" P-INDEP
-;* V263 tmp260 [V263 ] ( 0, 0 ) int -> zero-ref "field V90._length (fldOffset=0x8)" P-INDEP
-;* V264 tmp261 [V264 ] ( 0, 0 ) byref -> zero-ref "field V92._reference (fldOffset=0x0)" P-INDEP
-;* V265 tmp262 [V265 ] ( 0, 0 ) int -> zero-ref "field V92._length (fldOffset=0x8)" P-INDEP
-; V266 tmp263 [V266,T61] ( 3, 1.50) byref -> x2 "field V93._reference (fldOffset=0x0)" P-INDEP
-; V267 tmp264 [V267,T71] ( 3, 1.50) int -> x3 "field V93._length (fldOffset=0x8)" P-INDEP
-; V268 tmp265 [V268,T82] ( 2, 1 ) byref -> x2 single-def "field V95._reference (fldOffset=0x0)" P-INDEP
-; V269 tmp266 [V269,T90] ( 2, 1 ) int -> x3 "field V95._length (fldOffset=0x8)" P-INDEP
-;* V270 tmp267 [V270 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP
-;* V271 tmp268 [V271 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
-;* V272 tmp269 [V272 ] ( 0, 0 ) byref -> zero-ref single-def "field V101._reference (fldOffset=0x0)" P-INDEP
-;* V273 tmp270 [V273 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
-;* V274 tmp271 [V274 ] ( 0, 0 ) byref -> zero-ref single-def "field V103._reference (fldOffset=0x0)" P-INDEP
-;* V275 tmp272 [V275 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
-;* V276 tmp273 [V276 ] ( 0, 0 ) byref -> zero-ref single-def "field V106._reference (fldOffset=0x0)" P-INDEP
-;* V277 tmp274 [V277 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
-;* V278 tmp275 [V278 ] ( 0, 0 ) byref -> zero-ref single-def "field V109._reference (fldOffset=0x0)" P-INDEP
-;* V279 tmp276 [V279 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP
-;* V280 tmp277 [V280 ] ( 0, 0 ) byref -> zero-ref single-def "field V112._reference (fldOffset=0x0)" P-INDEP
-;* V281 tmp278 [V281 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP
-;* V282 tmp279 [V282 ] ( 0, 0 ) byref -> zero-ref single-def "field V113._reference (fldOffset=0x0)" P-INDEP
-;* V283 tmp280 [V283 ] ( 0, 0 ) int -> zero-ref "field V113._length (fldOffset=0x8)" P-INDEP
-;* V284 tmp281 [V284 ] ( 0, 0 ) long -> zero-ref "field V118.Item1 (fldOffset=0x0)" P-INDEP
-;* V285 tmp282 [V285 ] ( 0, 0 ) long -> zero-ref "field V118.Item2 (fldOffset=0x8)" P-INDEP
-;* V286 tmp283 [V286 ] ( 0, 0 ) long -> zero-ref "field V120.Item1 (fldOffset=0x0)" P-INDEP
-; V287 tmp284 [V287,T15] ( 2, 8 ) long -> x3 "field V120.Item2 (fldOffset=0x8)" P-INDEP
-; V288 tmp285 [V288,T83] ( 2, 1 ) byref -> x1 single-def "field V139._reference (fldOffset=0x0)" P-INDEP
-; V289 tmp286 [V289,T91] ( 2, 1 ) int -> x2 "field V139._length (fldOffset=0x8)" P-INDEP
-; V290 tmp287 [V290,T74] ( 2, 1.50) byref -> x1 single-def "field V141._reference (fldOffset=0x0)" P-INDEP
-; V291 tmp288 [V291,T57] ( 2, 2 ) int -> x2 "field V141._length (fldOffset=0x8)" P-INDEP
-;* V292 tmp289 [V292 ] ( 0, 0 ) byref -> zero-ref single-def "field V146._reference (fldOffset=0x0)" P-INDEP
-;* V293 tmp290 [V293 ] ( 0, 0 ) int -> zero-ref "field V146._length (fldOffset=0x8)" P-INDEP
-;* V294 tmp291 [V294 ] ( 0, 0 ) byref -> zero-ref single-def "field V147._reference (fldOffset=0x0)" P-INDEP
-;* V295 tmp292 [V295 ] ( 0, 0 ) int -> zero-ref "field V147._length (fldOffset=0x8)" P-INDEP
-; V296 tmp293 [V296,T84] ( 2, 1 ) byref -> x21 single-def "field V149._reference (fldOffset=0x0)" P-INDEP
-; V297 tmp294 [V297,T92] ( 2, 1 ) int -> x22 "field V149._length (fldOffset=0x8)" P-INDEP
-;* V298 tmp295 [V298 ] ( 0, 0 ) byref -> zero-ref "field V152._reference (fldOffset=0x0)" P-INDEP
-;* V299 tmp296 [V299 ] ( 0, 0 ) int -> zero-ref "field V152._length (fldOffset=0x8)" P-INDEP
-;* V300 tmp297 [V300 ] ( 0, 0 ) byref -> zero-ref single-def "field V153._reference (fldOffset=0x0)" P-INDEP
-;* V301 tmp298 [V301 ] ( 0, 0 ) int -> zero-ref "field V153._length (fldOffset=0x8)" P-INDEP
-;* V302 tmp299 [V302 ] ( 0, 0 ) byref -> zero-ref single-def "field V155._reference (fldOffset=0x0)" P-INDEP
-;* V303 tmp300 [V303 ] ( 0, 0 ) int -> zero-ref "field V155._length (fldOffset=0x8)" P-INDEP
-;* V304 tmp301 [V304 ] ( 0, 0 ) byref -> zero-ref "field V157._reference (fldOffset=0x0)" P-INDEP
-;* V305 tmp302 [V305 ] ( 0, 0 ) int -> zero-ref "field V157._length (fldOffset=0x8)" P-INDEP
-;* V306 tmp303 [V306 ] ( 0, 0 ) byref -> zero-ref "field V159._reference (fldOffset=0x0)" P-INDEP
-;* V307 tmp304 [V307 ] ( 0, 0 ) int -> zero-ref "field V159._length (fldOffset=0x8)" P-INDEP
-; V308 tmp305 [V308,T62] ( 3, 1.50) byref -> x2 "field V160._reference (fldOffset=0x0)" P-INDEP
-; V309 tmp306 [V309,T72] ( 3, 1.50) int -> x3 "field V160._length (fldOffset=0x8)" P-INDEP
-; V310 tmp307 [V310,T85] ( 2, 1 ) byref -> x2 single-def "field V162._reference (fldOffset=0x0)" P-INDEP
-; V311 tmp308 [V311,T93] ( 2, 1 ) int -> x3 "field V162._length (fldOffset=0x8)" P-INDEP
-;* V312 tmp309 [V312 ] ( 0, 0 ) byref -> zero-ref single-def "field V163._reference (fldOffset=0x0)" P-INDEP
-;* V313 tmp310 [V313 ] ( 0, 0 ) int -> zero-ref "field V163._length (fldOffset=0x8)" P-INDEP
-;* V314 tmp311 [V314 ] ( 0, 0 ) byref -> zero-ref single-def "field V168._reference (fldOffset=0x0)" P-INDEP
-;* V315 tmp312 [V315 ] ( 0, 0 ) int -> zero-ref "field V168._length (fldOffset=0x8)" P-INDEP
-;* V316 tmp313 [V316 ] ( 0, 0 ) byref -> zero-ref single-def "field V170._reference (fldOffset=0x0)" P-INDEP
-;* V317 tmp314 [V317 ] ( 0, 0 ) int -> zero-ref "field V170._length (fldOffset=0x8)" P-INDEP
-;* V318 tmp315 [V318 ] ( 0, 0 ) byref -> zero-ref single-def "field V173._reference (fldOffset=0x0)" P-INDEP
-;* V319 tmp316 [V319 ] ( 0, 0 ) int -> zero-ref "field V173._length (fldOffset=0x8)" P-INDEP
-;* V320 tmp317 [V320 ] ( 0, 0 ) byref -> zero-ref single-def "field V176._reference (fldOffset=0x0)" P-INDEP
-;* V321 tmp318 [V321 ] ( 0, 0 ) int -> zero-ref "field V176._length (fldOffset=0x8)" P-INDEP
-;* V322 tmp319 [V322 ] ( 0, 0 ) byref -> zero-ref single-def "field V179._reference (fldOffset=0x0)" P-INDEP
-;* V323 tmp320 [V323 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP
-;* V324 tmp321 [V324 ] ( 0, 0 ) byref -> zero-ref single-def "field V180._reference (fldOffset=0x0)" P-INDEP
-;* V325 tmp322 [V325 ] ( 0, 0 ) int -> zero-ref "field V180._length (fldOffset=0x8)" P-INDEP
-;* V326 tmp323 [V326 ] ( 0, 0 ) long -> zero-ref "field V185.Item1 (fldOffset=0x0)" P-INDEP
-;* V327 tmp324 [V327 ] ( 0, 0 ) long -> zero-ref "field V185.Item2 (fldOffset=0x8)" P-INDEP
+;* V246 tmp243 [V246 ] ( 0, 0 ) long -> zero-ref "field V56.Item1 (fldOffset=0x0)" P-INDEP
+; V247 tmp244 [V247,T16] ( 2, 8 ) long -> x4 "field V56.Item2 (fldOffset=0x8)" P-INDEP
+; V248 tmp245 [V248,T82] ( 2, 1 ) byref -> x1 single-def "field V75._reference (fldOffset=0x0)" P-INDEP
+; V249 tmp246 [V249,T90] ( 2, 1 ) int -> x2 "field V75._length (fldOffset=0x8)" P-INDEP
+;* V250 tmp247 [V250 ] ( 0, 0 ) byref -> zero-ref single-def "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V251 tmp248 [V251 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V252 tmp249 [V252 ] ( 0, 0 ) byref -> zero-ref single-def "field V81._reference (fldOffset=0x0)" P-INDEP
+;* V253 tmp250 [V253 ] ( 0, 0 ) int -> zero-ref "field V81._length (fldOffset=0x8)" P-INDEP
+; V254 tmp251 [V254,T83] ( 2, 1 ) byref -> x23 single-def "field V83._reference (fldOffset=0x0)" P-INDEP
+; V255 tmp252 [V255,T91] ( 2, 1 ) int -> x24 "field V83._length (fldOffset=0x8)" P-INDEP
+;* V256 tmp253 [V256 ] ( 0, 0 ) byref -> zero-ref "field V86._reference (fldOffset=0x0)" P-INDEP
+;* V257 tmp254 [V257 ] ( 0, 0 ) int -> zero-ref "field V86._length (fldOffset=0x8)" P-INDEP
+;* V258 tmp255 [V258 ] ( 0, 0 ) byref -> zero-ref single-def "field V87._reference (fldOffset=0x0)" P-INDEP
+;* V259 tmp256 [V259 ] ( 0, 0 ) int -> zero-ref "field V87._length (fldOffset=0x8)" P-INDEP
+;* V260 tmp257 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "field V89._reference (fldOffset=0x0)" P-INDEP
+;* V261 tmp258 [V261 ] ( 0, 0 ) int -> zero-ref "field V89._length (fldOffset=0x8)" P-INDEP
+;* V262 tmp259 [V262 ] ( 0, 0 ) byref -> zero-ref "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V263 tmp260 [V263 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
+;* V264 tmp261 [V264 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP
+;* V265 tmp262 [V265 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
+; V266 tmp263 [V266,T63] ( 3, 1.50) byref -> x2 "field V94._reference (fldOffset=0x0)" P-INDEP
+; V267 tmp264 [V267,T73] ( 3, 1.50) int -> x3 "field V94._length (fldOffset=0x8)" P-INDEP
+; V268 tmp265 [V268,T84] ( 2, 1 ) byref -> x2 single-def "field V96._reference (fldOffset=0x0)" P-INDEP
+; V269 tmp266 [V269,T92] ( 2, 1 ) int -> x3 "field V96._length (fldOffset=0x8)" P-INDEP
+;* V270 tmp267 [V270 ] ( 0, 0 ) byref -> zero-ref single-def "field V97._reference (fldOffset=0x0)" P-INDEP
+;* V271 tmp268 [V271 ] ( 0, 0 ) int -> zero-ref "field V97._length (fldOffset=0x8)" P-INDEP
+;* V272 tmp269 [V272 ] ( 0, 0 ) byref -> zero-ref single-def "field V102._reference (fldOffset=0x0)" P-INDEP
+;* V273 tmp270 [V273 ] ( 0, 0 ) int -> zero-ref "field V102._length (fldOffset=0x8)" P-INDEP
+;* V274 tmp271 [V274 ] ( 0, 0 ) byref -> zero-ref single-def "field V104._reference (fldOffset=0x0)" P-INDEP
+;* V275 tmp272 [V275 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
+;* V276 tmp273 [V276 ] ( 0, 0 ) byref -> zero-ref single-def "field V107._reference (fldOffset=0x0)" P-INDEP
+;* V277 tmp274 [V277 ] ( 0, 0 ) int -> zero-ref "field V107._length (fldOffset=0x8)" P-INDEP
+;* V278 tmp275 [V278 ] ( 0, 0 ) byref -> zero-ref single-def "field V110._reference (fldOffset=0x0)" P-INDEP
+;* V279 tmp276 [V279 ] ( 0, 0 ) int -> zero-ref "field V110._length (fldOffset=0x8)" P-INDEP
+;* V280 tmp277 [V280 ] ( 0, 0 ) byref -> zero-ref single-def "field V113._reference (fldOffset=0x0)" P-INDEP
+;* V281 tmp278 [V281 ] ( 0, 0 ) int -> zero-ref "field V113._length (fldOffset=0x8)" P-INDEP
+;* V282 tmp279 [V282 ] ( 0, 0 ) byref -> zero-ref single-def "field V114._reference (fldOffset=0x0)" P-INDEP
+;* V283 tmp280 [V283 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP
+;* V284 tmp281 [V284 ] ( 0, 0 ) long -> zero-ref "field V119.Item1 (fldOffset=0x0)" P-INDEP
+;* V285 tmp282 [V285 ] ( 0, 0 ) long -> zero-ref "field V119.Item2 (fldOffset=0x8)" P-INDEP
+;* V286 tmp283 [V286 ] ( 0, 0 ) long -> zero-ref "field V122.Item1 (fldOffset=0x0)" P-INDEP
+; V287 tmp284 [V287,T17] ( 2, 8 ) long -> x3 "field V122.Item2 (fldOffset=0x8)" P-INDEP
+; V288 tmp285 [V288,T85] ( 2, 1 ) byref -> x1 single-def "field V138._reference (fldOffset=0x0)" P-INDEP
+; V289 tmp286 [V289,T93] ( 2, 1 ) int -> x2 "field V138._length (fldOffset=0x8)" P-INDEP
+; V290 tmp287 [V290,T76] ( 2, 1.50) byref -> x1 single-def "field V140._reference (fldOffset=0x0)" P-INDEP
+; V291 tmp288 [V291,T59] ( 2, 2 ) int -> x2 "field V140._length (fldOffset=0x8)" P-INDEP
+;* V292 tmp289 [V292 ] ( 0, 0 ) byref -> zero-ref single-def "field V145._reference (fldOffset=0x0)" P-INDEP
+;* V293 tmp290 [V293 ] ( 0, 0 ) int -> zero-ref "field V145._length (fldOffset=0x8)" P-INDEP
+;* V294 tmp291 [V294 ] ( 0, 0 ) byref -> zero-ref single-def "field V146._reference (fldOffset=0x0)" P-INDEP
+;* V295 tmp292 [V295 ] ( 0, 0 ) int -> zero-ref "field V146._length (fldOffset=0x8)" P-INDEP
+; V296 tmp293 [V296,T86] ( 2, 1 ) byref -> x21 single-def "field V148._reference (fldOffset=0x0)" P-INDEP
+; V297 tmp294 [V297,T94] ( 2, 1 ) int -> x22 "field V148._length (fldOffset=0x8)" P-INDEP
+;* V298 tmp295 [V298 ] ( 0, 0 ) byref -> zero-ref "field V151._reference (fldOffset=0x0)" P-INDEP
+;* V299 tmp296 [V299 ] ( 0, 0 ) int -> zero-ref "field V151._length (fldOffset=0x8)" P-INDEP
+;* V300 tmp297 [V300 ] ( 0, 0 ) byref -> zero-ref single-def "field V152._reference (fldOffset=0x0)" P-INDEP
+;* V301 tmp298 [V301 ] ( 0, 0 ) int -> zero-ref "field V152._length (fldOffset=0x8)" P-INDEP
+;* V302 tmp299 [V302 ] ( 0, 0 ) byref -> zero-ref single-def "field V154._reference (fldOffset=0x0)" P-INDEP
+;* V303 tmp300 [V303 ] ( 0, 0 ) int -> zero-ref "field V154._length (fldOffset=0x8)" P-INDEP
+;* V304 tmp301 [V304 ] ( 0, 0 ) byref -> zero-ref "field V156._reference (fldOffset=0x0)" P-INDEP
+;* V305 tmp302 [V305 ] ( 0, 0 ) int -> zero-ref "field V156._length (fldOffset=0x8)" P-INDEP
+;* V306 tmp303 [V306 ] ( 0, 0 ) byref -> zero-ref "field V158._reference (fldOffset=0x0)" P-INDEP
+;* V307 tmp304 [V307 ] ( 0, 0 ) int -> zero-ref "field V158._length (fldOffset=0x8)" P-INDEP
+; V308 tmp305 [V308,T64] ( 3, 1.50) byref -> x2 "field V159._reference (fldOffset=0x0)" P-INDEP
+; V309 tmp306 [V309,T74] ( 3, 1.50) int -> x3 "field V159._length (fldOffset=0x8)" P-INDEP
+; V310 tmp307 [V310,T87] ( 2, 1 ) byref -> x2 single-def "field V161._reference (fldOffset=0x0)" P-INDEP
+; V311 tmp308 [V311,T95] ( 2, 1 ) int -> x3 "field V161._length (fldOffset=0x8)" P-INDEP
+;* V312 tmp309 [V312 ] ( 0, 0 ) byref -> zero-ref single-def "field V162._reference (fldOffset=0x0)" P-INDEP
+;* V313 tmp310 [V313 ] ( 0, 0 ) int -> zero-ref "field V162._length (fldOffset=0x8)" P-INDEP
+;* V314 tmp311 [V314 ] ( 0, 0 ) byref -> zero-ref single-def "field V167._reference (fldOffset=0x0)" P-INDEP
+;* V315 tmp312 [V315 ] ( 0, 0 ) int -> zero-ref "field V167._length (fldOffset=0x8)" P-INDEP
+;* V316 tmp313 [V316 ] ( 0, 0 ) byref -> zero-ref single-def "field V169._reference (fldOffset=0x0)" P-INDEP
+;* V317 tmp314 [V317 ] ( 0, 0 ) int -> zero-ref "field V169._length (fldOffset=0x8)" P-INDEP
+;* V318 tmp315 [V318 ] ( 0, 0 ) byref -> zero-ref single-def "field V172._reference (fldOffset=0x0)" P-INDEP
+;* V319 tmp316 [V319 ] ( 0, 0 ) int -> zero-ref "field V172._length (fldOffset=0x8)" P-INDEP
+;* V320 tmp317 [V320 ] ( 0, 0 ) byref -> zero-ref single-def "field V175._reference (fldOffset=0x0)" P-INDEP
+;* V321 tmp318 [V321 ] ( 0, 0 ) int -> zero-ref "field V175._length (fldOffset=0x8)" P-INDEP
+;* V322 tmp319 [V322 ] ( 0, 0 ) byref -> zero-ref single-def "field V178._reference (fldOffset=0x0)" P-INDEP
+;* V323 tmp320 [V323 ] ( 0, 0 ) int -> zero-ref "field V178._length (fldOffset=0x8)" P-INDEP
+;* V324 tmp321 [V324 ] ( 0, 0 ) byref -> zero-ref single-def "field V179._reference (fldOffset=0x0)" P-INDEP
+;* V325 tmp322 [V325 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP
+;* V326 tmp323 [V326 ] ( 0, 0 ) long -> zero-ref "field V184.Item1 (fldOffset=0x0)" P-INDEP
+;* V327 tmp324 [V327 ] ( 0, 0 ) long -> zero-ref "field V184.Item2 (fldOffset=0x8)" P-INDEP
;* V328 tmp325 [V328 ] ( 0, 0 ) long -> zero-ref "field V187.Item1 (fldOffset=0x0)" P-INDEP
-; V329 tmp326 [V329,T16] ( 2, 8 ) long -> x2 "field V187.Item2 (fldOffset=0x8)" P-INDEP
-; V330 tmp327 [V330,T86] ( 2, 1 ) byref -> x1 single-def "field V203._reference (fldOffset=0x0)" P-INDEP
-; V331 tmp328 [V331,T94] ( 2, 1 ) int -> x2 "field V203._length (fldOffset=0x8)" P-INDEP
-; V332 tmp329 [V332,T58] ( 2, 2 ) long -> x1 "Cast away GC"
+; V329 tmp326 [V329,T18] ( 2, 8 ) long -> x2 "field V187.Item2 (fldOffset=0x8)" P-INDEP
+; V330 tmp327 [V330,T88] ( 2, 1 ) byref -> x1 single-def "field V203._reference (fldOffset=0x0)" P-INDEP
+; V331 tmp328 [V331,T96] ( 2, 1 ) int -> x2 "field V203._length (fldOffset=0x8)" P-INDEP
+; V332 tmp329 [V332,T60] ( 2, 2 ) long -> x1 "Cast away GC"
;* V333 tmp330 [V333 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-; V334 tmp331 [V334,T59] ( 2, 2 ) long -> x21 "Cast away GC"
-; V335 tmp332 [V335,T50] ( 2, 2 ) ref -> x2 single-def "argument with side effect"
-; V336 tmp333 [V336,T60] ( 2, 2 ) long -> x20 "Cast away GC"
-; V337 GsCookie [V337 ] ( 1, 1 ) long -> [fp-0x90] do-not-enreg[X] addr-exposed "GSSecurityCookie"
+; V334 tmp331 [V334,T61] ( 2, 2 ) long -> x21 "Cast away GC"
+; V335 tmp332 [V335,T62] ( 2, 2 ) long -> x20 "Cast away GC"
+; V336 GsCookie [V336 ] ( 1, 1 ) long -> [fp-0x90] do-not-enreg[X] addr-exposed "GSSecurityCookie"
;
; Lcl frame size = 96
G_M16251_IG01:
sub sp, sp, #160
stp x19, x20, [sp, #0x60]
stp x21, x22, [sp, #0x70]
stp x23, x24, [sp, #0x80]
stp fp, lr, [sp, #0x90]
add fp, sp, #144
sub x9, fp, #136
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp xzr, xzr, [x9, #0x40]
str xzr, [x9, #0x50]
movz x1, #0xD1FFAB1E
movk x1, #17 LSL #16
- str x1, [fp, #-0x90] // [V337 GsCookie]
+ str x1, [fp, #-0x90] // [V336 GsCookie]
mov x19, x0
;; size=64 bbWeight=1 PerfScore 12.50
G_M16251_IG02:
ldp x0, xzr, [sp], #0xD1FFAB1E
mov x0, sp
str xzr, [fp, #-0x50] // [V01 loc0]
str x0, [fp, #-0x40] // [V01 loc0+0x10]
mov w0, #0xD1FFAB1E
str w0, [fp, #-0x38] // [V01 loc0+0x18]
str wzr, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [x19, #0x08]
cbz x1, G_M16251_IG05
;; size=36 bbWeight=1 PerfScore 12.00
G_M16251_IG03:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w2, [x1, #0x08]
cmp w2, #1
bne G_M16251_IG04
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
bhs G_M16251_IG04
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG64
+ bhs G_M16251_IG62
ldr x2, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x3, x0, #1, #32
add x2, x2, x3
ldrh w1, [x1, #0x0C]
strh w1, [x2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
b G_M16251_IG05
align [0 bytes for IG13]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=72 bbWeight=0.50 PerfScore 11.75
G_M16251_IG04:
sub x0, fp, #80 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:AppendSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M16251_IG05:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
bhs G_M16251_IG07
;; size=20 bbWeight=1 PerfScore 7.50
G_M16251_IG06:
mov w2, #32
strh w2, [x1, w0, UXTW #2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
b G_M16251_IG08
;; size=20 bbWeight=0.50 PerfScore 2.00
G_M16251_IG07:
sub x0, fp, #80 // [V01 loc0]
mov w1, #32
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):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_M16251_IG08:
ldr x0, [x19, #0x10]
tbnz x0, #63, G_M16251_IG10
;; size=8 bbWeight=1 PerfScore 4.00
G_M16251_IG09:
ldr x0, [x19, #0x10]
ldr w20, [fp, #-0x48] // [V01 loc0+0x08]
ldr w1, [fp, #-0x38] // [V01 loc0+0x18]
cmp w20, w1
bls G_M16251_IG12
- b G_M16251_IG63
+ b G_M16251_IG61
;; size=24 bbWeight=0.50 PerfScore 4.75
G_M16251_IG10:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
bhs G_M16251_IG11
mov w2, #42
strh w2, [x1, w0, UXTW #2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG40
+ b G_M16251_IG38
;; size=40 bbWeight=0.50 PerfScore 5.75
G_M16251_IG11:
sub x0, fp, #80 // [V01 loc0]
mov w1, #42
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- b G_M16251_IG40
+ b G_M16251_IG38
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M16251_IG12:
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x2, x20, #1, #32
add x1, x1, x2
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
sub w2, w2, w20
orr x3, x0, #1
clz x3, x3
eor w3, w3, #63
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w3, [x4, w3, SXTW #2]
ubfiz x4, x3, #3, #32
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x4, [x4, x5]
cmp x0, x4
cset x4, lo
sub w3, w3, w4
cmp w3, w2
bgt G_M16251_IG16
str w3, [fp, #-0x58] // [V13 tmp10]
str x1, [fp, #-0x60] // [V37 tmp34]
sbfiz x2, x3, #1, #32
add x1, x1, x2
mov x2, x0
cmp x2, #10
blo G_M16251_IG17
b G_M16251_IG14
;; size=120 bbWeight=0.50 PerfScore 13.50
G_M16251_IG13:
sub x1, x1, #4
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movk x3, #0xD1FFAB1E LSL #48
lsr x4, x2, #2
umulh x3, x4, x3
lsr x3, x3, #2
mov x4, #100
- msub x4, x3, x4, x2
+ mul x4, x3, x4
+ sub x4, x2, x4
mov x2, x3
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
add x3, x3, #16
lsl w4, w4, #2
mov w4, w4
ldr w3, [x3, x4]
str w3, [x1]
- ;; size=80 bbWeight=4 PerfScore 104.00
+ ;; size=84 bbWeight=4 PerfScore 94.00
G_M16251_IG14:
cmp x2, #100
bhs G_M16251_IG13
;; size=8 bbWeight=4 PerfScore 6.00
G_M16251_IG15:
cmp x2, #10
blo G_M16251_IG17
sub x1, x1, #4
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
add x3, x3, #16
lsl w2, w2, #2
mov w2, w2
ldr w2, [x3, x2]
str w2, [x1]
b G_M16251_IG18
align [0 bytes for IG26]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=52 bbWeight=0.50 PerfScore 6.75
G_M16251_IG16:
str wzr, [fp, #-0x58] // [V13 tmp10]
mov w2, wzr
b G_M16251_IG19
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M16251_IG17:
sub x1, x1, #2
add w2, w2, #48
strh w2, [x1]
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M16251_IG18:
str xzr, [fp, #-0x60] // [V37 tmp34]
mov w2, #1
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M16251_IG19:
str xzr, [fp, #-0x60] // [V37 tmp34]
cbz w2, G_M16251_IG20
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w1, [fp, #-0x58] // [V13 tmp10]
add w0, w0, w1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
b G_M16251_IG22
;; size=28 bbWeight=0.50 PerfScore 4.25
G_M16251_IG20:
movz x1, #0xD1FFAB1E // code for System.Number:UInt64ToDecStr(ulong):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
cbz x1, G_M16251_IG22
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w2, [x1, #0x08]
cmp w2, #1
bne G_M16251_IG21
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
bhs G_M16251_IG21
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG64
+ bhs G_M16251_IG62
ldr x2, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x3, x0, #1, #32
add x2, x2, x3
ldrh w1, [x1, #0x0C]
strh w1, [x2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
b G_M16251_IG22
;; size=100 bbWeight=0.50 PerfScore 15.25
G_M16251_IG21:
sub x0, fp, #80 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:AppendSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M16251_IG22:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
bhs G_M16251_IG23
mov w2, #45
strh w2, [x1, w0, UXTW #2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
b G_M16251_IG24
;; size=40 bbWeight=0.50 PerfScore 5.75
G_M16251_IG23:
sub x0, fp, #80 // [V01 loc0]
mov w1, #45
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):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_M16251_IG24:
ldr x20, [x19, #0x18]
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w1, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w1
- bhi G_M16251_IG63
+ bhi G_M16251_IG61
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x2, x0, #1, #32
add x21, x1, x2
ldr w1, [fp, #-0x38] // [V01 loc0+0x18]
sub w22, w1, w0
mov x23, x21
sxtw w24, w22
tbz x20, #63, G_M16251_IG25
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
ldr x4, [x0, #0x28]
cbnz x4, G_M16251_IG33
mov x2, xzr
mov w3, wzr
b G_M16251_IG34
;; size=92 bbWeight=0.50 PerfScore 14.00
G_M16251_IG25:
orr x4, x20, #1
clz x2, x4
eor w3, w2, #63
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4, w3, SXTW #2]
ubfiz x5, x4, #3, #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x5, [x5, x2]
cmp x20, x5
cset x5, lo
sub w4, w4, w5
cmp w4, w22
bgt G_M16251_IG29
- str w4, [fp, #-0x68] // [V78 tmp75]
- str x21, [fp, #-0x70] // [V102 tmp99]
+ str w4, [fp, #-0x68] // [V79 tmp76]
+ str x21, [fp, #-0x70] // [V103 tmp100]
sbfiz x4, x4, #1, #32
add x4, x21, x4
mov x5, x20
cmp x5, #10
blo G_M16251_IG30
b G_M16251_IG27
;; size=100 bbWeight=0.50 PerfScore 10.50
G_M16251_IG26:
sub x4, x4, #4
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movk x2, #0xD1FFAB1E LSL #48
lsr x3, x5, #2
umulh x2, x3, x2
lsr x2, x2, #2
mov x3, #100
- msub x3, x2, x3, x5
+ mul x3, x2, x3
+ sub x3, x5, x3
mov x5, x2
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
add x2, x2, #16
lsl w3, w3, #2
mov w3, w3
ldr w2, [x2, x3]
str w2, [x4]
- ;; size=80 bbWeight=4 PerfScore 104.00
+ ;; size=84 bbWeight=4 PerfScore 94.00
G_M16251_IG27:
cmp x5, #100
bhs G_M16251_IG26
;; size=8 bbWeight=4 PerfScore 6.00
G_M16251_IG28:
cmp x5, #10
blo G_M16251_IG30
sub x4, x4, #4
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
add x2, x2, #16
lsl w5, w5, #2
mov w5, w5
ldr w5, [x2, x5]
str w5, [x4]
b G_M16251_IG31
- align [0 bytes for IG49]
+ align [4 bytes for IG47]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=52 bbWeight=0.50 PerfScore 6.75
+ ;; size=56 bbWeight=0.50 PerfScore 6.75
G_M16251_IG29:
- str wzr, [fp, #-0x68] // [V78 tmp75]
+ str wzr, [fp, #-0x68] // [V79 tmp76]
mov w21, wzr
b G_M16251_IG32
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M16251_IG30:
sub x4, x4, #2
add w5, w5, #48
strh w5, [x4]
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M16251_IG31:
- str xzr, [fp, #-0x70] // [V102 tmp99]
+ str xzr, [fp, #-0x70] // [V103 tmp100]
mov w21, #1
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M16251_IG32:
- str xzr, [fp, #-0x70] // [V102 tmp99]
+ str xzr, [fp, #-0x70] // [V103 tmp100]
b G_M16251_IG35
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M16251_IG33:
add x2, x4, #12
ldr w3, [x4, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M16251_IG34:
mov x4, x23
mov w5, w24
- sub x6, fp, #104 // [V78 tmp75]
+ sub x6, fp, #104 // [V79 tmp76]
mov x0, x20
movn w1, #0
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt64ToDecStr[ushort](long,int,System.ReadOnlySpan`1[ushort],System.Span`1[ushort],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
sxtw w21, w0
;; size=44 bbWeight=0.50 PerfScore 4.25
G_M16251_IG35:
cbz w21, G_M16251_IG36
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
- ldr w1, [fp, #-0x68] // [V78 tmp75]
+ ldr w1, [fp, #-0x68] // [V79 tmp76]
add w0, w0, w1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG40
+ b G_M16251_IG38
;; size=24 bbWeight=0.50 PerfScore 3.75
G_M16251_IG36:
- tbz x20, #63, G_M16251_IG37
- 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
- ldr x2, [x0, #0x28]
mov x0, x20
- movn w1, #0
- movz x3, #0xD1FFAB1E // code for System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String
+ mov x1, xzr
+ mov x2, xzr
+ movz x3, #0xD1FFAB1E // code for System.Number:FormatInt64(long,System.String,System.IFormatProvider):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- b G_M16251_IG38
- ;; size=64 bbWeight=0.50 PerfScore 8.75
-G_M16251_IG37:
- mov x0, x20
- movz x1, #0xD1FFAB1E // code for System.Number:UInt64ToDecStr(ulong):System.String
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
- blr x1
- mov x1, x0
- ;; size=28 bbWeight=0.50 PerfScore 3.25
-G_M16251_IG38:
- cbz x1, G_M16251_IG40
+ cbz x1, G_M16251_IG38
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w2, [x1, #0x08]
cmp w2, #1
- bne G_M16251_IG39
+ bne G_M16251_IG37
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG39
+ bhs G_M16251_IG37
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG64
+ bhs G_M16251_IG62
ldr x2, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x3, x0, #1, #32
add x2, x2, x3
ldrh w1, [x1, #0x0C]
strh w1, [x2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG40
- ;; size=76 bbWeight=0.50 PerfScore 12.25
-G_M16251_IG39:
+ b G_M16251_IG38
+ ;; size=112 bbWeight=0.50 PerfScore 16.00
+G_M16251_IG37:
sub x0, fp, #80 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:AppendSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M16251_IG40:
+G_M16251_IG38:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG42
+ bhs G_M16251_IG40
;; size=20 bbWeight=1 PerfScore 7.50
-G_M16251_IG41:
+G_M16251_IG39:
mov w2, #47
strh w2, [x1, w0, UXTW #2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG43
+ b G_M16251_IG41
;; size=20 bbWeight=0.50 PerfScore 2.00
-G_M16251_IG42:
+G_M16251_IG40:
sub x0, fp, #80 // [V01 loc0]
mov w1, #47
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):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_M16251_IG43:
+G_M16251_IG41:
ldr x0, [x19, #0x20]
- tbnz x0, #63, G_M16251_IG45
+ tbnz x0, #63, G_M16251_IG43
;; size=8 bbWeight=1 PerfScore 4.00
-G_M16251_IG44:
+G_M16251_IG42:
ldr x0, [x19, #0x20]
- str x0, [fp, #-0x78] // [V142 tmp139]
+ str x0, [fp, #-0x78] // [V141 tmp138]
ldr w19, [fp, #-0x48] // [V01 loc0+0x08]
ldr w0, [fp, #-0x38] // [V01 loc0+0x18]
cmp w19, w0
- bls G_M16251_IG47
- b G_M16251_IG63
+ bls G_M16251_IG45
+ b G_M16251_IG61
;; size=28 bbWeight=0.50 PerfScore 5.25
-G_M16251_IG45:
+G_M16251_IG43:
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr x1, [fp, #-0x40] // [V01 loc0+0x10]
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG46
+ bhs G_M16251_IG44
mov w2, #42
strh w2, [x1, w0, UXTW #2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG61
+ b G_M16251_IG59
;; size=40 bbWeight=0.50 PerfScore 5.75
-G_M16251_IG46:
+G_M16251_IG44:
sub x0, fp, #80 // [V01 loc0]
mov w1, #42
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:GrowAndAppend(ushort):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- b G_M16251_IG61
+ b G_M16251_IG59
;; size=32 bbWeight=0.50 PerfScore 3.75
-G_M16251_IG47:
+G_M16251_IG45:
ldr x0, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x1, x19, #1, #32
add x20, x0, x1
ldr w0, [fp, #-0x38] // [V01 loc0+0x18]
sub w19, w0, w19
mov x21, x20
sxtw w22, w19
- ldr x23, [fp, #-0x78] // [V142 tmp139]
- tbz x23, #63, G_M16251_IG48
+ ldr x23, [fp, #-0x78] // [V141 tmp138]
+ tbz x23, #63, G_M16251_IG46
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
ldr x4, [x0, #0x28]
- cbnz x4, G_M16251_IG56
+ cbnz x4, G_M16251_IG54
mov x2, xzr
mov w3, wzr
- b G_M16251_IG57
+ b G_M16251_IG55
;; size=76 bbWeight=0.50 PerfScore 10.75
-G_M16251_IG48:
+G_M16251_IG46:
orr x4, x23, #1
clz x2, x4
eor w3, w2, #63
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4, w3, SXTW #2]
ubfiz x5, x4, #3, #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x5, [x5, x2]
cmp x23, x5
cset x5, lo
sub w4, w4, w5
cmp w4, w19
- bgt G_M16251_IG52
- str w4, [fp, #-0x80] // [V145 tmp142]
- str x20, [fp, #-0x88] // [V169 tmp166]
+ bgt G_M16251_IG50
+ str w4, [fp, #-0x80] // [V144 tmp141]
+ str x20, [fp, #-0x88] // [V168 tmp165]
sbfiz x4, x4, #1, #32
add x4, x20, x4
cmp x23, #10
- blo G_M16251_IG53
- b G_M16251_IG50
+ blo G_M16251_IG51
+ b G_M16251_IG48
;; size=96 bbWeight=0.50 PerfScore 10.25
-G_M16251_IG49:
+G_M16251_IG47:
sub x4, x4, #4
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
movk x5, #0xD1FFAB1E LSL #48
lsr x2, x23, #2
umulh x5, x2, x5
lsr x5, x5, #2
mov x2, #100
- msub x2, x5, x2, x23
+ mul x2, x5, x2
+ sub x2, x23, x2
mov x23, x5
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
add x5, x5, #16
lsl w2, w2, #2
mov w2, w2
ldr w5, [x5, x2]
str w5, [x4]
- ;; size=80 bbWeight=4 PerfScore 104.00
-G_M16251_IG50:
+ ;; size=84 bbWeight=4 PerfScore 94.00
+G_M16251_IG48:
cmp x23, #100
- bhs G_M16251_IG49
+ bhs G_M16251_IG47
;; size=8 bbWeight=4 PerfScore 6.00
-G_M16251_IG51:
+G_M16251_IG49:
cmp x23, #10
- blo G_M16251_IG53
+ blo G_M16251_IG51
sub x4, x4, #4
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
add x5, x5, #16
lsl w2, w23, #2
mov w2, w2
ldr w5, [x5, x2]
str w5, [x4]
- b G_M16251_IG54
+ b G_M16251_IG52
;; size=52 bbWeight=0.50 PerfScore 6.75
-G_M16251_IG52:
- str wzr, [fp, #-0x80] // [V145 tmp142]
+G_M16251_IG50:
+ str wzr, [fp, #-0x80] // [V144 tmp141]
mov w19, wzr
- b G_M16251_IG55
+ b G_M16251_IG53
;; size=12 bbWeight=0.50 PerfScore 1.25
-G_M16251_IG53:
+G_M16251_IG51:
sub x4, x4, #2
add w5, w23, #48
strh w5, [x4]
;; size=12 bbWeight=0.50 PerfScore 1.00
-G_M16251_IG54:
- str xzr, [fp, #-0x88] // [V169 tmp166]
+G_M16251_IG52:
+ str xzr, [fp, #-0x88] // [V168 tmp165]
mov w19, #1
;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M16251_IG55:
- str xzr, [fp, #-0x88] // [V169 tmp166]
- b G_M16251_IG58
+G_M16251_IG53:
+ str xzr, [fp, #-0x88] // [V168 tmp165]
+ b G_M16251_IG56
;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M16251_IG56:
+G_M16251_IG54:
add x2, x4, #12
ldr w3, [x4, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
-G_M16251_IG57:
+G_M16251_IG55:
mov x4, x21
mov w5, w22
- sub x6, fp, #128 // [V145 tmp142]
+ sub x6, fp, #128 // [V144 tmp141]
mov x0, x23
movn w1, #0
movz x7, #0xD1FFAB1E // code for System.Number:TryNegativeInt64ToDecStr[ushort](long,int,System.ReadOnlySpan`1[ushort],System.Span`1[ushort],byref):ubyte
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
sxtw w19, w0
;; size=44 bbWeight=0.50 PerfScore 4.25
-G_M16251_IG58:
- cbz w19, G_M16251_IG59
+G_M16251_IG56:
+ cbz w19, G_M16251_IG57
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
- ldr w1, [fp, #-0x80] // [V145 tmp142]
+ ldr w1, [fp, #-0x80] // [V144 tmp141]
add w0, w0, w1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG61
+ b G_M16251_IG59
;; size=24 bbWeight=0.50 PerfScore 3.75
-G_M16251_IG59:
- ldr x0, [fp, #-0x78] // [V142 tmp139]
+G_M16251_IG57:
+ ldr x0, [fp, #-0x78] // [V141 tmp138]
mov x1, xzr
mov x2, xzr
movz x3, #0xD1FFAB1E // code for System.Number:FormatInt64(long,System.String,System.IFormatProvider):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- cbz x1, G_M16251_IG61
+ cbz x1, G_M16251_IG59
ldr w0, [fp, #-0x48] // [V01 loc0+0x08]
ldr w2, [x1, #0x08]
cmp w2, #1
- bne G_M16251_IG60
+ bne G_M16251_IG58
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG60
+ bhs G_M16251_IG58
ldr w2, [fp, #-0x38] // [V01 loc0+0x18]
cmp w0, w2
- bhs G_M16251_IG64
+ bhs G_M16251_IG62
ldr x2, [fp, #-0x40] // [V01 loc0+0x10]
ubfiz x3, x0, #1, #32
add x2, x2, x3
ldrh w1, [x1, #0x0C]
strh w1, [x2]
add w0, w0, #1
str w0, [fp, #-0x48] // [V01 loc0+0x08]
- b G_M16251_IG61
+ b G_M16251_IG59
;; size=112 bbWeight=0.50 PerfScore 16.75
-G_M16251_IG60:
+G_M16251_IG58:
sub x0, fp, #80 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:AppendSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.50 PerfScore 3.00
-G_M16251_IG61:
+G_M16251_IG59:
sub x0, fp, #80 // [V01 loc0]
movz x1, #0xD1FFAB1E // code for System.Text.ValueStringBuilder:ToString():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz xip0, #0xD1FFAB1E
movk xip0, #17 LSL #16
- ldr xip1, [fp, #-0x90] // [V337 GsCookie]
+ ldr xip1, [fp, #-0x90] // [V336 GsCookie]
cmp xip0, xip1
- beq G_M16251_IG62
+ beq G_M16251_IG60
bl CORINFO_HELP_FAIL_FAST
;; size=48 bbWeight=1 PerfScore 11.50
-G_M16251_IG62:
+G_M16251_IG60:
sub sp, fp, #144
ldp fp, lr, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
ldp x19, x20, [sp, #0x60]
add sp, sp, #160
ret lr
;; size=28 bbWeight=1 PerfScore 6.00
-G_M16251_IG63:
+G_M16251_IG61:
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_M16251_IG64:
+G_M16251_IG62:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2368, prolog size 64, PerfScore 637.50, instruction count 604, allocated bytes for code 2368 (MethodHash=3a13c084) for method System.Net.Http.Headers.ContentRangeHeaderValue:ToString():System.String:this (FullOpts)
+; Total bytes of code 2328, prolog size 64, PerfScore 599.25, instruction count 593, allocated bytes for code 2328 (MethodHash=3a13c084) for method System.Net.Http.Headers.ContentRangeHeaderValue:ToString():System.String:this (FullOpts)
-36 (-2.80 % of base) - System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]]
; Assembly listing for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 17 single block inlinees; 14 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T10] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,System.Nullable`1[int]]>
-; V01 arg1 [V01,T11] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Object>
+; V00 arg0 [V00,T11] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Func`3[System.Object,long,System.Nullable`1[int]]>
+; V01 arg1 [V01,T12] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Object>
;* V02 arg2 [V02 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op single-def <System.Threading.CancellationToken>
-; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x22 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
-; V04 loc1 [V04,T33] ( 4, 1.50) ref -> [fp+0x18] class-hnd exact EH-live spill-single-def <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V03 loc0 [V03,T00] ( 15, 14 ) ref -> x23 class-hnd exact single-def <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
+; V04 loc1 [V04,T34] ( 4, 1.50) ref -> [fp+0x18] class-hnd exact EH-live spill-single-def <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
; V05 loc2 [V05 ] ( 5, 4 ) ubyte -> [fp+0x20] do-not-enreg[X] addr-exposed ld-addr-op
-; V06 loc3 [V06,T21] ( 4, 2.50) ref -> x23 ld-addr-op class-hnd <System.Threading.Tasks.Task>
+; V06 loc3 [V06,T22] ( 4, 2.50) ref -> x24 ld-addr-op class-hnd <System.Threading.Tasks.Task>
;* V07 loc4 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]>
-; V10 tmp2 [V10,T02] ( 4, 8 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Func`3[System.Threading.Tasks.Task,System.Object,System.Nullable`1[int]]>
-; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-; V12 tmp4 [V12,T14] ( 2, 4 ) ref -> x25 class-hnd single-def "impAppendStmt" <System.Object>
+; V10 tmp2 [V10,T02] ( 4, 8 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Func`3[System.Threading.Tasks.Task,System.Object,System.Nullable`1[int]]>
+; V11 tmp3 [V11,T03] ( 4, 8 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+; V12 tmp4 [V12,T15] ( 2, 4 ) ref -> x26 class-hnd single-def "impAppendStmt" <System.Object>
;* V13 tmp5 [V13 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V14 tmp6 [V14,T27] ( 2, 2 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
-; V15 tmp7 [V15,T28] ( 2, 2 ) ref -> x19 class-hnd single-def "impSpillLclRefs" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
-; V16 tmp8 [V16,T26] ( 4, 2 ) ref -> x19 single-def
-; V17 tmp9 [V17,T24] ( 5, 2.50) ref -> x24
-; V18 tmp10 [V18,T29] ( 2, 2 ) ref -> x25 class-hnd single-def "impAppendStmt" <System.Object>
+; V14 tmp6 [V14,T28] ( 2, 2 ) ref -> x26 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
+; V15 tmp7 [V15,T29] ( 2, 2 ) ref -> x19 class-hnd single-def "impSpillLclRefs" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+; V16 tmp8 [V16,T27] ( 4, 2 ) ref -> x19 single-def
+; V17 tmp9 [V17,T25] ( 5, 2.50) ref -> x26
+; V18 tmp10 [V18,T30] ( 2, 2 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Object>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V20 tmp12 [V20,T09] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
+; V20 tmp12 [V20,T10] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object]>
;* V21 tmp13 [V21 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V22 tmp14 [V22,T15] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
-; V23 tmp15 [V23,T16] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
-; V24 tmp16 [V24,T25] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
-; V25 tmp17 [V25,T08] ( 3, 6 ) ref -> x26 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+; V22 tmp14 [V22,T16] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V23 tmp15 [V23,T17] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
+; V24 tmp16 [V24,T26] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
+; V25 tmp17 [V25,T08] ( 3, 6 ) ref -> x27 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
;* V26 tmp18 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V27 tmp19 [V27 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
;* V28 tmp20 [V28 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-; V29 tmp21 [V29,T01] ( 8, 13 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
+; V29 tmp21 [V29,T01] ( 8, 13 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V30 tmp22 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationResultTaskFromTask`1[System.Nullable`1[int]]>
;* V31 tmp23 [V31 ] ( 0, 0 ) byref -> zero-ref
;* V32 tmp24 [V32 ] ( 0, 0 ) byref -> zero-ref
;* V33 tmp25 [V33 ] ( 0, 0 ) int -> zero-ref
-;* V34 tmp26 [V34,T31] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V34 tmp26 [V34,T32] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V35 tmp27 [V35 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;* V36 tmp28 [V36,T30] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-;* V37 tmp29 [V37,T32] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V36 tmp28 [V36,T31] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+;* V37 tmp29 [V37,T33] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V38 tmp30 [V38 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
-; V39 tmp31 [V39,T06] ( 4, 6 ) ref -> x28 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
-; V40 tmp32 [V40,T22] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Net.Dns+<>c__39`1[System.Nullable`1[int]]>
+; V39 tmp31 [V39,T06] ( 4, 6 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V40 tmp32 [V40,T23] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Net.Dns+<>c__39`1[System.Nullable`1[int]]>
;* V41 tmp33 [V41 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V42 tmp34 [V42,T23] ( 3, 3 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+; V42 tmp34 [V42,T24] ( 3, 3 ) ref -> x25 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
;* V43 tmp35 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V44 tmp36 [V44 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
;* V45 tmp37 [V45 ] ( 0, 0 ) int -> zero-ref ld-addr-op "Inline ldloca(s) first use temp"
-; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
+; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[System.Nullable`1[int]]>
;* V48 tmp40 [V48 ] ( 0, 0 ) byref -> zero-ref
;* V49 tmp41 [V49 ] ( 0, 0 ) byref -> zero-ref
;* V50 tmp42 [V50 ] ( 0, 0 ) int -> zero-ref
-;* V51 tmp43 [V51,T38] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V51 tmp43 [V51,T40] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V52 tmp44 [V52 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;* V53 tmp45 [V53,T34] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
-;* V54 tmp46 [V54,T39] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V53 tmp45 [V53,T36] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task>
+;* V54 tmp46 [V54,T41] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V55 tmp47 [V55 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
-; V56 tmp48 [V56,T12] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
-; V57 tmp49 [V57,T17] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
-; V58 tmp50 [V58,T18] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
-; V59 tmp51 [V59,T19] ( 2, 4 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
+; V56 tmp48 [V56,T13] ( 4, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.ExecutionContext>
+; V57 tmp49 [V57,T18] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Object,System.Threading.Tasks.Task]>
+; V58 tmp50 [V58,T19] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
+; V59 tmp51 [V59,T20] ( 2, 4 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.Nullable`1[int]]>
; V60 tmp52 [V60,T07] ( 3, 3 ) ref -> x19 single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;* V61 tmp53 [V61,T35] ( 0, 0 ) ref -> zero-ref single-def "field V13._source (fldOffset=0x0)" P-INDEP
-;* V62 tmp54 [V62,T41] ( 0, 0 ) ref -> zero-ref single-def "field V19._source (fldOffset=0x0)" P-INDEP
+;* V61 tmp53 [V61,T37] ( 0, 0 ) ref -> zero-ref single-def "field V13._source (fldOffset=0x0)" P-INDEP
+;* V62 tmp54 [V62,T43] ( 0, 0 ) ref -> zero-ref single-def "field V19._source (fldOffset=0x0)" P-INDEP
;* V63 tmp55 [V63 ] ( 0, 0 ) ref -> zero-ref single-def "field V35._source (fldOffset=0x0)" P-INDEP
-;* V64 tmp56 [V64,T36] ( 0, 0 ) ref -> zero-ref single-def "field V38._source (fldOffset=0x0)" P-INDEP
+;* V64 tmp56 [V64,T38] ( 0, 0 ) ref -> zero-ref single-def "field V38._source (fldOffset=0x0)" P-INDEP
;* V65 tmp57 [V65 ] ( 0, 0 ) ref -> zero-ref single-def "field V41._source (fldOffset=0x0)" P-INDEP
;* V66 tmp58 [V66 ] ( 0, 0 ) ref -> zero-ref single-def "field V52._source (fldOffset=0x0)" P-INDEP
-;* V67 tmp59 [V67,T42] ( 0, 0 ) ref -> zero-ref single-def "field V55._source (fldOffset=0x0)" P-INDEP
-; V68 tmp60 [V68,T20] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
-; V69 PSPSym [V69,T40] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
-;* V70 cse0 [V70,T43] ( 0, 0 ) byref -> zero-ref "CSE #06: moderate"
-;* V71 cse1 [V71,T37] ( 0, 0 ) byref -> zero-ref "CSE #08: moderate"
-; V72 cse2 [V72,T13] ( 4, 4 ) ref -> x21 "CSE #02: moderate"
+;* V67 tmp59 [V67,T44] ( 0, 0 ) ref -> zero-ref single-def "field V55._source (fldOffset=0x0)" P-INDEP
+; V68 tmp60 [V68,T21] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
+; V69 PSPSym [V69,T42] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
+;* V70 cse0 [V70,T45] ( 0, 0 ) byref -> zero-ref "CSE #05: moderate"
+;* V71 cse1 [V71,T39] ( 0, 0 ) byref -> zero-ref "CSE #08: moderate"
+; V72 cse2 [V72,T14] ( 4, 4 ) ref -> x21 "CSE #02: moderate"
; V73 cse3 [V73,T04] ( 11, 7.50) long -> x20 "CSE #01: aggressive"
+; V74 cse4 [V74,T09] ( 7, 5.50) long -> x22 "CSE #03: moderate"
+; V75 rat0 [V75,T35] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 32
G_M35011_IG01:
stp fp, lr, [sp, #-0x80]!
stp x19, x20, [sp, #0x30]
stp x21, x22, [sp, #0x40]
stp x23, x24, [sp, #0x50]
stp x25, x26, [sp, #0x60]
stp x27, x28, [sp, #0x70]
mov fp, sp
add x3, sp, #128
str x3, [fp, #0x28] // [V69 PSPSym]
mov x20, x0
mov x21, x1
mov x19, x2
;; size=48 bbWeight=1 PerfScore 9.50
G_M35011_IG02:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- add x14, x22, #8
+ mov x23, x0
+ add x14, x23, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- add x14, x22, #16
+ add x14, x23, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG32
- ;; size=64 bbWeight=1 PerfScore 12.50
+ ;; size=68 bbWeight=1 PerfScore 13.00
G_M35011_IG03:
movz x20, #0xD1FFAB1E // data for System.Net.NameResolutionTelemetry:Log
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
ldr x0, [x20]
- ldr x1, [x22, #0x10]
+ ldr x1, [x23, #0x10]
movz x2, #0xD1FFAB1E // code for System.Net.NameResolutionTelemetry:BeforeResolution(System.Object):long:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
- stp xzr, x0, [x22, #0x18]
+ stp xzr, x0, [x23, #0x18]
ldr x21, [x20, #-0x10]
mov x0, x21
str x0, [fp, #0x18] // [V04 loc1]
str wzr, [fp, #0x20] // [V05 loc2]
;; size=64 bbWeight=1 PerfScore 22.50
G_M35011_IG04:
ldrb w1, [fp, #0x20] // [V05 loc2]
cbnz w1, G_M35011_IG27
add x1, fp, #32 // [V05 loc2]
bl System.Threading.Monitor:ReliableEnter(System.Object,byref)
mov x0, x21
- ldr x1, [x22, #0x10]
+ ldr x1, [x23, #0x10]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M35011_IG06
;; size=48 bbWeight=1 PerfScore 14.50
G_M35011_IG05:
- ldr x23, [x0]
- cbnz x23, G_M35011_IG07
+ ldr x24, [x0]
+ cbnz x24, G_M35011_IG07
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M35011_IG06:
- ldr x23, [x20, #-0xB8]
+ ldr x24, [x20, #-0xB8]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M35011_IG07:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
- mov x15, x22
+ mov x25, x0
+ add x14, x25, #8
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Dns+<>c__DisplayClass39_0`1[System.Nullable`1[int]]:<RunAsync>b__0(System.Threading.Tasks.Task,System.Object):System.Nullable`1[int]:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
- ldr x25, [x22, #0x10]
+ str x0, [x25, #0x18]
+ ldr x26, [x23, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG20
- ;; size=72 bbWeight=1 PerfScore 16.00
+ ;; size=64 bbWeight=1 PerfScore 15.00
G_M35011_IG08:
- ldr x26, [x20, #0x88]
- ldrsb wzr, [x23]
- cbz x26, G_M35011_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ ldr x27, [x20, #0x88]
+ ldrsb wzr, [x24]
+ cbz x27, G_M35011_IG26
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x27, x0
- mov x1, x24
- mov x2, x25
+ mov x28, x0
+ mov x1, x25
+ mov x2, x26
mov x3, xzr
mov w4, #8
mov w5, #0xD1FFAB1E
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- mov x28, x0
- cbnz x28, G_M35011_IG10
- ;; size=104 bbWeight=1 PerfScore 25.50
+ mov x25, x0
+ cbnz x25, G_M35011_IG10
+ ;; size=96 bbWeight=1 PerfScore 24.50
G_M35011_IG09:
- add x0, x27, #52
+ add x0, x28, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x27, #52
+ add x1, x28, #52
stlr w0, [x1]
b G_M35011_IG12
;; size=24 bbWeight=0.50 PerfScore 3.25
G_M35011_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG21
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M35011_IG11:
ldr x0, [x20, #-0xE0]
- cmp x28, x0
+ cmp x25, x0
beq G_M35011_IG12
- mov x0, x27
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #8
- mov x15, x28
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG12:
- add x14, x27, #64
- mov x15, x23
+ add x14, x28, #64
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x23
- mov x1, x27
- mov x2, x26
+ mov x0, x24
+ mov x1, x28
+ mov x2, x27
mov x3, x19
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- add x14, x22, #24
- mov x15, x27
+ add x14, x23, #24
+ mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
cbz x19, G_M35011_IG19
;; size=68 bbWeight=1 PerfScore 13.00
G_M35011_IG13:
- ldr x19, [x22, #0x18]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldr w0, [x0]
- tbz w0, #0, G_M35011_IG22
- ;; size=24 bbWeight=0.50 PerfScore 4.25
+ ldr x19, [x23, #0x18]
+ add x0, x22, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr w1, [x1]
+ tbz w1, #0, G_M35011_IG22
+ ;; size=28 bbWeight=0.50 PerfScore 4.50
G_M35011_IG14:
- ldr x24, [x20, #0xD1FFAB1E]
- cbnz x24, G_M35011_IG15
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ ldr x26, [x20, #0xD1FFAB1E]
+ cbnz x26, G_M35011_IG15
+ add x0, x22, #176
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x26, x0
ldr x15, [x20, #0xD1FFAB1E]
cbz x15, G_M35011_IG25
- add x14, x24, #8
+ add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Net.Dns+<>c__39`1[System.Nullable`1[int]]:<RunAsync>b__39_1(System.Threading.Tasks.Task`1[System.Nullable`1[int]],System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x24, #0x18]
+ str x14, [x26, #0x18]
add x14, x20, #0xD1FFAB1E
- mov x15, x24
+ mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
- ;; size=72 bbWeight=0.50 PerfScore 8.50
+ ;; size=64 bbWeight=0.50 PerfScore 8.00
G_M35011_IG15:
- ldr x25, [x22, #0x10]
- ldr x23, [x20, #0x88]
+ ldr x24, [x23, #0x10]
+ ldr x25, [x20, #0x88]
ldrsb wzr, [x19]
- cbz x24, G_M35011_IG24
- cbz x23, G_M35011_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ cbz x26, G_M35011_IG24
+ cbz x25, G_M35011_IG26
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
- mov x1, x24
- mov x2, x25
+ mov x22, x0
+ mov x1, x26
+ mov x2, x24
mov x3, xzr
mov w4, wzr
mov w5, #0xD1FFAB1E
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x24, x0
cbnz x24, G_M35011_IG16
- add x0, x26, #52
+ add x0, x22, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x26, #52
+ add x1, x22, #52
stlr w0, [x1]
b G_M35011_IG18
- ;; size=136 bbWeight=0.50 PerfScore 18.00
+ ;; size=128 bbWeight=0.50 PerfScore 17.50
G_M35011_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M35011_IG23
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M35011_IG17:
ldr x0, [x20, #-0xE0]
cmp x24, x0
beq G_M35011_IG18
- mov x0, x26
+ mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #8
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M35011_IG18:
- add x14, x26, #56
+ add x14, x22, #56
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
- mov x1, x26
- mov x2, x23
+ mov x1, x22
+ mov x2, x25
mov x3, xzr
mov w4, #0xD1FFAB1E
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=52 bbWeight=0.50 PerfScore 5.00
G_M35011_IG19:
mov x0, x21
- ldp x1, x2, [x22, #0x10]
+ ldp x1, x2, [x23, #0x10]
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
b G_M35011_IG28
;; size=36 bbWeight=1 PerfScore 11.50
G_M35011_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M35011_IG08
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG21:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG11
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG22:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG14
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M35011_IG23:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG17
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG24:
mov w0, #49
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M35011_IG25:
movz x0, #0xD1FFAB1E // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M35011_IG26:
mov w0, #47
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M35011_IG27:
movz x1, #0xD1FFAB1E // code for System.Threading.Monitor:ThrowLockTakenException()
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M35011_IG28:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M35011_IG30
;; size=8 bbWeight=1 PerfScore 3.00
G_M35011_IG29:
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M35011_IG30:
- ldr x0, [x22, #0x18]
+ ldr x0, [x23, #0x18]
;; size=4 bbWeight=1 PerfScore 3.00
G_M35011_IG31:
ldp x27, x28, [sp, #0x70]
ldp x25, x26, [sp, #0x60]
ldp x23, x24, [sp, #0x50]
ldp x21, x22, [sp, #0x40]
ldp x19, x20, [sp, #0x30]
ldp fp, lr, [sp], #0x80
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M35011_IG32:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M35011_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M35011_IG33:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
stp x25, x26, [sp, #0x50]
stp x27, x28, [sp, #0x60]
add x3, fp, #128
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M35011_IG34:
ldrb w0, [fp, #0x20] // [V05 loc2]
cbz w0, G_M35011_IG35
ldr x0, [fp, #0x18] // [V04 loc1]
bl System.Threading.Monitor:Exit(System.Object)
;; size=16 bbWeight=0 PerfScore 0.00
G_M35011_IG35:
ldp x27, x28, [sp, #0x60]
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x70
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1288, prolog size 48, PerfScore 200.00, instruction count 322, allocated bytes for code 1288 (MethodHash=13e1773c) for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
+; Total bytes of code 1252, prolog size 48, PerfScore 197.75, instruction count 313, allocated bytes for code 1252 (MethodHash=13e1773c) for method System.Net.Dns:RunAsync[System.Nullable`1[int]](System.Func`3[System.Object,long,System.Nullable`1[int]],System.Object,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Nullable`1[int]] (FullOpts)
-32 (-0.75 % of base) - System.Security.Cryptography.Xml.KeyInfoX509Data:LoadXml(System.Xml.XmlElement):this
; Assembly listing for method System.Security.Cryptography.Xml.KeyInfoX509Data:LoadXml(System.Xml.XmlElement):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; 49 single block inlinees; 14 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T02] ( 12, 31.50) ref -> x19 this class-hnd single-def <System.Security.Cryptography.Xml.KeyInfoX509Data>
; V01 arg1 [V01,T30] ( 11, 11 ) ref -> x20 class-hnd single-def <System.Xml.XmlElement>
; V02 loc0 [V02,T39] ( 9, 9 ) ref -> x22 class-hnd exact single-def <System.Xml.XmlNamespaceManager>
;* V03 loc1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Xml.XmlNodeList>
; V04 loc2 [V04,T68] ( 5, 4 ) ref -> x27 class-hnd single-def <System.Xml.XmlNodeList>
; V05 loc3 [V05,T69] ( 5, 4 ) ref -> x23 class-hnd single-def <System.Xml.XmlNodeList>
; V06 loc4 [V06,T70] ( 5, 4 ) ref -> x28 class-hnd single-def <System.Xml.XmlNodeList>
; V07 loc5 [V07,T62] ( 5, 4.50) ref -> x25 class-hnd single-def <System.Xml.XmlNodeList>
; V08 loc6 [V08,T01] ( 20, 56 ) ref -> [fp+0x20] do-not-enreg[M] class-hnd EH-live <System.Collections.IEnumerator>
;* V09 loc7 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;* V10 loc8 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
; V11 loc9 [V11,T38] ( 24, 10 ) ref -> x0 class-hnd <System.IDisposable>
;* V12 loc10 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;* V13 loc11 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNode>
;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V16 tmp1 [V16,T50] ( 3, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
; V17 tmp2 [V17,T03] ( 4, 32 ) ref -> x21 class-hnd "dup spill" <System.Xml.XmlNode>
; V18 tmp3 [V18,T97] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
;* V19 tmp4 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
; V20 tmp5 [V20,T98] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V21 tmp6 [V21,T99] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
;* V22 tmp7 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Xml.XmlDocument>
; V23 tmp8 [V23,T71] ( 2, 4 ) ref -> x21 class-hnd single-def "Inlining Arg" <System.Xml.XmlImplementation>
; V24 tmp9 [V24,T63] ( 6, 4 ) ref -> x24 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V25 tmp10 [V25,T64] ( 6, 4 ) ref -> x23 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V26 tmp11 [V26,T81] ( 4, 2 ) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V27 tmp12 [V27,T57] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V28 tmp13 [V28,T88] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V29 tmp14 [V29,T75] ( 3, 3 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V30 tmp15 [V30,T85] ( 3, 2 ) ref -> x27 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V31 tmp16 [V31,T65] ( 6, 4 ) ref -> x23 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V32 tmp17 [V32,T82] ( 4, 2 ) ref -> x27 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V33 tmp18 [V33,T58] ( 5, 5 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V34 tmp19 [V34,T89] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V35 tmp20 [V35,T76] ( 3, 3 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V36 tmp21 [V36,T86] ( 3, 2 ) ref -> x23 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V37 tmp22 [V37,T66] ( 6, 4 ) ref -> x26 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V38 tmp23 [V38,T83] ( 4, 2 ) ref -> x23 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V39 tmp24 [V39,T59] ( 5, 5 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V40 tmp25 [V40,T90] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V41 tmp26 [V41,T77] ( 3, 3 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V42 tmp27 [V42,T87] ( 3, 2 ) ref -> x28 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V43 tmp28 [V43,T67] ( 6, 4 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V44 tmp29 [V44,T84] ( 4, 2 ) ref -> x28 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V45 tmp30 [V45,T60] ( 5, 5 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V46 tmp31 [V46,T91] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V47 tmp32 [V47,T78] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V48 tmp33 [V48,T79] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
; V49 tmp34 [V49,T18] ( 5, 16 ) ref -> x26 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V50 tmp35 [V50,T16] ( 6, 16 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V51 tmp36 [V51,T40] ( 4, 8 ) ref -> x26 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V52 tmp37 [V52,T06] ( 7, 28 ) ref -> [fp+0x18] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V53 tmp38 [V53,T42] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V54 tmp39 [V54,T31] ( 3, 12 ) ref -> x26 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V55 tmp40 [V55,T51] ( 3, 6 ) ref -> x26 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V56 tmp41 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V57 tmp42 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V58 tmp43 [V58,T43] ( 2, 8 ) ref -> x0 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V59 tmp44 [V59,T19] ( 5, 16 ) ref -> x21 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V60 tmp45 [V60,T17] ( 6, 16 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V61 tmp46 [V61,T41] ( 4, 8 ) ref -> x21 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V62 tmp47 [V62,T07] ( 7, 28 ) ref -> x24 class-hnd exact "NewObj constructor temp" <System.Xml.XPathNodeList>
; V63 tmp48 [V63,T44] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V64 tmp49 [V64,T32] ( 3, 12 ) ref -> x20 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V65 tmp50 [V65,T52] ( 3, 6 ) ref -> x21 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V66 tmp51 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V67 tmp52 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V68 tmp53 [V68,T45] ( 2, 8 ) ref -> x20 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V69 tmp54 [V69,T09] ( 3, 24 ) ref -> x0 class-hnd exact "Inlining Arg" <System.String>
; V70 tmp55 [V70,T46] ( 2, 8 ) ref -> x21 class-hnd "Inline return value spill temp" <ubyte[]>
; V71 tmp56 [V71,T04] ( 4, 32 ) ref -> x0 class-hnd exact "Inlining Arg" <System.String>
; V72 tmp57 [V72 ] ( 3, 12 ) byref -> [fp+0x30] must-init pinned "Inline stloc first use temp"
; V73 tmp58 [V73,T48] ( 2, 8 ) long -> x2
; V74 tmp59 [V74,T33] ( 3, 12 ) ref -> x24 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
; V75 tmp60 [V75,T20] ( 2, 16 ) ref -> x25 class-hnd exact "Inlining Arg" <System.String>
; V76 tmp61 [V76,T34] ( 3, 12 ) ref -> x21 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
; V77 tmp62 [V77,T10] ( 3, 24 ) ref -> x0 class-hnd exact "Inlining Arg" <System.String>
; V78 tmp63 [V78,T47] ( 2, 8 ) ref -> x0 class-hnd "Inline return value spill temp" <ubyte[]>
; V79 tmp64 [V79,T05] ( 4, 32 ) ref -> x0 class-hnd exact "Inlining Arg" <System.String>
; V80 tmp65 [V80 ] ( 3, 12 ) byref -> [fp+0x28] must-init pinned "Inline stloc first use temp"
; V81 tmp66 [V81,T49] ( 2, 8 ) long -> x2
; V82 tmp67 [V82,T80] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V83 tmp68 [V83,T21] ( 2, 16 ) ref -> x1 "argument with side effect"
; V84 tmp69 [V84,T35] ( 3, 12 ) ref -> x0 "arr expr"
; V85 tmp70 [V85,T36] ( 3, 12 ) ref -> x1 "arr expr"
; V86 tmp71 [V86,T22] ( 2, 16 ) ref -> x20 "argument with side effect"
; V87 tmp72 [V87,T23] ( 2, 16 ) ref -> x2 "argument with side effect"
; V88 tmp73 [V88,T100] ( 2, 0 ) ref -> x23 "argument with side effect"
; V89 tmp74 [V89,T101] ( 2, 0 ) ref -> x2 "argument with side effect"
; V90 tmp75 [V90,T24] ( 2, 16 ) ref -> x1 "argument with side effect"
; V91 tmp76 [V91,T11] ( 3, 24 ) ref -> x0 "argument with side effect"
; V92 tmp77 [V92,T28] ( 2, 16 ) long -> x1 "Cast away GC"
; V93 tmp78 [V93,T12] ( 3, 24 ) ref -> x0 "argument with side effect"
; V94 tmp79 [V94,T25] ( 2, 16 ) ref -> x1 "argument with side effect"
; V95 tmp80 [V95,T13] ( 3, 24 ) ref -> x0 "argument with side effect"
; V96 tmp81 [V96,T14] ( 3, 24 ) ref -> x0 "argument with side effect"
; V97 tmp82 [V97,T26] ( 2, 16 ) ref -> x1 "argument with side effect"
; V98 tmp83 [V98,T15] ( 3, 24 ) ref -> x0 "argument with side effect"
; V99 tmp84 [V99,T29] ( 2, 16 ) long -> x1 "Cast away GC"
; V100 tmp85 [V100,T27] ( 2, 16 ) ref -> x1 "argument with side effect"
; V101 tmp86 [V101,T102] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
; V102 tmp87 [V102,T103] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
; V103 tmp88 [V103,T104] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V104 PSPSym [V104,T96] ( 1, 1 ) long -> [fp+0x38] do-not-enreg[V] "PSPSym"
; V105 cse0 [V105,T55] ( 3, 6 ) int -> x1 "CSE #19: moderate"
; V106 cse1 [V106,T56] ( 3, 6 ) int -> x24 "CSE #24: moderate"
; V107 cse2 [V107,T37] ( 3, 12 ) long -> x24 "CSE #21: moderate"
; V108 cse3 [V108,T61] ( 5, 5 ) long -> x21 "CSE #04: moderate"
; V109 cse4 [V109,T74] ( 4, 3.50) long -> x20 "CSE #13: conservative"
; V110 cse5 [V110,T53] ( 3, 6 ) ref -> x0 "CSE #18: moderate"
; V111 cse6 [V111,T54] ( 3, 6 ) ref -> x20 "CSE #23: moderate"
; V112 cse7 [V112,T00] ( 21, 58 ) long -> x20 multi-def "CSE #16: aggressive"
; V113 cse8 [V113,T08] ( 24, 24 ) long -> x25 multi-def "CSE #03: aggressive"
; V114 rat0 [V114,T92] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V115 rat1 [V115,T93] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V116 rat2 [V116,T94] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V117 rat3 [V117,T95] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V118 rat4 [V118,T72] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
; V119 rat5 [V119,T73] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 48
G_M51464_IG01:
stp fp, lr, [sp, #-0x90]!
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
stp x23, x24, [sp, #0x60]
stp x25, x26, [sp, #0x70]
stp x27, x28, [sp, #0x80]
mov fp, sp
stp xzr, xzr, [fp, #0x28] // [V80 tmp65], [V72 tmp57]
add x2, sp, #144
str x2, [fp, #0x38] // [V104 PSPSym]
mov x19, x0
mov x20, x1
;; size=48 bbWeight=1 PerfScore 10.00
G_M51464_IG02:
cbz x20, G_M51464_IG75
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x30]
blr x1
ldr x21, [x0, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
ldr x1, [x21, #0x08]
mov x0, x22
movz x2, #0xD1FFAB1E // code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x22
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 x3, #0xD1FFAB1E // code for System.Xml.XmlNamespaceManager:AddNamespace(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x20
ldr x1, [x20]
ldr x21, [x1, #0x40]
ldr x1, [x21, #0x20]
blr x1
mov x23, x0
cbnz x23, G_M51464_IG04
;; size=152 bbWeight=1 PerfScore 47.50
G_M51464_IG03:
mov x24, xzr
b G_M51464_IG06
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M51464_IG04:
mov x0, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x23]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x24, x0
mov x1, x22
ldr x2, [x24]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
mov x26, x0
mov x0, x23
mov x1, x24
ldr x2, [x23]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG70
;; size=152 bbWeight=0.50 PerfScore 23.75
G_M51464_IG05:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x26, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x26, #0x18]
mov x24, x26
- ;; size=44 bbWeight=0.50 PerfScore 4.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
G_M51464_IG06:
mov x0, x20
ldr x1, [x21, #0x20]
blr x1
mov x23, x0
cbnz x23, G_M51464_IG08
;; size=20 bbWeight=1 PerfScore 6.00
G_M51464_IG07:
mov x27, xzr
b G_M51464_IG10
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M51464_IG08:
mov x0, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x23]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x27, x0
mov x1, x22
ldr x2, [x27]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
mov x28, x0
mov x0, x23
mov x1, x27
ldr x2, [x23]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x28, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG71
;; size=152 bbWeight=0.50 PerfScore 23.75
G_M51464_IG09:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x28, #0x18]
mov x27, x28
- ;; size=44 bbWeight=0.50 PerfScore 4.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
G_M51464_IG10:
mov x0, x20
ldr x1, [x21, #0x20]
blr x1
mov x26, x0
cbnz x26, G_M51464_IG12
;; size=20 bbWeight=1 PerfScore 6.00
G_M51464_IG11:
mov x23, xzr
b G_M51464_IG14
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M51464_IG12:
mov x0, x26
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x26]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x23, x0
mov x1, x22
ldr x2, [x23]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
mov x28, x0
mov x0, x26
mov x1, x23
ldr x2, [x26]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x28, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG72
;; size=152 bbWeight=0.50 PerfScore 23.75
G_M51464_IG13:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x28, #0x18]
mov x23, x28
- ;; size=44 bbWeight=0.50 PerfScore 4.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
G_M51464_IG14:
mov x0, x20
ldr x1, [x21, #0x20]
blr x1
mov x21, x0
cbnz x21, G_M51464_IG16
;; size=20 bbWeight=1 PerfScore 6.00
G_M51464_IG15:
mov x28, xzr
b G_M51464_IG18
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M51464_IG16:
mov x0, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x28, x0
mov x1, x22
ldr x2, [x28]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
mov x26, x0
mov x0, x21
mov x1, x28
ldr x2, [x21]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x21, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG73
;; size=152 bbWeight=0.50 PerfScore 23.75
G_M51464_IG17:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x26, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x26, #0x18]
mov x28, x26
- ;; size=44 bbWeight=0.50 PerfScore 4.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
G_M51464_IG18:
mov x0, x20
mov x2, x22
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SelectNodes(System.String,System.Xml.XmlNamespaceManager):System.Xml.XmlNodeList:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x25, x0
ldr x1, [x25]
ldr x20, [x1, #0x40]
ldr x1, [x20, #0x28]
blr x1
cbnz w0, G_M51464_IG20
;; size=64 bbWeight=1 PerfScore 19.50
G_M51464_IG19:
mov x0, x24
ldr x1, [x24]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cbnz w0, G_M51464_IG20
mov x0, x27
ldr x1, [x27]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cbnz w0, G_M51464_IG20
mov x0, x23
ldr x1, [x23]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cbnz w0, G_M51464_IG20
mov x0, x28
ldr x1, [x28]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cbz w0, G_M51464_IG74
;; size=96 bbWeight=0.50 PerfScore 23.00
G_M51464_IG20:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.KeyInfoX509Data:Clear():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x25
ldr x1, [x20, #0x28]
blr x1
cbz w0, G_M51464_IG22
;; size=40 bbWeight=1 PerfScore 11.50
G_M51464_IG21:
mov x0, x25
mov w1, wzr
ldr x2, [x20, #0x20]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
ldr w2, [x0, #0x08]
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardWhiteSpaces(System.String,int,int):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x1, #0xD1FFAB1E // code for System.Convert:FromBase64String(System.String):ubyte[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x19, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
;; size=92 bbWeight=0.50 PerfScore 15.75
G_M51464_IG22:
mov x0, x24
ldr x1, [x24]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
str x0, [fp, #0x20] // [V08 loc6]
;; size=24 bbWeight=1 PerfScore 11.50
G_M51464_IG23:
ldr x0, [fp, #0x20] // [V08 loc6]
movz x20, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
mov x11, x20
ldr xip0, [x11]
blr xip0
cbz w0, G_M51464_IG42
;; size=32 bbWeight=8 PerfScore 72.00
G_M51464_IG24:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
ldr x1, [x21]
ldr x24, [x1, #0x40]
ldr x1, [x24, #0x20]
blr x1
mov x20, x0
cbnz x20, G_M51464_IG26
;; size=80 bbWeight=4 PerfScore 104.00
G_M51464_IG25:
mov x26, xzr
b G_M51464_IG30
;; size=8 bbWeight=2 PerfScore 3.00
G_M51464_IG26:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x20]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x26, x0
mov x1, x22
ldr x2, [x26]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x18] // [V52 tmp37]
mov x0, x20
mov x1, x26
ldr x3, [x20]
ldr x3, [x3, #0x88]
ldr x3, [x3, #0x08]
blr x3
mov x15, x0
ldr x20, [fp, #0x18] // [V52 tmp37]
add x14, x20, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x26, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG37
;; size=156 bbWeight=2 PerfScore 100.00
G_M51464_IG27:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x20, #8
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x20, #0x18]
ldr x0, [x20, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M51464_IG28
mov x0, x20
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=2 PerfScore 46.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M51464_IG28:
ldr x0, [x20, #0x08]
ldr w1, [x0, #0x10]
cmp w1, #0
bgt G_M51464_IG29
mov x26, xzr
b G_M51464_IG30
;; size=24 bbWeight=2 PerfScore 18.00
G_M51464_IG29:
cbz w1, G_M51464_IG39
ldr x0, [x0, #0x08]
ldr w1, [x0, #0x08]
cmp w1, #0
bls G_M51464_IG41
ldr x26, [x0, #0x10]
;; size=24 bbWeight=2 PerfScore 23.00
G_M51464_IG30:
mov x0, x21
ldr x1, [x24, #0x20]
blr x1
mov x20, x0
cbnz x20, G_M51464_IG32
;; size=20 bbWeight=4 PerfScore 24.00
G_M51464_IG31:
mov x21, xzr
b G_M51464_IG35
;; size=8 bbWeight=2 PerfScore 3.00
G_M51464_IG32:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x20]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x21, x0
mov x1, x22
ldr x2, [x21]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov x0, x20
mov x1, x21
ldr x2, [x20]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x24, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x25, #216
bl CORINFO_HELP_NEWSFAST
mov x20, x0
add x0, x25, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG38
;; size=152 bbWeight=2 PerfScore 95.00
G_M51464_IG33:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x20, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x24, #0x18]
ldr x0, [x24, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M51464_IG34
mov x0, x24
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=2 PerfScore 46.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M51464_IG34:
ldr x20, [x24, #0x08]
ldr w24, [x20, #0x10]
cmp w24, #0
bgt G_M51464_IG36
mov x21, xzr
;; size=20 bbWeight=2 PerfScore 16.00
G_M51464_IG35:
cbz x26, G_M51464_IG40
cbz x21, G_M51464_IG40
mov x0, x26
ldr x1, [x26]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
movz x1, #0xD1FFAB1E // code for System.String:Trim():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x20, x0
mov x0, x21
ldr x1, [x21]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
movz x1, #0xD1FFAB1E // code for System.String:Trim():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.KeyInfoX509Data:InternalAddIssuerSerial(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M51464_IG23
;; size=136 bbWeight=4 PerfScore 194.00
G_M51464_IG36:
cbz w24, G_M51464_IG39
ldr x1, [x20, #0x08]
ldr w0, [x1, #0x08]
cmp w0, #0
bls G_M51464_IG41
ldr x21, [x1, #0x10]
b G_M51464_IG35
;; size=28 bbWeight=2 PerfScore 25.00
G_M51464_IG37:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG27
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG38:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG33
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG39:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
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_M51464_IG40:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x23, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x23
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
G_M51464_IG41:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG42:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG44
;; size=40 bbWeight=1 PerfScore 10.00
G_M51464_IG43:
add x11, x20, #88
ldr xip0, [x11]
blr xip0
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M51464_IG44:
mov x0, x27
ldr x1, [x27]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
str x0, [fp, #0x20] // [V08 loc6]
;; size=24 bbWeight=1 PerfScore 11.50
G_M51464_IG45:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #16
ldr xip0, [x11]
blr xip0
cbz w0, G_M51464_IG52
;; size=20 bbWeight=8 PerfScore 60.00
G_M51464_IG46:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #24
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
ldr w2, [x0, #0x08]
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardWhiteSpaces(System.String,int,int):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz x0, G_M51464_IG51
add x1, x0, #12
str x1, [fp, #0x30] // [V72 tmp57]
ldr x1, [fp, #0x30] // [V72 tmp57]
mov x2, x1
ldr w1, [x0, #0x08]
mov x0, x2
movz x2, #0xD1FFAB1E // code for System.Convert:FromBase64CharPtr(ulong,int):ubyte[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
str xzr, [fp, #0x30] // [V72 tmp57]
ldr x0, [x19, #0x18]
cbnz x0, G_M51464_IG49
;; size=160 bbWeight=4 PerfScore 210.00
G_M51464_IG47:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG50
;; size=40 bbWeight=2 PerfScore 17.00
G_M51464_IG48:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x24, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #24
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- ;; size=36 bbWeight=2 PerfScore 16.00
+ ;; size=32 bbWeight=2 PerfScore 15.00
G_M51464_IG49:
ldr x0, [x19, #0x18]
mov x1, x21
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x28]
blr x2
b G_M51464_IG45
;; size=28 bbWeight=4 PerfScore 58.00
G_M51464_IG50:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG48
;; size=20 bbWeight=0 PerfScore 0.00
G_M51464_IG51:
mov w0, #17
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_M51464_IG52:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG54
;; size=40 bbWeight=1 PerfScore 10.00
G_M51464_IG53:
add x11, x20, #80
ldr xip0, [x11]
blr xip0
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M51464_IG54:
mov x0, x23
ldr x1, [x23]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
str x0, [fp, #0x20] // [V08 loc6]
;; size=24 bbWeight=1 PerfScore 11.50
G_M51464_IG55:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #32
ldr xip0, [x11]
blr xip0
cbz w0, G_M51464_IG61
;; size=20 bbWeight=8 PerfScore 60.00
G_M51464_IG56:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #40
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
movz x1, #0xD1FFAB1E // code for System.String:Trim():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x25, x0
ldr x0, [x19, #0x20]
cbnz x0, G_M51464_IG59
;; size=104 bbWeight=4 PerfScore 148.00
G_M51464_IG57:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M51464_IG60
;; size=40 bbWeight=2 PerfScore 17.00
G_M51464_IG58:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #32
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=36 bbWeight=2 PerfScore 16.00
+ ;; size=32 bbWeight=2 PerfScore 15.00
G_M51464_IG59:
ldr x0, [x19, #0x20]
mov x1, x25
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x28]
blr x2
b G_M51464_IG55
;; size=28 bbWeight=4 PerfScore 58.00
G_M51464_IG60:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG58
;; size=20 bbWeight=0 PerfScore 0.00
G_M51464_IG61:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG63
;; size=40 bbWeight=1 PerfScore 10.00
G_M51464_IG62:
add x11, x20, #72
ldr xip0, [x11]
blr xip0
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M51464_IG63:
mov x0, x28
ldr x1, [x28]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
str x0, [fp, #0x20] // [V08 loc6]
;; size=24 bbWeight=1 PerfScore 11.50
G_M51464_IG64:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #48
ldr xip0, [x11]
blr xip0
cbz w0, G_M51464_IG67
;; size=20 bbWeight=8 PerfScore 60.00
G_M51464_IG65:
ldr x0, [fp, #0x20] // [V08 loc6]
add x11, x20, #56
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
ldr w2, [x0, #0x08]
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardWhiteSpaces(System.String,int,int):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz x0, G_M51464_IG66
add x1, x0, #12
str x1, [fp, #0x28] // [V80 tmp65]
ldr x1, [fp, #0x28] // [V80 tmp65]
mov x2, x1
ldr w1, [x0, #0x08]
mov x0, x2
movz x2, #0xD1FFAB1E // code for System.Convert:FromBase64CharPtr(ulong,int):ubyte[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str xzr, [fp, #0x28] // [V80 tmp65]
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509CertificateLoader:LoadCertificate(ubyte[]):System.Security.Cryptography.X509Certificates.X509Certificate2
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.KeyInfoX509Data:AddCertificate(System.Security.Cryptography.X509Certificates.X509Certificate):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M51464_IG64
;; size=200 bbWeight=4 PerfScore 244.00
G_M51464_IG66:
mov w0, #17
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_M51464_IG67:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG69
;; size=40 bbWeight=1 PerfScore 10.00
G_M51464_IG68:
add x11, x20, #64
ldr xip0, [x11]
blr xip0
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M51464_IG69:
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
ldp x21, x22, [sp, #0x50]
ldp x19, x20, [sp, #0x40]
ldp fp, lr, [sp], #0x90
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M51464_IG70:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG05
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG71:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG09
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG72:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG13
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG73:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M51464_IG17
;; size=8 bbWeight=0 PerfScore 0.00
G_M51464_IG74:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
G_M51464_IG75:
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.ArgumentNullException:.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_M51464_IG76:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M51464_IG77:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG78
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
add x11, x20, #88
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M51464_IG78:
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
G_M51464_IG79:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M51464_IG80:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG81
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
add x11, x20, #80
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M51464_IG81:
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
G_M51464_IG82:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M51464_IG83:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG84
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
add x11, x20, #72
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M51464_IG84:
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
G_M51464_IG85:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M51464_IG86:
ldr x1, [fp, #0x20] // [V08 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M51464_IG87
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
add x11, x20, #64
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M51464_IG87:
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 4256, prolog size 48, PerfScore 2097.25, instruction count 1064, allocated bytes for code 4256 (MethodHash=d0fc36f7) for method System.Security.Cryptography.Xml.KeyInfoX509Data:LoadXml(System.Xml.XmlElement):this (FullOpts)
+; Total bytes of code 4224, prolog size 48, PerfScore 2092.25, instruction count 1056, allocated bytes for code 4224 (MethodHash=d0fc36f7) for method System.Security.Cryptography.Xml.KeyInfoX509Data:LoadXml(System.Xml.XmlElement):this (FullOpts)
-24 (-0.73 % of base) - System.Security.Cryptography.Xml.Reference:CalculateHashValue(System.Xml.XmlDocument,System.Security.Cryptography.Xml.CanonicalXmlNodeList):ubyte[]:this
; Assembly listing for method System.Security.Cryptography.Xml.Reference:CalculateHashValue(System.Xml.XmlDocument,System.Security.Cryptography.Xml.CanonicalXmlNodeList):ubyte[]: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; 40 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T05] ( 34, 19 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.Xml.Reference>
; V01 arg1 [V01,T14] ( 10, 6.50) ref -> x20 class-hnd single-def <System.Xml.XmlDocument>
; V02 arg2 [V02,T21] ( 4, 3 ) ref -> x21 class-hnd single-def <System.Security.Cryptography.Xml.CanonicalXmlNodeList>
; V03 loc0 [V03,T31] ( 4, 2.50) ref -> x24 class-hnd single-def <System.String>
; V04 loc1 [V04,T13] ( 17, 10.50) ref -> [fp+0x28] do-not-enreg[M] class-hnd EH-live <System.IO.Stream>
;* V05 loc2 [V05,T85] ( 0, 0 ) ref -> zero-ref class-hnd EH-live single-def <System.Net.WebResponse>
;* V06 loc3 [V06,T86] ( 0, 0 ) ref -> zero-ref class-hnd EH-live single-def <System.IO.Stream>
;* V07 loc4 [V07,T68] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlResolver>
; V08 loc5 [V08,T38] ( 2, 2 ) ref -> x24 class-hnd single-def <ubyte[]>
;* V09 loc6 [V09 ] ( 0, 0 ) int -> zero-ref
; V10 loc7 [V10,T60] ( 2, 1 ) ref -> x20 class-hnd single-def <System.Xml.XmlDocument>
; V11 loc8 [V11,T01] ( 10, 46.75) ref -> x25 class-hnd exact single-def <System.String>
; V12 loc9 [V12 ] ( 2, 1 ) ubyte -> [fp+0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op
; V13 loc10 [V13,T24] ( 7, 3.50) ref -> x20 class-hnd <System.Xml.XmlElement>
; V14 loc11 [V14,T29] ( 5, 2.50) ref -> x21 class-hnd single-def <System.Xml.XmlDocument>
; V15 loc12 [V15,T15] ( 5, 8.50) ref -> [fp+0x20] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
; V16 loc13 [V16,T02] ( 10, 30.50) ref -> x23 class-hnd <System.Xml.XmlElement>
; V17 loc14 [V17,T53] ( 6, 1.50) ref -> x0 class-hnd <System.IDisposable>
; V18 loc15 [V18,T61] ( 2, 1 ) ref -> x21 class-hnd single-def <System.Xml.XmlDocument>
;# V19 OutArgs [V19 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V20 tmp1 [V20,T18] ( 11, 6 ) ref -> x23
; V21 tmp2 [V21,T71] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V22 tmp3 [V22,T72] ( 3, 0 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V23 tmp4 [V23,T34] ( 4, 2 ) ref -> x22
; V24 tmp5 [V24,T73] ( 3, 0 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V25 tmp6 [V25,T35] ( 4, 2 ) ref -> x26
;* V26 tmp7 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Security.Cryptography.Xml.TransformChain>
; V27 tmp8 [V27,T74] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V28 tmp9 [V28,T36] ( 4, 2 ) ref -> x26
; V29 tmp10 [V29,T75] ( 3, 0 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V30 tmp11 [V30,T54] ( 3, 1.50) ref -> x26
; V31 tmp12 [V31,T37] ( 4, 2 ) ref -> x22
;* V32 tmp13 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Security.Cryptography.Xml.TransformChain>
; V33 tmp14 [V33,T55] ( 3, 1.50) ref -> x21
; V34 tmp15 [V34,T76] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
;* V35 tmp16 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V36 tmp17 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
;* V37 tmp18 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
;* V38 tmp19 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
;* V39 tmp20 [V39 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
; V40 tmp21 [V40,T25] ( 2, 2 ) int -> x0 "spilling unroll qmark"
;* V41 tmp22 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
; V42 tmp23 [V42,T12] ( 2, 8 ) ubyte -> x0 "Inline return value spill temp"
;* V43 tmp24 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
; V44 tmp25 [V44,T16] ( 3, 8 ) ref -> registers
; V45 tmp26 [V45,T00] ( 8, 58 ) ref -> [fp+0x18] class-hnd "Inline stloc first use temp" <System.String>
; V46 tmp27 [V46,T03] ( 2, 8 ) ubyte -> x0 "Inline return value spill temp"
; V47 tmp28 [V47,T07] ( 2, 16 ) byref -> x0 "impAppendStmt"
;* V48 tmp29 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
;* V49 tmp30 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.SignedXml>
; V50 tmp31 [V50,T39] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V51 tmp32 [V51,T77] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V52 tmp33 [V52,T26] ( 3, 3 ) ref -> x1 single-def "arr expr"
; V53 tmp34 [V53,T78] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V54 tmp35 [V54,T27] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V55 tmp36 [V55,T40] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V56 tmp37 [V56,T28] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V57 tmp38 [V57,T08] ( 2, 16 ) ref -> x1 "argument with side effect"
; V58 tmp39 [V58,T09] ( 2, 16 ) ref -> x1 "argument with side effect"
; V59 tmp40 [V59,T32] ( 3, 2.25) ref -> x0 single-def "argument with side effect"
; V60 tmp41 [V60,T41] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V61 tmp42 [V61,T42] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V62 tmp43 [V62,T43] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V63 tmp44 [V63,T79] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V64 tmp45 [V64,T44] ( 2, 2 ) ref -> x25 single-def "argument with side effect"
; V65 tmp46 [V65,T45] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V66 tmp47 [V66,T80] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V67 tmp48 [V67,T81] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V68 tmp49 [V68,T46] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V69 tmp50 [V69,T82] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V70 tmp51 [V70,T83] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V71 tmp52 [V71,T47] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V72 tmp53 [V72,T48] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V73 tmp54 [V73,T49] ( 2, 2 ) ref -> x25 single-def "argument with side effect"
; V74 tmp55 [V74,T50] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V75 tmp56 [V75,T51] ( 2, 2 ) ref -> x25 single-def "argument with side effect"
; V76 tmp57 [V76,T52] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V77 tmp58 [V77,T84] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V78 PSPSym [V78,T69] ( 1, 1 ) long -> [fp+0x38] do-not-enreg[V] "PSPSym"
; V79 cse0 [V79,T56] ( 3, 1.50) ref -> x0 "CSE #20: moderate"
; V80 cse1 [V80,T06] ( 5, 18 ) long -> x28 "CSE #15: aggressive"
; V81 cse2 [V81,T17] ( 12, 6 ) ref -> x25 multi-def "CSE #02: aggressive"
; V82 cse3 [V82,T30] ( 5, 2.50) ref -> x0 "CSE #09: moderate"
; V83 cse4 [V83,T57] ( 3, 1.50) ref -> x0 "CSE #21: moderate"
; V84 cse5 [V84,T04] ( 7, 22 ) ref -> x26 "CSE #13: aggressive"
; V85 cse6 [V85,T11] ( 4, 12 ) long -> x27 "CSE #14: aggressive"
; V86 cse7 [V86,T10] ( 6, 12.50) long -> x21 multi-def "CSE #12: aggressive"
; V87 cse8 [V87,T20] ( 8, 5 ) long -> x22 "CSE #01: moderate"
; V88 rat0 [V88,T22] ( 5, 3.75) ref -> registers "replacement local"
; V89 rat1 [V89,T58] ( 3, 1.25) long -> x3 "CSE for expectedClsNode"
; V90 rat2 [V90,T33] ( 3, 2.25) ref -> x1 "Spilling to split statement for tree"
; V91 rat3 [V91,T23] ( 5, 3.75) ref -> x0 "replacement local"
; V92 rat4 [V92,T59] ( 3, 1.25) long -> x2 "CSE for expectedClsNode"
; V93 rat5 [V93,T62] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V94 rat6 [V94,T63] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V95 rat7 [V95,T64] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V96 rat8 [V96,T65] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V97 rat9 [V97,T66] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V98 rat10 [V98,T67] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
; V99 rat11 [V99,T19] ( 3, 5.50) int -> x0 "ReplaceWithLclVar is creating a new local variable"
; V100 rat12 [V100,T70] ( 3, 3 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 48
G_M10847_IG01:
stp fp, lr, [sp, #-0x90]!
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
stp x23, x24, [sp, #0x60]
stp x25, x26, [sp, #0x70]
stp x27, x28, [sp, #0x80]
mov fp, sp
str xzr, [fp, #0x30] // [V12 loc9]
add x3, sp, #144
str x3, [fp, #0x38] // [V78 PSPSym]
mov x19, x0
mov x20, x1
mov x21, x2
;; size=52 bbWeight=1 PerfScore 10.50
G_M10847_IG02:
ldr x1, [x19, #0x28]
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
mov x0, x22
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CryptoHelpers:CreateFromName[System.__Canon](System.String):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x38]
cbz x0, G_M10847_IG71
cbz x20, G_M10847_IG04
;; size=64 bbWeight=1 PerfScore 17.50
G_M10847_IG03:
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
mov x23, x0
b G_M10847_IG05
;; size=28 bbWeight=0.50 PerfScore 6.00
G_M10847_IG04:
movz x0, #0xD1FFAB1E // code for Interop+Sys:GetCwd():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
mov x23, x0
;; size=56 bbWeight=0.50 PerfScore 6.50
G_M10847_IG05:
mov x24, x23
str xzr, [fp, #0x28] // [V04 loc1]
;; size=8 bbWeight=1 PerfScore 1.50
G_M10847_IG06:
ldr w0, [x19, #0x60]
cmp w0, #2
bhi G_M10847_IG56
;; size=12 bbWeight=1 PerfScore 4.50
G_M10847_IG07:
mov w0, w0
adr x1, [@RWD00]
ldr w1, [x1, x0, LSL #2]
adr x2, [G_M10847_IG02]
add x1, x1, x2
br x1
;; size=24 bbWeight=0.75 PerfScore 4.50
G_M10847_IG08:
ldr x0, [x19, #0x10]
cbnz x0, G_M10847_IG11
ldr x25, [x19, #0x50]
ldrb w0, [x25, #0x80]
cbnz w0, G_M10847_IG43
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG65
;; size=44 bbWeight=0.50 PerfScore 8.50
G_M10847_IG09:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x26, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG10:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x3, x23
mov x2, x26
mov x1, xzr
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=68 bbWeight=0.50 PerfScore 9.00
G_M10847_IG11:
ldr w1, [x0, #0x08]
cbnz w1, G_M10847_IG14
cbz x20, G_M10847_IG64
ldr x25, [x19, #0x50]
ldrb w0, [x25, #0x80]
cbnz w0, G_M10847_IG42
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG63
;; size=48 bbWeight=0.50 PerfScore 9.00
G_M10847_IG12:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x26, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG13:
mov x0, x20
mov x1, x26
mov x2, x23
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:PreProcessDocumentInput(System.Xml.XmlDocument,System.Xml.XmlResolver,System.String):System.Xml.XmlDocument
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardComments(System.Xml.XmlDocument):System.Xml.XmlDocument
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x20
mov x2, x26
mov x3, x23
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=124 bbWeight=0.50 PerfScore 15.50
G_M10847_IG14:
mov x1, x0
ldr w2, [x1, #0x08]
cmp w2, #0
bls G_M10847_IG57
ldrh w1, [x1, #0x0C]
cmp w1, #35
bne G_M10847_IG62
add x1, fp, #48 // [V12 loc9]
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:GetIdFromLocalUri(System.String,byref):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x25, x0
cbz x25, G_M10847_IG19
;; size=60 bbWeight=0.50 PerfScore 8.50
G_M10847_IG15:
ldr w0, [x25, #0x08]
cmp w0, #11
bne G_M10847_IG19
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M10847_IG16:
ldr q16, [x25, #0x0C]
ldr q17, [@RWD16]
eor v16.2d, v16.2d, v17.2d
ldr q17, [x25, #0x12]
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_M10847_IG19
cbz x20, G_M10847_IG61
ldr x0, [x19, #0x50]
ldrb w0, [x0, #0x80]
cbnz w0, G_M10847_IG41
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG60
;; size=88 bbWeight=0.50 PerfScore 14.75
G_M10847_IG17:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x26, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG18:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x25, x0
mov x0, x20
mov x1, x26
mov x2, x23
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:PreProcessDocumentInput(System.Xml.XmlDocument,System.Xml.XmlResolver,System.String):System.Xml.XmlDocument
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
mov x0, x25
mov x2, x26
mov x3, x23
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=108 bbWeight=0.50 PerfScore 13.00
G_M10847_IG19:
ldr x0, [x19, #0x50]
mov x1, x20
mov x2, x25
ldr x3, [x0]
ldr x3, [x3, #0x40]
ldr x3, [x3, #0x28]
blr x3
mov x20, x0
cbz x20, G_M10847_IG20
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
mov x1, x0
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
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:GetPropagatedAttributes(System.Xml.XmlElement):System.Security.Cryptography.Xml.CanonicalXmlNodeList
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x19, #88
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M10847_IG33
;; size=128 bbWeight=0.50 PerfScore 21.00
G_M10847_IG20:
cbz x21, G_M10847_IG33
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x58]
ldr x1, [x1]
blr x1
mov x1, x0
str x1, [fp, #0x20] // [V15 loc12]
;; size=32 bbWeight=0.50 PerfScore 7.75
G_M10847_IG21:
ldr x1, [fp, #0x20] // [V15 loc12]
mov x0, x1
movz x21, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x11, x21
ldr xip0, [x11]
blr xip0
cbz w0, G_M10847_IG32
ldr x0, [fp, #0x20] // [V15 loc12]
add x11, x21, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
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
mov x23, x0
cbz x23, G_M10847_IG21
mov x0, x23
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
mov x1, x26
ldr x27, [x23]
ldr x28, [x27, #0x90]
ldr x2, [x28, #0x28]
blr x2
cbnz w0, G_M10847_IG22
mov x0, x23
mov x1, x26
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x28, #0x30]
blr x3
cbz w0, G_M10847_IG21
;; size=204 bbWeight=4 PerfScore 214.00
G_M10847_IG22:
mov x0, x23
mov x1, x26
ldr x2, [x28, #0x28]
blr x2
cbnz w0, G_M10847_IG24
;; size=20 bbWeight=4 PerfScore 24.00
G_M10847_IG23:
mov x2, xzr
b G_M10847_IG25
;; size=8 bbWeight=2 PerfScore 3.00
G_M10847_IG24:
mov x0, x23
mov x1, x26
ldr x2, [x27, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x3, x0
mov x2, x3
;; size=28 bbWeight=2 PerfScore 18.00
G_M10847_IG25:
mov x3, x2
str x3, [fp, #0x18] // [V45 tmp26]
cbnz x3, G_M10847_IG27
;; size=12 bbWeight=4 PerfScore 10.00
G_M10847_IG26:
mov x0, x23
mov x1, x26
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x4, [x28, #0x30]
blr x4
cbz w0, G_M10847_IG27
mov x0, x23
mov x1, x26
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x27, #0x88]
ldr x3, [x3, #0x30]
blr x3
mov x26, x0
str x26, [fp, #0x18] // [V45 tmp26]
;; size=72 bbWeight=2 PerfScore 37.00
G_M10847_IG27:
ldr x3, [fp, #0x18] // [V45 tmp26]
ldrsb wzr, [x3]
cmp x3, x25
bne G_M10847_IG29
;; size=16 bbWeight=4 PerfScore 26.00
G_M10847_IG28:
mov x20, x23
ldr x0, [x19, #0x50]
ldr x0, [x0, #0x58]
cbz x0, G_M10847_IG32
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:GetPropagatedAttributes(System.Xml.XmlElement):System.Security.Cryptography.Xml.CanonicalXmlNodeList
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x19, #88
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M10847_IG32
;; size=52 bbWeight=0.50 PerfScore 8.00
G_M10847_IG29:
cbz x25, G_M10847_IG21
;; size=4 bbWeight=4 PerfScore 4.00
G_M10847_IG30:
ldr x1, [fp, #0x20] // [V15 loc12]
ldr w2, [x3, #0x08]
ldr w0, [x25, #0x08]
cmp w2, w0
bne G_M10847_IG21
;; size=20 bbWeight=32 PerfScore 304.00
G_M10847_IG31:
add x0, x3, #12
ldr w2, [x3, #0x08]
lsl w2, w2, #1
mov w2, w2
add x1, x25, #12
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz w0, G_M10847_IG21
b G_M10847_IG28
;; size=48 bbWeight=4 PerfScore 52.00
G_M10847_IG32:
ldr x1, [fp, #0x20] // [V15 loc12]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M10847_IG33
add x11, x21, #16
ldr xip0, [x11]
blr xip0
;; size=52 bbWeight=0.50 PerfScore 7.25
G_M10847_IG33:
cbz x20, G_M10847_IG59
mov x0, x20
mov x1, xzr
mov x2, x24
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:PreProcessElementInput(System.Xml.XmlElement,System.Xml.XmlResolver,System.String):System.Xml.XmlDocument
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x21, x0
mov w1, #1
ldr x2, [x21]
ldr x2, [x2, #0x78]
ldr x2, [x2, #0x18]
blr x2
mov x2, x0
cbz x2, G_M10847_IG36
;; size=68 bbWeight=0.50 PerfScore 10.25
G_M10847_IG34:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M10847_IG36
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M10847_IG35:
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_M10847_IG36:
mov x0, x2
ldr x1, [x19, #0x58]
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:AddNamespaces(System.Xml.XmlElement,System.Security.Cryptography.Xml.CanonicalXmlNodeList)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x50]
ldrb w1, [x0, #0x80]
cbnz w1, G_M10847_IG39
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG58
;; size=64 bbWeight=0.50 PerfScore 11.00
G_M10847_IG37:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG38:
ldrb w0, [fp, #0x30] // [V12 loc9]
cbz w0, G_M10847_IG40
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardComments(System.Xml.XmlDocument):System.Xml.XmlDocument
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x21
mov x2, x22
mov x3, x24
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=104 bbWeight=0.50 PerfScore 13.75
G_M10847_IG39:
ldr x22, [x0, #0x50]
b G_M10847_IG38
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M10847_IG40:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x21
mov x2, x22
mov x3, x24
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=68 bbWeight=0.50 PerfScore 9.00
G_M10847_IG41:
ldr x0, [x19, #0x50]
ldr x26, [x0, #0x50]
b G_M10847_IG18
;; size=12 bbWeight=0.50 PerfScore 3.50
G_M10847_IG42:
ldr x26, [x25, #0x50]
b G_M10847_IG13
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M10847_IG43:
ldr x26, [x25, #0x50]
b G_M10847_IG10
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M10847_IG44:
ldr x25, [x19, #0x50]
ldrb w0, [x25, #0x80]
cbnz w0, G_M10847_IG50
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG66
;; size=36 bbWeight=0.50 PerfScore 6.50
G_M10847_IG45:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG46:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x25, x0
ldr x1, [x19, #0x40]
mov x0, x1
cbz x0, G_M10847_IG49
;; size=40 bbWeight=0.50 PerfScore 5.50
G_M10847_IG47:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x0]
cmp x3, x2
beq G_M10847_IG49
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M10847_IG48:
mov x0, x2
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.12 PerfScore 0.75
G_M10847_IG49:
mov x1, x22
mov x2, x23
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:PreProcessElementInput(System.Xml.XmlElement,System.Xml.XmlResolver,System.String):System.Xml.XmlDocument
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
mov x0, x25
mov x2, x22
mov x3, x23
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
b G_M10847_IG54
;; size=76 bbWeight=0.50 PerfScore 9.50
G_M10847_IG50:
ldr x22, [x25, #0x50]
b G_M10847_IG46
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M10847_IG51:
ldr x25, [x19, #0x50]
ldrb w0, [x25, #0x80]
cbnz w0, G_M10847_IG55
add x0, x22, #216
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M10847_IG67
;; size=36 bbWeight=0.50 PerfScore 6.50
G_M10847_IG52:
movz x0, #0xD1FFAB1E // data for System.Xml.XmlResolver+XmlThrowingResolver:s_singleton
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x21, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+ ;; size=12 bbWeight=0.50 PerfScore 2.00
G_M10847_IG53:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:get_TransformChain():System.Security.Cryptography.Xml.TransformChain:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x25, x0
ldr x1, [x19, #0x40]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x25
mov x2, x21
mov x3, x23
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.TransformChain:TransformToOctetStream(System.Object,System.Xml.XmlResolver,System.String):System.IO.Stream:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
ldr wzr, [x0]
blr x4
str x0, [fp, #0x28] // [V04 loc1]
;; size=108 bbWeight=0.50 PerfScore 14.00
G_M10847_IG54:
mov x0, x19
ldr x1, [fp, #0x28] // [V04 loc1]
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:LogReferenceData(System.Security.Cryptography.Xml.Reference,System.IO.Stream):System.IO.Stream
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x0, [fp, #0x28] // [V04 loc1]
ldr x0, [x19, #0x38]
ldr x1, [fp, #0x28] // [V04 loc1]
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.HashAlgorithm:ComputeHash(System.IO.Stream):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x24, x0
b G_M10847_IG68
;; size=72 bbWeight=1 PerfScore 24.00
G_M10847_IG55:
ldr x21, [x25, #0x50]
b G_M10847_IG53
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M10847_IG56:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_UriNotResolved():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
ldr x2, [x19, #0x10]
mov x0, x20
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x20
bl CORINFO_HELP_THROW
brk_unix #0
;; size=84 bbWeight=0 PerfScore 0.00
G_M10847_IG57:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG58:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG37
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG59:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_InvalidReference():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x23
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M10847_IG60:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG17
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG61:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_SelfReferenceRequiresContext():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
ldr x1, [x19, #0x10]
movz x2, #0xD1FFAB1E // code for System.SR:Format(System.String,System.Object):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x20
bl CORINFO_HELP_THROW
brk_unix #0
;; size=104 bbWeight=0 PerfScore 0.00
G_M10847_IG62:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_UriNotResolved():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
ldr x2, [x19, #0x10]
mov x0, x23
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x23
bl CORINFO_HELP_THROW
brk_unix #0
;; size=84 bbWeight=0 PerfScore 0.00
G_M10847_IG63:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG12
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG64:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_SelfReferenceRequiresContext():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
ldr x1, [x19, #0x10]
movz x2, #0xD1FFAB1E // code for System.SR:Format(System.String,System.Object):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x23
bl CORINFO_HELP_THROW
brk_unix #0
;; size=104 bbWeight=0 PerfScore 0.00
G_M10847_IG65:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG09
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG66:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG45
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG67:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M10847_IG52
;; size=8 bbWeight=0 PerfScore 0.00
G_M10847_IG68:
ldr x0, [fp, #0x28] // [V04 loc1]
cbz x0, G_M10847_IG69
ldr x0, [fp, #0x28] // [V04 loc1]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=32 bbWeight=1 PerfScore 15.50
G_M10847_IG69:
mov x0, x24
;; size=4 bbWeight=1 PerfScore 0.50
G_M10847_IG70:
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
ldp x21, x22, [sp, #0x50]
ldp x19, x20, [sp, #0x40]
ldp fp, lr, [sp], #0x90
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M10847_IG71:
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_Cryptography_Xml_CreateHashAlgorithmFailed():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.Security.Cryptography.CryptographicException:.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_M10847_IG72:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M10847_IG73:
ldr x1, [fp, #0x20] // [V15 loc12]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M10847_IG74
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
add x11, x21, #16
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M10847_IG74:
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
G_M10847_IG75:
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, #144
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M10847_IG76:
ldr x0, [fp, #0x28] // [V04 loc1]
cbz x0, G_M10847_IG77
ldr x0, [fp, #0x28] // [V04 loc1]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=32 bbWeight=0 PerfScore 0.00
G_M10847_IG77:
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
RWD00 dd G_M10847_IG51 - G_M10847_IG02
dd G_M10847_IG44 - G_M10847_IG02
dd G_M10847_IG08 - G_M10847_IG02
RWD12 dd 00000000h
RWD16 dq 0069006F00700078h, 007200650074006Eh
RWD32 dq 00650074006E0069h, 0029002F00280072h
-; Total bytes of code 3288, prolog size 52, PerfScore 1031.00, instruction count 822, allocated bytes for code 3288 (MethodHash=e506d5a0) for method System.Security.Cryptography.Xml.Reference:CalculateHashValue(System.Xml.XmlDocument,System.Security.Cryptography.Xml.CanonicalXmlNodeList):ubyte[]:this (FullOpts)
+; Total bytes of code 3264, prolog size 52, PerfScore 1029.50, instruction count 816, allocated bytes for code 3264 (MethodHash=e506d5a0) for method System.Security.Cryptography.Xml.Reference:CalculateHashValue(System.Xml.XmlDocument,System.Security.Cryptography.Xml.CanonicalXmlNodeList):ubyte[]:this (FullOpts)
-24 (-3.55 % of base) - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this
; Assembly listing for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):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; 19 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 14, 14 ) ref -> x19 this class-hnd single-def <System.Threading.Channels.BoundedChannel`1[int]>
-; V01 arg1 [V01,T10] ( 3, 3 ) int -> x22 single-def
-; V02 arg2 [V02,T11] ( 3, 3 ) int -> x23 single-def
-; V03 arg3 [V03,T02] ( 4, 4 ) ubyte -> x20 single-def
-; V04 arg4 [V04,T09] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Action`1[int]>
+; V01 arg1 [V01,T11] ( 3, 3 ) int -> x22 single-def
+; V02 arg2 [V02,T12] ( 3, 3 ) int -> x23 single-def
+; V03 arg3 [V03,T03] ( 4, 4 ) ubyte -> x20 single-def
+; V04 arg4 [V04,T10] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Action`1[int]>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06,T03] ( 3, 6 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[int]>
-; V07 tmp2 [V07,T04] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[int]]>
-; V08 tmp3 [V08,T05] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]>
+; V06 tmp1 [V06,T04] ( 3, 6 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[int]>
+; V07 tmp2 [V07,T05] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[int]]>
+; V08 tmp3 [V08,T06] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]>
;* V09 tmp4 [V09 ] ( 0, 0 ) ref -> zero-ref
;* V10 tmp5 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
-; V11 tmp6 [V11,T12] ( 4, 4 ) int -> x28
-; V12 tmp7 [V12,T06] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-; V13 tmp8 [V13,T07] ( 3, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]>
-; V14 tmp9 [V14,T08] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]>
-; V15 tmp10 [V15,T01] ( 4, 7 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+; V11 tmp6 [V11,T13] ( 4, 4 ) int -> x28
+; V12 tmp7 [V12,T07] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
+; V13 tmp8 [V13,T08] ( 3, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]>
+; V14 tmp9 [V14,T09] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]>
+; V15 tmp10 [V15,T02] ( 4, 7 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
;* V16 tmp11 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V17 tmp12 [V17,T20] ( 3, 1.50) ref -> x25 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V18 tmp13 [V18,T21] ( 0, 0 ) ref -> zero-ref single-def "field V16._source (fldOffset=0x0)" P-INDEP
-; V19 cse0 [V19,T13] ( 4, 4 ) long -> x24 "CSE #01: aggressive"
-; V20 cse1 [V20,T14] ( 4, 4 ) long -> x26 "CSE #02: aggressive"
+; V19 cse0 [V19,T01] ( 7, 7 ) long -> x24 "CSE #01: aggressive"
+; V20 cse1 [V20,T15] ( 3, 3 ) long -> x26 "CSE #02: aggressive"
; V21 rat0 [V21,T18] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
; V22 rat1 [V22,T19] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
; V23 rat2 [V23,T17] ( 3, 2 ) byref -> x1 "TLS field access"
; V24 rat3 [V24,T16] ( 3, 3 ) long -> x0 "TLS access"
-; V25 rat4 [V25,T15] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
+; V25 rat4 [V25,T14] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
;
; Lcl frame size = 0
G_M50650_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]
mov fp, sp
mov x19, x0
mov w22, w1
mov w23, w2
mov w20, w3
mov x21, x4
;; size=48 bbWeight=1 PerfScore 9.00
G_M50650_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x0, #0x08]
add x14, x19, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x0, x24
bl CORINFO_HELP_NEWSFAST
mov x25, x0
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- add x0, x26, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M50650_IG09
- ;; size=104 bbWeight=1 PerfScore 18.00
+ ;; size=92 bbWeight=1 PerfScore 16.50
G_M50650_IG03:
- movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Threading.Channels.AsyncOperation`1[int]]:Value
- movk x14, #0xD1FFAB1E LSL #16
- movk x14, #0xD1FFAB1E LSL #32
- ldr x15, [x14]
+ movz x26, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Threading.Channels.AsyncOperation`1[int]]:Value
+ movk x26, #0xD1FFAB1E LSL #16
+ movk x26, #0xD1FFAB1E LSL #32
+ ldr x15, [x26]
add x14, x25, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #48
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x0, x24, #200
bl CORINFO_HELP_NEWSFAST
mov x27, x0
- add x0, x26, #0xD1FFAB1E
+ add x0, x24, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M50650_IG10
;; size=72 bbWeight=1 PerfScore 16.00
G_M50650_IG04:
- movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]:Value
- movk x14, #0xD1FFAB1E LSL #16
- movk x14, #0xD1FFAB1E LSL #32
- ldr x15, [x14]
+ ldr x15, [x26, #0x08]
add x14, x27, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #56
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
stp w23, w22, [x19, #0x58]
strb w20, [x19, #0x60]
add x14, x19, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov w0, #64
tst w20, #255
csel w28, w0, wzr, ne
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movn w0, #68
tst w28, w0
bne G_M50650_IG12
tbz w28, #2, G_M50650_IG07
- ;; size=124 bbWeight=1 PerfScore 22.50
+ ;; size=112 bbWeight=1 PerfScore 21.00
G_M50650_IG05:
mrs x0, tpidr_el0
ldr w1, [x0, #0xD1FFAB1E]
cmp w1, #9
ble G_M50650_IG11
ldr x0, [x0, #0xD1FFAB1E]
ldr x1, [x0, #0x48]
cbz x1, G_M50650_IG11
;; size=28 bbWeight=0.50 PerfScore 6.25
G_M50650_IG06:
ldr x25, [x1, #0x10]
cbz x25, G_M50650_IG07
mov x0, x21
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, #48
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
;; size=44 bbWeight=0.50 PerfScore 6.00
G_M50650_IG07:
mov x0, x21
mov x3, xzr
mov w4, w28
mov x1, xzr
mov x2, xzr
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
add x14, x20, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x22, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]:.ctor(System.Threading.Channels.BoundedChannel`1[int]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #8
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x26
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x23, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]:.ctor(System.Threading.Channels.BoundedChannel`1[int]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=168 bbWeight=1 PerfScore 33.00
G_M50650_IG08:
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]
ldp fp, lr, [sp], #0x60
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M50650_IG09:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50650_IG03
;; size=8 bbWeight=0 PerfScore 0.00
G_M50650_IG10:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50650_IG04
;; size=8 bbWeight=0 PerfScore 0.00
G_M50650_IG11:
mov w0, #9
bl CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x1, x0
b G_M50650_IG06
;; size=16 bbWeight=0 PerfScore 0.00
G_M50650_IG12:
mov w0, #45
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(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
-; Total bytes of code 676, prolog size 28, PerfScore 117.75, instruction count 169, allocated bytes for code 676 (MethodHash=a5523a25) for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
+; Total bytes of code 652, prolog size 28, PerfScore 114.75, instruction count 163, allocated bytes for code 652 (MethodHash=a5523a25) for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
-20 (-0.37 % of base) - System.Security.Cryptography.Xml.Reference:LoadXml(System.Xml.XmlElement):this
; Assembly listing for method System.Security.Cryptography.Xml.Reference:LoadXml(System.Xml.XmlElement):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; 35 single block inlinees; 13 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T13] ( 14, 21 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.Xml.Reference>
; V01 arg1 [V01,T16] ( 23, 18.50) ref -> x20 class-hnd single-def <System.Xml.XmlElement>
-; V02 loc0 [V02,T36] ( 8, 9.50) ref -> x24 class-hnd exact single-def <System.Xml.XmlNamespaceManager>
-; V03 loc1 [V03,T82] ( 3, 2.50) ubyte -> x25
-; V04 loc2 [V04,T63] ( 6, 4 ) ref -> x26 class-hnd single-def <System.Xml.XmlNodeList>
-; V05 loc3 [V05,T49] ( 6, 6 ) ref -> x26 class-hnd single-def <System.Xml.XmlNodeList>
-; V06 loc4 [V06,T47] ( 10, 7 ) ref -> x27 class-hnd single-def <System.Xml.XmlElement>
-; V07 loc5 [V07,T50] ( 6, 6 ) ref -> x23 class-hnd single-def <System.Xml.XmlNodeList>
-; V08 loc6 [V08,T64] ( 4, 4 ) ref -> x23 class-hnd single-def <System.Xml.XmlElement>
+; V02 loc0 [V02,T36] ( 8, 9.50) ref -> x23 class-hnd exact single-def <System.Xml.XmlNamespaceManager>
+; V03 loc1 [V03,T81] ( 3, 2.50) ubyte -> x22
+; V04 loc2 [V04,T62] ( 6, 4 ) ref -> x25 class-hnd single-def <System.Xml.XmlNodeList>
+; V05 loc3 [V05,T48] ( 6, 6 ) ref -> x25 class-hnd single-def <System.Xml.XmlNodeList>
+; V06 loc4 [V06,T46] ( 10, 7 ) ref -> x28 class-hnd single-def <System.Xml.XmlElement>
+; V07 loc5 [V07,T49] ( 6, 6 ) ref -> x23 class-hnd single-def <System.Xml.XmlNodeList>
+; V08 loc6 [V08,T63] ( 4, 4 ) ref -> x23 class-hnd single-def <System.Xml.XmlElement>
;* V09 loc7 [V09 ] ( 0, 0 ) int -> zero-ref single-def
-; V10 loc8 [V10,T81] ( 5, 2.50) ref -> x26 class-hnd single-def <System.Xml.XmlElement>
-; V11 loc9 [V11,T76] ( 6, 3 ) ref -> x27 class-hnd single-def <System.Xml.XmlNodeList>
-; V12 loc10 [V12,T37] ( 5, 8.50) ref -> [fp+0x88] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-; V13 loc11 [V13,T08] ( 11, 40 ) ref -> x27 class-hnd <System.Xml.XmlElement>
-; V14 loc12 [V14,T11] ( 7, 26 ) ref -> x28 class-hnd <System.Security.Cryptography.Xml.Transform>
-; V15 loc13 [V15,T20] ( 2, 20 ) ref -> [fp+0x80] class-hnd <System.Xml.XmlNode>
+; V10 loc8 [V10,T80] ( 5, 2.50) ref -> x25 class-hnd single-def <System.Xml.XmlElement>
+; V11 loc9 [V11,T75] ( 6, 3 ) ref -> x26 class-hnd single-def <System.Xml.XmlNodeList>
+; V12 loc10 [V12,T37] ( 5, 8.50) ref -> [fp+0x78] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+; V13 loc11 [V13,T08] ( 11, 40 ) ref -> x26 class-hnd <System.Xml.XmlElement>
+; V14 loc12 [V14,T11] ( 7, 26 ) ref -> x27 class-hnd <System.Security.Cryptography.Xml.Transform>
+; V15 loc13 [V15,T20] ( 2, 20 ) ref -> x28 class-hnd <System.Xml.XmlNode>
; V16 loc14 [V16,T15] ( 6, 22 ) ref -> x0 class-hnd <System.Xml.XmlNode>
;* V17 loc15 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlNodeList>
-; V18 loc16 [V18,T02] ( 6, 74 ) ref -> [fp+0x78] class-hnd exact spill-single-def <System.String>
-; V19 loc17 [V19,T09] ( 4, 38 ) int -> [fp+0xB4]
-; V20 loc18 [V20,T06] ( 5, 56 ) ref -> [fp+0x70] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
+; V18 loc16 [V18,T02] ( 6, 74 ) ref -> [fp+0x70] class-hnd exact spill-single-def <System.String>
+; V19 loc17 [V19,T09] ( 4, 38 ) int -> x26
+; V20 loc18 [V20,T06] ( 5, 56 ) ref -> [fp+0x68] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
; V21 loc19 [V21,T28] ( 12, 13.50) ref -> x0 class-hnd <System.IDisposable>
;# V22 OutArgs [V22 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V23 tmp1 [V23,T51] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
-; V24 tmp2 [V24,T52] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Xml.TransformChain>
-; V25 tmp3 [V25,T100] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V26 tmp4 [V26,T101] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V27 tmp5 [V27,T102] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V28 tmp6 [V28,T94] ( 2, 2 ) int -> x23
-; V29 tmp7 [V29,T103] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V30 tmp8 [V30,T104] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V31 tmp9 [V31,T95] ( 2, 2 ) int -> [fp+0xB0] spill-single-def "impAppendStmt"
+; V23 tmp1 [V23,T50] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XmlNamespaceManager>
+; V24 tmp2 [V24,T51] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Xml.TransformChain>
+; V25 tmp3 [V25,T99] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V26 tmp4 [V26,T100] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V27 tmp5 [V27,T101] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V28 tmp6 [V28,T93] ( 2, 2 ) int -> x23
+; V29 tmp7 [V29,T102] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V30 tmp8 [V30,T103] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V31 tmp9 [V31,T94] ( 2, 2 ) int -> x28 "impAppendStmt"
;* V32 tmp10 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "dup spill" <System.String>
;* V33 tmp11 [V33 ] ( 0, 0 ) ref -> zero-ref
-; V34 tmp12 [V34,T105] ( 3, 0 ) ref -> x23 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V34 tmp12 [V34,T104] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V35 tmp13 [V35,T24] ( 5, 16 ) ref -> x0
; V36 tmp14 [V36,T04] ( 2, 64 ) ref -> x0 class-hnd "impSpillLclRefs" <System.Xml.XmlNode>
;* V37 tmp15 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Security.Cryptography.Xml.SignedXml>
-; V38 tmp16 [V38,T106] ( 3, 0 ) ref -> x21 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V39 tmp17 [V39,T107] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V40 tmp18 [V40,T108] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V41 tmp19 [V41,T109] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V42 tmp20 [V42,T110] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V43 tmp21 [V43,T111] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
-; V44 tmp22 [V44,T112] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+; V38 tmp16 [V38,T105] ( 3, 0 ) ref -> x21 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V39 tmp17 [V39,T106] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V40 tmp18 [V40,T107] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V41 tmp19 [V41,T108] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V42 tmp20 [V42,T109] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V43 tmp21 [V43,T110] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V44 tmp22 [V44,T111] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
;* V45 tmp23 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V46 tmp24 [V46,T87] ( 3, 2 ) ref -> x23
-; V47 tmp25 [V47,T72] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
+; V46 tmp24 [V46,T86] ( 3, 2 ) ref -> x23
+; V47 tmp25 [V47,T71] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
;* V48 tmp26 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V49 tmp27 [V49,T88] ( 3, 2 ) ref -> x23
-; V50 tmp28 [V50,T73] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
+; V49 tmp27 [V49,T87] ( 3, 2 ) ref -> x23
+; V50 tmp28 [V50,T72] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
;* V51 tmp29 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V52 tmp30 [V52,T89] ( 3, 2 ) ref -> x23
-; V53 tmp31 [V53,T74] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
+; V52 tmp30 [V52,T88] ( 3, 2 ) ref -> x23
+; V53 tmp31 [V53,T73] ( 4, 3.50) ref -> x23 class-hnd "Inline stloc first use temp" <System.String>
;* V54 tmp32 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Xml.XmlDocument>
-; V55 tmp33 [V55,T67] ( 2, 4 ) ref -> x23 class-hnd single-def "Inlining Arg" <System.Xml.XmlImplementation>
-; V56 tmp34 [V56,T53] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
-; V57 tmp35 [V57,T83] ( 4, 2 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
-; V58 tmp36 [V58,T84] ( 4, 2 ) ref -> x26 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
-; V59 tmp37 [V59,T61] ( 5, 5 ) ref -> [fp+0x68] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
-; V60 tmp38 [V60,T91] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
-; V61 tmp39 [V61,T79] ( 3, 3 ) ref -> [fp+0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
+; V55 tmp33 [V55,T66] ( 2, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Xml.XmlImplementation>
+; V56 tmp34 [V56,T52] ( 3, 6 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+; V57 tmp35 [V57,T82] ( 4, 2 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
+; V58 tmp36 [V58,T83] ( 4, 2 ) ref -> x25 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
+; V59 tmp37 [V59,T60] ( 5, 5 ) ref -> [fp+0x60] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
+; V60 tmp38 [V60,T90] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
+; V61 tmp39 [V61,T78] ( 3, 3 ) ref -> [fp+0x58] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V62 tmp40 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V63 tmp41 [V63,T41] ( 3, 8 ) ref -> registers
-; V64 tmp42 [V64,T21] ( 5, 18 ) ref -> [fp+0x58] class-hnd "Inline stloc first use temp" <System.String>
+; V63 tmp41 [V63,T40] ( 3, 8 ) ref -> registers
+; V64 tmp42 [V64,T21] ( 5, 18 ) ref -> [fp+0x50] class-hnd "Inline stloc first use temp" <System.String>
;* V65 tmp43 [V65 ] ( 0, 0 ) ref -> zero-ref
; V66 tmp44 [V66,T12] ( 3, 24 ) ref -> x1 class-hnd exact "dup spill" <System.String[]>
;* V67 tmp45 [V67 ] ( 0, 0 ) ref -> zero-ref
;* V68 tmp46 [V68 ] ( 0, 0 ) ref -> zero-ref
-; V69 tmp47 [V69,T42] ( 3, 8 ) ref -> registers class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
-; V70 tmp48 [V70,T23] ( 6, 16 ) ref -> [fp+0x50] class-hnd spill-single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
-; V71 tmp49 [V71,T39] ( 4, 8 ) ref -> [fp+0x48] class-hnd spill-single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
+; V69 tmp47 [V69,T41] ( 3, 8 ) ref -> x28 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
+; V70 tmp48 [V70,T23] ( 6, 16 ) ref -> x28 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
+; V71 tmp49 [V71,T38] ( 4, 8 ) ref -> [fp+0x48] class-hnd spill-single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V72 tmp50 [V72,T10] ( 7, 28 ) ref -> [fp+0x40] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
-; V73 tmp51 [V73,T43] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
+; V73 tmp51 [V73,T42] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V74 tmp52 [V74,T30] ( 3, 12 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
-; V75 tmp53 [V75,T54] ( 3, 6 ) ref -> x3 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
+; V75 tmp53 [V75,T53] ( 3, 6 ) ref -> x28 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V76 tmp54 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V77 tmp55 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
-; V78 tmp56 [V78,T44] ( 2, 8 ) ref -> x1 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
+; V78 tmp56 [V78,T43] ( 2, 8 ) ref -> x28 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V79 tmp57 [V79 ] ( 0, 0 ) ref -> zero-ref "spilling varStr"
; V80 tmp58 [V80,T00] ( 2, 64 ) int -> x0 "spilling unroll qmark"
-; V81 tmp59 [V81,T55] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
-; V82 tmp60 [V82,T29] ( 6, 12 ) ref -> x27 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
-; V83 tmp61 [V83,T40] ( 4, 8 ) ref -> [fp+0x30] class-hnd spill-single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
+; V81 tmp59 [V81,T54] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
+; V82 tmp60 [V82,T29] ( 6, 12 ) ref -> x26 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
+; V83 tmp61 [V83,T39] ( 4, 8 ) ref -> [fp+0x30] class-hnd spill-single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V84 tmp62 [V84,T19] ( 5, 20 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
-; V85 tmp63 [V85,T45] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
+; V85 tmp63 [V85,T44] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V86 tmp64 [V86,T31] ( 3, 12 ) ref -> [fp+0x20] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V87 tmp65 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform>
;* V88 tmp66 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V89 tmp67 [V89,T90] ( 3, 2 ) ref -> x26
-; V90 tmp68 [V90,T75] ( 4, 3.50) ref -> x26 class-hnd "Inline stloc first use temp" <System.String>
+; V89 tmp67 [V89,T89] ( 3, 2 ) ref -> x25
+; V90 tmp68 [V90,T74] ( 4, 3.50) ref -> x25 class-hnd "Inline stloc first use temp" <System.String>
;* V91 tmp69 [V91 ] ( 0, 0 ) ref -> zero-ref single-def
-; V92 tmp70 [V92,T56] ( 3, 6 ) ref -> x1 class-hnd exact single-def "dup spill" <System.String[]>
+; V92 tmp70 [V92,T55] ( 3, 6 ) ref -> x1 class-hnd exact single-def "dup spill" <System.String[]>
;* V93 tmp71 [V93 ] ( 0, 0 ) ref -> zero-ref
;* V94 tmp72 [V94 ] ( 0, 0 ) ref -> zero-ref
-; V95 tmp73 [V95,T57] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
-; V96 tmp74 [V96,T77] ( 4, 3 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
-; V97 tmp75 [V97,T78] ( 4, 3 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
-; V98 tmp76 [V98,T62] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
-; V99 tmp77 [V99,T92] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
-; V100 tmp78 [V100,T80] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
-; V101 tmp79 [V101,T93] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V95 tmp73 [V95,T56] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
+; V96 tmp74 [V96,T76] ( 4, 3 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
+; V97 tmp75 [V97,T77] ( 4, 3 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
+; V98 tmp76 [V98,T61] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
+; V99 tmp77 [V99,T91] ( 2, 2 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
+; V100 tmp78 [V100,T79] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
+; V101 tmp79 [V101,T92] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V102 tmp80 [V102,T25] ( 2, 16 ) ref -> x1 "argument with side effect"
; V103 tmp81 [V103,T26] ( 2, 16 ) ref -> x1 "argument with side effect"
; V104 tmp82 [V104,T27] ( 2, 16 ) ref -> x1 "argument with side effect"
; V105 tmp83 [V105,T32] ( 3, 12 ) ref -> x0 "arr expr"
; V106 tmp84 [V106,T01] ( 3, 96 ) ref -> x1 "arr expr"
-; V107 tmp85 [V107,T46] ( 2, 8 ) ref -> x1 "argument with side effect"
+; V107 tmp85 [V107,T45] ( 2, 8 ) ref -> x1 "argument with side effect"
; V108 tmp86 [V108,T33] ( 3, 12 ) ref -> [fp+0x18] spill-single-def "argument with side effect"
; V109 tmp87 [V109,T05] ( 2, 64 ) ref -> x1 "argument with side effect"
-; V110 tmp88 [V110,T113] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V111 tmp89 [V111,T114] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V112 tmp90 [V112,T68] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V113 tmp91 [V113,T69] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V114 tmp92 [V114,T115] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V115 tmp93 [V115,T116] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V116 tmp94 [V116,T117] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V117 tmp95 [V117,T118] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V118 tmp96 [V118,T119] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V119 tmp97 [V119,T120] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V120 tmp98 [V120,T121] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V121 tmp99 [V121,T122] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V122 tmp100 [V122,T123] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V123 tmp101 [V123,T124] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V124 tmp102 [V124,T125] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V125 tmp103 [V125,T126] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V126 tmp104 [V126,T127] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V127 tmp105 [V127,T128] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V128 tmp106 [V128,T129] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V129 tmp107 [V129,T130] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V130 tmp108 [V130,T131] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V131 tmp109 [V131,T132] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V132 tmp110 [V132,T133] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
-; V133 tmp111 [V133,T134] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
-; V134 tmp112 [V134,T135] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V135 PSPSym [V135,T98] ( 1, 1 ) long -> [fp+0xB8] do-not-enreg[V] "PSPSym"
-; V136 cse0 [V136,T59] ( 3, 6 ) int -> x2 "CSE #24: moderate"
-; V137 cse1 [V137,T22] ( 4, 18 ) long -> [fp+0xA8] "CSE #26: moderate"
-; V138 cse2 [V138,T60] ( 7, 5.50) long -> x22 "CSE #03: moderate"
-; V139 cse3 [V139,T65] ( 4, 4 ) long -> x28 "CSE #29: conservative"
-; V140 cse4 [V140,T66] ( 4, 4 ) long -> x24 "CSE #34: conservative"
-; V141 cse5 [V141,T35] ( 3, 10 ) long -> [fp+0xA0] spill-single-def "CSE #20: moderate"
-; V142 cse6 [V142,T85] ( 4, 2 ) long -> x27 "CSE #13: conservative"
-; V143 cse7 [V143,T86] ( 4, 2 ) long -> x28 "CSE #16: conservative"
-; V144 cse8 [V144,T07] ( 5, 42 ) ref -> x4 "CSE #25: aggressive"
-; V145 cse9 [V145,T58] ( 3, 6 ) ref -> x1 "CSE #23: moderate"
-; V146 cse10 [V146,T03] ( 11, 64.50) long -> x26 multi-def "CSE #17: aggressive"
-; V147 cse11 [V147,T18] ( 6, 20 ) long -> [fp+0x98] "CSE #19: moderate"
-; V148 cse12 [V148,T14] ( 12, 22.50) ref -> x28 multi-def "CSE #18: aggressive"
-; V149 cse13 [V149,T17] ( 16, 20 ) long -> [fp+0x90] multi-def "CSE #14: moderate"
-; V150 cse14 [V150,T48] ( 10, 7 ) long -> x21 "CSE #02: moderate"
-; V151 cse15 [V151,T34] ( 15, 11.50) ref -> registers multi-def "CSE #04: moderate"
-; V152 cse16 [V152,T38] ( 7, 8 ) long -> x22 "CSE #11: moderate"
-; V153 rat0 [V153,T96] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
-; V154 rat1 [V154,T70] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
-; V155 rat2 [V155,T71] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
-; V156 rat3 [V156,T97] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
-; V157 rat4 [V157,T99] ( 3, 96 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
+; V110 tmp88 [V110,T112] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V111 tmp89 [V111,T113] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V112 tmp90 [V112,T67] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V113 tmp91 [V113,T68] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V114 tmp92 [V114,T114] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V115 tmp93 [V115,T115] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V116 tmp94 [V116,T116] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V117 tmp95 [V117,T117] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V118 tmp96 [V118,T118] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V119 tmp97 [V119,T119] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V120 tmp98 [V120,T120] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V121 tmp99 [V121,T121] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V122 tmp100 [V122,T122] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V123 tmp101 [V123,T123] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V124 tmp102 [V124,T124] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V125 tmp103 [V125,T125] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V126 tmp104 [V126,T126] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V127 tmp105 [V127,T127] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V128 tmp106 [V128,T128] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V129 tmp107 [V129,T129] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V130 tmp108 [V130,T130] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V131 tmp109 [V131,T131] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V132 tmp110 [V132,T132] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
+; V133 tmp111 [V133,T133] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
+; V134 tmp112 [V134,T134] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V135 PSPSym [V135,T97] ( 1, 1 ) long -> [fp+0x98] do-not-enreg[V] "PSPSym"
+; V136 cse0 [V136,T58] ( 3, 6 ) int -> x1 "CSE #24: moderate"
+; V137 cse1 [V137,T22] ( 4, 18 ) long -> [fp+0x90] "CSE #26: moderate"
+; V138 cse2 [V138,T59] ( 7, 5.50) long -> x22 "CSE #03: moderate"
+; V139 cse3 [V139,T64] ( 4, 4 ) long -> x27 "CSE #29: conservative"
+; V140 cse4 [V140,T65] ( 4, 4 ) long -> x24 "CSE #34: conservative"
+; V141 cse5 [V141,T35] ( 3, 10 ) long -> [fp+0x88] spill-single-def "CSE #20: moderate"
+; V142 cse6 [V142,T84] ( 4, 2 ) long -> x26 "CSE #13: conservative"
+; V143 cse7 [V143,T85] ( 4, 2 ) long -> x27 "CSE #16: conservative"
+; V144 cse8 [V144,T07] ( 5, 42 ) ref -> x2 "CSE #25: aggressive"
+; V145 cse9 [V145,T57] ( 3, 6 ) ref -> x28 "CSE #23: moderate"
+; V146 cse10 [V146,T03] ( 11, 64.50) long -> x25 multi-def "CSE #17: aggressive"
+; V147 cse11 [V147,T18] ( 6, 20 ) long -> x28 "CSE #19: moderate"
+; V148 cse12 [V148,T14] ( 12, 22.50) ref -> x27 multi-def "CSE #18: aggressive"
+; V149 cse13 [V149,T17] ( 16, 20 ) long -> [fp+0x80] multi-def "CSE #14: moderate"
+; V150 cse14 [V150,T47] ( 10, 7 ) long -> x21 "CSE #02: moderate"
+; V151 cse15 [V151,T34] ( 15, 11.50) ref -> x24 multi-def "CSE #04: moderate"
+; V152 rat0 [V152,T95] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
+; V153 rat1 [V153,T69] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
+; V154 rat2 [V154,T70] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
+; V155 rat3 [V155,T96] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
+; V156 rat4 [V156,T98] ( 3, 96 ) simd16 -> d16 "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 176
+; Lcl frame size = 144
G_M2222_IG01:
- stp fp, lr, [sp, #0xD1FFAB1E]!
- stp x19, x20, [sp, #0xC0]
- stp x21, x22, [sp, #0xD0]
- stp x23, x24, [sp, #0xE0]
- stp x25, x26, [sp, #0xF0]
- stp x27, x28, [sp, #0xD1FFAB1E]
+ stp fp, lr, [sp, #-0xF0]!
+ stp x19, x20, [sp, #0xA0]
+ stp x21, x22, [sp, #0xB0]
+ stp x23, x24, [sp, #0xC0]
+ stp x25, x26, [sp, #0xD0]
+ stp x27, x28, [sp, #0xE0]
mov fp, sp
- add x2, sp, #0xD1FFAB1E
- str x2, [fp, #0xB8] // [V135 PSPSym]
+ add x2, sp, #240
+ str x2, [fp, #0x98] // [V135 PSPSym]
mov x19, x0
mov x20, x1
;; size=44 bbWeight=1 PerfScore 9.00
G_M2222_IG02:
- cbz x20, G_M2222_IG85
+ cbz x20, G_M2222_IG84
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x21, [x20]
ldr x22, [x21, #0x90]
ldr x2, [x22, #0x28]
blr x2
cbnz w0, G_M2222_IG04
;; size=40 bbWeight=1 PerfScore 14.00
G_M2222_IG03:
mov x23, xzr
b G_M2222_IG05
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M2222_IG04:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x23, x0
;; size=32 bbWeight=0.50 PerfScore 4.75
G_M2222_IG05:
cbnz x23, G_M2222_IG07
;; size=4 bbWeight=1 PerfScore 1.00
G_M2222_IG06:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x22, #0x30]
blr x3
cbz w0, G_M2222_IG07
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x21, #0x88]
ldr x3, [x3, #0x30]
blr x3
mov x23, x0
;; size=80 bbWeight=0.50 PerfScore 9.50
G_M2222_IG07:
add x14, x19, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x22, #0x28]
blr x2
cbnz w0, G_M2222_IG09
;; size=40 bbWeight=1 PerfScore 9.00
G_M2222_IG08:
mov x23, xzr
b G_M2222_IG10
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M2222_IG09:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x23, x0
;; size=32 bbWeight=0.50 PerfScore 4.75
G_M2222_IG10:
cbnz x23, G_M2222_IG12
;; size=4 bbWeight=1 PerfScore 1.00
G_M2222_IG11:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x22, #0x30]
blr x3
cbz w0, G_M2222_IG12
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x21, #0x88]
ldr x3, [x3, #0x30]
blr x3
mov x23, x0
;; size=80 bbWeight=0.50 PerfScore 9.50
G_M2222_IG12:
add x14, x19, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x22, #0x28]
blr x2
cbnz w0, G_M2222_IG14
;; size=40 bbWeight=1 PerfScore 9.00
G_M2222_IG13:
mov x23, xzr
b G_M2222_IG15
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M2222_IG14:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x23, x0
;; size=32 bbWeight=0.50 PerfScore 4.75
G_M2222_IG15:
cbnz x23, G_M2222_IG17
;; size=4 bbWeight=1 PerfScore 1.00
G_M2222_IG16:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x22, #0x30]
blr x3
cbz w0, G_M2222_IG17
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov x2, x24
ldr x3, [x21, #0x88]
ldr x3, [x3, #0x30]
blr x3
mov x23, x0
;; size=80 bbWeight=0.50 PerfScore 9.50
G_M2222_IG17:
add x14, x19, #24
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- movz x22, #0xD1FFAB1E
- movk x22, #0xD1FFAB1E LSL #16
- movk x22, #0xD1FFAB1E LSL #32
- ldr x1, [x22, #0xD1FFAB1E]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr x1, [x1]
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:VerifyAttributes(System.Xml.XmlElement,System.String[]):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2222_IG84
+ cbz w0, G_M2222_IG83
mov x0, x20
ldr x1, [x21, #0x48]
ldr x1, [x1, #0x30]
blr x1
- ldr x23, [x0, #0x10]
+ ldr x22, [x0, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- ldr x1, [x23, #0x08]
- mov x0, x24
+ mov x23, x0
+ ldr x1, [x22, #0x08]
+ mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Xml.XmlNamespaceManager:.ctor(System.Xml.XmlNameTable):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x24
+ mov x0, x23
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
- mov x23, x2
+ movz x24, #0xD1FFAB1E
+ movk x24, #0xD1FFAB1E LSL #16
+ movk x24, #0xD1FFAB1E LSL #32
+ mov x2, x24
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNamespaceManager:AddNamespace(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov w25, wzr
+ mov w22, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
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
ldr w14, [x14]
- tbz w14, #0, G_M2222_IG72
- ;; size=240 bbWeight=1 PerfScore 57.50
+ tbz w14, #0, G_M2222_IG71
+ ;; size=236 bbWeight=1 PerfScore 57.00
G_M2222_IG18:
- ldr x15, [x22]
- add x14, x27, #8
- bl CORINFO_HELP_ASSIGN_REF
+ movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
+ movk x14, #0xD1FFAB1E LSL #32
+ ldr x15, [x14]
add x14, x26, #8
- mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
- add x14, x19, #32
+ add x14, x25, #8
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
+ add x14, x19, #32
+ mov x15, x25
+ bl CORINFO_HELP_ASSIGN_REF
str xzr, [x19, #0x48]
mov x0, x20
- mov x2, x24
+ mov x2, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SelectNodes(System.String,System.Xml.XmlNamespaceManager):System.Xml.XmlNodeList:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x26, x0
- cbz x26, G_M2222_IG61
- ;; size=88 bbWeight=1 PerfScore 19.00
+ mov x25, x0
+ cbz x25, G_M2222_IG60
+ ;; size=96 bbWeight=1 PerfScore 20.00
G_M2222_IG19:
- mov x0, x26
- ldr x1, [x26]
- ldr x27, [x1, #0x40]
- ldr x1, [x27, #0x28]
+ mov x0, x25
+ ldr x1, [x25]
+ ldr x26, [x1, #0x40]
+ ldr x1, [x26, #0x28]
blr x1
- cbz w0, G_M2222_IG61
- mov x0, x26
- ldr x1, [x27, #0x28]
+ cbz w0, G_M2222_IG60
+ mov x0, x25
+ ldr x1, [x26, #0x28]
blr x1
cmp w0, #1
- bgt G_M2222_IG83
- mov w25, #1
- mov x0, x26
+ bgt G_M2222_IG82
+ mov w22, #1
+ mov x0, x25
mov w1, wzr
- ldr x2, [x27, #0x38]
+ ldr x2, [x26, #0x38]
blr x2
mov x1, x0
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
- mov x26, x0
+ mov x25, x0
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:VerifyAttributes(System.Xml.XmlElement,System.String[]):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2222_IG82
- mov x0, x26
- mov x2, x24
+ cbz w0, G_M2222_IG81
+ mov x0, x25
+ mov x2, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SelectNodes(System.String,System.Xml.XmlNamespaceManager):System.Xml.XmlNodeList:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
- mov x27, x0
- cbz x27, G_M2222_IG61
- mov x0, x27
- ldr x1, [x27]
- ldr x28, [x1, #0x40]
- ldr x1, [x28, #0x28]
- blr x1
- str w0, [fp, #0xB0] // [V31 tmp9]
- mov x0, x26
- ldr x2, [x26]
- ldr x2, [x2, #0x40]
- ldr x2, [x2, #0x20]
- blr x2
mov x26, x0
- cbnz x26, G_M2222_IG20
+ cbz x26, G_M2222_IG60
+ mov x0, x26
+ ldr x1, [x26]
+ ldr x27, [x1, #0x40]
+ ldr x1, [x27, #0x28]
+ blr x1
+ sxtw w28, w0
+ mov x0, x25
+ ldr x1, [x25]
+ ldr x1, [x1, #0x40]
+ ldr x1, [x1, #0x20]
+ blr x1
+ mov x25, x0
+ cbnz x25, G_M2222_IG20
mov x0, xzr
b G_M2222_IG22
- ;; size=244 bbWeight=0.50 PerfScore 37.75
+ ;; size=244 bbWeight=0.50 PerfScore 37.50
G_M2222_IG20:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- str x1, [fp, #0x90] // [V149 cse13]
+ str x1, [fp, #0x80] // [V149 cse13]
mov x0, x1
bl CORINFO_HELP_NEWSFAST
- str x0, [fp, #0x68] // [V59 tmp37]
- mov x0, x26
+ str x0, [fp, #0x60] // [V59 tmp37]
+ mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x2, [x26]
+ ldr x2, [x25]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x15, x0
- ldr x26, [fp, #0x68] // [V59 tmp37]
- add x14, x26, #16
+ ldr x25, [fp, #0x60] // [V59 tmp37]
+ add x14, x25, #16
bl CORINFO_HELP_ASSIGN_REF
- ldr x1, [fp, #0x90] // [V149 cse13]
+ ldr x1, [fp, #0x80] // [V149 cse13]
add x0, x1, #216
bl CORINFO_HELP_NEWSFAST
mov x1, x0
- str x1, [fp, #0x60] // [V61 tmp39]
- ldr x2, [fp, #0x90] // [V149 cse13]
+ str x1, [fp, #0x58] // [V61 tmp39]
+ ldr x2, [fp, #0x80] // [V149 cse13]
add x0, x2, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
- tbz w14, #0, G_M2222_IG73
+ tbz w14, #0, G_M2222_IG72
;; size=124 bbWeight=0.50 PerfScore 17.00
G_M2222_IG21:
- ldr x15, [x22, #0x50]
+ movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
+ movk x14, #0xD1FFAB1E LSL #32
+ ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
- add x14, x26, #8
+ add x14, x25, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
- strb wzr, [x26, #0x18]
- mov x0, x26
- ;; size=32 bbWeight=0.50 PerfScore 4.00
+ strb wzr, [x25, #0x18]
+ mov x0, x25
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
G_M2222_IG22:
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
- ldr w26, [fp, #0xB0] // [V31 tmp9]
- cmp w0, w26
- bne G_M2222_IG81
- mov x0, x27
- ldr x1, [x28, #0x28]
+ cmp w0, w28
+ bne G_M2222_IG80
+ mov x0, x26
+ ldr x1, [x27, #0x28]
blr x1
cmp w0, #10
- bgt G_M2222_IG80
- mov x0, x27
- ldr x1, [x28, #0x30]
+ bgt G_M2222_IG79
+ mov x0, x26
+ ldr x1, [x27, #0x30]
blr x1
mov x1, x0
- str x1, [fp, #0x88] // [V12 loc10]
- ;; size=68 bbWeight=0.50 PerfScore 12.75
+ str x1, [fp, #0x78] // [V12 loc10]
+ ;; size=64 bbWeight=0.50 PerfScore 11.75
G_M2222_IG23:
- ldr x1, [fp, #0x88] // [V12 loc10]
+ ldr x1, [fp, #0x78] // [V12 loc10]
mov x0, x1
- movz x26, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- mov x11, x26
+ movz x25, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this
+ movk x25, #0xD1FFAB1E LSL #16
+ movk x25, #0xD1FFAB1E LSL #32
+ mov x11, x25
ldr xip0, [x11]
blr xip0
- cbz w0, G_M2222_IG60
- ldr x0, [fp, #0x88] // [V12 loc10]
- add x11, x26, #8
+ cbz w0, G_M2222_IG59
+ ldr x0, [fp, #0x78] // [V12 loc10]
+ add x11, x25, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
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
- mov x27, x0
- movz x28, #0xD1FFAB1E
- movk x28, #0xD1FFAB1E LSL #16
- movk x28, #0xD1FFAB1E LSL #32
- mov x1, x28
- ldr x2, [x27]
- str x2, [fp, #0x98] // [V147 cse11]
- ldr x3, [x2, #0x90]
- str x3, [fp, #0xA0] // [V141 cse5]
- ldr x4, [x3, #0x28]
- blr x4
+ mov x26, x0
+ movz x27, #0xD1FFAB1E
+ movk x27, #0xD1FFAB1E LSL #16
+ movk x27, #0xD1FFAB1E LSL #32
+ mov x1, x27
+ ldr x28, [x26]
+ ldr x2, [x28, #0x90]
+ str x2, [fp, #0x88] // [V141 cse5]
+ ldr x3, [x2, #0x28]
+ blr x3
cbnz w0, G_M2222_IG25
- ;; size=172 bbWeight=4 PerfScore 186.00
+ ;; size=168 bbWeight=4 PerfScore 182.00
G_M2222_IG24:
mov x2, xzr
b G_M2222_IG26
;; size=8 bbWeight=2 PerfScore 3.00
G_M2222_IG25:
- mov x0, x27
- mov x1, x28
- ldr x3, [fp, #0x98] // [V147 cse11]
- ldr x2, [x3, #0x80]
+ mov x0, x26
+ mov x1, x27
+ ldr x2, [x28, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x3, x0
mov x2, x3
- ;; size=32 bbWeight=2 PerfScore 22.00
+ ;; size=28 bbWeight=2 PerfScore 18.00
G_M2222_IG26:
mov x3, x2
- str x3, [fp, #0x58] // [V64 tmp42]
+ str x3, [fp, #0x50] // [V64 tmp42]
cbnz x3, G_M2222_IG28
;; size=12 bbWeight=4 PerfScore 10.00
G_M2222_IG27:
- mov x0, x27
- mov x1, x28
- mov x2, x23
- ldr x4, [fp, #0xA0] // [V141 cse5]
+ mov x0, x26
+ mov x1, x27
+ mov x2, x24
+ ldr x4, [fp, #0x88] // [V141 cse5]
ldr x4, [x4, #0x30]
blr x4
cbz w0, G_M2222_IG28
- mov x0, x27
- mov x1, x28
- mov x2, x23
- ldr x3, [fp, #0x98] // [V147 cse11]
- ldr x4, [x3, #0x88]
- ldr x4, [x4, #0x30]
- blr x4
+ mov x0, x26
+ mov x1, x27
+ mov x2, x24
+ ldr x3, [x28, #0x88]
+ ldr x3, [x3, #0x30]
+ blr x3
mov x2, x0
- str x2, [fp, #0x58] // [V64 tmp42]
- ;; size=64 bbWeight=2 PerfScore 41.00
+ str x2, [fp, #0x50] // [V64 tmp42]
+ ;; size=60 bbWeight=2 PerfScore 37.00
G_M2222_IG28:
- ldr x3, [fp, #0x58] // [V64 tmp42]
- cbz x3, G_M2222_IG59
+ ldr x3, [fp, #0x50] // [V64 tmp42]
+ cbz x3, G_M2222_IG58
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
mov x1, x0
- str x28, [x1, #0x10]
- mov x0, x27
+ str x27, [x1, #0x10]
+ mov x0, x26
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:VerifyAttributes(System.Xml.XmlElement,System.String[]):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2222_IG59
- ldr x1, [fp, #0x58] // [V64 tmp42]
+ cbz w0, G_M2222_IG58
+ ldr x1, [fp, #0x50] // [V64 tmp42]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CryptoHelpers:CreateFromName[System.__Canon](System.String):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x28, x0
- cbz x28, G_M2222_IG58
+ mov x27, x0
+ cbz x27, G_M2222_IG57
mov x0, x19
- mov x1, x28
+ mov x1, x27
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Reference:AddTransform(System.Security.Cryptography.Xml.Transform):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x27
- ldr x1, [fp, #0x98] // [V147 cse11]
- ldr x2, [x1, #0x48]
- str x2, [fp, #0xA8] // [V137 cse1]
- ldr x3, [x2, #0x10]
- blr x3
+ mov x0, x26
+ ldr x1, [x28, #0x48]
+ str x1, [fp, #0x90] // [V137 cse1]
+ ldr x2, [x1, #0x10]
+ blr x2
mov x1, x0
- mov x0, x28
- ldr x2, [x28]
+ mov x0, x27
+ ldr x2, [x27]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x30]
blr x2
- mov x1, x28
+ mov x1, x27
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
cbz x0, G_M2222_IG23
- ldr x2, [fp, #0x98] // [V147 cse11]
- mov x0, x27
- ldr x2, [x2, #0x40]
- ldr x2, [x2, #0x20]
- blr x2
- mov x2, x0
- str x2, [fp, #0x50] // [V70 tmp48]
- cbnz x2, G_M2222_IG30
- ;; size=256 bbWeight=4 PerfScore 294.00
+ mov x0, x26
+ ldr x3, [x28, #0x40]
+ ldr x3, [x3, #0x20]
+ blr x3
+ mov x28, x0
+ cbnz x28, G_M2222_IG30
+ ;; size=244 bbWeight=4 PerfScore 274.00
G_M2222_IG29:
- mov x3, xzr
- b G_M2222_IG34
+ mov x28, xzr
+ b G_M2222_IG33
;; size=8 bbWeight=2 PerfScore 3.00
G_M2222_IG30:
- mov x0, x2
+ mov x0, x28
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x3, [x2]
- ldr x3, [x3, #0x80]
- ldr x3, [x3, #0x18]
- blr x3
+ ldr x2, [x28]
+ ldr x2, [x2, #0x80]
+ ldr x2, [x2, #0x18]
+ blr x2
mov x2, x0
str x2, [fp, #0x48] // [V71 tmp49]
mov x0, x2
- mov x1, x24
+ mov x1, x23
ldr x3, [x2]
ldr x3, [x3, #0x48]
ldr x3, [x3]
blr x3
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
mov x1, x2
- str x1, [fp, #0x90] // [V149 cse13]
+ str x1, [fp, #0x80] // [V149 cse13]
mov x0, x1
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x40] // [V72 tmp50]
- ldp x1, x0, [fp, #0x48] // [V71 tmp49], [V70 tmp48]
- ldr x3, [x0]
+ mov x0, x28
+ ldr x1, [fp, #0x48] // [V71 tmp49]
+ ldr x3, [x28]
ldr x3, [x3, #0x88]
ldr x3, [x3, #0x08]
blr x3
mov x15, x0
- ldr x1, [fp, #0x40] // [V72 tmp50]
- add x14, x1, #16
+ ldr x28, [fp, #0x40] // [V72 tmp50]
+ add x14, x28, #16
bl CORINFO_HELP_ASSIGN_REF
- ldr x2, [fp, #0x90] // [V149 cse13]
- add x0, x2, #216
+ ldr x1, [fp, #0x80] // [V149 cse13]
+ add x0, x1, #216
bl CORINFO_HELP_NEWSFAST
mov x2, x0
str x2, [fp, #0x38] // [V74 tmp52]
- ldr x3, [fp, #0x90] // [V149 cse13]
+ ldr x3, [fp, #0x80] // [V149 cse13]
add x0, x3, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
- tbz w14, #0, G_M2222_IG54
- ;; size=180 bbWeight=2 PerfScore 120.00
+ tbz w14, #0, G_M2222_IG53
+ ;; size=184 bbWeight=2 PerfScore 119.00
G_M2222_IG31:
- ldr x15, [x22, #0x50]
+ movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
+ movk x14, #0xD1FFAB1E LSL #32
+ ldr x15, [x14]
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
- ldr x4, [fp, #0x40] // [V72 tmp50]
- add x14, x4, #8
+ add x14, x28, #8
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
- strb wzr, [x4, #0x18]
- ldr x0, [x4, #0x08]
+ strb wzr, [x28, #0x18]
+ ldr x0, [x28, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M2222_IG32
- mov x0, x4
+ mov x0, x28
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x4, [fp, #0x40] // [V72 tmp50]
- ;; size=80 bbWeight=2 PerfScore 51.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M2222_IG32:
- ldr x1, [x4, #0x08]
- ldr w2, [x1, #0x10]
- cmp w2, #0
- bgt G_M2222_IG39
- mov x3, xzr
+ ldr x28, [x28, #0x08]
+ ldr w1, [x28, #0x10]
+ cmp w1, #0
+ bgt G_M2222_IG38
+ mov x28, xzr
;; size=20 bbWeight=2 PerfScore 16.00
G_M2222_IG33:
- mov x5, x3
- ;; size=4 bbWeight=2 PerfScore 1.00
-G_M2222_IG34:
- str x3, [fp, #0x80] // [V15 loc13]
mov x0, xzr
- ldr x4, [x19, #0x10]
- cbz x4, G_M2222_IG36
- ;; size=16 bbWeight=4 PerfScore 22.00
-G_M2222_IG35:
- ldr w1, [x4, #0x08]
- cbnz w1, G_M2222_IG40
+ ldr x2, [x19, #0x10]
+ cbz x2, G_M2222_IG35
+ ;; size=12 bbWeight=4 PerfScore 18.00
+G_M2222_IG34:
+ ldr w1, [x2, #0x08]
+ cbnz w1, G_M2222_IG39
;; size=8 bbWeight=2 PerfScore 8.00
-G_M2222_IG36:
- mov x0, x27
- ldr x27, [fp, #0xA8] // [V137 cse1]
- ldr x1, [x27, #0x30]
+G_M2222_IG35:
+ mov x0, x26
+ ldr x26, [fp, #0x90] // [V137 cse1]
+ ldr x1, [x26, #0x30]
blr x1
;; size=16 bbWeight=8 PerfScore 52.00
-G_M2222_IG37:
- cbnz x0, G_M2222_IG46
+G_M2222_IG36:
+ cbnz x0, G_M2222_IG45
;; size=4 bbWeight=4 PerfScore 4.00
-G_M2222_IG38:
+G_M2222_IG37:
mov x0, xzr
- b G_M2222_IG49
+ b G_M2222_IG48
;; size=8 bbWeight=2 PerfScore 3.00
-G_M2222_IG39:
- cbz w2, G_M2222_IG55
- ldr x0, [x1, #0x08]
+G_M2222_IG38:
+ cbz w1, G_M2222_IG54
+ ldr x0, [x28, #0x08]
ldr w1, [x0, #0x08]
cmp w1, #0
- bls G_M2222_IG57
- ldr x3, [x0, #0x10]
+ bls G_M2222_IG56
+ ldr x28, [x0, #0x10]
b G_M2222_IG33
;; size=28 bbWeight=2 PerfScore 25.00
-G_M2222_IG40:
- mov x1, x4
- ldr w2, [x1, #0x08]
- cmp w2, #0
- bls G_M2222_IG57
+G_M2222_IG39:
+ mov x1, x2
+ ldr w3, [x1, #0x08]
+ cmp w3, #0
+ bls G_M2222_IG56
ldrh w1, [x1, #0x0C]
cmp w1, #35
- bne G_M2222_IG37
- mov x0, x4
+ bne G_M2222_IG36
+ mov x0, x2
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:ExtractIdFromLocalUri(System.String):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- str x1, [fp, #0x78] // [V18 loc16]
- cbz x1, G_M2222_IG45
+ str x1, [fp, #0x70] // [V18 loc16]
+ cbz x1, G_M2222_IG44
;; size=64 bbWeight=16 PerfScore 288.00
-G_M2222_IG41:
+G_M2222_IG40:
ldr w0, [x1, #0x08]
cmp w0, #11
- bne G_M2222_IG44
+ bne G_M2222_IG43
;; size=12 bbWeight=8 PerfScore 36.00
-G_M2222_IG42:
+G_M2222_IG41:
ldr q16, [x1, #0x0C]
ldr q17, [@RWD00]
eor v16.2d, v16.2d, v17.2d
ldr q17, [x1, #0x12]
ldr q18, [@RWD16]
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
- cbnz w0, G_M2222_IG36
+ cbnz w0, G_M2222_IG35
;; size=48 bbWeight=16 PerfScore 248.00
-G_M2222_IG43:
+G_M2222_IG42:
ldr x2, [x19, #0x50]
str x2, [fp, #0x18] // [V108 tmp86]
- mov x0, x27
- ldr x27, [fp, #0xA8] // [V137 cse1]
- ldr x3, [x27, #0x30]
+ mov x0, x26
+ ldr x26, [fp, #0x90] // [V137 cse1]
+ ldr x3, [x26, #0x30]
blr x3
mov x1, x0
ldr x0, [fp, #0x18] // [V108 tmp86]
- ldr x2, [fp, #0x78] // [V18 loc16]
+ ldr x2, [fp, #0x70] // [V18 loc16]
ldr x3, [x0]
ldr x3, [x3, #0x40]
ldr x3, [x3, #0x28]
blr x3
- b G_M2222_IG37
+ b G_M2222_IG36
;; size=56 bbWeight=2 PerfScore 52.00
-G_M2222_IG44:
- b G_M2222_IG43
+G_M2222_IG43:
+ b G_M2222_IG42
;; size=4 bbWeight=4 PerfScore 4.00
-G_M2222_IG45:
- b G_M2222_IG43
+G_M2222_IG44:
+ b G_M2222_IG42
;; size=4 bbWeight=8 PerfScore 8.00
-G_M2222_IG46:
+G_M2222_IG45:
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
- mov x27, x0
- cbnz x27, G_M2222_IG47
+ mov x26, x0
+ cbnz x26, G_M2222_IG46
mov x0, xzr
- b G_M2222_IG49
+ b G_M2222_IG48
;; size=32 bbWeight=2 PerfScore 26.00
-G_M2222_IG47:
- mov x0, x27
+G_M2222_IG46:
+ mov x0, x26
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x2, [x27]
+ ldr x2, [x26]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x2, x0
str x2, [fp, #0x30] // [V83 tmp61]
mov x0, x2
- mov x1, x24
+ mov x1, x23
ldr x3, [x2]
ldr x3, [x3, #0x48]
ldr x3, [x3]
blr x3
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
mov x1, x3
- str x1, [fp, #0x90] // [V149 cse13]
+ str x1, [fp, #0x80] // [V149 cse13]
mov x0, x1
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x28] // [V84 tmp62]
- mov x0, x27
+ mov x0, x26
ldr x1, [fp, #0x30] // [V83 tmp61]
- ldr x2, [x27]
+ ldr x2, [x26]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
- ldr x27, [fp, #0x28] // [V84 tmp62]
- add x14, x27, #16
+ ldr x26, [fp, #0x28] // [V84 tmp62]
+ add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
- ldr x1, [fp, #0x90] // [V149 cse13]
+ ldr x1, [fp, #0x80] // [V149 cse13]
add x0, x1, #216
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x20] // [V86 tmp64]
- ldr x2, [fp, #0x90] // [V149 cse13]
+ ldr x2, [fp, #0x80] // [V149 cse13]
add x0, x2, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
- tbz w14, #0, G_M2222_IG56
+ tbz w14, #0, G_M2222_IG55
;; size=184 bbWeight=2 PerfScore 119.00
-G_M2222_IG48:
- ldr x15, [x22, #0x50]
+G_M2222_IG47:
+ movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
+ movk x14, #0xD1FFAB1E LSL #32
+ ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
- add x14, x27, #8
+ add x14, x26, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
- strb wzr, [x27, #0x18]
- mov x0, x27
- ;; size=32 bbWeight=2 PerfScore 16.00
-G_M2222_IG49:
+ strb wzr, [x26, #0x18]
+ mov x0, x26
+ ;; size=40 bbWeight=2 PerfScore 18.00
+G_M2222_IG48:
cbz x0, G_M2222_IG23
- ldr x27, [fp, #0x80] // [V15 loc13]
- str wzr, [fp, #0xB4] // [V19 loc17]
- ldr x3, [x0]
- ldr x3, [x3, #0x40]
- ldr x3, [x3, #0x30]
- blr x3
- str x0, [fp, #0x70] // [V20 loc18]
- ;; size=32 bbWeight=4 PerfScore 60.00
-G_M2222_IG50:
- ldr x0, [fp, #0x70] // [V20 loc18]
- add x11, x26, #16
+ mov w26, wzr
+ ldr x2, [x0]
+ ldr x2, [x2, #0x40]
+ ldr x2, [x2, #0x30]
+ blr x2
+ str x0, [fp, #0x68] // [V20 loc18]
+ ;; size=28 bbWeight=4 PerfScore 50.00
+G_M2222_IG49:
+ ldr x0, [fp, #0x68] // [V20 loc18]
+ add x11, x25, #16
ldr xip0, [x11]
blr xip0
- cbz w0, G_M2222_IG53
+ cbz w0, G_M2222_IG52
;; size=20 bbWeight=32 PerfScore 240.00
-G_M2222_IG51:
- ldr x0, [fp, #0x70] // [V20 loc18]
- add x11, x26, #24
+G_M2222_IG50:
+ ldr x0, [fp, #0x68] // [V20 loc18]
+ add x11, x25, #24
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w1, [fp, #0xB4] // [V19 loc17]
- add w1, w1, #1
- cmp x0, x27
- str w1, [fp, #0xB4] // [V19 loc17]
- bne G_M2222_IG50
- ;; size=72 bbWeight=16 PerfScore 304.00
+ add w26, w26, #1
+ cmp x0, x28
+ bne G_M2222_IG49
+ ;; size=64 bbWeight=16 PerfScore 256.00
+G_M2222_IG51:
+ str w26, [x27, #0x70]
+ ;; size=4 bbWeight=2 PerfScore 2.00
G_M2222_IG52:
- ldr w1, [fp, #0xB4] // [V19 loc17]
- str w1, [x28, #0x70]
- ;; size=8 bbWeight=2 PerfScore 6.00
-G_M2222_IG53:
- ldr x1, [fp, #0x70] // [V20 loc18]
+ ldr x1, [fp, #0x68] // [V20 loc18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M2222_IG23
- add x11, x26, #32
+ add x11, x25, #32
ldr xip0, [x11]
blr xip0
b G_M2222_IG23
;; size=56 bbWeight=4 PerfScore 62.00
-G_M2222_IG54:
+G_M2222_IG53:
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x2, [fp, #0x38] // [V74 tmp52]
b G_M2222_IG31
;; size=12 bbWeight=0 PerfScore 0.00
-G_M2222_IG55:
+G_M2222_IG54:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
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_M2222_IG56:
+G_M2222_IG55:
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x1, [fp, #0x20] // [V86 tmp64]
- b G_M2222_IG48
+ b G_M2222_IG47
;; size=12 bbWeight=0 PerfScore 0.00
-G_M2222_IG57:
+G_M2222_IG56:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-G_M2222_IG58:
+G_M2222_IG57:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_UnknownTransform():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x21
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-G_M2222_IG59:
+G_M2222_IG58:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x23, x0
+ mov x22, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_UnknownTransform():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
- mov x0, x23
+ mov x0, x22
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x23
+ mov x0, x22
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
-G_M2222_IG60:
- ldr x1, [fp, #0x88] // [V12 loc10]
+G_M2222_IG59:
+ ldr x1, [fp, #0x78] // [V12 loc10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz x0, G_M2222_IG61
- add x11, x26, #40
+ cbz x0, G_M2222_IG60
+ add x11, x25, #40
ldr xip0, [x11]
blr xip0
;; size=52 bbWeight=0.50 PerfScore 7.25
-G_M2222_IG61:
+G_M2222_IG60:
mov x0, x20
- mov x2, x24
+ mov x2, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SelectNodes(System.String,System.Xml.XmlNamespaceManager):System.Xml.XmlNodeList:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x26, x0
- cbz x26, G_M2222_IG79
- mov x0, x26
- ldr x1, [x26]
- ldr x28, [x1, #0x40]
- ldr x1, [x28, #0x28]
+ mov x25, x0
+ cbz x25, G_M2222_IG78
+ mov x0, x25
+ ldr x1, [x25]
+ ldr x27, [x1, #0x40]
+ ldr x1, [x27, #0x28]
blr x1
- cbz w0, G_M2222_IG79
- mov x0, x26
- ldr x1, [x28, #0x28]
+ cbz w0, G_M2222_IG78
+ mov x0, x25
+ ldr x1, [x27, #0x28]
blr x1
cmp w0, #1
- bgt G_M2222_IG79
- mov x0, x26
+ bgt G_M2222_IG78
+ mov x0, x25
mov w1, wzr
- ldr x2, [x28, #0x38]
+ ldr x2, [x27, #0x38]
blr x2
mov x1, x0
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
- mov x27, x0
- movz x28, #0xD1FFAB1E
- movk x28, #0xD1FFAB1E LSL #16
- movk x28, #0xD1FFAB1E LSL #32
- mov x1, x28
- ldr x2, [x27]
+ mov x28, x0
+ movz x27, #0xD1FFAB1E
+ movk x27, #0xD1FFAB1E LSL #16
+ movk x27, #0xD1FFAB1E LSL #32
+ mov x1, x27
+ ldr x2, [x28]
ldr x2, [x2, #0x90]
ldr x2, [x2, #0x28]
blr x2
- cbnz w0, G_M2222_IG63
+ cbnz w0, G_M2222_IG62
;; size=184 bbWeight=1 PerfScore 53.00
-G_M2222_IG62:
- mov x26, xzr
- b G_M2222_IG64
+G_M2222_IG61:
+ mov x25, xzr
+ b G_M2222_IG63
;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M2222_IG63:
- mov x0, x27
- mov x1, x28
- ldr x2, [x27]
+G_M2222_IG62:
+ mov x0, x28
+ mov x1, x27
+ ldr x2, [x28]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x38]
blr x2
- mov x26, x0
+ mov x25, x0
;; size=28 bbWeight=0.50 PerfScore 5.75
-G_M2222_IG64:
- cbnz x26, G_M2222_IG66
+G_M2222_IG63:
+ cbnz x25, G_M2222_IG65
;; size=4 bbWeight=1 PerfScore 1.00
-G_M2222_IG65:
- mov x0, x27
- mov x1, x28
- mov x2, x23
- ldr x3, [x27]
+G_M2222_IG64:
+ mov x0, x28
+ mov x1, x27
+ mov x2, x24
+ ldr x3, [x28]
ldr x3, [x3, #0x90]
ldr x3, [x3, #0x30]
blr x3
- cbz w0, G_M2222_IG66
- mov x0, x27
- mov x1, x28
- mov x2, x23
- ldr x3, [x27]
+ cbz w0, G_M2222_IG65
+ mov x0, x28
+ mov x1, x27
+ mov x2, x24
+ ldr x3, [x28]
ldr x3, [x3, #0x88]
ldr x3, [x3, #0x30]
blr x3
- mov x26, x0
+ mov x25, x0
;; size=64 bbWeight=0.50 PerfScore 12.25
-G_M2222_IG66:
+G_M2222_IG65:
add x14, x19, #40
- mov x15, x26
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x28]
- cbz x0, G_M2222_IG78
+ cbz x0, G_M2222_IG77
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
mov x1, x0
- str x28, [x1, #0x10]
- mov x0, x27
+ str x27, [x1, #0x10]
+ mov x0, x28
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:VerifyAttributes(System.Xml.XmlElement,System.String[]):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2222_IG78
+ cbz w0, G_M2222_IG77
mov x0, x20
- mov x2, x24
+ mov x2, x23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SelectNodes(System.String,System.Xml.XmlNamespaceManager):System.Xml.XmlNodeList:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x23, x0
- cbz x23, G_M2222_IG77
+ cbz x23, G_M2222_IG76
mov x0, x23
ldr x1, [x23]
ldr x24, [x1, #0x40]
ldr x1, [x24, #0x28]
blr x1
- cbz w0, G_M2222_IG77
+ cbz w0, G_M2222_IG76
mov x0, x23
ldr x1, [x24, #0x28]
blr x1
cmp w0, #1
- bgt G_M2222_IG77
+ bgt G_M2222_IG76
mov x0, x23
mov w1, wzr
ldr x2, [x24, #0x38]
blr x2
mov x1, x0
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
mov x23, x0
ldr x1, [x23]
ldr x1, [x1, #0x68]
ldr x1, [x1, #0x18]
blr x1
ldr w2, [x0, #0x08]
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:DiscardWhiteSpaces(System.String,int,int):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x1, #0xD1FFAB1E // code for System.Convert:FromBase64String(System.String):ubyte[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x19, #48
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x23
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:VerifyAttributes(System.Xml.XmlElement,System.String[]):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2222_IG76
+ cbz w0, G_M2222_IG75
mov w0, #2
- cmp w25, #0
+ cmp w22, #0
cinc w23, w0, ne
mov x0, x20
ldr x1, [x21, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x21, x0
- cbnz x21, G_M2222_IG68
+ cbnz x21, G_M2222_IG67
;; size=368 bbWeight=1 PerfScore 102.00
-G_M2222_IG67:
+G_M2222_IG66:
mov x0, xzr
- b G_M2222_IG70
+ b G_M2222_IG69
;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M2222_IG68:
+G_M2222_IG67:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- mov x25, x2
- mov x0, x25
+ mov x22, x2
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov x0, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x38]
blr x2
mov x15, x0
add x14, x24, #16
bl CORINFO_HELP_ASSIGN_REF
- add x0, x25, #216
+ add x0, x22, #216
bl CORINFO_HELP_NEWSFAST
mov x21, x0
- add x0, x25, #216
+ add x0, x22, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
- tbz w14, #0, G_M2222_IG74
+ tbz w14, #0, G_M2222_IG73
;; size=108 bbWeight=0.50 PerfScore 13.00
-G_M2222_IG69:
- ldr x15, [x22, #0x50]
+G_M2222_IG68:
+ movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
+ movk x14, #0xD1FFAB1E LSL #32
+ ldr x15, [x14]
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x24, #0x18]
mov x0, x24
- ;; size=32 bbWeight=0.50 PerfScore 4.00
-G_M2222_IG70:
+ ;; size=40 bbWeight=0.50 PerfScore 4.50
+G_M2222_IG69:
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, w23
- bne G_M2222_IG75
+ bne G_M2222_IG74
add x14, x19, #72
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
;; size=36 bbWeight=1 PerfScore 13.50
-G_M2222_IG71:
- ldp x27, x28, [sp, #0xD1FFAB1E]
- ldp x25, x26, [sp, #0xF0]
- ldp x23, x24, [sp, #0xE0]
- ldp x21, x22, [sp, #0xD0]
- ldp x19, x20, [sp, #0xC0]
- ldp fp, lr, [sp], #0xD1FFAB1E
+G_M2222_IG70:
+ ldp x27, x28, [sp, #0xE0]
+ ldp x25, x26, [sp, #0xD0]
+ ldp x23, x24, [sp, #0xC0]
+ ldp x21, x22, [sp, #0xB0]
+ ldp x19, x20, [sp, #0xA0]
+ ldp fp, lr, [sp], #0xF0
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
-G_M2222_IG72:
+G_M2222_IG71:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M2222_IG18
;; size=20 bbWeight=0 PerfScore 0.00
-G_M2222_IG73:
+G_M2222_IG72:
bl CORINFO_HELP_GET_GCSTATIC_BASE
- ldr x1, [fp, #0x60] // [V61 tmp39]
+ ldr x1, [fp, #0x58] // [V61 tmp39]
b G_M2222_IG21
;; size=12 bbWeight=0 PerfScore 0.00
-G_M2222_IG74:
+G_M2222_IG73:
bl CORINFO_HELP_GET_GCSTATIC_BASE
- b G_M2222_IG69
+ b G_M2222_IG68
;; size=8 bbWeight=0 PerfScore 0.00
-G_M2222_IG75:
+G_M2222_IG74:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG76:
+G_M2222_IG75:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG77:
+G_M2222_IG76:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG78:
+G_M2222_IG77:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG79:
+G_M2222_IG78:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG80:
+G_M2222_IG79:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG81:
+G_M2222_IG80:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG82:
+G_M2222_IG81:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG83:
+G_M2222_IG82:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG84:
+G_M2222_IG83:
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_Cryptography_Xml_InvalidElement():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
-G_M2222_IG85:
+G_M2222_IG84:
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.ArgumentNullException:.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_M2222_IG86:
+G_M2222_IG85:
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
+ add x3, fp, #240
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
-G_M2222_IG87:
- ldr x1, [fp, #0x70] // [V20 loc18]
+G_M2222_IG86:
+ ldr x1, [fp, #0x68] // [V20 loc18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz x0, G_M2222_IG88
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- add x11, x26, #32
+ cbz x0, G_M2222_IG87
+ movz x25, #0xD1FFAB1E
+ movk x25, #0xD1FFAB1E LSL #16
+ movk x25, #0xD1FFAB1E LSL #32
+ add x11, x25, #32
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
-G_M2222_IG88:
+G_M2222_IG87:
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
-G_M2222_IG89:
+G_M2222_IG88:
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
+ add x3, fp, #240
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
-G_M2222_IG90:
- ldr x1, [fp, #0x88] // [V12 loc10]
+G_M2222_IG89:
+ ldr x1, [fp, #0x78] // [V12 loc10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz x0, G_M2222_IG91
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- add x11, x26, #40
+ cbz x0, G_M2222_IG90
+ movz x25, #0xD1FFAB1E
+ movk x25, #0xD1FFAB1E LSL #16
+ movk x25, #0xD1FFAB1E LSL #32
+ add x11, x25, #40
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
-G_M2222_IG91:
+G_M2222_IG90:
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
RWD00 dq 0069006F00700078h, 007200650074006Eh
RWD16 dq 00650074006E0069h, 0029002F00280072h
-; Total bytes of code 5456, prolog size 44, PerfScore 2787.25, instruction count 1364, allocated bytes for code 5456 (MethodHash=0778f751) for method System.Security.Cryptography.Xml.Reference:LoadXml(System.Xml.XmlElement):this (FullOpts)
+; Total bytes of code 5436, prolog size 44, PerfScore 2683.50, instruction count 1359, allocated bytes for code 5436 (MethodHash=0778f751) for method System.Security.Cryptography.Xml.Reference:LoadXml(System.Xml.XmlElement):this (FullOpts)
-20 (-1.34 % of base) - System.Security.Cryptography.Xml.SymmetricKeyWrap:AESKeyWrapDecrypt(ubyte[],ubyte[]):ubyte[]
; Assembly listing for method System.Security.Cryptography.Xml.SymmetricKeyWrap:AESKeyWrapDecrypt(ubyte[],ubyte[]):ubyte[] (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; 12 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T20] ( 3, 3 ) ref -> x20 class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T17] ( 8, 5 ) ref -> x19 class-hnd single-def <ubyte[]>
; V02 loc0 [V02,T19] ( 5, 5 ) int -> x21 single-def
; V03 loc1 [V03,T10] ( 7, 35 ) ref -> x22 class-hnd exact single-def <ubyte[]>
; V04 loc2 [V04,T23] ( 8, 4 ) ref -> [fp+0x18] do-not-enreg[M] class-hnd EH-live <System.Security.Cryptography.Aes>
; V05 loc3 [V05,T11] ( 7, 19.25) ref -> [fp+0x10] do-not-enreg[M] class-hnd EH-live <System.Security.Cryptography.ICryptoTransform>
; V06 loc4 [V06,T06] ( 2, 67.36) long -> x0
; V07 loc5 [V07,T09] ( 6, 37 ) ref -> x23 class-hnd exact single-def <ubyte[]>
; V08 loc6 [V08,T07] ( 4, 48.25) ref -> x20 class-hnd exact single-def <ubyte[]>
; V09 loc7 [V09,T26] ( 7, 1.58) ref -> x0 class-hnd single-def <ubyte[]>
; V10 loc8 [V10,T12] ( 11, 16.33) int -> x5
;* V11 loc9 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
; V12 loc10 [V12,T15] ( 5, 13.25) int -> x19
; V13 loc11 [V13,T04] ( 7, 70 ) int -> x24
; V14 loc12 [V14,T01] ( 6,320.80) int -> x2
; V15 loc13 [V15,T02] ( 2,126.72) ubyte -> x3
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V17 tmp1 [V17,T33] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V18 tmp2 [V18,T00] ( 3,380.16) byref -> x4 "dup spill"
; V19 tmp3 [V19,T03] ( 3, 96 ) ref -> x27 class-hnd "dup spill" <ubyte[]>
;* V20 tmp4 [V20 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Span`1[ubyte]>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V22 tmp6 [V22 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V23 tmp7 [V23,T34] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V24 tmp8 [V24,T35] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V25 tmp9 [V25,T14] ( 7, 14 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.AesImplementation>
;* V26 tmp10 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
; V27 tmp11 [V27,T25] ( 2, 2 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <ubyte[]>
;* V28 tmp12 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V29 tmp13 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V30 tmp14 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V31 tmp15 [V31 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V33 tmp17 [V33,T29] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
;* V34 tmp18 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V35 tmp19 [V35 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
;* V36 tmp20 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref single-def "Inline stloc first use temp"
;* V38 tmp22 [V38 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V39 tmp23 [V39 ] ( 0, 0 ) byref -> zero-ref single-def "impAppendStmt"
;* V40 tmp24 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V41 tmp25 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V42 tmp26 [V42 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V43 tmp27 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V44 tmp28 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "field V20._reference (fldOffset=0x0)" P-INDEP
;* V45 tmp29 [V45 ] ( 0, 0 ) int -> zero-ref single-def "field V20._length (fldOffset=0x8)" P-INDEP
;* V46 tmp30 [V46 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
;* V47 tmp31 [V47 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
;* V48 tmp32 [V48 ] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP
;* V49 tmp33 [V49 ] ( 0, 0 ) int -> zero-ref single-def "field V22._length (fldOffset=0x8)" P-INDEP
; V50 tmp34 [V50,T27] ( 2, 1 ) byref -> x0 "field V26._reference (fldOffset=0x0)" P-INDEP
;* V51 tmp35 [V51,T31] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
; V52 tmp36 [V52,T28] ( 2, 1 ) byref -> x11 "field V28._reference (fldOffset=0x0)" P-INDEP
;* V53 tmp37 [V53,T32] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
;* V54 tmp38 [V54 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP
;* V55 tmp39 [V55 ] ( 0, 0 ) int -> zero-ref single-def "field V29._length (fldOffset=0x8)" P-INDEP
;* V56 tmp40 [V56 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp41 [V57 ] ( 0, 0 ) int -> zero-ref single-def "field V30._length (fldOffset=0x8)" P-INDEP
;* V58 tmp42 [V58 ] ( 0, 0 ) byref -> zero-ref single-def "field V34._reference (fldOffset=0x0)" P-INDEP
;* V59 tmp43 [V59 ] ( 0, 0 ) int -> zero-ref single-def "field V34._length (fldOffset=0x8)" P-INDEP
;* V60 tmp44 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V61 tmp45 [V61 ] ( 0, 0 ) int -> zero-ref single-def "field V36._length (fldOffset=0x8)" P-INDEP
;* V62 tmp46 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V40._reference (fldOffset=0x0)" P-INDEP
;* V63 tmp47 [V63 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
;* V64 tmp48 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V41._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp49 [V65 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
;* V66 tmp50 [V66 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
;* V67 tmp51 [V67 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
;* V68 tmp52 [V68 ] ( 0, 0 ) byref -> zero-ref "field V43._reference (fldOffset=0x0)" P-INDEP
;* V69 tmp53 [V69 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
; V70 tmp54 [V70,T36] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V71 tmp55 [V71,T13] ( 4, 16 ) ref -> x6 "arr expr"
; V72 tmp56 [V72,T37] ( 2, 0 ) ref -> x1 "argument with side effect"
; V73 tmp57 [V73,T38] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V74 PSPSym [V74,T30] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[V] "PSPSym"
; V75 cse0 [V75,T21] ( 2, 5 ) int -> x25 hoist "CSE #12: aggressive"
-; V76 cse1 [V76,T18] ( 6, 5.29) ref -> x23 hoist multi-def "CSE #05: moderate"
-; V77 cse2 [V77,T24] ( 4, 4 ) long -> x20 "CSE #02: moderate"
-; V78 cse3 [V78,T08] ( 3, 48 ) int -> x26 "CSE #16: aggressive"
+; V76 cse1 [V76,T24] ( 4, 4 ) long -> x20 "CSE #02: moderate"
+; V77 cse2 [V77,T08] ( 3, 48 ) int -> x26 "CSE #16: aggressive"
+; V78 cse3 [V78,T18] ( 6, 5.29) ref -> x23 hoist multi-def "CSE #05: moderate"
; V79 cse4 [V79,T05] ( 2, 67.36) byref -> x1 hoist "CSE #13: aggressive"
; V80 cse5 [V80,T22] ( 4, 4.29) byref -> x20 hoist multi-def "CSE #03: moderate"
; V81 cse6 [V81,T16] ( 3, 11.88) long -> x2 "CSE #06: aggressive"
;
; Lcl frame size = 24
G_M49643_IG01:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x28]
stp x21, x22, [sp, #0x38]
stp x23, x24, [sp, #0x48]
stp x25, x26, [sp, #0x58]
str x27, [sp, #0x68]
mov fp, sp
add x2, sp, #112
str x2, [fp, #0x20] // [V74 PSPSym]
mov x20, x0
mov x19, x1
;; size=44 bbWeight=1 PerfScore 9.00
G_M49643_IG02:
ldr w1, [x19, #0x08]
asr w1, w1, #3
sub w21, w1, #1
ldr w1, [x19, #0x08]
tst w1, #7
bne G_M49643_IG20
cmp w21, #0
ble G_M49643_IG20
lsl w1, w21, #3
sxtw x1, w1
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
mov x22, x0
stp xzr, xzr, [fp, #0x10] // [V05 loc3], [V04 loc2]
;; size=64 bbWeight=1 PerfScore 16.00
G_M49643_IG03:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Aes:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x23, [fp, #0x18] // [V04 loc2]
mov x0, x23
mov x1, x20
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr x2, [x2, #0x18]
blr x2
mov x0, x23
mov w1, #2
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x20, [x2]
ldr x2, [x20, #0x08]
blr x2
mov x0, x23
mov w1, #1
ldr x2, [x20, #0x18]
blr x2
mov x0, x23
ldr x1, [x20, #0x20]
blr x1
str x0, [fp, #0x10] // [V05 loc3]
cmp w21, #1
bne G_M49643_IG07
;; size=148 bbWeight=1 PerfScore 40.50
G_M49643_IG04:
ldr w3, [x19, #0x08]
ldr x0, [fp, #0x10] // [V05 loc3]
mov x1, x19
movz x11, #0xD1FFAB1E // code for System.Security.Cryptography.ICryptoTransform:TransformFinalBlock(ubyte[],int,int):ubyte[]:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
mov w2, wzr
ldr xip0, [x11]
blr xip0
mov w5, wzr
cbz x0, G_M49643_IG14
ldr w2, [x0, #0x08]
cmp w2, #8
blt G_M49643_IG14
add x20, x0, #16
movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x23, [x2]
align [0 bytes for IG05]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=76 bbWeight=0.25 PerfScore 5.62
+ ;; size=72 bbWeight=0.25 PerfScore 5.50
G_M49643_IG05:
mov w2, w5
ldrb w1, [x20, x2]
mov x6, x23
add x3, x6, #16
ldrb w2, [x3, x2]
cmp w1, w2
bne G_M49643_IG16
add w5, w5, #1
cmp w5, #8
blt G_M49643_IG05
;; size=40 bbWeight=3.96 PerfScore 43.56
G_M49643_IG06:
mov x2, x22
mov w1, #8
mov w3, wzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M49643_IG18
- align [4 bytes for IG10]
- align [4 bytes]
+ align [0 bytes for IG10]
+ align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=48 bbWeight=0.50 PerfScore 4.25
+ ;; size=40 bbWeight=0.50 PerfScore 4.25
G_M49643_IG07:
ldr w4, [x22, #0x08]
mov x0, x19
mov x2, x22
mov w1, #8
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #8
bl CORINFO_HELP_NEWARR_1_VC
mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #16
bl CORINFO_HELP_NEWARR_1_VC
mov x20, x0
mov x0, x19
mov x2, x23
mov w1, wzr
mov w3, wzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov w19, #5
;; size=132 bbWeight=0.25 PerfScore 6.50
G_M49643_IG08:
sxtw w24, w21
mul w25, w19, w24
;; size=8 bbWeight=1 PerfScore 2.50
G_M49643_IG09:
add w0, w25, w24
sxtw x0, w0
mov w2, wzr
add x1, x23, #16
;; size=16 bbWeight=4 PerfScore 8.00
G_M49643_IG10:
neg w3, w2
lsl w3, w3, #3
add w3, w3, #56
asr x3, x0, x3
uxtb w3, w3
mov w3, w3
uxtb w3, w3
mov w4, w2
add x4, x1, x4
ldrb w5, [x4]
eor w3, w5, w3
strb w3, [x4]
add w2, w2, #1
cmp w2, #8
blt G_M49643_IG10
;; size=60 bbWeight=63.36 PerfScore 728.64
G_M49643_IG11:
mov x0, x23
mov x2, x20
mov w1, wzr
mov w3, wzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
lsl w1, w24, #3
sub w26, w1, #8
mov w1, w26
mov x0, x22
mov x2, x20
mov w3, #8
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [fp, #0x10] // [V05 loc3]
mov x1, x20
movz x11, #0xD1FFAB1E // code for System.Security.Cryptography.ICryptoTransform:TransformFinalBlock(ubyte[],int,int):ubyte[]:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
mov w2, wzr
mov w3, #16
ldr xip0, [x11]
blr xip0
mov x27, x0
mov w3, w26
mov x0, x27
mov x2, x22
mov w1, #8
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x0, x27
mov x2, x23
mov w1, wzr
mov w3, wzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Buffer:BlockCopy(System.Array,int,System.Array,int,int)
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sub w24, w24, #1
cmp w24, #0
bgt G_M49643_IG09
;; size=220 bbWeight=16 PerfScore 720.00
G_M49643_IG12:
sub w19, w19, #1
tbz w19, #31, G_M49643_IG08
;; size=8 bbWeight=4 PerfScore 6.00
G_M49643_IG13:
add x0, x23, #16
movz x11, #0xD1FFAB1E
- movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x23, [x11]
add x11, x23, #16
ldr x0, [x0]
ldr x11, [x11]
cmp x0, x11
cset x0, eq
cbnz w0, G_M49643_IG18
b G_M49643_IG15
- ;; size=48 bbWeight=0.50 PerfScore 7.25
+ ;; size=44 bbWeight=0.50 PerfScore 7.00
G_M49643_IG14:
ldr w11, [x0, #0x08]
cmp w5, w11
bhs G_M49643_IG17
add x20, x0, #16
ldrb w11, [x20, w5, UXTW #2]
movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x23, [x1]
mov x6, x23
add x1, x6, #16
ldrb w1, [x1, w5, UXTW #2]
cmp w11, w1
bne G_M49643_IG16
add w5, w5, #1
cmp w5, #8
blt G_M49643_IG14
b G_M49643_IG06
- ;; size=72 bbWeight=0.04 PerfScore 0.84
+ ;; size=68 bbWeight=0.04 PerfScore 0.82
G_M49643_IG15:
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_Cryptography_Xml_BadWrappedKeySize():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.Security.Cryptography.CryptographicException:.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_M49643_IG16:
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_Cryptography_Xml_BadWrappedKeySize():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.Security.Cryptography.CryptographicException:.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_M49643_IG17:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M49643_IG18:
ldr x0, [fp, #0x10] // [V05 loc3]
movz x11, #0xD1FFAB1E // code for System.IDisposable:Dispose():this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
ldr x0, [fp, #0x18] // [V04 loc2]
mov w1, #1
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr x2, [x2, #0x08]
blr x2
ldr x0, [fp, #0x18] // [V04 loc2]
movz x1, #0xD1FFAB1E // code for System.GC:SuppressFinalize(System.Object)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x22
;; size=84 bbWeight=1 PerfScore 26.50
G_M49643_IG19:
ldr x27, [sp, #0x68]
ldp x25, x26, [sp, #0x58]
ldp x23, x24, [sp, #0x48]
ldp x21, x22, [sp, #0x38]
ldp x19, x20, [sp, #0x28]
ldp fp, lr, [sp], #0x70
ret lr
;; size=28 bbWeight=1 PerfScore 8.00
G_M49643_IG20:
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_Cryptography_Xml_KW_BadKeySize():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.Security.Cryptography.CryptographicException:.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_M49643_IG21:
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
stp x23, x24, [sp, #0x38]
stp x25, x26, [sp, #0x48]
str x27, [sp, #0x58]
add x3, fp, #112
str x3, [sp, #0x10]
;; size=32 bbWeight=0 PerfScore 0.00
G_M49643_IG22:
ldr x0, [fp, #0x10] // [V05 loc3]
cbz x0, G_M49643_IG23
ldr x0, [fp, #0x10] // [V05 loc3]
movz x11, #0xD1FFAB1E // code for System.IDisposable:Dispose():this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
;; size=32 bbWeight=0 PerfScore 0.00
G_M49643_IG23:
ldr x0, [fp, #0x18] // [V04 loc2]
cbz x0, G_M49643_IG24
ldr x0, [fp, #0x18] // [V04 loc2]
mov w1, #1
ldr x2, [fp, #0x18] // [V04 loc2]
ldr x2, [x2]
ldr x2, [x2, #0x58]
ldr x2, [x2, #0x08]
blr x2
ldr x0, [fp, #0x18] // [V04 loc2]
movz x1, #0xD1FFAB1E // code for System.GC:SuppressFinalize(System.Object)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=60 bbWeight=0 PerfScore 0.00
G_M49643_IG24:
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=0 PerfScore 0.00
-; Total bytes of code 1496, prolog size 44, PerfScore 1633.16, instruction count 380, allocated bytes for code 1496 (MethodHash=8fc33e14) for method System.Security.Cryptography.Xml.SymmetricKeyWrap:AESKeyWrapDecrypt(ubyte[],ubyte[]):ubyte[] (FullOpts)
+; Total bytes of code 1476, prolog size 44, PerfScore 1632.77, instruction count 377, allocated bytes for code 1476 (MethodHash=8fc33e14) for method System.Security.Cryptography.Xml.SymmetricKeyWrap:AESKeyWrapDecrypt(ubyte[],ubyte[]):ubyte[] (FullOpts)
-20 (-0.90 % of base) - System.Security.Cryptography.Xml.XmlLicenseTransform:DecryptEncryptedGrants(System.Xml.XmlNodeList):this
; Assembly listing for method System.Security.Cryptography.Xml.XmlLicenseTransform:DecryptEncryptedGrants(System.Xml.XmlNodeList):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; 42 single block inlinees; 10 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T11] ( 6, 16 ) ref -> x20 this class-hnd single-def <System.Security.Cryptography.Xml.XmlLicenseTransform>
; V01 arg1 [V01,T09] ( 8, 18 ) ref -> x19 class-hnd single-def <System.Xml.XmlNodeList>
; V02 loc0 [V02,T33] ( 3, 10 ) ref -> x26 class-hnd <System.Xml.XmlElement>
; V03 loc1 [V03,T37] ( 3, 8 ) ref -> x27 class-hnd <System.Xml.XmlElement>
; V04 loc2 [V04,T38] ( 3, 8 ) ref -> x24 class-hnd <System.Xml.XmlElement>
;* V05 loc3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Security.Cryptography.Xml.EncryptionMethod>
;* V06 loc4 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Security.Cryptography.Xml.KeyInfo>
; V07 loc5 [V07,T48] ( 3, 6 ) ref -> [fp+0x40] class-hnd exact spill-single-def <System.Security.Cryptography.Xml.CipherData>
; V08 loc6 [V08,T04] ( 8, 27 ) int -> x21
; V09 loc7 [V09,T55] ( 3, 6 ) int -> x23 single-def
; V10 loc8 [V10,T56] ( 5, 4 ) ref -> [fp+0x38] do-not-enreg[Z] class-hnd EH-live <System.IO.MemoryStream>
; V11 loc9 [V11,T12] ( 11, 16 ) ref -> [fp+0x30] do-not-enreg[Z] class-hnd EH-live <System.IO.Stream>
; V12 loc10 [V12,T57] ( 5, 4 ) ref -> [fp+0x28] do-not-enreg[Z] class-hnd EH-live <System.IO.StreamReader>
; V13 loc11 [V13,T58] ( 2, 4 ) ref -> x27 class-hnd exact <System.String>
;# V14 OutArgs [V14 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V15 tmp1 [V15,T17] ( 4, 16 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.EncryptionMethod>
; V16 tmp2 [V16,T18] ( 4, 16 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.KeyInfo>
;* V17 tmp3 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.CipherData>
; V18 tmp4 [V18,T00] ( 9, 36 ) ref -> x24 class-hnd exact "NewObj constructor temp" <System.IO.MemoryStream>
; V19 tmp5 [V19,T63] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V20 tmp6 [V20,T10] ( 5, 20 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.IO.StreamReader>
; V21 tmp7 [V21,T39] ( 3, 8 ) ref -> x1 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V22 tmp8 [V22,T06] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.Xml.XmlNode>
; V23 tmp9 [V23,T13] ( 6, 16 ) ref -> x25 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V24 tmp10 [V24,T34] ( 4, 8 ) ref -> x26 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V25 tmp11 [V25,T30] ( 2, 12 ) ref -> x24 class-hnd "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V26 tmp12 [V26,T01] ( 7, 28 ) ref -> x27 class-hnd exact "NewObj constructor temp" <System.Xml.XPathNodeList>
; V27 tmp13 [V27,T42] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V28 tmp14 [V28,T20] ( 3, 12 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V29 tmp15 [V29,T49] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V30 tmp16 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V31 tmp17 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V32 tmp18 [V32,T43] ( 2, 8 ) ref -> x1 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V33 tmp19 [V33,T40] ( 3, 8 ) ref -> x1 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V34 tmp20 [V34,T07] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.Xml.XmlNode>
; V35 tmp21 [V35,T14] ( 6, 16 ) ref -> x25 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V36 tmp22 [V36,T35] ( 4, 8 ) ref -> x27 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V37 tmp23 [V37,T31] ( 2, 12 ) ref -> x24 class-hnd "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V38 tmp24 [V38,T02] ( 7, 28 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.Xml.XPathNodeList>
; V39 tmp25 [V39,T44] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V40 tmp26 [V40,T21] ( 3, 12 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V41 tmp27 [V41,T50] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V42 tmp28 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V43 tmp29 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V44 tmp30 [V44,T45] ( 2, 8 ) ref -> x1 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V45 tmp31 [V45,T41] ( 3, 8 ) ref -> x1 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V46 tmp32 [V46,T08] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.Xml.XmlNode>
; V47 tmp33 [V47,T15] ( 6, 16 ) ref -> x25 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V48 tmp34 [V48,T36] ( 4, 8 ) ref -> x28 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V49 tmp35 [V49,T32] ( 2, 12 ) ref -> x24 class-hnd "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V50 tmp36 [V50,T03] ( 7, 28 ) ref -> [fp+0x20] class-hnd exact spill-single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V51 tmp37 [V51,T46] ( 2, 8 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V52 tmp38 [V52,T22] ( 3, 12 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V53 tmp39 [V53,T51] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V54 tmp40 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V55 tmp41 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V56 tmp42 [V56,T47] ( 2, 8 ) ref -> x1 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V57 tmp43 [V57,T23] ( 3, 12 ) ref -> [fp+0x18] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
; V58 tmp44 [V58,T19] ( 4, 16 ) ref -> x0 class-hnd "Inlining Arg" <ubyte[]>
; V59 tmp45 [V59,T29] ( 3, 12 ) int -> x0 "dup spill"
;* V60 tmp46 [V60 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V61 tmp47 [V61,T24] ( 3, 12 ) ref -> x0 "arr expr"
; V62 tmp48 [V62,T25] ( 3, 12 ) ref -> x0 "arr expr"
; V63 tmp49 [V63,T26] ( 3, 12 ) ref -> x0 "arr expr"
; V64 tmp50 [V64,T27] ( 3, 12 ) ref -> x0 "argument with side effect"
; V65 tmp51 [V65,T28] ( 3, 12 ) ref -> x0 "argument with side effect"
; V66 tmp52 [V66,T64] ( 2, 0 ) ref -> x1 "argument with side effect"
; V67 PSPSym [V67,T62] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
; V68 cse0 [V68,T16] ( 6, 16 ) long -> x22 "CSE #02: moderate"
; V69 cse1 [V69,T52] ( 3, 6 ) ref -> x1 "CSE #05: moderate"
; V70 cse2 [V70,T53] ( 3, 6 ) ref -> x1 "CSE #09: moderate"
; V71 cse3 [V71,T54] ( 3, 6 ) ref -> x1 "CSE #11: moderate"
; V72 cse4 [V72,T05] ( 12, 24 ) long -> x24 multi-def "CSE #04: aggressive"
; V73 rat0 [V73,T59] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
; V74 rat1 [V74,T60] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
; V75 rat2 [V75,T61] ( 2, 4 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 64
G_M36126_IG01:
stp fp, lr, [sp, #-0xA0]!
stp x19, x20, [sp, #0x50]
stp x21, x22, [sp, #0x60]
stp x23, x24, [sp, #0x70]
stp x25, x26, [sp, #0x80]
stp x27, x28, [sp, #0x90]
mov fp, sp
add x2, sp, #160
str x2, [fp, #0x48] // [V67 PSPSym]
mov x20, x0
mov x19, x1
;; size=44 bbWeight=1 PerfScore 9.00
G_M36126_IG02:
mov w21, wzr
mov x0, x19
ldr x1, [x19]
ldr x22, [x1, #0x40]
ldr x1, [x22, #0x28]
blr x1
sxtw w23, w0
cmp w23, #0
ble G_M36126_IG32
;; size=36 bbWeight=1 PerfScore 13.00
G_M36126_IG03:
mov x0, x19
mov w1, w21
ldr x2, [x22, #0x38]
blr x2
ldr x24, [x20, #0x58]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x25, x0
cbnz x25, G_M36126_IG05
;; size=44 bbWeight=4 PerfScore 78.00
G_M36126_IG04:
mov x1, xzr
b G_M36126_IG10
;; size=8 bbWeight=2 PerfScore 3.00
G_M36126_IG05:
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x25]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x26, x0
mov x1, x24
ldr x2, [x26]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x0, x24
bl CORINFO_HELP_NEWSFAST
mov x27, x0
mov x0, x25
mov x1, x26
ldr x2, [x25]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x27, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x24, #216
bl CORINFO_HELP_NEWSFAST
mov x25, x0
add x0, x24, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M36126_IG33
;; size=152 bbWeight=2 PerfScore 95.00
G_M36126_IG06:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x25, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x27, #8
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x27, #0x18]
ldr x0, [x27, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M36126_IG07
mov x0, x27
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=2 PerfScore 46.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M36126_IG07:
ldr x1, [x27, #0x08]
ldr w0, [x1, #0x10]
cmp w0, #0
bgt G_M36126_IG08
mov x0, xzr
b G_M36126_IG09
;; size=24 bbWeight=2 PerfScore 18.00
G_M36126_IG08:
ldr x0, [x1, #0x08]
ldr w1, [x0, #0x08]
cmp w1, #0
bls G_M36126_IG37
ldr x0, [x0, #0x10]
;; size=20 bbWeight=2 PerfScore 21.00
G_M36126_IG09:
mov x1, x0
;; size=4 bbWeight=2 PerfScore 1.00
G_M36126_IG10:
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
mov x26, x0
mov x0, x19
mov w1, w21
ldr x2, [x22, #0x38]
blr x2
ldr x24, [x20, #0x58]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x25, x0
cbnz x25, G_M36126_IG12
;; size=80 bbWeight=4 PerfScore 108.00
G_M36126_IG11:
mov x1, xzr
b G_M36126_IG17
;; size=8 bbWeight=2 PerfScore 3.00
G_M36126_IG12:
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x25]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x27, x0
mov x1, x24
ldr x2, [x27]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x0, x24
bl CORINFO_HELP_NEWSFAST
mov x28, x0
mov x0, x25
mov x1, x27
ldr x2, [x25]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x28, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x24, #216
bl CORINFO_HELP_NEWSFAST
mov x25, x0
add x0, x24, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M36126_IG34
;; size=152 bbWeight=2 PerfScore 95.00
G_M36126_IG13:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x25, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #8
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x28, #0x18]
ldr x0, [x28, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M36126_IG14
mov x0, x28
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=2 PerfScore 46.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M36126_IG14:
ldr x1, [x28, #0x08]
ldr w0, [x1, #0x10]
cmp w0, #0
bgt G_M36126_IG15
mov x0, xzr
b G_M36126_IG16
;; size=24 bbWeight=2 PerfScore 18.00
G_M36126_IG15:
ldr x0, [x1, #0x08]
ldr w1, [x0, #0x08]
cmp w1, #0
bls G_M36126_IG37
ldr x0, [x0, #0x10]
;; size=20 bbWeight=2 PerfScore 21.00
G_M36126_IG16:
mov x1, x0
;; size=4 bbWeight=2 PerfScore 1.00
G_M36126_IG17:
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
mov x27, x0
mov x0, x19
mov w1, w21
ldr x2, [x22, #0x38]
blr x2
ldr x24, [x20, #0x58]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x25, x0
cbnz x25, G_M36126_IG19
;; size=80 bbWeight=4 PerfScore 108.00
G_M36126_IG18:
mov x1, xzr
b G_M36126_IG24
;; size=8 bbWeight=2 PerfScore 3.00
G_M36126_IG19:
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x25]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x28, x0
mov x1, x24
ldr x2, [x28]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
mov x0, x24
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x20] // [V50 tmp36]
mov x0, x25
mov x1, x28
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3, #0x08]
blr x3
mov x15, x0
ldr x25, [fp, #0x20] // [V50 tmp36]
add x14, x25, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x24, #216
bl CORINFO_HELP_NEWSFAST
mov x28, x0
add x0, x24, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M36126_IG35
;; size=156 bbWeight=2 PerfScore 100.00
G_M36126_IG20:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x28, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x25, #8
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x25, #0x18]
ldr x0, [x25, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M36126_IG21
mov x0, x25
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=2 PerfScore 46.00
+ ;; size=80 bbWeight=2 PerfScore 45.00
G_M36126_IG21:
ldr x1, [x25, #0x08]
ldr w0, [x1, #0x10]
cmp w0, #0
bgt G_M36126_IG22
mov x0, xzr
b G_M36126_IG23
;; size=24 bbWeight=2 PerfScore 18.00
G_M36126_IG22:
ldr x0, [x1, #0x08]
ldr w1, [x0, #0x08]
cmp w1, #0
bls G_M36126_IG37
ldr x0, [x0, #0x10]
;; size=20 bbWeight=2 PerfScore 21.00
G_M36126_IG23:
mov x1, x0
;; size=4 bbWeight=2 PerfScore 1.00
G_M36126_IG24:
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
mov x24, x0
cbz x26, G_M36126_IG31
;; size=40 bbWeight=4 PerfScore 34.00
G_M36126_IG25:
cbz x27, G_M36126_IG31
cbz x24, G_M36126_IG31
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
str xzr, [x25, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x28, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x18] // [V57 tmp43]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M36126_IG36
;; size=96 bbWeight=2 PerfScore 37.00
G_M36126_IG26:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x40] // [V07 loc5]
mov x0, x25
mov x1, x26
movz x3, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptionMethod:LoadXml(System.Xml.XmlElement):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x28
mov x1, x27
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.KeyInfo:LoadXml(System.Xml.XmlElement):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [fp, #0x40] // [V07 loc5]
mov x1, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CipherData:LoadXml(System.Xml.XmlElement):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
stp xzr, xzr, [fp, #0x30] // [V11 loc9], [V10 loc8]
str xzr, [fp, #0x28] // [V12 loc10]
- ;; size=148 bbWeight=2 PerfScore 69.00
+ ;; size=144 bbWeight=2 PerfScore 68.00
G_M36126_IG27:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
ldr x26, [fp, #0x40] // [V07 loc5]
ldr x0, [x26, #0x18]
cbz x0, G_M36126_IG29
add x14, x24, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr w0, [x0, #0x08]
stp w0, w0, [x24, #0x20]
mov w0, #1
strb w0, [x24, #0x29]
strb w0, [x24, #0x2B]
str x24, [fp, #0x38] // [V10 loc8]
ldr x0, [x20, #0x68]
mov x3, x24
mov x1, x25
mov x2, x28
movz x11, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.IRelDecryptor:Decrypt(System.Security.Cryptography.Xml.EncryptionMethod,System.Security.Cryptography.Xml.KeyInfo,System.IO.Stream):System.IO.Stream:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
str x0, [fp, #0x30] // [V11 loc9]
ldr x0, [fp, #0x30] // [V11 loc9]
cbz x0, G_M36126_IG28
ldr x0, [fp, #0x30] // [V11 loc9]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
cbz x0, G_M36126_IG28
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
mov x0, x25
ldr x1, [fp, #0x30] // [V11 loc9]
mov w3, #1
mov w4, #0xD1FFAB1E
mov w5, wzr
movz x6, #0xD1FFAB1E // code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
str x25, [fp, #0x28] // [V12 loc10]
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x20]
blr x1
mov x27, x0
mov x0, x19
mov w1, w21
ldr x2, [x22, #0x38]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
mov x1, x27
ldr x2, [x0]
ldr x2, [x2, #0x68]
ldr x2, [x2, #0x38]
blr x2
b G_M36126_IG30
- ;; size=312 bbWeight=2 PerfScore 200.00
+ ;; size=308 bbWeight=2 PerfScore 199.00
G_M36126_IG28:
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_Cryptography_Xml_XrmlUnableToDecryptGrant():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.Security.Cryptography.CryptographicException:.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_M36126_IG29:
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_M36126_IG30:
mov x0, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
ldr x0, [fp, #0x30] // [V11 loc9]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x28]
blr x1
;; size=80 bbWeight=2 PerfScore 61.00
G_M36126_IG31:
add w21, w21, #1
cmp w21, w23
blt G_M36126_IG03
;; size=12 bbWeight=4 PerfScore 8.00
G_M36126_IG32:
ldp x27, x28, [sp, #0x90]
ldp x25, x26, [sp, #0x80]
ldp x23, x24, [sp, #0x70]
ldp x21, x22, [sp, #0x60]
ldp x19, x20, [sp, #0x50]
ldp fp, lr, [sp], #0xA0
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M36126_IG33:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M36126_IG06
;; size=8 bbWeight=0 PerfScore 0.00
G_M36126_IG34:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M36126_IG13
;; size=8 bbWeight=0 PerfScore 0.00
G_M36126_IG35:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M36126_IG20
;; size=8 bbWeight=0 PerfScore 0.00
G_M36126_IG36:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x1, [fp, #0x18] // [V57 tmp43]
b G_M36126_IG26
;; size=24 bbWeight=0 PerfScore 0.00
G_M36126_IG37:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M36126_IG38:
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, #160
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M36126_IG39:
ldr x0, [fp, #0x38] // [V10 loc8]
cbz x0, G_M36126_IG40
ldr x0, [fp, #0x38] // [V10 loc8]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=32 bbWeight=0 PerfScore 0.00
G_M36126_IG40:
ldr x0, [fp, #0x30] // [V11 loc9]
cbz x0, G_M36126_IG41
ldr x0, [fp, #0x30] // [V11 loc9]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=32 bbWeight=0 PerfScore 0.00
G_M36126_IG41:
ldr x0, [fp, #0x28] // [V12 loc10]
cbz x0, G_M36126_IG42
ldr x0, [fp, #0x28] // [V12 loc10]
mov x1, x0
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
;; size=32 bbWeight=0 PerfScore 0.00
G_M36126_IG42:
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 2220, prolog size 44, PerfScore 1289.00, instruction count 555, allocated bytes for code 2220 (MethodHash=68bc72e1) for method System.Security.Cryptography.Xml.XmlLicenseTransform:DecryptEncryptedGrants(System.Xml.XmlNodeList):this (FullOpts)
+; Total bytes of code 2200, prolog size 44, PerfScore 1284.00, instruction count 550, allocated bytes for code 2200 (MethodHash=68bc72e1) for method System.Security.Cryptography.Xml.XmlLicenseTransform:DecryptEncryptedGrants(System.Xml.XmlNodeList):this (FullOpts)
-16 (-1.26 % of base) - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte)
; Assembly listing for method System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (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; 16 single block inlinees; 6 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T29] ( 4, 3.50) ubyte -> x20 single-def
+; V00 arg0 [V00,T30] ( 4, 3.50) ubyte -> x20 single-def
; V01 arg1 [V01,T15] ( 5, 12 ) ubyte -> x19 single-def
; V02 loc0 [V02,T36] ( 4, 1.50) ref -> [fp+0x20] class-hnd exact EH-live spill-single-def <System.Collections.Generic.Dictionary`2[int,System.Diagnostics.ProcessWaitState]>
; V03 loc1 [V03 ] ( 5, 4 ) ubyte -> [fp+0xC0] do-not-enreg[X] addr-exposed ld-addr-op
;* V04 loc2 [V04,T38] ( 0, 0 ) ubyte -> zero-ref
; V05 loc3 [V05,T07] ( 4, 20 ) int -> x1
; V06 loc4 [V06,T27] ( 3, 6 ) ref -> x24 ld-addr-op class-hnd <System.Diagnostics.ProcessWaitState>
;* V07 loc5 [V07 ] ( 0, 0 ) int -> zero-ref ld-addr-op
; V08 loc6 [V08,T19] ( 5, 9.50) ref -> x24 class-hnd <System.Diagnostics.ProcessWaitState>
; V09 loc7 [V09,T03] ( 11, 31.50) ref -> x25 class-hnd <System.Collections.Generic.List`1[System.Diagnostics.ProcessWaitState]>
; V10 loc8 [V10 ] ( 7, 10.50) struct (40) [fp+0x98] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Diagnostics.ProcessWaitState]>
;* V11 loc9 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[int,System.Diagnostics.ProcessWaitState]>
;* V12 loc10 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Diagnostics.ProcessWaitState>
;* V13 loc11 [V13 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.ProcessWaitState]>
; V14 loc12 [V14 ] ( 3, 12 ) int -> [fp+0x94] do-not-enreg[X] addr-exposed ld-addr-op
; V15 loc13 [V15,T10] ( 3, 12 ) ref -> x20 ld-addr-op class-hnd <System.Diagnostics.ProcessWaitState>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V17 tmp1 [V17,T16] ( 3, 12 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Diagnostics.ProcessWaitState]>
;* V18 tmp2 [V18,T34] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V19 tmp3 [V19,T22] ( 2, 8 ) ref -> x0 class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Diagnostics.ProcessWaitState]>
-; V20 tmp4 [V20,T28] ( 3, 6 ) byref -> x0 "Inline stloc first use temp"
+; V20 tmp4 [V20,T29] ( 3, 6 ) byref -> x0 "Inline stloc first use temp"
; V21 tmp5 [V21,T33] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Diagnostics.ProcessWaitState]>
; V22 tmp6 [V22,T35] ( 2, 2 ) struct (40) [fp+0x68] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Diagnostics.ProcessWaitState]>
; V23 tmp7 [V23,T17] ( 3, 12 ) ref -> x14 class-hnd "Inline stloc first use temp" <System.Diagnostics.ProcessWaitState[]>
; V24 tmp8 [V24,T11] ( 4, 16 ) int -> x15 "Inline stloc first use temp"
;* V25 tmp9 [V25 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.ProcessWaitState]>
;* V26 tmp10 [V26,T09] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Diagnostics.ProcessWaitState]>
;* V28 tmp12 [V28 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V29 tmp13 [V29 ] ( 0, 0 ) byref -> zero-ref "Inline stloc first use temp"
;* V30 tmp14 [V30 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V31 tmp15 [V31,T05] ( 3, 24 ) int -> x20 "impAppendStmt"
; V32 tmp16 [V32,T13] ( 2, 16 ) int -> x0 "Spill before store to pinned local"
;* V33 tmp17 [V33,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V34 tmp18 [V34,T12] ( 2, 16 ) ref -> x0 class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2[int,System.Diagnostics.ProcessWaitState]>
; V35 tmp19 [V35,T18] ( 3, 12 ) byref -> x0 "Inline stloc first use temp"
; V36 FramesRoot [V36,T08] ( 6, 18 ) long -> x21 "Pinvoke FrameListRoot"
; V37 PInvokeFrame [V37 ] ( 8, 20 ) struct (64) [fp+0x28] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
; V38 tmp22 [V38,T06] ( 5, 20 ) ref -> x27 "field V11.value (fldOffset=0x0)" P-INDEP
;* V39 tmp23 [V39 ] ( 0, 0 ) int -> zero-ref "field V11.key (fldOffset=0x8)" P-INDEP
; V40 tmp24 [V40,T04] ( 4, 24.50) ref -> x25 single-def "field V13._list (fldOffset=0x0)" P-INDEP
; V41 tmp25 [V41,T02] ( 2, 32 ) ref -> x0 "field V13._current (fldOffset=0x8)" P-INDEP
-; V42 tmp26 [V42,T01] ( 6, 68.50) int -> x22 "field V13._index (fldOffset=0x10)" P-INDEP
-; V43 tmp27 [V43,T30] ( 2, 4.50) int -> x24 "field V13._version (fldOffset=0x14)" P-INDEP
+; V42 tmp26 [V42,T01] ( 6, 68.50) int -> x26 "field V13._index (fldOffset=0x10)" P-INDEP
+; V43 tmp27 [V43,T31] ( 2, 4.50) int -> x24 "field V13._version (fldOffset=0x14)" P-INDEP
; V44 tmp28 [V44,T37] ( 3, 1.50) ref -> x25 single-def "field V25._list (fldOffset=0x0)" P-INDEP
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref single-def "field V25._current (fldOffset=0x8)" P-INDEP
;* V46 tmp30 [V46,T42] ( 0, 0 ) int -> zero-ref "field V25._index (fldOffset=0x10)" P-INDEP
; V47 tmp31 [V47,T39] ( 2, 1 ) int -> x24 "field V25._version (fldOffset=0x14)" P-INDEP
;* V48 tmp32 [V48 ] ( 0, 0 ) ref -> zero-ref single-def "V22.[000..008)"
; V49 tmp33 [V49,T40] ( 2, 1 ) int -> x1 "V22.[008..012)"
;* V50 tmp34 [V50 ] ( 0, 0 ) int -> zero-ref "V22.[012..016)"
;* V51 tmp35 [V51 ] ( 0, 0 ) int -> zero-ref "V22.[016..020)"
; V52 tmp36 [V52,T23] ( 2, 8 ) ref -> x1 "argument with side effect"
; V53 tmp37 [V53,T00] ( 3, 96 ) ref -> x0 "arr expr"
; V54 tmp38 [V54,T14] ( 2, 16 ) long -> x22 "Cast away GC"
; V55 PSPSym [V55,T41] ( 1, 1 ) long -> [fp+0xC8] do-not-enreg[V] "PSPSym"
; V56 cse0 [V56,T20] ( 5, 8.50) ref -> [fp+0x18] spill-single-def "CSE #02: moderate"
-; V57 cse1 [V57,T25] ( 2, 8 ) int -> x0 "CSE #07: moderate"
-; V58 cse2 [V58,T21] ( 2, 8 ) int -> x0 "CSE #08: moderate"
+; V57 cse1 [V57,T25] ( 2, 8 ) int -> x0 "CSE #06: moderate"
+; V58 cse2 [V58,T21] ( 2, 8 ) int -> x0 "CSE #07: moderate"
; V59 cse3 [V59,T32] ( 3, 4 ) long -> x22 "CSE #01: moderate"
-; V60 cse4 [V60,T31] ( 2, 4.50) long -> x26 hoist "CSE #03: moderate"
-; V61 cse5 [V61,T26] ( 2, 8 ) int -> x12 "CSE #06: moderate"
+; V60 cse4 [V60,T28] ( 4, 6.50) long -> x26 hoist "CSE #03: moderate"
+; V61 cse5 [V61,T26] ( 2, 8 ) int -> x12 "CSE #05: moderate"
;
; Lcl frame size = 192
G_M63806_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD0]
stp x21, x22, [sp, #0xE0]
stp x23, x24, [sp, #0xF0]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
add x9, fp, #104
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp xzr, xzr, [x9, #0x40]
str xzr, [x9, #0x50]
add x2, sp, #0xD1FFAB1E
str x2, [fp, #0xC8] // [V55 PSPSym]
mov w20, w0
mov w19, w1
;; size=68 bbWeight=1 PerfScore 14.00
G_M63806_IG02:
add x0, fp, #48 // [V37 PInvokeFrame+0x08]
bl CORINFO_HELP_INIT_PINVOKE_FRAME
mov x21, x0
mov x1, sp
str x1, [fp, #0x48] // [V37 PInvokeFrame+0x20]
mov x1, fp
str x1, [fp, #0x58] // [V37 PInvokeFrame+0x30]
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldr x23, [x22]
str x23, [fp, #0x18] // [V56 cse0]
mov x0, x23
str x0, [fp, #0x20] // [V02 loc0]
str wzr, [fp, #0xC0] // [V03 loc1]
;; size=60 bbWeight=1 PerfScore 13.00
G_M63806_IG03:
ldrb w1, [fp, #0xC0] // [V03 loc1]
cbnz w1, G_M63806_IG33
add x1, fp, #192 // [V03 loc1]
bl System.Threading.Monitor:ReliableEnter(System.Object,byref)
b G_M63806_IG05
;; size=20 bbWeight=1 PerfScore 5.50
G_M63806_IG04:
mov x0, x24
movz x1, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:ReleaseRef():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=24 bbWeight=2 PerfScore 12.00
G_M63806_IG05:
movz x0, #0xD1FFAB1E // code for Interop+Sys:WaitIdAnyExitedNoHangNoWait():int
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
sxtw w1, w0
cmp w1, #0
ble G_M63806_IG07
;; size=32 bbWeight=8 PerfScore 60.00
G_M63806_IG06:
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M63806_IG18
ldr x24, [x0]
uxtb w1, w19
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:TryReapChild(ubyte):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x23, [fp, #0x18] // [V56 cse0]
cbz w0, G_M63806_IG05
b G_M63806_IG04
;; size=76 bbWeight=2 PerfScore 47.00
G_M63806_IG07:
cbz w1, G_M63806_IG08
bl System.Runtime.InteropServices.Marshal:GetLastPInvokeError():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 x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
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
movz x1, #0xD1FFAB1E // code for System.Environment:FailFast(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=84 bbWeight=2 PerfScore 41.00
G_M63806_IG08:
tst w20, #255
beq G_M63806_IG35
b G_M63806_IG10
;; size=12 bbWeight=1 PerfScore 2.50
G_M63806_IG09:
ldr x20, [x0]
uxtb w2, w19
mov x0, x20
ldr w1, [fp, #0x94] // [V14 loc12]
movz x3, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:ChildReaped(int,ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:ReleaseRef():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
nop
;; size=68 bbWeight=4 PerfScore 84.00
G_M63806_IG10:
str wzr, [fp, #0x94] // [V14 loc12]
add x22, fp, #148 // [V14 loc12]
mov w0, wzr
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=4 PerfScore 14.00
G_M63806_IG11:
blr x1
mov x1, x22
movn w0, #0
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [fp, #0x40] // [V37 PInvokeFrame+0x18]
adr x2, [G_M63806_IG14]
str x2, [fp, #0x50] // [V37 PInvokeFrame+0x28]
add x2, fp, #48 // [V37 PInvokeFrame+0x08]
str x2, [x21, #0x08]
strb wzr, [x21, #0x04]
;; size=48 bbWeight=4 PerfScore 34.00
G_M63806_IG12:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=12 bbWeight=4 PerfScore 6.00
G_M63806_IG13:
blr x2
;; size=4 bbWeight=4 PerfScore 4.00
G_M63806_IG14:
mov w20, w0
mov w0, #1
strb w0, [x21, #0x04]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
cmp w0, #0
beq G_M63806_IG15
bl CORINFO_HELP_STOP_FOR_GC
;; size=40 bbWeight=4 PerfScore 36.00
G_M63806_IG15:
ldr x0, [fp, #0x38] // [V37 PInvokeFrame+0x10]
str x0, [x21, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
;; size=20 bbWeight=4 PerfScore 18.00
G_M63806_IG16:
blr x0
bl System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int)
cmp w20, #0
ble G_M63806_IG35
ldr x23, [fp, #0x18] // [V56 cse0]
mov x0, x23
mov w1, w20
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[int,System.__Canon]:FindValue(int):byref:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M63806_IG09
;; size=52 bbWeight=4 PerfScore 52.00
G_M63806_IG17:
b G_M63806_IG10
;; size=4 bbWeight=2 PerfScore 2.00
G_M63806_IG18:
tst w20, #255
ldr x23, [fp, #0x18] // [V56 cse0]
bne G_M63806_IG08
mov x24, xzr
mov x25, xzr
mov x0, x23
ldr w1, [x0, #0x44]
stp xzr, xzr, [fp, #0x80]
;; size=32 bbWeight=0.50 PerfScore 4.50
G_M63806_IG19:
ldr x2, [fp, #0x68]
str x2, [fp, #0x98]
ldp q16, q17, [fp, #0x70]
stp q16, q17, [fp, #0xA0]
;; size=16 bbWeight=0.50 PerfScore 3.00
G_M63806_IG20:
str x0, [fp, #0x98] // [V10 loc8]
stp w1, wzr, [fp, #0xA0] // [V10 loc8+0x08], [V10 loc8+0x0c]
mov w0, #2
str w0, [fp, #0xA8] // [V10 loc8+0x10]
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
b G_M63806_IG22
;; size=32 bbWeight=0.50 PerfScore 3.00
G_M63806_IG21:
mov x24, x27
;; size=4 bbWeight=4 PerfScore 2.00
G_M63806_IG22:
add x0, fp, #152 // [V10 loc8]
- mov x1, x26
+ add x1, x26, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[int,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M63806_IG26
;; size=32 bbWeight=4 PerfScore 30.00
G_M63806_IG23:
cbz x24, G_M63806_IG08
mov x0, x24
movz x1, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:ReleaseRef():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz x25, G_M63806_IG08
ldr w24, [x25, #0x14]
- mov w22, wzr
+ mov w26, wzr
b G_M63806_IG25
;; size=44 bbWeight=0.50 PerfScore 6.25
G_M63806_IG24:
ldr x0, [x25, #0x08]
ldr w1, [x0, #0x08]
- cmp w22, w1
+ cmp w26, w1
bhs G_M63806_IG34
add x0, x0, #16
- ldr x0, [x0, w22, UXTW #3]
- add w22, w22, #1
+ ldr x0, [x0, w26, UXTW #3]
+ add w26, w26, #1
movz x1, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:ReleaseRef():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
;; size=52 bbWeight=16 PerfScore 320.00
G_M63806_IG25:
ldr w0, [x25, #0x14]
cmp w24, w0
bne G_M63806_IG32
ldr w0, [x25, #0x10]
- cmp w22, w0
+ cmp w26, w0
bhs G_M63806_IG08
b G_M63806_IG24
;; size=28 bbWeight=4 PerfScore 40.00
G_M63806_IG26:
ldr x27, [fp, #0xB0] // [V10 loc8+0x18]
uxtb w1, w19
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Diagnostics.ProcessWaitState:TryReapChild(ubyte):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
cbz w0, G_M63806_IG22
cbz x24, G_M63806_IG21
cbnz x25, G_M63806_IG29
;; size=48 bbWeight=4 PerfScore 58.00
G_M63806_IG27:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M63806_IG31
- ;; size=40 bbWeight=2 PerfScore 17.00
+ ;; size=32 bbWeight=2 PerfScore 15.00
G_M63806_IG28:
ldr x15, [x22, #0x10]
add x14, x25, #8
bl CORINFO_HELP_ASSIGN_REF
;; size=12 bbWeight=2 PerfScore 9.00
G_M63806_IG29:
ldp w15, w14, [x25, #0x10]
add w14, w14, #1
str w14, [x25, #0x14]
ldr x14, [x25, #0x08]
ldr w12, [x14, #0x08]
cmp w12, w15
bls G_M63806_IG30
add w12, w15, #1
str w12, [x25, #0x10]
add x14, x14, #16
add x14, x14, x15, LSL #3
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
b G_M63806_IG22
;; size=56 bbWeight=4 PerfScore 70.00
G_M63806_IG30:
mov x0, x25
mov x1, x27
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M63806_IG22
;; size=32 bbWeight=4 PerfScore 30.00
G_M63806_IG31:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x26
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M63806_IG28
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=12 bbWeight=0 PerfScore 0.00
G_M63806_IG32:
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_M63806_IG33:
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_M63806_IG34:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M63806_IG35:
ldrb w0, [fp, #0xC0] // [V03 loc1]
cbz w0, G_M63806_IG37
;; size=8 bbWeight=1 PerfScore 3.00
G_M63806_IG36:
ldr x0, [fp, #0x20] // [V02 loc0]
bl System.Threading.Monitor:Exit(System.Object)
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M63806_IG37:
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xF0]
ldp x21, x22, [sp, #0xE0]
ldp x19, x20, [sp, #0xD0]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M63806_IG38:
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_M63806_IG39:
ldrb w0, [fp, #0xC0] // [V03 loc1]
cbz w0, G_M63806_IG40
ldr x0, [fp, #0x20] // [V02 loc0]
bl System.Threading.Monitor:Exit(System.Object)
;; size=16 bbWeight=0 PerfScore 0.00
G_M63806_IG40:
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 1272, prolog size 68, PerfScore 1049.25, instruction count 318, allocated bytes for code 1272 (MethodHash=9ca906c1) for method System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
+; Total bytes of code 1256, prolog size 68, PerfScore 1047.25, instruction count 314, allocated bytes for code 1256 (MethodHash=9ca906c1) for method System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
-16 (-1.26 % 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,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>
+; 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>
;* 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]>
; 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>
;* 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>
; 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>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; 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]>
+; 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]>
;* 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 -> x22 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
+; V42 tmp34 [V42,T24] ( 3, 3 ) ref -> x25 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.TaskScheduler>
;* V43 tmp35 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[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 -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromResultTask`1[double]>
+; V46 tmp38 [V46,T05] ( 7, 7 ) ref -> x22 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>
; 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"
-;* V71 cse1 [V71,T39] ( 0, 0 ) byref -> zero-ref "CSE #08: moderate"
+;* V71 cse1 [V71,T39] ( 0, 0 ) byref -> zero-ref "CSE #07: 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,T12] ( 5, 4 ) long -> x22 "CSE #03: moderate"
+; V74 cse4 [V74,T09] ( 7, 5.50) long -> x22 "CSE #03: moderate"
; V75 rat0 [V75,T35] ( 2, 1 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 32
G_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
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x14, x23, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M52936_IG32
;; size=68 bbWeight=1 PerfScore 13.00
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]
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]
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]
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
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M52936_IG06:
ldr x24, [x20, #-0xB8]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M52936_IG07:
add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x25, x0
add x14, x25, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Dns+<>c__DisplayClass39_0`1[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]
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
G_M52936_IG08:
ldr x27, [x20, #0x88]
ldrsb wzr, [x24]
cbz x27, G_M52936_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ add x0, x22, #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=104 bbWeight=1 PerfScore 25.50
+ ;; 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
bl CORINFO_HELP_ASSIGN_REF
mov x0, x24
mov x1, x28
mov x2, x27
mov x3, x19
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
add x14, x23, #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
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
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
G_M52936_IG15:
ldr x24, [x23, #0x10]
- ldr x22, [x20, #0x88]
+ ldr x25, [x20, #0x88]
ldrsb wzr, [x19]
cbz x26, G_M52936_IG24
- cbz x22, G_M52936_IG26
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ cbz x25, G_M52936_IG26
+ add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x25, x0
+ mov x22, x0
mov x1, x26
mov x2, x24
mov x3, xzr
mov w4, wzr
mov w5, #0xD1FFAB1E
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x24, x0
cbnz x24, G_M52936_IG16
- add x0, x25, #52
+ add x0, x22, #52
ldapr w0, [x0]
orr w0, w0, #0xD1FFAB1E
- add x1, x25, #52
+ add x1, x22, #52
stlr w0, [x1]
b G_M52936_IG18
- ;; size=136 bbWeight=0.50 PerfScore 18.00
+ ;; 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
beq G_M52936_IG18
- mov x0, x25
+ mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #8
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=48 bbWeight=0.50 PerfScore 6.25
G_M52936_IG18:
- add x14, x25, #56
+ add x14, x22, #56
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
- mov x1, x25
- mov x2, x22
+ mov x1, x22
+ mov x2, x25
mov x3, xzr
mov w4, #0xD1FFAB1E
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
;; size=52 bbWeight=0.50 PerfScore 5.00
G_M52936_IG19:
mov x0, x21
ldp x1, x2, [x23, #0x10]
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:TryInsert(System.__Canon,System.__Canon,ubyte):ubyte:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
b G_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]
;; 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 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)
+; 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)
-16 (-0.39 % of base) - System.Runtime.Serialization.CodeExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this
; Assembly listing for method System.Runtime.Serialization.CodeExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):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; 197 single block inlinees; 19 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T05] ( 19, 18.50) ref -> x19 this class-hnd single-def <System.Runtime.Serialization.CodeExporter>
; V01 arg1 [V01,T07] ( 17, 15 ) ref -> x20 class-hnd single-def <System.Runtime.Serialization.DataContracts.DataContract>
; V02 arg2 [V02,T19] ( 14, 12 ) ref -> x21 class-hnd single-def <System.Runtime.Serialization.ContractCodeDomInfo>
; V03 loc0 [V03,T47] ( 16, 11 ) ref -> x22 class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
; V04 loc1 [V04,T122] ( 2, 1 ) ref -> x25 class-hnd exact single-def <System.String>
;* V05 loc2 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.CodeDom.CodeAttributeDeclaration>
; V06 loc3 [V06,T102] ( 3, 3 ) ubyte -> x23
; V07 loc4 [V07,T103] ( 5, 2.50) ref -> x24 class-hnd exact single-def <System.Runtime.Serialization.ContractCodeDomInfo>
; V08 loc5 [V08,T105] ( 4, 2 ) ref -> x24 class-hnd single-def <System.Type>
; V09 loc6 [V09,T48] ( 5, 10.50) int -> x24
; V10 loc7 [V10,T06] ( 10, 20 ) ref -> x28 class-hnd exact <System.Runtime.Serialization.DataContracts.DataMember>
; V11 loc8 [V11,T66] ( 3, 6 ) ref -> [fp+0x128] class-hnd spill-single-def <System.CodeDom.CodeTypeReference>
; V12 loc9 [V12,T08] ( 8, 16 ) ref -> [fp+0x120] class-hnd exact spill-single-def <System.String>
; V13 loc10 [V13,T49] ( 6, 10 ) ref -> [fp+0x118] class-hnd exact spill-single-def <System.String>
; V14 loc11 [V14,T67] ( 3, 6 ) ref -> [fp+0x110] class-hnd exact spill-single-def <System.String>
;* V15 loc12 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.CodeDom.CodeMemberField>
; V16 loc13 [V16,T21] ( 6, 12 ) ref -> [fp+0x108] class-hnd spill-single-def <System.CodeDom.CodeMemberProperty>
; V17 loc14 [V17,T68] ( 3, 6 ) ref -> [fp+0x100] class-hnd spill-single-def <System.Object>
;* V18 loc15 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.CodeDom.CodeAttributeDeclaration>
;* V19 loc16 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.CodeDom.CodeAttributeDeclaration>
;# V20 OutArgs [V20 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V21 tmp1 [V21,T65] ( 6, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeDeclaration>
; V22 tmp2 [V22,T87] ( 3, 3 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V23 tmp3 [V23,T88] ( 3, 3 ) ref -> [fp+0xF8] class-hnd spill-single-def "impAppendStmt" <System.CodeDom.CodeAttributeArgumentCollection>
; V24 tmp4 [V24,T81] ( 4, 4 ) ref -> x1 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V25 tmp5 [V25,T89] ( 3, 3 ) ref -> x28 class-hnd single-def "non-inline candidate call" <System.CodeDom.CodeAttributeArgumentCollection>
; V26 tmp6 [V26,T90] ( 3, 3 ) ref -> [fp+0xF0] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V27 tmp7 [V27,T82] ( 4, 4 ) ref -> x1 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V28 tmp8 [V28,T91] ( 3, 3 ) ref -> x0 class-hnd exact "impAppendStmt" <System.String>
; V29 tmp9 [V29,T119] ( 3, 1.50) int -> x0
; V30 tmp10 [V30,T92] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.CodeDom.CodeTypeReferenceCollection>
; V31 tmp11 [V31,T54] ( 2, 8 ) ref -> [fp+0xE8] class-hnd spill-single-def "impAppendStmt" <System.Runtime.Serialization.DataContracts.DataContract>
;* V32 tmp12 [V32 ] ( 0, 0 ) ref -> zero-ref
;* V33 tmp13 [V33 ] ( 0, 0 ) ref -> zero-ref
;* V34 tmp14 [V34 ] ( 0, 0 ) ref -> zero-ref
;* V35 tmp15 [V35 ] ( 0, 0 ) ref -> zero-ref
; V36 tmp16 [V36,T75] ( 3, 6 ) int -> x0
; V37 tmp17 [V37,T01] ( 8, 32 ) ref -> [fp+0xE0] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeMemberField>
;* V38 tmp18 [V38 ] ( 0, 0 ) ref -> zero-ref
;* V39 tmp19 [V39 ] ( 0, 0 ) ref -> zero-ref
;* V40 tmp20 [V40 ] ( 0, 0 ) ref -> zero-ref
;* V41 tmp21 [V41 ] ( 0, 0 ) ref -> zero-ref
;* V42 tmp22 [V42 ] ( 0, 0 ) ref -> zero-ref
;* V43 tmp23 [V43 ] ( 0, 0 ) ref -> zero-ref
;* V44 tmp24 [V44 ] ( 0, 0 ) ref -> zero-ref
;* V45 tmp25 [V45 ] ( 0, 0 ) ref -> zero-ref
; V46 tmp26 [V46,T76] ( 3, 6 ) int -> x4
; V47 tmp27 [V47,T00] ( 10, 40 ) ref -> [fp+0xD8] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeDeclaration>
; V48 tmp28 [V48,T04] ( 6, 24 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAttributeDeclaration>
; V49 tmp29 [V49,T22] ( 3, 12 ) ref -> [fp+0xD0] class-hnd spill-single-def "impAppendStmt" <System.CodeDom.CodeAttributeArgumentCollection>
; V50 tmp30 [V50,T23] ( 3, 12 ) ref -> [fp+0xC8] class-hnd exact spill-single-def "Single-def Box Helper" <System.Int64>
; V51 tmp31 [V51,T24] ( 3, 12 ) ref -> [fp+0xC0] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V52 tmp32 [V52,T09] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V53 tmp33 [V53,T25] ( 3, 12 ) ref -> [fp+0xB8] class-hnd spill-single-def "impAppendStmt" <System.CodeDom.CodeAttributeArgumentCollection>
; V54 tmp34 [V54,T26] ( 3, 12 ) ref -> [fp+0xB0] class-hnd exact spill-single-def "Single-def Box Helper" <System.Boolean>
; V55 tmp35 [V55,T27] ( 3, 12 ) ref -> [fp+0xA8] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V56 tmp36 [V56,T10] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V57 tmp37 [V57,T28] ( 3, 12 ) ref -> [fp+0xA0] class-hnd spill-single-def "impAppendStmt" <System.CodeDom.CodeAttributeArgumentCollection>
; V58 tmp38 [V58,T29] ( 3, 12 ) ref -> [fp+0x98] class-hnd exact spill-single-def "Single-def Box Helper" <System.Boolean>
; V59 tmp39 [V59,T30] ( 3, 12 ) ref -> [fp+0x90] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V60 tmp40 [V60,T11] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V61 tmp41 [V61,T31] ( 3, 12 ) ref -> [fp+0x88] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V62 tmp42 [V62,T32] ( 3, 12 ) ref -> [fp+0x80] class-hnd spill-single-def "impAppendStmt" <System.CodeDom.CodeAttributeArgumentCollection>
; V63 tmp43 [V63,T12] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
; V64 tmp44 [V64,T93] ( 3, 3 ) ref -> x0 class-hnd single-def "dup spill" <System.CodeDom.CodeTypeReference>
;* V65 tmp45 [V65 ] ( 0, 0 ) ref -> zero-ref single-def
; V66 tmp46 [V66,T116] ( 3, 1.50) ref -> x1
; V67 tmp47 [V67,T94] ( 3, 3 ) ref -> x28 class-hnd single-def "non-inline candidate call" <System.CodeDom.CodeAttributeArgumentCollection>
; V68 tmp48 [V68,T95] ( 3, 3 ) ref -> [fp+0x78] class-hnd exact spill-single-def "Single-def Box Helper" <System.Boolean>
; V69 tmp49 [V69,T96] ( 3, 3 ) ref -> [fp+0x70] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V70 tmp50 [V70,T83] ( 4, 4 ) ref -> x1 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeArgument>
;* V71 tmp51 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp52 [V72 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V73 tmp53 [V73 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V74 tmp54 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Xml.XmlQualifiedName>
; V75 tmp55 [V75,T109] ( 2, 2 ) ref -> [fp+0x68] class-hnd spill-single-def "Inlining Arg" <System.Xml.XmlQualifiedName>
;* V76 tmp56 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V77 tmp57 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V78 tmp58 [V78 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
; V79 tmp59 [V79,T97] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
; V80 tmp60 [V80,T106] ( 4, 2 ) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <System.String>
; V81 tmp61 [V81,T123] ( 2, 1 ) ref -> x0 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
;* V82 tmp62 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V83 tmp63 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V84 tmp64 [V84 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V85 tmp65 [V85,T126] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V86 tmp66 [V86,T120] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
;* V87 tmp67 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Runtime.Serialization.ImportOptions>
; V88 tmp68 [V88,T98] ( 3, 3 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.CodeDom.CodeAttributeDeclarationCollection>
; V89 tmp69 [V89,T99] ( 3, 3 ) ref -> x0 class-hnd exact "impAppendStmt" <System.String>
; V90 tmp70 [V90,T110] ( 2, 2 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeAttributeDeclaration>
; V91 tmp71 [V91,T107] ( 4, 2 ) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <System.String>
; V92 tmp72 [V92,T124] ( 2, 1 ) ref -> x0 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
;* V93 tmp73 [V93 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V94 tmp74 [V94 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V95 tmp75 [V95 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V96 tmp76 [V96,T127] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V97 tmp77 [V97,T121] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
;* V98 tmp78 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Runtime.Serialization.ImportOptions>
; V99 tmp79 [V99,T100] ( 3, 3 ) ref -> x24 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
; V100 tmp80 [V100,T101] ( 3, 3 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeTypeReference>
; V101 tmp81 [V101,T111] ( 2, 2 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReference>
;* V102 tmp82 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Runtime.Serialization.DataContracts.DataMember]>
; V103 tmp83 [V103,T55] ( 2, 8 ) ref -> x2 class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V104 tmp84 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
; V105 tmp85 [V105,T13] ( 4, 16 ) ref -> x0 class-hnd "Inlining Arg" <System.String>
;* V106 tmp86 [V106 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V107 tmp87 [V107,T69] ( 3, 6 ) ref -> x0 class-hnd "Inline return value spill temp" <System.String>
;* V108 tmp88 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V109 tmp89 [V109 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V110 tmp90 [V110,T14] ( 4, 16 ) ref -> [fp+0x60] class-hnd exact spill-single-def "dup spill" <System.String>
;* V111 tmp91 [V111 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V112 tmp92 [V112 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V113 tmp93 [V113,T33] ( 3, 12 ) ref -> [fp+0x58] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeCommentStatementCollection>
; V114 tmp94 [V114,T34] ( 3, 12 ) ref -> [fp+0x50] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
;* V115 tmp95 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.Hashtable>
; V116 tmp96 [V116,T35] ( 3, 12 ) ref -> [fp+0x48] class-hnd exact spill-single-def "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataContractSet>
; V117 tmp97 [V117,T56] ( 2, 8 ) ref -> x0 class-hnd "dup spill" <System.Collections.Hashtable>
; V118 tmp98 [V118,T50] ( 5, 10 ) ref -> x0
; V119 tmp99 [V119,T15] ( 4, 16 ) ref -> [fp+0x40] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Hashtable>
;* V120 tmp100 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Collections.Hashtable>
;* V121 tmp101 [V121 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.IDictionary>
; V122 tmp102 [V122,T57] ( 2, 8 ) ref -> x0 class-hnd "dup spill" <System.Collections.IDictionary>
; V123 tmp103 [V123,T51] ( 4, 8 ) ref -> x0
; V124 tmp104 [V124,T36] ( 3, 12 ) ref -> x0 class-hnd exact "NewObj constructor temp" <System.Collections.Specialized.ListDictionary>
;* V125 tmp105 [V125 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Collections.Specialized.ListDictionary>
; V126 tmp106 [V126,T37] ( 3, 12 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeArgumentCollection>
; V127 tmp107 [V127,T58] ( 2, 8 ) ref -> [fp+0x30] class-hnd exact spill-single-def "Inlining Arg" <System.String>
; V128 tmp108 [V128,T38] ( 3, 12 ) ref -> x0 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
; V129 tmp109 [V129,T16] ( 4, 16 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeTypeReference>
;* V130 tmp110 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V131 tmp111 [V131,T59] ( 2, 8 ) ref -> x3 class-hnd exact "dup spill" <System.String>
; V132 tmp112 [V132,T20] ( 7, 14 ) ref -> x3
; V133 tmp113 [V133,T52] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V134 tmp114 [V134,T60] ( 2, 8 ) byref -> x0 "impAppendStmt"
;* V135 tmp115 [V135 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V136 tmp116 [V136,T84] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V137 tmp117 [V137 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V138 tmp118 [V138 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V139 tmp119 [V139 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V140 tmp120 [V140,T85] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V141 tmp121 [V141 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V142 tmp122 [V142 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V143 tmp123 [V143 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V144 tmp124 [V144,T86] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
;* V145 tmp125 [V145 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int64>
;* V146 tmp126 [V146 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Int64>
; V147 tmp127 [V147,T39] ( 3, 12 ) ref -> x0 class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
; V148 tmp128 [V148,T77] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
;* V149 tmp129 [V149 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Runtime.Serialization.ImportOptions>
;* V150 tmp130 [V150 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper>
; V151 tmp131 [V151,T40] ( 3, 12 ) ref -> [fp+0x20] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeAttributeArgumentCollection>
; V152 tmp132 [V152,T61] ( 2, 8 ) ref -> [fp+0x18] class-hnd exact spill-single-def "Inlining Arg" <System.String>
; V153 tmp133 [V153,T41] ( 3, 12 ) ref -> x0 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
; V154 tmp134 [V154,T17] ( 4, 16 ) ref -> [fp+0x10] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeTypeReference>
;* V155 tmp135 [V155 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
; V156 tmp136 [V156,T42] ( 3, 12 ) ref -> x0 class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
; V157 tmp137 [V157,T43] ( 3, 12 ) ref -> x0 class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
; V158 tmp138 [V158,T44] ( 3, 12 ) ref -> x0 class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
;* V159 tmp139 [V159 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Runtime.Serialization.DataContracts.DataMember]>
; V160 tmp140 [V160,T112] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V161 tmp141 [V161,T113] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V162 tmp142 [V162,T114] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V163 tmp143 [V163,T18] ( 2, 16 ) ref -> x0 "argument with side effect"
; V164 tmp144 [V164,T62] ( 2, 8 ) ref -> x0 "argument with side effect"
; V165 tmp145 [V165,T45] ( 3, 12 ) ref -> x0 "argument with side effect"
; V166 tmp146 [V166,T63] ( 2, 8 ) ref -> x0 "argument with side effect"
; V167 tmp147 [V167,T46] ( 3, 12 ) ref -> x0 "argument with side effect"
;* V168 cse0 [V168,T115] ( 0, 0 ) byref -> zero-ref "CSE #17: conservative"
; V169 cse1 [V169,T78] ( 3, 6 ) int -> [fp+0x13C] spill-single-def "CSE #23: conservative"
; V170 cse2 [V170,T79] ( 3, 6 ) int -> [fp+0x138] spill-single-def "CSE #25: conservative"
; V171 cse3 [V171,T80] ( 3, 6 ) long -> [fp+0x130] spill-single-def "CSE #27: conservative"
; V172 cse4 [V172,T64] ( 3, 6.50) long -> x27 hoist "CSE #11: conservative"
; V173 cse5 [V173,T104] ( 5, 2.50) long -> x24 "CSE #04: conservative"
; V174 cse6 [V174,T108] ( 4, 2 ) long -> x23 "CSE #06: conservative"
; V175 cse7 [V175,T125] ( 2, 1 ) int -> x0 "CSE #01: conservative"
; V176 cse8 [V176,T70] ( 3, 6 ) ref -> x0 "CSE #12: conservative"
; V177 cse9 [V177,T71] ( 2, 4 ) ref -> x0 "CSE #21: conservative"
; V178 cse10 [V178,T72] ( 2, 4 ) ref -> x0 "CSE #24: conservative"
; V179 cse11 [V179,T73] ( 2, 4 ) ref -> x0 "CSE #26: conservative"
; V180 cse12 [V180,T74] ( 3, 6 ) ref -> x0 "CSE #28: conservative"
; V181 cse13 [V181,T117] ( 3, 1.50) ref -> x0 "CSE #08: conservative"
; V182 cse14 [V182,T118] ( 3, 1.50) ref -> x0 "CSE #10: conservative"
; V183 cse15 [V183,T02] ( 20, 28.50) long -> x25 "CSE #05: aggressive"
; V184 cse16 [V184,T03] ( 20, 28 ) long -> x26 "CSE #03: aggressive"
; V185 cse17 [V185,T53] ( 4, 8 ) int -> x2 "CSE #13: conservative"
;
; Lcl frame size = 304
G_M63476_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
mov x19, x0
mov x20, x1
mov x21, x2
;; size=40 bbWeight=1 PerfScore 8.00
G_M63476_IG02:
mov x0, x19
mov x1, x20
mov x2, x21
movz x3, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GenerateType(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrb w0, [x21, #0x31]
cbz w0, G_M63476_IG04
;; size=40 bbWeight=1 PerfScore 11.00
G_M63476_IG03:
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_M63476_IG04:
ldr x22, [x21, #0x20]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_SupportsPartialTypes():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M63476_IG05
mov w0, #1
strb w0, [x22, #0x76]
;; size=40 bbWeight=0.50 PerfScore 5.75
G_M63476_IG05:
mov x0, x20
ldr x1, [x20]
ldr x23, [x1, #0x48]
ldr x1, [x23, #0x20]
blr x1
cbz w0, G_M63476_IG06
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_SupportsDeclareValueTypes():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M63476_IG06
ldr w0, [x22, #0x70]
and w0, w0, #0xD1FFAB1E
str w0, [x22, #0x70]
mov w0, #0xD1FFAB1E
strh w0, [x22, #0x74]
b G_M63476_IG07
;; size=76 bbWeight=0.50 PerfScore 12.75
G_M63476_IG06:
ldr w0, [x22, #0x70]
and w0, w0, #0xD1FFAB1E
str w0, [x22, #0x70]
strh wzr, [x22, #0x74]
;; size=16 bbWeight=0.50 PerfScore 2.75
G_M63476_IG07:
mov x0, x20
ldr x1, [x20]
ldr x24, [x1, #0x50]
ldr x1, [x24]
blr x1
ldr x0, [x0, #0x10]
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetNameForAttribute(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x25, x0
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetClrTypeFullName(System.Type):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.CodeDom.CodeAttributeDeclaration:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x28, x0
ldr x1, [x27, #0x10]
str x1, [fp, #0xF8] // [V23 tmp3]
add x14, x28, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
ldr x25, [fp, #0xF8] // [V23 tmp3]
ldrsb wzr, [x25]
mov x0, x25
movz x25, #0xD1FFAB1E // code for System.Collections.IList:Add(System.Object):int:this
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x11, x25
ldr xip0, [x11]
blr xip0
ldr x28, [x27, #0x10]
mov x0, x20
ldr x1, [x24]
blr x1
str x0, [fp, #0x68] // [V75 tmp55]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xF0] // [V26 tmp6]
ldr x14, [fp, #0x68] // [V75 tmp55]
ldr x15, [x14, #0x08]
add x14, x1, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0xF0] // [V26 tmp6]
bl CORINFO_HELP_ASSIGN_REF
ldrsb wzr, [x28]
mov x0, x28
add x11, x25, #8
ldr xip0, [x11]
blr xip0
mov x0, x20
ldr x1, [x23, #0x30]
blr x1
cbz w0, G_M63476_IG08
ldr x28, [x27, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x78] // [V68 tmp48]
mov x0, x20
ldr x2, [x23, #0x30]
blr x2
ldr x23, [fp, #0x78] // [V68 tmp48]
strb w0, [x23, #0x08]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x70] // [V69 tmp49]
add x14, x1, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0x70] // [V69 tmp49]
bl CORINFO_HELP_ASSIGN_REF
ldrsb wzr, [x28]
mov x0, x28
add x11, x25, #16
ldr xip0, [x11]
blr xip0
;; size=500 bbWeight=0.50 PerfScore 68.50
G_M63476_IG08:
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldrsb wzr, [x0]
mov x1, x27
add x11, x25, #24
ldr xip0, [x11]
blr xip0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x1, #0xD1FFAB1E // code for System.RuntimeType+RuntimeTypeCache:GetNameSpace():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
cbz x0, G_M63476_IG09
ldr w1, [x0, #0x08]
cbnz w1, G_M63476_IG10
;; size=112 bbWeight=0.50 PerfScore 17.25
G_M63476_IG09:
mov x0, xzr
b G_M63476_IG10
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M63476_IG10:
ldr x1, [x21, #0x18]
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddImportStatement(System.String,System.CodeDom.CodeNamespace)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x18]
cbz x0, G_M63476_IG13
ldrb w0, [x0, #0x32]
cbz w0, G_M63476_IG13
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_SerializableAttribute():System.CodeDom.CodeAttributeDeclaration:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
ldrsb wzr, [x23]
mov x0, x23
add x11, x25, #32
ldr xip0, [x11]
blr xip0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.RuntimeType:InitializeCache():System.RuntimeType+RuntimeTypeCache:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x1, #0xD1FFAB1E // code for System.RuntimeType+RuntimeTypeCache:GetNameSpace():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
cbz x0, G_M63476_IG11
ldr w1, [x0, #0x08]
cbnz w1, G_M63476_IG12
;; size=184 bbWeight=0.50 PerfScore 29.00
G_M63476_IG11:
mov x0, xzr
b G_M63476_IG12
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M63476_IG12:
ldr x1, [x21, #0x18]
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddImportStatement(System.String,System.CodeDom.CodeNamespace)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M63476_IG13:
mov x0, x19
mov x1, x20
mov x2, x21
movz x3, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddKnownTypes(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x19, #0x18]
cbz x0, G_M63476_IG14
ldrb w0, [x0, #0x30]
cbz w0, G_M63476_IG14
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_SupportsDeclareEvents():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M63476_IG15
;; size=76 bbWeight=0.50 PerfScore 11.00
G_M63476_IG14:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M63476_IG15:
uxtb w23, w0
mov x0, x20
ldr x1, [x24, #0x10]
blr x1
cbnz x0, G_M63476_IG18
ldrb w0, [x22, #0x75]
cbnz w0, G_M63476_IG16
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeDeclaration:get_BaseTypes():System.CodeDom.CodeTypeReferenceCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x24, x0
ldrsb wzr, [x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.CodeDom.CodeTypeReference:.ctor(System.Type):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x24
mov x1, x27
add x11, x25, #40
ldr xip0, [x11]
blr xip0
;; size=132 bbWeight=0.50 PerfScore 17.50
G_M63476_IG16:
mov x0, x19
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddExtensionData(System.Runtime.Serialization.ContractCodeDomInfo):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_M63476_IG17:
ldrb w2, [x22, #0x75]
mov x0, x19
mov x1, x21
movz x3, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddPropertyChangedNotifier(System.Runtime.Serialization.ContractCodeDomInfo,ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M63476_IG22
;; size=36 bbWeight=0.50 PerfScore 5.25
G_M63476_IG18:
mov x0, x20
ldr x1, [x24, #0x10]
blr x1
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetContractCodeDomInfo(System.Runtime.Serialization.DataContracts.DataContract):System.Runtime.Serialization.ContractCodeDomInfo:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeDeclaration:get_BaseTypes():System.CodeDom.CodeTypeReferenceCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x1, [x24, #0x28]
ldrsb wzr, [x0]
add x11, x25, #48
ldr xip0, [x11]
blr xip0
mov x0, x24
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddBaseMemberNames(System.Runtime.Serialization.ContractCodeDomInfo,System.Runtime.Serialization.ContractCodeDomInfo)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldrb w0, [x24, #0x31]
cbz w0, G_M63476_IG22
ldr x0, [x24, #0x28]
cbnz x0, G_M63476_IG19
mov x1, xzr
b G_M63476_IG20
;; size=140 bbWeight=0.50 PerfScore 22.00
G_M63476_IG19:
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeObject:get_UserData():System.Collections.IDictionary:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
sub x11, x25, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
- ;; size=52 bbWeight=0.50 PerfScore 7.50
+ ;; size=48 bbWeight=0.50 PerfScore 7.25
G_M63476_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:ThrowIfReferencedBaseTypeSealed(System.Type,System.Runtime.Serialization.DataContracts.DataContract)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M63476_IG21
mov x0, x19
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:AddExtensionData(System.Runtime.Serialization.ContractCodeDomInfo):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=128 bbWeight=0.50 PerfScore 14.25
G_M63476_IG21:
mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.RuntimeType:IsAssignableFrom(System.Type):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M63476_IG17
mov w23, wzr
;; size=44 bbWeight=0.50 PerfScore 4.50
G_M63476_IG22:
mov w24, wzr
ldr x0, [x20]
ldr x27, [x0, #0x60]
b G_M63476_IG24
;; size=16 bbWeight=0.50 PerfScore 3.75
G_M63476_IG23:
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldrsb wzr, [x0]
ldr x1, [fp, #0xE0] // [V37 tmp17]
add x11, x25, #112
ldr xip0, [x11]
blr xip0
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldrsb wzr, [x0]
ldr x1, [fp, #0xD1FFAB1E] // [V16 loc13]
add x11, x25, #120
ldr xip0, [x11]
blr xip0
add w24, w24, #1
;; size=92 bbWeight=2 PerfScore 63.00
G_M63476_IG24:
mov x0, x20
ldr x1, [x27, #0x08]
blr x1
ldr x0, [x0, #0x08]
add x11, x25, #128
ldr xip0, [x11]
blr xip0
cmp w0, w24
ble G_M63476_IG03
;; size=36 bbWeight=4 PerfScore 54.00
G_M63476_IG25:
mov x0, x20
ldr x1, [x27, #0x08]
blr x1
ldr x0, [x0, #0x08]
mov w1, w24
add x11, x25, #56
ldr xip0, [x11]
blr xip0
mov x28, x0
ldr x0, [x28, #0x08]
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper:get_MemberTypeContract():System.Runtime.Serialization.DataContracts.DataContract:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
str x0, [fp, #0xE8] // [V31 tmp11]
ldr x0, [x28, #0x08]
mov x2, x0
ldrb w2, [x2, #0x42]
cbz w2, G_M63476_IG26
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper:get_MemberTypeContract():System.Runtime.Serialization.DataContracts.DataContract:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20]
blr x1
b G_M63476_IG27
;; size=124 bbWeight=2 PerfScore 99.00
G_M63476_IG26:
mov w0, wzr
;; size=4 bbWeight=2 PerfScore 1.00
G_M63476_IG27:
uxtb w2, w0
mov x0, x19
ldr x1, [fp, #0xE8] // [V31 tmp11]
movz x3, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetElementTypeReference(System.Runtime.Serialization.DataContracts.DataContract,ubyte):System.CodeDom.CodeTypeReference:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
str x0, [fp, #0xD1FFAB1E] // [V11 loc8]
ldr x0, [x28, #0x08]
ldr x0, [x0, #0x10]
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetNameForAttribute(System.String):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
str x2, [fp, #0xD1FFAB1E] // [V12 loc9]
mov x0, x2
mov x1, x21
movz x3, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetMemberName(System.String,System.Runtime.Serialization.ContractCodeDomInfo):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
str x1, [fp, #0xD1FFAB1E] // [V13 loc10]
mov x0, x1
ldr w2, [x0, #0x08]
neg w3, w2
add w3, w3, #0xD1FFAB1E
cmp w3, #5
bge G_M63476_IG28
cmp w2, #0xD1FFAB1E
bhs G_M63476_IG29
b G_M63476_IG49
;; size=144 bbWeight=2 PerfScore 78.00
G_M63476_IG28:
b G_M63476_IG31
;; size=4 bbWeight=1 PerfScore 1.00
G_M63476_IG29:
cmp w2, #0xD1FFAB1E
bne G_M63476_IG30
mov x0, x1
b G_M63476_IG31
;; size=16 bbWeight=2 PerfScore 6.00
G_M63476_IG30:
mov w0, #0xD1FFAB1E
bl System.String:FastAllocateString(int):System.String
str x0, [fp, #0x60] // [V110 tmp90]
ldrsb wzr, [x0]
add x0, x0, #12
ldr x3, [fp, #0xD1FFAB1E] // [V13 loc10]
add x1, x3, #12
mov x2, #0xD1FFAB1E
movz x4, #0xD1FFAB1E // code for System.SpanHelpers:Memmove(byref,byref,ulong)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
ldr x0, [fp, #0x60] // [V110 tmp90]
;; size=56 bbWeight=2 PerfScore 33.00
G_M63476_IG31:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetMemberName(System.String,System.Runtime.Serialization.ContractCodeDomInfo):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x0, [fp, #0xD1FFAB1E] // [V14 loc11]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xE0] // [V37 tmp17]
mov w0, #0xD1FFAB1E
str w0, [x1, #0x40]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x58] // [V113 tmp93]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x50] // [V114 tmp94]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M63476_IG48
;; size=156 bbWeight=2 PerfScore 65.00
G_M63476_IG32:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
ldr x2, [fp, #0x58] // [V113 tmp93]
add x14, x2, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x3, [fp, #0xE0] // [V37 tmp17]
add x14, x3, #56
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x3, #72
ldr x15, [fp, #0xD1FFAB1E] // [V11 loc8]
bl CORINFO_HELP_ASSIGN_REF
add x14, x3, #16
ldr x15, [fp, #0xD1FFAB1E] // [V14 loc11]
bl CORINFO_HELP_ASSIGN_REF
mov w0, #0xD1FFAB1E
str w0, [x3, #0x40]
ldr x0, [x28, #0x08]
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.DataContracts.DataMember+CriticalHelper:get_MemberTypeContract():System.Runtime.Serialization.DataContracts.DataContract: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, #0x48]
ldr x1, [x1, #0x20]
blr x1
cbz w0, G_M63476_IG33
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_SupportsDeclareValueTypes():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w4, w0
b G_M63476_IG34
- ;; size=168 bbWeight=2 PerfScore 105.00
+ ;; size=164 bbWeight=2 PerfScore 104.00
G_M63476_IG33:
mov w4, wzr
;; size=4 bbWeight=2 PerfScore 1.00
G_M63476_IG34:
mov x0, x19
ldr x1, [fp, #0xD1FFAB1E] // [V11 loc8]
ldp x3, x2, [fp, #0xD1FFAB1E] // [V14 loc11], [V13 loc10]
mov w5, w23
movz x6, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
str x0, [fp, #0xD1FFAB1E] // [V16 loc13]
ldr x2, [x19, #0x08]
str x2, [fp, #0x48] // [V116 tmp96]
ldr x0, [x2, #0x28]
cbnz x0, G_M63476_IG35
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x40] // [V119 tmp99]
fmov s0, #1.0000
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Collections.Hashtable:.ctor(int,float):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x14, [fp, #0x48] // [V116 tmp96]
add x14, x14, #40
ldr x15, [fp, #0x40] // [V119 tmp99]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0x40] // [V119 tmp99]
;; size=124 bbWeight=2 PerfScore 76.00
G_M63476_IG35:
mov x1, x28
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
mov x1, x0
str x1, [fp, #0xD1FFAB1E] // [V17 loc14]
cbz x1, G_M63476_IG37
ldp x1, x2, [fp, #0xD1FFAB1E] // [V17 loc14], [V16 loc13]
ldr x0, [x2, #0x08]
cbnz x0, G_M63476_IG36
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x3, [fp, #0xD1FFAB1E] // [V16 loc13]
add x14, x3, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [fp, #0xD1FFAB1E] // [V17 loc14]
;; size=80 bbWeight=2 PerfScore 57.00
G_M63476_IG36:
mov x2, x1
sub x11, x25, #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
;; size=28 bbWeight=2 PerfScore 13.00
G_M63476_IG37:
mov x0, x26
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0xD8] // [V47 tmp27]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetClrTypeFullName(System.Type):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x0, [fp, #0x30] // [V127 tmp107]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x38] // [V126 tmp106]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x0, #8
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [fp, #0x38] // [V126 tmp106]
add x14, x1, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x2, [fp, #0xD8] // [V47 tmp27]
add x14, x2, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
add x14, x2, #8
ldr x15, [fp, #0x30] // [V127 tmp107]
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x3, x0
str x3, [fp, #0x28] // [V129 tmp109]
ldr w2, [x3, #0x2C]
ldr x4, [fp, #0xD8] // [V47 tmp27]
ldr x1, [x4, #0x08]
mov x0, x3
movz x5, #0xD1FFAB1E // code for System.CodeDom.CodeTypeReference:Initialize(System.String,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x1, [fp, #0xD8] // [V47 tmp27]
add x14, x1, #24
ldr x15, [fp, #0x28] // [V129 tmp109]
bl CORINFO_HELP_ASSIGN_REF
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
ldr x3, [x2, #0x10]
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
cbnz x3, G_M63476_IG38
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
- ;; size=248 bbWeight=2 PerfScore 132.00
+ ;; size=244 bbWeight=2 PerfScore 131.00
G_M63476_IG38:
ldr x4, [fp, #0xD1FFAB1E] // [V12 loc9]
cmp x4, x3
beq G_M63476_IG40
cbz x4, G_M63476_IG45
cbz x3, G_M63476_IG44
ldr w0, [x4, #0x08]
ldr w5, [x3, #0x08]
cmp w0, w5
beq G_M63476_IG46
;; size=36 bbWeight=2 PerfScore 26.00
G_M63476_IG39:
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x88] // [V61 tmp41]
ldr x2, [fp, #0xD8] // [V47 tmp27]
ldr x3, [x2, #0x10]
str x3, [fp, #0x80] // [V62 tmp42]
add x14, x1, #16
ldr x15, [fp, #0xD1FFAB1E] // [V12 loc9]
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0x88] // [V61 tmp41]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0x80] // [V62 tmp42]
ldrsb wzr, [x0]
add x11, x25, #64
ldr xip0, [x11]
blr xip0
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
;; size=104 bbWeight=2 PerfScore 64.00
G_M63476_IG40:
ldr x0, [x28, #0x08]
ldrb w3, [x0, #0x40]
str w3, [fp, #0xD1FFAB1E] // [V169 cse1]
cbz w3, G_M63476_IG41
ldr x1, [fp, #0xD8] // [V47 tmp27]
ldr x4, [x1, #0x10]
str x4, [fp, #0xA0] // [V57 tmp37]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x98] // [V58 tmp38]
ldr w0, [fp, #0xD1FFAB1E] // [V169 cse1]
strb w0, [x1, #0x08]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x90] // [V59 tmp39]
add x14, x1, #16
ldr x15, [fp, #0x98] // [V58 tmp38]
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0x90] // [V59 tmp39]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0xA0] // [V57 tmp37]
ldrsb wzr, [x0]
add x11, x25, #72
ldr xip0, [x11]
blr xip0
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
;; size=152 bbWeight=2 PerfScore 94.00
G_M63476_IG41:
ldr x0, [x28, #0x08]
ldrb w3, [x0, #0x41]
str w3, [fp, #0xD1FFAB1E] // [V170 cse2]
cbnz w3, G_M63476_IG42
ldr x1, [fp, #0xD8] // [V47 tmp27]
ldr x4, [x1, #0x10]
str x4, [fp, #0xB8] // [V53 tmp33]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xB0] // [V54 tmp34]
ldr w0, [fp, #0xD1FFAB1E] // [V170 cse2]
strb w0, [x1, #0x08]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xA8] // [V55 tmp35]
add x14, x1, #16
ldr x15, [fp, #0xB0] // [V54 tmp34]
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0xA8] // [V55 tmp35]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0xB8] // [V53 tmp33]
ldrsb wzr, [x0]
add x11, x25, #80
ldr xip0, [x11]
blr xip0
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
;; size=152 bbWeight=2 PerfScore 94.00
G_M63476_IG42:
ldr x0, [x28, #0x08]
ldr x3, [x0, #0x38]
str x3, [fp, #0xD1FFAB1E] // [V171 cse3]
cbz x3, G_M63476_IG43
ldr x1, [fp, #0xD8] // [V47 tmp27]
ldr x4, [x1, #0x10]
str x4, [fp, #0xD0] // [V49 tmp29]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xC8] // [V50 tmp30]
ldr x0, [fp, #0xD1FFAB1E] // [V171 cse3]
str x0, [x1, #0x08]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0xC0] // [V51 tmp31]
add x14, x1, #16
ldr x15, [fp, #0xC8] // [V50 tmp30]
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x1, #0x08]
add x14, x1, #16
ldr x15, [fp, #0xC0] // [V51 tmp31]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0xD0] // [V49 tmp29]
ldrsb wzr, [x0]
add x11, x25, #88
ldr xip0, [x11]
blr xip0
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
;; size=152 bbWeight=2 PerfScore 94.00
G_M63476_IG43:
mov x0, x2
movz x3, #0xD1FFAB1E // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrsb wzr, [x0]
ldr x1, [fp, #0xD8] // [V47 tmp27]
add x11, x25, #96
ldr xip0, [x11]
blr xip0
ldr x0, [x19, #0x18]
cbz x0, G_M63476_IG23
ldrb w0, [x0, #0x32]
cbz w0, G_M63476_IG23
ldr x0, [x28, #0x08]
ldrb w0, [x0, #0x40]
cbnz w0, G_M63476_IG23
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x28, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:GetClrTypeFullName(System.Type):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [fp, #0x18] // [V152 tmp132]
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x20] // [V151 tmp131]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x0, #8
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [fp, #0x20] // [V151 tmp131]
add x14, x1, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #8
ldr x15, [fp, #0x18] // [V152 tmp132]
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x3, x0
str x3, [fp, #0x10] // [V154 tmp134]
ldr w2, [x3, #0x2C]
ldr x1, [x28, #0x08]
mov x0, x3
movz x4, #0xD1FFAB1E // code for System.CodeDom.CodeTypeReference:Initialize(System.String,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
add x14, x28, #24
ldr x15, [fp, #0x10] // [V154 tmp134]
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0xE0] // [V37 tmp17]
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldrsb wzr, [x0]
mov x1, x28
add x11, x25, #104
ldr xip0, [x11]
blr xip0
b G_M63476_IG23
- ;; size=328 bbWeight=2 PerfScore 194.00
+ ;; size=324 bbWeight=2 PerfScore 193.00
G_M63476_IG44:
b G_M63476_IG39
;; size=4 bbWeight=1 PerfScore 1.00
G_M63476_IG45:
b G_M63476_IG39
;; size=4 bbWeight=1 PerfScore 1.00
G_M63476_IG46:
ldr x4, [fp, #0xD1FFAB1E] // [V12 loc9]
add x0, x4, #12
ldr w5, [x4, #0x08]
lsl w5, w5, #1
mov w2, w5
add x1, x3, #12
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz w0, G_M63476_IG39
;; size=48 bbWeight=2 PerfScore 28.00
G_M63476_IG47:
ldr x2, [fp, #0xD1FFAB1E] // [V16 loc13]
b G_M63476_IG40
;; size=8 bbWeight=1 PerfScore 3.00
G_M63476_IG48:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x1, [fp, #0x50] // [V114 tmp94]
b G_M63476_IG32
;; size=24 bbWeight=0 PerfScore 0.00
G_M63476_IG49:
mov x0, x1
mov w1, wzr
mov w2, #0xD1FFAB1E
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=36 bbWeight=0 PerfScore 0.00
-; Total bytes of code 4064, prolog size 28, PerfScore 1640.00, instruction count 1016, allocated bytes for code 4064 (MethodHash=f9e3080b) for method System.Runtime.Serialization.CodeExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this (FullOpts)
+; Total bytes of code 4048, prolog size 28, PerfScore 1636.75, instruction count 1012, allocated bytes for code 4048 (MethodHash=f9e3080b) for method System.Runtime.Serialization.CodeExporter:ExportClassDataContract(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.ContractCodeDomInfo):this (FullOpts)
-16 (-0.48 % of base) - System.Security.Cryptography.Xml.EncryptedKey:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
; Assembly listing for method System.Security.Cryptography.Xml.EncryptedKey:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement: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; 60 single block inlinees; 27 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 30, 38 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.Xml.EncryptedKey>
; V01 arg1 [V01,T07] ( 14, 13 ) ref -> x20 class-hnd single-def <System.Xml.XmlDocument>
; V02 loc0 [V02,T11] ( 21, 12.50) ref -> x25 class-hnd single-def <System.Xml.XmlElement>
; V03 loc1 [V03,T43] ( 4, 5 ) ref -> x27 class-hnd single-def <System.Xml.XmlElement>
; V04 loc2 [V04,T20] ( 5, 10.50) int -> x28
;* V05 loc3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.Security.Cryptography.Xml.EncryptionProperty>
; V06 loc4 [V06,T44] ( 4, 5 ) ref -> x22 class-hnd single-def <System.Xml.XmlElement>
; V07 loc5 [V07,T21] ( 5, 10.50) int -> x26
; V08 loc6 [V08,T68] ( 4, 2 ) ref -> x26 class-hnd single-def <System.Xml.XmlElement>
;* V09 loc7 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Xml.XmlText>
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V11 tmp1 [V11,T100] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
;* V12 tmp2 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
; V13 tmp3 [V13,T74] ( 3, 2 ) ref -> x23 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V14 tmp4 [V14,T75] ( 3, 2 ) ref -> x2 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V15 tmp5 [V15,T38] ( 10, 5.50) int -> x22 single-def "Inline stloc first use temp"
;* V16 tmp6 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V17 tmp7 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V18 tmp8 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V19 tmp9 [V19,T81] ( 3, 1.50) ref -> x23 class-hnd "Inline return value spill temp" <System.String>
; V20 tmp10 [V20,T89] ( 2, 1 ) long -> x23 single-def "Inline stloc first use temp"
; V21 tmp11 [V21,T53] ( 4, 4 ) ref -> x25 class-hnd exact single-def "dup spill" <System.String>
;* V22 tmp12 [V22 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V23 tmp13 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V24 tmp14 [V24,T69] ( 4, 2 ) ref -> x2 class-hnd "Inline return value spill temp" <System.String>
; V25 tmp15 [V25,T40] ( 6, 5 ) int -> x22 "Inlining Arg"
; V26 tmp16 [V26,T65] ( 5, 2 ) int -> x25 single-def "Inline stloc first use temp"
; V27 tmp17 [V27,T90] ( 2, 1 ) long -> x24 single-def "Inline stloc first use temp"
; V28 tmp18 [V28,T54] ( 4, 4 ) ref -> x25 class-hnd exact single-def "dup spill" <System.String>
;* V29 tmp19 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V30 tmp20 [V30 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V31 tmp21 [V31,T95] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V32 tmp22 [V32,T45] ( 3, 5 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V33 tmp23 [V33,T96] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V34 tmp24 [V34,T46] ( 3, 5 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V35 tmp25 [V35,T97] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V36 tmp26 [V36,T47] ( 3, 5 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V37 tmp27 [V37,T98] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V38 tmp28 [V38,T48] ( 3, 5 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V39 tmp29 [V39,T99] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V40 tmp30 [V40,T49] ( 3, 5 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
;* V41 tmp31 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Security.Cryptography.Xml.KeyInfo>
;* V42 tmp32 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
;* V43 tmp33 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
; V44 tmp34 [V44,T82] ( 3, 1.50) ref -> x27 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V45 tmp35 [V45,T83] ( 3, 1.50) ref -> x2 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V46 tmp36 [V46,T50] ( 10, 4.50) int -> x26 single-def "Inline stloc first use temp"
;* V47 tmp37 [V47 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V48 tmp38 [V48 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V49 tmp39 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V50 tmp40 [V50,T84] ( 3, 1.50) ref -> x27 class-hnd "Inline return value spill temp" <System.String>
; V51 tmp41 [V51,T91] ( 2, 1 ) long -> x27 single-def "Inline stloc first use temp"
; V52 tmp42 [V52,T55] ( 4, 4 ) ref -> x28 class-hnd exact single-def "dup spill" <System.String>
;* V53 tmp43 [V53 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V54 tmp44 [V54 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V55 tmp45 [V55,T70] ( 4, 2 ) ref -> x2 class-hnd "Inline return value spill temp" <System.String>
; V56 tmp46 [V56,T41] ( 6, 5 ) int -> x26 "Inlining Arg"
; V57 tmp47 [V57,T66] ( 5, 2 ) int -> x28 single-def "Inline stloc first use temp"
; V58 tmp48 [V58,T92] ( 2, 1 ) long -> [fp+0x28] spill-single-def "Inline stloc first use temp"
; V59 tmp49 [V59,T56] ( 4, 4 ) ref -> x28 class-hnd exact single-def "dup spill" <System.String>
;* V60 tmp50 [V60 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V61 tmp51 [V61 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V62 tmp52 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V63 tmp53 [V63,T25] ( 2, 8 ) ref -> x1 class-hnd exact "dup spill" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V64 tmp54 [V64,T22] ( 4, 8 ) ref -> x1
; V65 tmp55 [V65,T03] ( 4, 16 ) ref -> x22 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
;* V66 tmp56 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V67 tmp57 [V67,T12] ( 3, 12 ) ref -> x26 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
;* V68 tmp58 [V68 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V69 tmp59 [V69,T05] ( 2, 16 ) ref -> x1 class-hnd exact "dup spill" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V70 tmp60 [V70,T08] ( 4, 14 ) ref -> x1
; V71 tmp61 [V71,T04] ( 4, 16 ) ref -> x22 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
;* V72 tmp62 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.Xml.EncryptionPropertyCollection>
; V73 tmp63 [V73,T13] ( 3, 12 ) ref -> x26 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
;* V74 tmp64 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.Xml.ReferenceList>
;* V75 tmp65 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Xml.XmlElement>
; V76 tmp66 [V76,T85] ( 3, 1.50) ref -> registers ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V77 tmp67 [V77,T86] ( 3, 1.50) ref -> x2 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V78 tmp68 [V78,T51] ( 10, 4.50) int -> x26 single-def "Inline stloc first use temp"
;* V79 tmp69 [V79 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V80 tmp70 [V80 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V81 tmp71 [V81 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V82 tmp72 [V82,T87] ( 3, 1.50) ref -> registers class-hnd "Inline return value spill temp" <System.String>
; V83 tmp73 [V83,T93] ( 2, 1 ) long -> x27 single-def "Inline stloc first use temp"
; V84 tmp74 [V84,T57] ( 4, 4 ) ref -> x28 class-hnd exact single-def "dup spill" <System.String>
;* V85 tmp75 [V85 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V86 tmp76 [V86 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V87 tmp77 [V87,T71] ( 4, 2 ) ref -> x2 class-hnd "Inline return value spill temp" <System.String>
; V88 tmp78 [V88,T42] ( 6, 5 ) int -> x26 "Inlining Arg"
; V89 tmp79 [V89,T67] ( 5, 2 ) int -> x28 single-def "Inline stloc first use temp"
; V90 tmp80 [V90,T94] ( 2, 1 ) long -> [fp+0x20] spill-single-def "Inline stloc first use temp"
; V91 tmp81 [V91,T58] ( 4, 4 ) ref -> x28 class-hnd exact single-def "dup spill" <System.String>
;* V92 tmp82 [V92 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V93 tmp83 [V93 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V94 tmp84 [V94,T60] ( 2, 4 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Security.Cryptography.Xml.ReferenceList>
; V95 tmp85 [V95,T26] ( 2, 8 ) ref -> x0 class-hnd exact "dup spill" <System.Security.Cryptography.Xml.ReferenceList>
; V96 tmp86 [V96,T23] ( 4, 8 ) ref -> x0
; V97 tmp87 [V97,T14] ( 3, 12 ) ref -> x27 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.ReferenceList>
; V98 tmp88 [V98,T33] ( 3, 6 ) ref -> x0 class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.Xml.ReferenceList>
; V99 tmp89 [V99,T15] ( 3, 12 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
;* V100 tmp90 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Security.Cryptography.Xml.ReferenceList>
; V101 tmp91 [V101,T06] ( 2, 16 ) ref -> x1 class-hnd exact "dup spill" <System.Security.Cryptography.Xml.ReferenceList>
; V102 tmp92 [V102,T09] ( 4, 14 ) ref -> x1
; V103 tmp93 [V103,T16] ( 3, 12 ) ref -> x27 class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.Xml.ReferenceList>
; V104 tmp94 [V104,T34] ( 3, 6 ) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Security.Cryptography.Xml.ReferenceList>
; V105 tmp95 [V105,T17] ( 3, 12 ) ref -> x28 class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
; V106 tmp96 [V106,T88] ( 2, 1 ) ref -> x26 class-hnd single-def "Inline return value spill temp" <System.Xml.XmlElement>
; V107 tmp97 [V107 ] ( 3, 1.50) ref -> [fp+0x18] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V108 tmp98 [V108 ] ( 3, 1.50) ref -> [fp+0x10] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
; V109 tmp99 [V109,T101] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V110 tmp100 [V110,T102] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V111 tmp101 [V111,T76] ( 2, 2 ) ref -> x2 single-def "argument with side effect"
; V112 tmp102 [V112,T77] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V113 tmp103 [V113,T35] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V114 tmp104 [V114,T78] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V115 tmp105 [V115,T79] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V116 tmp106 [V116,T61] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V117 tmp107 [V117,T62] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V118 tmp108 [V118,T36] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V119 tmp109 [V119,T103] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V120 tmp110 [V120,T104] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V121 tmp111 [V121,T01] ( 3, 24 ) ref -> x0 "argument with side effect"
; V122 tmp112 [V122,T18] ( 3, 12 ) ref -> x0 "argument with side effect"
; V123 tmp113 [V123,T24] ( 3, 8 ) ref -> x0 "argument with side effect"
; V124 tmp114 [V124,T27] ( 2, 8 ) ref -> x1 "argument with side effect"
; V125 tmp115 [V125,T28] ( 2, 8 ) ref -> x1 "argument with side effect"
; V126 tmp116 [V126,T29] ( 2, 8 ) ref -> x1 "argument with side effect"
; V127 tmp117 [V127,T37] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V128 tmp118 [V128,T105] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V129 tmp119 [V129,T106] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
; V130 tmp120 [V130,T02] ( 3, 24 ) ref -> x0 "argument with side effect"
; V131 tmp121 [V131,T19] ( 3, 12 ) ref -> x0 "argument with side effect"
; V132 tmp122 [V132,T30] ( 2, 8 ) ref -> x1 "argument with side effect"
; V133 tmp123 [V133,T31] ( 2, 8 ) ref -> x0 "argument with side effect"
; V134 tmp124 [V134,T32] ( 2, 8 ) ref -> x1 "argument with side effect"
; V135 tmp125 [V135,T80] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
; V136 tmp126 [V136,T107] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V137 cse0 [V137,T63] ( 5, 3.50) long -> x24 "CSE #17: moderate"
; V138 cse1 [V138,T39] ( 9, 5.50) long -> x21 multi-def "CSE #12: moderate"
; V139 cse2 [V139,T72] ( 4, 2 ) byref -> x22 "CSE #14: conservative"
; V140 cse3 [V140,T73] ( 4, 2 ) byref -> x22 "CSE #24: conservative"
; V141 cse4 [V141,T64] ( 4, 3 ) byref -> x21 "CSE #02: conservative"
; V142 cse5 [V142,T52] ( 4, 4.50) long -> x23 "CSE #16: moderate"
; V143 rat0 [V143,T10] ( 4, 14 ) ref -> x1 "replacement local"
; V144 rat1 [V144,T59] ( 3, 4 ) long -> x3 "CSE for expectedClsNode"
;
; Lcl frame size = 32
G_M8500_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
stp xzr, xzr, [fp, #0x10] // [V108 tmp98], [V107 tmp97]
mov x19, x0
mov x20, x1
;; size=40 bbWeight=1 PerfScore 8.50
G_M8500_IG02:
ldrsb wzr, [x20]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x0, x21
mov w1, #58
mov w2, #12
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
sxtw w22, w0
cmn w22, #1
beq G_M8500_IG04
;; size=60 bbWeight=1 PerfScore 13.50
G_M8500_IG03:
cbz w22, G_M8500_IG04
cmp w22, #11
bne G_M8500_IG07
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M8500_IG04:
movz x23, #0xD1FFAB1E
movk x23, #0xD1FFAB1E LSL #16
movk x23, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.50
G_M8500_IG05:
mov x0, x20
mov x1, x23
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x23, [x20]
ldr x24, [x23, #0x98]
ldr x4, [x24, #0x10]
blr x4
mov x25, x0
ldr x2, [x19, #0x08]
cbz x2, G_M8500_IG13
;; size=48 bbWeight=1 PerfScore 17.00
G_M8500_IG06:
ldr w2, [x2, #0x08]
cbz w2, G_M8500_IG13
ldr x2, [x19, #0x08]
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3]
blr x3
b G_M8500_IG13
;; size=48 bbWeight=0.50 PerfScore 10.00
G_M8500_IG07:
cmp w22, #12
bhi G_M8500_IG68
cmp w22, #12
bne G_M8500_IG08
movz x23, #0xD1FFAB1E
movk x23, #0xD1FFAB1E LSL #16
movk x23, #0xD1FFAB1E LSL #32
b G_M8500_IG09
;; size=32 bbWeight=0.50 PerfScore 2.75
G_M8500_IG08:
mov w23, w22
mov w0, w22
bl System.String:FastAllocateString(int):System.String
mov x25, x0
ldrsb wzr, [x25]
add x0, x25, #12
mov x1, x21
lsl x2, x23, #1
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
mov x23, x25
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M8500_IG09:
add w22, w22, #1
cbnz w22, G_M8500_IG10
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
b G_M8500_IG11
;; size=24 bbWeight=0.50 PerfScore 2.00
G_M8500_IG10:
neg w2, w22
add w25, w2, #12
cbnz w25, G_M8500_IG12
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.75
G_M8500_IG11:
b G_M8500_IG05
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M8500_IG12:
cmp w22, #12
bhi G_M8500_IG67
mov w24, w25
mov w0, w25
bl System.String:FastAllocateString(int):System.String
mov x25, x0
ubfiz x1, x22, #1, #32
add x1, x21, x1
ldrsb wzr, [x25]
add x0, x25, #12
lsl x2, x24, #1
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
mov x2, x25
b G_M8500_IG11
;; size=72 bbWeight=0.50 PerfScore 8.50
G_M8500_IG13:
ldr x2, [x19, #0x10]
cbz x2, G_M8500_IG15
;; size=8 bbWeight=1 PerfScore 4.00
G_M8500_IG14:
ldr w2, [x2, #0x08]
cbz w2, G_M8500_IG15
ldr x2, [x19, #0x10]
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3]
blr x3
;; size=44 bbWeight=0.50 PerfScore 9.50
G_M8500_IG15:
ldr x2, [x19, #0x18]
cbz x2, G_M8500_IG17
;; size=8 bbWeight=1 PerfScore 4.00
G_M8500_IG16:
ldr w2, [x2, #0x08]
cbz w2, G_M8500_IG17
ldr x2, [x19, #0x18]
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3]
blr x3
;; size=44 bbWeight=0.50 PerfScore 9.50
G_M8500_IG17:
ldr x2, [x19, #0x20]
cbz x2, G_M8500_IG19
;; size=8 bbWeight=1 PerfScore 4.00
G_M8500_IG18:
ldr w2, [x2, #0x08]
cbz w2, G_M8500_IG19
ldr x2, [x19, #0x20]
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3]
blr x3
;; size=44 bbWeight=0.50 PerfScore 9.50
G_M8500_IG19:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedKey:get_Recipient():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz x0, G_M8500_IG21
;; size=28 bbWeight=1 PerfScore 7.00
G_M8500_IG20:
ldr w0, [x0, #0x08]
cbz w0, G_M8500_IG21
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedKey:get_Recipient():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
mov x0, x25
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x3, [x25]
ldr x3, [x3, #0x88]
ldr x3, [x3]
blr x3
;; size=68 bbWeight=0.50 PerfScore 11.25
G_M8500_IG21:
ldr x0, [x19, #0x28]
cbz x0, G_M8500_IG23
;; size=8 bbWeight=1 PerfScore 4.00
G_M8500_IG22:
ldr x0, [x19, #0x28]
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptionMethod:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x1, x0
mov x0, x25
ldr x2, [x25]
ldr x21, [x2, #0x58]
ldr x2, [x21, #0x08]
blr x2
;; size=56 bbWeight=0.50 PerfScore 11.50
G_M8500_IG23:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedType:get_KeyInfo():System.Security.Cryptography.Xml.KeyInfo:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x0, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, #0
ble G_M8500_IG25
;; size=52 bbWeight=1 PerfScore 20.50
G_M8500_IG24:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedType:get_KeyInfo():System.Security.Cryptography.Xml.KeyInfo:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.KeyInfo:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x1, x0
mov x0, x25
ldr x2, [x25]
ldr x21, [x2, #0x58]
ldr x2, [x21, #0x08]
blr x2
;; size=76 bbWeight=0.50 PerfScore 13.00
G_M8500_IG25:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedType:get_CipherData():System.Security.Cryptography.Xml.CipherData:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz x0, G_M8500_IG78
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedType:get_CipherData():System.Security.Cryptography.Xml.CipherData:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CipherData:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x1, x0
mov x0, x25
ldr x2, [x25]
ldr x21, [x2, #0x58]
ldr x2, [x21, #0x08]
blr x2
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedType:get_EncryptionProperties():System.Security.Cryptography.Xml.EncryptionPropertyCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x0, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, #0
ble G_M8500_IG35
;; size=156 bbWeight=1 PerfScore 53.50
G_M8500_IG26:
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
mov x0, x22
mov w1, #58
mov w2, #20
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
sxtw w26, w0
cmn w26, #1
beq G_M8500_IG27
cbz w26, G_M8500_IG27
cmp w26, #19
bne G_M8500_IG49
;; size=68 bbWeight=0.50 PerfScore 6.50
G_M8500_IG27:
movz x27, #0xD1FFAB1E
movk x27, #0xD1FFAB1E LSL #16
movk x27, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.50
G_M8500_IG28:
mov x0, x20
mov x1, x27
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x4, [x24, #0x10]
blr x4
mov x27, x0
mov w28, wzr
b G_M8500_IG30
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M8500_IG29:
ldr x1, [x1, #0x18]
mov x0, x20
mov w2, #1
ldr x3, [x23, #0x90]
ldr x3, [x3, #0x38]
blr x3
mov x1, x0
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
mov x1, x0
mov x0, x27
ldr x2, [x27]
ldr x2, [x2, #0x58]
ldr x2, [x2, #0x08]
blr x2
add w28, w28, #1
;; size=88 bbWeight=2 PerfScore 60.00
G_M8500_IG30:
ldr x1, [x19, #0x38]
cbnz x1, G_M8500_IG33
;; size=8 bbWeight=4 PerfScore 16.00
G_M8500_IG31:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M8500_IG71
;; size=60 bbWeight=2 PerfScore 23.00
G_M8500_IG32:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #8
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #56
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
mov x1, x22
- ;; size=52 bbWeight=2 PerfScore 21.00
+ ;; size=48 bbWeight=2 PerfScore 20.00
G_M8500_IG33:
ldr x0, [x1, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, w28
bgt G_M8500_IG55
;; size=28 bbWeight=4 PerfScore 58.00
G_M8500_IG34:
mov x0, x25
mov x1, x27
ldr x2, [x21, #0x08]
blr x2
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M8500_IG35:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedKey:get_ReferenceList():System.Security.Cryptography.Xml.ReferenceList:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x0, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, #0
ble G_M8500_IG45
;; size=52 bbWeight=1 PerfScore 20.50
G_M8500_IG36:
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
mov x0, x22
mov w1, #58
mov w2, #13
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
sxtw w26, w0
cmn w26, #1
beq G_M8500_IG37
cbz w26, G_M8500_IG37
cmp w26, #12
bne G_M8500_IG59
;; size=68 bbWeight=0.50 PerfScore 6.50
G_M8500_IG37:
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.50
G_M8500_IG38:
mov x0, x20
mov x1, x22
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x4, [x24, #0x10]
blr x4
mov x22, x0
mov w26, wzr
b G_M8500_IG40
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M8500_IG39:
ldr x0, [x0, #0x08]
mov w1, w26
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x18]
blr x2
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.EncryptedReference:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x1, x0
mov x0, x22
ldr x2, [x22]
ldr x2, [x2, #0x58]
ldr x2, [x2, #0x08]
blr x2
add w26, w26, #1
;; size=116 bbWeight=2 PerfScore 83.00
G_M8500_IG40:
ldr x1, [x19, #0x60]
cbnz x1, G_M8500_IG43
;; size=8 bbWeight=4 PerfScore 16.00
G_M8500_IG41:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x28, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M8500_IG76
;; size=60 bbWeight=2 PerfScore 23.00
G_M8500_IG42:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x28, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x27, #8
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
mov x1, x27
add x14, x19, #96
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
- ;; size=52 bbWeight=2 PerfScore 21.00
+ ;; size=48 bbWeight=2 PerfScore 20.00
G_M8500_IG43:
ldr x0, [x1, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cmp w0, w26
bgt G_M8500_IG65
;; size=28 bbWeight=4 PerfScore 58.00
G_M8500_IG44:
mov x0, x25
mov x1, x22
ldr x2, [x21, #0x08]
blr x2
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M8500_IG45:
ldr x2, [x19, #0x58]
cbz x2, G_M8500_IG47
;; size=8 bbWeight=1 PerfScore 4.00
G_M8500_IG46:
add x2, fp, #16 // [V108 tmp98]
add x1, fp, #24 // [V107 tmp97]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Xml.XmlNode:SplitName(System.String,byref,byref)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x20
ldp x2, x1, [fp, #0x10] // [V108 tmp98], [V107 tmp97]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x4, [x24, #0x10]
blr x4
mov x26, x0
stp xzr, xzr, [fp, #0x10] // [V108 tmp98], [V107 tmp97]
ldr x1, [x19, #0x58]
mov x0, x20
ldr x2, [x23, #0x90]
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x26
ldr x2, [x26]
ldr x2, [x2, #0x58]
ldr x2, [x2, #0x08]
blr x2
mov x0, x25
mov x1, x26
ldr x2, [x21, #0x08]
blr x2
;; size=136 bbWeight=0.50 PerfScore 22.50
G_M8500_IG47:
mov x0, x25
;; size=4 bbWeight=1 PerfScore 0.50
G_M8500_IG48:
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_M8500_IG49:
cmp w26, #20
bhi G_M8500_IG70
cmp w26, #20
bne G_M8500_IG50
movz x27, #0xD1FFAB1E
movk x27, #0xD1FFAB1E LSL #16
movk x27, #0xD1FFAB1E LSL #32
b G_M8500_IG51
;; size=32 bbWeight=0.50 PerfScore 2.75
G_M8500_IG50:
mov w27, w26
mov w0, w26
bl System.String:FastAllocateString(int):System.String
mov x28, x0
ldrsb wzr, [x28]
add x0, x28, #12
mov x1, x22
lsl x2, x27, #1
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
mov x27, x28
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M8500_IG51:
add w26, w26, #1
cbnz w26, G_M8500_IG52
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
b G_M8500_IG53
;; size=24 bbWeight=0.50 PerfScore 2.00
G_M8500_IG52:
neg w2, w26
add w28, w2, #20
cbnz w28, G_M8500_IG54
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.75
G_M8500_IG53:
b G_M8500_IG28
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M8500_IG54:
cmp w26, #20
bhi G_M8500_IG69
mov w1, w28
str x1, [fp, #0x28] // [V58 tmp48]
mov w0, w28
bl System.String:FastAllocateString(int):System.String
mov x28, x0
ubfiz x1, x26, #1, #32
add x1, x22, x1
ldrsb wzr, [x28]
add x0, x28, #12
ldr x26, [fp, #0x28] // [V58 tmp48]
lsl x2, x26, #1
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
mov x2, x28
b G_M8500_IG53
;; size=80 bbWeight=0.50 PerfScore 10.00
G_M8500_IG55:
ldr x1, [x19, #0x38]
cbnz x1, G_M8500_IG57
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M8500_IG72
;; size=68 bbWeight=2 PerfScore 31.00
G_M8500_IG56:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x26, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #8
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #56
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
mov x1, x22
- ;; size=52 bbWeight=2 PerfScore 21.00
+ ;; size=48 bbWeight=2 PerfScore 20.00
G_M8500_IG57:
ldr x0, [x1, #0x08]
mov w1, w28
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x18]
blr x2
mov x1, x0
cbz x1, G_M8500_IG29
;; size=32 bbWeight=2 PerfScore 30.00
G_M8500_IG58:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x2, [x1]
cmp x2, x3
beq G_M8500_IG29
b G_M8500_IG73
;; size=28 bbWeight=1 PerfScore 7.00
G_M8500_IG59:
cmp w26, #13
bhi G_M8500_IG75
cmp w26, #13
bne G_M8500_IG60
movz x27, #0xD1FFAB1E
movk x27, #0xD1FFAB1E LSL #16
movk x27, #0xD1FFAB1E LSL #32
b G_M8500_IG61
;; size=32 bbWeight=0.50 PerfScore 2.75
G_M8500_IG60:
mov w27, w26
mov w0, w26
bl System.String:FastAllocateString(int):System.String
mov x28, x0
ldrsb wzr, [x28]
add x0, x28, #12
mov x1, x22
lsl x2, x27, #1
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
mov x27, x28
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M8500_IG61:
add w26, w26, #1
cbnz w26, G_M8500_IG62
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
b G_M8500_IG63
;; size=24 bbWeight=0.50 PerfScore 2.00
G_M8500_IG62:
neg w2, w26
add w28, w2, #13
cbnz w28, G_M8500_IG64
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
;; size=24 bbWeight=0.50 PerfScore 1.75
G_M8500_IG63:
mov x22, x27
b G_M8500_IG38
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M8500_IG64:
cmp w26, #13
bhi G_M8500_IG74
mov w1, w28
str x1, [fp, #0x20] // [V90 tmp80]
mov w0, w28
bl System.String:FastAllocateString(int):System.String
mov x28, x0
ubfiz x1, x26, #1, #32
add x1, x22, x1
ldrsb wzr, [x28]
add x0, x28, #12
ldr x26, [fp, #0x20] // [V90 tmp80]
lsl x2, x26, #1
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
mov x2, x28
b G_M8500_IG63
;; size=80 bbWeight=0.50 PerfScore 10.00
G_M8500_IG65:
ldr x0, [x19, #0x60]
cbnz x0, G_M8500_IG39
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x28, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M8500_IG77
;; size=68 bbWeight=2 PerfScore 31.00
G_M8500_IG66:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x28, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x27, #8
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
mov x0, x27
add x14, x19, #96
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M8500_IG39
- ;; size=56 bbWeight=2 PerfScore 23.00
+ ;; size=52 bbWeight=2 PerfScore 22.00
G_M8500_IG67:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w1, w22
mov w2, w25
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG68:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w2, w22
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG69:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w1, w26
mov w2, w28
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG70:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w2, w26
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG71:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M8500_IG32
;; size=20 bbWeight=0 PerfScore 0.00
G_M8500_IG72:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M8500_IG56
;; size=20 bbWeight=0 PerfScore 0.00
G_M8500_IG73:
mov x1, x0
mov x0, x3
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
G_M8500_IG74:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w1, w26
mov w2, w28
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG75:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov w2, w26
mov w1, wzr
movz x3, #0xD1FFAB1E // code for System.String:ThrowSubstringArgumentOutOfRange(int,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M8500_IG76:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M8500_IG42
;; size=20 bbWeight=0 PerfScore 0.00
G_M8500_IG77:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M8500_IG66
;; size=20 bbWeight=0 PerfScore 0.00
G_M8500_IG78:
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_Cryptography_Xml_MissingCipherData():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.Security.Cryptography.CryptographicException:.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 3320, prolog size 32, PerfScore 889.00, instruction count 830, allocated bytes for code 3320 (MethodHash=6262decb) for method System.Security.Cryptography.Xml.EncryptedKey:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
+; Total bytes of code 3304, prolog size 32, PerfScore 885.00, instruction count 826, allocated bytes for code 3304 (MethodHash=6262decb) for method System.Security.Cryptography.Xml.EncryptedKey:GetXml(System.Xml.XmlDocument):System.Xml.XmlElement:this (FullOpts)
-16 (-0.79 % of base) - System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate)
; Assembly listing for method System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate) (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; 34 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T15] ( 10, 7.50) ref -> x19 class-hnd single-def <System.Security.Cryptography.Xml.SignedXml>
; V01 arg1 [V01,T22] ( 9, 5.50) ref -> x20 class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Chain>
; V02 arg2 [V02,T26] ( 3, 2.50) ref -> x21 class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate>
;* V03 loc0 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V04 loc1 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V05 loc2 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V06 loc3 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V07 loc4 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V08 loc5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
; V09 loc6 [V09,T24] ( 3, 5 ) ref -> x21 class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509ChainStatus[]>
; V10 loc7 [V10,T11] ( 5, 16.50) int -> x22
;* V11 loc8 [V11 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Security.Cryptography.X509Certificates.X509ChainStatus>
; V12 loc9 [V12,T29] ( 2, 4 ) ref -> x24 class-hnd exact <System.String>
; V13 loc10 [V13,T01] ( 8, 65.50) ref -> x21 class-hnd exact single-def <System.Text.StringBuilder>
;* V14 loc11 [V14,T63] ( 0, 0 ) long -> zero-ref class-hnd exact EH-live single-def <System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator>
; V15 loc12 [V15,T05] ( 2, 32 ) ref -> x20 class-hnd <System.Security.Cryptography.X509Certificates.X509ChainElement>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V17 tmp1 [V17,T27] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Text.StringBuilder>
;* V18 tmp2 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
; V19 tmp3 [V19,T18] ( 2, 8 ) ref -> x26 class-hnd exact "impAppendStmt" <System.Globalization.CultureInfo>
; V20 tmp4 [V20,T19] ( 2, 8 ) ref -> x27 class-hnd exact "impAppendStmt" <System.String>
; V21 tmp5 [V21,T12] ( 3, 12 ) ref -> x0 class-hnd exact "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509ChainStatusFlags>
; V22 tmp6 [V22,T37] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
; V23 tmp7 [V23,T38] ( 2, 2 ) ref -> x23 class-hnd exact single-def "impAppendStmt" <System.String>
; V24 tmp8 [V24,T30] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509RevocationFlag>
; V25 tmp9 [V25,T39] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
; V26 tmp10 [V26,T40] ( 2, 2 ) ref -> x23 class-hnd exact single-def "impAppendStmt" <System.String>
; V27 tmp11 [V27,T31] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509RevocationFlag>
; V28 tmp12 [V28,T41] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
; V29 tmp13 [V29,T42] ( 2, 2 ) ref -> x23 class-hnd exact single-def "impAppendStmt" <System.String>
; V30 tmp14 [V30,T32] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Security.Cryptography.X509Certificates.X509VerificationFlags>
; V31 tmp15 [V31,T43] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
; V32 tmp16 [V32,T44] ( 2, 2 ) ref -> x23 class-hnd exact single-def "impAppendStmt" <System.String>
; V33 tmp17 [V33,T33] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.DateTime>
; V34 tmp18 [V34,T45] ( 2, 2 ) ref -> x22 class-hnd exact single-def "impAppendStmt" <System.Globalization.CultureInfo>
; V35 tmp19 [V35,T46] ( 2, 2 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.String>
; V36 tmp20 [V36,T34] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.TimeSpan>
;* V37 tmp21 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Globalization.CultureInfo>
;* V38 tmp22 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "non-inline candidate call" <System.String>
; V39 tmp23 [V39,T47] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V40 tmp24 [V40,T48] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V41 tmp25 [V41,T49] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V42 tmp26 [V42,T50] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V43 tmp27 [V43,T51] ( 2, 2 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainPolicy>
; V44 tmp28 [V44,T23] ( 3, 6 ) ref -> x3 class-hnd "Inline return value spill temp" <System.String>
; V45 tmp29 [V45,T09] ( 5, 20 ) ref -> x26 class-hnd exact "dup spill" <System.Object[]>
; V46 tmp30 [V46,T20] ( 2, 8 ) ref -> x25 class-hnd exact "impAppendStmt" <System.Diagnostics.TraceSource>
; V47 tmp31 [V47,T21] ( 2, 8 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
; V48 tmp32 [V48,T13] ( 3, 12 ) ref -> x0 class-hnd exact "Single-def Box Helper" <System.Security.Cryptography.Xml.SignedXmlDebugLog+SignedXmlDebugEvent>
; V49 tmp33 [V49,T28] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
; V50 tmp34 [V50,T35] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
;* V51 tmp35 [V51 ] ( 0, 0 ) long -> zero-ref class-hnd exact "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator>
; V52 tmp36 [V52,T03] ( 3, 40 ) int -> x1 "Inline stloc first use temp"
; V53 tmp37 [V53,T02] ( 3, 40 ) ref -> x2 class-hnd "Inline stloc first use temp" <ushort[]>
; V54 tmp38 [V54,T00] ( 4,128 ) ref -> x0 class-hnd exact "Inlining Arg" <System.String>
;* V55 tmp39 [V55,T10] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V56 tmp40 [V56 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V57 tmp41 [V57 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Security.Cryptography.X509Certificates.X509ChainElementCollection>
; V58 tmp42 [V58 ] ( 8, 57.50) struct (24) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed "stack allocated ref class temp" <System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator>
; V59 tmp43 [V59,T17] ( 3, 8 ) ref -> x24 "field V11._statusInformation (fldOffset=0x0)" P-INDEP
; V60 tmp44 [V60,T14] ( 3, 10 ) int -> x25 "field V11.<Status>k__BackingField (fldOffset=0x8)" P-INDEP
; V61 tmp45 [V61,T52] ( 2, 2 ) ref -> x23 single-def "argument with side effect"
; V62 tmp46 [V62,T53] ( 2, 2 ) ref -> x2 single-def "argument with side effect"
; V63 tmp47 [V63,T54] ( 2, 2 ) ref -> x22 single-def "argument with side effect"
; V64 tmp48 [V64,T55] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V65 tmp49 [V65,T56] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V66 tmp50 [V66,T57] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V67 tmp51 [V67,T58] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V68 tmp52 [V68,T59] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V69 tmp53 [V69,T60] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V70 tmp54 [V70,T07] ( 3, 24 ) byref -> x0 "BlockOp address local"
; V71 tmp55 [V71,T61] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
; V72 PSPSym [V72,T62] ( 1, 1 ) long -> [fp+0x30] do-not-enreg[V] "PSPSym"
; V73 cse0 [V73,T16] ( 10, 8 ) ref -> registers multi-def "CSE #02: moderate"
; V74 cse1 [V74,T04] ( 3, 40 ) int -> x0 "CSE #06: aggressive"
; V75 cse2 [V75,T08] ( 3, 24 ) int -> x0 "CSE #07: aggressive"
; V76 cse3 [V76,T06] ( 2, 32 ) int -> x3 "CSE #05: aggressive"
; V77 cse4 [V77,T25] ( 3, 5 ) int -> x23 "CSE #04: moderate"
; V78 cse5 [V78,T36] ( 4, 2 ) long -> x25 "CSE #03: moderate"
;
; Lcl frame size = 40
G_M24790_IG01:
stp fp, lr, [sp, #-0x80]!
stp x19, x20, [sp, #0x38]
stp x21, x22, [sp, #0x48]
stp x23, x24, [sp, #0x58]
stp x25, x26, [sp, #0x68]
str x27, [sp, #0x78]
mov fp, sp
stp xzr, xzr, [fp, #0x18] // [V58 tmp42], [V58 tmp42+0x08]
str xzr, [fp, #0x28] // [V58 tmp42+0x10]
add x3, sp, #128
str x3, [fp, #0x30] // [V72 PSPSym]
mov x19, x0
mov x20, x1
mov x21, x2
;; size=56 bbWeight=1 PerfScore 11.50
G_M24790_IG02:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:get_InformationLoggingEnabled():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbz w0, G_M24790_IG04
;; size=24 bbWeight=1 PerfScore 6.50
G_M24790_IG03:
movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:GetKeyName(System.Object):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
mov x1, x23
mov x0, x22
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #8
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=0.50 PerfScore 16.25
+ ;; size=140 bbWeight=0.50 PerfScore 16.00
G_M24790_IG04:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:get_VerboseLoggingEnabled():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- cbz w0, G_M24790_IG07
+ cbz w0, G_M24790_IG06
;; size=24 bbWeight=1 PerfScore 6.50
G_M24790_IG05:
movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
mov x21, x22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x24, x0
movz x25, #0xD1FFAB1E
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
mov x0, x25
bl CORINFO_HELP_NEWSFAST
ldr w2, [x24, #0x2C]
str w2, [x0, #0x08]
mov x2, x0
mov x0, x21
mov x1, x23
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x24, x0
mov x0, x25
bl CORINFO_HELP_NEWSFAST
ldr w2, [x24, #0x2C]
str w2, [x0, #0x08]
mov x2, x0
mov x0, x21
mov x1, x23
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x24, x0
add x0, x25, #168
bl CORINFO_HELP_NEWSFAST
ldr w2, [x24, #0x30]
str w2, [x0, #0x08]
mov x2, x0
mov x0, x21
mov x1, x23
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x2, [x24, #0x40]
str x2, [x0, #0x08]
mov x2, x0
mov x0, x21
mov x1, x23
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
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
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainPolicy():System.Security.Cryptography.X509Certificates.X509ChainPolicy:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x2, [x23, #0x48]
str x2, [x0, #0x08]
mov x2, x0
mov x0, x22
mov x1, x21
movz x3, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object):System.String
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
- ;; size=796 bbWeight=0.50 PerfScore 89.50
-G_M24790_IG06:
ldr x4, [x4]
blr x4
- ;; size=8 bbWeight=0.50 PerfScore 2.00
-G_M24790_IG07:
+ ;; size=800 bbWeight=0.50 PerfScore 91.25
+G_M24790_IG06:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:get_InformationLoggingEnabled():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- cbz w0, G_M24790_IG14
+ cbz w0, G_M24790_IG13
;; size=24 bbWeight=1 PerfScore 6.50
-G_M24790_IG08:
+G_M24790_IG07:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainStatus():System.Security.Cryptography.X509Certificates.X509ChainStatus[]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x21, x0
mov w22, wzr
ldr w23, [x21, #0x08]
cmp w23, #0
- ble G_M24790_IG14
+ ble G_M24790_IG13
;; size=48 bbWeight=0.50 PerfScore 7.25
-G_M24790_IG09:
+G_M24790_IG08:
ubfiz x0, x22, #4, #32
add x0, x0, #16
add x0, x21, x0
ldr x24, [x0]
ldr w25, [x0, #0x08]
- cbz w25, G_M24790_IG13
+ cbz w25, G_M24790_IG12
;; size=24 bbWeight=4 PerfScore 36.00
-G_M24790_IG10:
+G_M24790_IG09:
movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov x26, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x27, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str w25, [x0, #0x08]
- cbnz x24, G_M24790_IG11
+ cbnz x24, G_M24790_IG10
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
- b G_M24790_IG12
- ;; size=96 bbWeight=2 PerfScore 39.00
-G_M24790_IG11:
+ b G_M24790_IG11
+ ;; size=92 bbWeight=2 PerfScore 38.00
+G_M24790_IG10:
mov x3, x24
;; size=4 bbWeight=2 PerfScore 1.00
-G_M24790_IG12:
+G_M24790_IG11:
mov x2, x0
mov x0, x26
mov x1, x27
movz x4, #0xD1FFAB1E // code for System.SR:Format(System.IFormatProvider,System.String,System.Object,System.Object):System.String
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x24, x0
movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x25, [x0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #3
bl CORINFO_HELP_NEWARR_1_OBJ
mov x26, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:GetObjectId(System.Object):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x15, x0
add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov w14, #15
str w14, [x0, #0x08]
add x14, x26, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x26, #32
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
mov x0, x25
mov x4, x26
mov w1, #8
mov w2, #15
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x5, #0xD1FFAB1E // code for System.Diagnostics.TraceSource:TraceEvent(int,int,System.String,System.Object[]):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=208 bbWeight=2 PerfScore 81.00
-G_M24790_IG13:
+ ;; size=204 bbWeight=2 PerfScore 80.00
+G_M24790_IG12:
add w22, w22, #1
cmp w23, w22
- bgt G_M24790_IG09
+ bgt G_M24790_IG08
;; size=12 bbWeight=4 PerfScore 8.00
-G_M24790_IG14:
+G_M24790_IG13:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:get_VerboseLoggingEnabled():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- cbz w0, G_M24790_IG23
+ cbz w0, G_M24790_IG22
;; size=24 bbWeight=1 PerfScore 6.50
-G_M24790_IG15:
+G_M24790_IG14:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movn w0, #0xD1FFAB1E LSL #16
str w0, [x21, #0x20]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #16
bl CORINFO_HELP_NEWARR_1_VC
add x14, x21, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.SR:GetResourceString(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- cbz x0, G_M24790_IG16
+ cbz x0, G_M24790_IG15
ldr w2, [x0, #0x08]
add x1, x0, #12
mov x0, x21
movz x3, #0xD1FFAB1E // code for System.Text.StringBuilder:Append(byref,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=128 bbWeight=0.50 PerfScore 13.50
-G_M24790_IG16:
+G_M24790_IG15:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509Chain:get_ChainElements():System.Security.Cryptography.X509Certificates.X509ChainElementCollection:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
ldrsb wzr, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
stp x1, x0, [fp, #0x18] // [V58 tmp42], [V58 tmp42+0x08]
movn w0, #0
str w0, [fp, #0x28] // [V58 tmp42+0x10]
;; size=56 bbWeight=0.50 PerfScore 8.00
-G_M24790_IG17:
+G_M24790_IG16:
ldr w0, [fp, #0x28] // [V58 tmp42+0x10]
ldr x1, [fp, #0x20] // [V58 tmp42+0x08]
ldr x1, [x1, #0x08]
ldr w1, [x1, #0x08]
sub w1, w1, #1
cmp w0, w1
- beq G_M24790_IG22
+ beq G_M24790_IG21
;; size=28 bbWeight=4 PerfScore 48.00
-G_M24790_IG18:
+G_M24790_IG17:
add w0, w0, #1
str w0, [fp, #0x28] // [V58 tmp42+0x10]
ldr x0, [fp, #0x20] // [V58 tmp42+0x08]
ldr w1, [fp, #0x28] // [V58 tmp42+0x10]
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.X509ChainElementCollection:get_Item(int):System.Security.Cryptography.X509Certificates.X509ChainElement:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x20, x0
ldr w0, [x21, #0x18]
sxtw w1, w0
ldr x2, [x21, #0x08]
ldr w3, [x2, #0x08]
cmp w3, w1
- bls G_M24790_IG20
+ bls G_M24790_IG19
;; size=68 bbWeight=16 PerfScore 408.00
-G_M24790_IG19:
+G_M24790_IG18:
add x2, x2, #16
mov w3, #32
strh w3, [x2, w1, UXTW #2]
add w0, w0, #1
str w0, [x21, #0x18]
- b G_M24790_IG21
+ b G_M24790_IG20
;; size=24 bbWeight=8 PerfScore 36.00
-G_M24790_IG20:
+G_M24790_IG19:
mov x0, x21
mov w1, #32
movz x2, #0xD1FFAB1E // code for System.Text.StringBuilder:AppendWithExpansion(ushort):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=28 bbWeight=8 PerfScore 52.00
-G_M24790_IG21:
+G_M24790_IG20:
ldr x0, [x20, #0x08]
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:GetKeyName(System.Object):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- cbz x0, G_M24790_IG17
+ cbz x0, G_M24790_IG16
ldr w2, [x0, #0x08]
add x1, x0, #12
mov x0, x21
movz x3, #0xD1FFAB1E // code for System.Text.StringBuilder:Append(byref,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- b G_M24790_IG17
+ b G_M24790_IG16
;; size=64 bbWeight=16 PerfScore 320.00
-G_M24790_IG22:
+G_M24790_IG21:
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Text.StringBuilder:ToString():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x3, x0
mov x0, x19
mov w1, #16
mov w2, #15
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.SignedXmlDebugLog:WriteLine(System.Object,int,int,System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=60 bbWeight=0.50 PerfScore 6.75
-G_M24790_IG23:
+G_M24790_IG22:
ldr x27, [sp, #0x78]
ldp x25, x26, [sp, #0x68]
ldp x23, x24, [sp, #0x58]
ldp x21, x22, [sp, #0x48]
ldp x19, x20, [sp, #0x38]
ldp fp, lr, [sp], #0x80
ret lr
;; size=28 bbWeight=1 PerfScore 8.00
-G_M24790_IG24:
+G_M24790_IG23:
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
stp x23, x24, [sp, #0x38]
stp x25, x26, [sp, #0x48]
str x27, [sp, #0x58]
add x3, fp, #128
str x3, [sp, #0x10]
;; size=32 bbWeight=0 PerfScore 0.00
-G_M24790_IG25:
+G_M24790_IG24:
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=0 PerfScore 0.00
-; Total bytes of code 2036, prolog size 56, PerfScore 1217.75, instruction count 509, allocated bytes for code 2036 (MethodHash=039b9f29) for method System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate) (FullOpts)
+; Total bytes of code 2020, prolog size 56, PerfScore 1215.25, instruction count 505, allocated bytes for code 2020 (MethodHash=039b9f29) for method System.Security.Cryptography.Xml.SignedXmlDebugLog:LogVerifyX509Chain(System.Security.Cryptography.Xml.SignedXml,System.Security.Cryptography.X509Certificates.X509Chain,System.Security.Cryptography.X509Certificates.X509Certificate) (FullOpts)
-16 (-0.73 % of base) - System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform:GetOutput():System.Object:this
; Assembly listing for method System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform:GetOutput():System.Object: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; 24 single block inlinees; 6 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T10] ( 14, 28 ) ref -> [fp+0x38] this class-hnd EH-live single-def <System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform>
; V01 loc0 [V01,T19] ( 4, 17 ) ref -> [fp+0x30] class-hnd EH-live spill-single-def <System.Xml.XmlNodeList>
; V02 loc1 [V02,T20] ( 4, 17 ) ref -> [fp+0x28] class-hnd exact EH-live single-def <System.Security.Cryptography.Xml.CanonicalXmlNodeList>
; V03 loc2 [V03,T18] ( 5, 17 ) ref -> [fp+0x20] class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
; V04 loc3 [V04,T05] ( 9, 68 ) ref -> x19 class-hnd <System.Xml.XmlNode>
; V05 loc4 [V05,T07] ( 3, 48 ) ref -> x22 class-hnd <System.Xml.XmlNode>
; V06 loc5 [V06,T04] ( 4, 80 ) int -> x23
; V07 loc6 [V07,T03] ( 5,112 ) ref -> [fp+0x18] do-not-enreg[Z] class-hnd EH-live <System.Collections.IEnumerator>
; V08 loc7 [V08,T17] ( 12, 23 ) ref -> x0 class-hnd <System.IDisposable>
;* V09 loc8 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Xml.XmlNodeList>
;# V10 OutArgs [V10 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V11 tmp1 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Xml.XmlNode>
; V12 tmp2 [V12,T37] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Xml.CanonicalXmlNodeList>
; V13 tmp3 [V13,T00] ( 2,128 ) ref -> x0 class-hnd "impSpillLclRefs" <System.Xml.XmlNode>
;* V14 tmp4 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" <System.Object>
; V15 tmp5 [V15,T60] ( 3, 0 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
; V16 tmp6 [V16,T56] ( 3, 3 ) ref -> x20 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V17 tmp7 [V17,T38] ( 3, 6 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Xml.XmlDocument>
; V18 tmp8 [V18,T35] ( 6, 6 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V19 tmp9 [V19,T46] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V20 tmp10 [V20,T51] ( 2, 4 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V21 tmp11 [V21,T30] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V22 tmp12 [V22,T52] ( 2, 4 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V23 tmp13 [V23,T39] ( 3, 6 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V24 tmp14 [V24,T40] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
; V25 tmp15 [V25,T28] ( 2, 8 ) ubyte -> x22 "Inline return value spill temp"
; V26 tmp16 [V26,T13] ( 4, 24 ) ref -> x0 "spilling varStr"
; V27 tmp17 [V27,T23] ( 3, 16 ) int -> x22 "spilling unroll qmark"
; V28 tmp18 [V28,T22] ( 3, 16 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
; V29 tmp19 [V29,T08] ( 6, 32 ) ref -> x21 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V30 tmp20 [V30,T21] ( 4, 16 ) ref -> x22 class-hnd "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V31 tmp21 [V31,T16] ( 2, 24 ) ref -> x23 class-hnd "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V32 tmp22 [V32,T06] ( 7, 56 ) ref -> x25 class-hnd exact "NewObj constructor temp" <System.Xml.XPathNodeList>
; V33 tmp23 [V33,T24] ( 2, 16 ) ref -> x15 class-hnd "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V34 tmp24 [V34,T14] ( 3, 24 ) ref -> x21 class-hnd exact "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V35 tmp25 [V35,T26] ( 3, 12 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Xml.XmlNode>
;* V36 tmp26 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
;* V37 tmp27 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V38 tmp28 [V38,T25] ( 2, 16 ) ref -> x21 class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V39 tmp29 [V39,T34] ( 7, 7 ) ref -> x21 class-hnd "Inline return value spill temp" <System.Xml.XmlNodeList>
; V40 tmp30 [V40,T41] ( 3, 6 ) ref -> x19 class-hnd single-def "Inlining Arg" <System.Xml.XmlDocument>
; V41 tmp31 [V41,T36] ( 6, 6 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathNavigator>
; V42 tmp32 [V42,T47] ( 4, 4 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Xml.XPath.XPathExpression>
; V43 tmp33 [V43,T53] ( 2, 4 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.Xml.XmlNamespaceManager>
; V44 tmp34 [V44,T31] ( 5, 10 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Xml.XPathNodeList>
; V45 tmp35 [V45,T54] ( 2, 4 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Xml.XPath.XPathNodeIterator>
; V46 tmp36 [V46,T42] ( 3, 6 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Xml.XmlNode]>
; V47 tmp37 [V47,T32] ( 4, 8 ) ref -> x0 "Single return block return value"
; V48 tmp38 [V48,T43] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V49 tmp39 [V49,T44] ( 3, 6 ) ref -> x19 single-def "argument with side effect"
; V50 tmp40 [V50,T55] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V51 tmp41 [V51,T45] ( 3, 6 ) ref -> x1 single-def "argument with side effect"
; V52 tmp42 [V52,T09] ( 2, 32 ) ref -> x1 "argument with side effect"
; V53 tmp43 [V53,T15] ( 3, 24 ) ref -> x0 "arr expr"
; V54 tmp44 [V54,T01] ( 2,128 ) ref -> x1 "argument with side effect"
; V55 tmp45 [V55,T61] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V56 PSPSym [V56,T59] ( 1, 1 ) long -> [fp+0x40] do-not-enreg[V] "PSPSym"
; V57 cse0 [V57,T29] ( 3, 12 ) int -> x25 "CSE #10: moderate"
; V58 cse1 [V58,T49] ( 4, 4 ) long -> x20 "CSE #19: moderate"
; V59 cse2 [V59,T27] ( 3, 12 ) ref -> x21 "CSE #09: moderate"
; V60 cse3 [V60,T48] ( 4, 4 ) ref -> x19 "CSE #01: moderate"
; V61 cse4 [V61,T50] ( 4, 4 ) int -> x1 "CSE #17: moderate"
; V62 cse5 [V62,T02] ( 11,125 ) long -> registers multi-def "CSE #05: aggressive"
; V63 cse6 [V63,T12] ( 12, 24 ) long -> registers multi-def "CSE #03: aggressive"
; V64 cse7 [V64,T11] ( 4, 28 ) long -> x21 "CSE #06: aggressive"
; V65 rat0 [V65,T57] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
; V66 rat1 [V66,T33] ( 2, 8 ) long -> x0 "Spilling to split statement for tree"
; V67 rat2 [V67,T58] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 56
G_M27982_IG01:
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 x1, sp, #128
stp x0, x1, [fp, #0x38] // [V00 this], [V56 PSPSym]
;; size=32 bbWeight=1 PerfScore 7.00
G_M27982_IG02:
ldr x19, [x0, #0x68]
cbz x19, G_M27982_IG43
ldr x1, [x0, #0x58]
cbz x1, G_M27982_IG04
ldr w1, [x0, #0x70]
cbnz w1, G_M27982_IG09
;; size=24 bbWeight=1 PerfScore 12.00
G_M27982_IG03:
ldr x0, [fp, #0x38] // [V00 this]
ldr x0, [x0, #0x58]
b G_M27982_IG39
;; size=12 bbWeight=1 PerfScore 6.00
G_M27982_IG04:
ldr x20, [x0, #0x60]
mov x0, x19
ldr x1, [x19]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x19, x0
cbnz x19, G_M27982_IG05
mov x21, xzr
b G_M27982_IG07
;; size=40 bbWeight=1 PerfScore 16.50
G_M27982_IG05:
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x19]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x21, x0
mov x1, x20
ldr x2, [x21]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
mov x0, x20
bl CORINFO_HELP_NEWSFAST
mov x22, x0
mov x0, x19
mov x1, x21
ldr x2, [x19]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x22, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x20, #216
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x0, x20, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M27982_IG40
;; size=152 bbWeight=1 PerfScore 47.50
G_M27982_IG06:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x19, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x22, #0x18]
mov x21, x22
- ;; size=44 bbWeight=1 PerfScore 9.50
+ ;; size=40 bbWeight=1 PerfScore 9.00
G_M27982_IG07:
cbz x21, G_M27982_IG08
mov x0, x21
ldr x1, [x21]
ldr x20, [x1, #0x40]
ldr x1, [x20, #0x28]
blr x1
ldr x2, [fp, #0x38] // [V00 this]
ldr w1, [x2, #0x70]
cmp w0, w1
blt G_M27982_IG08
cmp w1, #0
ble G_M27982_IG08
sub w1, w1, #1
mov x0, x21
ldr x3, [x20, #0x38]
blr x3
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
mov x19, x0
ldr x2, [fp, #0x38] // [V00 this]
ldr w1, [x2, #0x70]
sub w1, w1, #1
mov x0, x21
ldr x3, [x20, #0x38]
blr x3
mov x1, x0
mov x0, x19
ldr x2, [x19]
ldr x2, [x2, #0x50]
ldr x2, [x2, #0x38]
blr x2
;; size=132 bbWeight=1 PerfScore 56.00
G_M27982_IG08:
ldr x2, [fp, #0x38] // [V00 this]
ldr x0, [x2, #0x68]
b G_M27982_IG39
;; size=12 bbWeight=1 PerfScore 6.00
G_M27982_IG09:
mov x1, x19
ldr x22, [x0, #0x60]
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x19, x0
cbnz x19, G_M27982_IG10
mov x20, xzr
b G_M27982_IG12
;; size=44 bbWeight=1 PerfScore 17.00
G_M27982_IG10:
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x19]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x20, x0
mov x1, x22
ldr x2, [x20]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x21, x0
bl CORINFO_HELP_NEWSFAST
mov x22, x0
mov x0, x19
mov x1, x20
ldr x2, [x19]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x22, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x21, #216
bl CORINFO_HELP_NEWSFAST
mov x19, x0
add x0, x21, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M27982_IG41
;; size=152 bbWeight=1 PerfScore 47.50
G_M27982_IG11:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x19, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x22, #0x18]
mov x20, x22
- ;; size=44 bbWeight=1 PerfScore 9.50
+ ;; size=40 bbWeight=1 PerfScore 9.00
G_M27982_IG12:
mov x0, x20
str x0, [fp, #0x30] // [V01 loc0]
cbz x0, G_M27982_IG03
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M27982_IG42
;; size=72 bbWeight=1 PerfScore 14.00
G_M27982_IG13:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x20, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
str x20, [fp, #0x28] // [V02 loc1]
ldr x0, [fp, #0x38] // [V00 this]
ldr x1, [x0, #0x58]
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
mov x1, x0
str x1, [fp, #0x20] // [V03 loc2]
- ;; size=76 bbWeight=1 PerfScore 26.00
+ ;; size=72 bbWeight=1 PerfScore 25.50
G_M27982_IG14:
ldr x0, [fp, #0x20] // [V03 loc2]
movz x20, #0xD1FFAB1E // code for System.Collections.IEnumerator:MoveNext():ubyte:this
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
mov x11, x20
ldr xip0, [x11]
blr xip0
cbz w0, G_M27982_IG37
ldr x0, [fp, #0x20] // [V03 loc2]
add x11, x20, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
cbz x19, G_M27982_IG14
mov x24, x20
ldr x20, [fp, #0x28] // [V02 loc1]
mov x0, x19
ldr x21, [x19]
ldr x2, [x21, #0x48]
ldr x2, [x2]
blr x2
cmp w0, #2
bne G_M27982_IG17
;; size=128 bbWeight=8 PerfScore 312.00
G_M27982_IG15:
mov x0, x19
ldr x1, [x21, #0x60]
ldr x1, [x1, #0x20]
blr x1
ldr w1, [x0, #0x08]
cmp w1, #3
bne G_M27982_IG19
;; size=28 bbWeight=4 PerfScore 48.00
G_M27982_IG16:
ldr w1, [x0, #0x0C]
movz w2, #120
movk w2, #109 LSL #16
eor w1, w1, w2
ldr w0, [x0, #0x0E]
movz w2, #109
movk w2, #108 LSL #16
eor w0, w0, w2
orr w0, w1, w0
cmp w0, #0
cset x22, eq
b G_M27982_IG20
;; size=48 bbWeight=2 PerfScore 23.00
G_M27982_IG17:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.Utils:IsNamespaceNode(System.Xml.XmlNode):ubyte
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M27982_IG21
;; size=28 bbWeight=8 PerfScore 56.00
G_M27982_IG18:
mov x0, x20
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CanonicalXmlNodeList:Add(System.Object):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M27982_IG14
;; size=32 bbWeight=8 PerfScore 60.00
G_M27982_IG19:
mov w22, wzr
;; size=4 bbWeight=2 PerfScore 1.00
G_M27982_IG20:
cbnz w22, G_M27982_IG18
b G_M27982_IG17
;; size=8 bbWeight=4 PerfScore 8.00
G_M27982_IG21:
ldr x0, [fp, #0x38] // [V00 this]
ldr x23, [x0, #0x60]
mov x0, x19
ldr x1, [x21, #0x40]
ldr x1, [x1, #0x20]
blr x1
mov x21, x0
cbnz x21, G_M27982_IG23
;; size=32 bbWeight=8 PerfScore 112.00
G_M27982_IG22:
mov x22, xzr
b G_M27982_IG26
;; size=8 bbWeight=4 PerfScore 6.00
G_M27982_IG23:
mov x0, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x2, [x21]
ldr x2, [x2, #0x80]
ldr x2, [x2, #0x18]
blr x2
mov x22, x0
mov x1, x23
ldr x2, [x22]
ldr x2, [x2, #0x48]
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x23, x0
bl CORINFO_HELP_NEWSFAST
mov x25, x0
mov x0, x21
mov x1, x22
ldr x2, [x21]
ldr x2, [x2, #0x88]
ldr x2, [x2, #0x08]
blr x2
mov x15, x0
add x14, x25, #16
bl CORINFO_HELP_ASSIGN_REF
add x0, x23, #216
bl CORINFO_HELP_NEWSFAST
mov x21, x0
add x0, x23, #216
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M27982_IG34
;; size=152 bbWeight=4 PerfScore 190.00
G_M27982_IG24:
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.Xml.XmlNode]:s_emptyArray
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x25, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x25, #0x18]
ldr x0, [x25, #0x08]
ldr w0, [x0, #0x10]
cmp w0, #0
bgt G_M27982_IG25
mov x0, x25
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Xml.XPathNodeList:ReadUntil(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=84 bbWeight=4 PerfScore 92.00
+ ;; size=80 bbWeight=4 PerfScore 90.00
G_M27982_IG25:
ldr x21, [x25, #0x08]
ldr w25, [x21, #0x10]
cmp w25, #0
bgt G_M27982_IG27
mov x22, xzr
;; size=20 bbWeight=4 PerfScore 32.00
G_M27982_IG26:
mov w23, wzr
ldr x0, [fp, #0x30] // [V01 loc0]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
str x0, [fp, #0x18] // [V07 loc6]
b G_M27982_IG28
;; size=32 bbWeight=8 PerfScore 116.00
G_M27982_IG27:
cbz w25, G_M27982_IG35
ldr x0, [x21, #0x08]
ldr w11, [x0, #0x08]
cmp w11, #0
bls G_M27982_IG36
ldr x22, [x0, #0x10]
b G_M27982_IG26
;; size=28 bbWeight=4 PerfScore 50.00
G_M27982_IG28:
ldr x0, [fp, #0x18] // [V07 loc6]
add x11, x24, #16
ldr xip0, [x11]
blr xip0
cbz w0, G_M27982_IG30
;; size=20 bbWeight=64 PerfScore 480.00
G_M27982_IG29:
ldr x0, [fp, #0x18] // [V07 loc6]
add x11, x24, #24
ldr xip0, [x11]
blr xip0
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w23, w23, #1
cmp x0, x22
bne G_M27982_IG28
;; size=64 bbWeight=32 PerfScore 512.00
G_M27982_IG30:
ldr x1, [fp, #0x18] // [V07 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M27982_IG32
;; size=40 bbWeight=8 PerfScore 80.00
G_M27982_IG31:
add x11, x24, #32
ldr xip0, [x11]
blr xip0
;; size=12 bbWeight=4 PerfScore 18.00
G_M27982_IG32:
cbz x22, G_M27982_IG33
ldr x0, [fp, #0x38] // [V00 this]
ldr w1, [x0, #0x70]
cmp w23, w1
beq G_M27982_IG14
;; size=20 bbWeight=8 PerfScore 60.00
G_M27982_IG33:
mov x0, x20
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Xml.CanonicalXmlNodeList:Add(System.Object):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M27982_IG14
;; size=32 bbWeight=8 PerfScore 60.00
G_M27982_IG34:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M27982_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M27982_IG35:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()
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_M27982_IG36:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M27982_IG37:
ldr x1, [fp, #0x20] // [V03 loc2]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M27982_IG38
add x11, x20, #40
ldr xip0, [x11]
blr xip0
;; size=52 bbWeight=1 PerfScore 14.50
G_M27982_IG38:
ldr x0, [fp, #0x28] // [V02 loc1]
;; size=4 bbWeight=1 PerfScore 2.00
G_M27982_IG39:
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 7.00
G_M27982_IG40:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M27982_IG06
;; size=8 bbWeight=0 PerfScore 0.00
G_M27982_IG41:
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M27982_IG11
;; size=8 bbWeight=0 PerfScore 0.00
G_M27982_IG42:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M27982_IG13
;; size=20 bbWeight=0 PerfScore 0.00
G_M27982_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Cryptography_Xml_EnvelopedSignatureRequiresContext():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CryptographicException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x24
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M27982_IG44:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
stp x23, x24, [sp, #0x38]
str x25, [sp, #0x48]
add x3, fp, #128
str x3, [sp, #0x10]
;; size=28 bbWeight=0 PerfScore 0.00
G_M27982_IG45:
ldr x1, [fp, #0x18] // [V07 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M27982_IG46
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
add x11, x24, #32
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M27982_IG46:
ldr x25, [sp, #0x48]
ldp x23, x24, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x50
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
G_M27982_IG47:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
stp x23, x24, [sp, #0x38]
str x25, [sp, #0x48]
add x3, fp, #128
str x3, [sp, #0x10]
;; size=28 bbWeight=0 PerfScore 0.00
G_M27982_IG48:
adr x0, [G_M27982_IG14]
;; size=4 bbWeight=0 PerfScore 0.00
G_M27982_IG49:
ldr x25, [sp, #0x48]
ldp x23, x24, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x50
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
G_M27982_IG50:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
stp x23, x24, [sp, #0x38]
str x25, [sp, #0x48]
add x3, fp, #128
str x3, [sp, #0x10]
;; size=28 bbWeight=0 PerfScore 0.00
G_M27982_IG51:
ldr x1, [fp, #0x20] // [V03 loc2]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M27982_IG52
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
add x11, x24, #40
ldr xip0, [x11]
blr xip0
;; size=64 bbWeight=0 PerfScore 0.00
G_M27982_IG52:
ldr x25, [sp, #0x48]
ldp x23, x24, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x50
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2180, prolog size 32, PerfScore 2614.00, instruction count 545, allocated bytes for code 2180 (MethodHash=425e92b1) for method System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform:GetOutput():System.Object:this (FullOpts)
+; Total bytes of code 2164, prolog size 32, PerfScore 2610.50, instruction count 541, allocated bytes for code 2164 (MethodHash=425e92b1) for method System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform:GetOutput():System.Object:this (FullOpts)
-16 (-2.26 % of base) - System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this
; Assembly listing for method System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):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; 19 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 14, 14 ) ref -> x19 this class-hnd single-def <System.Threading.Channels.BoundedChannel`1[long]>
; V01 arg1 [V01,T11] ( 3, 3 ) int -> x22 single-def
; V02 arg2 [V02,T12] ( 3, 3 ) int -> x23 single-def
-; V03 arg3 [V03,T02] ( 4, 4 ) ubyte -> x20 single-def
+; V03 arg3 [V03,T03] ( 4, 4 ) ubyte -> x20 single-def
; V04 arg4 [V04,T10] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Action`1[long]>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06,T03] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[long]>
-; V07 tmp2 [V07,T04] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[long]]>
-; V08 tmp3 [V08,T05] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[long]]>
+; V06 tmp1 [V06,T04] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[long]>
+; V07 tmp2 [V07,T05] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[long]]>
+; V08 tmp3 [V08,T06] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[long]]>
;* V09 tmp4 [V09 ] ( 0, 0 ) ref -> zero-ref
;* V10 tmp5 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
; V11 tmp6 [V11,T13] ( 4, 4 ) int -> x20
-; V12 tmp7 [V12,T06] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-; V13 tmp8 [V13,T07] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[long]>
-; V14 tmp9 [V14,T08] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[long]>
-; V15 tmp10 [V15,T01] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+; V12 tmp7 [V12,T07] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
+; V13 tmp8 [V13,T08] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[long]>
+; V14 tmp9 [V14,T09] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[long]>
+; V15 tmp10 [V15,T02] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
;* V16 tmp11 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V17 tmp12 [V17,T18] ( 3, 1.50) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V18 tmp13 [V18,T19] ( 0, 0 ) ref -> zero-ref single-def "field V16._source (fldOffset=0x0)" P-INDEP
-; V19 cse0 [V19,T09] ( 5, 5 ) long -> x26 "CSE #02: aggressive"
-; V20 cse1 [V20,T14] ( 4, 4 ) long -> x25 "CSE #01: aggressive"
-; V21 rat0 [V21,T17] ( 3, 2 ) byref -> x1 "TLS field access"
-; V22 rat1 [V22,T16] ( 3, 3 ) long -> x0 "TLS access"
-; V23 rat2 [V23,T15] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
+; V17 tmp12 [V17,T20] ( 3, 1.50) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V18 tmp13 [V18,T21] ( 0, 0 ) ref -> zero-ref single-def "field V16._source (fldOffset=0x0)" P-INDEP
+; V19 cse0 [V19,T01] ( 7, 7 ) long -> x26 "CSE #01: aggressive"
+; V20 cse1 [V20,T14] ( 4, 4 ) long -> x25 "CSE #02: aggressive"
+; V21 rat0 [V21,T18] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V22 rat1 [V22,T19] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V23 rat2 [V23,T17] ( 3, 2 ) byref -> x1 "TLS field access"
+; V24 rat3 [V24,T16] ( 3, 3 ) long -> x0 "TLS access"
+; V25 rat4 [V25,T15] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
;
; Lcl frame size = 0
G_M5594_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]
mov fp, sp
mov x19, x0
mov w22, w1
mov w23, w2
mov w20, w3
mov x21, x4
;; size=48 bbWeight=1 PerfScore 9.00
G_M5594_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M5594_IG10
;; size=40 bbWeight=1 PerfScore 8.50
G_M5594_IG03:
movz x25, #0xD1FFAB1E // data for System.Array+EmptyArray`1[long]:Value
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
ldr x15, [x25]
add x14, x24, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #40
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x27, x0
+ add x0, x26, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M5594_IG11
- ;; size=80 bbWeight=1 PerfScore 17.00
+ ;; size=84 bbWeight=1 PerfScore 17.50
G_M5594_IG04:
ldr x15, [x25, #0xD1FFAB1E]
add x14, x27, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #48
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #200
bl CORINFO_HELP_NEWSFAST
mov x28, x0
+ add x0, x26, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M5594_IG12
- ;; size=56 bbWeight=1 PerfScore 14.00
+ ;; size=60 bbWeight=1 PerfScore 14.50
G_M5594_IG05:
ldr x15, [x25, #0xD1FFAB1E]
add x14, x28, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #56
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
stp w23, w22, [x19, #0x58]
strb w20, [x19, #0x60]
add x14, x19, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov w0, #64
tst w20, #255
csel w20, w0, wzr, ne
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
bl CORINFO_HELP_NEWSFAST
mov x22, x0
movn w0, #68
tst w20, w0
bne G_M5594_IG14
tbz w20, #2, G_M5594_IG08
;; size=112 bbWeight=1 PerfScore 21.00
G_M5594_IG06:
mrs x0, tpidr_el0
ldr w1, [x0, #0xD1FFAB1E]
cmp w1, #9
ble G_M5594_IG13
ldr x0, [x0, #0xD1FFAB1E]
ldr x1, [x0, #0x48]
cbz x1, G_M5594_IG13
;; size=28 bbWeight=0.50 PerfScore 6.25
G_M5594_IG07:
ldr x24, [x1, #0x10]
cbz x24, G_M5594_IG08
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=44 bbWeight=0.50 PerfScore 6.00
G_M5594_IG08:
mov x0, x22
mov x3, xzr
mov w4, w20
mov x1, xzr
mov x2, xzr
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
add x14, x21, #8
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #32
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x27, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[long]:.ctor(System.Threading.Channels.BoundedChannel`1[long]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #8
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x23, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[long]:.ctor(System.Threading.Channels.BoundedChannel`1[long]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=168 bbWeight=1 PerfScore 33.00
G_M5594_IG09:
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]
ldp fp, lr, [sp], #0x60
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M5594_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M5594_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M5594_IG11:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M5594_IG04
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M5594_IG12:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M5594_IG05
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M5594_IG13:
mov w0, #9
bl CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x1, x0
b G_M5594_IG07
;; size=16 bbWeight=0 PerfScore 0.00
G_M5594_IG14:
mov w0, #45
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(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
-; Total bytes of code 708, prolog size 28, PerfScore 121.75, instruction count 177, allocated bytes for code 708 (MethodHash=5c9dea25) for method System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
+; Total bytes of code 692, prolog size 28, PerfScore 122.75, instruction count 173, allocated bytes for code 692 (MethodHash=5c9dea25) for method System.Threading.Channels.BoundedChannel`1[long]:.ctor(int,int,ubyte,System.Action`1[long]):this (FullOpts)
-16 (-2.26 % of base) - System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this
; Assembly listing for method System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):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; 19 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 14, 14 ) ref -> x19 this class-hnd single-def <System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]>
; V01 arg1 [V01,T11] ( 3, 3 ) int -> x22 single-def
; V02 arg2 [V02,T12] ( 3, 3 ) int -> x23 single-def
-; V03 arg3 [V03,T02] ( 4, 4 ) ubyte -> x20 single-def
+; V03 arg3 [V03,T03] ( 4, 4 ) ubyte -> x20 single-def
; V04 arg4 [V04,T10] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Action`1[System.Numerics.Vector`1[float]]>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V06 tmp1 [V06,T03] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Numerics.Vector`1[float]]>
-; V07 tmp2 [V07,T04] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]]>
-; V08 tmp3 [V08,T05] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[System.Numerics.Vector`1[float]]]>
+; V06 tmp1 [V06,T04] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Numerics.Vector`1[float]]>
+; V07 tmp2 [V07,T05] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]]>
+; V08 tmp3 [V08,T06] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[System.Numerics.Vector`1[float]]]>
;* V09 tmp4 [V09 ] ( 0, 0 ) ref -> zero-ref
;* V10 tmp5 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
; V11 tmp6 [V11,T13] ( 4, 4 ) int -> x20
-; V12 tmp7 [V12,T06] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-; V13 tmp8 [V13,T07] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Numerics.Vector`1[float]]>
-; V14 tmp9 [V14,T08] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Numerics.Vector`1[float]]>
-; V15 tmp10 [V15,T01] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
+; V12 tmp7 [V12,T07] ( 3, 6 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
+; V13 tmp8 [V13,T08] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Numerics.Vector`1[float]]>
+; V14 tmp9 [V14,T09] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Numerics.Vector`1[float]]>
+; V15 tmp10 [V15,T02] ( 4, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
;* V16 tmp11 [V16 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V17 tmp12 [V17,T18] ( 3, 1.50) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V18 tmp13 [V18,T19] ( 0, 0 ) ref -> zero-ref single-def "field V16._source (fldOffset=0x0)" P-INDEP
-; V19 cse0 [V19,T09] ( 5, 5 ) long -> x26 "CSE #02: aggressive"
-; V20 cse1 [V20,T14] ( 4, 4 ) long -> x25 "CSE #01: aggressive"
-; V21 rat0 [V21,T17] ( 3, 2 ) byref -> x1 "TLS field access"
-; V22 rat1 [V22,T16] ( 3, 3 ) long -> x0 "TLS access"
-; V23 rat2 [V23,T15] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
+; V17 tmp12 [V17,T20] ( 3, 1.50) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V18 tmp13 [V18,T21] ( 0, 0 ) ref -> zero-ref single-def "field V16._source (fldOffset=0x0)" P-INDEP
+; V19 cse0 [V19,T01] ( 7, 7 ) long -> x26 "CSE #01: aggressive"
+; V20 cse1 [V20,T14] ( 4, 4 ) long -> x25 "CSE #02: aggressive"
+; V21 rat0 [V21,T18] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V22 rat1 [V22,T19] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V23 rat2 [V23,T17] ( 3, 2 ) byref -> x1 "TLS field access"
+; V24 rat3 [V24,T16] ( 3, 3 ) long -> x0 "TLS access"
+; V25 rat4 [V25,T15] ( 3, 3 ) byref -> x1 "ThreadStaticBlockBase access"
;
; Lcl frame size = 0
G_M16538_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]
mov fp, sp
mov x19, x0
mov w22, w1
mov w23, w2
mov w20, w3
mov x21, x4
;; size=48 bbWeight=1 PerfScore 9.00
G_M16538_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M16538_IG10
;; size=40 bbWeight=1 PerfScore 8.50
G_M16538_IG03:
movz x25, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Numerics.Vector`1[float]]:Value
movk x25, #0xD1FFAB1E LSL #16
movk x25, #0xD1FFAB1E LSL #32
ldr x15, [x25]
add x14, x24, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #40
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x27, x0
+ add x0, x26, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M16538_IG11
- ;; size=80 bbWeight=1 PerfScore 17.00
+ ;; size=84 bbWeight=1 PerfScore 17.50
G_M16538_IG04:
ldr x15, [x25, #0xD1FFAB1E]
add x14, x27, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #48
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #200
bl CORINFO_HELP_NEWSFAST
mov x28, x0
+ add x0, x26, #0xD1FFAB1E
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M16538_IG12
- ;; size=56 bbWeight=1 PerfScore 14.00
+ ;; size=60 bbWeight=1 PerfScore 14.50
G_M16538_IG05:
ldr x15, [x25, #0xD1FFAB1E]
add x14, x28, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #56
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
stp w23, w22, [x19, #0x58]
strb w20, [x19, #0x60]
add x14, x19, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov w0, #64
tst w20, #255
csel w20, w0, wzr, ne
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
bl CORINFO_HELP_NEWSFAST
mov x22, x0
movn w0, #68
tst w20, w0
bne G_M16538_IG14
tbz w20, #2, G_M16538_IG08
;; size=112 bbWeight=1 PerfScore 21.00
G_M16538_IG06:
mrs x0, tpidr_el0
ldr w1, [x0, #0xD1FFAB1E]
cmp w1, #9
ble G_M16538_IG13
ldr x0, [x0, #0xD1FFAB1E]
ldr x1, [x0, #0x48]
cbz x1, G_M16538_IG13
;; size=28 bbWeight=0.50 PerfScore 6.25
G_M16538_IG07:
ldr x24, [x1, #0x10]
cbz x24, G_M16538_IG08
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=44 bbWeight=0.50 PerfScore 6.00
G_M16538_IG08:
mov x0, x22
mov x3, xzr
mov w4, w20
mov x1, xzr
mov x2, xzr
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
add x14, x21, #8
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #32
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x27, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #8
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
add x0, x26, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x23, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x19, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=168 bbWeight=1 PerfScore 33.00
G_M16538_IG09:
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]
ldp fp, lr, [sp], #0x60
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M16538_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M16538_IG03
;; size=20 bbWeight=0 PerfScore 0.00
G_M16538_IG11:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M16538_IG04
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M16538_IG12:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M16538_IG05
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=8 bbWeight=0 PerfScore 0.00
G_M16538_IG13:
mov w0, #9
bl CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x1, x0
b G_M16538_IG07
;; size=16 bbWeight=0 PerfScore 0.00
G_M16538_IG14:
mov w0, #45
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(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
-; Total bytes of code 708, prolog size 28, PerfScore 121.75, instruction count 177, allocated bytes for code 708 (MethodHash=1ba8bf65) for method System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts)
+; Total bytes of code 692, prolog size 28, PerfScore 122.75, instruction count 173, allocated bytes for code 692 (MethodHash=1ba8bf65) for method System.Threading.Channels.BoundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(int,int,ubyte,System.Action`1[System.Numerics.Vector`1[float]]):this (FullOpts)
-12 (-0.57 % of base) - System.Diagnostics.Process:StartCore(System.Diagnostics.ProcessStartInfo):ubyte:this
; Assembly listing for method System.Diagnostics.Process:StartCore(System.Diagnostics.ProcessStartInfo):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; 41 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T04] ( 7, 4.50) ref -> x20 this class-hnd single-def <System.Diagnostics.Process>
; V01 arg1 [V01,T00] ( 29, 20 ) ref -> x19 class-hnd single-def <System.Diagnostics.ProcessStartInfo>
-; V02 loc0 [V02,T08] ( 8, 4 ) ref -> x28 class-hnd <System.String>
-; V03 loc1 [V03,T43] ( 3, 1.50) ref -> [fp+0x18] class-hnd <System.String[]>
+; V02 loc0 [V02,T09] ( 8, 4 ) ref -> x28 class-hnd <System.String>
+; V03 loc1 [V03,T44] ( 3, 1.50) ref -> [fp+0x18] class-hnd <System.String[]>
; V04 loc2 [V04 ] ( 4, 2.50) int -> [fp+0x40] do-not-enreg[X] addr-exposed ld-addr-op
; V05 loc3 [V05 ] ( 4, 2.50) int -> [fp+0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V06 loc4 [V06 ] ( 4, 2.50) int -> [fp+0x30] do-not-enreg[X] addr-exposed ld-addr-op
-; V07 loc5 [V07,T28] ( 3, 2 ) ref -> x21 class-hnd exact single-def <System.String[]>
+; V07 loc5 [V07,T29] ( 3, 2 ) ref -> x21 class-hnd exact single-def <System.String[]>
;* V08 loc6 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.String>
-; V09 loc7 [V09,T12] ( 4, 3 ) ubyte -> x23
-; V10 loc8 [V10,T23] ( 4, 2.50) int -> x24
-; V11 loc9 [V11,T24] ( 4, 2.50) int -> x25
-; V12 loc10 [V12,T22] ( 4, 2.50) ref -> x26 class-hnd <uint[]>
-; V13 loc11 [V13,T29] ( 3, 2 ) ubyte -> x27
+; V09 loc7 [V09,T13] ( 4, 3 ) ubyte -> x23
+; V10 loc8 [V10,T24] ( 4, 2.50) int -> x24
+; V11 loc9 [V11,T25] ( 4, 2.50) int -> x25
+; V12 loc10 [V12,T23] ( 4, 2.50) ref -> x26 class-hnd <uint[]>
+; V13 loc11 [V13,T30] ( 3, 2 ) ubyte -> x27
;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.String>
-; V15 loc13 [V15,T44] ( 2, 1 ) ubyte -> x0
+; V15 loc13 [V15,T45] ( 2, 1 ) ubyte -> x0
; V16 OutArgs [V16 ] ( 1, 1 ) struct (56) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T18] ( 5, 2.50) ref -> x22
-; V18 tmp2 [V18,T30] ( 3, 2 ) int -> x0
+; V17 tmp1 [V17,T19] ( 5, 2.50) ref -> x22
+; V18 tmp2 [V18,T31] ( 3, 2 ) int -> x0
;* V19 tmp3 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.IO.Pipes.AnonymousPipeClientStream>
-; V20 tmp4 [V20,T31] ( 2, 2 ) ref -> x19 class-hnd single-def "dup spill" <System.Text.Encoding>
+; V20 tmp4 [V20,T32] ( 2, 2 ) ref -> x19 class-hnd single-def "dup spill" <System.Text.Encoding>
;* V21 tmp5 [V21 ] ( 0, 0 ) ref -> zero-ref single-def
;* V22 tmp6 [V22 ] ( 0, 0 ) ref -> zero-ref single-def
-; V23 tmp7 [V23,T25] ( 4, 2 ) ref -> x19
-; V24 tmp8 [V24,T13] ( 3, 3 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
+; V23 tmp7 [V23,T26] ( 4, 2 ) ref -> x19
+; V24 tmp8 [V24,T14] ( 3, 3 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
;* V25 tmp9 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.IO.Pipes.AnonymousPipeClientStream>
-; V26 tmp10 [V26,T32] ( 2, 2 ) ref -> x22 class-hnd single-def "dup spill" <System.Text.Encoding>
+; V26 tmp10 [V26,T33] ( 2, 2 ) ref -> x22 class-hnd single-def "dup spill" <System.Text.Encoding>
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref single-def
;* V28 tmp12 [V28 ] ( 0, 0 ) ref -> zero-ref single-def
-; V29 tmp13 [V29,T26] ( 4, 2 ) ref -> x22
-; V30 tmp14 [V30,T14] ( 3, 3 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
+; V29 tmp13 [V29,T27] ( 4, 2 ) ref -> x22
+; V30 tmp14 [V30,T15] ( 3, 3 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
;* V31 tmp15 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.IO.Pipes.AnonymousPipeClientStream>
-; V32 tmp16 [V32,T33] ( 2, 2 ) ref -> x23 class-hnd single-def "dup spill" <System.Text.Encoding>
+; V32 tmp16 [V32,T34] ( 2, 2 ) ref -> x23 class-hnd single-def "dup spill" <System.Text.Encoding>
;* V33 tmp17 [V33 ] ( 0, 0 ) ref -> zero-ref single-def
;* V34 tmp18 [V34 ] ( 0, 0 ) ref -> zero-ref single-def
-; V35 tmp19 [V35,T27] ( 4, 2 ) ref -> x23
+; V35 tmp19 [V35,T28] ( 4, 2 ) ref -> x23
; V36 tmp20 [V36,T05] ( 6, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamWriter>
-; V37 tmp21 [V37,T48] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Win32Exception>
+; V37 tmp21 [V37,T49] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Win32Exception>
;* V38 tmp22 [V38 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V39 tmp23 [V39,T54] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V40 tmp24 [V40,T49] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Win32Exception>
+;* V39 tmp23 [V39,T55] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
+; V40 tmp24 [V40,T50] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Win32Exception>
; V41 tmp25 [V41 ] ( 4, 4 ) struct (16) [fp+0x20] do-not-enreg[SBR] multireg-ret must-init "dup spill" <System.ValueTuple`3[uint,uint,uint[]]>
-; V42 tmp26 [V42,T50] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-; V43 tmp27 [V43,T51] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.PlatformNotSupportedException>
-; V44 tmp28 [V44,T09] ( 2, 4 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V42 tmp26 [V42,T51] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+; V43 tmp27 [V43,T52] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.PlatformNotSupportedException>
+; V44 tmp28 [V44,T10] ( 2, 4 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
; V45 tmp29 [V45,T06] ( 5, 5 ) ref -> x0
-; V46 tmp30 [V46,T34] ( 2, 2 ) ref -> x22 class-hnd exact single-def "dup spill" <System.String>
-; V47 tmp31 [V47,T19] ( 5, 2.50) ref -> x22
-; V48 tmp32 [V48,T10] ( 2, 4 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V46 tmp30 [V46,T35] ( 2, 2 ) ref -> x22 class-hnd exact single-def "dup spill" <System.String>
+; V47 tmp31 [V47,T20] ( 5, 2.50) ref -> x22
+; V48 tmp32 [V48,T11] ( 2, 4 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
; V49 tmp33 [V49,T07] ( 5, 5 ) ref -> x0
-; V50 tmp34 [V50,T39] ( 2, 2 ) ubyte -> x0 "Inline return value spill temp"
-; V51 tmp35 [V51,T35] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
-; V52 tmp36 [V52,T11] ( 8, 3.12) ref -> x0
+; V50 tmp34 [V50,T40] ( 2, 2 ) ubyte -> x0 "Inline return value spill temp"
+; V51 tmp35 [V51,T36] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V52 tmp36 [V52,T12] ( 8, 3.12) ref -> x0
;* V53 tmp37 [V53 ] ( 0, 0 ) ref -> zero-ref single-def "spilling varStr"
-;* V54 tmp38 [V54,T55] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
-; V55 tmp39 [V55,T36] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
-; V56 tmp40 [V56,T20] ( 5, 2.50) ref -> x0
-; V57 tmp41 [V57,T37] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
-; V58 tmp42 [V58,T21] ( 5, 2.50) ref -> x0
-; V59 tmp43 [V59,T40] ( 2, 2 ) int -> x21 "Inlining Arg"
+;* V54 tmp38 [V54,T56] ( 0, 0 ) int -> zero-ref "spilling unroll qmark"
+; V55 tmp39 [V55,T37] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V56 tmp40 [V56,T21] ( 5, 2.50) ref -> x0
+; V57 tmp41 [V57,T38] ( 2, 2 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V58 tmp42 [V58,T22] ( 5, 2.50) ref -> x0
+; V59 tmp43 [V59,T41] ( 2, 2 ) int -> x21 "Inlining Arg"
; V60 tmp44 [V60,T01] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Win32.SafeHandles.SafePipeHandle>
-; V61 tmp45 [V61,T15] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
+; V61 tmp45 [V61,T16] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
;* V62 tmp46 [V62 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V63 tmp47 [V63 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V64 tmp48 [V64 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V65 tmp49 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
;* V66 tmp50 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V67 tmp51 [V67,T41] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V67 tmp51 [V67,T42] ( 2, 2 ) int -> x21 "Inlining Arg"
; V68 tmp52 [V68,T02] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Win32.SafeHandles.SafePipeHandle>
-; V69 tmp53 [V69,T16] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
+; V69 tmp53 [V69,T17] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
;* V70 tmp54 [V70 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V71 tmp55 [V71 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V72 tmp56 [V72 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V73 tmp57 [V73,T42] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V73 tmp57 [V73,T43] ( 2, 2 ) int -> x21 "Inlining Arg"
; V74 tmp58 [V74,T03] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Win32.SafeHandles.SafePipeHandle>
-; V75 tmp59 [V75,T17] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
+; V75 tmp59 [V75,T18] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.Pipes.AnonymousPipeClientStream>
;* V76 tmp60 [V76 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V77 tmp61 [V77 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V78 tmp62 [V78 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
-; V79 tmp63 [V79,T45] ( 2, 1.50) ref -> [fp+0x20] do-not-enreg[] "field V41.Item3 (fldOffset=0x0)" P-DEP
-; V80 tmp64 [V80,T46] ( 2, 1.50) int -> [fp+0x28] do-not-enreg[] "field V41.Item1 (fldOffset=0x8)" P-DEP
-; V81 tmp65 [V81,T47] ( 2, 1.50) int -> [fp+0x2C] do-not-enreg[] "field V41.Item2 (fldOffset=0xc)" P-DEP
-; V82 tmp66 [V82,T52] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V83 tmp67 [V83,T38] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
-; V84 tmp68 [V84,T53] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V79 tmp63 [V79,T46] ( 2, 1.50) ref -> [fp+0x20] do-not-enreg[] "field V41.Item3 (fldOffset=0x0)" P-DEP
+; V80 tmp64 [V80,T47] ( 2, 1.50) int -> [fp+0x28] do-not-enreg[] "field V41.Item1 (fldOffset=0x8)" P-DEP
+; V81 tmp65 [V81,T48] ( 2, 1.50) int -> [fp+0x2C] do-not-enreg[] "field V41.Item2 (fldOffset=0xc)" P-DEP
+; V82 tmp66 [V82,T53] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V83 tmp67 [V83,T39] ( 2, 2 ) ref -> x3 single-def "argument with side effect"
+; V84 tmp68 [V84,T54] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V85 cse0 [V85,T08] ( 9, 4.50) long -> x28 multi-def "CSE #05: aggressive"
;
; Lcl frame size = 112
G_M34253_IG01:
sub sp, sp, #208
stp fp, lr, [sp, #0x38]
stp x19, x20, [sp, #0x80]
stp x21, x22, [sp, #0x90]
stp x23, x24, [sp, #0xA0]
stp x25, x26, [sp, #0xB0]
stp x27, x28, [sp, #0xC0]
add fp, sp, #56
str xzr, [fp, #0x20] // [V41 tmp25]
mov x20, x0
mov x19, x1
;; size=44 bbWeight=1 PerfScore 9.00
G_M34253_IG02:
movz x0, #0xD1FFAB1E // code for System.Diagnostics.Process:get_PlatformDoesNotSupportProcessStartAndKill():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbnz w0, G_M34253_IG42
movz x0, #0xD1FFAB1E // code for System.Diagnostics.Process:EnsureInitialized()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
ldrb w0, [x19, #0x69]
cbz w0, G_M34253_IG04
;; size=52 bbWeight=1 PerfScore 16.00
G_M34253_IG03:
ldrb w0, [x19, #0x65]
cbnz w0, G_M34253_IG41
ldrb w0, [x19, #0x66]
cbnz w0, G_M34253_IG41
ldrb w0, [x19, #0x67]
cbnz w0, G_M34253_IG41
;; size=24 bbWeight=0.50 PerfScore 6.00
G_M34253_IG04:
movn w0, #0
str w0, [fp, #0x40] // [V04 loc2]
str w0, [fp, #0x38] // [V05 loc3]
str w0, [fp, #0x30] // [V06 loc4]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Process:CreateEnvp(System.Diagnostics.ProcessStartInfo):System.String[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, x0
ldr x0, [x19, #0x18]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, #0
csel x0, x0, x1, ne
movz x1, #0xD1FFAB1E // code for System.String:IsNullOrWhiteSpace(System.String):ubyte
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M34253_IG06
;; size=92 bbWeight=1 PerfScore 22.00
G_M34253_IG05:
mov x22, xzr
b G_M34253_IG07
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M34253_IG06:
ldr x22, [x19, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x22, #0
csel x22, x22, x0, ne
;; size=24 bbWeight=0.50 PerfScore 2.75
G_M34253_IG07:
ldr x0, [x19, #0x20]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, #0
csel x0, x0, x1, ne
ldr w0, [x0, #0x08]
cmp w0, #0
cset x0, eq
cmp w0, #0
cset x23, eq
mov w24, wzr
mov w25, wzr
mov x26, xzr
cbz w23, G_M34253_IG09
;; size=60 bbWeight=1 PerfScore 13.00
G_M34253_IG08:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Process:GetUserAndGroupIds(System.Diagnostics.ProcessStartInfo):System.ValueTuple`3[uint,uint,uint[]]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
stp x0, x1, [fp, #0x20] // [V41 tmp25], [V41 tmp25+0x08]
ldp w24, w25, [fp, #0x28] // [V80 tmp64], [V81 tmp65]
ldr x26, [fp, #0x20] // [V79 tmp63]
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M34253_IG09:
ldrb w0, [x19, #0x65]
cbz w0, G_M34253_IG11
;; size=8 bbWeight=1 PerfScore 4.00
G_M34253_IG10:
ldrb w0, [x19, #0x66]
cbz w0, G_M34253_IG11
ldrb w0, [x19, #0x67]
cmp w0, #0
cset x0, eq
b G_M34253_IG12
;; size=24 bbWeight=0.50 PerfScore 4.50
G_M34253_IG11:
mov w0, #1
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M34253_IG12:
uxtb w27, w0
ldrb w0, [x19, #0x69]
cbz w0, G_M34253_IG23
;; size=12 bbWeight=1 PerfScore 4.50
G_M34253_IG13:
ldr x0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, #0
csel x0, x0, x1, ne
cbz x0, G_M34253_IG40
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M34253_IG14:
ldr w1, [x0, #0x08]
cbz w1, G_M34253_IG16
ldr w1, [x0, #0x08]
cmp w1, #4
bne G_M34253_IG40
;; size=20 bbWeight=0.25 PerfScore 2.12
G_M34253_IG15:
ldr x0, [x0, #0x0C]
orr x0, x0, #0xD1FFAB1E
movz x1, #111
movk x1, #112 LSL #16
movk x1, #101 LSL #32
movk x1, #110 LSL #48
cmp x0, x1
bne G_M34253_IG40
;; size=32 bbWeight=0.12 PerfScore 0.88
G_M34253_IG16:
ldr x0, [x19, #0x08]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, #0
csel x0, x0, x1, ne
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Diagnostics.Process:ResolveExecutableForShellExecute(System.String,System.String):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x28, x0
cbz x28, G_M34253_IG17
mov x0, x19
mov x1, xzr
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Diagnostics.Process:ParseArgv(System.Diagnostics.ProcessStartInfo,System.String,ubyte):System.String[]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x3, x0
str w25, [sp] // [V16 OutArgs]
str x26, [sp, #0x08] // [V16 OutArgs+0x08]
add x1, fp, #64 // [V04 loc2]
str x1, [sp, #0x10] // [V16 OutArgs+0x10]
add x1, fp, #56 // [V05 loc3]
str x1, [sp, #0x18] // [V16 OutArgs+0x18]
add x1, fp, #48 // [V06 loc4]
str x1, [sp, #0x20] // [V16 OutArgs+0x20]
str w27, [sp, #0x28] // [V16 OutArgs+0x28]
mov w1, wzr
str w1, [sp, #0x30] // [V16 OutArgs+0x30]
mov x1, x19
mov x2, x28
mov x0, x20
mov x4, x21
mov x5, x22
mov w6, w23
mov w7, w24
movz x8, #0xD1FFAB1E // code for System.Diagnostics.Process:ForkAndExecProcess(System.Diagnostics.ProcessStartInfo,System.String,System.String[],System.String[],System.String,ubyte,uint,uint,uint[],byref,byref,byref,ubyte,ubyte):ubyte:this
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
cbnz w0, G_M34253_IG19
;; size=188 bbWeight=0.50 PerfScore 19.75
G_M34253_IG17:
movz x0, #0xD1FFAB1E // code for System.Diagnostics.Process:GetPathToOpenFile():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x28, x0
mov x0, x19
mov x1, x28
mov w2, #1
movz x3, #0xD1FFAB1E // code for System.Diagnostics.Process:ParseArgv(System.Diagnostics.ProcessStartInfo,System.String,ubyte):System.String[]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x8, x0
;; size=60 bbWeight=0.50 PerfScore 6.75
G_M34253_IG18:
str w25, [sp] // [V16 OutArgs]
str x26, [sp, #0x08] // [V16 OutArgs+0x08]
add x0, fp, #64 // [V04 loc2]
str x0, [sp, #0x10] // [V16 OutArgs+0x10]
add x0, fp, #56 // [V05 loc3]
str x0, [sp, #0x18] // [V16 OutArgs+0x18]
add x0, fp, #48 // [V06 loc4]
str x0, [sp, #0x20] // [V16 OutArgs+0x20]
str w27, [sp, #0x28] // [V16 OutArgs+0x28]
mov w0, #1
str w0, [sp, #0x30] // [V16 OutArgs+0x30]
mov x0, x20
mov x1, x19
mov x2, x28
mov x3, x8
mov x4, x21
mov x5, x22
mov w6, w23
mov w7, w24
movz x8, #0xD1FFAB1E // code for System.Diagnostics.Process:ForkAndExecProcess(System.Diagnostics.ProcessStartInfo,System.String,System.String[],System.String[],System.String,ubyte,uint,uint,uint[],byref,byref,byref,ubyte,ubyte):ubyte:this
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
;; size=96 bbWeight=0.50 PerfScore 9.25
G_M34253_IG19:
ldrb w0, [x19, #0x65]
cbz w0, G_M34253_IG25
;; size=8 bbWeight=1 PerfScore 4.00
G_M34253_IG20:
ldr w21, [fp, #0x40] // [V04 loc2]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x28, #0xD1FFAB1E
+ movk x28, #0xD1FFAB1E LSL #16
+ movk x28, #0xD1FFAB1E LSL #32
+ add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWFAST
mov x22, x0
str xzr, [x22, #0x08]
add x0, x22, #16
mov w1, #4
stlr w1, [x0]
mov w0, #1
strb w0, [x22, #0x14]
add x0, x22, #21
mov w1, #1
stlrb w1, [x0]
sxtw x0, w21
str x0, [x22, #0x08]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x28
bl CORINFO_HELP_NEWFAST
mov x21, x0
mov x2, x22
mov w1, #2
movz x3, #0xD1FFAB1E // code for System.IO.Pipes.AnonymousPipeClientStream:.ctor(int,Microsoft.Win32.SafeHandles.SafePipeHandle):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x23, [x19, #0x40]
cbnz x23, G_M34253_IG22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M34253_IG36
- ;; size=144 bbWeight=0.50 PerfScore 16.00
+ ;; size=140 bbWeight=0.50 PerfScore 15.75
G_M34253_IG21:
movz x0, #0xD1FFAB1E // data for System.Text.Encoding:s_defaultEncoding
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x23, [x0]
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M34253_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
mov x1, x21
mov x2, x23
mov w3, #0xD1FFAB1E
mov w4, wzr
movz x5, #0xD1FFAB1E // code for System.IO.StreamWriter:.ctor(System.IO.Stream,System.Text.Encoding,int,ubyte):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x22, #0x48]
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M34253_IG24
b G_M34253_IG39
;; size=84 bbWeight=0.50 PerfScore 10.00
G_M34253_IG23:
ldr x0, [x19, #0x08]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, #0
csel x0, x0, x1, ne
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Process:ResolvePath(System.String):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x28, x0
mov x0, x19
mov x1, xzr
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Diagnostics.Process:ParseArgv(System.Diagnostics.ProcessStartInfo,System.String,ubyte):System.String[]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
str x0, [fp, #0x18] // [V03 loc1]
mov x0, x28
movz x2, #0xD1FFAB1E // code for System.IO.Directory:Exists(System.String):ubyte
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x8, [fp, #0x18] // [V03 loc1]
cbz w0, G_M34253_IG18
b G_M34253_IG35
;; size=120 bbWeight=0.50 PerfScore 14.75
G_M34253_IG24:
mov w0, #1
strb w0, [x22, #0x58]
mov x0, x22
mov w1, #1
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.IO.StreamWriter:Flush(ubyte,ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x20, #104
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
;; size=52 bbWeight=0.50 PerfScore 5.25
G_M34253_IG25:
ldrb w0, [x19, #0x66]
cbz w0, G_M34253_IG29
;; size=8 bbWeight=1 PerfScore 4.00
G_M34253_IG26:
ldr w21, [fp, #0x38] // [V05 loc3]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x28, #0xD1FFAB1E
+ movk x28, #0xD1FFAB1E LSL #16
+ movk x28, #0xD1FFAB1E LSL #32
+ add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWFAST
mov x22, x0
str xzr, [x22, #0x08]
add x0, x22, #16
mov w1, #4
stlr w1, [x0]
mov w0, #1
strb w0, [x22, #0x14]
add x0, x22, #21
mov w1, #1
stlrb w1, [x0]
sxtw x0, w21
str x0, [x22, #0x08]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x28
bl CORINFO_HELP_NEWFAST
mov x21, x0
mov x2, x22
mov w1, #1
movz x3, #0xD1FFAB1E // code for System.IO.Pipes.AnonymousPipeClientStream:.ctor(int,Microsoft.Win32.SafeHandles.SafePipeHandle):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x22, [x19, #0x50]
cbnz x22, G_M34253_IG28
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M34253_IG37
- ;; size=144 bbWeight=0.50 PerfScore 16.00
+ ;; size=140 bbWeight=0.50 PerfScore 15.75
G_M34253_IG27:
movz x0, #0xD1FFAB1E // data for System.Text.Encoding:s_defaultEncoding
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M34253_IG28:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
mov x1, x21
mov x2, x22
mov w3, #1
mov w4, #0xD1FFAB1E
mov w5, wzr
movz x6, #0xD1FFAB1E // code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
add x14, x20, #96
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=72 bbWeight=0.50 PerfScore 6.50
G_M34253_IG29:
ldrb w0, [x19, #0x67]
cbz w0, G_M34253_IG33
;; size=8 bbWeight=1 PerfScore 4.00
G_M34253_IG30:
ldr w21, [fp, #0x30] // [V06 loc4]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x28, #0xD1FFAB1E
+ movk x28, #0xD1FFAB1E LSL #16
+ movk x28, #0xD1FFAB1E LSL #32
+ add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWFAST
mov x22, x0
str xzr, [x22, #0x08]
add x0, x22, #16
mov w1, #4
stlr w1, [x0]
mov w0, #1
strb w0, [x22, #0x14]
add x0, x22, #21
mov w1, #1
stlrb w1, [x0]
sxtw x0, w21
str x0, [x22, #0x08]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x28
bl CORINFO_HELP_NEWFAST
mov x21, x0
mov x2, x22
mov w1, #1
movz x3, #0xD1FFAB1E // code for System.IO.Pipes.AnonymousPipeClientStream:.ctor(int,Microsoft.Win32.SafeHandles.SafePipeHandle):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x19, [x19, #0x48]
cbnz x19, G_M34253_IG32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M34253_IG38
- ;; size=144 bbWeight=0.50 PerfScore 16.00
+ ;; size=140 bbWeight=0.50 PerfScore 15.75
G_M34253_IG31:
movz x0, #0xD1FFAB1E // data for System.Text.Encoding:s_defaultEncoding
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M34253_IG32:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
mov x1, x21
mov x2, x19
mov w3, #1
mov w4, #0xD1FFAB1E
mov w5, wzr
movz x6, #0xD1FFAB1E // code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
add x14, x20, #112
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
;; size=72 bbWeight=0.50 PerfScore 6.50
G_M34253_IG33:
mov w0, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M34253_IG34:
ldp x27, x28, [sp, #0xC0]
ldp x25, x26, [sp, #0xB0]
ldp x23, x24, [sp, #0xA0]
ldp x21, x22, [sp, #0x90]
ldp x19, x20, [sp, #0x80]
ldp fp, lr, [sp, #0x38]
add sp, sp, #208
ret lr
;; size=32 bbWeight=1 PerfScore 7.50
G_M34253_IG35:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_DirectoryNotValidAsInput():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.ComponentModel.Win32Exception:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x20
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M34253_IG36:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M34253_IG21
;; size=20 bbWeight=0 PerfScore 0.00
G_M34253_IG37:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M34253_IG27
;; size=20 bbWeight=0 PerfScore 0.00
G_M34253_IG38:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M34253_IG31
;; size=20 bbWeight=0 PerfScore 0.00
G_M34253_IG39:
movz x0, #0xD1FFAB1E // code for System.IO.StreamWriter:ThrowAsyncIOInProgress()
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_M34253_IG40:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.ComponentModel.Win32Exception:.ctor(int):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=56 bbWeight=0 PerfScore 0.00
G_M34253_IG41:
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_CantRedirectStreams():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_M34253_IG42:
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.PlatformNotSupportedException:.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
-; Total bytes of code 2104, prolog size 36, PerfScore 248.00, instruction count 526, allocated bytes for code 2104 (MethodHash=cc2f7a32) for method System.Diagnostics.Process:StartCore(System.Diagnostics.ProcessStartInfo):ubyte:this (FullOpts)
+; Total bytes of code 2092, prolog size 36, PerfScore 247.25, instruction count 523, allocated bytes for code 2092 (MethodHash=cc2f7a32) for method System.Diagnostics.Process:StartCore(System.Diagnostics.ProcessStartInfo):ubyte:this (FullOpts)
-12 (-0.57 % of base) - System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:ConvertToManaged(System.Runtime.InteropServices.Marshalling.ComVariant):System.Object
; Assembly listing for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:ConvertToManaged(System.Runtime.InteropServices.Marshalling.ComVariant):System.Object (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; 5 single block inlinees; 58 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 38, 41 ) byref -> x19 ld-addr-op single-def
; V01 loc0 [V01,T04] ( 4, 3.46) int -> x0
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03,T05] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt64>
; V04 tmp2 [V04,T06] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int64>
; V05 tmp3 [V05,T07] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt32>
; V06 tmp4 [V06,T08] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt16>
; V07 tmp5 [V07,T09] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Byte>
; V08 tmp6 [V08,T10] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.SByte>
; V09 tmp7 [V09,T11] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Decimal>
; V10 tmp8 [V10,T36] ( 2, 2 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers>
; V11 tmp9 [V11,T12] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
; V12 tmp10 [V12,T13] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
; V13 tmp11 [V13,T14] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.DateTime>
; V14 tmp12 [V14,T15] ( 3, 3 ) ref -> x20 class-hnd exact single-def "Single-def Box Helper" <System.Decimal>
; V15 tmp13 [V15,T16] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Double>
; V16 tmp14 [V16,T17] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Single>
; V17 tmp15 [V17,T18] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
; V18 tmp16 [V18,T19] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Int16>
; V19 tmp17 [V19,T20] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt64>
; V20 tmp18 [V20,T21] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int64>
; V21 tmp19 [V21,T22] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt32>
; V22 tmp20 [V22,T23] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.UInt16>
; V23 tmp21 [V23,T24] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Byte>
; V24 tmp22 [V24,T25] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.SByte>
; V25 tmp23 [V25 ] ( 4, 4 ) struct (16) [fp+0x38] do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Decimal>
; V26 tmp24 [V26,T02] ( 5, 5 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Decimal>
; V27 tmp25 [V27,T84] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
; V28 tmp26 [V28,T26] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
; V29 tmp27 [V29,T27] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
; V30 tmp28 [V30,T37] ( 2, 2 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers>
; V31 tmp29 [V31,T28] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.DateTime>
; V32 tmp30 [V32,T29] ( 3, 3 ) ref -> x0 class-hnd exact single-def "Single-def Box Helper" <System.Decimal>
; V33 tmp31 [V33,T30] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Double>
; V34 tmp32 [V34,T31] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Single>
; V35 tmp33 [V35,T32] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int32>
; V36 tmp34 [V36,T33] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Single-def Box Helper" <System.Int16>
; V37 tmp35 [V37,T38] ( 2, 2 ) ref -> x21 class-hnd single-def "Inlining Arg" <System.__Canon>
;* V38 tmp36 [V38,T46] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V39 tmp37 [V39,T65] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V40 tmp38 [V40,T47] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V41 tmp39 [V41,T66] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V42 tmp40 [V42,T48] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V43 tmp41 [V43,T67] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V44 tmp42 [V44,T49] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V45 tmp43 [V45,T68] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V46 tmp44 [V46,T50] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V47 tmp45 [V47,T69] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V48 tmp46 [V48,T51] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V49 tmp47 [V49,T70] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V50 tmp48 [V50,T52] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V51 tmp49 [V51,T71] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V52 tmp50 [V52,T53] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V53 tmp51 [V53,T72] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V54 tmp52 [V54,T54] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V55 tmp53 [V55,T73] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V56 tmp54 [V56,T55] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V57 tmp55 [V57,T74] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V58 tmp56 [V58,T56] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V59 tmp57 [V59,T75] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V60 tmp58 [V60,T57] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V61 tmp59 [V61,T76] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V62 tmp60 [V62,T58] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V63 tmp61 [V63,T77] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V64 tmp62 [V64,T59] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V65 tmp63 [V65,T78] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V66 tmp64 [V66,T60] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V67 tmp65 [V67,T79] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V68 tmp66 [V68,T61] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V69 tmp67 [V69,T80] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V70 tmp68 [V70 ] ( 0, 0 ) double -> zero-ref "Inlining Arg"
;* V71 tmp69 [V71 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.DateTime>
; V72 tmp70 [V72,T34] ( 3, 3 ) long -> x21 "Inlining Arg"
;* V73 tmp71 [V73,T62] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V74 tmp72 [V74,T81] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V75 tmp73 [V75,T63] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V76 tmp74 [V76,T82] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
; V77 tmp75 [V77 ] ( 4, 2 ) struct (16) [fp+0x28] do-not-enreg[SBR] multireg-ret "RetBuf for struct inline return candidates." <System.Decimal>
;* V78 tmp76 [V78,T64] ( 0, 0 ) int -> zero-ref ld-addr-op "Inlining Arg"
;* V79 tmp77 [V79,T83] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
; V80 tmp78 [V80,T01] ( 37, 37 ) ref -> registers "Single return block return value"
; V81 tmp79 [V81,T39] ( 2, 1.50) int -> [fp+0x38] do-not-enreg[] "field V25._flags (fldOffset=0x0)" P-DEP
; V82 tmp80 [V82,T40] ( 2, 1.50) int -> [fp+0x3C] do-not-enreg[] "field V25._hi32 (fldOffset=0x4)" P-DEP
; V83 tmp81 [V83,T41] ( 2, 1.50) long -> [fp+0x40] do-not-enreg[] "field V25._lo64 (fldOffset=0x8)" P-DEP
; V84 tmp82 [V84,T42] ( 2, 1 ) long -> x21 "field V71._dateData (fldOffset=0x0)" P-INDEP
; V85 tmp83 [V85,T43] ( 2, 1 ) int -> [fp+0x28] do-not-enreg[] "field V77._flags (fldOffset=0x0)" P-DEP
; V86 tmp84 [V86,T44] ( 2, 1 ) int -> [fp+0x2C] do-not-enreg[] "field V77._hi32 (fldOffset=0x4)" P-DEP
; V87 tmp85 [V87,T45] ( 2, 1 ) long -> [fp+0x30] do-not-enreg[] "field V77._lo64 (fldOffset=0x8)" P-DEP
;* V88 tmp86 [V88 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V89 tmp87 [V89 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V90 tmp88 [V90 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V91 tmp89 [V91 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V92 tmp90 [V92 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V93 tmp91 [V93 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V94 tmp92 [V94 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V95 tmp93 [V95 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V96 tmp94 [V96 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V97 tmp95 [V97 ] ( 2, 2 ) struct (24) [fp+0x10] do-not-enreg[XS] addr-exposed "by-value struct argument" <System.Runtime.InteropServices.Marshalling.ComVariant>
;* V98 tmp96 [V98 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V99 tmp97 [V99 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V100 tmp98 [V100 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V101 tmp99 [V101 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V102 tmp100 [V102 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V103 tmp101 [V103,T03] ( 4, 4 ) byref -> x21 single-def "Block morph LHS addr"
;* V104 tmp102 [V104 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V105 tmp103 [V105 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V106 tmp104 [V106 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;* V107 tmp105 [V107 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V108 tmp106 [V108,T85] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
; V109 tmp107 [V109,T86] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
;* V110 tmp108 [V110 ] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V111 rat0 [V111,T35] ( 3, 2.96) int -> x20 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 56
G_M41567_IG01:
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x48]
str x21, [sp, #0x58]
mov fp, sp
mov x19, x0
;; size=20 bbWeight=1 PerfScore 4.00
G_M41567_IG02:
ldrh w0, [x19]
cmp w0, #23
bhi G_M41567_IG04
;; size=12 bbWeight=1 PerfScore 4.50
G_M41567_IG03:
mov w0, w0
adr x1, [@RWD00]
ldr w1, [x1, x0, LSL #2]
adr x2, [G_M41567_IG02]
add x1, x1, x2
br x1
;; size=24 bbWeight=0.96 PerfScore 5.76
G_M41567_IG04:
sub w20, w0, #4, LSL #12
cmp w20, #21
bhi G_M41567_IG51
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M41567_IG05:
mov w0, w20
adr x1, [@RWD96]
ldr w1, [x1, x0, LSL #2]
adr x2, [G_M41567_IG02]
add x1, x1, x2
br x1
;; size=24 bbWeight=0.48 PerfScore 2.87
G_M41567_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldr x0, [x0]
str x0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldr x0, [x0]
str x0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldr w0, [x0]
str w0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG09:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldrh w0, [x0]
strh w0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldrb w0, [x0]
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG11:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldrsb w0, [x0]
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG12:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x1, [x19, #0x08]
ldr q16, [x1]
str q16, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG13:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M41567_IG49
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M41567_IG14:
movz x1, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:<DefaultMarshallingInstance>k__BackingField
- movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x0, [x1]
ldr x1, [x19, #0x08]
ldr x1, [x1]
mov w2, #8
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.ComWrappers:GetOrCreateObjectForComInstance(long,int):System.Object:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
mov x21, x0
b G_M41567_IG45
- ;; size=60 bbWeight=0.50 PerfScore 10.50
+ ;; size=56 bbWeight=0.50 PerfScore 10.25
G_M41567_IG15:
ldr x0, [x19, #0x08]
ldp x1, x2, [x0]
stp x1, x2, [fp, #0x10]
ldr x1, [x0, #0x10]
str x1, [fp, #0x20]
add x0, fp, #16 // [V97 tmp95]
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:ConvertToManaged(System.Runtime.InteropServices.Marshalling.ComVariant):System.Object
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, x0
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 9.75
G_M41567_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldrsh w0, [x0]
cmp w0, #0
cset x0, ne
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=44 bbWeight=0.50 PerfScore 6.00
G_M41567_IG17:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x0, [x19, #0x08]
ldr w0, [x0]
str w0, [x21, #0x08]
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG18:
ldr x0, [x19, #0x08]
ldr x0, [x0]
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:PtrToStringBSTR(long):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, x0
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 6.50
G_M41567_IG19:
ldr x0, [x19, #0x08]
ldr d0, [x0]
movz x0, #0xD1FFAB1E // code for System.DateTime:DoubleDateToTicks(double):long
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movk x0, #0xD1FFAB1E LSL #48
cmp x21, x0
bhi G_M41567_IG50
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x21, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=84 bbWeight=0.50 PerfScore 10.25
G_M41567_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
add x21, x20, #8
ldr x0, [x19, #0x08]
ldr x0, [x0]
movz x1, #0xD1FFAB1E // code for System.Decimal:FromOACurrency(long):System.Decimal
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
stp x0, x1, [fp, #0x28] // [V77 tmp75], [V77 tmp75+0x08]
ldp w0, w1, [fp, #0x28] // [V85 tmp83], [V86 tmp84]
stp w0, w1, [x21]
ldr x0, [fp, #0x30] // [V87 tmp85]
str x0, [x21, #0x08]
mov x0, x20
mov x21, x0
b G_M41567_IG45
;; size=84 bbWeight=0.50 PerfScore 12.00
G_M41567_IG21:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x1, [x19, #0x08]
ldr d16, [x1]
str d16, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x1, [x19, #0x08]
ldr s16, [x1]
str s16, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG23:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x1, [x19, #0x08]
ldr w1, [x1]
str w1, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG24:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x1, [x19, #0x08]
ldrsh w1, [x1]
strh w1, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=36 bbWeight=0.50 PerfScore 5.50
G_M41567_IG25:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[ulong]():ulong:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[long]():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG27:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[uint]():uint:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG28:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[ushort]():ushort:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
strh w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG29:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[ubyte]():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG30:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[byte]():byte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG31:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[System.Decimal]():System.Decimal:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
stp x0, x1, [fp, #0x38] // [V25 tmp23], [V25 tmp23+0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldp w0, w1, [fp, #0x38] // [V81 tmp79], [V82 tmp80]
stp w0, w1, [x21, #0x08]
ldr x0, [fp, #0x40] // [V83 tmp81]
str x0, [x21, #0x10]
b G_M41567_IG45
;; size=68 bbWeight=0.50 PerfScore 8.50
G_M41567_IG32:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[ubyte]():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
strb w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG33:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[int]():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG34:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M41567_IG52
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M41567_IG35:
movz x1, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:<DefaultMarshallingInstance>k__BackingField
- movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x0, [x1]
ldr x1, [x19, #0x08]
mov w2, #8
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.ComWrappers:GetOrCreateObjectForComInstance(long,int):System.Object:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
mov x21, x0
b G_M41567_IG45
- ;; size=56 bbWeight=0.50 PerfScore 9.00
+ ;; size=52 bbWeight=0.50 PerfScore 8.75
G_M41567_IG36:
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[System.__Canon]():System.__Canon:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
b G_M41567_IG45
;; size=44 bbWeight=0.50 PerfScore 4.50
G_M41567_IG37:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[System.DateTime]():System.DateTime:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG38:
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[System.__Canon]():System.__Canon:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr q16, [x21, #0x08]
str q16, [x0, #0x08]
mov x21, x0
b G_M41567_IG45
;; size=72 bbWeight=0.50 PerfScore 8.00
G_M41567_IG39:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[double]():double:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str d0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG40:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[float]():float:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str s0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG41:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[int]():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG42:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:As[short]():short:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
strh w0, [x21, #0x08]
b G_M41567_IG45
;; size=52 bbWeight=0.50 PerfScore 5.50
G_M41567_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M41567_IG53
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M41567_IG44:
movz x0, #0xD1FFAB1E // data for System.DBNull:Value
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov x21, x0
- ;; size=20 bbWeight=0.50 PerfScore 2.50
+ ;; size=16 bbWeight=0.50 PerfScore 2.25
G_M41567_IG45:
mov x0, x21
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M41567_IG46:
ldr x21, [sp, #0x58]
ldp x19, x20, [sp, #0x48]
ldp fp, lr, [sp], #0x60
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M41567_IG47:
mov x0, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M41567_IG48:
ldr x21, [sp, #0x58]
ldp x19, x20, [sp, #0x48]
ldp fp, lr, [sp], #0x60
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M41567_IG49:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M41567_IG14
;; size=20 bbWeight=0 PerfScore 0.00
G_M41567_IG50:
movz x0, #0xD1FFAB1E // code for System.DateTime:ThrowTicksOutOfRange()
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_M41567_IG51:
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_ComVariantMarshaller_UnmanagedTypeNotSupported():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x2, x0
mov x1, x20
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=108 bbWeight=0 PerfScore 0.00
G_M41567_IG52:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M41567_IG35
;; size=20 bbWeight=0 PerfScore 0.00
G_M41567_IG53:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M41567_IG44
;; size=20 bbWeight=0 PerfScore 0.00
RWD00 dd G_M41567_IG47 - G_M41567_IG02
dd G_M41567_IG43 - G_M41567_IG02
dd G_M41567_IG42 - G_M41567_IG02
dd G_M41567_IG41 - G_M41567_IG02
dd G_M41567_IG40 - G_M41567_IG02
dd G_M41567_IG39 - G_M41567_IG02
dd G_M41567_IG38 - G_M41567_IG02
dd G_M41567_IG37 - G_M41567_IG02
dd G_M41567_IG36 - G_M41567_IG02
dd G_M41567_IG34 - G_M41567_IG02
dd G_M41567_IG33 - G_M41567_IG02
dd G_M41567_IG32 - G_M41567_IG02
dd G_M41567_IG51 - G_M41567_IG02
dd G_M41567_IG34 - G_M41567_IG02
dd G_M41567_IG31 - G_M41567_IG02
dd G_M41567_IG51 - G_M41567_IG02
dd G_M41567_IG30 - G_M41567_IG02
dd G_M41567_IG29 - G_M41567_IG02
dd G_M41567_IG28 - G_M41567_IG02
dd G_M41567_IG27 - G_M41567_IG02
dd G_M41567_IG26 - G_M41567_IG02
dd G_M41567_IG25 - G_M41567_IG02
dd G_M41567_IG41 - G_M41567_IG02
dd G_M41567_IG27 - G_M41567_IG02
RWD96 dd G_M41567_IG47 - G_M41567_IG02
dd G_M41567_IG43 - G_M41567_IG02
dd G_M41567_IG24 - G_M41567_IG02
dd G_M41567_IG23 - G_M41567_IG02
dd G_M41567_IG22 - G_M41567_IG02
dd G_M41567_IG21 - G_M41567_IG02
dd G_M41567_IG20 - G_M41567_IG02
dd G_M41567_IG19 - G_M41567_IG02
dd G_M41567_IG18 - G_M41567_IG02
dd G_M41567_IG51 - G_M41567_IG02
dd G_M41567_IG17 - G_M41567_IG02
dd G_M41567_IG16 - G_M41567_IG02
dd G_M41567_IG15 - G_M41567_IG02
dd G_M41567_IG13 - G_M41567_IG02
dd G_M41567_IG12 - G_M41567_IG02
dd G_M41567_IG51 - G_M41567_IG02
dd G_M41567_IG11 - G_M41567_IG02
dd G_M41567_IG10 - G_M41567_IG02
dd G_M41567_IG09 - G_M41567_IG02
dd G_M41567_IG08 - G_M41567_IG02
dd G_M41567_IG07 - G_M41567_IG02
dd G_M41567_IG06 - G_M41567_IG02
-; Total bytes of code 2112, prolog size 16, PerfScore 256.88, instruction count 528, allocated bytes for code 2112 (MethodHash=06805da0) for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:ConvertToManaged(System.Runtime.InteropServices.Marshalling.ComVariant):System.Object (FullOpts)
+; Total bytes of code 2100, prolog size 16, PerfScore 256.13, instruction count 525, allocated bytes for code 2100 (MethodHash=06805da0) for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:ConvertToManaged(System.Runtime.InteropServices.Marshalling.ComVariant):System.Object (FullOpts)
-12 (-2.65 % of base) - System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:TryCreateOleVariantForInterfaceWrapper(System.Object,byref):ubyte
; Assembly listing for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:TryCreateOleVariantForInterfaceWrapper(System.Object,byref):ubyte (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; 0 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 7, 4.75) ref -> x19 class-hnd single-def <System.Object>
; V01 arg1 [V01,T01] ( 6, 4 ) byref -> x20 single-def
; V02 loc0 [V02,T07] ( 2, 1 ) ref -> x19 class-hnd exact <System.Runtime.InteropServices.UnknownWrapper>
; V03 loc1 [V03,T08] ( 3, 1.50) ref -> x19 class-hnd single-def <System.Object>
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V05 tmp1 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Runtime.InteropServices.UnknownWrapper>
; V06 tmp2 [V06,T02] ( 2, 2 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceDetailsStrategy>
;* V07 tmp3 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.RuntimeTypeHandle>
;* V08 tmp4 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V09 tmp5 [V09 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
;* V10 tmp6 [V10 ] ( 0, 0 ) ref -> zero-ref "field V07.m_type (fldOffset=0x0)" P-INDEP
; V11 tmp7 [V11,T09] ( 2, 1 ) ref -> x1 single-def "field V09.m_type (fldOffset=0x0)" P-INDEP
; V12 tmp8 [V12,T03] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V13 tmp9 [V13,T05] ( 2, 2 ) long -> x1 "argument with side effect"
; V14 tmp10 [V14,T04] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V15 tmp11 [V15,T06] ( 2, 2 ) long -> x1 "argument with side effect"
;* V16 cse0 [V16,T10] ( 0, 0 ) byref -> zero-ref multi-def "CSE #02: aggressive"
;
; Lcl frame size = 8
G_M45622_IG01:
stp fp, lr, [sp, #-0x30]!
stp x19, x20, [sp, #0x18]
str x21, [sp, #0x28]
mov fp, sp
mov x19, x0
mov x20, x1
;; size=24 bbWeight=1 PerfScore 4.50
G_M45622_IG02:
cbnz x19, G_M45622_IG05
;; size=4 bbWeight=1 PerfScore 1.00
G_M45622_IG03:
stp xzr, xzr, [x20]
str xzr, [x20, #0x10]
mov w0, wzr
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M45622_IG04:
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M45622_IG05:
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
beq G_M45622_IG09
;; size=24 bbWeight=0.25 PerfScore 1.50
G_M45622_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M45622_IG15
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M45622_IG07:
movz x0, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:<DefaultIUnknownInterfaceDetailsStrategy>k__BackingField
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x21, [x0]
mov x0, x19
bl System.Object:GetType():System.Type:this
mov x1, x0
mov x0, x21
movz x11, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.IIUnknownInterfaceDetailsStrategy:GetComExposedTypeDetails(System.RuntimeTypeHandle):System.Runtime.InteropServices.Marshalling.IComExposedDetails:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbz x0, G_M45622_IG03
movz x0, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:<DefaultMarshallingInstance>k__BackingField
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov x1, x19
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.ComWrappers:GetOrCreateComInterfaceForObject(System.Object,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
mov x1, x0
mov x8, x20
mov w0, #13
movz x2, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:CreateRaw[long](int,long):System.Runtime.InteropServices.Marshalling.ComVariant
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov w0, #1
- ;; size=140 bbWeight=0.50 PerfScore 17.50
+ ;; size=132 bbWeight=0.50 PerfScore 17.00
G_M45622_IG08:
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M45622_IG09:
ldr x19, [x19, #0x08]
cbnz x19, G_M45622_IG11
stp xzr, xzr, [x20]
str xzr, [x20, #0x10]
mov w0, #1
;; size=20 bbWeight=0.50 PerfScore 3.25
G_M45622_IG10:
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M45622_IG11:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M45622_IG14
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M45622_IG12:
movz x0, #0xD1FFAB1E // data for System.Runtime.InteropServices.Marshalling.StrategyBasedComWrappers:<DefaultMarshallingInstance>k__BackingField
- movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov x1, x19
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.ComWrappers:GetOrCreateComInterfaceForObject(System.Object,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
mov x1, x0
mov x8, x20
mov w0, #13
movz x2, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshalling.ComVariant:CreateRaw[long](int,long):System.Runtime.InteropServices.Marshalling.ComVariant
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov w0, #1
- ;; size=84 bbWeight=0.50 PerfScore 10.75
+ ;; size=80 bbWeight=0.50 PerfScore 10.50
G_M45622_IG13:
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M45622_IG14:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M45622_IG12
;; size=20 bbWeight=0 PerfScore 0.00
G_M45622_IG15:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M45622_IG07
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 452, prolog size 16, PerfScore 55.25, instruction count 113, allocated bytes for code 452 (MethodHash=e7e54dc9) for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:TryCreateOleVariantForInterfaceWrapper(System.Object,byref):ubyte (FullOpts)
+; Total bytes of code 440, prolog size 16, PerfScore 54.50, instruction count 110, allocated bytes for code 440 (MethodHash=e7e54dc9) for method System.Runtime.InteropServices.Marshalling.ComVariantMarshaller:TryCreateOleVariantForInterfaceWrapper(System.Object,byref):ubyte (FullOpts)
-12 (-0.67 % of base) - System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this
; Assembly listing for method System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty: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; 160 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T05] ( 5, 4 ) ref -> x20 this class-hnd single-def <System.Runtime.Serialization.CodeExporter>
; V01 arg1 [V01,T14] ( 3, 3 ) ref -> x22 class-hnd single-def <System.CodeDom.CodeTypeReference>
; V02 arg2 [V02,T08] ( 4, 3.50) ref -> x21 class-hnd single-def <System.String>
; V03 arg3 [V03,T03] ( 5, 4.50) ref -> x19 class-hnd single-def <System.String>
; V04 arg4 [V04,T16] ( 3, 2.50) ubyte -> x24 single-def
; V05 arg5 [V05,T15] ( 3, 3 ) ubyte -> x23 single-def
;* V06 loc0 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.CodeDom.CodeMemberProperty>
; V07 loc1 [V07,T27] ( 3, 3 ) ref -> x22 class-hnd exact single-def <System.CodeDom.CodeMethodReturnStatement>
; V08 loc2 [V08,T18] ( 5, 4 ) ref -> x27 class-hnd exact single-def <System.CodeDom.CodeAssignStatement>
;* V09 loc3 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.CodeDom.CodeConditionStatement>
; V10 loc4 [V10,T49] ( 3, 1.50) ref -> x19 class-hnd <System.CodeDom.CodeExpression>
; V11 loc5 [V11,T50] ( 3, 1.50) ref -> x19 class-hnd <System.CodeDom.CodeExpression>
;# V12 OutArgs [V12 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V13 tmp1 [V13,T00] ( 13, 20 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMemberProperty>
;* V14 tmp2 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeMethodReturnStatement>
; V15 tmp3 [V15,T01] ( 4, 8 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeFieldReferenceExpression>
;* V16 tmp4 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeAssignStatement>
; V17 tmp5 [V17,T02] ( 4, 8 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeFieldReferenceExpression>
; V18 tmp6 [V18,T24] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodePropertySetValueReferenceExpression>
; V19 tmp7 [V19,T04] ( 6, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeConditionStatement>
; V20 tmp8 [V20,T09] ( 5, 5 ) ref -> [fp+0x58] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeFieldReferenceExpression>
;* V21 tmp9 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.CodeDom.CodePropertySetValueReferenceExpression>
; V22 tmp10 [V22,T28] ( 3, 3 ) ref -> x24 class-hnd exact single-def "dup spill" <System.CodeDom.CodeExpression[]>
; V23 tmp11 [V23,T10] ( 5, 5 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodInvokeExpression>
; V24 tmp12 [V24,T29] ( 3, 3 ) ref -> x24 class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
; V25 tmp13 [V25,T30] ( 3, 3 ) ref -> [fp+0x50] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V26 tmp14 [V26,T11] ( 5, 5 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeBinaryOperatorExpression>
; V27 tmp15 [V27,T31] ( 3, 3 ) ref -> x27 class-hnd single-def "impAppendStmt" <System.CodeDom.CodeStatementCollection>
; V28 tmp16 [V28,T46] ( 2, 2 ) ref -> x26 class-hnd exact single-def "non-inline candidate call" <System.CodeDom.CodeThisReferenceExpression>
; V29 tmp17 [V29,T32] ( 3, 3 ) ref -> x19 class-hnd exact single-def "dup spill" <System.CodeDom.CodeExpression[]>
; V30 tmp18 [V30,T47] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
; V31 tmp19 [V31,T33] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodePrimitiveExpression>
; V32 tmp20 [V32,T12] ( 5, 5 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodInvokeExpression>
; V33 tmp21 [V33,T34] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeTypeReferenceExpression>
; V34 tmp22 [V34,T20] ( 4, 4 ) ref -> [fp+0x48] class-hnd exact spill-single-def "dup spill" <System.CodeDom.CodeExpression[]>
; V35 tmp23 [V35,T13] ( 5, 5 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodInvokeExpression>
; V36 tmp24 [V36,T51] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp"
;* V37 tmp25 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Runtime.Serialization.ImportOptions>
;* V38 tmp26 [V38 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V39 tmp27 [V39 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V40 tmp28 [V40,T25] ( 2, 4 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeThisReferenceExpression>
; V41 tmp29 [V41,T06] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeStatementCollection>
; V42 tmp30 [V42,T26] ( 2, 4 ) ref -> [fp+0x40] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeThisReferenceExpression>
; V43 tmp31 [V43,T48] ( 2, 2 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeThisReferenceExpression>
; V44 tmp32 [V44,T35] ( 3, 3 ) ref -> [fp+0x30] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeTypeReference>
; V45 tmp33 [V45,T36] ( 3, 3 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeExpressionCollection>
; V46 tmp34 [V46,T21] ( 4, 4 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodReferenceExpression>
; V47 tmp35 [V47,T37] ( 3, 3 ) ref -> [fp+0x20] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
; V48 tmp36 [V48,T38] ( 3, 3 ) ref -> [fp+0x18] class-hnd exact spill-single-def "NewObj constructor temp" <System.CodeDom.CodeExpressionCollection>
; V49 tmp37 [V49,T22] ( 4, 4 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodReferenceExpression>
; V50 tmp38 [V50,T39] ( 3, 3 ) ref -> [fp+0x10] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.ArrayList>
;* V51 tmp39 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
;* V52 tmp40 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Boolean>
; V53 tmp41 [V53,T40] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeStatementCollection>
;* V54 tmp42 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeThisReferenceExpression>
; V55 tmp43 [V55,T41] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeExpressionCollection>
; V56 tmp44 [V56,T23] ( 4, 4 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeMethodReferenceExpression>
; V57 tmp45 [V57,T42] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
; V58 tmp46 [V58,T43] ( 3, 3 ) ref -> x1 class-hnd exact single-def "NewObj constructor temp" <System.CodeDom.CodeExpressionStatement>
; V59 tmp47 [V59,T44] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeStatementCollection>
; V60 tmp48 [V60,T45] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.CodeDom.CodeStatementCollection>
;* V61 cse0 [V61,T52] ( 0, 0 ) byref -> zero-ref multi-def "CSE #10: moderate"
; V62 cse1 [V62,T07] ( 8, 5.50) long -> x28 "CSE #04: aggressive"
; V63 cse2 [V63,T19] ( 5, 4 ) long -> x26 "CSE #03: moderate"
; V64 cse3 [V64,T17] ( 6, 4 ) long -> x22 "CSE #13: moderate"
;
; Lcl frame size = 80
G_M23463_IG01:
stp fp, lr, [sp, #-0xB0]!
stp x19, x20, [sp, #0x60]
stp x21, x22, [sp, #0x70]
stp x23, x24, [sp, #0x80]
stp x25, x26, [sp, #0x90]
stp x27, x28, [sp, #0xA0]
mov fp, sp
mov x20, x0
mov x22, x1
mov x21, x2
mov x19, x3
mov w24, w4
mov w23, w5
;; size=52 bbWeight=1 PerfScore 9.50
G_M23463_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeMemberProperty:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x25, #72
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x25, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov w0, #2
str w0, [x25, #0x40]
ldr x0, [x20, #0x18]
cbz x0, G_M23463_IG04
;; size=80 bbWeight=1 PerfScore 18.00
G_M23463_IG03:
ldr x0, [x20, #0x18]
ldrb w0, [x0, #0x31]
cbz w0, G_M23463_IG04
ldr w0, [x25, #0x40]
orr w0, w0, #0xD1FFAB1E
str w0, [x25, #0x40]
b G_M23463_IG05
;; size=28 bbWeight=0.50 PerfScore 6.25
G_M23463_IG04:
ldr w0, [x25, #0x40]
orr w0, w0, #0xD1FFAB1E
str w0, [x25, #0x40]
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M23463_IG05:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
movz x26, #0xD1FFAB1E
movk x26, #0xD1FFAB1E LSL #16
movk x26, #0xD1FFAB1E LSL #32
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x28, #0xD1FFAB1E
movk x28, #0xD1FFAB1E LSL #16
movk x28, #0xD1FFAB1E LSL #32
mov x0, x28
bl CORINFO_HELP_NEWSFAST
add x14, x0, #24
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x25, #0x60]
ldrsb wzr, [x0]
mov x1, x22
movz x22, #0xD1FFAB1E // code for System.Collections.IList:Add(System.Object):int:this
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
mov x11, x22
ldr xip0, [x11]
blr xip0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
mov x0, x26
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x40] // [V42 tmp30]
mov x0, x28
bl CORINFO_HELP_NEWSFAST
add x14, x0, #24
ldr x15, [fp, #0x40] // [V42 tmp30]
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x27, #40
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 x15, x0
add x14, x27, #48
bl CORINFO_HELP_ASSIGN_REF
tst w23, #255
beq G_M23463_IG11
;; size=248 bbWeight=1 PerfScore 48.50
G_M23463_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeConditionStatement:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x26
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x38] // [V43 tmp31]
mov x0, x28
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x58] // [V20 tmp8]
add x14, x1, #24
ldr x15, [fp, #0x38] // [V43 tmp31]
bl CORINFO_HELP_ASSIGN_REF
add x14, x1, #16
mov x15, x19
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
tst w24, #255
bne G_M23463_IG12
add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
str x2, [fp, #0x30] // [V44 tmp32]
mov x0, x2
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.CodeDom.CodeTypeReference:.ctor(System.Type):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x24, #16
ldr x15, [fp, #0x30] // [V44 tmp32]
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #2
bl CORINFO_HELP_NEWARR_1_OBJ
mov x1, x0
str x1, [fp, #0x48] // [V34 tmp22]
add x14, x1, #16
ldr x15, [fp, #0x58] // [V20 tmp8]
bl CORINFO_HELP_ASSIGN_REF
add x14, x1, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x28] // [V45 tmp33]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x20] // [V47 tmp35]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M23463_IG15
;; size=332 bbWeight=0.50 PerfScore 33.00
G_M23463_IG07:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
ldr x2, [fp, #0x28] // [V45 tmp33]
add x14, x2, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #24
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #32
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x0, #0x10]
add x14, x19, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x1, [fp, #0x48] // [V34 tmp22]
movz x2, #0xD1FFAB1E // code for System.CodeDom.CodeExpressionCollection:AddRange(System.CodeDom.CodeExpression[]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
- ;; size=140 bbWeight=0.50 PerfScore 17.25
+ ;; size=136 bbWeight=0.50 PerfScore 17.00
G_M23463_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov w0, #1
strb w0, [x24, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x50] // [V25 tmp13]
add x14, x1, #16
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #16
ldr x15, [fp, #0x50] // [V25 tmp13]
bl CORINFO_HELP_ASSIGN_REF
mov w14, #6
str w14, [x0, #0x20]
add x14, x0, #24
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x23, #0x30]
ldrsb wzr, [x0]
mov x1, x27
add x11, x22, #8
ldr xip0, [x11]
blr xip0
ldr x27, [x23, #0x30]
mov x0, x26
bl CORINFO_HELP_NEWSFAST
mov x26, x0
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Runtime.Serialization.CodeExporter:get_RaisePropertyChangedEventMethod():System.CodeDom.CodeMemberMethod:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x1, #0xD1FFAB1E // code for System.CodeDom.CodeTypeMember:get_Name():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
mov x19, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x28, x0
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
bl CORINFO_HELP_NEWSFAST
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x0, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x21, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #32
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x28, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x28, #0x18]
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.CodeDom.CodeExpressionCollection:AddRange(System.CodeDom.CodeExpression[]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldrsb wzr, [x27]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
add x14, x1, #40
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
mov x0, x27
add x11, x22, #16
ldr xip0, [x11]
blr xip0
ldr x0, [x25, #0x68]
ldrsb wzr, [x0]
mov x1, x23
add x11, x22, #24
ldr xip0, [x11]
blr xip0
- ;; size=536 bbWeight=0.50 PerfScore 62.50
+ ;; size=532 bbWeight=0.50 PerfScore 62.25
G_M23463_IG09:
mov x0, x25
;; size=4 bbWeight=1 PerfScore 0.50
G_M23463_IG10:
ldp x27, x28, [sp, #0xA0]
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
ldp x19, x20, [sp, #0x60]
ldp fp, lr, [sp], #0xB0
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M23463_IG11:
ldr x0, [x25, #0x68]
ldrsb wzr, [x0]
mov x1, x27
add x11, x22, #32
ldr xip0, [x11]
blr xip0
b G_M23463_IG09
;; size=28 bbWeight=0.50 PerfScore 6.00
G_M23463_IG12:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
mov x24, x0
add x14, x24, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x0, x28, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
str x0, [fp, #0x18] // [V48 tmp36]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
str x1, [fp, #0x10] // [V50 tmp38]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M23463_IG14
;; size=112 bbWeight=0.50 PerfScore 10.25
G_M23463_IG13:
movz x14, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
- movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x1, #8
bl CORINFO_HELP_ASSIGN_REF
ldr x2, [fp, #0x18] // [V48 tmp36]
add x14, x2, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #24
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #32
ldr x15, [fp, #0x58] // [V20 tmp8]
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x0, #0x10]
add x14, x19, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
mov x1, x24
movz x2, #0xD1FFAB1E // code for System.CodeDom.CodeExpressionCollection:AddRange(System.CodeDom.CodeExpression[]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M23463_IG08
- ;; size=144 bbWeight=0.50 PerfScore 17.75
+ ;; size=140 bbWeight=0.50 PerfScore 17.50
G_M23463_IG14:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x1, [fp, #0x10] // [V50 tmp38]
b G_M23463_IG13
;; size=24 bbWeight=0 PerfScore 0.00
G_M23463_IG15:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x1, [fp, #0x20] // [V47 tmp35]
b G_M23463_IG07
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1792, prolog size 28, PerfScore 238.75, instruction count 448, allocated bytes for code 1792 (MethodHash=73d6a458) for method System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this (FullOpts)
+; Total bytes of code 1780, prolog size 28, PerfScore 238.00, instruction count 445, allocated bytes for code 1780 (MethodHash=73d6a458) for method System.Runtime.Serialization.CodeExporter:CreateProperty(System.CodeDom.CodeTypeReference,System.String,System.String,ubyte,ubyte):System.CodeDom.CodeMemberProperty:this (FullOpts)