-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ARM64] [xtqqczze] BinaryWriter perf improvements #296
Comments
Top method regressions76 (3.800% of base) - System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] ; Assembly listing for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):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; 10 single block inlinees; 6 inlinees without PGO data
+; 0 inlinees with PGO data; 65 single block inlinees; 28 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T00] ( 24, 37 ) byref -> x19 single-def
-; V01 loc0 [V01,T10] ( 8, 5.50) ubyte -> x23
-; V02 loc1 [V02,T20] ( 3, 2 ) int -> x24
-; V03 loc2 [V03,T21] ( 3, 2 ) int -> x25
-; V04 loc3 [V04,T19] ( 4, 2 ) ref -> [fp+0x20] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
-; V05 loc4 [V05,T02] ( 16, 14 ) ref -> [fp+0x18] class-hnd exact EH-live single-def <System.IO.BinaryWriter>
-; V06 loc5 [V06 ] ( 2, 2 ) ubyte -> [fp+0x68] do-not-enreg[X] addr-exposed ld-addr-op
+; V01 loc0 [V01,T16] ( 8, 5.50) ubyte -> x23
+; V02 loc1 [V02,T37] ( 3, 2 ) int -> x24
+; V03 loc2 [V03,T38] ( 3, 2 ) int -> x25
+; V04 loc3 [V04,T36] ( 4, 2 ) ref -> [fp+0x20] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
+; V05 loc4 [V05,T04] ( 16, 14 ) ref -> [fp+0x18] class-hnd exact EH-live single-def <System.IO.BinaryWriter>
+; V06 loc5 [V06 ] ( 2, 2 ) ubyte -> [fp+0x98] do-not-enreg[X] addr-exposed ld-addr-op
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
-; V08 loc7 [V08,T25] ( 2, 2 ) ref -> x19 class-hnd single-def <ubyte[]>
+; V08 loc7 [V08,T42] ( 2, 2 ) ref -> x19 class-hnd single-def <ubyte[]>
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V10 tmp1 [V10,T22] ( 3, 2 ) int -> x2
-; V11 tmp2 [V11,T23] ( 3, 2 ) int -> x25
-; V12 tmp3 [V12,T05] ( 5, 10 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V10 tmp1 [V10,T39] ( 3, 2 ) int -> x2
+; V11 tmp2 [V11,T40] ( 3, 2 ) int -> x25
+; V12 tmp3 [V12,T07] ( 5, 10 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
; V13 tmp4 [V13,T01] ( 25, 32 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
;* V14 tmp5 [V14 ] ( 0, 0 ) ref -> zero-ref
;* V15 tmp6 [V15 ] ( 0, 0 ) ref -> zero-ref single-def
-; V16 tmp7 [V16,T26] ( 2, 1 ) int -> x1
+; V16 tmp7 [V16,T63] ( 2, 1 ) int -> x1
;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref
;* V18 tmp9 [V18 ] ( 0, 0 ) ref -> zero-ref single-def
-; V19 tmp10 [V19,T27] ( 2, 1 ) int -> x1
-; V20 tmp11 [V20,T06] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V19 tmp10 [V19,T64] ( 2, 1 ) int -> x1
+; V20 tmp11 [V20,T12] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref single-def
;* V22 tmp13 [V22 ] ( 0, 0 ) ref -> zero-ref
-; V23 tmp14 [V23,T24] ( 3, 2 ) int -> x14
-; V24 tmp15 [V24,T29] ( 3, 0 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V25 tmp16 [V25,T03] ( 4, 12.50) int -> x27 "Inline stloc first use temp"
-; V26 tmp17 [V26,T04] ( 4, 12.50) int -> x19 "Inline stloc first use temp"
-; V27 tmp18 [V27,T11] ( 6, 5 ) ref -> x20 single-def "V00.[000..008)"
-; V28 tmp19 [V28,T09] ( 8, 5.50) ref -> x21 single-def "V00.[040..048)"
-; V29 tmp20 [V29,T07] ( 10, 6.50) ref -> x22 single-def "V00.[048..056)"
-; V30 tmp21 [V30,T14] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V31 tmp22 [V31 ] ( 2, 4 ) struct (64) [fp+0x28] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.DSAParameters>
-; V32 tmp23 [V32,T08] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V33 tmp24 [V33,T30] ( 3, 0 ) ref -> x0 single-def "argument with side effect"
-; V34 tmp25 [V34,T31] ( 3, 0 ) ref -> x0 single-def "argument with side effect"
-; V35 tmp26 [V35,T15] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V36 tmp27 [V36,T16] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V37 tmp28 [V37,T32] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V38 PSPSym [V38,T28] ( 1, 1 ) long -> [fp+0x70] do-not-enreg[V] "PSPSym"
-; V39 cse0 [V39,T13] ( 5, 4 ) ref -> x1 "CSE #04: aggressive"
-; V40 cse1 [V40,T17] ( 3, 3 ) ref -> x1 "CSE #01: moderate"
-; V41 cse2 [V41,T18] ( 3, 3 ) ref -> x1 "CSE #02: moderate"
-; V42 cse3 [V42,T12] ( 6, 5 ) int -> x0 "CSE #03: aggressive"
+; V23 tmp14 [V23,T41] ( 3, 2 ) int -> x14
+; V24 tmp15 [V24,T75] ( 3, 0 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;* V25 tmp16 [V25 ] ( 0, 0 ) ref -> zero-ref single-def
+; V26 tmp17 [V26 ] ( 2, 2 ) int -> [fp+0x94] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V27 tmp18 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V28 tmp19 [V28,T22] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V29 tmp20 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V30 tmp21 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V31 tmp22 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V32 tmp23 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V33 tmp24 [V33 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V34 tmp25 [V34 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V35 tmp26 [V35 ] ( 0, 0 ) ref -> zero-ref single-def
+; V36 tmp27 [V36,T43] ( 2, 2 ) int -> x1 "Inlining Arg"
+; V37 tmp28 [V37 ] ( 2, 2 ) int -> [fp+0x90] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V38 tmp29 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V39 tmp30 [V39,T23] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V40 tmp31 [V40 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V41 tmp32 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V42 tmp33 [V42 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V43 tmp34 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V44 tmp35 [V44 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V45 tmp36 [V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V46 tmp37 [V46 ] ( 0, 0 ) ref -> zero-ref single-def
+; V47 tmp38 [V47 ] ( 2, 2 ) int -> [fp+0x8C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V48 tmp39 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V49 tmp40 [V49,T24] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V50 tmp41 [V50 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V51 tmp42 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V52 tmp43 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V53 tmp44 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V54 tmp45 [V54 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V55 tmp46 [V55 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V56 tmp47 [V56 ] ( 0, 0 ) ref -> zero-ref single-def
+; V57 tmp48 [V57,T44] ( 2, 2 ) int -> x1 "Inlining Arg"
+; V58 tmp49 [V58 ] ( 2, 2 ) int -> [fp+0x88] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V59 tmp50 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V60 tmp51 [V60,T25] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V61 tmp52 [V61 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V62 tmp53 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V63 tmp54 [V63 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V64 tmp55 [V64 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V65 tmp56 [V65 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V66 tmp57 [V66 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V67 tmp58 [V67,T05] ( 4, 12.50) int -> x27 "Inline stloc first use temp"
+;* V68 tmp59 [V68 ] ( 0, 0 ) ref -> zero-ref single-def
+; V69 tmp60 [V69 ] ( 2, 2 ) int -> [fp+0x84] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V70 tmp61 [V70 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V71 tmp62 [V71,T26] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V72 tmp63 [V72 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V73 tmp64 [V73 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V74 tmp65 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V75 tmp66 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V76 tmp67 [V76 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V77 tmp68 [V77 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V78 tmp69 [V78 ] ( 0, 0 ) ref -> zero-ref
+; V79 tmp70 [V79 ] ( 2, 16 ) int -> [fp+0x80] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V80 tmp71 [V80 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V81 tmp72 [V81,T02] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" <System.IO.Stream>
+;* V82 tmp73 [V82 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V83 tmp74 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V84 tmp75 [V84 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V85 tmp76 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V86 tmp77 [V86 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V87 tmp78 [V87 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V88 tmp79 [V88 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V89 tmp80 [V89 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V90 tmp81 [V90 ] ( 2, 2 ) int -> [fp+0x7C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V91 tmp82 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V92 tmp83 [V92,T27] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V93 tmp84 [V93 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V94 tmp85 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V95 tmp86 [V95 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V96 tmp87 [V96 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V97 tmp88 [V97 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V98 tmp89 [V98 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V99 tmp90 [V99 ] ( 0, 0 ) ref -> zero-ref single-def
+; V100 tmp91 [V100 ] ( 2, 2 ) int -> [fp+0x78] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V101 tmp92 [V101 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V102 tmp93 [V102,T28] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V103 tmp94 [V103 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V104 tmp95 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V105 tmp96 [V105 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V106 tmp97 [V106 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V107 tmp98 [V107 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V108 tmp99 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V109 tmp100 [V109,T06] ( 4, 12.50) int -> x19 "Inline stloc first use temp"
+;* V110 tmp101 [V110 ] ( 0, 0 ) ref -> zero-ref single-def
+; V111 tmp102 [V111 ] ( 2, 2 ) int -> [fp+0x74] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V112 tmp103 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V113 tmp104 [V113,T29] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V114 tmp105 [V114 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V115 tmp106 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V116 tmp107 [V116 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V117 tmp108 [V117 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V118 tmp109 [V118 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V119 tmp110 [V119 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V120 tmp111 [V120 ] ( 0, 0 ) ref -> zero-ref
+; V121 tmp112 [V121 ] ( 2, 16 ) int -> [fp+0x70] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V122 tmp113 [V122 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V123 tmp114 [V123,T03] ( 3, 24 ) ref -> x0 class-hnd "impAppendStmt" <System.IO.Stream>
+;* V124 tmp115 [V124 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V125 tmp116 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V126 tmp117 [V126 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V127 tmp118 [V127 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V128 tmp119 [V128 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
+;* V129 tmp120 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+;* V130 tmp121 [V130 ] ( 0, 0 ) ref -> zero-ref single-def
+;* V131 tmp122 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V132 tmp123 [V132 ] ( 2, 2 ) int -> [fp+0x6C] do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
+;* V133 tmp124 [V133 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
+; V134 tmp125 [V134,T30] ( 3, 3 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+;* V135 tmp126 [V135 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
+;* V136 tmp127 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V137 tmp128 [V137 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
+;* V138 tmp129 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[uint]>
+;* V139 tmp130 [V139 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
+;* V140 tmp131 [V140 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
+; V141 tmp132 [V141,T45] ( 2, 1 ) byref -> x1 single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V142 tmp133 [V142 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
+;* V143 tmp134 [V143 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
+;* V144 tmp135 [V144 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
+;* V145 tmp136 [V145 ] ( 0, 0 ) byref -> zero-ref single-def "field V30._reference (fldOffset=0x0)" P-INDEP
+;* V146 tmp137 [V146 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
+; V147 tmp138 [V147,T46] ( 2, 1 ) byref -> x1 single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V148 tmp139 [V148,T66] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
+;* V149 tmp140 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;* V150 tmp141 [V150 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
+; V151 tmp142 [V151,T47] ( 2, 1 ) byref -> x1 single-def "field V38._reference (fldOffset=0x0)" P-INDEP
+;* V152 tmp143 [V152 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
+;* V153 tmp144 [V153 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP
+;* V154 tmp145 [V154 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
+;* V155 tmp146 [V155 ] ( 0, 0 ) byref -> zero-ref single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V156 tmp147 [V156 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
+; V157 tmp148 [V157,T48] ( 2, 1 ) byref -> x1 single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V158 tmp149 [V158,T67] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
+;* V159 tmp150 [V159 ] ( 0, 0 ) byref -> zero-ref single-def "field V43._reference (fldOffset=0x0)" P-INDEP
+;* V160 tmp151 [V160 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
+; V161 tmp152 [V161,T49] ( 2, 1 ) byref -> x1 single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V162 tmp153 [V162 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
+;* V163 tmp154 [V163 ] ( 0, 0 ) byref -> zero-ref "field V50._reference (fldOffset=0x0)" P-INDEP
+;* V164 tmp155 [V164 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP
+;* V165 tmp156 [V165 ] ( 0, 0 ) byref -> zero-ref single-def "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V166 tmp157 [V166 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
+; V167 tmp158 [V167,T50] ( 2, 1 ) byref -> x1 single-def "field V52._reference (fldOffset=0x0)" P-INDEP
+;* V168 tmp159 [V168,T68] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
+;* V169 tmp160 [V169 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP
+;* V170 tmp161 [V170 ] ( 0, 0 ) int -> zero-ref "field V53._length (fldOffset=0x8)" P-INDEP
+; V171 tmp162 [V171,T51] ( 2, 1 ) byref -> x1 single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+;* V172 tmp163 [V172 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP
+;* V173 tmp164 [V173 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP
+;* V174 tmp165 [V174 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
+;* V175 tmp166 [V175 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP
+;* V176 tmp167 [V176 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
+; V177 tmp168 [V177,T52] ( 2, 1 ) byref -> x1 single-def "field V63._reference (fldOffset=0x0)" P-INDEP
+;* V178 tmp169 [V178,T69] ( 0, 0 ) int -> zero-ref "field V63._length (fldOffset=0x8)" P-INDEP
+;* V179 tmp170 [V179 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V180 tmp171 [V180 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP
+; V181 tmp172 [V181,T53] ( 2, 1 ) byref -> x1 single-def "field V70._reference (fldOffset=0x0)" P-INDEP
+;* V182 tmp173 [V182 ] ( 0, 0 ) int -> zero-ref "field V70._length (fldOffset=0x8)" P-INDEP
+;* V183 tmp174 [V183 ] ( 0, 0 ) byref -> zero-ref "field V72._reference (fldOffset=0x0)" P-INDEP
+;* V184 tmp175 [V184 ] ( 0, 0 ) int -> zero-ref "field V72._length (fldOffset=0x8)" P-INDEP
+;* V185 tmp176 [V185 ] ( 0, 0 ) byref -> zero-ref single-def "field V73._reference (fldOffset=0x0)" P-INDEP
+;* V186 tmp177 [V186 ] ( 0, 0 ) int -> zero-ref "field V73._length (fldOffset=0x8)" P-INDEP
+; V187 tmp178 [V187,T54] ( 2, 1 ) byref -> x1 single-def "field V74._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp179 [V188,T70] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
+;* V189 tmp180 [V189 ] ( 0, 0 ) byref -> zero-ref single-def "field V75._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp181 [V190 ] ( 0, 0 ) int -> zero-ref "field V75._length (fldOffset=0x8)" P-INDEP
+; V191 tmp182 [V191,T08] ( 2, 8 ) byref -> x1 "field V80._reference (fldOffset=0x0)" P-INDEP
+;* V192 tmp183 [V192 ] ( 0, 0 ) int -> zero-ref "field V80._length (fldOffset=0x8)" P-INDEP
+;* V193 tmp184 [V193 ] ( 0, 0 ) byref -> zero-ref "field V82._reference (fldOffset=0x0)" P-INDEP
+;* V194 tmp185 [V194 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
+;* V195 tmp186 [V195 ] ( 0, 0 ) byref -> zero-ref "field V83._reference (fldOffset=0x0)" P-INDEP
+;* V196 tmp187 [V196 ] ( 0, 0 ) int -> zero-ref "field V83._length (fldOffset=0x8)" P-INDEP
+; V197 tmp188 [V197,T09] ( 2, 8 ) byref -> x1 "field V84._reference (fldOffset=0x0)" P-INDEP
+;* V198 tmp189 [V198,T20] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-INDEP
+;* V199 tmp190 [V199 ] ( 0, 0 ) byref -> zero-ref "field V85._reference (fldOffset=0x0)" P-INDEP
+;* V200 tmp191 [V200 ] ( 0, 0 ) int -> zero-ref "field V85._length (fldOffset=0x8)" P-INDEP
+; V201 tmp192 [V201,T55] ( 2, 1 ) byref -> x1 single-def "field V91._reference (fldOffset=0x0)" P-INDEP
+;* V202 tmp193 [V202 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp194 [V203 ] ( 0, 0 ) byref -> zero-ref "field V93._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp195 [V204 ] ( 0, 0 ) int -> zero-ref "field V93._length (fldOffset=0x8)" P-INDEP
+;* V205 tmp196 [V205 ] ( 0, 0 ) byref -> zero-ref single-def "field V94._reference (fldOffset=0x0)" P-INDEP
+;* V206 tmp197 [V206 ] ( 0, 0 ) int -> zero-ref "field V94._length (fldOffset=0x8)" P-INDEP
+; V207 tmp198 [V207,T56] ( 2, 1 ) byref -> x1 single-def "field V95._reference (fldOffset=0x0)" P-INDEP
+;* V208 tmp199 [V208,T71] ( 0, 0 ) int -> zero-ref "field V95._length (fldOffset=0x8)" P-INDEP
+;* V209 tmp200 [V209 ] ( 0, 0 ) byref -> zero-ref single-def "field V96._reference (fldOffset=0x0)" P-INDEP
+;* V210 tmp201 [V210 ] ( 0, 0 ) int -> zero-ref "field V96._length (fldOffset=0x8)" P-INDEP
+; V211 tmp202 [V211,T57] ( 2, 1 ) byref -> x1 single-def "field V101._reference (fldOffset=0x0)" P-INDEP
+;* V212 tmp203 [V212 ] ( 0, 0 ) int -> zero-ref "field V101._length (fldOffset=0x8)" P-INDEP
+;* V213 tmp204 [V213 ] ( 0, 0 ) byref -> zero-ref "field V103._reference (fldOffset=0x0)" P-INDEP
+;* V214 tmp205 [V214 ] ( 0, 0 ) int -> zero-ref "field V103._length (fldOffset=0x8)" P-INDEP
+;* V215 tmp206 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "field V104._reference (fldOffset=0x0)" P-INDEP
+;* V216 tmp207 [V216 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
+; V217 tmp208 [V217,T58] ( 2, 1 ) byref -> x1 single-def "field V105._reference (fldOffset=0x0)" P-INDEP
+;* V218 tmp209 [V218,T72] ( 0, 0 ) int -> zero-ref "field V105._length (fldOffset=0x8)" P-INDEP
+;* V219 tmp210 [V219 ] ( 0, 0 ) byref -> zero-ref single-def "field V106._reference (fldOffset=0x0)" P-INDEP
+;* V220 tmp211 [V220 ] ( 0, 0 ) int -> zero-ref "field V106._length (fldOffset=0x8)" P-INDEP
+; V221 tmp212 [V221,T59] ( 2, 1 ) byref -> x1 single-def "field V112._reference (fldOffset=0x0)" P-INDEP
+;* V222 tmp213 [V222 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP
+;* V223 tmp214 [V223 ] ( 0, 0 ) byref -> zero-ref "field V114._reference (fldOffset=0x0)" P-INDEP
+;* V224 tmp215 [V224 ] ( 0, 0 ) int -> zero-ref "field V114._length (fldOffset=0x8)" P-INDEP
+;* V225 tmp216 [V225 ] ( 0, 0 ) byref -> zero-ref single-def "field V115._reference (fldOffset=0x0)" P-INDEP
+;* V226 tmp217 [V226 ] ( 0, 0 ) int -> zero-ref "field V115._length (fldOffset=0x8)" P-INDEP
+; V227 tmp218 [V227,T60] ( 2, 1 ) byref -> x1 single-def "field V116._reference (fldOffset=0x0)" P-INDEP
+;* V228 tmp219 [V228,T73] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
+;* V229 tmp220 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "field V117._reference (fldOffset=0x0)" P-INDEP
+;* V230 tmp221 [V230 ] ( 0, 0 ) int -> zero-ref "field V117._length (fldOffset=0x8)" P-INDEP
+; V231 tmp222 [V231,T10] ( 2, 8 ) byref -> x1 "field V122._reference (fldOffset=0x0)" P-INDEP
+;* V232 tmp223 [V232 ] ( 0, 0 ) int -> zero-ref "field V122._length (fldOffset=0x8)" P-INDEP
+;* V233 tmp224 [V233 ] ( 0, 0 ) byref -> zero-ref "field V124._reference (fldOffset=0x0)" P-INDEP
+;* V234 tmp225 [V234 ] ( 0, 0 ) int -> zero-ref "field V124._length (fldOffset=0x8)" P-INDEP
+;* V235 tmp226 [V235 ] ( 0, 0 ) byref -> zero-ref "field V125._reference (fldOffset=0x0)" P-INDEP
+;* V236 tmp227 [V236 ] ( 0, 0 ) int -> zero-ref "field V125._length (fldOffset=0x8)" P-INDEP
+; V237 tmp228 [V237,T11] ( 2, 8 ) byref -> x1 "field V126._reference (fldOffset=0x0)" P-INDEP
+;* V238 tmp229 [V238,T21] ( 0, 0 ) int -> zero-ref "field V126._length (fldOffset=0x8)" P-INDEP
+;* V239 tmp230 [V239 ] ( 0, 0 ) byref -> zero-ref "field V127._reference (fldOffset=0x0)" P-INDEP
+;* V240 tmp231 [V240 ] ( 0, 0 ) int -> zero-ref "field V127._length (fldOffset=0x8)" P-INDEP
+; V241 tmp232 [V241,T61] ( 2, 1 ) byref -> x1 single-def "field V133._reference (fldOffset=0x0)" P-INDEP
+;* V242 tmp233 [V242 ] ( 0, 0 ) int -> zero-ref "field V133._length (fldOffset=0x8)" P-INDEP
+;* V243 tmp234 [V243 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP
+;* V244 tmp235 [V244 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP
+;* V245 tmp236 [V245 ] ( 0, 0 ) byref -> zero-ref single-def "field V136._reference (fldOffset=0x0)" P-INDEP
+;* V246 tmp237 [V246 ] ( 0, 0 ) int -> zero-ref "field V136._length (fldOffset=0x8)" P-INDEP
+; V247 tmp238 [V247,T62] ( 2, 1 ) byref -> x1 single-def "field V137._reference (fldOffset=0x0)" P-INDEP
+;* V248 tmp239 [V248,T74] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP
+;* V249 tmp240 [V249 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP
+;* V250 tmp241 [V250 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP
+; V251 tmp242 [V251,T17] ( 6, 5 ) ref -> x20 single-def "V00.[000..008)"
+; V252 tmp243 [V252,T15] ( 8, 5.50) ref -> x21 single-def "V00.[040..048)"
+; V253 tmp244 [V253,T13] ( 10, 6.50) ref -> x22 single-def "V00.[048..056)"
+; V254 tmp245 [V254,T31] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V255 tmp246 [V255 ] ( 2, 4 ) struct (64) [fp+0x28] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Security.Cryptography.DSAParameters>
+; V256 tmp247 [V256,T14] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V257 tmp248 [V257,T76] ( 3, 0 ) ref -> x0 single-def "argument with side effect"
+; V258 tmp249 [V258,T77] ( 3, 0 ) ref -> x0 single-def "argument with side effect"
+; V259 tmp250 [V259,T32] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V260 tmp251 [V260,T33] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V261 tmp252 [V261,T78] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V262 PSPSym [V262,T65] ( 1, 1 ) long -> [fp+0xA0] do-not-enreg[V] "PSPSym"
+; V263 cse0 [V263,T19] ( 5, 4 ) ref -> x1 "CSE #04: moderate"
+; V264 cse1 [V264,T34] ( 3, 3 ) ref -> x1 "CSE #01: moderate"
+; V265 cse2 [V265,T35] ( 3, 3 ) ref -> x1 "CSE #02: moderate"
+; V266 cse3 [V266,T18] ( 6, 5 ) int -> x0 "CSE #03: moderate"
;
-; Lcl frame size = 104
+; Lcl frame size = 152
G_M53852_IG01:
- stp fp, lr, [sp, #-0xC0]!
- stp x19, x20, [sp, #0x78]
- stp x21, x22, [sp, #0x88]
- stp x23, x24, [sp, #0x98]
- stp x25, x26, [sp, #0xA8]
- str x27, [sp, #0xB8]
+ stp fp, lr, [sp, #-0xF0]!
+ stp x19, x20, [sp, #0xA8]
+ stp x21, x22, [sp, #0xB8]
+ stp x23, x24, [sp, #0xC8]
+ stp x25, x26, [sp, #0xD8]
+ str x27, [sp, #0xE8]
mov fp, sp
add x9, fp, #40
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
- add x1, sp, #192
- str x1, [fp, #0x70] // [V38 PSPSym]
+ add x1, sp, #240
+ str x1, [fp, #0xA0] // [V262 PSPSym]
mov x19, x0
;; size=56 bbWeight=1 PerfScore 11.50
G_M53852_IG02:
ldr x20, [x19]
ldp x21, x22, [x19, #0x28]
cbz x20, G_M53852_IG44
ldr w0, [x20, #0x08]
cbz w0, G_M53852_IG44
ldr x1, [x19, #0x08]
cbz x1, G_M53852_IG44
ldr w1, [x1, #0x08]
cmp w1, #20
bne G_M53852_IG44
ldr x1, [x19, #0x10]
cbz x1, G_M53852_IG45
ldr w1, [x1, #0x08]
cmp w1, w0
bne G_M53852_IG45
ldr x1, [x19, #0x20]
cbz x1, G_M53852_IG04
;; size=68 bbWeight=1 PerfScore 33.00
G_M53852_IG03:
ldr w2, [x1, #0x08]
cmp w2, w0
bge G_M53852_IG46
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M53852_IG04:
ldr x2, [x19, #0x18]
cbz x2, G_M53852_IG06
;; size=8 bbWeight=1 PerfScore 4.00
G_M53852_IG05:
ldr x2, [x19, #0x18]
ldr w2, [x2, #0x08]
cmp w2, w0
bne G_M53852_IG47
;; size=16 bbWeight=0.50 PerfScore 3.75
G_M53852_IG06:
cbz x22, G_M53852_IG08
;; size=4 bbWeight=1 PerfScore 1.00
G_M53852_IG07:
ldr w2, [x22, #0x08]
cmp w2, #20
bne G_M53852_IG48
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M53852_IG08:
cbz x21, G_M53852_IG10
;; size=4 bbWeight=1 PerfScore 1.00
G_M53852_IG09:
ldr w2, [x21, #0x08]
cmp w2, #0
cset x2, ne
b G_M53852_IG11
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M53852_IG10:
mov w2, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M53852_IG11:
uxtb w23, w2
cbz w23, G_M53852_IG13
;; size=8 bbWeight=1 PerfScore 1.50
G_M53852_IG12:
ldr w2, [x21, #0x08]
cmp w2, #20
bne G_M53852_IG49
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M53852_IG13:
lsl w24, w0, #3
cbz x1, G_M53852_IG15
;; size=8 bbWeight=1 PerfScore 2.00
G_M53852_IG14:
ldr w0, [x1, #0x08]
lsl w25, w0, #3
b G_M53852_IG16
;; size=12 bbWeight=0.50 PerfScore 2.50
G_M53852_IG15:
mov w25, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M53852_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
str x26, [fp, #0x20] // [V04 loc3]
;; size=48 bbWeight=1 PerfScore 10.00
G_M53852_IG17:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x0, [x14]
ldrb w14, [x26, #0x29]
cbz w14, G_M53852_IG40
add x14, x27, #8
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
add x14, x27, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x27, #0x18]
ldr w1, [x0, #0x20]
mov w2, #0xD1FFAB1E
cmp w1, w2
bne G_M53852_IG20
;; size=88 bbWeight=1 PerfScore 21.50
G_M53852_IG18:
ldr x0, [x0, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x14, le
;; size=28 bbWeight=0.50 PerfScore 7.00
G_M53852_IG19:
strb w14, [x27, #0x19]
mov x26, x27
str x26, [fp, #0x18] // [V05 loc4]
b G_M53852_IG21
;; size=16 bbWeight=1 PerfScore 3.50
G_M53852_IG20:
mov w14, wzr
b G_M53852_IG19
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M53852_IG21:
mov x14, x19
mov x15, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
add x14, x19, #40
mov x15, x21
bl CORINFO_HELP_CHECKED_ASSIGN_REF
add x14, x19, #48
mov x15, x22
bl CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=36 bbWeight=1 PerfScore 6.00
G_M53852_IG22:
ldp x0, x3, [x19]
stp x0, x3, [fp, #0x28]
ldp x0, x3, [x19, #0x10]
stp x0, x3, [fp, #0x38]
ldp x0, x3, [x19, #0x20]
stp x0, x3, [fp, #0x48]
ldp x0, x3, [x19, #0x30]
stp x0, x3, [fp, #0x58]
;; size=32 bbWeight=1 PerfScore 20.00
G_M53852_IG23:
- add x0, fp, #40 // [V31 tmp22]
- add x3, fp, #104 // [V06 loc5]
+ add x0, fp, #40 // [V255 tmp246]
+ add x3, fp, #152 // [V06 loc5]
mov x1, x27
mov w2, w23
movz x4, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteKeyBlobHeader(System.Security.Cryptography.DSAParameters,System.IO.BinaryWriter,ubyte,byref)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ldrb w0, [fp, #0x68] // [V06 loc5]
+ ldrb w0, [fp, #0x98] // [V06 loc5]
cbz w0, G_M53852_IG31
;; size=44 bbWeight=1 PerfScore 10.50
G_M53852_IG24:
movz w0, #0xD1FFAB1E
movk w0, #0xD1FFAB1E LSL #16
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
cmp w23, #0
csel w1, w0, w1, ne
mov x0, x27
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr x2, [x2, #0x38]
blr x2
- mov x0, x27
- mov w1, w24
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w24, [fp, #0x94] // [V26 tmp17]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #148 // [V26 tmp17]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
ldr x1, [x19, #0x08]
ldr w1, [x1, #0x08]
lsl w1, w1, #3
- mov x0, x27
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- mov x0, x27
- mov w1, w25
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x90] // [V37 tmp28]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #144 // [V37 tmp28]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
+ str w25, [fp, #0x8C] // [V47 tmp38]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #140 // [V47 tmp38]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
cbz w23, G_M53852_IG25
ldr w1, [x21, #0x08]
lsl w1, w1, #3
- mov x0, x27
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- ;; size=180 bbWeight=0.50 PerfScore 24.50
+ str w1, [fp, #0x88] // [V58 tmp49]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #136 // [V58 tmp49]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
+ ;; size=204 bbWeight=0.50 PerfScore 42.00
G_M53852_IG25:
cbz x22, G_M53852_IG26
- ldr w0, [x22, #0x08]
- cbnz w0, G_M53852_IG28
+ ldr w1, [x22, #0x08]
+ cbnz w1, G_M53852_IG28
;; size=12 bbWeight=0.50 PerfScore 2.50
G_M53852_IG26:
- mov x0, x27
movn w1, #0
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x84] // [V69 tmp60]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #132 // [V69 tmp60]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
mov w27, wzr
- ;; size=32 bbWeight=0.50 PerfScore 3.50
+ ;; size=40 bbWeight=0.50 PerfScore 8.00
G_M53852_IG27:
- mov x0, x26
movn w1, #0
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x80] // [V79 tmp70]
+ ldr x0, [x26, #0x08]
+ add x1, fp, #128 // [V79 tmp70]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
add w27, w27, #4
cmp w27, #20
blt G_M53852_IG27
b G_M53852_IG29
- ;; size=44 bbWeight=4 PerfScore 38.00
+ ;; size=52 bbWeight=4 PerfScore 74.00
G_M53852_IG28:
ldr w1, [x19, #0x38]
- mov x0, x27
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x7C] // [V90 tmp81]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #124 // [V90 tmp81]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
mov x0, x27
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=56 bbWeight=0.50 PerfScore 7.75
+ ;; size=64 bbWeight=0.50 PerfScore 12.25
G_M53852_IG29:
mov x0, x26
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x19, #0x08]
mov x0, x26
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x19, #0x10]
mov x0, x26
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w25, G_M53852_IG30
ldr x1, [x19, #0x20]
mov x0, x26
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=116 bbWeight=0.50 PerfScore 17.25
G_M53852_IG30:
ldr x1, [x19, #0x18]
mov x0, x26
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w23, G_M53852_IG37
mov x0, x26
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M53852_IG37
;; size=64 bbWeight=0.50 PerfScore 8.75
G_M53852_IG31:
movz w0, #0xD1FFAB1E
movk w0, #0xD1FFAB1E LSL #16
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
cmp w23, #0
csel w1, w0, w1, ne
mov x0, x27
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr x2, [x2, #0x38]
blr x2
- mov x0, x27
- mov w1, w24
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w24, [fp, #0x78] // [V100 tmp91]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #120 // [V100 tmp91]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
mov x0, x27
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x19, #0x08]
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x19, #0x10]
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w23, G_M53852_IG32
mov x0, x27
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M53852_IG33
- ;; size=200 bbWeight=0.50 PerfScore 25.75
+ ;; size=204 bbWeight=0.50 PerfScore 30.00
G_M53852_IG32:
ldr x1, [x19, #0x18]
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=28 bbWeight=0.50 PerfScore 4.50
G_M53852_IG33:
cbz x22, G_M53852_IG34
- ldr w0, [x22, #0x08]
- cbnz w0, G_M53852_IG36
+ ldr w1, [x22, #0x08]
+ cbnz w1, G_M53852_IG36
;; size=12 bbWeight=0.50 PerfScore 2.50
G_M53852_IG34:
- mov x0, x27
movn w1, #0
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x74] // [V111 tmp102]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #116 // [V111 tmp102]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
mov w19, wzr
- ;; size=32 bbWeight=0.50 PerfScore 3.50
+ ;; size=40 bbWeight=0.50 PerfScore 8.00
G_M53852_IG35:
- mov x0, x26
movn w1, #0
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(uint):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x70] // [V121 tmp112]
+ ldr x0, [x26, #0x08]
+ add x1, fp, #112 // [V121 tmp112]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
add w19, w19, #4
cmp w19, #20
blt G_M53852_IG35
b G_M53852_IG37
- ;; size=44 bbWeight=4 PerfScore 38.00
+ ;; size=52 bbWeight=4 PerfScore 74.00
G_M53852_IG36:
ldr w1, [x19, #0x38]
- mov x0, x27
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ str w1, [fp, #0x6C] // [V132 tmp123]
+ ldr x0, [x27, #0x08]
+ add x1, fp, #108 // [V132 tmp123]
+ mov w2, #4
+ ldr x3, [x0]
+ ldr x3, [x3, #0x60]
+ ldr x3, [x3, #0x38]
+ blr x3
mov x0, x27
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:WriteReversed(System.IO.BinaryWriter,ubyte[])
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=56 bbWeight=0.50 PerfScore 7.75
+ ;; size=64 bbWeight=0.50 PerfScore 12.25
G_M53852_IG37:
ldr x0, [x26, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [fp, #0x20] // [V04 loc3]
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:ToArray():ubyte[]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x19, x0
;; size=48 bbWeight=1 PerfScore 21.00
G_M53852_IG38:
ldrb w0, [x26, #0x18]
cbz w0, G_M53852_IG41
;; size=8 bbWeight=1 PerfScore 4.00
G_M53852_IG39:
ldr x0, [x26, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M53852_IG42
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M53852_IG40:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x26, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x26
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x26
bl CORINFO_HELP_THROW
;; size=76 bbWeight=0 PerfScore 0.00
G_M53852_IG41:
ldr x0, [x26, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M53852_IG42:
ldr x0, [fp, #0x20] // [V04 loc3]
movz x1, #0xD1FFAB1E // code for System.IO.Stream:Dispose():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x19
;; size=28 bbWeight=1 PerfScore 8.00
G_M53852_IG43:
- ldr x27, [sp, #0xB8]
- ldp x25, x26, [sp, #0xA8]
- ldp x23, x24, [sp, #0x98]
- ldp x21, x22, [sp, #0x88]
- ldp x19, x20, [sp, #0x78]
- ldp fp, lr, [sp], #0xC0
+ ldr x27, [sp, #0xE8]
+ ldp x25, x26, [sp, #0xD8]
+ ldp x23, x24, [sp, #0xC8]
+ ldp x21, x22, [sp, #0xB8]
+ ldp x19, x20, [sp, #0xA8]
+ ldp fp, lr, [sp], #0xF0
ret lr
;; size=28 bbWeight=1 PerfScore 8.00
G_M53852_IG44:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG45:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG46:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG47:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG48:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG49:
movz x0, #0xD1FFAB1E // code for System.Security.Cryptography.CapiHelper:GetBadDataException():System.Security.Cryptography.CryptographicException
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
bl CORINFO_HELP_THROW
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M53852_IG50:
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, #192
+ add x3, fp, #240
str x3, [sp, #0x10]
;; size=32 bbWeight=0 PerfScore 0.00
G_M53852_IG51:
ldr x26, [fp, #0x18] // [V05 loc4]
ldrb w0, [x26, #0x18]
cbz w0, G_M53852_IG52
ldr x0, [x26, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M53852_IG53
;; size=36 bbWeight=0 PerfScore 0.00
G_M53852_IG52:
ldr x0, [x26, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0 PerfScore 0.00
G_M53852_IG53:
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
G_M53852_IG54:
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, #192
+ add x3, fp, #240
str x3, [sp, #0x10]
;; size=32 bbWeight=0 PerfScore 0.00
G_M53852_IG55:
ldr x0, [fp, #0x20] // [V04 loc3]
movz x1, #0xD1FFAB1E // code for System.IO.Stream:Dispose():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=24 bbWeight=0 PerfScore 0.00
G_M53852_IG56:
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 2000, prolog size 56, PerfScore 388.00, instruction count 500, allocated bytes for code 2000 (MethodHash=e0822da3) for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (FullOpts)
+; Total bytes of code 2076, prolog size 56, PerfScore 499.75, instruction count 519, allocated bytes for code 2076 (MethodHash=e0822da3) for method System.Security.Cryptography.CapiHelper:ToKeyBlob(System.Security.Cryptography.DSAParameters):ubyte[] (FullOpts) Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/5b8ad801d2481f88d1d4fd05f7a8dfea |
Top method improvements-68 (-3.108% of base) - System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection ; Assembly listing for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (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; 21 single block inlinees; 7 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T05] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-; V01 arg1 [V01,T04] ( 4, 3.94) int -> x20 single-def
+; V00 arg0 [V00,T06] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
+; V01 arg1 [V01,T05] ( 4, 3.94) int -> x20 single-def
; V02 arg2 [V02,T01] ( 17, 9.50) ref -> x19 class-hnd single-def <System.Object>
-; V03 arg3 [V03,T06] ( 3, 3 ) ubyte -> x22 single-def
+; V03 arg3 [V03,T07] ( 3, 3 ) ubyte -> x22 single-def
;* V04 loc0 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-; V05 loc1 [V05,T38] ( 2, 0 ) ref -> [fp+0x10] class-hnd exact EH-live single-def <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
+; V05 loc1 [V05,T39] ( 2, 0 ) ref -> [fp+0x18] class-hnd exact EH-live single-def <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
;* V06 loc2 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
;* V07 loc3 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V08 loc4 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V09 loc5 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V10 loc6 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
-; V11 loc7 [V11,T22] ( 3, 1.50) ref -> x19 class-hnd exact single-def <System.String>
-; V12 loc8 [V12,T13] ( 4, 2 ) ref -> x0 class-hnd single-def <ubyte[]>
-; V13 loc9 [V13 ] ( 3, 1.50) struct (16) [fp+0x18] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
+; V11 loc7 [V11,T23] ( 3, 1.50) ref -> x19 class-hnd exact single-def <System.String>
+; V12 loc8 [V12,T14] ( 4, 2 ) ref -> x0 class-hnd single-def <ubyte[]>
+; V13 loc9 [V13 ] ( 3, 1.50) struct (16) [fp+0x20] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
;* V14 loc10 [V14 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret <System.Numerics.BigInteger>
;* V15 loc11 [V15 ] ( 0, 0 ) struct ( 8) zero-ref <System.DateTime>
;* V16 loc12 [V16 ] ( 0, 0 ) struct ( 8) zero-ref <System.DateTime>
;* V17 loc13 [V17 ] ( 0, 0 ) struct ( 8) zero-ref <System.DateTime>
;* V18 loc14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V19 loc15 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V20 loc16 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V21 loc17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
;* V22 loc18 [V22 ] ( 0, 0 ) int -> zero-ref
;* V23 loc19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
;# V24 OutArgs [V24 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V25 tmp1 [V25,T02] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.X509Certificate2Collection>
-; V26 tmp2 [V26,T34] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
+; V26 tmp2 [V26,T35] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
;* V27 tmp3 [V27 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-; V28 tmp4 [V28,T03] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
-; V29 tmp5 [V29,T00] ( 21, 27 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
+; V28 tmp4 [V28,T04] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.ArrayList>
+; V29 tmp5 [V29,T00] ( 21, 27 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.X509Certificates.OpenSslCertificateFinder>
;* V30 tmp6 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V31 tmp7 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V32 tmp8 [V32,T10] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V33 tmp9 [V33,T35] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V34 tmp10 [V34,T23] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
-; V35 tmp11 [V35,T07] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+; V32 tmp8 [V32,T11] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
+; V33 tmp9 [V33,T36] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V34 tmp10 [V34,T24] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+; V35 tmp11 [V35,T08] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
;* V36 tmp12 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
;* V37 tmp13 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
;* V38 tmp14 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V39 tmp15 [V39,T11] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V40 tmp16 [V40,T36] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V41 tmp17 [V41,T24] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
-; V42 tmp18 [V42,T08] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+; V39 tmp15 [V39,T12] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
+; V40 tmp16 [V40,T37] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V41 tmp17 [V41,T25] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+; V42 tmp18 [V42,T09] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
;* V43 tmp19 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
;* V44 tmp20 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
;* V45 tmp21 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.String>
-; V46 tmp22 [V46,T12] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
-; V47 tmp23 [V47,T37] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V48 tmp24 [V48,T25] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
-; V49 tmp25 [V49,T09] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
+; V46 tmp22 [V46,T13] ( 6, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.String>
+; V47 tmp23 [V47,T38] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V48 tmp24 [V48,T26] ( 3, 1.50) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+; V49 tmp25 [V49,T10] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.Oid>
;* V50 tmp26 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Security.Cryptography.Oid>
;* V51 tmp27 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.OrdinalIgnoreCaseComparer>
-; V52 tmp28 [V52 ] ( 2, 1 ) ref -> [fp+0x18] do-not-enreg[X] addr-exposed "field V13._bits (fldOffset=0x0)" P-DEP
-; V53 tmp29 [V53 ] ( 2, 1 ) int -> [fp+0x20] do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x8)" P-DEP
-; V54 tmp30 [V54,T28] ( 2, 1 ) ref -> x3 "field V14._bits (fldOffset=0x0)" P-INDEP
-; V55 tmp31 [V55,T29] ( 2, 1 ) int -> x4 "field V14._sign (fldOffset=0x8)" P-INDEP
-; V56 tmp32 [V56,T30] ( 2, 1 ) long -> x1 "field V15._dateData (fldOffset=0x0)" P-INDEP
-; V57 tmp33 [V57,T31] ( 2, 1 ) long -> x1 "field V16._dateData (fldOffset=0x0)" P-INDEP
-; V58 tmp34 [V58,T32] ( 2, 1 ) long -> x1 "field V17._dateData (fldOffset=0x0)" P-INDEP
+; V52 tmp28 [V52 ] ( 2, 1 ) ref -> [fp+0x20] do-not-enreg[X] addr-exposed "field V13._bits (fldOffset=0x0)" P-DEP
+; V53 tmp29 [V53 ] ( 2, 1 ) int -> [fp+0x28] do-not-enreg[X] addr-exposed "field V13._sign (fldOffset=0x8)" P-DEP
+; V54 tmp30 [V54,T29] ( 2, 1 ) ref -> x3 "field V14._bits (fldOffset=0x0)" P-INDEP
+; V55 tmp31 [V55,T30] ( 2, 1 ) int -> x4 "field V14._sign (fldOffset=0x8)" P-INDEP
+; V56 tmp32 [V56,T31] ( 2, 1 ) long -> x1 "field V15._dateData (fldOffset=0x0)" P-INDEP
+; V57 tmp33 [V57,T32] ( 2, 1 ) long -> x1 "field V16._dateData (fldOffset=0x0)" P-INDEP
+; V58 tmp34 [V58,T33] ( 2, 1 ) long -> x1 "field V17._dateData (fldOffset=0x0)" P-INDEP
;* V59 tmp35 [V59 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
;* V60 tmp36 [V60 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V61 tmp37 [V61,T26] ( 3, 1.50) byref -> x1 "field V30._reference (fldOffset=0x0)" P-INDEP
-; V62 tmp38 [V62,T27] ( 3, 1.50) int -> x2 "field V30._length (fldOffset=0x8)" P-INDEP
-; V63 tmp39 [V63,T39] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V64 tmp40 [V64,T14] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V65 tmp41 [V65,T21] ( 2, 2 ) int -> x1 "argument with side effect"
-; V66 tmp42 [V66,T40] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V67 tmp43 [V67,T41] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V68 tmp44 [V68,T42] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V69 tmp45 [V69,T15] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V70 tmp46 [V70,T16] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V71 tmp47 [V71,T17] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V72 tmp48 [V72,T18] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V73 tmp49 [V73,T19] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V74 tmp50 [V74,T20] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V75 PSPSym [V75,T33] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
+; V61 tmp37 [V61,T27] ( 3, 1.50) byref -> x1 "field V30._reference (fldOffset=0x0)" P-INDEP
+; V62 tmp38 [V62,T28] ( 3, 1.50) int -> x2 "field V30._length (fldOffset=0x8)" P-INDEP
+; V63 tmp39 [V63,T40] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V64 tmp40 [V64,T15] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V65 tmp41 [V65,T22] ( 2, 2 ) int -> x1 "argument with side effect"
+; V66 tmp42 [V66,T41] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V67 tmp43 [V67,T42] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V68 tmp44 [V68,T43] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V69 tmp45 [V69,T16] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V70 tmp46 [V70,T17] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V71 tmp47 [V71,T18] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V72 tmp48 [V72,T19] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V73 tmp49 [V73,T20] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V74 tmp50 [V74,T21] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+; V75 PSPSym [V75,T34] ( 1, 1 ) long -> [fp+0x30] do-not-enreg[V] "PSPSym"
+; V76 cse0 [V76,T03] ( 13, 7.50) long -> x24 "CSE #01: aggressive"
;
-; Lcl frame size = 32
+; Lcl frame size = 40
G_M11167_IG01:
- stp fp, lr, [sp, #-0x60]!
- stp x19, x20, [sp, #0x30]
- stp x21, x22, [sp, #0x40]
- stp x23, x24, [sp, #0x50]
+ stp fp, lr, [sp, #-0x70]!
+ stp x19, x20, [sp, #0x38]
+ stp x21, x22, [sp, #0x48]
+ stp x23, x24, [sp, #0x58]
+ str x25, [sp, #0x68]
mov fp, sp
- str xzr, [fp, #0x18] // [V13 loc9]
- add x4, sp, #96
- str x4, [fp, #0x28] // [V75 PSPSym]
+ str xzr, [fp, #0x20] // [V13 loc9]
+ add x4, sp, #112
+ str x4, [fp, #0x30] // [V75 PSPSym]
mov x21, x0
mov w20, w1
mov x19, x2
mov w22, w3
- ;; size=48 bbWeight=1 PerfScore 9.00
+ ;; size=52 bbWeight=1 PerfScore 10.00
G_M11167_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x24, #0xD1FFAB1E
+ movk x24, #0xD1FFAB1E LSL #16
+ movk x24, #0xD1FFAB1E LSL #32
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- mov w1, #60
+ mov w1, #59
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
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
+ add x14, x25, #8
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
- mov x15, x24
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
+ mov x25, x0
+ add x14, x25, #8
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- add x14, x24, #16
+ add x14, x25, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- strb w22, [x24, #0x18]
- str x24, [fp, #0x10] // [V05 loc1]
- ;; size=148 bbWeight=1 PerfScore 26.00
+ strb w22, [x25, #0x18]
+ str x25, [fp, #0x18] // [V05 loc1]
+ ;; size=152 bbWeight=1 PerfScore 26.50
G_M11167_IG03:
cmp w20, #14
bhi G_M11167_IG28
;; size=8 bbWeight=1 PerfScore 1.50
G_M11167_IG04:
mov w1, w20
adr x0, [@RWD00]
ldr w0, [x0, x1, LSL #2]
adr x2, [G_M11167_IG02]
add x0, x0, x2
br x0
;; size=24 bbWeight=0.94 PerfScore 5.62
G_M11167_IG05:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByThumbprint(ubyte[]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=88 bbWeight=0.50 PerfScore 10.25
+ ;; size=80 bbWeight=0.50 PerfScore 9.75
G_M11167_IG06:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectName(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=68 bbWeight=0.50 PerfScore 7.50
+ ;; size=60 bbWeight=0.50 PerfScore 7.00
G_M11167_IG07:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectDistinguishedName(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=68 bbWeight=0.50 PerfScore 7.50
+ ;; size=60 bbWeight=0.50 PerfScore 7.00
G_M11167_IG08:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByIssuerName(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=68 bbWeight=0.50 PerfScore 7.50
+ ;; size=60 bbWeight=0.50 PerfScore 7.00
G_M11167_IG09:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByIssuerDistinguishedName(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=68 bbWeight=0.50 PerfScore 7.50
+ ;; size=60 bbWeight=0.50 PerfScore 7.00
G_M11167_IG10:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x0, G_M11167_IG11
mov x1, xzr
mov w2, wzr
b G_M11167_IG12
- ;; size=76 bbWeight=0.50 PerfScore 8.25
+ ;; size=68 bbWeight=0.50 PerfScore 7.75
G_M11167_IG11:
add x1, x0, #16
ldr w2, [x0, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M11167_IG12:
- add x0, fp, #24 // [V13 loc9]
+ add x0, fp, #32 // [V13 loc9]
mov w3, #1
mov w4, #1
movz x5, #0xD1FFAB1E // code for System.Numerics.BigInteger:.ctor(System.ReadOnlySpan`1[ubyte],ubyte,ubyte):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x3, x0
mov w4, w1
- ldr x1, [fp, #0x18] // [V52 tmp28]
- ldr w2, [fp, #0x20] // [V53 tmp29]
- mov x0, x24
+ ldr x1, [fp, #0x20] // [V52 tmp28]
+ ldr w2, [fp, #0x28] // [V53 tmp29]
+ mov x0, x25
movz x5, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySerialNumber(System.Numerics.BigInteger,System.Numerics.BigInteger):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M11167_IG32
;; size=100 bbWeight=0.50 PerfScore 12.50
G_M11167_IG13:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeValid(System.DateTime):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M11167_IG14:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeNotYetValid(System.DateTime):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M11167_IG15:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.DateTime](System.Object):System.DateTime
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTimeExpired(System.DateTime):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M11167_IG16:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByTemplateName(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=68 bbWeight=0.50 PerfScore 7.50
+ ;; size=60 bbWeight=0.50 PerfScore 7.00
G_M11167_IG17:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
ldr w0, [x19, #0x08]
cbz w0, G_M11167_IG29
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x24, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
- ldr x1, [x20, #0x08]
+ ldr x1, [x24, #0x08]
mov x2, x19
movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbnz w0, G_M11167_IG19
- ldr x1, [x20, #0x08]
- ;; size=144 bbWeight=0.50 PerfScore 19.25
+ ldr x1, [x24, #0x08]
+ ;; size=136 bbWeight=0.50 PerfScore 18.75
G_M11167_IG18:
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByApplicationPolicy(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M11167_IG19:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x19
b G_M11167_IG18
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M11167_IG20:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
ldr w0, [x19, #0x08]
cbz w0, G_M11167_IG30
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x24, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
- ldr x1, [x20, #0x08]
+ ldr x1, [x24, #0x08]
mov x2, x19
movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbnz w0, G_M11167_IG22
- ldr x1, [x20, #0x08]
- ;; size=144 bbWeight=0.50 PerfScore 19.25
+ ldr x1, [x24, #0x08]
+ ;; size=136 bbWeight=0.50 PerfScore 18.75
G_M11167_IG21:
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByCertificatePolicy(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M11167_IG22:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x19
b G_M11167_IG21
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M11167_IG23:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
ldr w0, [x19, #0x08]
cbz w0, G_M11167_IG31
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x24, x0
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.Oid:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
- ldr x1, [x20, #0x08]
+ ldr x1, [x24, #0x08]
mov x2, x19
movz x3, #0xD1FFAB1E // code for System.OrdinalIgnoreCaseComparer:Equals(System.String,System.String):ubyte:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbnz w0, G_M11167_IG25
- ldr x1, [x20, #0x08]
- ;; size=144 bbWeight=0.50 PerfScore 19.25
+ ldr x1, [x24, #0x08]
+ ;; size=136 bbWeight=0.50 PerfScore 18.75
G_M11167_IG24:
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByExtension(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M11167_IG25:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ValidateOidValue(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x19
b G_M11167_IG24
;; size=32 bbWeight=0.50 PerfScore 3.75
G_M11167_IG26:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedX509KeyUsage(System.Object):int
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w1, w0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindByKeyUsage(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
;; size=56 bbWeight=0.50 PerfScore 6.75
G_M11167_IG27:
mov x1, x19
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.FindPal:ConfirmedCast[System.__Canon](System.Object):System.__Canon
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x1, #0xD1FFAB1E // code for Internal.Cryptography.Helpers:LaxDecodeHexString(System.String):ubyte[]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- mov x0, x24
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:FindBySubjectKeyIdentifier(ubyte[]):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M11167_IG32
- ;; size=88 bbWeight=0.50 PerfScore 10.25
+ ;; size=80 bbWeight=0.50 PerfScore 9.75
G_M11167_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_X509_InvalidFindType():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
;; size=76 bbWeight=0 PerfScore 0.00
G_M11167_IG29:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_InvalidOidValue():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
;; size=76 bbWeight=0 PerfScore 0.00
G_M11167_IG30:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_InvalidOidValue():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
;; size=76 bbWeight=0 PerfScore 0.00
G_M11167_IG31:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_InvalidOidValue():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M11167_IG32:
- mov x0, x24
+ mov x0, x25
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:Dispose():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x23
;; size=28 bbWeight=1 PerfScore 6.50
G_M11167_IG33:
- ldp x23, x24, [sp, #0x50]
- ldp x21, x22, [sp, #0x40]
- ldp x19, x20, [sp, #0x30]
- ldp fp, lr, [sp], #0x60
+ ldr x25, [sp, #0x68]
+ ldp x23, x24, [sp, #0x58]
+ ldp x21, x22, [sp, #0x48]
+ ldp x19, x20, [sp, #0x38]
+ ldp fp, lr, [sp], #0x70
ret lr
- ;; size=20 bbWeight=1 PerfScore 5.00
+ ;; size=24 bbWeight=1 PerfScore 7.00
G_M11167_IG34:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #96
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #112
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M11167_IG35:
- ldr x0, [fp, #0x10] // [V05 loc1]
+ ldr x0, [fp, #0x18] // [V05 loc1]
movz x1, #0xD1FFAB1E // code for System.Security.Cryptography.X509Certificates.ManagedCertificateFinder:Dispose():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=24 bbWeight=0 PerfScore 0.00
G_M11167_IG36:
- ldp x23, x24, [sp, #0x40]
- ldp x21, x22, [sp, #0x30]
- ldp x19, x20, [sp, #0x20]
+ 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=20 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
RWD00 dd G_M11167_IG05 - G_M11167_IG02
dd G_M11167_IG06 - G_M11167_IG02
dd G_M11167_IG07 - G_M11167_IG02
dd G_M11167_IG08 - G_M11167_IG02
dd G_M11167_IG09 - G_M11167_IG02
dd G_M11167_IG10 - G_M11167_IG02
dd G_M11167_IG13 - G_M11167_IG02
dd G_M11167_IG14 - G_M11167_IG02
dd G_M11167_IG15 - G_M11167_IG02
dd G_M11167_IG16 - G_M11167_IG02
dd G_M11167_IG17 - G_M11167_IG02
dd G_M11167_IG20 - G_M11167_IG02
dd G_M11167_IG23 - G_M11167_IG02
dd G_M11167_IG26 - G_M11167_IG02
dd G_M11167_IG27 - G_M11167_IG02
-; Total bytes of code 2188, prolog size 48, PerfScore 240.62, instruction count 547, allocated bytes for code 2188 (MethodHash=a227d460) for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts)
+; Total bytes of code 2120, prolog size 52, PerfScore 238.62, instruction count 530, allocated bytes for code 2120 (MethodHash=a227d460) for method System.Security.Cryptography.X509Certificates.FindPal:FindFromCollection(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,int,System.Object,ubyte):System.Security.Cryptography.X509Certificates.X509Certificate2Collection (FullOpts) Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/a68fffae93165051222d3cb10aa85244 |
You can ignore the |
Build completed in 35 minutes.
dotnet/runtime#99775
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: