28 (1.48 % of base) - System.Formats.Tar.TarHeader+d__68:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarHeader+<ReadGnuLongPathDataBlockAsync>d__68:MoveNext():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; 38 single block inlinees; 19 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 30, 28 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T59] ( 2, 2 ) int -> x1
; V02 loc1 [V02,T06] ( 8, 8 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarHeader>
; V03 loc2 [V03 ] ( 10, 10 ) struct (16) [fp+0x88] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Threading.Tasks.ValueTask>
;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V06 loc5 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V09 tmp2 [V09 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V10 tmp3 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V11 tmp4 [V11,T73] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V12 tmp5 [V12,T25] ( 3, 4 ) byref -> x1 single-def "Inlining Arg"
;* V13 tmp6 [V13,T69] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V14 tmp7 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V15 tmp8 [V15,T07] ( 4, 8 ) ref -> x15 class-hnd single-def "Inlining Arg" <ubyte[]>
; V16 tmp9 [V16,T10] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V17 tmp10 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V18 tmp11 [V18,T14] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V19 tmp12 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
;* V20 tmp13 [V20 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]>
;* V21 tmp14 [V21 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
; V22 tmp15 [V22 ] ( 3, 6 ) struct (16) [fp+0x78] do-not-enreg[SBR] multireg-ret must-init "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[int]>
; V23 tmp16 [V23 ] ( 11, 11 ) struct (80) [fp+0x28] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.IO.Stream+<ReadAtLeastAsyncCore>d__46>
;* V24 tmp17 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V25 tmp18 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]>
;* V26 tmp19 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V28 tmp21 [V28 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V29 tmp22 [V29 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V30 tmp23 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V31 tmp24 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V32 tmp25 [V32 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V33 tmp26 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Object>
; V34 tmp27 [V34,T30] ( 2, 4 ) short -> x1 "Inlining Arg"
;* V35 tmp28 [V35 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V36 tmp29 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V37 tmp30 [V37,T19] ( 4, 4 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V38 tmp31 [V38,T35] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V40 tmp33 [V40 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V41 tmp34 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V42 tmp35 [V42 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V43 tmp36 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V44 tmp37 [V44,T20] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V45 tmp38 [V45,T21] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V47 tmp40 [V47 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V48 tmp41 [V48,T12] ( 6, 6 ) byref -> x21 "Inline stloc first use temp"
; V49 tmp42 [V49,T13] ( 6, 6 ) int -> x22 "Inline stloc first use temp"
; V50 tmp43 [V50,T08] ( 4, 8 ) byref -> x20 single-def "Inlining Arg"
; V51 tmp44 [V51,T11] ( 7, 7 ) ref -> x1 class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V52 tmp45 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V53 tmp46 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V54 tmp47 [V54 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V55 tmp48 [V55 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
; V56 tmp49 [V56,T44] ( 3, 3 ) long -> x1 "Inline stloc first use temp"
; V57 tmp50 [V57,T45] ( 3, 3 ) int -> x2 "Inline stloc first use temp"
;* V58 tmp51 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V59 tmp52 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V60 tmp53 [V60,T26] ( 2, 4 ) byref -> x2 single-def "Inlining Arg"
;* V61 tmp54 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V62 tmp55 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V63 tmp56 [V63 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V64 tmp57 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V65 tmp58 [V65 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V66 tmp59 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
; V67 tmp60 [V67,T22] ( 4, 4 ) ref -> x15 class-hnd "Inline return value spill temp" <System.String>
;* V68 tmp61 [V68 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V69 tmp62 [V69,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V70 tmp63 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" <System.String>
;* V71 tmp64 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V72 tmp65 [V72 ] ( 2, 2 ) byref -> [fp+0x20] must-init pinned "Inline stloc first use temp"
; V73 tmp66 [V73,T36] ( 3, 3 ) byref -> x22 "Inline return value spill temp"
;* V74 tmp67 [V74 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V75 tmp68 [V75,T37] ( 3, 3 ) ref -> x15 class-hnd "Inline return value spill temp" <System.String>
;* V76 tmp69 [V76 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V77 tmp70 [V77 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V78 tmp71 [V78,T23] ( 4, 4 ) int -> x23 "Inline stloc first use temp"
; V79 tmp72 [V79,T09] ( 4, 8 ) ref -> x24 class-hnd exact single-def "dup spill" <System.String>
; V80 tmp73 [V80 ] ( 4, 4 ) byref -> [fp+0x18] must-init pinned "Inline stloc first use temp"
;* V81 tmp74 [V81 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V82 tmp75 [V82,T16] ( 3, 6 ) byref -> x20 single-def "Inlining Arg"
;* V83 tmp76 [V83 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V84 tmp77 [V84,T03] ( 7, 14 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V85 tmp78 [V85,T31] ( 2, 4 ) struct ( 8) x22 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V86 tmp79 [V86,T05] ( 6, 12 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V87 tmp80 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V88 tmp81 [V88,T32] ( 2, 4 ) int -> x19 "Inlining Arg"
;* V89 tmp82 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V90 tmp83 [V90 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V91 tmp84 [V91,T70] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V92 tmp85 [V92,T38] ( 3, 3 ) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V93 tmp86 [V93,T60] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V94 tmp87 [V94,T18] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V95 tmp88 [V95,T46] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V96 tmp89 [V96,T00] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V97 tmp90 [V97,T02] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V98 tmp91 [V98,T39] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
;* V99 tmp92 [V99 ] ( 0, 0 ) ref -> zero-ref single-def "field V04._obj (fldOffset=0x0)" P-INDEP
;* V100 tmp93 [V100 ] ( 0, 0 ) short -> zero-ref "field V04._token (fldOffset=0x8)" P-INDEP
;* V101 tmp94 [V101 ] ( 0, 0 ) ubyte -> zero-ref "field V04._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V102 tmp95 [V102 ] ( 0, 0 ) byref -> zero-ref "field V09._reference (fldOffset=0x0)" P-INDEP
;* V103 tmp96 [V103 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
;* V104 tmp97 [V104 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
;* V105 tmp98 [V105 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
; V106 tmp99 [V106,T40] ( 3, 3 ) ref -> x15 "field V17._object (fldOffset=0x0)" P-INDEP
;* V107 tmp100 [V107,T61] ( 0, 0 ) int -> zero-ref "field V17._index (fldOffset=0x8)" P-INDEP
; V108 tmp101 [V108,T47] ( 3, 3 ) int -> x0 "field V17._length (fldOffset=0xc)" P-INDEP
; V109 tmp102 [V109,T53] ( 2, 2 ) ref -> x1 single-def "field V19._object (fldOffset=0x0)" P-INDEP
; V110 tmp103 [V110,T62] ( 2, 2 ) int -> x2 "field V19._index (fldOffset=0x8)" P-INDEP
; V111 tmp104 [V111,T48] ( 3, 3 ) int -> x3 "field V19._length (fldOffset=0xc)" P-INDEP
;* V112 tmp105 [V112 ] ( 0, 0 ) ref -> zero-ref single-def "field V20._object (fldOffset=0x0)" P-INDEP
;* V113 tmp106 [V113 ] ( 0, 0 ) int -> zero-ref "field V20._index (fldOffset=0x8)" P-INDEP
;* V114 tmp107 [V114 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0xc)" P-INDEP
; V115 tmp108 [V115,T54] ( 2, 2 ) ref -> x4 single-def "field V21._source (fldOffset=0x0)" P-INDEP
; V116 tmp109 [V116,T51] ( 2, 3 ) ref -> [fp+0x78] do-not-enreg[] "field V22._obj (fldOffset=0x0)" P-DEP
; V117 tmp110 [V117,T67] ( 1, 2 ) int -> [fp+0x80] do-not-enreg[] "field V22._result (fldOffset=0x8)" P-DEP
; V118 tmp111 [V118,T52] ( 2, 3 ) short -> [fp+0x84] do-not-enreg[] "field V22._token (fldOffset=0xc)" P-DEP
; V119 tmp112 [V119,T68] ( 1, 2 ) ubyte -> [fp+0x86] do-not-enreg[] "field V22._continueOnCapturedContext (fldOffset=0xe)" P-DEP
;* V120 tmp113 [V120 ] ( 0, 0 ) ref -> zero-ref single-def "field V25.m_task (fldOffset=0x0)" P-INDEP
;* V121 tmp114 [V121 ] ( 0, 0 ) int -> zero-ref "field V25._result (fldOffset=0x8)" P-INDEP
;* V122 tmp115 [V122 ] ( 0, 0 ) ref -> zero-ref single-def "field V26._obj (fldOffset=0x0)" P-INDEP
; V123 tmp116 [V123,T63] ( 2, 2 ) short -> x1 "field V26._token (fldOffset=0x8)" P-INDEP
;* V124 tmp117 [V124 ] ( 0, 0 ) ubyte -> zero-ref "field V26._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V125 tmp118 [V125,T55] ( 2, 2 ) ref -> x0 single-def "field V30._obj (fldOffset=0x0)" P-INDEP
; V126 tmp119 [V126,T64] ( 2, 2 ) short -> x1 "field V30._token (fldOffset=0x8)" P-INDEP
;* V127 tmp120 [V127,T71] ( 0, 0 ) ubyte -> zero-ref "field V30._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V128 tmp121 [V128 ] ( 0, 0 ) ref -> zero-ref "field V31._obj (fldOffset=0x0)" P-INDEP
;* V129 tmp122 [V129 ] ( 0, 0 ) short -> zero-ref "field V31._token (fldOffset=0x8)" P-INDEP
;* V130 tmp123 [V130 ] ( 0, 0 ) ubyte -> zero-ref "field V31._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V131 tmp124 [V131 ] ( 0, 0 ) byref -> zero-ref "field V47._reference (fldOffset=0x0)" P-INDEP
;* V132 tmp125 [V132 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
;* V133 tmp126 [V133 ] ( 0, 0 ) byref -> zero-ref single-def "field V52._reference (fldOffset=0x0)" P-INDEP
;* V134 tmp127 [V134 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
;* V135 tmp128 [V135 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-DEP
;* V136 tmp129 [V136 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-DEP
; V137 tmp130 [V137,T56] ( 2, 2 ) byref -> x21 "field V55._reference (fldOffset=0x0)" P-INDEP
; V138 tmp131 [V138,T65] ( 2, 2 ) int -> x22 "field V55._length (fldOffset=0x8)" P-INDEP
;* V139 tmp132 [V139 ] ( 0, 0 ) byref -> zero-ref single-def "field V61._reference (fldOffset=0x0)" P-INDEP
;* V140 tmp133 [V140 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
;* V141 tmp134 [V141 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP
;* V142 tmp135 [V142 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
; V143 tmp136 [V143,T57] ( 2, 2 ) byref -> x21 single-def "field V63._reference (fldOffset=0x0)" P-INDEP
; V144 tmp137 [V144,T66] ( 2, 2 ) int -> x22 "field V63._length (fldOffset=0x8)" P-INDEP
; V145 tmp138 [V145,T58] ( 2, 2 ) byref -> x0 single-def "field V68._reference (fldOffset=0x0)" P-INDEP
; V146 tmp139 [V146,T24] ( 4, 4 ) int -> x21 "field V68._length (fldOffset=0x8)" P-INDEP
;* V147 tmp140 [V147 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP
;* V148 tmp141 [V148 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP
;* V149 tmp142 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "field V74._reference (fldOffset=0x0)" P-INDEP
;* V150 tmp143 [V150 ] ( 0, 0 ) int -> zero-ref "field V74._length (fldOffset=0x8)" P-INDEP
; V151 tmp144 [V151,T27] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V152 tmp145 [V152,T28] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V153 tmp146 [V153,T17] ( 3, 6 ) long -> x22 "Cast away GC"
; V154 tmp147 [V154,T33] ( 2, 4 ) long -> x3 "Cast away GC"
; V155 tmp148 [V155,T34] ( 2, 4 ) long -> x3 "argument with side effect"
; V156 tmp149 [V156,T29] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V157 PSPSym [V157,T72] ( 1, 1 ) long -> [fp+0x98] do-not-enreg[V] "PSPSym"
; V158 cse0 [V158,T41] ( 3, 3 ) ref -> x20 "CSE #15: moderate"
; V159 cse1 [V159,T49] ( 3, 3 ) int -> x14 "CSE #06: moderate"
; V160 cse2 [V160,T50] ( 3, 3 ) int -> x1 "CSE #16: moderate"
; V161 cse3 [V161,T04] ( 7, 14 ) byref -> x0 "CSE #17: aggressive"
; V162 cse4 [V162,T42] ( 3, 3 ) ref -> x2 "CSE #01: moderate"
; V163 cse5 [V163,T43] ( 3, 3 ) ref -> x21 "CSE #11: moderate"
;
; Lcl frame size = 144
G_M3290_IG01:
stp fp, lr, [sp, #-0xD0]!
stp x19, x20, [sp, #0xA0]
stp x21, x22, [sp, #0xB0]
stp x23, x24, [sp, #0xC0]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp q16, q16, [x9, #0x60]
add x1, sp, #208
str x1, [fp, #0x98] // [V157 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=56 bbWeight=1 PerfScore 12.00
G_M3290_IG02:
ldr w1, [x0, #0x18]
ldr x19, [x0]
;; size=8 bbWeight=1 PerfScore 6.00
G_M3290_IG03:
cbnz w1, G_M3290_IG07
;; size=4 bbWeight=1 PerfScore 1.00
G_M3290_IG04:
ldp x1, x2, [x0, #0x40]
stp x1, x2, [fp, #0x88]
;; size=8 bbWeight=1 PerfScore 5.00
G_M3290_IG05:
stp xzr, xzr, [x0, #0x40]
movn w1, #0
str w1, [x0, #0x18]
;; size=12 bbWeight=1 PerfScore 2.50
G_M3290_IG06:
ldr x20, [fp, #0x88] // [V03 loc2]
cbz x20, G_M3290_IG17
mov x1, x20
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_M3290_IG16
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M3290_IG17
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M3290_IG17
;; size=104 bbWeight=1 PerfScore 25.00
G_M3290_IG07:
add x1, x0, #40
ldr x2, [x1]
cbnz x2, G_M3290_IG10
;; size=12 bbWeight=1 PerfScore 4.50
G_M3290_IG08:
ldr x1, [x19, #0x68]
cbz x1, G_M3290_IG32
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:ValidateSize():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M3290_IG28
;; size=52 bbWeight=1 PerfScore 15.50
G_M3290_IG09:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr w1, [x19, #0x68]
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x20, [fp, #0x10] // [V00 this]
add x14, x20, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x15, [x20, #0x10]
ldr w0, [x19, #0x68]
cbnz x15, G_M3290_IG11
cbz w0, G_M3290_IG12
b G_M3290_IG30
- ;; size=76 bbWeight=1 PerfScore 28.50
+ ;; size=80 bbWeight=1 PerfScore 29.00
G_M3290_IG10:
add x2, x2, #32
ldapr w2, [x2]
cbz w2, G_M3290_IG08
b G_M3290_IG31
;; size=16 bbWeight=1 PerfScore 5.50
G_M3290_IG11:
ldr w14, [x15, #0x08]
cmp w14, w0
blo G_M3290_IG30
b G_M3290_IG13
;; size=16 bbWeight=1 PerfScore 5.50
G_M3290_IG12:
mov x15, xzr
mov w0, wzr
;; size=8 bbWeight=1 PerfScore 1.00
G_M3290_IG13:
add x14, x20, #48
bl CORINFO_HELP_CHECKED_ASSIGN_REF
stp wzr, w0, [x20, #0x38]
ldr x0, [x20, #0x08]
ldr x1, [x20, #0x30]
ldp w2, w3, [x20, #0x38]
ldr x4, [x20, #0x28]
ldrsb wzr, [x0]
stp xzr, xzr, [fp, #0x40]
str x0, [fp, #0x28] // [V23 tmp16]
str x1, [fp, #0x50] // [V23 tmp16+0x28]
stp w2, w3, [fp, #0x58] // [V23 tmp16+0x30], [V23 tmp16+0x34]
str w3, [fp, #0x34] // [V23 tmp16+0x0c]
mov w0, #1
strb w0, [fp, #0x3C] // [V23 tmp16+0x14]
str x4, [fp, #0x60] // [V23 tmp16+0x38]
movn w0, #0
str w0, [fp, #0x30] // [V23 tmp16+0x08]
add x0, fp, #40 // [V23 tmp16]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.IO.Stream+<ReadAtLeastAsyncCore>d__46](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, fp, #64 // [V23 tmp16+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]:get_Task():System.Threading.Tasks.ValueTask`1[int]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
stp x0, x1, [fp, #0x78] // [V22 tmp15], [V22 tmp15+0x08]
ldrsh x1, [fp, #0x84] // [V118 tmp111]
ldr x0, [fp, #0x78] // [V116 tmp109]
str x0, [fp, #0x88] // [V03 loc2]
strh w1, [fp, #0x90] // [V03 loc2+0x08]
strb wzr, [fp, #0x92] // [V03 loc2+0x0a]
ldr x21, [fp, #0x88] // [V03 loc2]
cbz x21, G_M3290_IG06
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M3290_IG15
mov x0, x21
ldrsh w1, [fp, #0x90] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M3290_IG06
;; size=224 bbWeight=1 PerfScore 67.00
G_M3290_IG14:
ldr x20, [fp, #0x10] // [V00 this]
str wzr, [x20, #0x18]
add x14, x20, #64
add x13, fp, #136 // [V03 loc2]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x20, #32
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<ReadGnuLongPathDataBlockAsync>d__68](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #136 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M3290_IG45
;; size=88 bbWeight=1 PerfScore 23.00
G_M3290_IG15:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M3290_IG06
b G_M3290_IG14
;; size=24 bbWeight=1 PerfScore 6.50
G_M3290_IG16:
mov x0, x20
ldrsh w1, [fp, #0x90] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
;; size=28 bbWeight=1 PerfScore 8.00
G_M3290_IG17:
ldr x0, [fp, #0x10] // [V00 this]
add x20, x0, #48
mov x21, xzr
mov w22, wzr
ldr x1, [x20]
cbz x1, G_M3290_IG20
ldr x2, [x1]
ldr w2, [x2]
tst w2, #0xD1FFAB1E
bne G_M3290_IG18
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
mov x21, x0
mov w22, w1
b G_M3290_IG19
;; size=72 bbWeight=1 PerfScore 27.50
G_M3290_IG18:
add x21, x1, #16
ldr w22, [x1, #0x08]
;; size=8 bbWeight=1 PerfScore 3.50
G_M3290_IG19:
ldp w1, w2, [x20, #0x08]
and w1, w1, #0xD1FFAB1E
mov w1, w1
add x3, x1, w2, UXTW
mov w4, w22
cmp x3, x4
bhi G_M3290_IG30
add x21, x21, x1
sxtw w22, w2
;; size=36 bbWeight=1 PerfScore 8.00
G_M3290_IG20:
movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x20, [x1]
mov x0, x21
mov w1, w22
movz x2, #0xD1FFAB1E // code for System.Formats.Tar.TarHelpers:TrimEndingNullsAndSpaces(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov w21, w1
cbnz w21, G_M3290_IG21
movz x15, #0xD1FFAB1E
movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
b G_M3290_IG24
- ;; size=64 bbWeight=1 PerfScore 14.50
+ ;; size=68 bbWeight=1 PerfScore 15.00
G_M3290_IG21:
mov x22, x0
str x22, [fp, #0x20] // [V72 tmp65]
mov x0, x20
mov x1, x22
mov w2, w21
movz x3, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
sxtw w23, w0
cbz w23, G_M3290_IG22
mov w0, w23
bl System.String:FastAllocateString(int):System.String
mov x24, x0
ldrsb wzr, [x24]
add x3, x24, #12
str x3, [fp, #0x18] // [V80 tmp73]
ldr x3, [fp, #0x18] // [V80 tmp73]
mov x1, x22
mov w2, w21
mov x0, x20
mov w4, w23
movz x5, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
str xzr, [fp, #0x18] // [V80 tmp73]
mov x15, x24
b G_M3290_IG23
;; size=124 bbWeight=1 PerfScore 28.50
G_M3290_IG22:
movz x15, #0xD1FFAB1E
movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
;; size=12 bbWeight=1 PerfScore 1.50
G_M3290_IG23:
stp xzr, xzr, [fp, #0x18] // [V80 tmp73], [V72 tmp65]
;; size=4 bbWeight=1 PerfScore 1.00
G_M3290_IG24:
ldrb w14, [x19, #0x8C]
cmp w14, #75
beq G_M3290_IG25
cmp w14, #76
bne G_M3290_IG26
add x14, x19, #16
bl CORINFO_HELP_ASSIGN_REF
b G_M3290_IG26
;; size=32 bbWeight=1 PerfScore 8.50
G_M3290_IG25:
add x14, x19, #24
bl CORINFO_HELP_ASSIGN_REF
;; size=8 bbWeight=1 PerfScore 1.50
G_M3290_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M3290_IG29
;; size=20 bbWeight=1 PerfScore 5.50
G_M3290_IG27:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr x20, [fp, #0x10] // [V00 this]
ldr x1, [x20, #0x10]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
str xzr, [x20, #0x10]
stp xzr, xzr, [x20, #0x30]
b G_M3290_IG32
- ;; size=60 bbWeight=1 PerfScore 21.00
+ ;; size=64 bbWeight=1 PerfScore 21.50
G_M3290_IG28:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M3290_IG09
- align [0 bytes for IG35]
+ align [4 bytes for IG35]
+ align [4 bytes]
align [0 bytes]
align [0 bytes]
- align [0 bytes]
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M3290_IG29:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M3290_IG27
;; size=20 bbWeight=0 PerfScore 0.00
G_M3290_IG30:
ldr x20, [fp, #0x10] // [V00 this]
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=28 bbWeight=0 PerfScore 0.00
G_M3290_IG31:
mov x0, x1
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M3290_IG32:
movn w1, #1
ldr x0, [fp, #0x10] // [V00 this]
str w1, [x0, #0x18]
add x20, x0, #32
ldr x21, [x20]
cbz x21, G_M3290_IG43
mov w22, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M3290_IG46
;; size=48 bbWeight=1 PerfScore 14.00
G_M3290_IG33:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x20, [x0]
ldrb w0, [x20, #0x9D]
cbz w0, G_M3290_IG34
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w19, w0
ldrb w1, [x20, #0x9D]
cbz w1, G_M3290_IG34
ldr x3, [x20, #0x80]
ldr w2, [x20, #0x98]
mov x0, x20
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M3290_IG34
mov x0, x20
mov w2, w19
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M3290_IG34:
add x0, x21, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M3290_IG47
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M3290_IG41
ldapr w1, [x0]
b G_M3290_IG36
;; size=48 bbWeight=1 PerfScore 15.00
G_M3290_IG35:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M3290_IG36:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M3290_IG38
;; size=12 bbWeight=8 PerfScore 16.00
G_M3290_IG37:
mov w2, wzr
b G_M3290_IG40
;; size=8 bbWeight=1 PerfScore 1.50
G_M3290_IG38:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M3290_IG35
;; size=20 bbWeight=8 PerfScore 44.00
G_M3290_IG39:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M3290_IG40:
cbz w2, G_M3290_IG47
;; size=4 bbWeight=1 PerfScore 1.00
G_M3290_IG41:
strb w22, [x21, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x22, [x21, #0x28]
cbz x22, G_M3290_IG42
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x22, #16
ldapr x0, [x0]
cbz x0, G_M3290_IG42
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M3290_IG42:
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M3290_IG45
;; size=28 bbWeight=1 PerfScore 7.00
G_M3290_IG43:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M3290_IG48
;; size=20 bbWeight=1 PerfScore 5.50
G_M3290_IG44:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M3290_IG45:
ldp x23, x24, [sp, #0xC0]
ldp x21, x22, [sp, #0xB0]
ldp x19, x20, [sp, #0xA0]
ldp fp, lr, [sp], #0xD0
ret lr
;; size=20 bbWeight=1 PerfScore 5.00
G_M3290_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M3290_IG33
;; size=20 bbWeight=0 PerfScore 0.00
G_M3290_IG47:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M3290_IG48:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M3290_IG44
;; size=20 bbWeight=0 PerfScore 0.00
G_M3290_IG49:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
add x3, fp, #208
str x3, [sp, #0x18]
;; size=24 bbWeight=0 PerfScore 0.00
G_M3290_IG50:
mov x1, x0
movn w0, #1
ldr x20, [fp, #0x10] // [V00 this]
str w0, [x20, #0x18]
add x0, x20, #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M3290_IG45]
;; size=44 bbWeight=0 PerfScore 0.00
G_M3290_IG51:
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x50
ret lr
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1888, prolog size 56, PerfScore 527.50, instruction count 476, allocated bytes for code 1888 (MethodHash=94e5f325) for method System.Formats.Tar.TarHeader+<ReadGnuLongPathDataBlockAsync>d__68:MoveNext():this (FullOpts)
+; Total bytes of code 1916, prolog size 56, PerfScore 530.00, instruction count 481, allocated bytes for code 1916 (MethodHash=94e5f325) for method System.Formats.Tar.TarHeader+<ReadGnuLongPathDataBlockAsync>d__68:MoveNext():this (FullOpts)
20 (1.15 % of base) - System.Formats.Tar.TarHelpers+d__7:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarHelpers+<AdvanceStreamAsync>d__7:MoveNext():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; 33 single block inlinees; 19 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 34, 78 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T49] ( 2, 2 ) int -> x1
; V02 loc1 [V02 ] ( 10, 35 ) struct (16) [fp+0x68] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Threading.Tasks.ValueTask>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V05 loc4 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V08 tmp2 [V08,T34] ( 2, 4 ) ref -> x0 class-hnd exact single-def "impAppendStmt" <System.Buffers.SharedArrayPool`1[ubyte]>
; V09 tmp3 [V09,T24] ( 4, 8 ) ref -> x19 class-hnd single-def "dup spill" <System.IO.Stream>
; V10 tmp4 [V10,T55] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V11 tmp5 [V11,T30] ( 4, 6 ) byref -> x1 single-def "Inlining Arg"
;* V12 tmp6 [V12,T52] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V13 tmp7 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V14 tmp8 [V14,T50] ( 2, 2 ) long -> x1 "Inline return value spill temp"
; V15 tmp9 [V15,T32] ( 3, 6 ) long -> x1 "Inlining Arg"
; V16 tmp10 [V16,T21] ( 3, 12 ) long -> x0 "Inline return value spill temp"
; V17 tmp11 [V17,T07] ( 3, 24 ) long -> x0 "Inlining Arg"
; V18 tmp12 [V18,T03] ( 4, 32 ) ref -> x1 class-hnd "Inlining Arg" <ubyte[]>
; V19 tmp13 [V19,T01] ( 5, 40 ) int -> x2 "Inlining Arg"
; V20 tmp14 [V20,T05] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.IO.Stream>
;* V21 tmp15 [V21 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V22 tmp16 [V22 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Memory`1[ubyte]>
;* V23 tmp17 [V23 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[int]>
;* V24 tmp18 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V25 tmp19 [V25 ] ( 12, 48 ) struct (80) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.IO.Stream+<ReadAtLeastAsyncCore>d__46>
;* V26 tmp20 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]>
;* V27 tmp21 [V27 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.Threading.Tasks.ValueTask`1[int]>
; V28 tmp22 [V28,T12] ( 2, 16 ) ref -> x19 class-hnd "dup spill" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox[int]>
; V29 tmp23 [V29,T09] ( 5, 20 ) ref -> x20
;* V30 tmp24 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox[int]>
;* V31 tmp25 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
; V32 tmp26 [V32,T06] ( 3, 24 ) ref -> x20 class-hnd exact "dup spill" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V33 tmp27 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V34 tmp28 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V35 tmp29 [V35 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V36 tmp30 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V37 tmp31 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V38 tmp32 [V38,T14] ( 2, 16 ) short -> x22 "Inlining Arg"
;* V39 tmp33 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V40 tmp34 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V41 tmp35 [V41 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V42 tmp36 [V42 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V43 tmp37 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V44 tmp38 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V45 tmp39 [V45 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V46 tmp40 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V47 tmp41 [V47 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V48 tmp42 [V48 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V49 tmp43 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V50 tmp44 [V50,T10] ( 4, 16 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.Object>
; V51 tmp45 [V51,T18] ( 3, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V52 tmp46 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V53 tmp47 [V53 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V54 tmp48 [V54 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V55 tmp49 [V55 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V56 tmp50 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V57 tmp51 [V57,T04] ( 4, 24 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.Object>
; V58 tmp52 [V58,T11] ( 4, 16 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V59 tmp53 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
; V60 tmp54 [V60,T25] ( 4, 8 ) byref -> x21 single-def "Inlining Arg"
;* V61 tmp55 [V61 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V62 tmp56 [V62,T15] ( 7, 14 ) ref -> x19 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V63 tmp57 [V63,T37] ( 2, 4 ) struct ( 8) x20 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V64 tmp58 [V64,T17] ( 6, 12 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V65 tmp59 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V66 tmp60 [V66,T38] ( 2, 4 ) int -> x22 "Inlining Arg"
;* V67 tmp61 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V68 tmp62 [V68 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V69 tmp63 [V69,T53] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V70 tmp64 [V70,T43] ( 3, 3 ) ref -> x20 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V71 tmp65 [V71,T51] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V72 tmp66 [V72,T33] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V73 tmp67 [V73,T46] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V74 tmp68 [V74,T02] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V75 tmp69 [V75,T08] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V76 tmp70 [V76,T44] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
;* V77 tmp71 [V77 ] ( 0, 0 ) ref -> zero-ref "field V03._obj (fldOffset=0x0)" P-INDEP
;* V78 tmp72 [V78 ] ( 0, 0 ) short -> zero-ref "field V03._token (fldOffset=0x8)" P-INDEP
;* V79 tmp73 [V79 ] ( 0, 0 ) ubyte -> zero-ref "field V03._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V80 tmp74 [V80,T26] ( 2, 8 ) ref -> x3 "field V21._source (fldOffset=0x0)" P-INDEP
;* V81 tmp75 [V81 ] ( 0, 0 ) ref -> zero-ref "field V22._object (fldOffset=0x0)" P-INDEP
;* V82 tmp76 [V82 ] ( 0, 0 ) int -> zero-ref "field V22._index (fldOffset=0x8)" P-INDEP
;* V83 tmp77 [V83 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0xc)" P-INDEP
;* V84 tmp78 [V84 ] ( 0, 0 ) ref -> zero-ref "field V23._obj (fldOffset=0x0)" P-INDEP
;* V85 tmp79 [V85 ] ( 0, 0 ) int -> zero-ref "field V23._result (fldOffset=0x8)" P-INDEP
;* V86 tmp80 [V86 ] ( 0, 0 ) short -> zero-ref "field V23._token (fldOffset=0xc)" P-INDEP
;* V87 tmp81 [V87 ] ( 0, 0 ) ubyte -> zero-ref "field V23._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
; V88 tmp82 [V88,T27] ( 2, 8 ) ref -> x1 "field V24._object (fldOffset=0x0)" P-INDEP
;* V89 tmp83 [V89,T40] ( 0, 0 ) int -> zero-ref "field V24._index (fldOffset=0x8)" P-INDEP
;* V90 tmp84 [V90,T41] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0xc)" P-INDEP
;* V91 tmp85 [V91 ] ( 0, 0 ) ref -> zero-ref "field V26.m_task (fldOffset=0x0)" P-INDEP
;* V92 tmp86 [V92 ] ( 0, 0 ) int -> zero-ref "field V26._result (fldOffset=0x8)" P-INDEP
;* V93 tmp87 [V93 ] ( 0, 0 ) ref -> zero-ref "field V31._obj (fldOffset=0x0)" P-INDEP
;* V94 tmp88 [V94 ] ( 0, 0 ) int -> zero-ref "field V31._result (fldOffset=0x8)" P-INDEP
;* V95 tmp89 [V95 ] ( 0, 0 ) short -> zero-ref "field V31._token (fldOffset=0xc)" P-INDEP
;* V96 tmp90 [V96 ] ( 0, 0 ) ubyte -> zero-ref "field V31._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
;* V97 tmp91 [V97 ] ( 0, 0 ) ref -> zero-ref "field V34._obj (fldOffset=0x0)" P-INDEP
;* V98 tmp92 [V98 ] ( 0, 0 ) int -> zero-ref "field V34._result (fldOffset=0x8)" P-INDEP
;* V99 tmp93 [V99 ] ( 0, 0 ) short -> zero-ref "field V34._token (fldOffset=0xc)" P-INDEP
;* V100 tmp94 [V100 ] ( 0, 0 ) ubyte -> zero-ref "field V34._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
;* V101 tmp95 [V101 ] ( 0, 0 ) ref -> zero-ref "field V39._obj (fldOffset=0x0)" P-INDEP
;* V102 tmp96 [V102 ] ( 0, 0 ) short -> zero-ref "field V39._token (fldOffset=0x8)" P-INDEP
;* V103 tmp97 [V103 ] ( 0, 0 ) ubyte -> zero-ref "field V39._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V104 tmp98 [V104,T28] ( 2, 8 ) ref -> x20 "field V43._obj (fldOffset=0x0)" P-INDEP
; V105 tmp99 [V105,T29] ( 2, 8 ) short -> x22 "field V43._token (fldOffset=0x8)" P-INDEP
;* V106 tmp100 [V106,T42] ( 0, 0 ) ubyte -> zero-ref "field V43._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V107 tmp101 [V107 ] ( 0, 0 ) ref -> zero-ref "field V44._obj (fldOffset=0x0)" P-INDEP
;* V108 tmp102 [V108 ] ( 0, 0 ) short -> zero-ref "field V44._token (fldOffset=0x8)" P-INDEP
;* V109 tmp103 [V109 ] ( 0, 0 ) ubyte -> zero-ref "field V44._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V110 tmp104 [V110,T19] ( 3, 12 ) ref -> x20 "V27.[000..008)"
;* V111 tmp105 [V111 ] ( 0, 0 ) int -> zero-ref "V27.[008..012)"
; V112 tmp106 [V112,T22] ( 3, 12 ) short -> x22 "V27.[012..014)"
;* V113 tmp107 [V113 ] ( 0, 0 ) ubyte -> zero-ref "V27.[014..015)"
; V114 tmp108 [V114,T31] ( 3, 6 ) ref -> x1 single-def "argument with side effect"
; V115 tmp109 [V115,T35] ( 2, 4 ) ref -> x1 "argument with side effect"
; V116 tmp110 [V116,T36] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V117 tmp111 [V117,T39] ( 2, 4 ) long -> x1 "argument with side effect"
; V118 PSPSym [V118,T54] ( 1, 1 ) long -> [fp+0x78] do-not-enreg[V] "PSPSym"
; V119 cse0 [V119,T45] ( 3, 3 ) ref -> x21 "CSE #17: conservative"
; V120 cse1 [V120,T47] ( 3, 3 ) long -> x20 "CSE #03: conservative"
; V121 cse2 [V121,T48] ( 3, 3 ) int -> x1 "CSE #18: conservative"
; V122 cse3 [V122,T16] ( 7, 14 ) byref -> x0 "CSE #19: moderate"
; V123 cse4 [V123,T23] ( 3, 12 ) int -> x4 "CSE #05: moderate"
; V124 cse5 [V124,T20] ( 3, 12 ) ref -> x19 "CSE #07: moderate"
; V125 rat0 [V125,T13] ( 2, 16 ) ref -> x20 "Spilling to split statement for tree"
;
; Lcl frame size = 112
G_M50559_IG01:
stp fp, lr, [sp, #-0xA0]!
stp x19, x20, [sp, #0x80]
stp x21, x22, [sp, #0x90]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
add x1, sp, #160
str x1, [fp, #0x78] // [V118 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=48 bbWeight=1 PerfScore 10.00
G_M50559_IG02:
ldr w1, [x0, #0x18]
;; size=4 bbWeight=1 PerfScore 3.00
G_M50559_IG03:
cbnz w1, G_M50559_IG06
;; size=4 bbWeight=1 PerfScore 1.00
G_M50559_IG04:
ldp x1, x2, [x0, #0x30]
stp x1, x2, [fp, #0x68]
;; size=8 bbWeight=1 PerfScore 5.00
G_M50559_IG05:
stp xzr, xzr, [x0, #0x30]
movn w1, #0
str w1, [x0, #0x18]
mov x21, x0
b G_M50559_IG20
;; size=20 bbWeight=1 PerfScore 4.00
G_M50559_IG06:
add x1, x0, #40
ldr x2, [x1]
cbnz x2, G_M50559_IG08
;; size=12 bbWeight=1 PerfScore 4.50
G_M50559_IG07:
ldr x1, [x0]
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M50559_IG09
ldr x0, [fp, #0x10] // [V00 this]
ldr x19, [x0]
mov x0, x19
ldr x1, [x19]
ldr x20, [x1, #0x48]
ldr x1, [x20, #0x10]
blr x1
ldr x21, [fp, #0x10] // [V00 this]
ldr x1, [x21, #0x10]
add x1, x0, x1
mov x0, x19
ldr x2, [x20, #0x18]
blr x2
b G_M50559_IG33
;; size=84 bbWeight=1 PerfScore 41.00
G_M50559_IG08:
ldr x2, [x1]
add x2, x2, #32
ldapr w2, [x2]
cbz w2, G_M50559_IG07
b G_M50559_IG32
;; size=20 bbWeight=1 PerfScore 8.50
G_M50559_IG09:
ldr x21, [fp, #0x10] // [V00 this]
ldr x0, [x21, #0x10]
cmp x0, #0
ble G_M50559_IG33
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M50559_IG26
;; size=36 bbWeight=1 PerfScore 12.00
G_M50559_IG10:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr x1, [x21, #0x10]
mov x2, #0xD1FFAB1E
cmp x1, #1, LSL #12
csel x1, x2, x1, ge
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x21, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x0, [x21, #0x10]
cmp x0, #0
ble G_M50559_IG24
- ;; size=76 bbWeight=1 PerfScore 23.50
+ ;; size=80 bbWeight=1 PerfScore 24.00
G_M50559_IG11:
ldr x0, [x21, #0x10]
cmp x0, #1, LSL #12
bge G_M50559_IG12
b G_M50559_IG13
;; size=16 bbWeight=4 PerfScore 22.00
G_M50559_IG12:
mov x0, #0xD1FFAB1E
;; size=4 bbWeight=4 PerfScore 2.00
G_M50559_IG13:
str w0, [x21, #0x1C]
ldp x0, x1, [x21]
ldr w2, [x21, #0x1C]
ldr x3, [x21, #0x28]
ldrsb wzr, [x0]
cbz x1, G_M50559_IG31
ldr w4, [x1, #0x08]
cmp w4, w2
blo G_M50559_IG30
cmp w4, w2
blo G_M50559_IG29
stp xzr, xzr, [fp, #0x30]
str x0, [fp, #0x18] // [V25 tmp19]
str x1, [fp, #0x40] // [V25 tmp19+0x28]
stp wzr, w2, [fp, #0x48] // [V25 tmp19+0x30], [V25 tmp19+0x34]
str w2, [fp, #0x24] // [V25 tmp19+0x0c]
mov w0, #1
strb w0, [fp, #0x2C] // [V25 tmp19+0x14]
str x3, [fp, #0x50] // [V25 tmp19+0x38]
movn w0, #0
str w0, [fp, #0x20] // [V25 tmp19+0x08]
add x0, fp, #24 // [V25 tmp19]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.IO.Stream+<ReadAtLeastAsyncCore>d__46](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x19, [fp, #0x30] // [V25 tmp19+0x18]
mov x20, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M50559_IG27
;; size=136 bbWeight=4 PerfScore 176.00
G_M50559_IG14:
movz x0, #0xD1FFAB1E // data for System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]:s_syncSuccessSentinel
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
cmp x20, x0
bne G_M50559_IG15
mov x20, xzr
mov w22, wzr
b G_M50559_IG17
- ;; size=32 bbWeight=4 PerfScore 30.00
+ ;; size=36 bbWeight=4 PerfScore 32.00
G_M50559_IG15:
mov x20, x19
cbnz x20, G_M50559_IG16
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
str x20, [fp, #0x30] // [V25 tmp19+0x18]
;; size=32 bbWeight=4 PerfScore 22.00
G_M50559_IG16:
ldrsh w22, [x20, #0x3C]
;; size=4 bbWeight=4 PerfScore 12.00
G_M50559_IG17:
str x20, [fp, #0x68] // [V02 loc1]
strh w22, [fp, #0x70] // [V02 loc1+0x08]
strb wzr, [fp, #0x72] // [V02 loc1+0x0a]
ldr x19, [fp, #0x68] // [V02 loc1]
cbz x19, G_M50559_IG20
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M50559_IG19
mov x0, x19
ldrsh w1, [fp, #0x70] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M50559_IG20
;; size=92 bbWeight=4 PerfScore 94.00
G_M50559_IG18:
str wzr, [x21, #0x18]
add x14, x21, #48
add x13, fp, #104 // [V02 loc1]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x21, #32
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHelpers+<AdvanceStreamAsync>d__7](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #104 // [V02 loc1]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M50559_IG46
;; size=84 bbWeight=1 PerfScore 21.00
G_M50559_IG19:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
beq G_M50559_IG18
;; size=20 bbWeight=4 PerfScore 22.00
G_M50559_IG20:
ldr x19, [fp, #0x68] // [V02 loc1]
cbz x19, G_M50559_IG23
;; size=8 bbWeight=8 PerfScore 24.00
G_M50559_IG21:
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M50559_IG22
mov x0, x19
ldrsh w1, [fp, #0x70] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M50559_IG23
;; size=72 bbWeight=4 PerfScore 70.00
G_M50559_IG22:
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M50559_IG23
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=52 bbWeight=4 PerfScore 50.00
G_M50559_IG23:
ldr x0, [x21, #0x10]
ldr w1, [x21, #0x1C]
sub x0, x0, w1, SXTW
str x0, [x21, #0x10]
ldr x0, [x21, #0x10]
cmp x0, #0
bgt G_M50559_IG11
;; size=28 bbWeight=8 PerfScore 100.00
G_M50559_IG24:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M50559_IG28
;; size=20 bbWeight=1 PerfScore 5.50
G_M50559_IG25:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr x1, [x21, #0x08]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
str xzr, [x21, #0x08]
b G_M50559_IG33
- ;; size=52 bbWeight=1 PerfScore 18.00
+ ;; size=56 bbWeight=1 PerfScore 18.50
G_M50559_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50559_IG10
align [0 bytes for IG36]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG27:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50559_IG14
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG28:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50559_IG25
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG29:
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_M50559_IG30:
mov w0, #27
mov w1, #16
movz x2, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
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_M50559_IG31:
mov w0, #88
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_M50559_IG32:
mov x0, x1
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M50559_IG33:
movn w0, #1
str w0, [x21, #0x18]
add x21, x21, #32
ldr x0, [x21]
cbz x0, G_M50559_IG44
ldr x19, [x21]
mov w20, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M50559_IG47
;; size=48 bbWeight=1 PerfScore 15.00
G_M50559_IG34:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x21, [x0]
ldrb w0, [x21, #0x9D]
cbz w0, G_M50559_IG35
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w22, w0
ldrb w1, [x21, #0x9D]
cbz w1, G_M50559_IG35
ldr x3, [x21, #0x80]
ldr w2, [x21, #0x98]
mov x0, x21
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M50559_IG35
mov x0, x21
mov w2, w22
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M50559_IG35:
add x0, x19, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M50559_IG48
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M50559_IG42
ldapr w1, [x0]
b G_M50559_IG37
;; size=48 bbWeight=1 PerfScore 15.00
G_M50559_IG36:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M50559_IG37:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M50559_IG39
;; size=12 bbWeight=8 PerfScore 16.00
G_M50559_IG38:
mov w2, wzr
b G_M50559_IG41
;; size=8 bbWeight=1 PerfScore 1.50
G_M50559_IG39:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M50559_IG36
;; size=20 bbWeight=8 PerfScore 44.00
G_M50559_IG40:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M50559_IG41:
cbz w2, G_M50559_IG48
;; size=4 bbWeight=1 PerfScore 1.00
G_M50559_IG42:
strb w20, [x19, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x20, [x19, #0x28]
cbz x20, G_M50559_IG43
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x20, #16
ldapr x0, [x0]
cbz x0, G_M50559_IG43
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M50559_IG43:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M50559_IG46
;; size=28 bbWeight=1 PerfScore 7.00
G_M50559_IG44:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M50559_IG49
;; size=20 bbWeight=1 PerfScore 5.50
G_M50559_IG45:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x21
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M50559_IG46:
ldp x21, x22, [sp, #0x90]
ldp x19, x20, [sp, #0x80]
ldp fp, lr, [sp], #0xA0
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M50559_IG47:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50559_IG34
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG48:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M50559_IG49:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M50559_IG45
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG50:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #160
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M50559_IG51:
mov x1, x0
movn w0, #1
ldr x21, [fp, #0x10] // [V00 this]
str w0, [x21, #0x18]
add x0, x21, #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M50559_IG46]
;; size=44 bbWeight=0 PerfScore 0.00
G_M50559_IG52:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1740, prolog size 48, PerfScore 971.00, instruction count 439, allocated bytes for code 1740 (MethodHash=8d303a80) for method System.Formats.Tar.TarHelpers+<AdvanceStreamAsync>d__7:MoveNext():this (FullOpts)
+; Total bytes of code 1760, prolog size 48, PerfScore 975.00, instruction count 444, allocated bytes for code 1760 (MethodHash=8d303a80) for method System.Formats.Tar.TarHelpers+<AdvanceStreamAsync>d__7:MoveNext():this (FullOpts)
20 (0.94 % of base) - System.Formats.Tar.TarHelpers+d__9:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarHelpers+<CopyBytesAsync>d__9:MoveNext():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; 23 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 48,125 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T61] ( 3, 3 ) int -> x1
; V02 loc1 [V02 ] ( 20, 66 ) struct (16) [fp+0x78] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
; V03 loc2 [V03 ] ( 3, 12 ) struct (16) [fp+0x68] do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V05 loc4 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V07 tmp1 [V07 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
;* V09 tmp3 [V09 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlyMemory`1[ubyte]>
;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.Tasks.ValueTask>
;* V11 tmp5 [V11 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V12 tmp6 [V12 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V13 tmp7 [V13,T47] ( 2, 4 ) ref -> x1 class-hnd exact single-def "impAppendStmt" <System.Buffers.SharedArrayPool`1[ubyte]>
; V14 tmp8 [V14,T69] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V15 tmp9 [V15,T44] ( 4, 6 ) byref -> x2 single-def "Inlining Arg"
;* V16 tmp10 [V16,T66] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V17 tmp11 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V18 tmp12 [V18,T64] ( 2, 2 ) long -> x2 "Inline return value spill temp"
; V19 tmp13 [V19,T45] ( 3, 6 ) long -> x2 "Inlining Arg"
; V20 tmp14 [V20,T30] ( 3, 12 ) long -> x14 "Inline return value spill temp"
; V21 tmp15 [V21,T10] ( 3, 24 ) long -> x14 "Inlining Arg"
; V22 tmp16 [V22,T03] ( 4, 32 ) ref -> x15 class-hnd "Inlining Arg" <ubyte[]>
; V23 tmp17 [V23,T05] ( 4, 32 ) int -> x0 "Inlining Arg"
;* V24 tmp18 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V25 tmp19 [V25,T04] ( 4, 32 ) ref -> x1 class-hnd "Inlining Arg" <ubyte[]>
; V26 tmp20 [V26,T01] ( 5, 40 ) int -> x2 "Inlining Arg"
; V27 tmp21 [V27,T07] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.IO.Stream>
;* V28 tmp22 [V28 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V29 tmp23 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Memory`1[ubyte]>
;* V30 tmp24 [V30 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[int]>
;* V31 tmp25 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V32 tmp26 [V32 ] ( 12, 48 ) struct (80) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.IO.Stream+<ReadAtLeastAsyncCore>d__46>
;* V33 tmp27 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]>
;* V34 tmp28 [V34 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.Threading.Tasks.ValueTask`1[int]>
; V35 tmp29 [V35,T18] ( 2, 16 ) ref -> x20 class-hnd "dup spill" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox[int]>
; V36 tmp30 [V36,T12] ( 5, 20 ) ref -> x21
;* V37 tmp31 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox[int]>
;* V38 tmp32 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
; V39 tmp33 [V39,T08] ( 3, 24 ) ref -> x21 class-hnd exact "dup spill" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V40 tmp34 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V41 tmp35 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V42 tmp36 [V42 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V43 tmp37 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[int,System.Runtime.CompilerServices.IAsyncStateMachine]>
;* V44 tmp38 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V45 tmp39 [V45,T20] ( 2, 16 ) short -> x22 "Inlining Arg"
;* V46 tmp40 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V47 tmp41 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V48 tmp42 [V48 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V49 tmp43 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V50 tmp44 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V51 tmp45 [V51 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V52 tmp46 [V52 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V53 tmp47 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V54 tmp48 [V54 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V55 tmp49 [V55 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V56 tmp50 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V57 tmp51 [V57,T13] ( 4, 16 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V58 tmp52 [V58,T25] ( 3, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V59 tmp53 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V60 tmp54 [V60 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V61 tmp55 [V61 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V62 tmp56 [V62 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V63 tmp57 [V63 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V64 tmp58 [V64,T14] ( 4, 16 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V65 tmp59 [V65,T15] ( 4, 16 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V66 tmp60 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V67 tmp61 [V67 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
;* V68 tmp62 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V69 tmp63 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V70 tmp64 [V70 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V71 tmp65 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
; V72 tmp66 [V72,T21] ( 2, 16 ) short -> x1 "Inlining Arg"
;* V73 tmp67 [V73 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V74 tmp68 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V75 tmp69 [V75,T16] ( 4, 16 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V76 tmp70 [V76,T26] ( 3, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V77 tmp71 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V78 tmp72 [V78 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V79 tmp73 [V79 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V80 tmp74 [V80 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V81 tmp75 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V82 tmp76 [V82,T06] ( 4, 24 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V83 tmp77 [V83,T17] ( 4, 16 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V84 tmp78 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
; V85 tmp79 [V85,T34] ( 4, 8 ) byref -> x19 single-def "Inlining Arg"
;* V86 tmp80 [V86 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V87 tmp81 [V87,T22] ( 7, 14 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V88 tmp82 [V88,T51] ( 2, 4 ) struct ( 8) x21 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V89 tmp83 [V89,T24] ( 6, 12 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V90 tmp84 [V90 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V91 tmp85 [V91,T52] ( 2, 4 ) int -> x22 "Inlining Arg"
;* V92 tmp86 [V92 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V93 tmp87 [V93 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V94 tmp88 [V94,T67] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V95 tmp89 [V95,T58] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V96 tmp90 [V96,T65] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V97 tmp91 [V97,T46] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V98 tmp92 [V98,T62] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V99 tmp93 [V99,T02] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V100 tmp94 [V100,T11] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V101 tmp95 [V101,T59] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V102 tmp96 [V102,T35] ( 2, 8 ) ref -> [fp+0x68] do-not-enreg[] "field V03._obj (fldOffset=0x0)" P-DEP
; V103 tmp97 [V103,T40] ( 2, 8 ) short -> [fp+0x70] do-not-enreg[] "field V03._token (fldOffset=0x8)" P-DEP
; V104 tmp98 [V104,T53] ( 1, 4 ) ubyte -> [fp+0x72] do-not-enreg[] "field V03._continueOnCapturedContext (fldOffset=0xa)" P-DEP
;* V105 tmp99 [V105 ] ( 0, 0 ) ref -> zero-ref "field V09._object (fldOffset=0x0)" P-INDEP
;* V106 tmp100 [V106 ] ( 0, 0 ) int -> zero-ref "field V09._index (fldOffset=0x8)" P-INDEP
;* V107 tmp101 [V107 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0xc)" P-INDEP
;* V108 tmp102 [V108 ] ( 0, 0 ) ref -> zero-ref "field V10._obj (fldOffset=0x0)" P-DEP
;* V109 tmp103 [V109 ] ( 0, 0 ) short -> zero-ref "field V10._token (fldOffset=0x8)" P-DEP
;* V110 tmp104 [V110 ] ( 0, 0 ) ubyte -> zero-ref "field V10._continueOnCapturedContext (fldOffset=0xa)" P-DEP
; V111 tmp105 [V111,T27] ( 3, 12 ) ref -> x15 "field V24._object (fldOffset=0x0)" P-INDEP
;* V112 tmp106 [V112,T41] ( 0, 0 ) int -> zero-ref "field V24._index (fldOffset=0x8)" P-INDEP
; V113 tmp107 [V113,T31] ( 3, 12 ) int -> x0 "field V24._length (fldOffset=0xc)" P-INDEP
; V114 tmp108 [V114,T36] ( 2, 8 ) ref -> x3 "field V28._source (fldOffset=0x0)" P-INDEP
;* V115 tmp109 [V115 ] ( 0, 0 ) ref -> zero-ref "field V29._object (fldOffset=0x0)" P-INDEP
;* V116 tmp110 [V116 ] ( 0, 0 ) int -> zero-ref "field V29._index (fldOffset=0x8)" P-INDEP
;* V117 tmp111 [V117 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0xc)" P-INDEP
;* V118 tmp112 [V118 ] ( 0, 0 ) ref -> zero-ref "field V30._obj (fldOffset=0x0)" P-INDEP
;* V119 tmp113 [V119 ] ( 0, 0 ) int -> zero-ref "field V30._result (fldOffset=0x8)" P-INDEP
;* V120 tmp114 [V120 ] ( 0, 0 ) short -> zero-ref "field V30._token (fldOffset=0xc)" P-INDEP
;* V121 tmp115 [V121 ] ( 0, 0 ) ubyte -> zero-ref "field V30._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
; V122 tmp116 [V122,T37] ( 2, 8 ) ref -> x1 "field V31._object (fldOffset=0x0)" P-INDEP
;* V123 tmp117 [V123,T54] ( 0, 0 ) int -> zero-ref "field V31._index (fldOffset=0x8)" P-INDEP
;* V124 tmp118 [V124,T55] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0xc)" P-INDEP
;* V125 tmp119 [V125 ] ( 0, 0 ) ref -> zero-ref "field V33.m_task (fldOffset=0x0)" P-INDEP
;* V126 tmp120 [V126 ] ( 0, 0 ) int -> zero-ref "field V33._result (fldOffset=0x8)" P-INDEP
;* V127 tmp121 [V127 ] ( 0, 0 ) ref -> zero-ref "field V38._obj (fldOffset=0x0)" P-INDEP
;* V128 tmp122 [V128 ] ( 0, 0 ) int -> zero-ref "field V38._result (fldOffset=0x8)" P-INDEP
;* V129 tmp123 [V129 ] ( 0, 0 ) short -> zero-ref "field V38._token (fldOffset=0xc)" P-INDEP
;* V130 tmp124 [V130 ] ( 0, 0 ) ubyte -> zero-ref "field V38._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
;* V131 tmp125 [V131 ] ( 0, 0 ) ref -> zero-ref "field V41._obj (fldOffset=0x0)" P-INDEP
;* V132 tmp126 [V132 ] ( 0, 0 ) int -> zero-ref "field V41._result (fldOffset=0x8)" P-INDEP
;* V133 tmp127 [V133 ] ( 0, 0 ) short -> zero-ref "field V41._token (fldOffset=0xc)" P-INDEP
;* V134 tmp128 [V134 ] ( 0, 0 ) ubyte -> zero-ref "field V41._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
;* V135 tmp129 [V135 ] ( 0, 0 ) ref -> zero-ref "field V46._obj (fldOffset=0x0)" P-INDEP
;* V136 tmp130 [V136 ] ( 0, 0 ) short -> zero-ref "field V46._token (fldOffset=0x8)" P-INDEP
;* V137 tmp131 [V137 ] ( 0, 0 ) ubyte -> zero-ref "field V46._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V138 tmp132 [V138,T38] ( 2, 8 ) ref -> x21 "field V50._obj (fldOffset=0x0)" P-INDEP
; V139 tmp133 [V139,T42] ( 2, 8 ) short -> x22 "field V50._token (fldOffset=0x8)" P-INDEP
;* V140 tmp134 [V140,T56] ( 0, 0 ) ubyte -> zero-ref "field V50._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V141 tmp135 [V141 ] ( 0, 0 ) ref -> zero-ref "field V51._obj (fldOffset=0x0)" P-INDEP
;* V142 tmp136 [V142 ] ( 0, 0 ) short -> zero-ref "field V51._token (fldOffset=0x8)" P-INDEP
;* V143 tmp137 [V143 ] ( 0, 0 ) ubyte -> zero-ref "field V51._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V144 tmp138 [V144 ] ( 0, 0 ) ref -> zero-ref "field V67._object (fldOffset=0x0)" P-INDEP
;* V145 tmp139 [V145 ] ( 0, 0 ) int -> zero-ref "field V67._index (fldOffset=0x8)" P-INDEP
;* V146 tmp140 [V146 ] ( 0, 0 ) int -> zero-ref "field V67._length (fldOffset=0xc)" P-INDEP
; V147 tmp141 [V147,T39] ( 2, 8 ) ref -> x0 "field V68._obj (fldOffset=0x0)" P-INDEP
; V148 tmp142 [V148,T43] ( 2, 8 ) short -> x1 "field V68._token (fldOffset=0x8)" P-INDEP
;* V149 tmp143 [V149,T57] ( 0, 0 ) ubyte -> zero-ref "field V68._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V150 tmp144 [V150 ] ( 0, 0 ) ref -> zero-ref "field V69._obj (fldOffset=0x0)" P-INDEP
;* V151 tmp145 [V151 ] ( 0, 0 ) short -> zero-ref "field V69._token (fldOffset=0x8)" P-INDEP
;* V152 tmp146 [V152 ] ( 0, 0 ) ubyte -> zero-ref "field V69._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V153 tmp147 [V153,T28] ( 3, 12 ) ref -> x21 "V34.[000..008)"
;* V154 tmp148 [V154 ] ( 0, 0 ) int -> zero-ref "V34.[008..012)"
; V155 tmp149 [V155,T32] ( 3, 12 ) short -> x22 "V34.[012..014)"
;* V156 tmp150 [V156 ] ( 0, 0 ) ubyte -> zero-ref "V34.[014..015)"
; V157 tmp151 [V157,T09] ( 3, 24 ) ref -> x0 "argument with side effect"
; V158 tmp152 [V158,T48] ( 2, 4 ) ref -> x1 "argument with side effect"
; V159 tmp153 [V159,T49] ( 2, 4 ) ref -> x1 "argument with side effect"
; V160 tmp154 [V160,T50] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V161 PSPSym [V161,T68] ( 1, 1 ) long -> [fp+0x88] do-not-enreg[V] "PSPSym"
; V162 cse0 [V162,T60] ( 3, 3 ) ref -> x19 "CSE #14: conservative"
; V163 cse1 [V163,T63] ( 3, 3 ) int -> x1 "CSE #15: conservative"
; V164 cse2 [V164,T23] ( 7, 14 ) byref -> x0 "CSE #16: moderate"
; V165 cse3 [V165,T33] ( 3, 12 ) int -> x4 "CSE #02: moderate"
; V166 cse4 [V166,T29] ( 3, 12 ) ref -> x20 "CSE #04: moderate"
; V167 rat0 [V167,T19] ( 2, 16 ) ref -> x21 "Spilling to split statement for tree"
;
; Lcl frame size = 128
G_M43819_IG01:
stp fp, lr, [sp, #-0xB0]!
stp x19, x20, [sp, #0x90]
stp x21, x22, [sp, #0xA0]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp xzr, xzr, [x9, #0x60]
add x1, sp, #176
str x1, [fp, #0x88] // [V161 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=52 bbWeight=1 PerfScore 11.00
G_M43819_IG02:
ldr w1, [x0, #0x20]
;; size=4 bbWeight=1 PerfScore 3.00
G_M43819_IG03:
cbnz w1, G_M43819_IG06
;; size=4 bbWeight=1 PerfScore 1.00
G_M43819_IG04:
ldp x1, x2, [x0, #0x48]
stp x1, x2, [fp, #0x78]
;; size=8 bbWeight=1 PerfScore 5.00
G_M43819_IG05:
stp xzr, xzr, [x0, #0x48]
movn w1, #0
str w1, [x0, #0x20]
mov x19, x0
b G_M43819_IG24
;; size=20 bbWeight=1 PerfScore 4.00
G_M43819_IG06:
cmp w1, #1
bne G_M43819_IG09
;; size=8 bbWeight=1 PerfScore 1.50
G_M43819_IG07:
ldp x1, x2, [x0, #0x48]
stp x1, x2, [fp, #0x78]
;; size=8 bbWeight=1 PerfScore 5.00
G_M43819_IG08:
stp xzr, xzr, [x0, #0x48]
movn w1, #0
str w1, [x0, #0x20]
mov x19, x0
b G_M43819_IG29
;; size=20 bbWeight=1 PerfScore 4.00
G_M43819_IG09:
add x2, x0, #48
ldr x1, [x2]
cbnz x1, G_M43819_IG13
;; size=12 bbWeight=1 PerfScore 4.50
G_M43819_IG10:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M43819_IG35
;; size=20 bbWeight=1 PerfScore 5.50
G_M43819_IG11:
movz x1, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x2, [x0, #0x18]
mov x3, #0xD1FFAB1E
cmp x2, #1, LSL #12
csel x2, x3, x2, ge
mov x0, x1
mov w1, w2
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x19, [fp, #0x10] // [V00 this]
add x14, x19, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x14, [x19, #0x18]
cmp x14, #0
ble G_M43819_IG33
- ;; size=88 bbWeight=1 PerfScore 26.50
+ ;; size=92 bbWeight=1 PerfScore 27.00
G_M43819_IG12:
ldr x14, [x19, #0x18]
cmp x14, #1, LSL #12
bge G_M43819_IG14
b G_M43819_IG15
;; size=16 bbWeight=4 PerfScore 22.00
G_M43819_IG13:
ldr x1, [x2]
add x1, x1, #32
ldapr w1, [x1]
cbz w1, G_M43819_IG10
b G_M43819_IG41
;; size=20 bbWeight=1 PerfScore 8.50
G_M43819_IG14:
mov x14, #0xD1FFAB1E
;; size=4 bbWeight=4 PerfScore 2.00
G_M43819_IG15:
str w14, [x19, #0x24]
ldr x15, [x19, #0x10]
ldr w0, [x19, #0x24]
cbz x15, G_M43819_IG16
ldr w14, [x15, #0x08]
cmp w14, w0
blo G_M43819_IG40
b G_M43819_IG17
;; size=32 bbWeight=4 PerfScore 54.00
G_M43819_IG16:
cbnz w0, G_M43819_IG40
mov x15, xzr
mov w0, wzr
;; size=12 bbWeight=4 PerfScore 8.00
G_M43819_IG17:
add x14, x19, #56
bl CORINFO_HELP_CHECKED_ASSIGN_REF
stp wzr, w0, [x19, #0x40]
ldr x0, [x19]
ldr x1, [x19, #0x10]
ldr w2, [x19, #0x24]
ldr x3, [x19, #0x30]
ldrsb wzr, [x0]
cbz x1, G_M43819_IG39
ldr w4, [x1, #0x08]
cmp w4, w2
blo G_M43819_IG38
cmp w4, w2
blo G_M43819_IG40
stp xzr, xzr, [fp, #0x30]
str x0, [fp, #0x18] // [V32 tmp26]
str x1, [fp, #0x40] // [V32 tmp26+0x28]
stp wzr, w2, [fp, #0x48] // [V32 tmp26+0x30], [V32 tmp26+0x34]
str w2, [fp, #0x24] // [V32 tmp26+0x0c]
mov w0, #1
strb w0, [fp, #0x2C] // [V32 tmp26+0x14]
str x3, [fp, #0x50] // [V32 tmp26+0x38]
movn w0, #0
str w0, [fp, #0x20] // [V32 tmp26+0x08]
add x0, fp, #24 // [V32 tmp26]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.IO.Stream+<ReadAtLeastAsyncCore>d__46](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x20, [fp, #0x30] // [V32 tmp26+0x18]
mov x21, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M43819_IG36
;; size=148 bbWeight=4 PerfScore 190.00
G_M43819_IG18:
movz x0, #0xD1FFAB1E // data for System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]:s_syncSuccessSentinel
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
cmp x21, x0
bne G_M43819_IG19
mov x21, xzr
mov w22, wzr
b G_M43819_IG21
- ;; size=32 bbWeight=4 PerfScore 30.00
+ ;; size=36 bbWeight=4 PerfScore 32.00
G_M43819_IG19:
mov x21, x20
cbnz x21, G_M43819_IG20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
str x21, [fp, #0x30] // [V32 tmp26+0x18]
;; size=32 bbWeight=4 PerfScore 22.00
G_M43819_IG20:
ldrsh w22, [x21, #0x3C]
;; size=4 bbWeight=4 PerfScore 12.00
G_M43819_IG21:
str x21, [fp, #0x78] // [V02 loc1]
strh w22, [fp, #0x80] // [V02 loc1+0x08]
strb wzr, [fp, #0x82] // [V02 loc1+0x0a]
ldr x20, [fp, #0x78] // [V02 loc1]
cbz x20, G_M43819_IG24
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M43819_IG23
mov x0, x20
ldrsh w1, [fp, #0x80] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M43819_IG24
;; size=92 bbWeight=4 PerfScore 94.00
G_M43819_IG22:
str wzr, [x19, #0x20]
add x14, x19, #72
add x13, fp, #120 // [V02 loc1]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x19, #40
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHelpers+<CopyBytesAsync>d__9](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #120 // [V02 loc1]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M43819_IG55
;; size=84 bbWeight=1 PerfScore 21.00
G_M43819_IG23:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
beq G_M43819_IG22
;; size=20 bbWeight=4 PerfScore 22.00
G_M43819_IG24:
ldr x20, [fp, #0x78] // [V02 loc1]
cbz x20, G_M43819_IG26
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M43819_IG25
mov x0, x20
ldrsh w1, [fp, #0x80] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M43819_IG26
;; size=80 bbWeight=4 PerfScore 82.00
G_M43819_IG25:
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M43819_IG26
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=52 bbWeight=4 PerfScore 50.00
G_M43819_IG26:
ldr x0, [x19, #0x08]
ldp x1, x2, [x19, #0x38]
ldr x3, [x19, #0x30]
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4]
blr x4
stp x0, x1, [fp, #0x68] // [V03 loc2], [V03 loc2+0x08]
ldrsh x1, [fp, #0x70] // [V103 tmp97]
ldr x0, [fp, #0x68] // [V102 tmp96]
str x0, [fp, #0x78] // [V02 loc1]
strh w1, [fp, #0x80] // [V02 loc1+0x08]
strb wzr, [fp, #0x82] // [V02 loc1+0x0a]
ldr x20, [fp, #0x78] // [V02 loc1]
cbz x20, G_M43819_IG29
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M43819_IG28
mov x0, x20
ldrsh w1, [fp, #0x80] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M43819_IG29
;; size=132 bbWeight=4 PerfScore 194.00
G_M43819_IG27:
mov w14, #1
str w14, [x19, #0x20]
add x14, x19, #72
add x13, fp, #120 // [V02 loc1]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x19, #40
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHelpers+<CopyBytesAsync>d__9](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #120 // [V02 loc1]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M43819_IG55
;; size=88 bbWeight=1 PerfScore 21.50
G_M43819_IG28:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
beq G_M43819_IG27
;; size=20 bbWeight=4 PerfScore 22.00
G_M43819_IG29:
ldr x20, [fp, #0x78] // [V02 loc1]
cbz x20, G_M43819_IG32
;; size=8 bbWeight=8 PerfScore 24.00
G_M43819_IG30:
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M43819_IG31
mov x0, x20
ldrsh w1, [fp, #0x80] // [V02 loc1+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M43819_IG32
;; size=72 bbWeight=4 PerfScore 70.00
G_M43819_IG31:
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M43819_IG32
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=52 bbWeight=4 PerfScore 50.00
G_M43819_IG32:
ldr x0, [x19, #0x18]
ldr w1, [x19, #0x24]
sub x0, x0, w1, SXTW
str x0, [x19, #0x18]
stp xzr, xzr, [x19, #0x38]
ldr x0, [x19, #0x18]
cmp x0, #0
bgt G_M43819_IG12
;; size=32 bbWeight=8 PerfScore 108.00
G_M43819_IG33:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M43819_IG37
;; size=20 bbWeight=1 PerfScore 5.50
G_M43819_IG34:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr x1, [x19, #0x10]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
b G_M43819_IG42
- ;; size=48 bbWeight=1 PerfScore 17.00
+ ;; size=52 bbWeight=1 PerfScore 17.50
G_M43819_IG35:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
ldr x0, [fp, #0x10] // [V00 this]
b G_M43819_IG11
align [0 bytes for IG45]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=24 bbWeight=0 PerfScore 0.00
G_M43819_IG36:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M43819_IG18
;; size=20 bbWeight=0 PerfScore 0.00
G_M43819_IG37:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M43819_IG34
;; size=20 bbWeight=0 PerfScore 0.00
G_M43819_IG38:
mov w0, #27
mov w1, #16
movz x2, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
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_M43819_IG39:
mov w0, #88
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_M43819_IG40:
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_M43819_IG41:
mov x0, x2
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M43819_IG42:
movn w0, #1
str w0, [x19, #0x20]
str xzr, [x19, #0x10]
add x19, x19, #40
ldr x0, [x19]
cbz x0, G_M43819_IG53
ldr x20, [x19]
mov w21, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M43819_IG56
;; size=52 bbWeight=1 PerfScore 16.00
G_M43819_IG43:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
ldrb w0, [x19, #0x9D]
cbz w0, G_M43819_IG44
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w22, w0
ldrb w1, [x19, #0x9D]
cbz w1, G_M43819_IG44
ldr x3, [x19, #0x80]
ldr w2, [x19, #0x98]
mov x0, x19
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M43819_IG44
mov x0, x19
mov w2, w22
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M43819_IG44:
add x0, x20, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M43819_IG57
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M43819_IG51
ldapr w1, [x0]
b G_M43819_IG46
;; size=48 bbWeight=1 PerfScore 15.00
G_M43819_IG45:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M43819_IG46:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M43819_IG48
;; size=12 bbWeight=8 PerfScore 16.00
G_M43819_IG47:
mov w2, wzr
b G_M43819_IG50
;; size=8 bbWeight=1 PerfScore 1.50
G_M43819_IG48:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M43819_IG45
;; size=20 bbWeight=8 PerfScore 44.00
G_M43819_IG49:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M43819_IG50:
cbz w2, G_M43819_IG57
;; size=4 bbWeight=1 PerfScore 1.00
G_M43819_IG51:
strb w21, [x20, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x21, [x20, #0x28]
cbz x21, G_M43819_IG52
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x21, #16
ldapr x0, [x0]
cbz x0, G_M43819_IG52
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M43819_IG52:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M43819_IG55
;; size=28 bbWeight=1 PerfScore 7.00
G_M43819_IG53:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M43819_IG58
;; size=20 bbWeight=1 PerfScore 5.50
G_M43819_IG54:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x19
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M43819_IG55:
ldp x21, x22, [sp, #0xA0]
ldp x19, x20, [sp, #0x90]
ldp fp, lr, [sp], #0xB0
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M43819_IG56:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M43819_IG43
;; size=20 bbWeight=0 PerfScore 0.00
G_M43819_IG57:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M43819_IG58:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M43819_IG54
;; size=20 bbWeight=0 PerfScore 0.00
G_M43819_IG59:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #176
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M43819_IG60:
mov x1, x0
movn w0, #1
ldr x19, [fp, #0x10] // [V00 this]
str w0, [x19, #0x20]
str xzr, [x19, #0x10]
add x0, x19, #40
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M43819_IG55]
;; size=48 bbWeight=0 PerfScore 0.00
G_M43819_IG61:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2132, prolog size 52, PerfScore 1391.50, instruction count 537, allocated bytes for code 2132 (MethodHash=685954d4) for method System.Formats.Tar.TarHelpers+<CopyBytesAsync>d__9:MoveNext():this (FullOpts)
+; Total bytes of code 2152, prolog size 52, PerfScore 1395.50, instruction count 542, allocated bytes for code 2152 (MethodHash=685954d4) for method System.Formats.Tar.TarHelpers+<CopyBytesAsync>d__9:MoveNext():this (FullOpts)
16 (0.77 % of base) - System.DirectoryServices.Protocols.DirectoryAttribute:GetValues(System.Type):System.Object[]:this
; Assembly listing for method System.DirectoryServices.Protocols.DirectoryAttribute:GetValues(System.Type):System.Object[]: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; 11 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T02] ( 20, 23 ) ref -> x19 this class-hnd single-def <System.DirectoryServices.Protocols.DirectoryAttribute>
; V01 arg1 [V01,T26] ( 4, 3.50) ref -> x1 class-hnd single-def <System.Type>
; V02 loc0 [V02,T24] ( 6, 5.75) int -> x21 single-def
; V03 loc1 [V03,T27] ( 9, 5.29) ref -> x22 class-hnd exact single-def <ubyte[][]>
; V04 loc2 [V04,T00] ( 21, 26.54) int -> x23
;* V05 loc3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Object[]>
; V06 loc4 [V06,T25] ( 6, 5.75) int -> x21 single-def
; V07 loc5 [V07,T28] ( 9, 5.29) ref -> x22 class-hnd exact single-def <System.String[]>
; V08 loc6 [V08,T01] ( 21, 26.54) int -> x23
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V10 tmp1 [V10,T41] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
; V11 tmp2 [V11,T04] ( 6, 18 ) ref -> x0 "ISINST eval op1"
;* V12 tmp3 [V12 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V13 tmp4 [V13,T42] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.NotSupportedException>
; V14 tmp5 [V14,T15] ( 4, 8 ) ref -> x24 class-hnd exact "impAppendStmt" <System.Text.UTF8Encoding>
; V15 tmp6 [V15,T16] ( 4, 8 ) ref -> x0 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
; V16 tmp7 [V16,T17] ( 4, 8 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
; V17 tmp8 [V17,T05] ( 6, 18 ) ref -> x0 "ISINST eval op1"
;* V18 tmp9 [V18 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V19 tmp10 [V19,T43] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.NotSupportedException>
; V20 tmp11 [V20,T18] ( 4, 8 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <ubyte[]>
;* V21 tmp12 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Text.UTF8Encoding>
; V22 tmp13 [V22,T19] ( 4, 8 ) ref -> x0 class-hnd "Strict ordering of exceptions for Array store" <ubyte[]>
; V23 tmp14 [V23,T06] ( 8, 16 ) ref -> x1 class-hnd "Inlining Arg" <ubyte[]>
; V24 tmp15 [V24,T44] ( 2, 0 ) ref -> x20 single-def "argument with side effect"
; V25 tmp16 [V25,T45] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
; V26 tmp17 [V26,T20] ( 4, 8 ) ref -> x0 "argument with side effect"
; V27 tmp18 [V27,T46] ( 2, 0 ) ref -> x1 "argument with side effect"
; V28 tmp19 [V28,T11] ( 6, 9 ) ref -> x0 "argument with side effect"
; V29 tmp20 [V29,T13] ( 6, 8 ) ref -> x1 "argument with side effect"
; V30 tmp21 [V30,T21] ( 4, 8 ) ref -> x0 "argument with side effect"
; V31 tmp22 [V31,T47] ( 2, 0 ) ref -> x1 "argument with side effect"
; V32 tmp23 [V32,T12] ( 6, 9 ) ref -> x0 "argument with side effect"
; V33 tmp24 [V33,T14] ( 6, 8 ) ref -> x0 "argument with side effect"
; V34 tmp25 [V34,T22] ( 4, 8 ) ref -> x1 "argument with side effect"
; V35 tmp26 [V35,T23] ( 4, 8 ) ref -> x24 "argument with side effect"
; V36 cse0 [V36,T03] ( 20, 22 ) long -> x20 multi-def "CSE #01: aggressive"
; V37 rat0 [V37,T09] ( 4, 13.86) ref -> x1 "replacement local"
; V38 rat1 [V38,T31] ( 3, 3.96) long -> x2 "CSE for expectedClsNode"
; V39 rat2 [V39,T07] ( 5, 14.85) ref -> x15 "replacement local"
; V40 rat3 [V40,T29] ( 3, 4.95) long -> x2 "CSE for expectedClsNode"
; V41 rat4 [V41,T35] ( 4, 0.14) ref -> x1 "replacement local"
; V42 rat5 [V42,T39] ( 3, 0.04) long -> x2 "CSE for expectedClsNode"
; V43 rat6 [V43,T33] ( 5, 0.15) ref -> x15 "replacement local"
; V44 rat7 [V44,T37] ( 3, 0.05) long -> x2 "CSE for expectedClsNode"
; V45 rat8 [V45,T10] ( 4, 13.86) ref -> x15 "replacement local"
; V46 rat9 [V46,T32] ( 3, 3.96) long -> x0 "CSE for expectedClsNode"
; V47 rat10 [V47,T08] ( 5, 14.85) ref -> x1 "replacement local"
; V48 rat11 [V48,T30] ( 3, 4.95) long -> x2 "CSE for expectedClsNode"
; V49 rat12 [V49,T36] ( 4, 0.14) ref -> x15 "replacement local"
; V50 rat13 [V50,T40] ( 3, 0.04) long -> x0 "CSE for expectedClsNode"
; V51 rat14 [V51,T34] ( 5, 0.15) ref -> x1 "replacement local"
; V52 rat15 [V52,T38] ( 3, 0.05) long -> x2 "CSE for expectedClsNode"
;
; Lcl frame size = 0
G_M21950_IG01:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x10]
stp x21, x22, [sp, #0x20]
stp x23, x24, [sp, #0x30]
mov fp, sp
mov x19, x0
;; size=24 bbWeight=1 PerfScore 5.00
G_M21950_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x1, x0
beq G_M21950_IG27
;; size=20 bbWeight=1 PerfScore 3.00
G_M21950_IG03:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x1, x0
bne G_M21950_IG55
mov x0, x19
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
sub x11, x20, #40
ldr xip0, [x11]
blr xip0
sxtw w21, w0
sxtw x1, w21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
mov x22, x0
mov w23, wzr
cmp w21, #0
ble G_M21950_IG15
;; size=88 bbWeight=0.50 PerfScore 7.75
G_M21950_IG04:
ldr w0, [x22, #0x08]
cmp w0, w21
blt G_M21950_IG17
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M21950_IG05:
mov x0, x19
mov w1, w23
sub x11, x20, #32
ldr xip0, [x11]
blr xip0
cbz x0, G_M21950_IG07
;; size=24 bbWeight=3.96 PerfScore 25.74
G_M21950_IG06:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
beq G_M21950_IG11
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG07:
mov x0, x19
mov w1, w23
sub 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_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M21950_IG53
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x24, [x0]
mov x0, x19
mov w1, w23
sub x11, x20, #16
ldr xip0, [x11]
blr xip0
mov x1, x0
cbz x1, G_M21950_IG10
- ;; size=100 bbWeight=1.98 PerfScore 49.50
+ ;; size=104 bbWeight=1.98 PerfScore 50.49
G_M21950_IG08:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x1]
cmp x3, x2
beq G_M21950_IG10
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG09:
mov x1, x0
mov x0, x2
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
;; size=32 bbWeight=0.49 PerfScore 3.47
G_M21950_IG10:
cbz x1, G_M21950_IG52
ldr w3, [x1, #0x08]
mov x0, x24
mov w2, wzr
movz x4, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetString(ubyte[],int,int):System.String:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
add x14, x22, #16
add x14, x14, x23, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M21950_IG14
;; size=56 bbWeight=1.98 PerfScore 28.71
G_M21950_IG11:
mov x0, x19
mov w1, w23
sub x11, x20, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
mov x15, x1
cbz x15, G_M21950_IG13
;; size=32 bbWeight=1.98 PerfScore 14.85
G_M21950_IG12:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x14, [x15]
cmp x14, x0
bne G_M21950_IG51
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG13:
add x14, x22, #16
add x14, x14, x23, LSL #3
bl CORINFO_HELP_ASSIGN_REF
;; size=12 bbWeight=1.98 PerfScore 4.95
G_M21950_IG14:
add w23, w23, #1
cmp w23, w21
blt G_M21950_IG05
;; size=12 bbWeight=3.96 PerfScore 7.92
G_M21950_IG15:
mov x0, x22
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M21950_IG16:
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x40
ret lr
;; size=20 bbWeight=0.50 PerfScore 2.50
G_M21950_IG17:
mov x0, x19
mov w1, w23
sub x11, x20, #32
ldr xip0, [x11]
blr xip0
cbz x0, G_M21950_IG19
;; size=24 bbWeight=0.04 PerfScore 0.26
G_M21950_IG18:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
beq G_M21950_IG23
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG19:
mov x0, x19
mov w1, w23
sub 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_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M21950_IG53
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x24, [x0]
mov x0, x19
mov w1, w23
sub x11, x20, #16
ldr xip0, [x11]
blr xip0
mov x1, x0
cbz x1, G_M21950_IG22
- ;; size=100 bbWeight=0.02 PerfScore 0.50
+ ;; size=104 bbWeight=0.02 PerfScore 0.51
G_M21950_IG20:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x1]
cmp x3, x2
beq G_M21950_IG22
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG21:
mov x1, x0
mov x0, x2
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
;; size=32 bbWeight=0.01 PerfScore 0.04
G_M21950_IG22:
cbz x1, G_M21950_IG52
ldr w3, [x1, #0x08]
mov x0, x24
mov w2, wzr
movz x4, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetString(ubyte[],int,int):System.String:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
ldr w14, [x22, #0x08]
cmp w23, w14
bhs G_M21950_IG59
add x14, x22, #16
add x14, x14, x23, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M21950_IG26
;; size=68 bbWeight=0.02 PerfScore 0.38
G_M21950_IG23:
mov x0, x19
mov w1, w23
sub x11, x20, #8
ldr xip0, [x11]
blr xip0
mov x1, x0
mov x15, x1
cbz x15, G_M21950_IG25
;; size=32 bbWeight=0.02 PerfScore 0.15
G_M21950_IG24:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x14, [x15]
cmp x14, x0
bne G_M21950_IG54
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG25:
ldr w14, [x22, #0x08]
cmp w23, w14
bhs G_M21950_IG59
add x14, x22, #16
add x14, x14, x23, LSL #3
bl CORINFO_HELP_ASSIGN_REF
;; size=24 bbWeight=0.02 PerfScore 0.14
G_M21950_IG26:
add w23, w23, #1
cmp w23, w21
blt G_M21950_IG17
b G_M21950_IG15
;; size=16 bbWeight=0.04 PerfScore 0.12
G_M21950_IG27:
mov x0, x19
movz x20, #0xD1FFAB1E // code for System.Collections.ICollection:get_Count():int:this
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
mov x11, x20
ldr xip0, [x11]
blr xip0
sxtw w21, w0
sxtw x1, w21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
mov x22, x0
mov w23, wzr
cmp w21, #0
ble G_M21950_IG39
;; size=68 bbWeight=0.50 PerfScore 6.25
G_M21950_IG28:
ldr w0, [x22, #0x08]
cmp w0, w21
blt G_M21950_IG41
;; size=12 bbWeight=0.25 PerfScore 1.12
G_M21950_IG29:
mov x0, x19
mov w1, w23
add x11, x20, #8
ldr xip0, [x11]
blr xip0
cbz x0, G_M21950_IG31
;; size=24 bbWeight=3.96 PerfScore 25.74
G_M21950_IG30:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
beq G_M21950_IG35
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG31:
mov x0, x19
mov w1, w23
add x11, x20, #16
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_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M21950_IG57
mov x0, x19
mov w1, w23
add x11, x20, #24
ldr xip0, [x11]
blr xip0
mov x15, x0
cbz x15, G_M21950_IG34
;; size=88 bbWeight=1.98 PerfScore 41.58
G_M21950_IG32:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x1, [x15]
cmp x1, x2
beq G_M21950_IG34
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG33:
mov x1, x0
mov x0, x2
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x15, x0
;; size=32 bbWeight=0.49 PerfScore 3.47
G_M21950_IG34:
add x14, x22, #16
add x14, x14, x23, LSL #3
bl CORINFO_HELP_ASSIGN_REF
b G_M21950_IG38
;; size=16 bbWeight=1.98 PerfScore 6.93
G_M21950_IG35:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x24, [x0]
mov x0, x19
mov w1, w23
add x11, x20, #32
ldr xip0, [x11]
blr xip0
mov x1, x0
cbz x1, G_M21950_IG37
- ;; size=40 bbWeight=1.98 PerfScore 21.78
+ ;; size=44 bbWeight=1.98 PerfScore 22.77
G_M21950_IG36:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x1]
cmp x3, x2
bne G_M21950_IG56
;; size=24 bbWeight=0.99 PerfScore 5.94
G_M21950_IG37:
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x22, #16
add x14, x14, x23, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
;; size=40 bbWeight=1.98 PerfScore 17.82
G_M21950_IG38:
add w23, w23, #1
cmp w23, w21
blt G_M21950_IG29
;; size=12 bbWeight=3.96 PerfScore 7.92
G_M21950_IG39:
mov x0, x22
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M21950_IG40:
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x40
ret lr
;; size=20 bbWeight=0.50 PerfScore 2.50
G_M21950_IG41:
mov x0, x19
mov w1, w23
add x11, x20, #8
ldr xip0, [x11]
blr xip0
cbz x0, G_M21950_IG43
;; size=24 bbWeight=0.04 PerfScore 0.26
G_M21950_IG42:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
beq G_M21950_IG47
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG43:
mov x0, x19
mov w1, w23
add x11, x20, #16
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_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M21950_IG57
mov x0, x19
mov w1, w23
add x11, x20, #24
ldr xip0, [x11]
blr xip0
mov x15, x0
cbz x15, G_M21950_IG46
;; size=88 bbWeight=0.02 PerfScore 0.42
G_M21950_IG44:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x1, [x15]
cmp x1, x2
beq G_M21950_IG46
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG45:
mov x1, x0
mov x0, x2
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x15, x0
;; size=32 bbWeight=0.01 PerfScore 0.04
G_M21950_IG46:
ldr w14, [x22, #0x08]
cmp w23, w14
bhs G_M21950_IG59
add x14, x22, #16
add x14, x14, x23, LSL #3
bl CORINFO_HELP_ASSIGN_REF
b G_M21950_IG50
;; size=28 bbWeight=0.02 PerfScore 0.16
G_M21950_IG47:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x24, [x0]
mov x0, x19
mov w1, w23
add x11, x20, #32
ldr xip0, [x11]
blr xip0
mov x1, x0
cbz x1, G_M21950_IG49
- ;; size=40 bbWeight=0.02 PerfScore 0.22
+ ;; size=44 bbWeight=0.02 PerfScore 0.23
G_M21950_IG48:
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x3, [x1]
cmp x3, x2
bne G_M21950_IG58
;; size=24 bbWeight=0.01 PerfScore 0.06
G_M21950_IG49:
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr w14, [x22, #0x08]
cmp w23, w14
bhs G_M21950_IG59
add x14, x22, #16
add x14, x14, x23, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
;; size=52 bbWeight=0.02 PerfScore 0.27
G_M21950_IG50:
add w23, w23, #1
cmp w23, w21
blt G_M21950_IG41
b G_M21950_IG39
;; size=16 bbWeight=0.04 PerfScore 0.12
G_M21950_IG51:
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=24 bbWeight=0 PerfScore 0.00
G_M21950_IG52:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=44 bbWeight=0 PerfScore 0.00
G_M21950_IG53:
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_DirectoryAttributeConversion():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.NotSupportedException:.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_M21950_IG54:
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=24 bbWeight=0 PerfScore 0.00
G_M21950_IG55:
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_ValidDirectoryAttributeType():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_M21950_IG56:
mov x1, x0
mov x0, x2
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_M21950_IG57:
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_DirectoryAttributeConversion():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.NotSupportedException:.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_M21950_IG58:
mov x1, x0
mov x0, x2
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_M21950_IG59:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2088, prolog size 20, PerfScore 329.19, instruction count 522, allocated bytes for code 2088 (MethodHash=9eddaa41) for method System.DirectoryServices.Protocols.DirectoryAttribute:GetValues(System.Type):System.Object[]:this (FullOpts)
+; Total bytes of code 2104, prolog size 20, PerfScore 331.19, instruction count 526, allocated bytes for code 2104 (MethodHash=9eddaa41) for method System.DirectoryServices.Protocols.DirectoryAttribute:GetValues(System.Type):System.Object[]:this (FullOpts)
16 (0.96 % of base) - System.Formats.Tar.TarHeader+d__64:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarHeader+<ReadExtendedAttributesBlockAsync>d__64:MoveNext():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; 34 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 30, 28 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T47] ( 2, 2 ) int -> x1
; V02 loc1 [V02,T09] ( 7, 7 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarHeader>
; V03 loc2 [V03 ] ( 10, 10 ) struct (16) [fp+0x78] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Threading.Tasks.ValueTask>
;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V06 loc5 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V09 tmp2 [V09 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V10 tmp3 [V10 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V11 tmp4 [V11,T61] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V12 tmp5 [V12,T19] ( 3, 4 ) byref -> x1 single-def "Inlining Arg"
;* V13 tmp6 [V13,T57] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V14 tmp7 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V15 tmp8 [V15,T06] ( 4, 8 ) ref -> x15 class-hnd single-def "Inlining Arg" <ubyte[]>
; V16 tmp9 [V16,T08] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V17 tmp10 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V18 tmp11 [V18,T13] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V19 tmp12 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
;* V20 tmp13 [V20 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]>
;* V21 tmp14 [V21 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
; V22 tmp15 [V22 ] ( 3, 6 ) struct (16) [fp+0x68] do-not-enreg[SBR] multireg-ret must-init "spilled call-like call argument" <System.Threading.Tasks.ValueTask`1[int]>
; V23 tmp16 [V23 ] ( 11, 11 ) struct (80) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.IO.Stream+<ReadAtLeastAsyncCore>d__46>
;* V24 tmp17 [V24 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V25 tmp18 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]>
;* V26 tmp19 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V27 tmp20 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V28 tmp21 [V28 ] ( 0, 0 ) short -> zero-ref "Inlining Arg"
;* V29 tmp22 [V29 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V30 tmp23 [V30 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V31 tmp24 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V32 tmp25 [V32 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V33 tmp26 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Object>
; V34 tmp27 [V34,T24] ( 2, 4 ) short -> x1 "Inlining Arg"
;* V35 tmp28 [V35 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V36 tmp29 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V37 tmp30 [V37,T16] ( 4, 4 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V38 tmp31 [V38,T27] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V39 tmp32 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V40 tmp33 [V40 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V41 tmp34 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V42 tmp35 [V42 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V43 tmp36 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V44 tmp37 [V44,T17] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V45 tmp38 [V45,T18] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V46 tmp39 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V47 tmp40 [V47 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V48 tmp41 [V48,T11] ( 6, 6 ) byref -> x21 "Inline stloc first use temp"
; V49 tmp42 [V49,T12] ( 6, 6 ) int -> x22 "Inline stloc first use temp"
; V50 tmp43 [V50,T07] ( 4, 8 ) byref -> x20 single-def "Inlining Arg"
; V51 tmp44 [V51,T10] ( 7, 7 ) ref -> x1 class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V52 tmp45 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V53 tmp46 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V54 tmp47 [V54 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V55 tmp48 [V55 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
; V56 tmp49 [V56,T34] ( 3, 3 ) long -> x1 "Inline stloc first use temp"
; V57 tmp50 [V57,T35] ( 3, 3 ) int -> x2 "Inline stloc first use temp"
;* V58 tmp51 [V58 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V59 tmp52 [V59 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V60 tmp53 [V60,T20] ( 2, 4 ) byref -> x2 single-def "Inlining Arg"
;* V61 tmp54 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V62 tmp55 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V63 tmp56 [V63 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V64 tmp57 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V65 tmp58 [V65 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V66 tmp59 [V66,T14] ( 3, 6 ) byref -> x20 single-def "Inlining Arg"
;* V67 tmp60 [V67 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V68 tmp61 [V68,T03] ( 7, 14 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V69 tmp62 [V69,T25] ( 2, 4 ) struct ( 8) x22 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V70 tmp63 [V70,T05] ( 6, 12 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V71 tmp64 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V72 tmp65 [V72,T26] ( 2, 4 ) int -> x19 "Inlining Arg"
;* V73 tmp66 [V73 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V74 tmp67 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V75 tmp68 [V75,T58] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V76 tmp69 [V76,T28] ( 3, 3 ) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V77 tmp70 [V77,T48] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V78 tmp71 [V78,T15] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V79 tmp72 [V79,T36] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V80 tmp73 [V80,T00] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V81 tmp74 [V81,T02] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V82 tmp75 [V82,T29] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
;* V83 tmp76 [V83 ] ( 0, 0 ) ref -> zero-ref single-def "field V04._obj (fldOffset=0x0)" P-INDEP
;* V84 tmp77 [V84 ] ( 0, 0 ) short -> zero-ref "field V04._token (fldOffset=0x8)" P-INDEP
;* V85 tmp78 [V85 ] ( 0, 0 ) ubyte -> zero-ref "field V04._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V86 tmp79 [V86 ] ( 0, 0 ) byref -> zero-ref "field V09._reference (fldOffset=0x0)" P-INDEP
;* V87 tmp80 [V87 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
;* V88 tmp81 [V88 ] ( 0, 0 ) byref -> zero-ref "field V10._reference (fldOffset=0x0)" P-INDEP
;* V89 tmp82 [V89 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
; V90 tmp83 [V90,T30] ( 3, 3 ) ref -> x15 "field V17._object (fldOffset=0x0)" P-INDEP
;* V91 tmp84 [V91,T49] ( 0, 0 ) int -> zero-ref "field V17._index (fldOffset=0x8)" P-INDEP
; V92 tmp85 [V92,T37] ( 3, 3 ) int -> x0 "field V17._length (fldOffset=0xc)" P-INDEP
; V93 tmp86 [V93,T42] ( 2, 2 ) ref -> x1 single-def "field V19._object (fldOffset=0x0)" P-INDEP
; V94 tmp87 [V94,T50] ( 2, 2 ) int -> x2 "field V19._index (fldOffset=0x8)" P-INDEP
; V95 tmp88 [V95,T38] ( 3, 3 ) int -> x3 "field V19._length (fldOffset=0xc)" P-INDEP
;* V96 tmp89 [V96 ] ( 0, 0 ) ref -> zero-ref single-def "field V20._object (fldOffset=0x0)" P-INDEP
;* V97 tmp90 [V97 ] ( 0, 0 ) int -> zero-ref "field V20._index (fldOffset=0x8)" P-INDEP
;* V98 tmp91 [V98 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0xc)" P-INDEP
; V99 tmp92 [V99,T43] ( 2, 2 ) ref -> x4 single-def "field V21._source (fldOffset=0x0)" P-INDEP
; V100 tmp93 [V100,T40] ( 2, 3 ) ref -> [fp+0x68] do-not-enreg[] "field V22._obj (fldOffset=0x0)" P-DEP
; V101 tmp94 [V101,T55] ( 1, 2 ) int -> [fp+0x70] do-not-enreg[] "field V22._result (fldOffset=0x8)" P-DEP
; V102 tmp95 [V102,T41] ( 2, 3 ) short -> [fp+0x74] do-not-enreg[] "field V22._token (fldOffset=0xc)" P-DEP
; V103 tmp96 [V103,T56] ( 1, 2 ) ubyte -> [fp+0x76] do-not-enreg[] "field V22._continueOnCapturedContext (fldOffset=0xe)" P-DEP
;* V104 tmp97 [V104 ] ( 0, 0 ) ref -> zero-ref single-def "field V25.m_task (fldOffset=0x0)" P-INDEP
;* V105 tmp98 [V105 ] ( 0, 0 ) int -> zero-ref "field V25._result (fldOffset=0x8)" P-INDEP
;* V106 tmp99 [V106 ] ( 0, 0 ) ref -> zero-ref single-def "field V26._obj (fldOffset=0x0)" P-INDEP
; V107 tmp100 [V107,T51] ( 2, 2 ) short -> x1 "field V26._token (fldOffset=0x8)" P-INDEP
;* V108 tmp101 [V108 ] ( 0, 0 ) ubyte -> zero-ref "field V26._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V109 tmp102 [V109,T44] ( 2, 2 ) ref -> x0 single-def "field V30._obj (fldOffset=0x0)" P-INDEP
; V110 tmp103 [V110,T52] ( 2, 2 ) short -> x1 "field V30._token (fldOffset=0x8)" P-INDEP
;* V111 tmp104 [V111,T59] ( 0, 0 ) ubyte -> zero-ref "field V30._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V112 tmp105 [V112 ] ( 0, 0 ) ref -> zero-ref "field V31._obj (fldOffset=0x0)" P-INDEP
;* V113 tmp106 [V113 ] ( 0, 0 ) short -> zero-ref "field V31._token (fldOffset=0x8)" P-INDEP
;* V114 tmp107 [V114 ] ( 0, 0 ) ubyte -> zero-ref "field V31._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V115 tmp108 [V115 ] ( 0, 0 ) byref -> zero-ref "field V47._reference (fldOffset=0x0)" P-INDEP
;* V116 tmp109 [V116 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
;* V117 tmp110 [V117 ] ( 0, 0 ) byref -> zero-ref single-def "field V52._reference (fldOffset=0x0)" P-INDEP
;* V118 tmp111 [V118 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
;* V119 tmp112 [V119 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-DEP
;* V120 tmp113 [V120 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-DEP
; V121 tmp114 [V121,T45] ( 2, 2 ) byref -> x21 "field V55._reference (fldOffset=0x0)" P-INDEP
; V122 tmp115 [V122,T53] ( 2, 2 ) int -> x22 "field V55._length (fldOffset=0x8)" P-INDEP
;* V123 tmp116 [V123 ] ( 0, 0 ) byref -> zero-ref single-def "field V61._reference (fldOffset=0x0)" P-INDEP
;* V124 tmp117 [V124 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
;* V125 tmp118 [V125 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP
;* V126 tmp119 [V126 ] ( 0, 0 ) int -> zero-ref "field V62._length (fldOffset=0x8)" P-INDEP
; V127 tmp120 [V127,T46] ( 2, 2 ) byref -> x21 single-def "field V63._reference (fldOffset=0x0)" P-INDEP
; V128 tmp121 [V128,T54] ( 2, 2 ) int -> x22 "field V63._length (fldOffset=0x8)" P-INDEP
; V129 tmp122 [V129,T21] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V130 tmp123 [V130,T22] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V131 tmp124 [V131,T23] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V132 PSPSym [V132,T60] ( 1, 1 ) long -> [fp+0x88] do-not-enreg[V] "PSPSym"
; V133 cse0 [V133,T31] ( 3, 3 ) ref -> x20 "CSE #13: moderate"
; V134 cse1 [V134,T39] ( 3, 3 ) int -> x1 "CSE #14: moderate"
; V135 cse2 [V135,T04] ( 7, 14 ) byref -> x0 "CSE #15: aggressive"
; V136 cse3 [V136,T32] ( 3, 3 ) ref -> x2 "CSE #01: moderate"
; V137 cse4 [V137,T33] ( 3, 3 ) ref -> x21 "CSE #09: moderate"
;
; Lcl frame size = 128
G_M64949_IG01:
stp fp, lr, [sp, #-0xB0]!
stp x19, x20, [sp, #0x90]
stp x21, x22, [sp, #0xA0]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
stp xzr, xzr, [x9, #0x60]
add x1, sp, #176
str x1, [fp, #0x88] // [V132 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=52 bbWeight=1 PerfScore 11.00
G_M64949_IG02:
ldr w1, [x0, #0x18]
ldr x19, [x0]
;; size=8 bbWeight=1 PerfScore 6.00
G_M64949_IG03:
cbnz w1, G_M64949_IG07
;; size=4 bbWeight=1 PerfScore 1.00
G_M64949_IG04:
ldp x1, x2, [x0, #0x40]
stp x1, x2, [fp, #0x78]
;; size=8 bbWeight=1 PerfScore 5.00
G_M64949_IG05:
stp xzr, xzr, [x0, #0x40]
movn w1, #0
str w1, [x0, #0x18]
;; size=12 bbWeight=1 PerfScore 2.50
G_M64949_IG06:
ldr x20, [fp, #0x78] // [V03 loc2]
cbz x20, G_M64949_IG17
mov x1, x20
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_M64949_IG16
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M64949_IG17
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M64949_IG17
;; size=104 bbWeight=1 PerfScore 25.00
G_M64949_IG07:
add x1, x0, #40
ldr x2, [x1]
cbnz x2, G_M64949_IG10
;; size=12 bbWeight=1 PerfScore 4.50
G_M64949_IG08:
ldr x1, [x19, #0x68]
cbz x1, G_M64949_IG26
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:ValidateSize():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M64949_IG22
;; size=52 bbWeight=1 PerfScore 15.50
G_M64949_IG09:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr w1, [x19, #0x68]
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x20, [fp, #0x10] // [V00 this]
add x14, x20, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x15, [x20, #0x10]
ldr w0, [x19, #0x68]
cbnz x15, G_M64949_IG11
cbz w0, G_M64949_IG12
b G_M64949_IG24
- ;; size=76 bbWeight=1 PerfScore 28.50
+ ;; size=80 bbWeight=1 PerfScore 29.00
G_M64949_IG10:
add x2, x2, #32
ldapr w2, [x2]
cbz w2, G_M64949_IG08
b G_M64949_IG25
;; size=16 bbWeight=1 PerfScore 5.50
G_M64949_IG11:
ldr w14, [x15, #0x08]
cmp w14, w0
blo G_M64949_IG24
b G_M64949_IG13
;; size=16 bbWeight=1 PerfScore 5.50
G_M64949_IG12:
mov x15, xzr
mov w0, wzr
;; size=8 bbWeight=1 PerfScore 1.00
G_M64949_IG13:
add x14, x20, #48
bl CORINFO_HELP_CHECKED_ASSIGN_REF
stp wzr, w0, [x20, #0x38]
ldr x0, [x20, #0x08]
ldr x1, [x20, #0x30]
ldp w2, w3, [x20, #0x38]
ldr x4, [x20, #0x28]
ldrsb wzr, [x0]
stp xzr, xzr, [fp, #0x30]
str x0, [fp, #0x18] // [V23 tmp16]
str x1, [fp, #0x40] // [V23 tmp16+0x28]
stp w2, w3, [fp, #0x48] // [V23 tmp16+0x30], [V23 tmp16+0x34]
str w3, [fp, #0x24] // [V23 tmp16+0x0c]
mov w0, #1
strb w0, [fp, #0x2C] // [V23 tmp16+0x14]
str x4, [fp, #0x50] // [V23 tmp16+0x38]
movn w0, #0
str w0, [fp, #0x20] // [V23 tmp16+0x08]
add x0, fp, #24 // [V23 tmp16]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.IO.Stream+<ReadAtLeastAsyncCore>d__46](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, fp, #48 // [V23 tmp16+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[int]:get_Task():System.Threading.Tasks.ValueTask`1[int]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
stp x0, x1, [fp, #0x68] // [V22 tmp15], [V22 tmp15+0x08]
ldrsh x1, [fp, #0x74] // [V102 tmp95]
ldr x0, [fp, #0x68] // [V100 tmp93]
str x0, [fp, #0x78] // [V03 loc2]
strh w1, [fp, #0x80] // [V03 loc2+0x08]
strb wzr, [fp, #0x82] // [V03 loc2+0x0a]
ldr x21, [fp, #0x78] // [V03 loc2]
cbz x21, G_M64949_IG06
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M64949_IG15
mov x0, x21
ldrsh w1, [fp, #0x80] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M64949_IG06
;; size=224 bbWeight=1 PerfScore 67.00
G_M64949_IG14:
ldr x20, [fp, #0x10] // [V00 this]
str wzr, [x20, #0x18]
add x14, x20, #64
add x13, fp, #120 // [V03 loc2]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x20, #32
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<ReadExtendedAttributesBlockAsync>d__64](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #120 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M64949_IG39
;; size=88 bbWeight=1 PerfScore 23.00
G_M64949_IG15:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M64949_IG06
b G_M64949_IG14
;; size=24 bbWeight=1 PerfScore 6.50
G_M64949_IG16:
mov x0, x20
ldrsh w1, [fp, #0x80] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
;; size=28 bbWeight=1 PerfScore 8.00
G_M64949_IG17:
ldr x0, [fp, #0x10] // [V00 this]
add x20, x0, #48
mov x21, xzr
mov w22, wzr
ldr x1, [x20]
cbz x1, G_M64949_IG20
ldr x2, [x1]
ldr w2, [x2]
tst w2, #0xD1FFAB1E
bne G_M64949_IG18
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
mov x21, x0
mov w22, w1
b G_M64949_IG19
;; size=72 bbWeight=1 PerfScore 27.50
G_M64949_IG18:
add x21, x1, #16
ldr w22, [x1, #0x08]
;; size=8 bbWeight=1 PerfScore 3.50
G_M64949_IG19:
ldp w1, w2, [x20, #0x08]
and w1, w1, #0xD1FFAB1E
mov w1, w1
add x3, x1, w2, UXTW
mov w4, w22
cmp x3, x4
bhi G_M64949_IG24
add x21, x21, x1
sxtw w22, w2
;; size=36 bbWeight=1 PerfScore 8.00
G_M64949_IG20:
mov x1, x21
mov w2, w22
ldr x3, [x19, #0x10]
mov x0, x19
movz x4, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:ReadExtendedAttributesFromBuffer(System.ReadOnlySpan`1[ubyte],System.String):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M64949_IG23
;; size=56 bbWeight=1 PerfScore 15.50
G_M64949_IG21:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr x20, [fp, #0x10] // [V00 this]
ldr x1, [x20, #0x10]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
str xzr, [x20, #0x10]
stp xzr, xzr, [x20, #0x30]
b G_M64949_IG26
- ;; size=60 bbWeight=1 PerfScore 21.00
+ ;; size=64 bbWeight=1 PerfScore 21.50
G_M64949_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M64949_IG09
align [0 bytes for IG29]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=0 PerfScore 0.00
G_M64949_IG23:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M64949_IG21
;; size=20 bbWeight=0 PerfScore 0.00
G_M64949_IG24:
ldr x20, [fp, #0x10] // [V00 this]
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=28 bbWeight=0 PerfScore 0.00
G_M64949_IG25:
mov x0, x1
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M64949_IG26:
movn w1, #1
ldr x0, [fp, #0x10] // [V00 this]
str w1, [x0, #0x18]
add x20, x0, #32
ldr x21, [x20]
cbz x21, G_M64949_IG37
mov w22, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M64949_IG40
;; size=48 bbWeight=1 PerfScore 14.00
G_M64949_IG27:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x20, [x0]
ldrb w0, [x20, #0x9D]
cbz w0, G_M64949_IG28
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w19, w0
ldrb w1, [x20, #0x9D]
cbz w1, G_M64949_IG28
ldr x3, [x20, #0x80]
ldr w2, [x20, #0x98]
mov x0, x20
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M64949_IG28
mov x0, x20
mov w2, w19
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M64949_IG28:
add x0, x21, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M64949_IG41
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M64949_IG35
ldapr w1, [x0]
b G_M64949_IG30
;; size=48 bbWeight=1 PerfScore 15.00
G_M64949_IG29:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M64949_IG30:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M64949_IG32
;; size=12 bbWeight=8 PerfScore 16.00
G_M64949_IG31:
mov w2, wzr
b G_M64949_IG34
;; size=8 bbWeight=1 PerfScore 1.50
G_M64949_IG32:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M64949_IG29
;; size=20 bbWeight=8 PerfScore 44.00
G_M64949_IG33:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M64949_IG34:
cbz w2, G_M64949_IG41
;; size=4 bbWeight=1 PerfScore 1.00
G_M64949_IG35:
strb w22, [x21, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x22, [x21, #0x28]
cbz x22, G_M64949_IG36
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x22, #16
ldapr x0, [x0]
cbz x0, G_M64949_IG36
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M64949_IG36:
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M64949_IG39
;; size=28 bbWeight=1 PerfScore 7.00
G_M64949_IG37:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M64949_IG42
;; size=20 bbWeight=1 PerfScore 5.50
G_M64949_IG38:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M64949_IG39:
ldp x21, x22, [sp, #0xA0]
ldp x19, x20, [sp, #0x90]
ldp fp, lr, [sp], #0xB0
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M64949_IG40:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M64949_IG27
;; size=20 bbWeight=0 PerfScore 0.00
G_M64949_IG41:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M64949_IG42:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M64949_IG38
;; size=20 bbWeight=0 PerfScore 0.00
G_M64949_IG43:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #176
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M64949_IG44:
mov x1, x0
movn w0, #1
ldr x20, [fp, #0x10] // [V00 this]
str w0, [x20, #0x18]
add x0, x20, #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M64949_IG39]
;; size=44 bbWeight=0 PerfScore 0.00
G_M64949_IG45:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1664, prolog size 52, PerfScore 480.00, instruction count 420, allocated bytes for code 1664 (MethodHash=bcc9024a) for method System.Formats.Tar.TarHeader+<ReadExtendedAttributesBlockAsync>d__64:MoveNext():this (FullOpts)
+; Total bytes of code 1680, prolog size 52, PerfScore 482.00, instruction count 424, allocated bytes for code 1680 (MethodHash=bcc9024a) for method System.Formats.Tar.TarHeader+<ReadExtendedAttributesBlockAsync>d__64:MoveNext():this (FullOpts)
16 (0.66 % of base) - System.Formats.Tar.TarHeader+d__99:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99:MoveNext():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; 65 single block inlinees; 26 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 60, 58 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T59] ( 3, 2.80) int -> x19
; V02 loc1 [V02,T03] ( 8, 8 ) ref -> x20 class-hnd exact single-def <System.Formats.Tar.TarHeader>
; V03 loc2 [V03 ] ( 40, 40 ) struct (16) [fp+0x198] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
; V06 loc5 [V06,T25] ( 4, 4 ) ref -> x0 class-hnd single-def <System.IO.Stream>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V11 tmp3 [V11 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V12 tmp4 [V12 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V13 tmp5 [V13 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V14 tmp6 [V14 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V15 tmp7 [V15 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V16 tmp8 [V16,T95] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V17 tmp9 [V17,T26] ( 3, 4 ) byref -> x2 single-def "Inlining Arg"
;* V18 tmp10 [V18,T85] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V19 tmp11 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V20 tmp12 [V20 ] ( 12, 12 ) struct (88) [fp+0x140] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
; V21 tmp13 [V21,T12] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Formats.Tar.TarHeader>
; V22 tmp14 [V22,T27] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V23 tmp15 [V23 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V24 tmp16 [V24 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V25 tmp17 [V25 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V26 tmp18 [V26,T28] ( 2, 4 ) ref -> x1 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V27 tmp19 [V27,T21] ( 5, 5 ) ref -> x1
;* V28 tmp20 [V28 ] ( 0, 0 ) ref -> zero-ref
;* V29 tmp21 [V29 ] ( 0, 0 ) ref -> zero-ref single-def
;* V30 tmp22 [V30 ] ( 0, 0 ) int -> zero-ref
;* V31 tmp23 [V31 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V32 tmp24 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V33 tmp25 [V33,T86] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V34 tmp26 [V34,T29] ( 2, 4 ) ref -> x14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V35 tmp27 [V35 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V36 tmp28 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V37 tmp29 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp30 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V39 tmp31 [V39,T13] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V40 tmp32 [V40,T45] ( 2, 4 ) int -> x1 "Inlining Arg"
;* V41 tmp33 [V41 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V42 tmp34 [V42,T08] ( 6, 6 ) byref -> x0 "Inline stloc first use temp"
; V43 tmp35 [V43,T10] ( 6, 6 ) int -> x22 "Inline stloc first use temp"
; V44 tmp36 [V44,T04] ( 4, 8 ) byref -> x21 single-def "Inlining Arg"
; V45 tmp37 [V45,T06] ( 7, 7 ) ref -> x1 class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V46 tmp38 [V46 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V47 tmp39 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V48 tmp40 [V48 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V49 tmp41 [V49 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
; V50 tmp42 [V50,T54] ( 3, 3 ) long -> x1 "Inline stloc first use temp"
; V51 tmp43 [V51,T55] ( 3, 3 ) int -> x2 "Inline stloc first use temp"
;* V52 tmp44 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V53 tmp45 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V54 tmp46 [V54,T30] ( 2, 4 ) byref -> x0 single-def "Inlining Arg"
;* V55 tmp47 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V56 tmp48 [V56 ] ( 12, 12 ) struct (88) [fp+0xE8] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
; V57 tmp49 [V57,T14] ( 3, 6 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Formats.Tar.TarHeader>
; V58 tmp50 [V58,T31] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V59 tmp51 [V59 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V60 tmp52 [V60 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V61 tmp53 [V61 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V62 tmp54 [V62,T32] ( 2, 4 ) ref -> x1 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V63 tmp55 [V63,T22] ( 5, 5 ) ref -> x1
;* V64 tmp56 [V64 ] ( 0, 0 ) ref -> zero-ref
;* V65 tmp57 [V65 ] ( 0, 0 ) ref -> zero-ref single-def
;* V66 tmp58 [V66 ] ( 0, 0 ) int -> zero-ref
;* V67 tmp59 [V67 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V68 tmp60 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V69 tmp61 [V69,T87] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V70 tmp62 [V70,T33] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V71 tmp63 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp64 [V72 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V73 tmp65 [V73 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V74 tmp66 [V74 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V75 tmp67 [V75,T15] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V76 tmp68 [V76,T46] ( 2, 4 ) int -> x1 "Inlining Arg"
;* V77 tmp69 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V78 tmp70 [V78,T09] ( 6, 6 ) byref -> x0 "Inline stloc first use temp"
; V79 tmp71 [V79,T11] ( 6, 6 ) int -> x2 "Inline stloc first use temp"
; V80 tmp72 [V80,T05] ( 4, 8 ) byref -> x21 single-def "Inlining Arg"
; V81 tmp73 [V81,T07] ( 7, 7 ) ref -> x3 class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V82 tmp74 [V82 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V83 tmp75 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V84 tmp76 [V84 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V85 tmp77 [V85 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
; V86 tmp78 [V86,T56] ( 3, 3 ) long -> x1 "Inline stloc first use temp"
; V87 tmp79 [V87,T57] ( 3, 3 ) int -> x3 "Inline stloc first use temp"
;* V88 tmp80 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V89 tmp81 [V89 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V90 tmp82 [V90,T34] ( 2, 4 ) byref -> x0 single-def "Inlining Arg"
;* V91 tmp83 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V92 tmp84 [V92 ] ( 13, 13 ) struct (120) [fp+0x70] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86>
; V93 tmp85 [V93,T35] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V94 tmp86 [V94 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V95 tmp87 [V95 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V96 tmp88 [V96 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V97 tmp89 [V97,T36] ( 2, 4 ) ref -> x1 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V98 tmp90 [V98,T23] ( 5, 5 ) ref -> x1
;* V99 tmp91 [V99 ] ( 0, 0 ) ref -> zero-ref
;* V100 tmp92 [V100 ] ( 0, 0 ) ref -> zero-ref single-def
;* V101 tmp93 [V101 ] ( 0, 0 ) int -> zero-ref
;* V102 tmp94 [V102 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V103 tmp95 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V104 tmp96 [V104,T88] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V105 tmp97 [V105,T37] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V106 tmp98 [V106 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V107 tmp99 [V107 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V108 tmp100 [V108 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V109 tmp101 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V110 tmp102 [V110,T16] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V111 tmp103 [V111,T47] ( 2, 4 ) int -> x1 "Inlining Arg"
; V112 tmp104 [V112 ] ( 12, 12 ) struct (88) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
; V113 tmp105 [V113,T38] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.IO.Stream>
;* V114 tmp106 [V114 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V115 tmp107 [V115 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V116 tmp108 [V116 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V117 tmp109 [V117,T39] ( 2, 4 ) ref -> x1 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V118 tmp110 [V118,T24] ( 5, 5 ) ref -> x1
;* V119 tmp111 [V119 ] ( 0, 0 ) ref -> zero-ref
;* V120 tmp112 [V120 ] ( 0, 0 ) ref -> zero-ref single-def
;* V121 tmp113 [V121 ] ( 0, 0 ) int -> zero-ref
;* V122 tmp114 [V122 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V123 tmp115 [V123 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V124 tmp116 [V124,T89] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V125 tmp117 [V125,T40] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V126 tmp118 [V126 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V127 tmp119 [V127 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V128 tmp120 [V128 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V129 tmp121 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V130 tmp122 [V130,T17] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V131 tmp123 [V131,T48] ( 2, 4 ) int -> x1 "Inlining Arg"
; V132 tmp124 [V132,T18] ( 3, 6 ) byref -> x14 single-def "Inlining Arg"
;* V133 tmp125 [V133 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V134 tmp126 [V134,T19] ( 3, 6 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
;* V135 tmp127 [V135,T84] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[S] "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V136 tmp128 [V136,T02] ( 6, 12 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V137 tmp129 [V137 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V138 tmp130 [V138,T49] ( 2, 4 ) int -> x20 "Inlining Arg"
;* V139 tmp131 [V139 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V140 tmp132 [V140 ] ( 24, 24 ) ref -> [fp+0x198] do-not-enreg[X] addr-exposed "field V03.m_task (fldOffset=0x0)" P-DEP
; V141 tmp133 [V141 ] ( 24, 24 ) int -> [fp+0x1A0] do-not-enreg[X] addr-exposed "field V03.m_options (fldOffset=0x8)" P-DEP
;* V142 tmp134 [V142 ] ( 0, 0 ) byref -> zero-ref "field V05._reference (fldOffset=0x0)" P-INDEP
;* V143 tmp135 [V143 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
; V144 tmp136 [V144,T60] ( 2, 2 ) ref -> x2 single-def "field V23._object (fldOffset=0x0)" P-INDEP
; V145 tmp137 [V145,T74] ( 2, 2 ) int -> x3 "field V23._index (fldOffset=0x8)" P-INDEP
; V146 tmp138 [V146,T75] ( 2, 2 ) int -> x4 "field V23._length (fldOffset=0xc)" P-INDEP
; V147 tmp139 [V147,T61] ( 2, 2 ) ref -> x5 single-def "field V24._source (fldOffset=0x0)" P-INDEP
;* V148 tmp140 [V148 ] ( 0, 0 ) ref -> zero-ref single-def "field V25.m_task (fldOffset=0x0)" P-INDEP
; V149 tmp141 [V149,T62] ( 2, 2 ) ref -> x1 single-def "field V32.m_task (fldOffset=0x0)" P-INDEP
;* V150 tmp142 [V150,T90] ( 0, 0 ) int -> zero-ref "field V32.m_options (fldOffset=0x8)" P-INDEP
;* V151 tmp143 [V151 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
;* V152 tmp144 [V152 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
;* V153 tmp145 [V153 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
;* V154 tmp146 [V154 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
;* V155 tmp147 [V155 ] ( 0, 0 ) byref -> zero-ref "field V48._reference (fldOffset=0x0)" P-DEP
;* V156 tmp148 [V156 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-DEP
; V157 tmp149 [V157,T63] ( 2, 2 ) byref -> x0 "field V49._reference (fldOffset=0x0)" P-INDEP
; V158 tmp150 [V158,T76] ( 2, 2 ) int -> x22 "field V49._length (fldOffset=0x8)" P-INDEP
;* V159 tmp151 [V159 ] ( 0, 0 ) byref -> zero-ref single-def "field V55._reference (fldOffset=0x0)" P-INDEP
;* V160 tmp152 [V160 ] ( 0, 0 ) int -> zero-ref "field V55._length (fldOffset=0x8)" P-INDEP
; V161 tmp153 [V161,T64] ( 2, 2 ) ref -> x2 single-def "field V59._object (fldOffset=0x0)" P-INDEP
; V162 tmp154 [V162,T77] ( 2, 2 ) int -> x3 "field V59._index (fldOffset=0x8)" P-INDEP
; V163 tmp155 [V163,T78] ( 2, 2 ) int -> x4 "field V59._length (fldOffset=0xc)" P-INDEP
; V164 tmp156 [V164,T65] ( 2, 2 ) ref -> x5 single-def "field V60._source (fldOffset=0x0)" P-INDEP
;* V165 tmp157 [V165 ] ( 0, 0 ) ref -> zero-ref single-def "field V61.m_task (fldOffset=0x0)" P-INDEP
; V166 tmp158 [V166,T66] ( 2, 2 ) ref -> x1 single-def "field V68.m_task (fldOffset=0x0)" P-INDEP
;* V167 tmp159 [V167,T91] ( 0, 0 ) int -> zero-ref "field V68.m_options (fldOffset=0x8)" P-INDEP
;* V168 tmp160 [V168 ] ( 0, 0 ) byref -> zero-ref "field V77._reference (fldOffset=0x0)" P-INDEP
;* V169 tmp161 [V169 ] ( 0, 0 ) int -> zero-ref "field V77._length (fldOffset=0x8)" P-INDEP
;* V170 tmp162 [V170 ] ( 0, 0 ) byref -> zero-ref single-def "field V82._reference (fldOffset=0x0)" P-INDEP
;* V171 tmp163 [V171 ] ( 0, 0 ) int -> zero-ref "field V82._length (fldOffset=0x8)" P-INDEP
;* V172 tmp164 [V172 ] ( 0, 0 ) byref -> zero-ref "field V84._reference (fldOffset=0x0)" P-DEP
;* V173 tmp165 [V173 ] ( 0, 0 ) int -> zero-ref "field V84._length (fldOffset=0x8)" P-DEP
; V174 tmp166 [V174,T67] ( 2, 2 ) byref -> x0 "field V85._reference (fldOffset=0x0)" P-INDEP
; V175 tmp167 [V175,T79] ( 2, 2 ) int -> x2 "field V85._length (fldOffset=0x8)" P-INDEP
;* V176 tmp168 [V176 ] ( 0, 0 ) byref -> zero-ref single-def "field V91._reference (fldOffset=0x0)" P-INDEP
;* V177 tmp169 [V177 ] ( 0, 0 ) int -> zero-ref "field V91._length (fldOffset=0x8)" P-INDEP
; V178 tmp170 [V178,T68] ( 2, 2 ) ref -> x1 single-def "field V94._object (fldOffset=0x0)" P-INDEP
; V179 tmp171 [V179,T80] ( 2, 2 ) int -> x2 "field V94._index (fldOffset=0x8)" P-INDEP
; V180 tmp172 [V180,T81] ( 2, 2 ) int -> x3 "field V94._length (fldOffset=0xc)" P-INDEP
; V181 tmp173 [V181,T69] ( 2, 2 ) ref -> x4 single-def "field V95._source (fldOffset=0x0)" P-INDEP
;* V182 tmp174 [V182 ] ( 0, 0 ) ref -> zero-ref single-def "field V96.m_task (fldOffset=0x0)" P-INDEP
; V183 tmp175 [V183,T70] ( 2, 2 ) ref -> x1 single-def "field V103.m_task (fldOffset=0x0)" P-INDEP
;* V184 tmp176 [V184,T92] ( 0, 0 ) int -> zero-ref "field V103.m_options (fldOffset=0x8)" P-INDEP
; V185 tmp177 [V185,T71] ( 2, 2 ) ref -> x1 single-def "field V114._object (fldOffset=0x0)" P-INDEP
; V186 tmp178 [V186,T82] ( 2, 2 ) int -> x2 "field V114._index (fldOffset=0x8)" P-INDEP
; V187 tmp179 [V187,T83] ( 2, 2 ) int -> x3 "field V114._length (fldOffset=0xc)" P-INDEP
; V188 tmp180 [V188,T72] ( 2, 2 ) ref -> x4 single-def "field V115._source (fldOffset=0x0)" P-INDEP
;* V189 tmp181 [V189 ] ( 0, 0 ) ref -> zero-ref single-def "field V116.m_task (fldOffset=0x0)" P-INDEP
; V190 tmp182 [V190,T73] ( 2, 2 ) ref -> x1 single-def "field V123.m_task (fldOffset=0x0)" P-INDEP
;* V191 tmp183 [V191,T93] ( 0, 0 ) int -> zero-ref "field V123.m_options (fldOffset=0x8)" P-INDEP
; V192 tmp184 [V192,T41] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V193 tmp185 [V193,T42] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V194 tmp186 [V194,T20] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
; V195 tmp187 [V195,T43] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V196 tmp188 [V196,T44] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V197 PSPSym [V197,T94] ( 1, 1 ) long -> [fp+0x1A8] do-not-enreg[V] "PSPSym"
; V198 cse0 [V198,T50] ( 3, 3 ) ref -> x19 "CSE #12: moderate"
; V199 cse1 [V199,T58] ( 3, 3 ) int -> x1 "CSE #13: moderate"
; V200 cse2 [V200,T51] ( 3, 3 ) ref -> x1 "CSE #02: moderate"
; V201 cse3 [V201,T01] ( 12, 12 ) byref -> x1 multi-def "CSE #03: aggressive"
; V202 cse4 [V202,T52] ( 3, 3 ) ref -> x1 "CSE #01: moderate"
; V203 cse5 [V203,T53] ( 3, 3 ) ref -> x21 "CSE #08: moderate"
;
; Lcl frame size = 416
G_M57559_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD1FFAB1E]
stp x21, x22, [sp, #0xD1FFAB1E]
mov fp, sp
movi v16.16b, #0
add x9, fp, #88
add x10, fp, #0xD1FFAB1E
stp q16, q16, [x9, #-0x40]
stp q16, q16, [x9, #-0x20]
bfm x9, xzr, #0, #5
dczva x9
add x9, x9, #64
cmp x9, x10
blo pc-16 (-4 instructions)
stp q16, q16, [x10]
stp q16, q16, [x10, #0x20]
add x1, sp, #0xD1FFAB1E
str x1, [fp, #0xD1FFAB1E] // [V197 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=76 bbWeight=1 PerfScore 15.50
G_M57559_IG02:
ldr w19, [x0, #0x10]
ldr x20, [x0]
;; size=8 bbWeight=1 PerfScore 6.00
G_M57559_IG03:
cmp w19, #3
bhi G_M57559_IG05
;; size=8 bbWeight=1 PerfScore 1.50
G_M57559_IG04:
mov w1, w19
adr x2, [@RWD00]
ldr w2, [x2, x1, LSL #2]
adr x3, [G_M57559_IG02]
add x2, x2, x3
br x2
;; size=24 bbWeight=0.80 PerfScore 4.80
G_M57559_IG05:
add x2, x0, #32
ldr x1, [x2]
cbnz x1, G_M57559_IG08
;; size=12 bbWeight=1 PerfScore 4.50
G_M57559_IG06:
ldr x1, [x20, #0x18]
cbz x1, G_M57559_IG31
movz x2, #0xD1FFAB1E
+ movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x0, [x2]
movz x2, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetByteCount(System.String):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cmp w0, #100
ble G_M57559_IG31
ldr x1, [x20, #0x18]
mov w0, #75
movz x2, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:GetGnuLongMetadataHeader(ubyte,System.String):System.Formats.Tar.TarHeader
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x19, [fp, #0x10] // [V00 this]
ldr x1, [x19, #0x08]
ldr x2, [x19, #0x28]
ldp w3, w4, [x19, #0x30]
ldr x5, [x19, #0x20]
ldrsb wzr, [x0]
str xzr, [fp, #0xD1FFAB1E]
str x0, [fp, #0xD1FFAB1E] // [V20 tmp12]
mov w0, #4
str w0, [fp, #0xD1FFAB1E] // [V20 tmp12+0x14]
str x1, [fp, #0xD1FFAB1E] // [V20 tmp12+0x08]
str x2, [fp, #0xD1FFAB1E] // [V20 tmp12+0x20]
str w3, [fp, #0xD1FFAB1E] // [V20 tmp12+0x28]
str w4, [fp, #0xD1FFAB1E] // [V20 tmp12+0x2c]
str x5, [fp, #0xD1FFAB1E] // [V20 tmp12+0x30]
movn w0, #0
str w0, [fp, #0xD1FFAB1E] // [V20 tmp12+0x10]
add x0, fp, #0xD1FFAB1E // [V20 tmp12]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x1, [fp, #0xD1FFAB1E] // [V20 tmp12+0x18]
cbnz x1, G_M57559_IG07
add x0, fp, #0xD1FFAB1E // [V20 tmp12+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- ;; size=204 bbWeight=1 PerfScore 66.50
+ ;; size=208 bbWeight=1 PerfScore 67.00
G_M57559_IG07:
ldrsb wzr, [x1]
str x1, [fp, #0xD1FFAB1E] // [V140 tmp132]
str wzr, [fp, #0xD1FFAB1E] // [V141 tmp133]
ldr w14, [fp, #0xD1FFAB1E] // [V141 tmp133]
tbnz w14, #2, G_M57559_IG09
ldr x14, [fp, #0xD1FFAB1E] // [V140 tmp132]
add x14, x14, #52
ldapr w14, [x14]
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M57559_IG26
b G_M57559_IG09
;; size=48 bbWeight=1 PerfScore 16.50
G_M57559_IG08:
add x1, x1, #32
ldapr w1, [x1]
cbz w1, G_M57559_IG06
b G_M57559_IG47
;; size=16 bbWeight=1 PerfScore 5.50
G_M57559_IG09:
str wzr, [x19, #0x10]
add x14, x19, #56
ldr x15, [fp, #0xD1FFAB1E] // [V140 tmp132]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
str w1, [x19, #0x40]
add x1, x19, #24
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #0xD1FFAB1E // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG53
;; size=84 bbWeight=1 PerfScore 21.50
G_M57559_IG10:
add x1, x0, #56
;; size=4 bbWeight=1 PerfScore 0.50
G_M57559_IG11:
ldp x2, x3, [x1]
stp x2, x3, [fp, #0xD1FFAB1E]
;; size=8 bbWeight=1 PerfScore 5.00
G_M57559_IG12:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x10]
mov x19, x0
;; size=16 bbWeight=1 PerfScore 3.00
G_M57559_IG13:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
add x2, x0, #52
ldapr w2, [x2]
mov w3, #0xD1FFAB1E
and w2, w2, w3
mov w3, #0xD1FFAB1E
cmp w2, w3
beq G_M57559_IG49
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG49
;; size=60 bbWeight=1 PerfScore 17.00
G_M57559_IG14:
add x1, x0, #56
;; size=4 bbWeight=1 PerfScore 0.50
G_M57559_IG15:
ldp x2, x3, [x1]
stp x2, x3, [fp, #0xD1FFAB1E]
;; size=8 bbWeight=1 PerfScore 5.00
G_M57559_IG16:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x10]
mov x19, x0
;; size=16 bbWeight=1 PerfScore 3.00
G_M57559_IG17:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
add x2, x0, #52
ldapr w2, [x2]
mov w3, #0xD1FFAB1E
and w2, w2, w3
mov w3, #0xD1FFAB1E
cmp w2, w3
beq G_M57559_IG49
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG49
;; size=60 bbWeight=1 PerfScore 17.00
G_M57559_IG18:
add x1, x0, #56
;; size=4 bbWeight=1 PerfScore 0.50
G_M57559_IG19:
ldp x2, x3, [x1]
stp x2, x3, [fp, #0xD1FFAB1E]
;; size=8 bbWeight=1 PerfScore 5.00
G_M57559_IG20:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x10]
mov x19, x0
;; size=16 bbWeight=1 PerfScore 3.00
G_M57559_IG21:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
add x2, x0, #52
ldapr w2, [x2]
mov w3, #0xD1FFAB1E
and w2, w2, w3
mov w3, #0xD1FFAB1E
cmp w2, w3
beq G_M57559_IG22
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=56 bbWeight=1 PerfScore 16.00
G_M57559_IG22:
add x21, x19, #40
mov x0, xzr
mov w2, wzr
ldr x3, [x21]
cbz x3, G_M57559_IG37
ldr x0, [x3]
ldr w2, [x0]
tst w2, #0xD1FFAB1E
beq G_M57559_IG35
add x0, x3, #16
ldr w2, [x3, #0x08]
b G_M57559_IG36
;; size=48 bbWeight=1 PerfScore 17.50
G_M57559_IG23:
add x1, x0, #56
;; size=4 bbWeight=1 PerfScore 0.50
G_M57559_IG24:
ldp x2, x3, [x1]
stp x2, x3, [fp, #0xD1FFAB1E]
;; size=8 bbWeight=1 PerfScore 5.00
G_M57559_IG25:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x10]
ldr x19, [fp, #0x10] // [V00 this]
;; size=16 bbWeight=1 PerfScore 4.50
G_M57559_IG26:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
add x2, x0, #52
ldapr w2, [x2]
mov w3, #0xD1FFAB1E
and w2, w2, w3
mov w3, #0xD1FFAB1E
cmp w2, w3
beq G_M57559_IG27
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=56 bbWeight=1 PerfScore 16.00
G_M57559_IG27:
add x21, x19, #40
mov x0, xzr
mov w22, wzr
ldr x1, [x21]
cbz x1, G_M57559_IG30
ldr x0, [x1]
ldr w0, [x0]
tst w0, #0xD1FFAB1E
bne G_M57559_IG28
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
mov w22, w1
b G_M57559_IG29
;; size=64 bbWeight=1 PerfScore 25.00
G_M57559_IG28:
add x0, x1, #16
ldr w22, [x1, #0x08]
;; size=8 bbWeight=1 PerfScore 3.50
G_M57559_IG29:
ldp w1, w2, [x21, #0x08]
and w1, w1, #0xD1FFAB1E
mov w1, w1
add x3, x1, w2, UXTW
mov w4, w22
cmp x3, x4
bhi G_M57559_IG48
add x0, x0, x1
sxtw w22, w2
;; size=36 bbWeight=1 PerfScore 8.00
G_M57559_IG30:
mov w1, w22
movz x2, #0xD1FFAB1E // code for System.SpanHelpers:ClearWithoutReferences(byref,ulong)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=24 bbWeight=1 PerfScore 6.00
G_M57559_IG31:
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr x0, [x1]
ldr x1, [x20, #0x10]
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #32
- ldr x0, [x2]
movz x2, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetByteCount(System.String):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cmp w0, #100
ble G_M57559_IG38
ldr x1, [x20, #0x10]
mov w0, #76
movz x2, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:GetGnuLongMetadataHeader(ubyte,System.String):System.Formats.Tar.TarHeader
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x19, [fp, #0x10] // [V00 this]
ldr x1, [x19, #0x08]
ldr x2, [x19, #0x28]
ldp w3, w4, [x19, #0x30]
ldr x5, [x19, #0x20]
ldrsb wzr, [x0]
str xzr, [fp, #0xD1FFAB1E]
str x0, [fp, #0xE8] // [V56 tmp48]
mov w0, #4
str w0, [fp, #0xFC] // [V56 tmp48+0x14]
str x1, [fp, #0xF0] // [V56 tmp48+0x08]
str x2, [fp, #0xD1FFAB1E] // [V56 tmp48+0x20]
str w3, [fp, #0xD1FFAB1E] // [V56 tmp48+0x28]
str w4, [fp, #0xD1FFAB1E] // [V56 tmp48+0x2c]
str x5, [fp, #0xD1FFAB1E] // [V56 tmp48+0x30]
movn w0, #0
str w0, [fp, #0xF8] // [V56 tmp48+0x10]
add x0, fp, #232 // [V56 tmp48]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x1, [fp, #0xD1FFAB1E] // [V56 tmp48+0x18]
cbnz x1, G_M57559_IG32
add x0, fp, #0xD1FFAB1E // [V56 tmp48+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- ;; size=200 bbWeight=1 PerfScore 65.50
+ ;; size=204 bbWeight=1 PerfScore 66.00
G_M57559_IG32:
ldrsb wzr, [x1]
str x1, [fp, #0xD1FFAB1E] // [V140 tmp132]
str wzr, [fp, #0xD1FFAB1E] // [V141 tmp133]
ldr w0, [fp, #0xD1FFAB1E] // [V141 tmp133]
tbz w0, #2, G_M57559_IG34
;; size=20 bbWeight=1 PerfScore 8.00
G_M57559_IG33:
mov w14, #1
str w14, [x19, #0x10]
add x14, x19, #56
ldr x15, [fp, #0xD1FFAB1E] // [V140 tmp132]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
str w1, [x19, #0x40]
add x1, x19, #24
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #0xD1FFAB1E // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG53
;; size=88 bbWeight=1 PerfScore 22.00
G_M57559_IG34:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M57559_IG21
b G_M57559_IG33
;; size=28 bbWeight=1 PerfScore 8.50
G_M57559_IG35:
mov x0, x3
ldr x1, [x3]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
mov w2, w1
;; size=24 bbWeight=1 PerfScore 11.00
G_M57559_IG36:
ldp w1, w3, [x21, #0x08]
and w1, w1, #0xD1FFAB1E
mov w1, w1
add x4, x1, w3, UXTW
mov w2, w2
cmp x4, x2
bhi G_M57559_IG48
add x0, x0, x1
sxtw w2, w3
;; size=36 bbWeight=1 PerfScore 8.00
G_M57559_IG37:
mov w1, w2
movz x2, #0xD1FFAB1E // code for System.SpanHelpers:ClearWithoutReferences(byref,ulong)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
nop
;; size=28 bbWeight=1 PerfScore 6.50
G_M57559_IG38:
ldr x19, [fp, #0x10] // [V00 this]
ldr x0, [x19, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M57559_IG39
ldr x0, [x20, #0x08]
cbz x0, G_M57559_IG39
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M57559_IG43
;; size=56 bbWeight=1 PerfScore 31.00
G_M57559_IG39:
ldr x0, [x19, #0x08]
ldr x1, [x19, #0x28]
ldp w2, w3, [x19, #0x30]
ldr x4, [x19, #0x20]
str xzr, [fp, #0x30]
str x20, [fp, #0x18] // [V112 tmp104]
mov w5, #4
str w5, [fp, #0x2C] // [V112 tmp104+0x14]
str x0, [fp, #0x20] // [V112 tmp104+0x08]
str x1, [fp, #0x38] // [V112 tmp104+0x20]
stp w2, w3, [fp, #0x40] // [V112 tmp104+0x28], [V112 tmp104+0x2c]
str x4, [fp, #0x48] // [V112 tmp104+0x30]
movn w0, #0
str w0, [fp, #0x28] // [V112 tmp104+0x10]
add x0, fp, #24 // [V112 tmp104]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x1, [fp, #0x30] // [V112 tmp104+0x18]
cbnz x1, G_M57559_IG40
add x0, fp, #48 // [V112 tmp104+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
;; size=116 bbWeight=1 PerfScore 36.50
G_M57559_IG40:
ldrsb wzr, [x1]
str x1, [fp, #0xD1FFAB1E] // [V140 tmp132]
str wzr, [fp, #0xD1FFAB1E] // [V141 tmp133]
ldr w0, [fp, #0xD1FFAB1E] // [V141 tmp133]
tbz w0, #2, G_M57559_IG42
;; size=20 bbWeight=1 PerfScore 8.00
G_M57559_IG41:
mov w14, #3
str w14, [x19, #0x10]
add x14, x19, #56
ldr x15, [fp, #0xD1FFAB1E] // [V140 tmp132]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
str w1, [x19, #0x40]
add x1, x19, #24
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #0xD1FFAB1E // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG53
;; size=88 bbWeight=1 PerfScore 22.00
G_M57559_IG42:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M57559_IG13
b G_M57559_IG41
;; size=28 bbWeight=1 PerfScore 8.50
G_M57559_IG43:
ldr x0, [x19, #0x08]
ldr x1, [x19, #0x28]
ldp w2, w3, [x19, #0x30]
ldr x4, [x19, #0x20]
str xzr, [fp, #0xA8]
str x20, [fp, #0x78] // [V92 tmp84+0x08]
mov w5, #4
str w5, [fp, #0x9C] // [V92 tmp84+0x2c]
str x0, [fp, #0x70] // [V92 tmp84]
str x1, [fp, #0xB8] // [V92 tmp84+0x48]
stp w2, w3, [fp, #0xC0] // [V92 tmp84+0x50], [V92 tmp84+0x54]
mov w0, #1
strb w0, [fp, #0xA0] // [V92 tmp84+0x30]
str x4, [fp, #0xB0] // [V92 tmp84+0x40]
movn w0, #0
str w0, [fp, #0x98] // [V92 tmp84+0x28]
add x0, fp, #112 // [V92 tmp84]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x1, [fp, #0xA8] // [V92 tmp84+0x38]
cbnz x1, G_M57559_IG44
add x0, fp, #168 // [V92 tmp84+0x38]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
;; size=124 bbWeight=1 PerfScore 38.00
G_M57559_IG44:
ldrsb wzr, [x1]
str x1, [fp, #0xD1FFAB1E] // [V140 tmp132]
str wzr, [fp, #0xD1FFAB1E] // [V141 tmp133]
ldr w0, [fp, #0xD1FFAB1E] // [V141 tmp133]
tbz w0, #2, G_M57559_IG46
;; size=20 bbWeight=1 PerfScore 8.00
G_M57559_IG45:
mov w14, #2
str w14, [x19, #0x10]
add x14, x19, #56
ldr x15, [fp, #0xD1FFAB1E] // [V140 tmp132]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0xD1FFAB1E] // [V141 tmp133]
str w1, [x19, #0x40]
add x1, x19, #24
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #0xD1FFAB1E // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M57559_IG53
;; size=88 bbWeight=1 PerfScore 22.00
G_M57559_IG46:
ldr x0, [fp, #0xD1FFAB1E] // [V140 tmp132]
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M57559_IG17
b G_M57559_IG45
;; size=28 bbWeight=1 PerfScore 8.50
G_M57559_IG47:
mov x0, x2
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M57559_IG48:
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_M57559_IG49:
movn w0, #1
str w0, [x19, #0x10]
add x14, x19, #24
ldr x21, [x14]
cbz x21, G_M57559_IG52
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M57559_IG54
;; size=40 bbWeight=1 PerfScore 11.50
G_M57559_IG50:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
ldrb w0, [x19, #0x9D]
cbz w0, G_M57559_IG51
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w20, w0
ldrb w1, [x19, #0x9D]
cbz w1, G_M57559_IG51
ldr x3, [x19, #0x80]
ldr w2, [x19, #0x98]
mov x0, x19
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M57559_IG51
mov x0, x19
mov w2, w20
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M57559_IG51:
mov x0, x21
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:TrySetResult(System.Threading.Tasks.VoidTaskResult):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
cbnz w0, G_M57559_IG53
b G_M57559_IG55
;; size=40 bbWeight=1 PerfScore 11.50
G_M57559_IG52:
movz x15, #0xD1FFAB1E
+ movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
ldr x15, [x15]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=16 bbWeight=1 PerfScore 5.00
+ ;; size=20 bbWeight=1 PerfScore 5.50
G_M57559_IG53:
ldp x21, x22, [sp, #0xD1FFAB1E]
ldp x19, x20, [sp, #0xD1FFAB1E]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M57559_IG54:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M57559_IG50
;; size=20 bbWeight=0 PerfScore 0.00
G_M57559_IG55:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M57559_IG56:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #0xD1FFAB1E
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M57559_IG57:
mov x1, x0
movn w0, #1
ldr x19, [fp, #0x10] // [V00 this]
str w0, [x19, #0x10]
add x0, x19, #24
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M57559_IG53]
;; size=44 bbWeight=0 PerfScore 0.00
G_M57559_IG58:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
RWD00 dd G_M57559_IG23 - G_M57559_IG02
dd G_M57559_IG18 - G_M57559_IG02
dd G_M57559_IG14 - G_M57559_IG02
dd G_M57559_IG10 - G_M57559_IG02
-; Total bytes of code 2432, prolog size 76, PerfScore 691.30, instruction count 608, allocated bytes for code 2432 (MethodHash=efa61f28) for method System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99:MoveNext():this (FullOpts)
+; Total bytes of code 2448, prolog size 76, PerfScore 693.30, instruction count 612, allocated bytes for code 2448 (MethodHash=efa61f28) for method System.Formats.Tar.TarHeader+<WriteAsGnuAsync>d__99:MoveNext():this (FullOpts)
16 (0.92 % of base) - System.Formats.Tar.TarReader+d__8:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():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; 33 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T08] ( 29,153 ) byref -> [fp+0x18] this EH-live single-def
; V01 loc0 [V01,T24] ( 4, 4 ) int -> [fp+0x44] do-not-enreg[Z] EH-live
; V02 loc1 [V02,T23] ( 6, 6 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarReader>
; V03 loc2 [V03 ] ( 20,317 ) struct (16) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
; V04 loc3 [V04 ] ( 6,195 ) struct (16) [fp+0x20] do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
;* V05 loc4 [V05 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V06 loc5 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V09 tmp2 [V09 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.Tasks.ValueTask>
;* V10 tmp3 [V10 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.Tasks.ValueTask>
;* V11 tmp4 [V11 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V12 tmp5 [V12 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V13 tmp6 [V13,T25] ( 3, 6 ) ref -> x14 class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.IO.Stream]>
;* V14 tmp7 [V14 ] ( 0, 0 ) ref -> zero-ref single-def
;* V15 tmp8 [V15 ] ( 0, 0 ) int -> zero-ref
; V16 tmp9 [V16,T56] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V17 tmp10 [V17,T32] ( 2, 4 ) ref -> x15 class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.IO.Stream]>
;* V18 tmp11 [V18 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Stream]>
;* V19 tmp12 [V19 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V20 tmp13 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V21 tmp14 [V21 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V22 tmp15 [V22 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V23 tmp16 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
; V24 tmp17 [V24,T05] ( 2,256 ) short -> x1 "Inlining Arg"
;* V25 tmp18 [V25 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V26 tmp19 [V26 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V27 tmp20 [V27,T07] ( 4,160 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V28 tmp21 [V28,T17] ( 3, 48 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V29 tmp22 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V30 tmp23 [V30 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V31 tmp24 [V31 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V32 tmp25 [V32 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V33 tmp26 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V34 tmp27 [V34,T14] ( 4, 64 ) ref -> x20 class-hnd "Inline stloc first use temp" <System.Object>
; V35 tmp28 [V35,T15] ( 4, 64 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V36 tmp29 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V37 tmp30 [V37 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V38 tmp31 [V38,T00] ( 10,902 ) byref -> x1 "Inlining Arg"
; V39 tmp32 [V39,T04] ( 4,256 ) ref -> x14 class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.IO.Stream]>
;* V40 tmp33 [V40 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V41 tmp34 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V42 tmp35 [V42 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V43 tmp36 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Object>
; V44 tmp37 [V44,T35] ( 2, 4 ) short -> x1 "Inlining Arg"
;* V45 tmp38 [V45 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V46 tmp39 [V46 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V47 tmp40 [V47,T29] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V48 tmp41 [V48,T38] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V49 tmp42 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V50 tmp43 [V50 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V51 tmp44 [V51 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V52 tmp45 [V52 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V53 tmp46 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V54 tmp47 [V54,T30] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V55 tmp48 [V55,T31] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V56 tmp49 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
; V57 tmp50 [V57,T26] ( 3, 6 ) byref -> x19 single-def "Inlining Arg"
;* V58 tmp51 [V58 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V59 tmp52 [V59,T20] ( 7, 14 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V60 tmp53 [V60,T36] ( 2, 4 ) struct ( 8) x21 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V61 tmp54 [V61,T22] ( 6, 12 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V62 tmp55 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V63 tmp56 [V63,T37] ( 2, 4 ) int -> x22 "Inlining Arg"
;* V64 tmp57 [V64 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V65 tmp58 [V65 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V66 tmp59 [V66,T52] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V67 tmp60 [V67,T39] ( 3, 3 ) ref -> x21 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V68 tmp61 [V68,T48] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V69 tmp62 [V69,T28] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V70 tmp63 [V70,T45] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V71 tmp64 [V71,T18] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V72 tmp65 [V72,T19] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V73 tmp66 [V73,T40] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V74 tmp67 [V74,T09] ( 4,130 ) ref -> [fp+0x20] do-not-enreg[] "field V04._obj (fldOffset=0x0)" P-DEP
; V75 tmp68 [V75,T10] ( 4,130 ) short -> [fp+0x28] do-not-enreg[] "field V04._token (fldOffset=0x8)" P-DEP
; V76 tmp69 [V76,T13] ( 2, 65 ) ubyte -> [fp+0x2A] do-not-enreg[] "field V04._continueOnCapturedContext (fldOffset=0xa)" P-DEP
;* V77 tmp70 [V77 ] ( 0, 0 ) ref -> zero-ref "field V09._obj (fldOffset=0x0)" P-DEP
;* V78 tmp71 [V78 ] ( 0, 0 ) short -> zero-ref "field V09._token (fldOffset=0x8)" P-DEP
;* V79 tmp72 [V79 ] ( 0, 0 ) ubyte -> zero-ref "field V09._continueOnCapturedContext (fldOffset=0xa)" P-DEP
;* V80 tmp73 [V80 ] ( 0, 0 ) ref -> zero-ref "field V10._obj (fldOffset=0x0)" P-DEP
;* V81 tmp74 [V81 ] ( 0, 0 ) short -> zero-ref "field V10._token (fldOffset=0x8)" P-DEP
;* V82 tmp75 [V82 ] ( 0, 0 ) ubyte -> zero-ref "field V10._continueOnCapturedContext (fldOffset=0xa)" P-DEP
; V83 tmp76 [V83,T41] ( 3, 3 ) ref -> x15 single-def "field V18._list (fldOffset=0x0)" P-INDEP
;* V84 tmp77 [V84,T51] ( 0, 0 ) ref -> zero-ref single-def "field V18._current (fldOffset=0x8)" P-INDEP
;* V85 tmp78 [V85,T53] ( 0, 0 ) int -> zero-ref "field V18._index (fldOffset=0x10)" P-INDEP
; V86 tmp79 [V86,T49] ( 2, 2 ) int -> x1 "field V18._version (fldOffset=0x14)" P-INDEP
; V87 tmp80 [V87,T11] ( 2,128 ) ref -> x0 "field V20._obj (fldOffset=0x0)" P-INDEP
; V88 tmp81 [V88,T12] ( 2,128 ) short -> x1 "field V20._token (fldOffset=0x8)" P-INDEP
;* V89 tmp82 [V89,T16] ( 0, 0 ) ubyte -> zero-ref "field V20._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V90 tmp83 [V90 ] ( 0, 0 ) ref -> zero-ref "field V21._obj (fldOffset=0x0)" P-INDEP
;* V91 tmp84 [V91 ] ( 0, 0 ) short -> zero-ref "field V21._token (fldOffset=0x8)" P-INDEP
;* V92 tmp85 [V92 ] ( 0, 0 ) ubyte -> zero-ref "field V21._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V93 tmp86 [V93,T47] ( 2, 2 ) ref -> x0 single-def "field V40._obj (fldOffset=0x0)" P-INDEP
; V94 tmp87 [V94,T50] ( 2, 2 ) short -> x1 "field V40._token (fldOffset=0x8)" P-INDEP
;* V95 tmp88 [V95,T54] ( 0, 0 ) ubyte -> zero-ref "field V40._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V96 tmp89 [V96 ] ( 0, 0 ) ref -> zero-ref "field V41._obj (fldOffset=0x0)" P-INDEP
;* V97 tmp90 [V97 ] ( 0, 0 ) short -> zero-ref "field V41._token (fldOffset=0x8)" P-INDEP
;* V98 tmp91 [V98 ] ( 0, 0 ) ubyte -> zero-ref "field V41._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V99 tmp92 [V99,T01] ( 3,384 ) ref -> x14 "arr expr"
; V100 tmp93 [V100,T03] ( 3,384 ) int -> x15 "index expr"
; V101 tmp94 [V101,T02] ( 3,384 ) ref -> x1 "argument with side effect"
; V102 tmp95 [V102,T33] ( 2, 4 ) ref -> x1 "argument with side effect"
; V103 tmp96 [V103,T27] ( 3, 6 ) ref -> x1 single-def "argument with side effect"
; V104 tmp97 [V104,T34] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V105 PSPSym [V105,T55] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
; V106 cse0 [V106,T42] ( 3, 3 ) ref -> x19 "CSE #16: moderate"
; V107 cse1 [V107,T46] ( 3, 3 ) int -> x1 "CSE #17: moderate"
; V108 cse2 [V108,T06] ( 3,192 ) int -> x15 "CSE #04: aggressive"
; V109 cse3 [V109,T43] ( 3, 3 ) ref -> x15 "CSE #01: moderate"
; V110 cse4 [V110,T21] ( 7, 14 ) byref -> x0 "CSE #18: moderate"
; V111 cse5 [V111,T44] ( 3, 3 ) ref -> x20 "CSE #11: moderate"
;
; Lcl frame size = 64
G_M52177_IG01:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x50]
stp x21, x22, [sp, #0x60]
mov fp, sp
str xzr, [fp, #0x30] // [V03 loc2]
str xzr, [fp, #0x20] // [V04 loc3]
add x1, sp, #112
str x1, [fp, #0x48] // [V105 PSPSym]
str x0, [fp, #0x18] // [V00 this]
;; size=36 bbWeight=1 PerfScore 8.00
G_M52177_IG02:
ldr w1, [x0, #0x08]
str w1, [fp, #0x44] // [V01 loc0]
ldr x19, [x0]
;; size=12 bbWeight=1 PerfScore 7.00
G_M52177_IG03:
ldr w1, [fp, #0x44] // [V01 loc0]
cbz w1, G_M52177_IG08
ldr w1, [fp, #0x44] // [V01 loc0]
cmp w1, #1
bne G_M52177_IG07
;; size=20 bbWeight=1 PerfScore 6.50
G_M52177_IG04:
ldp x1, x2, [x0, #0x30]
stp x1, x2, [fp, #0x30]
;; size=8 bbWeight=1 PerfScore 5.00
G_M52177_IG05:
stp xzr, xzr, [x0, #0x30]
movn w1, #0
str w1, [x0, #0x08]
;; size=12 bbWeight=1 PerfScore 2.50
G_M52177_IG06:
ldr x20, [fp, #0x30] // [V03 loc2]
cbz x20, G_M52177_IG28
mov x1, x20
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_M52177_IG25
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M52177_IG28
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M52177_IG28
- align [0 bytes for IG31]
+ align [4 bytes for IG31]
+ align [4 bytes]
align [0 bytes]
align [0 bytes]
- align [0 bytes]
- ;; size=104 bbWeight=1 PerfScore 25.00
+ ;; size=112 bbWeight=1 PerfScore 25.00
G_M52177_IG07:
ldrb w14, [x19, #0x20]
cbnz w14, G_M52177_IG28
mov w14, #1
strb w14, [x19, #0x20]
ldrb w14, [x19, #0x21]
cbnz w14, G_M52177_IG28
ldr x15, [x19, #0x10]
mov x14, x15
cbz x14, G_M52177_IG22
ldr w14, [x14, #0x10]
cmp w14, #0
ble G_M52177_IG22
ldr w1, [x15, #0x14]
add x14, x0, #24
bl CORINFO_HELP_CHECKED_ASSIGN_REF
str xzr, [x0, #0x20]
stp wzr, w1, [x0, #0x28]
;; size=68 bbWeight=1 PerfScore 25.00
G_M52177_IG08:
ldr w1, [fp, #0x44] // [V01 loc0]
cbnz w1, G_M52177_IG13
;; size=8 bbWeight=1 PerfScore 3.00
G_M52177_IG09:
ldp x1, x2, [x0, #0x30]
stp x1, x2, [fp, #0x30]
;; size=8 bbWeight=1 PerfScore 5.00
G_M52177_IG10:
stp xzr, xzr, [x0, #0x30]
movn w1, #0
str w1, [x0, #0x08]
;; size=12 bbWeight=1 PerfScore 2.50
G_M52177_IG11:
ldr x20, [fp, #0x30] // [V03 loc2]
cbz x20, G_M52177_IG13
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M52177_IG12
mov x0, x20
ldrsh w1, [fp, #0x38] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M52177_IG13
;; size=80 bbWeight=16 PerfScore 328.00
G_M52177_IG12:
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M52177_IG13
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=52 bbWeight=16 PerfScore 200.00
G_M52177_IG13:
ldr x0, [fp, #0x18] // [V00 this]
add x1, x0, #24
ldr x14, [x1]
ldr w15, [x1, #0x14]
ldr w12, [x14, #0x14]
cmp w15, w12
bne G_M52177_IG19
ldr w15, [x1, #0x10]
ldr w12, [x14, #0x10]
cmp w15, w12
blo G_M52177_IG15
;; size=44 bbWeight=64 PerfScore 1312.00
G_M52177_IG14:
ldr x14, [x1]
ldr w15, [x14, #0x10]
add w14, w15, #1
str w14, [x1, #0x10]
str xzr, [x1, #0x08]
b G_M52177_IG21
;; size=24 bbWeight=1 PerfScore 9.50
G_M52177_IG15:
ldr x14, [x14, #0x08]
ldr w12, [x14, #0x08]
cmp w15, w12
bhs G_M52177_IG20
add x14, x14, #16
ldr x15, [x14, w15, UXTW #3]
add x14, x1, #8
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w2, [x1, #0x10]
add w2, w2, #1
str w2, [x1, #0x10]
ldr x1, [x0, #0x20]
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x28]
blr x1
stp x0, x1, [fp, #0x20] // [V04 loc3], [V04 loc3+0x08]
ldrsh x1, [fp, #0x28] // [V75 tmp68]
ldr x0, [fp, #0x20] // [V74 tmp67]
str x0, [fp, #0x30] // [V03 loc2]
strh w1, [fp, #0x38] // [V03 loc2+0x08]
strb wzr, [fp, #0x3A] // [V03 loc2+0x0a]
ldr x20, [fp, #0x30] // [V03 loc2]
cbz x20, G_M52177_IG11
;; size=100 bbWeight=64 PerfScore 2656.00
G_M52177_IG16:
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M52177_IG17
mov x0, x20
ldrsh w1, [fp, #0x38] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M52177_IG11
b G_M52177_IG18
;; size=76 bbWeight=16 PerfScore 296.00
G_M52177_IG17:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M52177_IG11
;; size=20 bbWeight=16 PerfScore 88.00
G_M52177_IG18:
ldr x0, [fp, #0x18] // [V00 this]
str wzr, [x0, #0x08]
add x14, x0, #48
add x13, fp, #48 // [V03 loc2]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x0, #16
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarReader+<DisposeAsync>d__8](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #48 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M52177_IG26
;; size=84 bbWeight=1 PerfScore 22.50
G_M52177_IG19:
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
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_M52177_IG20:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M52177_IG21:
stp xzr, xzr, [x0, #0x18]
str xzr, [x0, #0x28]
;; size=8 bbWeight=1 PerfScore 2.00
G_M52177_IG22:
ldr x1, [x19, #0x18]
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x28]
blr x1
stp x0, x1, [fp, #0x20] // [V04 loc3], [V04 loc3+0x08]
ldrsh x1, [fp, #0x28] // [V75 tmp68]
ldr x0, [fp, #0x20] // [V74 tmp67]
str x0, [fp, #0x30] // [V03 loc2]
strh w1, [fp, #0x38] // [V03 loc2+0x08]
strb wzr, [fp, #0x3A] // [V03 loc2+0x0a]
ldr x19, [fp, #0x30] // [V03 loc2]
cbz x19, G_M52177_IG06
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M52177_IG24
mov x0, x19
ldrsh w1, [fp, #0x38] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M52177_IG06
;; size=128 bbWeight=1 PerfScore 42.00
G_M52177_IG23:
mov w14, #1
ldr x0, [fp, #0x18] // [V00 this]
str w14, [x0, #0x08]
add x14, x0, #48
add x13, fp, #48 // [V03 loc2]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x0, #16
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarReader+<DisposeAsync>d__8](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #48 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M52177_IG41
;; size=88 bbWeight=1 PerfScore 23.00
G_M52177_IG24:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M52177_IG06
b G_M52177_IG23
;; size=24 bbWeight=1 PerfScore 6.50
G_M52177_IG25:
mov x0, x20
ldrsh w1, [fp, #0x38] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M52177_IG28
;; size=32 bbWeight=1 PerfScore 9.00
G_M52177_IG26:
ldr x0, [fp, #0x48] // [V105 PSPSym]
;; size=4 bbWeight=1 PerfScore 2.00
G_M52177_IG27:
bl G_M52177_IG45
b G_M52177_IG41
;; size=8 bbWeight=1 PerfScore 2.00
G_M52177_IG28:
movn w1, #1
ldr x0, [fp, #0x18] // [V00 this]
str w1, [x0, #0x08]
add x19, x0, #16
ldr x20, [x19]
cbz x20, G_M52177_IG39
mov w21, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M52177_IG42
;; size=48 bbWeight=1 PerfScore 14.00
G_M52177_IG29:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
ldrb w0, [x19, #0x9D]
cbz w0, G_M52177_IG30
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w22, w0
ldrb w1, [x19, #0x9D]
cbz w1, G_M52177_IG30
ldr x3, [x19, #0x80]
ldr w2, [x19, #0x98]
mov x0, x19
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M52177_IG30
mov x0, x19
mov w2, w22
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M52177_IG30:
add x0, x20, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M52177_IG43
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M52177_IG37
ldapr w1, [x0]
b G_M52177_IG32
;; size=48 bbWeight=1 PerfScore 15.00
G_M52177_IG31:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M52177_IG32:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M52177_IG34
;; size=12 bbWeight=8 PerfScore 16.00
G_M52177_IG33:
mov w2, wzr
b G_M52177_IG36
;; size=8 bbWeight=1 PerfScore 1.50
G_M52177_IG34:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M52177_IG31
;; size=20 bbWeight=8 PerfScore 44.00
G_M52177_IG35:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M52177_IG36:
cbz w2, G_M52177_IG43
;; size=4 bbWeight=1 PerfScore 1.00
G_M52177_IG37:
strb w21, [x20, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x21, [x20, #0x28]
cbz x21, G_M52177_IG38
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x21, #16
ldapr x0, [x0]
cbz x0, G_M52177_IG38
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M52177_IG38:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M52177_IG41
;; size=28 bbWeight=1 PerfScore 7.00
G_M52177_IG39:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M52177_IG44
;; size=20 bbWeight=1 PerfScore 5.50
G_M52177_IG40:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x19
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M52177_IG41:
ldp x21, x22, [sp, #0x60]
ldp x19, x20, [sp, #0x50]
ldp fp, lr, [sp], #0x70
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M52177_IG42:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52177_IG29
;; size=20 bbWeight=0 PerfScore 0.00
G_M52177_IG43:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M52177_IG44:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M52177_IG40
;; size=20 bbWeight=0 PerfScore 0.00
G_M52177_IG45:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #112
str x3, [sp, #0x18]
;; size=20 bbWeight=1 PerfScore 4.50
G_M52177_IG46:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=1 PerfScore 10.00
G_M52177_IG47:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #112
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M52177_IG48:
mov x1, x0
movn w0, #1
ldr x19, [fp, #0x18] // [V00 this]
str w0, [x19, #0x08]
add x0, x19, #16
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M52177_IG41]
;; size=44 bbWeight=0 PerfScore 0.00
G_M52177_IG49:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1732, prolog size 36, PerfScore 5291.50, instruction count 437, allocated bytes for code 1732 (MethodHash=0250342e) for method System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
+; Total bytes of code 1748, prolog size 36, PerfScore 5292.50, instruction count 439, allocated bytes for code 1748 (MethodHash=0250342e) for method System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
16 (1.14 % of base) - System.Formats.Tar.TarWriter+d__16:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarWriter+<ReadFileFromDiskAndWriteToArchiveStreamAsEntryAsync>d__16:MoveNext():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; 26 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 30, 27 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T32] ( 3, 3 ) int -> x19
; V02 loc1 [V02,T23] ( 3, 3 ) ref -> x20 class-hnd exact single-def <System.Formats.Tar.TarWriter>
; V03 loc2 [V03 ] ( 10, 10 ) struct (16) [fp+0x38] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
; V05 loc4 [V05 ] ( 10, 10 ) struct (16) [fp+0x28] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
; V06 loc5 [V06 ] ( 3, 3 ) struct (16) [fp+0x18] do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
;* V07 loc6 [V07 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V08 loc7 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V09 OutArgs [V09 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V10 tmp1 [V10 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V11 tmp2 [V11 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.Tasks.ValueTask>
;* V12 tmp3 [V12 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V13 tmp4 [V13 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V14 tmp5 [V14,T48] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V15 tmp6 [V15,T15] ( 3, 4 ) byref -> x4 single-def "Inlining Arg"
;* V16 tmp7 [V16,T41] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V17 tmp8 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V18 tmp9 [V18,T06] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V19 tmp10 [V19 ] ( 0, 0 ) ref -> zero-ref
;* V20 tmp11 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
;* V21 tmp12 [V21 ] ( 0, 0 ) int -> zero-ref
;* V22 tmp13 [V22 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V23 tmp14 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V24 tmp15 [V24,T42] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V25 tmp16 [V25,T16] ( 2, 4 ) ref -> x14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V26 tmp17 [V26 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V27 tmp18 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V28 tmp19 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V29 tmp20 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V30 tmp21 [V30,T07] ( 3, 6 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V31 tmp22 [V31,T19] ( 2, 4 ) int -> x2 "Inlining Arg"
;* V32 tmp23 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V33 tmp24 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V34 tmp25 [V34 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V35 tmp26 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Object>
; V36 tmp27 [V36,T20] ( 2, 4 ) short -> x1 "Inlining Arg"
;* V37 tmp28 [V37 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V38 tmp29 [V38 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V39 tmp30 [V39,T12] ( 4, 4 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V40 tmp31 [V40,T24] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V41 tmp32 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V42 tmp33 [V42 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V43 tmp34 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V44 tmp35 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V45 tmp36 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V46 tmp37 [V46,T13] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V47 tmp38 [V47,T14] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V48 tmp39 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
; V49 tmp40 [V49,T08] ( 3, 6 ) byref -> x14 single-def "Inlining Arg"
;* V50 tmp41 [V50 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V51 tmp42 [V51,T03] ( 7, 14 ) ref -> x19 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V52 tmp43 [V52,T21] ( 2, 4 ) struct ( 8) x20 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V53 tmp44 [V53,T05] ( 6, 12 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V54 tmp45 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V55 tmp46 [V55,T22] ( 2, 4 ) int -> x22 "Inlining Arg"
;* V56 tmp47 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V57 tmp48 [V57 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V58 tmp49 [V58,T43] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V59 tmp50 [V59,T25] ( 3, 3 ) ref -> x20 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V60 tmp51 [V60,T38] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V61 tmp52 [V61,T11] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V62 tmp53 [V62,T33] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V63 tmp54 [V63,T00] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V64 tmp55 [V64,T02] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V65 tmp56 [V65,T26] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V66 tmp57 [V66 ] ( 6, 6 ) ref -> [fp+0x38] do-not-enreg[X] addr-exposed "field V03.m_task (fldOffset=0x0)" P-DEP
; V67 tmp58 [V67 ] ( 6, 6 ) int -> [fp+0x40] do-not-enreg[X] addr-exposed "field V03.m_options (fldOffset=0x8)" P-DEP
; V68 tmp59 [V68,T35] ( 2, 2 ) ref -> [fp+0x18] do-not-enreg[] "field V06._obj (fldOffset=0x0)" P-DEP
; V69 tmp60 [V69,T39] ( 2, 2 ) short -> [fp+0x20] do-not-enreg[] "field V06._token (fldOffset=0x8)" P-DEP
; V70 tmp61 [V70,T44] ( 1, 1 ) ubyte -> [fp+0x22] do-not-enreg[] "field V06._continueOnCapturedContext (fldOffset=0xa)" P-DEP
;* V71 tmp62 [V71 ] ( 0, 0 ) ref -> zero-ref "field V11._obj (fldOffset=0x0)" P-DEP
;* V72 tmp63 [V72 ] ( 0, 0 ) short -> zero-ref "field V11._token (fldOffset=0x8)" P-DEP
;* V73 tmp64 [V73 ] ( 0, 0 ) ubyte -> zero-ref "field V11._continueOnCapturedContext (fldOffset=0xa)" P-DEP
; V74 tmp65 [V74,T36] ( 2, 2 ) ref -> x0 single-def "field V23.m_task (fldOffset=0x0)" P-INDEP
;* V75 tmp66 [V75,T45] ( 0, 0 ) int -> zero-ref "field V23.m_options (fldOffset=0x8)" P-INDEP
; V76 tmp67 [V76,T37] ( 2, 2 ) ref -> x0 single-def "field V32._obj (fldOffset=0x0)" P-INDEP
; V77 tmp68 [V77,T40] ( 2, 2 ) short -> x1 "field V32._token (fldOffset=0x8)" P-INDEP
;* V78 tmp69 [V78,T46] ( 0, 0 ) ubyte -> zero-ref "field V32._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V79 tmp70 [V79 ] ( 0, 0 ) ref -> zero-ref "field V33._obj (fldOffset=0x0)" P-INDEP
;* V80 tmp71 [V80 ] ( 0, 0 ) short -> zero-ref "field V33._token (fldOffset=0x8)" P-INDEP
;* V81 tmp72 [V81 ] ( 0, 0 ) ubyte -> zero-ref "field V33._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
; V82 tmp73 [V82,T09] ( 3, 6 ) ref -> x1 single-def "argument with side effect"
; V83 tmp74 [V83,T17] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V84 tmp75 [V84,T18] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V85 PSPSym [V85,T47] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
; V86 cse0 [V86,T27] ( 3, 3 ) ref -> x21 "CSE #14: moderate"
; V87 cse1 [V87,T28] ( 3, 3 ) ref -> x1 "CSE #05: moderate"
; V88 cse2 [V88,T34] ( 3, 3 ) int -> x1 "CSE #15: moderate"
; V89 cse3 [V89,T04] ( 7, 14 ) byref -> x0 "CSE #16: aggressive"
; V90 cse4 [V90,T29] ( 3, 3 ) ref -> x2 "CSE #01: moderate"
; V91 cse5 [V91,T30] ( 3, 3 ) byref -> x1 "CSE #02: moderate"
; V92 cse6 [V92,T31] ( 3, 3 ) ref -> x19 "CSE #09: moderate"
; V93 cse7 [V93,T10] ( 5, 5 ) byref -> x14 multi-def "CSE #07: aggressive"
;
; Lcl frame size = 64
G_M945_IG01:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x50]
stp x21, x22, [sp, #0x60]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp xzr, xzr, [x9, #0x20]
add x1, sp, #112
str x1, [fp, #0x48] // [V85 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=44 bbWeight=1 PerfScore 9.00
G_M945_IG02:
ldr w19, [x0, #0x20]
ldr x20, [x0]
;; size=8 bbWeight=1 PerfScore 6.00
G_M945_IG03:
cbnz w19, G_M945_IG09
add x1, x0, #56
;; size=8 bbWeight=1 PerfScore 1.50
G_M945_IG04:
ldp x2, x3, [x1]
stp x2, x3, [fp, #0x38]
;; size=8 bbWeight=1 PerfScore 5.00
G_M945_IG05:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x20]
;; size=12 bbWeight=1 PerfScore 2.50
G_M945_IG06:
ldr x1, [fp, #0x38] // [V66 tmp57]
ldr w2, [fp, #0x40] // [V67 tmp58]
add x3, x1, #52
ldapr w3, [x3]
mov w4, #0xD1FFAB1E
and w3, w3, w4
mov w4, #0xD1FFAB1E
cmp w3, w4
beq G_M945_IG07
mov x0, x1
mov w1, w2
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=64 bbWeight=1 PerfScore 17.00
G_M945_IG07:
ldr x0, [fp, #0x10] // [V00 this]
ldr x1, [x0, #0x18]
ldr x1, [x1, #0x08]
ldr x1, [x1, #0x08]
cbz x1, G_M945_IG20
mov x0, x1
ldr x1, [x1]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x28]
blr x1
stp x0, x1, [fp, #0x18] // [V06 loc5], [V06 loc5+0x08]
ldrsh x1, [fp, #0x20] // [V69 tmp60]
ldr x0, [fp, #0x18] // [V68 tmp59]
str x0, [fp, #0x28] // [V05 loc4]
strh w1, [fp, #0x30] // [V05 loc4+0x08]
strb wzr, [fp, #0x32] // [V05 loc4+0x0a]
ldr x21, [fp, #0x28] // [V05 loc4]
cbz x21, G_M945_IG12
mov x1, x21
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_M945_IG17
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M945_IG12
;; size=132 bbWeight=1 PerfScore 47.50
G_M945_IG08:
mov w14, #1
ldr x0, [fp, #0x10] // [V00 this]
str w14, [x0, #0x20]
add x14, x0, #72
add x13, fp, #40 // [V05 loc4]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x0, #40
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarWriter+<ReadFileFromDiskAndWriteToArchiveStreamAsEntryAsync>d__16](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #40 // [V05 loc4]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M945_IG32
- align [0 bytes for IG23]
+ align [4 bytes for IG23]
+ align [4 bytes]
align [0 bytes]
align [0 bytes]
- align [0 bytes]
- ;; size=88 bbWeight=1 PerfScore 23.00
+ ;; size=96 bbWeight=1 PerfScore 23.00
G_M945_IG09:
cmp w19, #1
bne G_M945_IG13
add x14, x0, #72
;; size=12 bbWeight=1 PerfScore 2.00
G_M945_IG10:
ldp x1, x2, [x14]
stp x1, x2, [fp, #0x28]
;; size=8 bbWeight=1 PerfScore 5.00
G_M945_IG11:
stp xzr, xzr, [x14]
movn w1, #0
str w1, [x0, #0x20]
;; size=12 bbWeight=1 PerfScore 2.50
G_M945_IG12:
ldr x19, [fp, #0x28] // [V05 loc4]
cbz x19, G_M945_IG20
mov x1, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M945_IG18
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M945_IG20
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M945_IG20
;; size=104 bbWeight=1 PerfScore 25.00
G_M945_IG13:
add x4, x0, #48
ldr x2, [x4]
cbnz x2, G_M945_IG16
;; size=12 bbWeight=1 PerfScore 4.50
G_M945_IG14:
ldp x1, x2, [x0, #0x08]
mov x0, x20
mov w3, #0xD1FFAB1E
movz x4, #0xD1FFAB1E // code for System.Formats.Tar.TarWriter:ConstructEntryForWriting(System.String,System.String,int):System.Formats.Tar.TarEntry:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
ldr x19, [fp, #0x10] // [V00 this]
add x14, x19, #24
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x2, [x19, #0x30]
ldr x1, [x19, #0x18]
mov x0, x20
movz x3, #0xD1FFAB1E // code for System.Formats.Tar.TarWriter:WriteEntryAsync(System.Formats.Tar.TarEntry,System.Threading.CancellationToken):System.Threading.Tasks.Task:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrsb wzr, [x0]
str x0, [fp, #0x38] // [V66 tmp57]
str wzr, [fp, #0x40] // [V67 tmp58]
ldr w14, [fp, #0x40] // [V67 tmp58]
tbnz w14, #2, G_M945_IG15
ldr x14, [fp, #0x38] // [V66 tmp57]
add x14, x14, #52
ldapr w14, [x14]
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M945_IG06
;; size=124 bbWeight=1 PerfScore 42.00
G_M945_IG15:
str wzr, [x19, #0x20]
add x14, x19, #56
ldr x15, [fp, #0x38] // [V66 tmp57]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0x40] // [V67 tmp58]
str w1, [x19, #0x40]
add x1, x19, #40
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarWriter+<ReadFileFromDiskAndWriteToArchiveStreamAsEntryAsync>d__16](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #56 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M945_IG32
;; size=84 bbWeight=1 PerfScore 21.50
G_M945_IG16:
add x2, x2, #32
ldapr w2, [x2]
cbz w2, G_M945_IG14
b G_M945_IG19
;; size=16 bbWeight=1 PerfScore 5.50
G_M945_IG17:
mov x0, x21
ldrsh w1, [fp, #0x30] // [V05 loc4+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M945_IG12
b G_M945_IG08
;; size=36 bbWeight=1 PerfScore 10.00
G_M945_IG18:
mov x0, x19
ldrsh w1, [fp, #0x30] // [V05 loc4+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
b G_M945_IG20
;; size=32 bbWeight=1 PerfScore 9.00
G_M945_IG19:
mov x0, x4
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M945_IG20:
movn w1, #1
ldr x0, [fp, #0x10] // [V00 this]
str w1, [x0, #0x20]
str xzr, [x0, #0x18]
add x14, x0, #40
ldr x19, [x14]
cbz x19, G_M945_IG31
mov w20, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M945_IG33
;; size=52 bbWeight=1 PerfScore 15.00
G_M945_IG21:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x21, [x0]
ldrb w0, [x21, #0x9D]
cbz w0, G_M945_IG22
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w22, w0
ldrb w1, [x21, #0x9D]
cbz w1, G_M945_IG22
ldr x3, [x21, #0x80]
ldr w2, [x21, #0x98]
mov x0, x21
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M945_IG22
mov x0, x21
mov w2, w22
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M945_IG22:
add x0, x19, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M945_IG34
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M945_IG29
ldapr w1, [x0]
b G_M945_IG24
;; size=48 bbWeight=1 PerfScore 15.00
G_M945_IG23:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M945_IG24:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M945_IG26
;; size=12 bbWeight=8 PerfScore 16.00
G_M945_IG25:
mov w2, wzr
b G_M945_IG28
;; size=8 bbWeight=1 PerfScore 1.50
G_M945_IG26:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M945_IG23
;; size=20 bbWeight=8 PerfScore 44.00
G_M945_IG27:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M945_IG28:
cbz w2, G_M945_IG34
;; size=4 bbWeight=1 PerfScore 1.00
G_M945_IG29:
strb w20, [x19, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x20, [x19, #0x28]
cbz x20, G_M945_IG30
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x20, #16
ldapr x0, [x0]
cbz x0, G_M945_IG30
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M945_IG30:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M945_IG32
;; size=28 bbWeight=1 PerfScore 7.00
G_M945_IG31:
movz x15, #0xD1FFAB1E
+ movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
ldr x15, [x15]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=16 bbWeight=1 PerfScore 5.00
+ ;; size=20 bbWeight=1 PerfScore 5.50
G_M945_IG32:
ldp x21, x22, [sp, #0x60]
ldp x19, x20, [sp, #0x50]
ldp fp, lr, [sp], #0x70
ret lr
;; size=16 bbWeight=1 PerfScore 4.00
G_M945_IG33:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M945_IG21
;; size=20 bbWeight=0 PerfScore 0.00
G_M945_IG34:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M945_IG35:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
add x3, fp, #112
str x3, [sp, #0x18]
;; size=20 bbWeight=0 PerfScore 0.00
G_M945_IG36:
mov x1, x0
movn w0, #1
ldr x19, [fp, #0x10] // [V00 this]
str w0, [x19, #0x20]
str xzr, [x19, #0x18]
add x0, x19, #40
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M945_IG32]
;; size=48 bbWeight=0 PerfScore 0.00
G_M945_IG37:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1400, prolog size 44, PerfScore 422.50, instruction count 354, allocated bytes for code 1400 (MethodHash=cb42fc4e) for method System.Formats.Tar.TarWriter+<ReadFileFromDiskAndWriteToArchiveStreamAsEntryAsync>d__16:MoveNext():this (FullOpts)
+; Total bytes of code 1416, prolog size 44, PerfScore 423.50, instruction count 356, allocated bytes for code 1416 (MethodHash=cb42fc4e) for method System.Formats.Tar.TarWriter+<ReadFileFromDiskAndWriteToArchiveStreamAsEntryAsync>d__16:MoveNext():this (FullOpts)
16 (0.63 % of base) - System.Formats.Tar.TarWriter+d__20:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarWriter+<WriteEntryAsyncInternal>d__20:MoveNext():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; 43 single block inlinees; 29 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T01] ( 27, 24 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T69] ( 2, 2 ) int -> x1
; V02 loc1 [V02,T15] ( 10, 9 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarWriter>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Memory`1[ubyte]>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
; V05 loc4 [V05,T17] ( 7, 7 ) ref -> x0 class-hnd <System.Threading.Tasks.Task>
;* V06 loc5 [V06 ] ( 0, 0 ) int -> zero-ref
; V07 loc6 [V07,T61] ( 3, 3 ) int -> x22
; V08 loc7 [V08 ] ( 10, 10 ) struct (16) [fp+0x228] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V09 loc8 [V09 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V10 loc9 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V11 OutArgs [V11 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V12 tmp1 [V12 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V13 tmp2 [V13,T82] ( 2, 0 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.String>
; V14 tmp3 [V14,T80] ( 3, 0 ) ref -> x22 class-hnd exact single-def "Single-def Box Helper" <System.Formats.Tar.TarEntryFormat>
; V15 tmp4 [V15,T81] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.IO.InvalidDataException>
; V16 tmp5 [V16,T06] ( 9, 18 ) ref -> x21 class-hnd exact single-def "impSpillLclRefs" <System.Formats.Tar.TarHeader>
; V17 tmp6 [V17,T34] ( 2, 4 ) ref -> x23 class-hnd single-def "impSpillLclRefs" <System.IO.Stream>
;* V18 tmp7 [V18 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]>
; V19 tmp8 [V19,T83] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V20 tmp9 [V20,T33] ( 3, 4 ) byref -> x2 single-def "Inlining Arg"
;* V21 tmp10 [V21,T73] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V22 tmp11 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V23 tmp12 [V23,T07] ( 8, 16 ) ref -> x0 class-hnd single-def "Inlining Arg" <ubyte[]>
; V24 tmp13 [V24 ] ( 12, 24 ) struct (16) [fp+0x218] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
;* V25 tmp14 [V25 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Span`1[ubyte]>
; V26 tmp15 [V26,T18] ( 5, 5 ) byref -> x0 "Inline stloc first use temp"
; V27 tmp16 [V27,T19] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
;* V28 tmp17 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Object>
;* V29 tmp18 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V30 tmp19 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Buffers.MemoryManager`1[ubyte]>
;* V31 tmp20 [V31 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
;* V32 tmp21 [V32 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
;* V33 tmp22 [V33 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V34 tmp23 [V34 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V35 tmp24 [V35 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "updating class info" <ubyte[]>
;* V36 tmp25 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ubyte[]>
; V37 tmp26 [V37,T35] ( 2, 4 ) byref -> x1 single-def "Inlining Arg"
;* V38 tmp27 [V38 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V39 tmp28 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Formats.Tar.TarEntry>
; V40 tmp29 [V40,T50] ( 3, 3 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
; V41 tmp30 [V41,T11] ( 5, 10 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.IO.Stream>
; V42 tmp31 [V42,T12] ( 5, 10 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.Formats.Tar.TarHeader>
;* V43 tmp32 [V43 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V44 tmp33 [V44 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
; V45 tmp34 [V45,T26] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.IO.Stream>
; V46 tmp35 [V46 ] ( 11, 11 ) struct (120) [fp+0x1A0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86>
;* V47 tmp36 [V47 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V48 tmp37 [V48,T36] ( 2, 4 ) ref -> x0 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V49 tmp38 [V49,T27] ( 4, 4 ) ref -> x0
; V50 tmp39 [V50 ] ( 10, 10 ) struct (88) [fp+0x148] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
;* V51 tmp40 [V51 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V52 tmp41 [V52,T37] ( 2, 4 ) ref -> x0 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V53 tmp42 [V53,T28] ( 4, 4 ) ref -> x0
; V54 tmp43 [V54,T51] ( 3, 3 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
; V55 tmp44 [V55,T13] ( 5, 10 ) ref -> x22 class-hnd single-def "Inlining Arg" <System.IO.Stream>
; V56 tmp45 [V56,T14] ( 5, 10 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.Formats.Tar.TarHeader>
;* V57 tmp46 [V57 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Memory`1[ubyte]>
;* V58 tmp47 [V58 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
; V59 tmp48 [V59,T29] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.IO.Stream>
; V60 tmp49 [V60 ] ( 11, 11 ) struct (120) [fp+0xD0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86>
;* V61 tmp50 [V61 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V62 tmp51 [V62,T38] ( 2, 4 ) ref -> x0 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V63 tmp52 [V63,T30] ( 4, 4 ) ref -> x0
; V64 tmp53 [V64 ] ( 10, 10 ) struct (88) [fp+0x78] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
;* V65 tmp54 [V65 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V66 tmp55 [V66,T39] ( 2, 4 ) ref -> x0 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V67 tmp56 [V67,T31] ( 4, 4 ) ref -> x0
; V68 tmp57 [V68,T52] ( 3, 3 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Threading.Tasks.Task>
;* V69 tmp58 [V69 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Threading.CancellationToken>
;* V70 tmp59 [V70,T74] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V71 tmp60 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource>
; V72 tmp61 [V72 ] ( 5, 8 ) struct ( 8) [fp+0x70] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <System.Threading.CancellationToken>
; V73 tmp62 [V73,T40] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
;* V74 tmp63 [V74,T75] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V75 tmp64 [V75,T41] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Threading.CancellationTokenSource>
;* V76 tmp65 [V76 ] ( 0, 0 ) ref -> zero-ref
;* V77 tmp66 [V77 ] ( 0, 0 ) ref -> zero-ref single-def
; V78 tmp67 [V78,T65] ( 2, 2 ) ref -> x15 single-def
;* V79 tmp68 [V79 ] ( 0, 0 ) ref -> zero-ref
;* V80 tmp69 [V80 ] ( 0, 0 ) ref -> zero-ref
;* V81 tmp70 [V81 ] ( 0, 0 ) int -> zero-ref
; V82 tmp71 [V82,T70] ( 2, 2 ) int -> x0 "Inline return value spill temp"
; V83 tmp72 [V83,T22] ( 3, 6 ) ubyte -> x0 "Inlining Arg"
;* V84 tmp73 [V84 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V85 tmp74 [V85 ] ( 10, 10 ) struct (88) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84>
;* V86 tmp75 [V86 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V87 tmp76 [V87 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder>
; V88 tmp77 [V88,T42] ( 2, 4 ) ref -> x0 class-hnd single-def "dup spill" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V89 tmp78 [V89,T32] ( 4, 4 ) ref -> x0
;* V90 tmp79 [V90 ] ( 0, 0 ) ref -> zero-ref
;* V91 tmp80 [V91 ] ( 0, 0 ) ref -> zero-ref single-def
;* V92 tmp81 [V92 ] ( 0, 0 ) int -> zero-ref
;* V93 tmp82 [V93 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V94 tmp83 [V94 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V95 tmp84 [V95,T76] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V96 tmp85 [V96,T43] ( 2, 4 ) ref -> x14 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
;* V97 tmp86 [V97 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V98 tmp87 [V98 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V99 tmp88 [V99 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V100 tmp89 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V101 tmp90 [V101,T20] ( 3, 6 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task>
; V102 tmp91 [V102,T47] ( 2, 4 ) int -> x2 "Inlining Arg"
; V103 tmp92 [V103,T21] ( 3, 6 ) byref -> x14 single-def "Inlining Arg"
;* V104 tmp93 [V104 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V105 tmp94 [V105,T08] ( 7, 14 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V106 tmp95 [V106,T48] ( 2, 4 ) struct ( 8) x23 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V107 tmp96 [V107,T10] ( 6, 12 ) ref -> x22 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V108 tmp97 [V108 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V109 tmp98 [V109,T49] ( 2, 4 ) int -> x21 "Inlining Arg"
;* V110 tmp99 [V110 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V111 tmp100 [V111 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V112 tmp101 [V112,T77] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V113 tmp102 [V113,T53] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V114 tmp103 [V114,T71] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
; V115 tmp104 [V115,T25] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
; V116 tmp105 [V116,T62] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V117 tmp106 [V117,T00] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V118 tmp107 [V118,T02] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
; V119 tmp108 [V119,T54] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
;* V120 tmp109 [V120 ] ( 0, 0 ) ref -> zero-ref single-def "field V03._object (fldOffset=0x0)" P-INDEP
;* V121 tmp110 [V121 ] ( 0, 0 ) int -> zero-ref "field V03._index (fldOffset=0x8)" P-INDEP
;* V122 tmp111 [V122 ] ( 0, 0 ) int -> zero-ref "field V03._length (fldOffset=0xc)" P-INDEP
;* V123 tmp112 [V123 ] ( 0, 0 ) byref -> zero-ref single-def "field V04._reference (fldOffset=0x0)" P-INDEP
;* V124 tmp113 [V124 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
; V125 tmp114 [V125 ] ( 6, 6 ) ref -> [fp+0x228] do-not-enreg[X] addr-exposed "field V08.m_task (fldOffset=0x0)" P-DEP
; V126 tmp115 [V126 ] ( 6, 6 ) int -> [fp+0x230] do-not-enreg[X] addr-exposed "field V08.m_options (fldOffset=0x8)" P-DEP
;* V127 tmp116 [V127 ] ( 0, 0 ) ref -> zero-ref single-def "field V18._object (fldOffset=0x0)" P-INDEP
;* V128 tmp117 [V128 ] ( 0, 0 ) int -> zero-ref "field V18._index (fldOffset=0x8)" P-INDEP
;* V129 tmp118 [V129 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0xc)" P-INDEP
; V130 tmp119 [V130,T03] ( 10, 19 ) ref -> [fp+0x218] do-not-enreg[] "field V24._object (fldOffset=0x0)" P-DEP
; V131 tmp120 [V131,T04] ( 10, 19 ) int -> [fp+0x220] do-not-enreg[] "field V24._index (fldOffset=0x8)" P-DEP
; V132 tmp121 [V132,T05] ( 10, 19 ) int -> [fp+0x224] do-not-enreg[] "field V24._length (fldOffset=0xc)" P-DEP
;* V133 tmp122 [V133 ] ( 0, 0 ) byref -> zero-ref "field V25._reference (fldOffset=0x0)" P-INDEP
;* V134 tmp123 [V134 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
;* V135 tmp124 [V135 ] ( 0, 0 ) byref -> zero-ref single-def "field V29._reference (fldOffset=0x0)" P-INDEP
;* V136 tmp125 [V136 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
;* V137 tmp126 [V137 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-DEP
;* V138 tmp127 [V138 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-DEP
; V139 tmp128 [V139,T66] ( 2, 2 ) byref -> x0 "field V32._reference (fldOffset=0x0)" P-INDEP
; V140 tmp129 [V140,T72] ( 2, 2 ) int -> x1 "field V32._length (fldOffset=0x8)" P-INDEP
;* V141 tmp130 [V141 ] ( 0, 0 ) byref -> zero-ref single-def "field V38._reference (fldOffset=0x0)" P-INDEP
;* V142 tmp131 [V142 ] ( 0, 0 ) int -> zero-ref "field V38._length (fldOffset=0x8)" P-INDEP
;* V143 tmp132 [V143 ] ( 0, 0 ) ref -> zero-ref single-def "field V43._object (fldOffset=0x0)" P-INDEP
;* V144 tmp133 [V144 ] ( 0, 0 ) int -> zero-ref "field V43._index (fldOffset=0x8)" P-INDEP
;* V145 tmp134 [V145 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0xc)" P-INDEP
; V146 tmp135 [V146,T55] ( 3, 3 ) ref -> x23 single-def "field V44._source (fldOffset=0x0)" P-INDEP
;* V147 tmp136 [V147 ] ( 0, 0 ) ref -> zero-ref single-def "field V47.m_task (fldOffset=0x0)" P-INDEP
;* V148 tmp137 [V148 ] ( 0, 0 ) ref -> zero-ref single-def "field V51.m_task (fldOffset=0x0)" P-INDEP
;* V149 tmp138 [V149 ] ( 0, 0 ) ref -> zero-ref single-def "field V57._object (fldOffset=0x0)" P-INDEP
;* V150 tmp139 [V150 ] ( 0, 0 ) int -> zero-ref "field V57._index (fldOffset=0x8)" P-INDEP
;* V151 tmp140 [V151 ] ( 0, 0 ) int -> zero-ref "field V57._length (fldOffset=0xc)" P-INDEP
; V152 tmp141 [V152,T56] ( 3, 3 ) ref -> x23 single-def "field V58._source (fldOffset=0x0)" P-INDEP
;* V153 tmp142 [V153 ] ( 0, 0 ) ref -> zero-ref single-def "field V61.m_task (fldOffset=0x0)" P-INDEP
;* V154 tmp143 [V154 ] ( 0, 0 ) ref -> zero-ref single-def "field V65.m_task (fldOffset=0x0)" P-INDEP
; V155 tmp144 [V155,T24] ( 5, 5 ) ref -> x24 single-def "field V69._source (fldOffset=0x0)" P-INDEP
; V156 tmp145 [V156 ] ( 5, 4 ) ref -> [fp+0x70] do-not-enreg[X] addr-exposed "field V72._source (fldOffset=0x0)" P-DEP
; V157 tmp146 [V157,T67] ( 2, 2 ) ref -> x0 single-def "field V86._source (fldOffset=0x0)" P-INDEP
;* V158 tmp147 [V158 ] ( 0, 0 ) ref -> zero-ref single-def "field V87.m_task (fldOffset=0x0)" P-INDEP
; V159 tmp148 [V159,T68] ( 2, 2 ) ref -> x0 single-def "field V94.m_task (fldOffset=0x0)" P-INDEP
;* V160 tmp149 [V160,T78] ( 0, 0 ) int -> zero-ref "field V94.m_options (fldOffset=0x8)" P-INDEP
; V161 tmp150 [V161,T44] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V162 tmp151 [V162,T84] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V163 tmp152 [V163,T45] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V164 tmp153 [V164,T46] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
; V165 PSPSym [V165,T79] ( 1, 1 ) long -> [fp+0x238] do-not-enreg[V] "PSPSym"
; V166 cse0 [V166,T57] ( 3, 3 ) ref -> x22 "CSE #19: moderate"
; V167 cse1 [V167,T16] ( 8, 8 ) ref -> x21 "CSE #04: aggressive"
; V168 cse2 [V168,T63] ( 3, 3 ) int -> x1 "CSE #20: moderate"
; V169 cse3 [V169,T09] ( 7, 14 ) byref -> x0 "CSE #21: aggressive"
; V170 cse4 [V170,T58] ( 3, 3 ) ref -> x1 "CSE #01: moderate"
; V171 cse5 [V171,T64] ( 3, 3 ) int -> x21 "CSE #02: moderate"
; V172 cse6 [V172,T59] ( 3, 3 ) byref -> x1 "CSE #10: moderate"
; V173 cse7 [V173,T60] ( 3, 3 ) ref -> x20 "CSE #15: moderate"
; V174 rat0 [V174,T23] ( 3, 5.60) int -> x22 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 560
G_M22712_IG01:
stp x19, x20, [sp, #-0x30]!
stp x21, x22, [sp, #0x10]
stp x23, x24, [sp, #0x20]
sub sp, sp, #0xD1FFAB1E
stp fp, lr, [sp]
mov fp, sp
movi v16.16b, #0
add x9, fp, #88
add x10, fp, #0xD1FFAB1E
stp q16, q16, [x9, #-0x40]
stp q16, q16, [x9, #-0x20]
bfm x9, xzr, #0, #5
dczva x9
add x9, x9, #64
cmp x9, x10
blo pc-16 (-4 instructions)
stp q16, q16, [x10]
stp q16, q16, [x10, #0x20]
add x1, sp, #0xD1FFAB1E
str x1, [fp, #0xD1FFAB1E] // [V165 PSPSym]
str x0, [fp, #0x10] // [V00 this]
;; size=84 bbWeight=1 PerfScore 17.00
G_M22712_IG02:
ldr w1, [x0, #0x18]
ldr x19, [x0, #0x08]
;; size=8 bbWeight=1 PerfScore 6.00
G_M22712_IG03:
cbnz w1, G_M22712_IG09
add x1, x0, #48
;; size=8 bbWeight=1 PerfScore 1.50
G_M22712_IG04:
add x2, fp, #0xD1FFAB1E
ldp x3, xip1, [x1]
stp x3, xip1, [x2]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG05:
stp xzr, xzr, [x1]
movn w1, #0
str w1, [x0, #0x18]
;; size=12 bbWeight=1 PerfScore 2.50
G_M22712_IG06:
ldr x1, [fp, #0xD1FFAB1E] // [V125 tmp114]
ldr w2, [fp, #0xD1FFAB1E] // [V126 tmp115]
add x3, x1, #52
ldapr w3, [x3]
mov w4, #0xD1FFAB1E
and w3, w3, w4
mov w4, #0xD1FFAB1E
cmp w3, w4
beq G_M22712_IG07
mov x0, x1
mov w1, w2
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=64 bbWeight=1 PerfScore 17.00
G_M22712_IG07:
mov w1, #1
strb w1, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M22712_IG50
;; size=28 bbWeight=1 PerfScore 7.00
G_M22712_IG08:
movz x1, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
mov x0, x1
ldr x19, [fp, #0x10] // [V00 this]
ldr x1, [x19, #0x10]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
b G_M22712_IG53
- ;; size=56 bbWeight=1 PerfScore 19.50
+ ;; size=60 bbWeight=1 PerfScore 20.00
G_M22712_IG09:
add x2, x0, #40
ldr x1, [x2]
cbnz x1, G_M22712_IG12
;; size=12 bbWeight=1 PerfScore 4.50
G_M22712_IG10:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M22712_IG47
;; size=20 bbWeight=1 PerfScore 5.50
G_M22712_IG11:
movz x1, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
mov x0, x1
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x20, [fp, #0x10] // [V00 this]
add x14, x20, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x0, [x20, #0x10]
cbnz x0, G_M22712_IG13
b G_M22712_IG51
- ;; size=72 bbWeight=1 PerfScore 22.50
+ ;; size=76 bbWeight=1 PerfScore 23.00
G_M22712_IG12:
add x1, x1, #32
ldapr w1, [x1]
cbz w1, G_M22712_IG10
b G_M22712_IG52
;; size=16 bbWeight=1 PerfScore 5.50
G_M22712_IG13:
ldr w21, [x0, #0x08]
cmp w21, #0xD1FFAB1E
blo G_M22712_IG51
str x0, [fp, #0xD1FFAB1E] // [V130 tmp119]
str wzr, [fp, #0xD1FFAB1E] // [V131 tmp120]
mov w1, #0xD1FFAB1E
str w1, [fp, #0xD1FFAB1E] // [V132 tmp121]
ldr x1, [x0]
ldr w1, [x1]
tst w1, #0xD1FFAB1E
bne G_M22712_IG14
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
b G_M22712_IG15
;; size=64 bbWeight=1 PerfScore 26.50
G_M22712_IG14:
add x0, x0, #16
sxtw w1, w21
;; size=8 bbWeight=1 PerfScore 1.00
G_M22712_IG15:
cmp w1, #0xD1FFAB1E
blo G_M22712_IG51
mov w1, #0xD1FFAB1E
mov w1, w1
movz x2, #0xD1FFAB1E // code for System.SpanHelpers:ClearWithoutReferences(byref,ulong)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x20]
ldr x0, [x0, #0x08]
mov x21, x0
ldr w0, [x21, #0x70]
sub w22, w0, #1
cmp w22, #3
bhi G_M22712_IG48
;; size=64 bbWeight=1 PerfScore 19.50
G_M22712_IG16:
mov w0, w22
adr x2, [@RWD00]
ldr w2, [x2, x0, LSL #2]
adr x3, [G_M22712_IG02]
add x2, x2, x3
br x2
;; size=24 bbWeight=0.80 PerfScore 4.80
G_M22712_IG17:
mov x0, x21
ldr x2, [fp, #0xD1FFAB1E] // [V24 tmp13]
ldr x3, [fp, #0xD1FFAB1E] // [V24 tmp13+0x08]
ldr x1, [x19, #0x08]
ldr x4, [x20, #0x28]
movz x5, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:WriteAsGnuAsync(System.IO.Stream,System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.Task:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M22712_IG44
;; size=44 bbWeight=1 PerfScore 17.00
G_M22712_IG18:
ldrb w0, [x21, #0x8C]
cmp w0, #103
beq G_M22712_IG19
mov x0, x21
ldr x2, [fp, #0xD1FFAB1E] // [V24 tmp13]
ldr x3, [fp, #0xD1FFAB1E] // [V24 tmp13+0x08]
ldr x1, [x19, #0x08]
ldr x4, [x20, #0x28]
movz x5, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:WriteAsPaxAsync(System.IO.Stream,System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.Task:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M22712_IG44
;; size=56 bbWeight=1 PerfScore 21.50
G_M22712_IG19:
ldr x23, [x19, #0x08]
ldr w22, [x19, #0x20]
add w0, w22, #1
str w0, [x19, #0x20]
ldr x24, [x20, #0x28]
ldrsb wzr, [x21]
cbnz x24, G_M22712_IG21
;; size=28 bbWeight=1 PerfScore 14.50
G_M22712_IG20:
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
str x24, [fp, #0x70] // [V156 tmp145]
ldr x1, [fp, #0x70] // [V156 tmp145]
cbz x1, G_M22712_IG23
ldr x1, [fp, #0x70] // [V156 tmp145]
add x1, x1, #32
ldapr w1, [x1]
cbz w1, G_M22712_IG23
b G_M22712_IG49
;; size=56 bbWeight=1 PerfScore 17.50
G_M22712_IG21:
add x0, x24, #32
ldapr w0, [x0]
cbz w0, G_M22712_IG20
mov x0, x24
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FromCanceled[int](System.Threading.CancellationToken):System.Threading.Tasks.Task`1[int]
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=36 bbWeight=1 PerfScore 10.50
G_M22712_IG22:
b G_M22712_IG44
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG23:
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x21, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov w0, w22
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:GenerateGlobalExtendedAttributeName(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x15, x0
add x14, x21, #16
bl CORINFO_HELP_ASSIGN_REF
ldrb w0, [x21, #0x8C]
mov w1, #68
mov w2, #0xD1FFAB1E
mov w3, #0xD1FFAB1E
cmp w0, #53
ccmp w0, w1, z, ne
csel w0, w2, w3, ne
str w0, [x21, #0x74]
mov w0, #103
strb w0, [x21, #0x8C]
ldr x0, [fp, #0x70] // [V156 tmp145]
str xzr, [fp, #0x30]
str x21, [fp, #0x18] // [V85 tmp74]
mov w1, #3
str w1, [fp, #0x2C] // [V85 tmp74+0x14]
str x23, [fp, #0x20] // [V85 tmp74+0x08]
;; size=132 bbWeight=1 PerfScore 30.50
G_M22712_IG24:
add x1, fp, #0xD1FFAB1E
ldp x2, x3, [x1, #0x38]
stp x2, x3, [fp, #0x38]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG25:
str x0, [fp, #0x48] // [V85 tmp74+0x30]
movn w0, #0
str w0, [fp, #0x28] // [V85 tmp74+0x10]
add x0, fp, #24 // [V85 tmp74]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [fp, #0x30] // [V85 tmp74+0x18]
cbnz x0, G_M22712_IG26
add x0, fp, #48 // [V85 tmp74+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=68 bbWeight=1 PerfScore 17.50
G_M22712_IG26:
b G_M22712_IG22
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG27:
ldr x22, [x19, #0x08]
ldr x23, [x20, #0x28]
ldrsb wzr, [x21]
mov x0, x22
ldr x1, [x22]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M22712_IG28
ldr x0, [x21, #0x08]
cbz x0, G_M22712_IG28
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M22712_IG32
;; size=64 bbWeight=1 PerfScore 35.50
G_M22712_IG28:
str xzr, [fp, #0x90]
str x21, [fp, #0x78] // [V64 tmp53]
mov w0, #2
str w0, [fp, #0x8C] // [V64 tmp53+0x14]
str x22, [fp, #0x80] // [V64 tmp53+0x08]
;; size=20 bbWeight=1 PerfScore 4.50
G_M22712_IG29:
add x0, fp, #0xD1FFAB1E
ldp x1, x2, [x0, #0x98]
stp x1, x2, [fp, #0x98]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG30:
str x23, [fp, #0xA8] // [V64 tmp53+0x30]
movn w0, #0
str w0, [fp, #0x88] // [V64 tmp53+0x10]
add x0, fp, #120 // [V64 tmp53]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [fp, #0x90] // [V64 tmp53+0x18]
cbnz x0, G_M22712_IG31
add x0, fp, #144 // [V64 tmp53+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=68 bbWeight=1 PerfScore 17.50
G_M22712_IG31:
b G_M22712_IG35
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG32:
str xzr, [fp, #0xD1FFAB1E]
str x21, [fp, #0xD8] // [V60 tmp49+0x08]
mov w0, #2
str w0, [fp, #0xFC] // [V60 tmp49+0x2c]
str x22, [fp, #0xD0] // [V60 tmp49]
;; size=20 bbWeight=1 PerfScore 4.50
G_M22712_IG33:
add x0, fp, #0xD1FFAB1E
ldp x1, x2, [x0, #0xD1FFAB1E]
stp x1, x2, [fp, #0xD1FFAB1E]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG34:
mov w0, #1
strb w0, [fp, #0xD1FFAB1E] // [V60 tmp49+0x30]
str x23, [fp, #0xD1FFAB1E] // [V60 tmp49+0x40]
movn w0, #0
str w0, [fp, #0xF8] // [V60 tmp49+0x28]
add x0, fp, #208 // [V60 tmp49]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [fp, #0xD1FFAB1E] // [V60 tmp49+0x38]
cbnz x0, G_M22712_IG35
add x0, fp, #0xD1FFAB1E // [V60 tmp49+0x38]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=76 bbWeight=1 PerfScore 19.00
G_M22712_IG35:
b G_M22712_IG44
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG36:
ldr x22, [x19, #0x08]
ldr x23, [x20, #0x28]
ldrsb wzr, [x21]
mov x0, x22
ldr x1, [x22]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M22712_IG37
ldr x0, [x21, #0x08]
cbz x0, G_M22712_IG37
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x38]
blr x1
cbz w0, G_M22712_IG41
;; size=64 bbWeight=1 PerfScore 35.50
G_M22712_IG37:
str xzr, [fp, #0xD1FFAB1E]
str x21, [fp, #0xD1FFAB1E] // [V50 tmp39]
mov w0, #1
str w0, [fp, #0xD1FFAB1E] // [V50 tmp39+0x14]
str x22, [fp, #0xD1FFAB1E] // [V50 tmp39+0x08]
;; size=20 bbWeight=1 PerfScore 4.50
G_M22712_IG38:
add x0, fp, #176
ldp x1, x2, [x0, #0xD1FFAB1E]
stp x1, x2, [fp, #0xD1FFAB1E]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG39:
str x23, [fp, #0xD1FFAB1E] // [V50 tmp39+0x30]
movn w0, #0
str w0, [fp, #0xD1FFAB1E] // [V50 tmp39+0x10]
add x0, fp, #0xD1FFAB1E // [V50 tmp39]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithSeekableDataStreamAsync>d__84](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [fp, #0xD1FFAB1E] // [V50 tmp39+0x18]
cbnz x0, G_M22712_IG40
add x0, fp, #0xD1FFAB1E // [V50 tmp39+0x18]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=68 bbWeight=1 PerfScore 17.50
G_M22712_IG40:
b G_M22712_IG44
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG41:
str xzr, [fp, #0xD1FFAB1E]
str x21, [fp, #0xD1FFAB1E] // [V46 tmp35+0x08]
mov w0, #1
str w0, [fp, #0xD1FFAB1E] // [V46 tmp35+0x2c]
str x22, [fp, #0xD1FFAB1E] // [V46 tmp35]
;; size=20 bbWeight=1 PerfScore 4.50
G_M22712_IG42:
add x0, fp, #48
ldp x1, x2, [x0, #0xD1FFAB1E]
stp x1, x2, [fp, #0xD1FFAB1E]
;; size=12 bbWeight=1 PerfScore 5.50
G_M22712_IG43:
mov w0, #1
strb w0, [fp, #0xD1FFAB1E] // [V46 tmp35+0x30]
str x23, [fp, #0xD1FFAB1E] // [V46 tmp35+0x40]
movn w0, #0
str w0, [fp, #0xD1FFAB1E] // [V46 tmp35+0x28]
add x0, fp, #0xD1FFAB1E // [V46 tmp35]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Formats.Tar.TarHeader+<WriteWithUnseekableDataStreamAsync>d__86](byref)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [fp, #0xD1FFAB1E] // [V46 tmp35+0x38]
cbnz x0, G_M22712_IG44
add x0, fp, #0xD1FFAB1E // [V46 tmp35+0x38]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:InitializeTaskAsPromise():System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=76 bbWeight=1 PerfScore 19.00
G_M22712_IG44:
ldrsb wzr, [x0]
str x0, [fp, #0xD1FFAB1E] // [V125 tmp114]
str wzr, [fp, #0xD1FFAB1E] // [V126 tmp115]
ldr w14, [fp, #0xD1FFAB1E] // [V126 tmp115]
tbz w14, #2, G_M22712_IG46
;; size=20 bbWeight=1 PerfScore 8.00
G_M22712_IG45:
str wzr, [x20, #0x18]
add x14, x20, #48
ldr x15, [fp, #0xD1FFAB1E] // [V125 tmp114]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w1, [fp, #0xD1FFAB1E] // [V126 tmp115]
str w1, [x20, #0x38]
add x1, x20, #32
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarWriter+<WriteEntryAsyncInternal>d__20](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #0xD1FFAB1E // [V08 loc7]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M22712_IG65
;; size=84 bbWeight=1 PerfScore 21.50
G_M22712_IG46:
ldr x14, [fp, #0xD1FFAB1E] // [V125 tmp114]
add x14, x14, #52
ldapr w14, [x14]
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M22712_IG06
b G_M22712_IG45
;; size=28 bbWeight=1 PerfScore 8.50
G_M22712_IG47:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22712_IG11
align [0 bytes for IG56]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=0 PerfScore 0.00
G_M22712_IG48:
movz x0, #0xD1FFAB1E // code for System.SR:get_TarInvalidFormat():System.String
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
bl CORINFO_HELP_NEWSFAST
mov x22, x0
ldr w0, [x19, #0x24]
str w0, [x22, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov x1, x22
mov x0, x21
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, x19
movz x2, #0xD1FFAB1E // code for System.IO.InvalidDataException:.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=140 bbWeight=0 PerfScore 0.00
G_M22712_IG49:
add x0, fp, #112 // [V72 tmp61]
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M22712_IG50:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22712_IG08
;; size=20 bbWeight=0 PerfScore 0.00
G_M22712_IG51:
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_M22712_IG52:
mov x0, x2
movz x1, #0xD1FFAB1E // code for System.Threading.CancellationToken:ThrowOperationCanceledException():this
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_M22712_IG53:
movn w0, #1
str w0, [x19, #0x18]
str xzr, [x19, #0x10]
add x14, x19, #32
ldr x20, [x14]
cbz x20, G_M22712_IG64
mov w23, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M22712_IG66
;; size=48 bbWeight=1 PerfScore 13.00
G_M22712_IG54:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
ldrb w0, [x22, #0x9D]
cbz w0, G_M22712_IG55
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w21, w0
ldrb w1, [x22, #0x9D]
cbz w1, G_M22712_IG55
ldr x3, [x22, #0x80]
ldr w2, [x22, #0x98]
mov x0, x22
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M22712_IG55
mov x0, x22
mov w2, w21
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M22712_IG55:
add x0, x20, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M22712_IG67
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M22712_IG62
ldapr w1, [x0]
b G_M22712_IG57
;; size=48 bbWeight=1 PerfScore 15.00
G_M22712_IG56:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M22712_IG57:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M22712_IG59
;; size=12 bbWeight=8 PerfScore 16.00
G_M22712_IG58:
mov w2, wzr
b G_M22712_IG61
;; size=8 bbWeight=1 PerfScore 1.50
G_M22712_IG59:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M22712_IG56
;; size=20 bbWeight=8 PerfScore 44.00
G_M22712_IG60:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M22712_IG61:
cbz w2, G_M22712_IG67
;; size=4 bbWeight=1 PerfScore 1.00
G_M22712_IG62:
strb w23, [x20, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x19, [x20, #0x28]
cbz x19, G_M22712_IG63
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x19, #16
ldapr x0, [x0]
cbz x0, G_M22712_IG63
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M22712_IG63:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M22712_IG65
;; size=28 bbWeight=1 PerfScore 7.00
G_M22712_IG64:
movz x15, #0xD1FFAB1E
+ movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
ldr x15, [x15]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=16 bbWeight=1 PerfScore 5.00
+ ;; size=20 bbWeight=1 PerfScore 5.50
G_M22712_IG65:
ldp fp, lr, [sp]
add sp, sp, #0xD1FFAB1E
ldp x23, x24, [sp, #0x20]
ldp x21, x22, [sp, #0x10]
ldp x19, x20, [sp], #0x30
ret lr
;; size=24 bbWeight=1 PerfScore 5.50
G_M22712_IG66:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M22712_IG54
;; size=20 bbWeight=0 PerfScore 0.00
G_M22712_IG67:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M22712_IG68:
stp fp, lr, [sp, #-0x50]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
add x3, fp, #0xD1FFAB1E
str x3, [sp, #0x18]
;; size=24 bbWeight=0 PerfScore 0.00
G_M22712_IG69:
mov x1, x0
movn w0, #1
ldr x20, [fp, #0x10] // [V00 this]
str w0, [x20, #0x18]
str xzr, [x20, #0x10]
add x0, x20, #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M22712_IG65]
;; size=48 bbWeight=0 PerfScore 0.00
G_M22712_IG70:
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldp fp, lr, [sp], #0x50
ret lr
;; size=20 bbWeight=0 PerfScore 0.00
RWD00 dd G_M22712_IG36 - G_M22712_IG02
dd G_M22712_IG27 - G_M22712_IG02
dd G_M22712_IG18 - G_M22712_IG02
dd G_M22712_IG17 - G_M22712_IG02
-; Total bytes of code 2520, prolog size 84, PerfScore 710.80, instruction count 634, allocated bytes for code 2520 (MethodHash=e08ca747) for method System.Formats.Tar.TarWriter+<WriteEntryAsyncInternal>d__20:MoveNext():this (FullOpts)
+; Total bytes of code 2536, prolog size 84, PerfScore 712.80, instruction count 638, allocated bytes for code 2536 (MethodHash=e08ca747) for method System.Formats.Tar.TarWriter+<WriteEntryAsyncInternal>d__20:MoveNext():this (FullOpts)
12 (1.22 % of base) - Interop+ErrorInfo:ToString():System.String:this
; Assembly listing for method Interop+ErrorInfo:ToString():System.String: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; 16 single block inlinees; 22 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 11, 8 ) byref -> [fp+0x10] this single-def
-; V01 loc0 [V01 ] ( 37, 29.50) struct (40) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+; V00 this [V00,T00] ( 11, 8 ) byref -> [fp+0x18] this single-def
+; V01 loc0 [V01 ] ( 38, 30 ) struct (40) [fp+0x20] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V04 tmp2 [V04,T01] ( 5, 8 ) ref -> x0 class-hnd single-def "dup spill" <ushort[]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V06 tmp4 [V06 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V07 tmp5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V09 tmp7 [V09,T02] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V10 tmp8 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V11 tmp9 [V11,T17] ( 2, 3 ) byref -> x20 single-def "Inlining Arg"
+; V11 tmp9 [V11,T17] ( 2, 3 ) byref -> x21 single-def "Inlining Arg"
; V12 tmp10 [V12,T09] ( 2, 4 ) int -> x0 "Inlining Arg"
;* V13 tmp11 [V13,T32] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V14 tmp12 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V15 tmp13 [V15 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V16 tmp14 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V17 tmp15 [V17,T23] ( 3, 2 ) int -> registers "Inline return value spill temp"
+; V17 tmp15 [V17,T24] ( 3, 2 ) int -> registers "Inline return value spill temp"
; V18 tmp16 [V18,T12] ( 3, 3 ) int -> x19 "dup spill"
;* V19 tmp17 [V19 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V20 tmp18 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V21 tmp19 [V21,T03] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V22 tmp20 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V23 tmp21 [V23,T18] ( 2, 3 ) byref -> x19 single-def "Inlining Arg"
; V24 tmp22 [V24,T10] ( 2, 4 ) int -> x0 "Inlining Arg"
;* V25 tmp23 [V25,T33] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V26 tmp24 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V27 tmp25 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V28 tmp26 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V29 tmp27 [V29 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V30 tmp28 [V30,T04] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V31 tmp29 [V31 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V32 tmp30 [V32,T19] ( 2, 3 ) byref -> x19 single-def "Inlining Arg"
; V33 tmp31 [V33,T11] ( 2, 4 ) int -> x0 "Inlining Arg"
;* V34 tmp32 [V34,T34] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V35 tmp33 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V36 tmp34 [V36 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V37 tmp35 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V38 tmp36 [V38,T24] ( 3, 2 ) int -> x19 "Inline return value spill temp"
+; V38 tmp36 [V38,T25] ( 3, 2 ) int -> x19 "Inline return value spill temp"
; V39 tmp37 [V39,T13] ( 3, 3 ) int -> x19 "dup spill"
;* V40 tmp38 [V40 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
; V41 tmp39 [V41,T05] ( 5, 6 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.String>
;* V42 tmp40 [V42 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V43 tmp41 [V43,T07] ( 4, 4 ) int -> x0 "Inlining Arg"
;* V44 tmp42 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V45 tmp43 [V45,T26] ( 2, 2 ) byref -> x3 single-def "Inlining Arg"
-; V46 tmp44 [V46,T29] ( 2, 2 ) int -> x0 "Inlining Arg"
+; V45 tmp43 [V45,T27] ( 2, 2 ) byref -> registers single-def "Inlining Arg"
+; V46 tmp44 [V46,T30] ( 2, 2 ) int -> x0 "Inlining Arg"
;* V47 tmp45 [V47,T35] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V48 tmp46 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V49 tmp47 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V50 tmp48 [V50 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V51 tmp49 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V52 tmp50 [V52 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V53 tmp51 [V53,T08] ( 2, 4 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.String>
;* V54 tmp52 [V54 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V55 tmp53 [V55,T06] ( 3, 6 ) int -> x1 "Inlining Arg"
;* V56 tmp54 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V57 tmp55 [V57 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V58 tmp56 [V58 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V59 tmp57 [V59 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V60 tmp58 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V61 tmp59 [V61 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V62 tmp60 [V62,T20] ( 3, 2.50) ref -> x1 class-hnd single-def "Inline stloc first use temp" <ushort[]>
-; V63 tmp61 [V63,T22] ( 3, 2 ) byref -> x1 "field V07._reference (fldOffset=0x0)" P-INDEP
-; V64 tmp62 [V64,T25] ( 3, 2 ) int -> x0 "field V07._length (fldOffset=0x8)" P-INDEP
+; V63 tmp61 [V63,T23] ( 3, 2 ) byref -> x1 "field V07._reference (fldOffset=0x0)" P-INDEP
+; V64 tmp62 [V64,T26] ( 3, 2 ) int -> x0 "field V07._length (fldOffset=0x8)" P-INDEP
;* V65 tmp63 [V65 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
;* V66 tmp64 [V66 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
;* V67 tmp65 [V67 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP
;* V68 tmp66 [V68 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
;* V69 tmp67 [V69 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V70 tmp68 [V70 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V71 tmp69 [V71 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
;* V72 tmp70 [V72 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V73 tmp71 [V73 ] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP
;* V74 tmp72 [V74 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
;* V75 tmp73 [V75 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP
;* V76 tmp74 [V76 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
;* V77 tmp75 [V77 ] ( 0, 0 ) byref -> zero-ref "field V29._reference (fldOffset=0x0)" P-INDEP
;* V78 tmp76 [V78 ] ( 0, 0 ) int -> zero-ref "field V29._length (fldOffset=0x8)" P-INDEP
;* V79 tmp77 [V79 ] ( 0, 0 ) byref -> zero-ref single-def "field V31._reference (fldOffset=0x0)" P-INDEP
;* V80 tmp78 [V80 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
;* V81 tmp79 [V81 ] ( 0, 0 ) byref -> zero-ref single-def "field V35._reference (fldOffset=0x0)" P-INDEP
;* V82 tmp80 [V82 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
;* V83 tmp81 [V83 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
;* V84 tmp82 [V84 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
;* V85 tmp83 [V85 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
;* V86 tmp84 [V86 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
;* V87 tmp85 [V87 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
;* V88 tmp86 [V88 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
;* V89 tmp87 [V89 ] ( 0, 0 ) byref -> zero-ref "field V52._reference (fldOffset=0x0)" P-INDEP
;* V90 tmp88 [V90 ] ( 0, 0 ) int -> zero-ref "field V52._length (fldOffset=0x8)" P-INDEP
;* V91 tmp89 [V91 ] ( 0, 0 ) byref -> zero-ref "field V54._reference (fldOffset=0x0)" P-INDEP
;* V92 tmp90 [V92 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP
-; V93 tmp91 [V93,T27] ( 2, 2 ) byref -> x0 single-def "field V56._reference (fldOffset=0x0)" P-INDEP
+; V93 tmp91 [V93,T28] ( 2, 2 ) byref -> x0 single-def "field V56._reference (fldOffset=0x0)" P-INDEP
;* V94 tmp92 [V94 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP
;* V95 tmp93 [V95 ] ( 0, 0 ) byref -> zero-ref single-def "field V58._reference (fldOffset=0x0)" P-INDEP
;* V96 tmp94 [V96 ] ( 0, 0 ) int -> zero-ref "field V58._length (fldOffset=0x8)" P-INDEP
-; V97 tmp95 [V97,T28] ( 2, 2 ) byref -> x0 single-def "field V59._reference (fldOffset=0x0)" P-INDEP
-; V98 tmp96 [V98,T30] ( 2, 2 ) int -> x1 "field V59._length (fldOffset=0x8)" P-INDEP
-; V99 cse0 [V99,T21] ( 4, 2 ) int -> x20 "CSE #10: moderate"
-; V100 cse1 [V100,T14] ( 3, 3 ) int -> x1 "CSE #01: moderate"
-; V101 cse2 [V101,T15] ( 3, 3 ) int -> x1 "CSE #04: moderate"
-; V102 cse3 [V102,T16] ( 3, 3 ) int -> x1 "CSE #06: moderate"
-; V103 cse4 [V103,T31] ( 3, 1.50) int -> x2 "CSE #09: moderate"
+; V97 tmp95 [V97,T29] ( 2, 2 ) byref -> x0 single-def "field V59._reference (fldOffset=0x0)" P-INDEP
+; V98 tmp96 [V98,T31] ( 2, 2 ) int -> x1 "field V59._length (fldOffset=0x8)" P-INDEP
+; V99 cse0 [V99,T21] ( 3, 2.50) ref -> [fp+0x10] spill-single-def "CSE #12: moderate"
+; V100 cse1 [V100,T22] ( 4, 2 ) int -> x20 "CSE #10: moderate"
+; V101 cse2 [V101,T14] ( 3, 3 ) int -> x1 "CSE #01: moderate"
+; V102 cse3 [V102,T15] ( 3, 3 ) int -> x1 "CSE #04: moderate"
+; V103 cse4 [V103,T16] ( 3, 3 ) int -> x1 "CSE #06: moderate"
;
-; Lcl frame size = 48
+; Lcl frame size = 56
G_M34609_IG01:
- stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x40]
+ stp fp, lr, [sp, #-0x60]!
+ stp x19, x20, [sp, #0x48]
+ str x21, [sp, #0x58]
mov fp, sp
- add x9, fp, #24
+ add x9, fp, #32
movi v16.16b, #0
stp q16, q16, [x9]
str xzr, [x9, #0x20]
mov x19, x0
- ;; size=32 bbWeight=1 PerfScore 6.00
+ ;; size=36 bbWeight=1 PerfScore 7.00
G_M34609_IG02:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr x0, [x0]
+ ldr x20, [x0]
+ str x20, [fp, #0x10] // [V99 cse0]
+ mov x0, x20
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- str x0, [fp, #0x20] // [V01 loc0+0x08]
+ str x0, [fp, #0x28] // [V01 loc0+0x08]
cbz x0, G_M34609_IG04
- ;; size=44 bbWeight=1 PerfScore 12.00
+ ;; size=56 bbWeight=1 PerfScore 14.00
G_M34609_IG03:
add x1, x0, #16
ldr w0, [x0, #0x08]
b G_M34609_IG05
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M34609_IG04:
mov x1, xzr
mov w0, wzr
;; size=8 bbWeight=0.50 PerfScore 0.50
G_M34609_IG05:
- str x1, [fp, #0x30] // [V01 loc0+0x18]
- str w0, [fp, #0x38] // [V01 loc0+0x20]
- str wzr, [fp, #0x28] // [V01 loc0+0x10]
- strb wzr, [fp, #0x2C] // [V01 loc0+0x14]
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
- ldr w1, [fp, #0x38] // [V01 loc0+0x20]
+ str x1, [fp, #0x38] // [V01 loc0+0x18]
+ str w0, [fp, #0x40] // [V01 loc0+0x20]
+ str wzr, [fp, #0x30] // [V01 loc0+0x10]
+ strb wzr, [fp, #0x34] // [V01 loc0+0x14]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x40] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M34609_IG32
- ldr x2, [fp, #0x30] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x38] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
- add x20, x2, x3
+ add x21, x2, x3
sub w0, w1, w0
cmp w0, #10
bhs G_M34609_IG07
;; size=56 bbWeight=1 PerfScore 15.00
G_M34609_IG06:
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M34609_IG08
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M34609_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
ldr q17, [x0, #0x04]
- str q16, [x20]
- str q17, [x20, #0x04]
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ str q16, [x21]
+ str q17, [x21, #0x04]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
add w0, w0, #10
- str w0, [fp, #0x28] // [V01 loc0+0x10]
+ str w0, [fp, #0x30] // [V01 loc0+0x10]
;; size=40 bbWeight=0.50 PerfScore 6.50
G_M34609_IG08:
ldr w0, [x19, #0x04]
cmn w0, #1
bne G_M34609_IG11
;; size=12 bbWeight=1 PerfScore 4.50
G_M34609_IG09:
- str x19, [fp, #0x10] // [V00 this]
+ str x19, [fp, #0x18] // [V00 this]
ldr w0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M34609_IG10:
blr x1
sxtw w19, w0
- ldr x20, [fp, #0x10] // [V00 this]
+ ldr x20, [fp, #0x18] // [V00 this]
str w19, [x20, #0x04]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
cbz w0, G_M34609_IG12
b G_M34609_IG30
;; size=40 bbWeight=0.50 PerfScore 5.50
G_M34609_IG11:
ldr w0, [x19, #0x04]
- sxtw w20, w0
- mov x0, x19
- mov w19, w20
- mov x20, x0
- ;; size=20 bbWeight=0.50 PerfScore 2.50
+ sxtw w21, w0
+ mov x20, x19
+ mov w19, w21
+ ;; size=16 bbWeight=0.50 PerfScore 2.25
G_M34609_IG12:
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
mov w1, w19
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
- ldr w1, [fp, #0x38] // [V01 loc0+0x20]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x40] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M34609_IG32
- ldr x2, [fp, #0x30] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x38] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
add x19, x2, x3
sub w0, w1, w0
cmp w0, #8
bhs G_M34609_IG14
;; size=68 bbWeight=1 PerfScore 17.50
G_M34609_IG13:
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M34609_IG15
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M34609_IG14:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr q16, [x1]
str q16, [x19]
- ldr w1, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x30] // [V01 loc0+0x10]
add w1, w1, #8
- str w1, [fp, #0x28] // [V01 loc0+0x10]
+ str w1, [fp, #0x30] // [V01 loc0+0x10]
;; size=32 bbWeight=0.50 PerfScore 4.50
G_M34609_IG15:
ldr w1, [x20]
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
- ldr w1, [fp, #0x38] // [V01 loc0+0x20]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x40] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M34609_IG32
- ldr x2, [fp, #0x30] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x38] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
add x19, x2, x3
sub w0, w1, w0
cmp w0, #18
bhs G_M34609_IG17
;; size=68 bbWeight=1 PerfScore 20.00
G_M34609_IG16:
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M34609_IG18
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M34609_IG17:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldp q16, q17, [x0]
ldr q18, [x0, #0x14]
stp q16, q17, [x19]
str q18, [x19, #0x14]
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
add w0, w0, #18
- str w0, [fp, #0x28] // [V01 loc0+0x10]
+ str w0, [fp, #0x30] // [V01 loc0+0x10]
;; size=40 bbWeight=0.50 PerfScore 6.50
G_M34609_IG18:
ldr w0, [x20, #0x04]
cmn w0, #1
bne G_M34609_IG21
;; size=12 bbWeight=1 PerfScore 4.50
G_M34609_IG19:
- str x20, [fp, #0x10] // [V00 this]
+ str x20, [fp, #0x18] // [V00 this]
ldr w0, [x20]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M34609_IG20:
blr x1
sxtw w19, w0
- ldr x20, [fp, #0x10] // [V00 this]
+ ldr x20, [fp, #0x18] // [V00 this]
str w19, [x20, #0x04]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
cbz w0, G_M34609_IG22
b G_M34609_IG31
;; size=40 bbWeight=0.50 PerfScore 5.50
G_M34609_IG21:
ldr w19, [x20, #0x04]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M34609_IG22:
mov w0, w19
movz x1, #0xD1FFAB1E // code for Interop+Sys:StrError(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
- ldrb w0, [fp, #0x2C] // [V01 loc0+0x14]
+ ldrb w0, [fp, #0x34] // [V01 loc0+0x14]
cbnz w0, G_M34609_IG24
;; size=36 bbWeight=1 PerfScore 9.50
G_M34609_IG23:
cbz x1, G_M34609_IG24
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
- ldr w2, [fp, #0x38] // [V01 loc0+0x20]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
+ ldr w2, [fp, #0x40] // [V01 loc0+0x20]
cmp w0, w2
bhi G_M34609_IG32
- ldr x3, [fp, #0x30] // [V01 loc0+0x18]
- ubfiz x4, x0, #1, #32
- add x3, x3, x4
- sub w0, w2, w0
+ ldr x2, [fp, #0x38] // [V01 loc0+0x18]
+ ubfiz x3, x0, #1, #32
+ add x2, x2, x3
+ ldr w3, [fp, #0x40] // [V01 loc0+0x20]
+ sub w0, w3, w0
ldr w20, [x1, #0x08]
cmp w20, w0
bls G_M34609_IG25
- ;; size=48 bbWeight=0.50 PerfScore 7.50
+ ;; size=52 bbWeight=0.50 PerfScore 8.50
G_M34609_IG24:
- add x0, fp, #24 // [V01 loc0]
+ add x0, fp, #32 // [V01 loc0]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormattedSlow(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M34609_IG26
;; size=28 bbWeight=0.50 PerfScore 3.50
G_M34609_IG25:
+ mov x0, x2
ubfiz x2, x20, #1, #32
add x1, x1, #12
- mov x0, x3
movz x3, #0xD1FFAB1E // code for System.SpanHelpers:Memmove(byref,byref,ulong)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w0, [fp, #0x30] // [V01 loc0+0x10]
add w0, w0, w20
- str w0, [fp, #0x28] // [V01 loc0+0x10]
+ str w0, [fp, #0x30] // [V01 loc0+0x10]
;; size=44 bbWeight=0.50 PerfScore 5.50
G_M34609_IG26:
- ldr w1, [fp, #0x28] // [V01 loc0+0x10]
- ldr w0, [fp, #0x38] // [V01 loc0+0x20]
+ ldr w1, [fp, #0x30] // [V01 loc0+0x10]
+ ldr w0, [fp, #0x40] // [V01 loc0+0x20]
cmp w1, w0
bhi G_M34609_IG32
- ldr x0, [fp, #0x30] // [V01 loc0+0x18]
+ ldr x0, [fp, #0x38] // [V01 loc0+0x18]
bl System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
mov x19, x0
- ldr x1, [fp, #0x20] // [V01 loc0+0x08]
- stp xzr, xzr, [fp, #0x18]
- stp xzr, xzr, [fp, #0x28]
- str xzr, [fp, #0x38]
+ ldr x1, [fp, #0x28] // [V01 loc0+0x08]
+ stp xzr, xzr, [fp, #0x20]
+ stp xzr, xzr, [fp, #0x30]
+ str xzr, [fp, #0x40]
cbz x1, G_M34609_IG28
;; size=48 bbWeight=1 PerfScore 15.00
G_M34609_IG27:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #32
- ldr x0, [x0]
+ ldr x0, [fp, #0x10] // [V99 cse0]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ;; size=36 bbWeight=0.50 PerfScore 5.00
+ ;; size=28 bbWeight=0.50 PerfScore 4.00
G_M34609_IG28:
mov x0, x19
;; size=4 bbWeight=1 PerfScore 0.50
G_M34609_IG29:
- ldp x19, x20, [sp, #0x40]
- ldp fp, lr, [sp], #0x50
+ ldr x21, [sp, #0x58]
+ ldp x19, x20, [sp, #0x48]
+ ldp fp, lr, [sp], #0x60
ret lr
- ;; size=12 bbWeight=1 PerfScore 3.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
G_M34609_IG30:
bl CORINFO_HELP_POLL_GC
b G_M34609_IG12
;; size=8 bbWeight=0 PerfScore 0.00
G_M34609_IG31:
bl CORINFO_HELP_POLL_GC
b G_M34609_IG22
;; size=8 bbWeight=0 PerfScore 0.00
G_M34609_IG32:
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
-; Total bytes of code 984, prolog size 28, PerfScore 182.50, instruction count 246, allocated bytes for code 984 (MethodHash=b7c078ce) for method Interop+ErrorInfo:ToString():System.String:this (FullOpts)
+; Total bytes of code 996, prolog size 32, PerfScore 187.25, instruction count 249, allocated bytes for code 996 (MethodHash=b7c078ce) for method Interop+ErrorInfo:ToString():System.String:this (FullOpts)
12 (0.62 % of base) - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor()
; Assembly listing for method Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V01 tmp1 [V01,T00] ( 21, 42 ) ref -> x20 class-hnd exact single-def "dup spill" <byte[][]>
-; V02 tmp2 [V02,T37] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
-; V03 tmp3 [V03,T07] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V04 tmp4 [V04,T38] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
-; V05 tmp5 [V05,T08] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V06 tmp6 [V06,T09] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V07 tmp7 [V07,T10] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V08 tmp8 [V08,T11] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V09 tmp9 [V09,T12] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V10 tmp10 [V10,T13] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V11 tmp11 [V11,T14] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V12 tmp12 [V12,T15] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V13 tmp13 [V13,T16] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V14 tmp14 [V14,T17] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V15 tmp15 [V15,T18] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V16 tmp16 [V16,T19] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V17 tmp17 [V17,T20] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V18 tmp18 [V18,T21] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V19 tmp19 [V19,T39] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
-; V20 tmp20 [V20,T22] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
-; V21 tmp21 [V21,T01] ( 21, 42 ) ref -> x20 class-hnd exact single-def "dup spill" <int[][]>
-; V22 tmp22 [V22,T40] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V23 tmp23 [V23,T41] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V24 tmp24 [V24,T42] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V25 tmp25 [V25,T23] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V26 tmp26 [V26,T43] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V27 tmp27 [V27,T24] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V28 tmp28 [V28,T25] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V29 tmp29 [V29,T26] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V30 tmp30 [V30,T27] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V31 tmp31 [V31,T28] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V32 tmp32 [V32,T29] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V33 tmp33 [V33,T30] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V34 tmp34 [V34,T31] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V35 tmp35 [V35,T32] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V36 tmp36 [V36,T33] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V37 tmp37 [V37,T34] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
-; V38 tmp38 [V38,T44] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V39 tmp39 [V39,T45] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V40 tmp40 [V40,T46] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
-; V41 tmp41 [V41,T35] ( 3, 6 ) ref -> x1 single-def "arr expr"
-; V42 tmp42 [V42,T47] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V43 tmp43 [V43,T48] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V44 tmp44 [V44,T49] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V45 tmp45 [V45,T50] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V46 tmp46 [V46,T51] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V47 tmp47 [V47,T52] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V48 tmp48 [V48,T53] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V49 tmp49 [V49,T54] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V50 tmp50 [V50,T55] ( 2, 4 ) ref -> x1 single-def "arr expr"
-; V51 tmp51 [V51,T56] ( 2, 4 ) ref -> x0 single-def "arr expr"
-; V52 cse0 [V52,T04] ( 12, 12 ) ref -> x0 "CSE #05: aggressive"
-; V53 cse1 [V53,T02] ( 41, 41 ) long -> x19 "CSE #01: aggressive"
-; V54 cse2 [V54,T03] ( 24, 24 ) long -> x21 "CSE #02: aggressive"
-; V55 cse3 [V55,T36] ( 5, 5 ) long -> x23 "CSE #04: moderate"
-; V56 cse4 [V56,T05] ( 9, 9 ) int -> x2 "CSE #06: aggressive"
-; V57 cse5 [V57,T06] ( 6, 6 ) long -> x22 "CSE #03: moderate"
+; V02 tmp2 [V02,T38] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
+; V03 tmp3 [V03,T08] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V04 tmp4 [V04,T39] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
+; V05 tmp5 [V05,T09] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V06 tmp6 [V06,T10] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V07 tmp7 [V07,T11] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V08 tmp8 [V08,T12] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V09 tmp9 [V09,T13] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V10 tmp10 [V10,T14] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V11 tmp11 [V11,T15] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V12 tmp12 [V12,T16] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V13 tmp13 [V13,T17] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V14 tmp14 [V14,T18] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V15 tmp15 [V15,T19] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V16 tmp16 [V16,T20] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V17 tmp17 [V17,T21] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V18 tmp18 [V18,T22] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V19 tmp19 [V19,T40] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <byte[]>
+; V20 tmp20 [V20,T23] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <byte[]>
+; V21 tmp21 [V21,T01] ( 21, 42 ) ref -> x23 class-hnd exact single-def "dup spill" <int[][]>
+; V22 tmp22 [V22,T41] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V23 tmp23 [V23,T42] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V24 tmp24 [V24,T43] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V25 tmp25 [V25,T24] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V26 tmp26 [V26,T44] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V27 tmp27 [V27,T25] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V28 tmp28 [V28,T26] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V29 tmp29 [V29,T27] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V30 tmp30 [V30,T28] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V31 tmp31 [V31,T29] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V32 tmp32 [V32,T30] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V33 tmp33 [V33,T31] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V34 tmp34 [V34,T32] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V35 tmp35 [V35,T33] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V36 tmp36 [V36,T34] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V37 tmp37 [V37,T35] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <int[]>
+; V38 tmp38 [V38,T45] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V39 tmp39 [V39,T46] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V40 tmp40 [V40,T47] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Strict ordering of exceptions for Array store" <int[]>
+; V41 tmp41 [V41,T36] ( 3, 6 ) ref -> x1 single-def "arr expr"
+; V42 tmp42 [V42,T48] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V43 tmp43 [V43,T49] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V44 tmp44 [V44,T50] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V45 tmp45 [V45,T51] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V46 tmp46 [V46,T52] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V47 tmp47 [V47,T53] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V48 tmp48 [V48,T54] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V49 tmp49 [V49,T55] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V50 tmp50 [V50,T56] ( 2, 4 ) ref -> x1 single-def "arr expr"
+; V51 tmp51 [V51,T57] ( 2, 4 ) ref -> x0 single-def "arr expr"
+; V52 cse0 [V52,T05] ( 12, 12 ) ref -> x0 "CSE #05: aggressive"
+; V53 cse1 [V53,T02] ( 24, 24 ) long -> x21 "CSE #02: aggressive"
+; V54 cse2 [V54,T03] ( 21, 21 ) long -> x19 "CSE #01: aggressive"
+; V55 cse3 [V55,T04] ( 21, 21 ) long -> x20 "CSE #07: aggressive"
+; V56 cse4 [V56,T37] ( 5, 5 ) long -> x19 "CSE #04: moderate"
+; V57 cse5 [V57,T06] ( 9, 9 ) int -> x2 "CSE #06: aggressive"
+; V58 cse6 [V58,T07] ( 6, 6 ) long -> x22 "CSE #03: moderate"
;
; Lcl frame size = 8
G_M52393_IG01:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
str x23, [sp, #0x38]
mov fp, sp
;; size=20 bbWeight=1 PerfScore 4.50
G_M52393_IG02:
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
add x0, x19, #0xD1FFAB1E
mov x1, #19
bl CORINFO_HELP_NEWARR_1_OBJ
mov x20, x0
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
add x14, x20, #16
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
;; size=76 bbWeight=1 PerfScore 11.50
G_M52393_IG03:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG04:
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
add x14, x20, #32
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=48 bbWeight=1 PerfScore 8.00
G_M52393_IG05:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG06:
add x14, x20, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG07:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG08:
add x14, x20, #48
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldp x14, x15, [x22]
stp x14, x15, [x0, #0x10]
ldr w14, [x22, #0x0F]
str w14, [x0, #0x1F]
add x14, x20, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=76 bbWeight=1 PerfScore 18.50
G_M52393_IG09:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG10:
add x14, x20, #64
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG11:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG12:
add x14, x20, #72
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
ldp x14, x15, [x21]
stp x14, x15, [x0, #0x10]
ldr w14, [x21, #0x0F]
str w14, [x0, #0x1F]
add x14, x20, #80
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=64 bbWeight=1 PerfScore 17.00
G_M52393_IG13:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG14:
add x14, x20, #88
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG15:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG16:
add x14, x20, #96
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG17:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG18:
add x14, x20, #104
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG19:
add x12, x21, #3
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG20:
add x14, x20, #112
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG21:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG22:
add x14, x20, #120
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG23:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG24:
add x14, x20, #128
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG25:
sub x12, x22, #111
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG26:
add x14, x20, #136
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG27:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG28:
add x14, x20, #144
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
add x14, x20, #152
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=48 bbWeight=1 PerfScore 8.00
G_M52393_IG29:
add x12, x21, #0xD1FFAB1E
ldp x14, x15, [x12, #0x10]
stp x14, x15, [x0, #0x10]
ldr w14, [x12, #0x1F]
str w14, [x0, #0x1F]
;; size=20 bbWeight=1 PerfScore 9.50
G_M52393_IG30:
add x14, x20, #160
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- movz x23, #0xD1FFAB1E // data for Microsoft.VisualBasic.CompilerServices.ConversionResolution:s_conversionTable
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- mov x14, x23
+ movz x19, #0xD1FFAB1E // data for Microsoft.VisualBasic.CompilerServices.ConversionResolution:s_conversionTable
+ movk x19, #0xD1FFAB1E LSL #16
+ movk x19, #0xD1FFAB1E LSL #32
+ mov x14, x19
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
- add x14, x23, #8
+ add x14, x19, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [x23, #0x08]
+ ldr x0, [x19, #0x08]
mov x1, x0
ldr w2, [x1, #0x08]
cmp w2, #6
bls G_M52393_IG56
mov w3, #1
str w3, [x1, #0x28]
mov x1, x0
mov w3, #2
str w3, [x1, #0x24]
mov x1, x0
cmp w2, #7
bls G_M52393_IG56
mov w3, #3
str w3, [x1, #0x2C]
mov x1, x0
cmp w2, #8
bls G_M52393_IG56
mov w3, #4
str w3, [x1, #0x30]
mov x1, x0
cmp w2, #9
bls G_M52393_IG56
mov w3, #5
str w3, [x1, #0x34]
mov x1, x0
cmp w2, #10
bls G_M52393_IG56
mov w3, #6
str w3, [x1, #0x38]
mov x1, x0
cmp w2, #11
bls G_M52393_IG56
mov w3, #7
str w3, [x1, #0x3C]
mov x1, x0
cmp w2, #12
bls G_M52393_IG56
mov w3, #8
str w3, [x1, #0x40]
mov x1, x0
cmp w2, #15
bls G_M52393_IG56
mov w2, #9
str w2, [x1, #0x4C]
mov x1, x0
mov w2, #10
str w2, [x1, #0x44]
mov w1, #11
str w1, [x0, #0x48]
- add x0, x19, #0xD1FFAB1E
+ movz x20, #0xD1FFAB1E
+ movk x20, #0xD1FFAB1E LSL #16
+ movk x20, #0xD1FFAB1E LSL #32
+ add x0, x20, #0xD1FFAB1E
mov x1, #19
bl CORINFO_HELP_NEWARR_1_OBJ
- mov x20, x0
- add x0, x19, #0xD1FFAB1E
+ mov x23, x0
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #16
+ add x14, x23, #16
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #24
+ add x14, x23, #24
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #32
+ add x14, x23, #32
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
- ;; size=368 bbWeight=1 PerfScore 66.50
+ ;; size=380 bbWeight=1 PerfScore 68.00
G_M52393_IG31:
add x12, x21, #191
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG32:
- add x14, x20, #40
+ add x14, x23, #40
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #48
+ add x14, x23, #48
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=48 bbWeight=1 PerfScore 8.00
G_M52393_IG33:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG34:
- add x14, x20, #56
+ add x14, x23, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG35:
add x12, x22, #79
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG36:
- add x14, x20, #64
+ add x14, x23, #64
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG37:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG38:
- add x14, x20, #72
+ add x14, x23, #72
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG39:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG40:
- add x14, x20, #80
+ add x14, x23, #80
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG41:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG42:
- add x14, x20, #88
+ add x14, x23, #88
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG43:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG44:
- add x14, x20, #96
+ add x14, x23, #96
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG45:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG46:
- add x14, x20, #104
+ add x14, x23, #104
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG47:
sub x12, x22, #92
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG48:
- add x14, x20, #112
+ add x14, x23, #112
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG49:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG50:
- add x14, x20, #120
+ add x14, x23, #120
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG51:
add x12, x22, #3
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG52:
- add x14, x20, #128
+ add x14, x23, #128
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
;; size=24 bbWeight=1 PerfScore 4.00
G_M52393_IG53:
add x12, x21, #0xD1FFAB1E
ldp q16, q17, [x12, #0x10]
stp q16, q17, [x0, #0x10]
ldp q16, q17, [x12, #0x30]
stp q16, q17, [x0, #0x30]
ldr q16, [x12, #0x4C]
str q16, [x0, #0x4C]
;; size=28 bbWeight=1 PerfScore 12.50
G_M52393_IG54:
- add x14, x20, #136
+ add x14, x23, #136
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #144
+ add x14, x23, #144
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #152
+ add x14, x23, #152
bl CORINFO_HELP_ASSIGN_REF
- add x0, x19, #0xD1FFAB1E
+ mov x0, x20
mov x1, #19
bl CORINFO_HELP_NEWARR_1_VC
mov x15, x0
- add x14, x20, #160
+ add x14, x23, #160
bl CORINFO_HELP_ASSIGN_REF
- add x14, x23, #16
- mov x15, x20
+ add x14, x19, #16
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=1 PerfScore 16.00
G_M52393_IG55:
ldr x23, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x40
ret lr
;; size=20 bbWeight=1 PerfScore 6.00
G_M52393_IG56:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1944, prolog size 20, PerfScore 523.00, instruction count 486, allocated bytes for code 1944 (MethodHash=83483356) for method Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
+; Total bytes of code 1956, prolog size 20, PerfScore 524.50, instruction count 489, allocated bytes for code 1956 (MethodHash=83483356) for method Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor() (FullOpts)
12 (5.88 % of base) - System.DirectoryServices.Protocols.DirectoryAttribute:.cctor()
; Assembly listing for method System.DirectoryServices.Protocols.DirectoryAttribute:.cctor() (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; 9 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V01 tmp1 [V01,T00] ( 7, 14 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
; V02 tmp2 [V02,T01] ( 5, 10 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
; V03 cse0 [V03,T02] ( 3, 3 ) long -> x19 "CSE #01: aggressive"
+; V04 cse1 [V04,T03] ( 3, 3 ) long -> x21 "CSE #02: aggressive"
;
-; Lcl frame size = 0
+; Lcl frame size = 8
G_M730_IG01:
- stp fp, lr, [sp, #-0x20]!
- stp x19, x20, [sp, #0x10]
+ stp fp, lr, [sp, #-0x30]!
+ stp x19, x20, [sp, #0x18]
+ str x21, [sp, #0x28]
mov fp, sp
- ;; size=12 bbWeight=1 PerfScore 2.50
+ ;; size=16 bbWeight=1 PerfScore 3.50
G_M730_IG02:
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
bl CORINFO_HELP_NEWSFAST
mov x20, x0
mov w0, #1
strb w0, [x20, #0x24]
mov w0, #0xD1FFAB1E
str w0, [x20, #0x20]
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w0, #0xD1FFAB1E
strh w0, [x20, #0x25]
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- movz x14, #0xD1FFAB1E // data for System.DirectoryServices.Protocols.DirectoryAttribute:s_utf8EncoderWithErrorDetection
- movk x14, #0xD1FFAB1E LSL #32
+ movz x21, #0xD1FFAB1E // data for System.DirectoryServices.Protocols.DirectoryAttribute:s_utf8EncoderWithErrorDetection
+ movk x21, #0xD1FFAB1E LSL #16
+ movk x21, #0xD1FFAB1E LSL #32
+ mov x14, x21
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
mov x0, x19
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #1
strb w0, [x19, #0x24]
mov w0, #0xD1FFAB1E
str w0, [x19, #0x20]
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- movz x14, #0xD1FFAB1E // data for System.DirectoryServices.Protocols.DirectoryAttribute:s_encoder
- movk x14, #0xD1FFAB1E LSL #32
+ add x14, x21, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- ;; size=180 bbWeight=1 PerfScore 36.00
+ ;; size=184 bbWeight=1 PerfScore 36.50
G_M730_IG03:
- ldp x19, x20, [sp, #0x10]
- ldp fp, lr, [sp], #0x20
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
ret lr
- ;; size=12 bbWeight=1 PerfScore 3.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 204, prolog size 12, PerfScore 41.50, instruction count 51, allocated bytes for code 204 (MethodHash=5987fd25) for method System.DirectoryServices.Protocols.DirectoryAttribute:.cctor() (FullOpts)
+; Total bytes of code 216, prolog size 16, PerfScore 45.00, instruction count 54, allocated bytes for code 216 (MethodHash=5987fd25) for method System.DirectoryServices.Protocols.DirectoryAttribute:.cctor() (FullOpts)
12 (0.31 % of base) - System.DirectoryServices.Protocols.LdapConnection+d__57:MoveNext():this
; Assembly listing for method System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57:MoveNext():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; 88 single block inlinees; 13 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 90,114 ) byref -> [fp+0x20] this EH-live single-def
; V01 loc0 [V01,T55] ( 5, 4 ) int -> [fp+0x7C] do-not-enreg[Z] EH-live
; V02 loc1 [V02,T01] ( 14, 42 ) ref -> x19 class-hnd single-def <System.DirectoryServices.Protocols.LdapConnection>
; V03 loc2 [V03,T56] ( 4, 4 ) ref -> [fp+0x18] do-not-enreg[M] must-init class-hnd EH-live <System.DirectoryServices.Protocols.DirectoryResponse>
; V04 loc3 [V04,T03] ( 6, 34 ) long -> x24
; V05 loc4 [V05,T06] ( 22, 24 ) int -> x20
;* V06 loc5 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
; V07 loc6 [V07 ] ( 10, 36 ) struct (16) [fp+0x68] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V08 loc7 [V08 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
; V09 loc8 [V09 ] ( 3, 3 ) int -> [fp+0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op
; V10 loc9 [V10,T15] ( 22, 19 ) int -> x21
; V11 loc10 [V11 ] ( 9, 9 ) ref -> [fp+0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V12 loc11 [V12 ] ( 9, 9 ) ref -> [fp+0x50] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
; V13 loc12 [V13 ] ( 9, 9 ) ref -> [fp+0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Uri[]>
; V14 loc13 [V14 ] ( 9, 9 ) ref -> [fp+0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.DirectoryServices.Protocols.DirectoryControl[]>
; V15 loc14 [V15,T93] ( 3, 3 ) ref -> x19 class-hnd <System.String>
;* V16 loc15 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.DirectoryServices.Protocols.BerVal>
; V17 loc16 [V17,T57] ( 4, 4 ) ref -> x20 class-hnd <ubyte[]>
; V18 loc17 [V18,T43] ( 3, 6 ) ref -> x20 class-hnd exact single-def <System.DirectoryServices.Protocols.SearchResultEntryCollection>
; V19 loc18 [V19,T44] ( 3, 6 ) ref -> x22 class-hnd exact single-def <System.DirectoryServices.Protocols.SearchResultReferenceCollection>
;* V20 loc19 [V20,T106] ( 0, 0 ) int -> zero-ref
; V21 loc20 [V21,T04] ( 6, 34 ) long -> x24
; V22 loc21 [V22,T13] ( 3, 20 ) ref -> x25 class-hnd <System.DirectoryServices.Protocols.SearchResultEntry>
; V23 loc22 [V23,T14] ( 3, 20 ) ref -> x25 class-hnd <System.DirectoryServices.Protocols.SearchResultReference>
;* V24 loc23 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V25 OutArgs [V25 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V26 tmp1 [V26 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V27 tmp2 [V27,T16] ( 9, 18 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.SearchResponse>
;* V28 tmp3 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.DirectoryServices.Protocols.SearchResultEntryCollection>
;* V29 tmp4 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.DirectoryServices.Protocols.SearchResultReferenceCollection>
; V30 tmp5 [V30,T109] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.DirectoryOperationException>
; V31 tmp6 [V31,T111] ( 2, 0 ) ref -> x19 class-hnd single-def "non-inline candidate call" <System.DirectoryServices.Protocols.DirectoryResponse>
; V32 tmp7 [V32,T110] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.DirectoryOperationException>
; V33 tmp8 [V33,T45] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.ExtendedResponse>
; V34 tmp9 [V34,T30] ( 6, 12 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
; V35 tmp10 [V35,T25] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.CompareResponse>
; V36 tmp11 [V36,T26] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.ModifyDNResponse>
; V37 tmp12 [V37,T27] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.DeleteResponse>
; V38 tmp13 [V38,T28] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.ModifyResponse>
; V39 tmp14 [V39,T29] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.AddResponse>
;* V40 tmp15 [V40 ] ( 0, 0 ) struct ( 8) zero-ref "folding static readonly field struct" <System.TimeSpan>
;* V41 tmp16 [V41 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.TimeSpan>
; V42 tmp17 [V42,T112] ( 2, 0 ) ref -> x2 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
;* V43 tmp18 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V44 tmp19 [V44,T59] ( 2, 4 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
; V45 tmp20 [V45,T87] ( 2, 4 ) int -> x2 "Inlining Arg"
; V46 tmp21 [V46,T88] ( 2, 4 ) int -> x5 "Inlining Arg"
; V47 tmp22 [V47 ] ( 2, 4 ) struct ( 8) [fp+0x38] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
;* V48 tmp23 [V48 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V49 tmp24 [V49,T17] ( 8, 16 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Stopwatch>
; V50 tmp25 [V50,T20] ( 2, 16 ) ref -> x1 class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
; V51 tmp26 [V51,T23] ( 2, 16 ) int -> x2 "Inlining Arg"
; V52 tmp27 [V52,T24] ( 2, 16 ) int -> x5 "Inlining Arg"
; V53 tmp28 [V53 ] ( 2, 16 ) struct ( 8) [fp+0x30] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.DirectoryServices.Protocols.LDAP_TIMEVAL>
;* V54 tmp29 [V54 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V55 tmp30 [V55 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.TimeSpan>
; V56 tmp31 [V56,T05] ( 4, 32 ) ref -> x21 class-hnd "Inlining Arg" <System.Diagnostics.Stopwatch>
;* V57 tmp32 [V57 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
; V58 tmp33 [V58,T18] ( 4, 16 ) long -> x22 "Inline stloc first use temp"
;* V59 tmp34 [V59 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V60 tmp35 [V60 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V61 tmp36 [V61 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.TimeSpan>
; V62 tmp37 [V62,T19] ( 4, 16 ) int -> x21 "Inline return value spill temp"
; V63 tmp38 [V63,T10] ( 3, 24 ) int -> x21 "Inlining Arg"
;* V64 tmp39 [V64 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
;* V65 tmp40 [V65 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
; V66 tmp41 [V66,T07] ( 3, 24 ) ref -> x0 class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
;* V67 tmp42 [V67 ] ( 0, 0 ) ref -> zero-ref
;* V68 tmp43 [V68 ] ( 0, 0 ) ref -> zero-ref
;* V69 tmp44 [V69 ] ( 0, 0 ) int -> zero-ref
;* V70 tmp45 [V70 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
;* V71 tmp46 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
;* V72 tmp47 [V72,T91] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V73 tmp48 [V73,T21] ( 2, 16 ) ref -> x14 class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
;* V74 tmp49 [V74 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V75 tmp50 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V76 tmp51 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V77 tmp52 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V78 tmp53 [V78,T02] ( 3, 40 ) ref -> x0 class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
; V79 tmp54 [V79,T12] ( 2, 24 ) int -> x1 "Inlining Arg"
; V80 tmp55 [V80,T60] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
; V81 tmp56 [V81,T61] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V82 tmp57 [V82,T62] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V83 tmp58 [V83,T63] ( 2, 4 ) ref -> x3 class-hnd single-def "Inlining Arg" <System.Uri[]>
; V84 tmp59 [V84,T64] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
; V85 tmp60 [V85,T65] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V86 tmp61 [V86,T66] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V87 tmp62 [V87,T67] ( 2, 4 ) ref -> x3 class-hnd single-def "Inlining Arg" <System.Uri[]>
; V88 tmp63 [V88,T68] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
; V89 tmp64 [V89,T69] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V90 tmp65 [V90,T70] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V91 tmp66 [V91,T71] ( 2, 4 ) ref -> x3 class-hnd single-def "Inlining Arg" <System.Uri[]>
; V92 tmp67 [V92,T72] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
; V93 tmp68 [V93,T73] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V94 tmp69 [V94,T74] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V95 tmp70 [V95,T75] ( 2, 4 ) ref -> x3 class-hnd single-def "Inlining Arg" <System.Uri[]>
; V96 tmp71 [V96,T76] ( 2, 4 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.String>
; V97 tmp72 [V97,T77] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V98 tmp73 [V98,T78] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V99 tmp74 [V99,T79] ( 2, 4 ) ref -> x3 class-hnd single-def "Inlining Arg" <System.Uri[]>
;* V100 tmp75 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V101 tmp76 [V101 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V102 tmp77 [V102 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V103 tmp78 [V103 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V104 tmp79 [V104 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V105 tmp80 [V105,T47] ( 3, 6 ) long -> x0 "Inlining Arg"
;* V106 tmp81 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.DirectoryServices.Protocols.BerVal>
;* V107 tmp82 [V107 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V108 tmp83 [V108 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V109 tmp84 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ExtendedResponse>
;* V110 tmp85 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.ExtendedResponse>
; V111 tmp86 [V111,T80] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.SearchResultReferenceCollection>
; V112 tmp87 [V112,T81] ( 2, 4 ) ref -> x15 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.SearchResultEntryCollection>
; V113 tmp88 [V113,T82] ( 2, 4 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.String>
; V114 tmp89 [V114,T83] ( 2, 4 ) ref -> x25 class-hnd single-def "Inlining Arg" <System.DirectoryServices.Protocols.DirectoryControl[]>
; V115 tmp90 [V115,T84] ( 2, 4 ) ref -> x26 class-hnd exact single-def "Inlining Arg" <System.String>
; V116 tmp91 [V116,T85] ( 2, 4 ) ref -> x27 class-hnd single-def "Inlining Arg" <System.Uri[]>
;* V117 tmp92 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V118 tmp93 [V118 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V119 tmp94 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V120 tmp95 [V120 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V121 tmp96 [V121 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V122 tmp97 [V122 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V123 tmp98 [V123 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.SearchResponse>
;* V124 tmp99 [V124 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.DirectoryServices.Protocols.SearchResponse>
;* V125 tmp100 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V126 tmp101 [V126 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V127 tmp102 [V127 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V128 tmp103 [V128 ] ( 3, 0 ) int -> [fp+0x28] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V129 tmp104 [V129,T113] ( 2, 0 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V130 tmp105 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.DirectoryServices.Protocols.ConnectionHandle>
;* V131 tmp106 [V131 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V132 tmp107 [V132,T32] ( 5, 10 ) byref -> x19 single-def "Inlining Arg"
; V133 tmp108 [V133,T46] ( 3, 6 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
; V134 tmp109 [V134,T31] ( 6, 12 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V135 tmp110 [V135 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V136 tmp111 [V136,T89] ( 2, 4 ) int -> x23 "Inlining Arg"
;* V137 tmp112 [V137 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V138 tmp113 [V138,T105] ( 2, 2 ) int -> x1 single-def "field V06.tv_sec (fldOffset=0x0)" P-INDEP
;* V139 tmp114 [V139,T107] ( 0, 0 ) int -> zero-ref single-def "field V06.tv_usec (fldOffset=0x4)" P-INDEP
; V140 tmp115 [V140 ] ( 6, 19 ) ref -> [fp+0x68] do-not-enreg[X] addr-exposed "field V07.m_task (fldOffset=0x0)" P-DEP
; V141 tmp116 [V141 ] ( 6, 19 ) int -> [fp+0x70] do-not-enreg[X] addr-exposed "field V07.m_options (fldOffset=0x8)" P-DEP
;* V142 tmp117 [V142 ] ( 0, 0 ) long -> zero-ref "field V40._ticks (fldOffset=0x0)" P-INDEP
;* V143 tmp118 [V143 ] ( 0, 0 ) long -> zero-ref "field V41._ticks (fldOffset=0x0)" P-INDEP
; V144 tmp119 [V144 ] ( 2, 4 ) int -> [fp+0x38] do-not-enreg[X] addr-exposed "field V47.tv_sec (fldOffset=0x0)" P-DEP
; V145 tmp120 [V145 ] ( 2, 4 ) int -> [fp+0x3C] do-not-enreg[X] addr-exposed "field V47.tv_usec (fldOffset=0x4)" P-DEP
; V146 tmp121 [V146 ] ( 2, 16 ) int -> [fp+0x30] do-not-enreg[X] addr-exposed "field V53.tv_sec (fldOffset=0x0)" P-DEP
; V147 tmp122 [V147 ] ( 2, 16 ) int -> [fp+0x34] do-not-enreg[X] addr-exposed "field V53.tv_usec (fldOffset=0x4)" P-DEP
; V148 tmp123 [V148,T34] ( 2, 8 ) long -> x1 "field V55._ticks (fldOffset=0x0)" P-INDEP
; V149 tmp124 [V149,T35] ( 2, 8 ) long -> x1 "field V57._ticks (fldOffset=0x0)" P-INDEP
; V150 tmp125 [V150,T36] ( 2, 8 ) long -> x2 "field V61._ticks (fldOffset=0x0)" P-INDEP
;* V151 tmp126 [V151 ] ( 0, 0 ) ref -> zero-ref "field V64._source (fldOffset=0x0)" P-INDEP
;* V152 tmp127 [V152,T90] ( 0, 0 ) ref -> zero-ref "field V65._source (fldOffset=0x0)" P-INDEP
; V153 tmp128 [V153,T33] ( 2, 8 ) ref -> x0 "field V71.m_task (fldOffset=0x0)" P-INDEP
;* V154 tmp129 [V154,T92] ( 0, 0 ) int -> zero-ref "field V71.m_options (fldOffset=0x8)" P-INDEP
; V155 tmp130 [V155,T22] ( 2, 16 ) ref -> x1 "argument with side effect"
; V156 tmp131 [V156,T86] ( 2, 4 ) ref -> x2 "argument with side effect"
; V157 tmp132 [V157,T08] ( 3, 24 ) ref -> x0 "argument with side effect"
; V158 tmp133 [V158,T09] ( 3, 24 ) ref -> x0 "argument with side effect"
; V159 tmp134 [V159,T114] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
; V160 PSPSym [V160,T108] ( 1, 1 ) long -> [fp+0x80] do-not-enreg[V] "PSPSym"
; V161 cse0 [V161,T94] ( 3, 3 ) ref -> x19 "CSE #23: conservative"
; V162 cse1 [V162,T95] ( 3, 3 ) int -> x1 "CSE #24: conservative"
; V163 cse2 [V163,T11] ( 3, 24 ) int -> x4 "CSE #05: aggressive"
; V164 cse3 [V164,T58] ( 4, 4 ) int -> x24 "CSE #09: conservative"
; V165 cse4 [V165,T96] ( 3, 3 ) long -> x0 "CSE #07: conservative"
; V166 cse5 [V166,T97] ( 3, 3 ) long -> x0 "CSE #25: conservative"
; V167 cse6 [V167,T98] ( 3, 3 ) long -> x0 "CSE #26: conservative"
; V168 cse7 [V168,T99] ( 3, 3 ) long -> x0 "CSE #27: conservative"
; V169 cse8 [V169,T42] ( 6, 6 ) long -> x22 "CSE #11: moderate"
; V170 rat0 [V170,T50] ( 3, 4.50) ref -> x1 "Spilling to split statement for tree"
; V171 rat1 [V171,T37] ( 5, 7.50) ref -> x2 "replacement local"
; V172 rat2 [V172,T100] ( 3, 2.50) long -> x0 "CSE for expectedClsNode"
; V173 rat3 [V173,T51] ( 3, 4.50) ref -> x1 "Spilling to split statement for tree"
; V174 rat4 [V174,T38] ( 5, 7.50) ref -> x2 "replacement local"
; V175 rat5 [V175,T101] ( 3, 2.50) long -> x0 "CSE for expectedClsNode"
; V176 rat6 [V176,T52] ( 3, 4.50) ref -> x1 "Spilling to split statement for tree"
; V177 rat7 [V177,T39] ( 5, 7.50) ref -> x2 "replacement local"
; V178 rat8 [V178,T102] ( 3, 2.50) long -> x3 "CSE for expectedClsNode"
; V179 rat9 [V179,T53] ( 3, 4.50) ref -> x1 "Spilling to split statement for tree"
; V180 rat10 [V180,T40] ( 5, 7.50) ref -> x2 "replacement local"
; V181 rat11 [V181,T103] ( 3, 2.50) long -> x0 "CSE for expectedClsNode"
; V182 rat12 [V182,T54] ( 3, 4.50) ref -> x1 "Spilling to split statement for tree"
; V183 rat13 [V183,T41] ( 5, 7.50) ref -> x2 "replacement local"
; V184 rat14 [V184,T104] ( 3, 2.50) long -> x0 "CSE for expectedClsNode"
; V185 rat15 [V185,T48] ( 3, 6 ) long -> x1 "ReplaceWithLclVar is creating a new local variable"
; V186 rat16 [V186,T49] ( 3, 6 ) long -> x1 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 120
G_M31730_IG01:
stp fp, lr, [sp, #-0xD0]!
stp x19, x20, [sp, #0x88]
stp x21, x22, [sp, #0x98]
stp x23, x24, [sp, #0xA8]
stp x25, x26, [sp, #0xB8]
str x27, [sp, #0xC8]
mov fp, sp
add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]
add x1, sp, #208
str x1, [fp, #0x80] // [V160 PSPSym]
str x0, [fp, #0x20] // [V00 this]
;; size=60 bbWeight=1 PerfScore 13.00
G_M31730_IG02:
ldr w1, [x0, #0x30]
str w1, [fp, #0x7C] // [V01 loc0]
ldr x19, [x0]
;; size=12 bbWeight=1 PerfScore 7.00
G_M31730_IG03:
ldr w1, [fp, #0x7C] // [V01 loc0]
cbnz w1, G_M31730_IG06
;; size=8 bbWeight=1 PerfScore 3.00
G_M31730_IG04:
ldp x1, x2, [x0, #0x68]
stp x1, x2, [fp, #0x68]
;; size=8 bbWeight=1 PerfScore 5.00
G_M31730_IG05:
stp xzr, xzr, [x0, #0x68]
movn w1, #0
str w1, [fp, #0x7C] // [V01 loc0]
str w1, [x0, #0x30]
b G_M31730_IG19
;; size=20 bbWeight=1 PerfScore 4.50
G_M31730_IG06:
ldr x1, [x0, #0x58]
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
movk x2, #0xD1FFAB1E LSL #48
smulh x2, x2, x1
add x1, x2, x1
asr x2, x1, #23
add x1, x2, x1, LSR #63
stp w1, wzr, [x0, #0x60]
str xzr, [x0, #0x18]
str xzr, [x0, #0x08]
stp xzr, xzr, [x0, #0x20]
mov w1, #1
strb w1, [x0, #0x46]
ldr w1, [x0, #0x34]
cmp w1, #1
beq G_M31730_IG08
str xzr, [x0, #0x60]
ldr w1, [x0, #0x34]
cmp w1, #3
bne G_M31730_IG07
mov w1, #1
str w1, [x0, #0x34]
;; size=96 bbWeight=1 PerfScore 29.50
G_M31730_IG07:
strb wzr, [x0, #0x46]
;; size=4 bbWeight=1 PerfScore 1.00
G_M31730_IG08:
ldrb w1, [x0, #0x44]
cbnz w1, G_M31730_IG22
str xzr, [x0, #0x60]
mov w1, #1
str w1, [x0, #0x40]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
str xzr, [x20, #0x08]
strb wzr, [x20, #0x18]
str xzr, [x20, #0x10]
ldrb w0, [x20, #0x18]
cbnz w0, G_M31730_IG09
bl Interop+Sys:GetTimestamp():ulong
str x0, [x20, #0x10]
mov w14, #1
strb w14, [x20, #0x18]
;; size=76 bbWeight=1 PerfScore 20.00
G_M31730_IG09:
ldr x0, [fp, #0x20] // [V00 this]
add x14, x0, #16
mov x15, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M31730_IG11
;; size=20 bbWeight=1 PerfScore 5.00
G_M31730_IG10:
lsl w4, w4, #1
str w4, [x0, #0x40]
;; size=8 bbWeight=8 PerfScore 16.00
G_M31730_IG11:
ldr x1, [x19, #0x28]
ldp w5, w2, [x0, #0x34]
ldr x4, [x0, #0x60]
str x4, [fp, #0x30] // [V53 tmp28]
add x4, x0, #24
add x3, fp, #48 // [V53 tmp28]
mov x0, x1
mov w1, w2
mov w2, w5
movz x5, #0xD1FFAB1E // code for Interop+Ldap:ldap_result(System.DirectoryServices.Protocols.ConnectionHandle,int,int,byref,byref):int
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sxtw w20, w0
cbnz w20, G_M31730_IG13
ldr x0, [fp, #0x20] // [V00 this]
ldr x1, [x0, #0x58]
movn x2, #0xD1FFAB1E
cmp x1, x2
beq G_M31730_IG14
ldr x21, [x0, #0x10]
ldr x22, [x21, #0x08]
ldrb w1, [x21, #0x18]
cbz w1, G_M31730_IG12
bl Interop+Sys:GetTimestamp():ulong
ldr x1, [x21, #0x10]
sub x0, x0, x1
add x22, x0, x22
;; size=116 bbWeight=4 PerfScore 166.00
G_M31730_IG12:
scvtf d16, x22
ldr d17, [@RWD00]
fmul d16, d16, d17
fcvtzs x1, d16
ldr x0, [fp, #0x20] // [V00 this]
ldr x2, [x0, #0x58]
cmp x1, x2
ble G_M31730_IG14
;; size=32 bbWeight=4 PerfScore 70.00
G_M31730_IG13:
ldr x0, [fp, #0x20] // [V00 this]
ldr x0, [x0, #0x10]
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Stopwatch:Stop():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
ldr x0, [fp, #0x20] // [V00 this]
str xzr, [x0, #0x10]
b G_M31730_IG23
;; size=44 bbWeight=1 PerfScore 17.50
G_M31730_IG14:
ldr w21, [x0, #0x40]
cmp w21, #100
bgt G_M31730_IG15
b G_M31730_IG16
;; size=16 bbWeight=4 PerfScore 22.00
G_M31730_IG15:
mov w21, #100
;; size=4 bbWeight=4 PerfScore 2.00
G_M31730_IG16:
cmn w21, #1
blt G_M31730_IG69
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M31730_IG68
;; size=28 bbWeight=4 PerfScore 28.00
G_M31730_IG17:
movz x1, #0xD1FFAB1E // data for System.TimeProvider:<System>k__BackingField
+ movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
mov w0, w21
mov x2, xzr
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:Delay(uint,System.TimeProvider,System.Threading.CancellationToken):System.Threading.Tasks.Task
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrsb wzr, [x0]
str x0, [fp, #0x68] // [V140 tmp115]
str wzr, [fp, #0x70] // [V141 tmp116]
ldr w14, [fp, #0x70] // [V141 tmp116]
tbnz w14, #2, G_M31730_IG18
ldr x14, [fp, #0x68] // [V140 tmp115]
add x14, x14, #52
ldapr w14, [x14]
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M31730_IG19
- ;; size=84 bbWeight=4 PerfScore 104.00
+ ;; size=88 bbWeight=4 PerfScore 106.00
G_M31730_IG18:
ldr x0, [fp, #0x20] // [V00 this]
str wzr, [x0, #0x30]
add x14, x0, #104
ldr x15, [fp, #0x68] // [V140 tmp115]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr w2, [fp, #0x70] // [V141 tmp116]
str w2, [x0, #0x70]
add x2, x0, #72
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:GetStateMachineBox[System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x2, x0
add x1, fp, #104 // [V07 loc6]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.__Canon]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M31730_IG82
;; size=112 bbWeight=1 PerfScore 26.50
G_M31730_IG19:
ldr x0, [fp, #0x68] // [V140 tmp115]
ldr w1, [fp, #0x70] // [V141 tmp116]
add x2, x0, #52
ldapr w2, [x2]
mov w3, #0xD1FFAB1E
and w2, w2, w3
mov w3, #0xD1FFAB1E
cmp w2, w3
beq G_M31730_IG21
;; size=36 bbWeight=8 PerfScore 84.00
G_M31730_IG20:
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=20 bbWeight=4 PerfScore 22.00
G_M31730_IG21:
ldr x1, [fp, #0x20] // [V00 this]
ldr w4, [x1, #0x40]
cmp w4, #100
mov x0, x1
bge G_M31730_IG11
b G_M31730_IG10
;; size=24 bbWeight=8 PerfScore 64.00
G_M31730_IG22:
ldr x1, [x19, #0x28]
ldp w5, w2, [x0, #0x34]
ldr x4, [x0, #0x60]
str x4, [fp, #0x38] // [V47 tmp22]
add x4, x0, #24
add x3, fp, #56 // [V47 tmp22]
mov x0, x1
mov w1, w2
mov w2, w5
movz x5, #0xD1FFAB1E // code for Interop+Ldap:ldap_result(System.DirectoryServices.Protocols.ConnectionHandle,int,int,byref,byref):int
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sxtw w20, w0
ldr x0, [fp, #0x20] // [V00 this]
;; size=64 bbWeight=1 PerfScore 20.50
G_M31730_IG23:
cmn w20, #1
beq G_M31730_IG24
cbnz w20, G_M31730_IG25
;; size=12 bbWeight=1 PerfScore 2.50
G_M31730_IG24:
cbnz w20, G_M31730_IG70
ldrb w1, [x0, #0x45]
cbnz w1, G_M31730_IG71
str xzr, [fp, #0x18] // [V03 loc2]
b G_M31730_IG77
;; size=20 bbWeight=1 PerfScore 7.00
G_M31730_IG25:
str wzr, [fp, #0x60] // [V09 loc8]
;; size=4 bbWeight=1 PerfScore 1.00
G_M31730_IG26:
mov w21, wzr
stp xzr, xzr, [fp, #0x50] // [V12 loc11], [V11 loc10]
stp xzr, xzr, [fp, #0x40] // [V14 loc13], [V13 loc12]
mov w1, #115
cmp w20, #100
ccmp w20, w1, z, ne
beq G_M31730_IG27
ldr x1, [x0, #0x18]
add x6, fp, #64 // [V14 loc13]
add x2, fp, #96 // [V09 loc8]
add x3, fp, #88 // [V11 loc10]
add x4, fp, #80 // [V12 loc11]
add x5, fp, #72 // [V13 loc12]
mov x0, x19
movz x7, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.LdapConnection:ConstructParsedResult(long,byref,byref,byref,byref,byref):int:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
sxtw w21, w0
ldr x0, [fp, #0x20] // [V00 this]
;; size=84 bbWeight=1 PerfScore 19.00
G_M31730_IG27:
cbnz w21, G_M31730_IG62
ldr w21, [fp, #0x60] // [V09 loc8]
cmp w20, #105
beq G_M31730_IG59
cmp w20, #103
beq G_M31730_IG58
cmp w20, #107
beq G_M31730_IG57
cmp w20, #109
beq G_M31730_IG56
cmp w20, #111
beq G_M31730_IG55
cmp w20, #120
beq G_M31730_IG46
mov w1, #100
mov w2, #115
cmp w20, #101
ccmp w20, w1, z, ne
ccmp w20, w2, z, ne
bne G_M31730_IG60
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
mov x0, x22
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldr x24, [fp, #0x58] // [V11 loc10]
ldr x25, [fp, #0x40] // [V14 loc13]
ldp x27, x26, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x15, x0
add x14, x23, #64
bl CORINFO_HELP_ASSIGN_REF
add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x15, x0
add x14, x23, #72
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
str w21, [x23, #0x38]
add x14, x23, #48
mov x15, x26
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #24
mov x15, x27
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [fp, #0x20] // [V00 this]
add x14, x0, #8
mov x15, x23
bl CORINFO_HELP_CHECKED_ASSIGN_REF
cmp w20, #101
bne G_M31730_IG31
ldr x1, [x0, #0x08]
mov x2, x1
cbz x2, G_M31730_IG30
;; size=244 bbWeight=1 PerfScore 52.00
G_M31730_IG28:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x4, [x2]
cmp x4, x3
beq G_M31730_IG30
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M31730_IG29:
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=28 bbWeight=0.25 PerfScore 1.62
G_M31730_IG30:
mov w1, #1
strb w1, [x2, #0x3C]
;; size=8 bbWeight=1 PerfScore 1.50
G_M31730_IG31:
add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x20, x0
add x0, x22, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x22, x0
ldr x0, [x19, #0x28]
ldr x23, [fp, #0x20] // [V00 this]
ldr x1, [x23, #0x18]
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ldap_first_entry(System.DirectoryServices.Protocols.ConnectionHandle,long):long
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
cbz x24, G_M31730_IG35
;; size=64 bbWeight=1 PerfScore 19.00
G_M31730_IG32:
mov x0, x19
mov x1, x24
movz x2, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.LdapConnection:ConstructEntry(long):System.DirectoryServices.Protocols.SearchResultEntry:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x25, x0
cbz x25, G_M31730_IG34
;; size=36 bbWeight=8 PerfScore 64.00
G_M31730_IG33:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Collections.ReadOnlyCollectionBase:get_InnerList():System.Collections.ArrayList:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x25
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x28]
blr x2
;; size=44 bbWeight=4 PerfScore 66.00
G_M31730_IG34:
ldr x0, [x19, #0x28]
mov x1, x24
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ldap_next_entry(System.DirectoryServices.Protocols.ConnectionHandle,long):long
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
cbnz x24, G_M31730_IG32
;; size=36 bbWeight=8 PerfScore 84.00
G_M31730_IG35:
ldr x0, [x19, #0x28]
ldr x1, [x23, #0x18]
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ldap_first_reference(System.DirectoryServices.Protocols.ConnectionHandle,long):long
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
cbz x24, G_M31730_IG39
;; size=36 bbWeight=1 PerfScore 13.00
G_M31730_IG36:
mov x0, x19
mov x1, x24
movz x2, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.LdapConnection:ConstructReference(long):System.DirectoryServices.Protocols.SearchResultReference:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x25, x0
cbz x25, G_M31730_IG38
;; size=36 bbWeight=8 PerfScore 64.00
G_M31730_IG37:
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Collections.ReadOnlyCollectionBase:get_InnerList():System.Collections.ArrayList:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x25
ldr x2, [x0]
ldr x2, [x2, #0x48]
ldr x2, [x2, #0x28]
blr x2
;; size=44 bbWeight=4 PerfScore 66.00
G_M31730_IG38:
ldr x0, [x19, #0x28]
mov x1, x24
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ldap_next_reference(System.DirectoryServices.Protocols.ConnectionHandle,long):long
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x24, x0
cbnz x24, G_M31730_IG36
;; size=36 bbWeight=8 PerfScore 84.00
G_M31730_IG39:
ldr x1, [x23, #0x08]
mov x2, x1
cbz x2, G_M31730_IG42
;; size=12 bbWeight=1 PerfScore 4.50
G_M31730_IG40:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x3, [x2]
cmp x3, x0
beq G_M31730_IG42
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M31730_IG41:
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=24 bbWeight=0.25 PerfScore 1.50
G_M31730_IG42:
add x14, x2, #72
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [x23, #0x08]
mov x2, x1
cbz x2, G_M31730_IG45
;; size=24 bbWeight=1 PerfScore 6.50
G_M31730_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x3, [x2]
cmp x3, x0
beq G_M31730_IG45
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M31730_IG44:
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=24 bbWeight=0.25 PerfScore 1.50
G_M31730_IG45:
add x14, x2, #64
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
b G_M31730_IG60
;; size=16 bbWeight=1 PerfScore 3.00
G_M31730_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
ldr x1, [fp, #0x58] // [V11 loc10]
ldr x2, [fp, #0x40] // [V14 loc13]
mov w3, w21
ldp x5, x4, [fp, #0x48] // [V13 loc12], [V12 loc11]
movz x6, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.ExtendedResponse:.ctor(System.String,System.DirectoryServices.Protocols.DirectoryControl[],int,System.String,System.Uri[]):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
cbnz w21, G_M31730_IG60
ldr x0, [x19, #0x28]
ldr x1, [x23, #0x18]
add x2, x23, #32
add x3, x23, #40
mov w4, wzr
movz x5, #0xD1FFAB1E // code for Interop+Ldap:ldap_parse_extended_result(System.DirectoryServices.Protocols.ConnectionHandle,long,byref,byref,ubyte):int
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sxtw w21, w0
cbnz w21, G_M31730_IG60
mov x19, xzr
ldr x0, [x23, #0x20]
cbz x0, G_M31730_IG47
movz x1, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:PtrToStringAnsi(long):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x19, x0
;; size=160 bbWeight=1 PerfScore 46.00
G_M31730_IG47:
mov x20, xzr
ldr x0, [x23, #0x28]
cbz x0, G_M31730_IG48
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
str xzr, [x22, #0x10]
ldr x0, [x23, #0x28]
cbz x0, G_M31730_IG63
mov x1, x22
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:PtrToStructureHelper(long,System.Object,ubyte)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr w24, [x22, #0x08]
cbz w24, G_M31730_IG48
ldr x1, [x22, #0x10]
cbz x1, G_M31730_IG48
sxtw x1, w24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
mov x20, x0
ldr x0, [x22, #0x10]
mov w3, w24
mov x1, x20
mov w2, wzr
movz x4, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=148 bbWeight=1 PerfScore 40.50
G_M31730_IG48:
ldr x1, [x23, #0x08]
mov x2, x1
cbz x2, G_M31730_IG51
;; size=12 bbWeight=1 PerfScore 4.50
G_M31730_IG49:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x3, [x2]
cmp x3, x0
beq G_M31730_IG51
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M31730_IG50:
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=24 bbWeight=0.25 PerfScore 1.50
G_M31730_IG51:
add x14, x2, #72
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [x23, #0x08]
mov x2, x1
cbz x2, G_M31730_IG54
;; size=24 bbWeight=1 PerfScore 6.50
G_M31730_IG52:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x3, [x2]
cmp x3, x0
beq G_M31730_IG54
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M31730_IG53:
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=24 bbWeight=0.25 PerfScore 1.50
G_M31730_IG54:
add x14, x2, #64
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
b G_M31730_IG60
;; size=16 bbWeight=1 PerfScore 3.00
G_M31730_IG55:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x15, [fp, #0x58] // [V11 loc10]
ldr x1, [fp, #0x40] // [V14 loc13]
ldp x3, x2, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x14, x0, #40
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
str w21, [x0, #0x38]
add x14, x0, #48
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #24
mov x15, x3
bl CORINFO_HELP_ASSIGN_REF
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M31730_IG60
;; size=96 bbWeight=1 PerfScore 23.00
G_M31730_IG56:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x15, [fp, #0x58] // [V11 loc10]
ldr x1, [fp, #0x40] // [V14 loc13]
ldp x3, x2, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x14, x0, #40
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
str w21, [x0, #0x38]
add x14, x0, #48
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #24
mov x15, x3
bl CORINFO_HELP_ASSIGN_REF
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M31730_IG60
;; size=96 bbWeight=1 PerfScore 23.00
G_M31730_IG57:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x15, [fp, #0x58] // [V11 loc10]
ldr x1, [fp, #0x40] // [V14 loc13]
ldp x3, x2, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x14, x0, #40
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
str w21, [x0, #0x38]
add x14, x0, #48
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #24
mov x15, x3
bl CORINFO_HELP_ASSIGN_REF
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M31730_IG60
;; size=96 bbWeight=1 PerfScore 23.00
G_M31730_IG58:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x15, [fp, #0x58] // [V11 loc10]
ldr x1, [fp, #0x40] // [V14 loc13]
ldp x3, x2, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x14, x0, #40
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
str w21, [x0, #0x38]
add x14, x0, #48
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #24
mov x15, x3
bl CORINFO_HELP_ASSIGN_REF
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M31730_IG60
;; size=96 bbWeight=1 PerfScore 23.00
G_M31730_IG59:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
ldr x15, [fp, #0x58] // [V11 loc10]
ldr x1, [fp, #0x40] // [V14 loc13]
ldp x3, x2, [fp, #0x48] // [V13 loc12], [V12 loc11]
add x14, x0, #40
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #16
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
str w21, [x0, #0x38]
add x14, x0, #48
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
add x14, x0, #24
mov x15, x3
bl CORINFO_HELP_ASSIGN_REF
ldr x23, [fp, #0x20] // [V00 this]
add x14, x23, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=92 bbWeight=1 PerfScore 22.00
G_M31730_IG60:
ldr x0, [fp, #0x20] // [V00 this]
cbz w21, G_M31730_IG61
cmp w21, #5
ccmp w21, #6, z, ne
ccmp w21, #10, z, ne
ccmp w21, #9, z, ne
bne G_M31730_IG64
;; size=28 bbWeight=1 PerfScore 6.00
G_M31730_IG61:
ldr x1, [x0, #0x08]
str x1, [fp, #0x18] // [V03 loc2]
b G_M31730_IG66
;; size=12 bbWeight=1 PerfScore 5.00
G_M31730_IG62:
sxtw w20, w21
b G_M31730_IG73
;; size=8 bbWeight=0 PerfScore 0.00
G_M31730_IG63:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=44 bbWeight=0 PerfScore 0.00
G_M31730_IG64:
mov w0, w21
movz x1, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.Utility:IsResultCode(int):ubyte
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz w0, G_M31730_IG65
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x23, [fp, #0x20] // [V00 this]
ldr x1, [x23, #0x08]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.DirectoryOperationException:.ctor(System.DirectoryServices.Protocols.DirectoryResponse):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=92 bbWeight=0 PerfScore 0.00
G_M31730_IG65:
ldr x23, [fp, #0x20] // [V00 this]
ldr x19, [x23, #0x08]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
mov w0, w21
movz x1, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.OperationErrorMappings:MapResultCode(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
mov x1, x19
mov x0, x20
movz x3, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.DirectoryOperationException:.ctor(System.DirectoryServices.Protocols.DirectoryResponse,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=96 bbWeight=0 PerfScore 0.00
G_M31730_IG66:
ldr x0, [fp, #0x80] // [V160 PSPSym]
;; size=4 bbWeight=1 PerfScore 2.00
G_M31730_IG67:
bl G_M31730_IG86
b G_M31730_IG77
;; size=8 bbWeight=1 PerfScore 2.00
G_M31730_IG68:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M31730_IG17
;; size=20 bbWeight=0 PerfScore 0.00
G_M31730_IG69:
mov w0, #59
mov w1, #44
movz x2, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
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_M31730_IG70:
ldr x1, [x19, #0x28]
str wzr, [fp, #0x28] // [V128 tmp103]
add x2, fp, #40 // [V128 tmp103]
mov x0, x1
mov w1, #49
movz x3, #0xD1FFAB1E // code for Interop+Ldap:ldap_get_option_int(System.DirectoryServices.Protocols.ConnectionHandle,int,byref):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr w20, [fp, #0x28] // [V128 tmp103]
b G_M31730_IG72
;; size=48 bbWeight=0 PerfScore 0.00
G_M31730_IG71:
mov w20, #85
;; size=4 bbWeight=0 PerfScore 0.00
G_M31730_IG72:
ldr x0, [fp, #0x20] // [V00 this]
ldrb w1, [x0, #0x46]
cbz w1, G_M31730_IG76
ldr x0, [x19, #0x28]
ldr x23, [fp, #0x20] // [V00 this]
ldr w1, [x23, #0x38]
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ldap_abandon(System.DirectoryServices.Protocols.ConnectionHandle,int):int
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M31730_IG76
;; size=48 bbWeight=0 PerfScore 0.00
G_M31730_IG73:
ldr w1, [fp, #0x7C] // [V01 loc0]
tbz w1, #31, G_M31730_IG76
ldr x1, [x0, #0x20]
cbz x1, G_M31730_IG74
ldr x0, [x0, #0x20]
bl Interop+Ldap:ldap_memfree(long)
ldr x0, [fp, #0x20] // [V00 this]
;; size=28 bbWeight=0 PerfScore 0.00
G_M31730_IG74:
ldr x1, [x0, #0x28]
cbz x1, G_M31730_IG75
ldr x0, [x0, #0x28]
bl Interop+Ldap:ldap_memfree(long)
ldr x0, [fp, #0x20] // [V00 this]
;; size=20 bbWeight=0 PerfScore 0.00
G_M31730_IG75:
ldr x1, [x0, #0x18]
cbz x1, G_M31730_IG76
ldr x0, [x0, #0x18]
bl Interop+Ldap:ldap_msgfree(long)
;; size=16 bbWeight=0 PerfScore 0.00
G_M31730_IG76:
ldr x0, [fp, #0x20] // [V00 this]
ldr w2, [x0, #0x3C]
mov x0, x19
mov w1, w20
movz x3, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.LdapConnection:ConstructException(int,int):System.DirectoryServices.Protocols.DirectoryException:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
bl CORINFO_HELP_THROW
brk_unix #0
;; size=44 bbWeight=0 PerfScore 0.00
G_M31730_IG77:
movn w0, #1
ldr x23, [fp, #0x20] // [V00 this]
str w0, [x23, #0x30]
str xzr, [x23, #0x08]
add x19, x23, #72
ldr x0, [x19]
cbz x0, G_M31730_IG80
ldr x20, [x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M31730_IG83
;; size=52 bbWeight=1 PerfScore 17.50
G_M31730_IG78:
movz x0, #0xD1FFAB1E // data for System.Threading.Tasks.TplEventSource:Log
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
ldrb w0, [x19, #0x9D]
cbz w0, G_M31730_IG79
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w23, w0
ldrb w1, [x19, #0x9D]
cbz w1, G_M31730_IG79
ldr x3, [x19, #0x80]
ldr w2, [x19, #0x98]
mov x0, x19
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M31730_IG79
mov x0, x19
mov w2, w23
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- ;; size=144 bbWeight=1 PerfScore 43.50
+ ;; size=148 bbWeight=1 PerfScore 44.00
G_M31730_IG79:
mov x0, x20
ldr x1, [fp, #0x18] // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task`1[System.__Canon]:TrySetResult(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
cbnz w0, G_M31730_IG82
b G_M31730_IG84
;; size=40 bbWeight=1 PerfScore 13.00
G_M31730_IG80:
add x14, x19, #8
ldr x15, [fp, #0x18] // [V03 loc2]
bl CORINFO_HELP_CHECKED_ASSIGN_REF
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M31730_IG85
;; size=32 bbWeight=1 PerfScore 9.00
G_M31730_IG81:
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.DirectoryServices.Protocols.DirectoryResponse]:s_syncSuccessSentinel
+ movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x19
bl CORINFO_HELP_CHECKED_ASSIGN_REF
- ;; size=20 bbWeight=1 PerfScore 5.50
+ ;; size=24 bbWeight=1 PerfScore 6.00
G_M31730_IG82:
ldr x27, [sp, #0xC8]
ldp x25, x26, [sp, #0xB8]
ldp x23, x24, [sp, #0xA8]
ldp x21, x22, [sp, #0x98]
ldp x19, x20, [sp, #0x88]
ldp fp, lr, [sp], #0xD0
ret lr
;; size=28 bbWeight=1 PerfScore 8.00
G_M31730_IG83:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M31730_IG78
;; size=20 bbWeight=0 PerfScore 0.00
G_M31730_IG84:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M31730_IG85:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M31730_IG81
;; size=20 bbWeight=0 PerfScore 0.00
G_M31730_IG86:
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, #208
str x3, [sp, #0x10]
;; size=32 bbWeight=1 PerfScore 7.50
G_M31730_IG87:
ldr w0, [fp, #0x7C] // [V01 loc0]
tbz w0, #31, G_M31730_IG90
ldr x23, [fp, #0x20] // [V00 this]
ldr x0, [x23, #0x20]
cbz x0, G_M31730_IG88
bl Interop+Ldap:ldap_memfree(long)
;; size=24 bbWeight=1 PerfScore 10.00
G_M31730_IG88:
ldr x0, [x23, #0x28]
cbz x0, G_M31730_IG89
bl Interop+Ldap:ldap_memfree(long)
;; size=12 bbWeight=1 PerfScore 5.00
G_M31730_IG89:
ldr x0, [x23, #0x18]
cbz x0, G_M31730_IG90
bl Interop+Ldap:ldap_msgfree(long)
;; size=12 bbWeight=1 PerfScore 5.00
G_M31730_IG90:
ldr x27, [sp, #0x58]
ldp x25, x26, [sp, #0x48]
ldp x23, x24, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x60
ret lr
;; size=28 bbWeight=1 PerfScore 18.00
G_M31730_IG91:
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, #208
str x3, [sp, #0x10]
;; size=32 bbWeight=0 PerfScore 0.00
G_M31730_IG92:
mov x2, x0
movn w0, #1
ldr x23, [fp, #0x20] // [V00 this]
str w0, [x23, #0x30]
str xzr, [x23, #0x08]
add x0, x23, #72
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.__Canon]:SetException(System.Exception):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
adr x0, [G_M31730_IG82]
;; size=60 bbWeight=0 PerfScore 0.00
G_M31730_IG93:
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
RWD00 dq 3F847AE147AE147Bh ; 0.01
-; Total bytes of code 3892, prolog size 60, PerfScore 1681.62, instruction count 973, allocated bytes for code 3892 (MethodHash=c96b840d) for method System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57:MoveNext():this (FullOpts)
+; Total bytes of code 3904, prolog size 60, PerfScore 1684.62, instruction count 976, allocated bytes for code 3904 (MethodHash=c96b840d) for method System.DirectoryServices.Protocols.LdapConnection+<ConstructResponseAsync>d__57:MoveNext():this (FullOpts)
12 (0.73 % of base) - System.Formats.Tar.TarHeader:CollectExtendedAttributesFromStandardFieldsIfNeeded():this
; Assembly listing for method System.Formats.Tar.TarHeader:CollectExtendedAttributesFromStandardFieldsIfNeeded():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; 28 single block inlinees; 9 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 34, 25.50) ref -> x19 this class-hnd single-def <System.Formats.Tar.TarHeader>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V02 tmp1 [V02,T03] ( 3, 6 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V03 tmp2 [V03,T11] ( 3, 3 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V04 tmp3 [V04,T12] ( 3, 3 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V05 tmp4 [V05,T13] ( 3, 3 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V06 tmp5 [V06,T14] ( 3, 3 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V07 tmp6 [V07,T15] ( 3, 3 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V08 tmp7 [V08,T04] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V09 tmp8 [V09,T08] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V10 tmp9 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.DateTimeOffset>
; V11 tmp10 [V11 ] ( 3, 3 ) struct (16) [fp+0x18] do-not-enreg[SFAR] multireg-arg multireg-ret ld-addr-op "Inline stloc first use temp" <System.Decimal>
;* V12 tmp11 [V12 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Decimal>
; V13 tmp12 [V13,T09] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
;* V14 tmp13 [V14 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
;* V15 tmp14 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp15 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V17 tmp16 [V17,T20] ( 2, 2 ) ref -> x4 class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
; V18 tmp17 [V18,T10] ( 2, 4 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
; V19 tmp18 [V19,T01] ( 5, 7 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.String>
; V20 tmp19 [V20,T05] ( 4, 5 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
;* V21 tmp20 [V21 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V22 tmp21 [V22,T48] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V23 tmp22 [V23 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V24 tmp23 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V25 tmp24 [V25 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
; V26 tmp25 [V26,T21] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
; V27 tmp26 [V27,T35] ( 2, 2 ) int -> x2 "Inlining Arg"
; V28 tmp27 [V28,T02] ( 5, 7 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.String>
; V29 tmp28 [V29,T06] ( 4, 5 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
;* V30 tmp29 [V30 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V31 tmp30 [V31,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V32 tmp31 [V32 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V33 tmp32 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V34 tmp33 [V34 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
; V35 tmp34 [V35,T22] ( 2, 2 ) byref -> x1 single-def "Inlining Arg"
; V36 tmp35 [V36,T36] ( 2, 2 ) int -> x2 "Inlining Arg"
;* V37 tmp36 [V37,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V38 tmp37 [V38,T07] ( 3, 5 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.String>
; V39 tmp38 [V39,T16] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.String]>
; V40 tmp39 [V40,T23] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V41 tmp40 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V42 tmp41 [V42,T24] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V43 tmp42 [V43 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V44 tmp43 [V44,T25] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V45 tmp44 [V45 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V46 tmp45 [V46,T26] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V47 tmp46 [V47 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V48 tmp47 [V48,T27] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V49 tmp48 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V50 tmp49 [V50,T28] ( 2, 2 ) ref -> x2 class-hnd exact single-def "Inlining Arg" <System.String>
;* V51 tmp50 [V51 ] ( 0, 0 ) short -> zero-ref "field V10._offsetMinutes (fldOffset=0x0)" P-INDEP
;* V52 tmp51 [V52 ] ( 0, 0 ) long -> zero-ref "field V10._dateTime (fldOffset=0x8)" P-INDEP
; V53 tmp52 [V53,T17] ( 3, 3 ) int -> [fp+0x18] do-not-enreg[] "field V11._flags (fldOffset=0x0)" P-DEP
; V54 tmp53 [V54,T18] ( 3, 3 ) int -> [fp+0x1C] do-not-enreg[] "field V11._hi32 (fldOffset=0x4)" P-DEP
; V55 tmp54 [V55,T19] ( 3, 3 ) long -> [fp+0x20] do-not-enreg[] "field V11._lo64 (fldOffset=0x8)" P-DEP
;* V56 tmp55 [V56 ] ( 0, 0 ) int -> zero-ref "field V12._flags (fldOffset=0x0)" P-INDEP
;* V57 tmp56 [V57 ] ( 0, 0 ) int -> zero-ref "field V12._hi32 (fldOffset=0x4)" P-INDEP
;* V58 tmp57 [V58 ] ( 0, 0 ) long -> zero-ref "field V12._lo64 (fldOffset=0x8)" P-INDEP
;* V59 tmp58 [V59 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V60 tmp59 [V60 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
; V61 tmp60 [V61,T29] ( 2, 2 ) byref -> x21 single-def "field V15._reference (fldOffset=0x0)" P-INDEP
;* V62 tmp61 [V62,T47] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
;* V63 tmp62 [V63 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
;* V64 tmp63 [V64 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
; V65 tmp64 [V65,T39] ( 2, 1 ) byref -> x1 "field V23._reference (fldOffset=0x0)" P-INDEP
; V66 tmp65 [V66,T43] ( 2, 1 ) int -> x2 "field V23._length (fldOffset=0x8)" P-INDEP
; V67 tmp66 [V67,T40] ( 2, 1 ) byref -> x1 single-def "field V24._reference (fldOffset=0x0)" P-INDEP
; V68 tmp67 [V68,T44] ( 2, 1 ) int -> x2 "field V24._length (fldOffset=0x8)" P-INDEP
;* V69 tmp68 [V69 ] ( 0, 0 ) byref -> zero-ref single-def "field V25._reference (fldOffset=0x0)" P-INDEP
;* V70 tmp69 [V70 ] ( 0, 0 ) int -> zero-ref "field V25._length (fldOffset=0x8)" P-INDEP
;* V71 tmp70 [V71 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
;* V72 tmp71 [V72 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
; V73 tmp72 [V73,T41] ( 2, 1 ) byref -> x1 "field V32._reference (fldOffset=0x0)" P-INDEP
; V74 tmp73 [V74,T45] ( 2, 1 ) int -> x2 "field V32._length (fldOffset=0x8)" P-INDEP
; V75 tmp74 [V75,T42] ( 2, 1 ) byref -> x1 single-def "field V33._reference (fldOffset=0x0)" P-INDEP
; V76 tmp75 [V76,T46] ( 2, 1 ) int -> x2 "field V33._length (fldOffset=0x8)" P-INDEP
;* V77 tmp76 [V77 ] ( 0, 0 ) byref -> zero-ref single-def "field V34._reference (fldOffset=0x0)" P-INDEP
;* V78 tmp77 [V78 ] ( 0, 0 ) int -> zero-ref "field V34._length (fldOffset=0x8)" P-INDEP
; V79 tmp78 [V79,T30] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V80 tmp79 [V80,T31] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V81 tmp80 [V81,T32] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V82 tmp81 [V82,T33] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V83 tmp82 [V83,T34] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V84 cse0 [V84,T37] ( 3, 1.50) int -> x2 "CSE #01: moderate"
; V85 cse1 [V85,T38] ( 3, 1.50) int -> x2 "CSE #04: moderate"
;
; Lcl frame size = 24
G_M49239_IG01:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x28]
str x21, [sp, #0x38]
mov fp, sp
mov x19, x0
;; size=20 bbWeight=1 PerfScore 4.00
G_M49239_IG02:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x2, [x19, #0x10]
ldrsb wzr, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldp x0, x1, [x19, #0x90]
movz x2, #0xD1FFAB1E // code for System.Formats.Tar.TarHelpers:GetSecondsSinceEpochFromDateTimeOffset(System.DateTimeOffset):System.Decimal
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
stp x0, x1, [fp, #0x18] // [V11 tmp10], [V11 tmp10+0x08]
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x4, x0
ldp x0, x1, [fp, #0x18] // [V11 tmp10], [V11 tmp10+0x08]
mov x2, x21
mov w3, #1
movz x5, #0xD1FFAB1E // code for System.Number:FormatDecimal(System.Decimal,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo):System.String
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr x21, [x19, #0x30]
cbnz x21, G_M49239_IG04
- ;; size=288 bbWeight=1 PerfScore 79.50
+ ;; size=292 bbWeight=1 PerfScore 80.00
G_M49239_IG03:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG05
;; size=44 bbWeight=0.50 PerfScore 5.75
G_M49239_IG04:
ldr w2, [x21, #0x08]
cbz w2, G_M49239_IG03
add x1, x21, #12
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
movz x3, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetByteCount(System.ReadOnlySpan`1[ushort]):int:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cmp w0, #32
ble G_M49239_IG03
ldrsb wzr, [x20]
mov x0, x20
mov x2, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
- ;; size=100 bbWeight=0.50 PerfScore 13.50
+ ;; size=104 bbWeight=0.50 PerfScore 13.75
G_M49239_IG05:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr x21, [x19, #0x38]
cbnz x21, G_M49239_IG07
;; size=36 bbWeight=1 PerfScore 10.50
G_M49239_IG06:
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG08
;; size=44 bbWeight=0.50 PerfScore 5.75
G_M49239_IG07:
ldr w2, [x21, #0x08]
cbz w2, G_M49239_IG06
add x1, x21, #12
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
movz x3, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetByteCount(System.ReadOnlySpan`1[ushort]):int:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cmp w0, #32
ble G_M49239_IG06
ldrsb wzr, [x20]
mov x0, x20
mov x2, x21
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
- ;; size=100 bbWeight=0.50 PerfScore 13.50
+ ;; size=104 bbWeight=0.50 PerfScore 13.75
G_M49239_IG08:
ldr x0, [x19, #0x18]
cbz x0, G_M49239_IG10
;; size=8 bbWeight=1 PerfScore 4.00
G_M49239_IG09:
ldr w0, [x0, #0x08]
cbz w0, G_M49239_IG10
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x2, [x19, #0x18]
ldrsb wzr, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=76 bbWeight=0.50 PerfScore 11.75
G_M49239_IG10:
ldr x0, [x19, #0x68]
mov x1, #0xD1FFAB1E
cmp x0, x1
bgt G_M49239_IG12
;; size=16 bbWeight=1 PerfScore 5.00
G_M49239_IG11:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]: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
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG13
;; size=64 bbWeight=0.50 PerfScore 8.50
G_M49239_IG12:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr x0, [x19, #0x68]
movz x1, #0xD1FFAB1E // code for System.Number:Int64ToDecStr(long):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=100 bbWeight=0.50 PerfScore 13.25
G_M49239_IG13:
ldr w0, [x19, #0x78]
movn w1, #0xD1FFAB1E LSL #16
cmp w0, w1
bgt G_M49239_IG15
;; size=16 bbWeight=1 PerfScore 5.00
G_M49239_IG14:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]: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
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG16
;; size=64 bbWeight=0.50 PerfScore 8.50
G_M49239_IG15:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr w0, [x19, #0x78]
movz x1, #0xD1FFAB1E // code for System.Number:Int32ToDecStr(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=100 bbWeight=0.50 PerfScore 13.25
G_M49239_IG16:
ldr w0, [x19, #0x7C]
movn w1, #0xD1FFAB1E LSL #16
cmp w0, w1
bgt G_M49239_IG18
;; size=16 bbWeight=1 PerfScore 5.00
G_M49239_IG17:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]: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
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG19
;; size=64 bbWeight=0.50 PerfScore 8.50
G_M49239_IG18:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr w0, [x19, #0x7C]
movz x1, #0xD1FFAB1E // code for System.Number:Int32ToDecStr(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=100 bbWeight=0.50 PerfScore 13.25
G_M49239_IG19:
ldr w0, [x19, #0x84]
movn w1, #0xD1FFAB1E LSL #16
cmp w0, w1
bgt G_M49239_IG21
;; size=16 bbWeight=1 PerfScore 5.00
G_M49239_IG20:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]: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
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
b G_M49239_IG22
;; size=64 bbWeight=0.50 PerfScore 8.50
G_M49239_IG21:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr w0, [x19, #0x84]
movz x1, #0xD1FFAB1E // code for System.Number:Int32ToDecStr(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=100 bbWeight=0.50 PerfScore 13.25
G_M49239_IG22:
ldr w0, [x19, #0x88]
movn w1, #0xD1FFAB1E LSL #16
cmp w0, w1
bgt G_M49239_IG25
;; size=16 bbWeight=1 PerfScore 5.00
G_M49239_IG23:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]: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
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:Remove(System.__Canon):ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=60 bbWeight=0.50 PerfScore 8.00
G_M49239_IG24:
ldr x21, [sp, #0x38]
ldp x19, x20, [sp, #0x28]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
G_M49239_IG25:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:get_ExtendedAttributes():System.Collections.Generic.Dictionary`2[System.String,System.String]:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
ldr w0, [x19, #0x88]
movz x1, #0xD1FFAB1E // code for System.Number:Int32ToDecStr(int):System.String
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x2, x0
ldrsb wzr, [x20]
mov x0, x20
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
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
;; size=100 bbWeight=0.50 PerfScore 13.25
G_M49239_IG26:
ldr x21, [sp, #0x38]
ldp x19, x20, [sp, #0x28]
ldp fp, lr, [sp], #0x40
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.50
-; Total bytes of code 1644, prolog size 16, PerfScore 286.50, instruction count 411, allocated bytes for code 1644 (MethodHash=0e633fa8) for method System.Formats.Tar.TarHeader:CollectExtendedAttributesFromStandardFieldsIfNeeded():this (FullOpts)
+; Total bytes of code 1656, prolog size 16, PerfScore 287.50, instruction count 414, allocated bytes for code 1656 (MethodHash=0e633fa8) for method System.Formats.Tar.TarHeader:CollectExtendedAttributesFromStandardFieldsIfNeeded():this (FullOpts)
12 (1.58 % of base) - System.Formats.Tar.TarHeader:ReadGnuLongPathDataBlock(System.IO.Stream):this
; Assembly listing for method System.Formats.Tar.TarHeader:ReadGnuLongPathDataBlock(System.IO.Stream):this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 9 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 10, 6.50) ref -> x20 this class-hnd single-def <System.Formats.Tar.TarHeader>
; V01 arg1 [V01,T04] ( 5, 10.50) ref -> x19 class-hnd single-def <System.IO.Stream>
; V02 loc0 [V02,T13] ( 7, 3.50) ref -> x21 class-hnd <ubyte[]>
;* V03 loc1 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ubyte]>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V06 tmp1 [V06,T19] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <ubyte[]>
;* V07 tmp2 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
; V09 tmp4 [V09,T22] ( 2, 2 ) long -> x22 "Inlining Arg"
;* V10 tmp5 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
; V11 tmp6 [V11,T11] ( 4, 4 ) int -> x23 "Inlining Arg"
;* V12 tmp7 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V13 tmp8 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V14 tmp9 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V15 tmp10 [V15 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
; V16 tmp11 [V16,T00] ( 7, 24.50) int -> x26 "Inline stloc first use temp"
; V17 tmp12 [V17,T01] ( 3, 17 ) int -> x25 "Inlining Arg"
;* V18 tmp13 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V19 tmp14 [V19 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
; V20 tmp15 [V20,T05] ( 3, 12 ) int -> x0 "Inline stloc first use temp"
;* V21 tmp16 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
; V22 tmp17 [V22,T02] ( 2, 16 ) byref -> x1 "Inlining Arg"
; V23 tmp18 [V23,T03] ( 2, 16 ) int -> x2 "Inlining Arg"
;* V24 tmp19 [V24 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V25 tmp20 [V25 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V26 tmp21 [V26 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V27 tmp22 [V27 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V28 tmp23 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.String>
; V29 tmp24 [V29,T16] ( 4, 2 ) ref -> x15 class-hnd "Inline return value spill temp" <System.String>
;* V30 tmp25 [V30 ] ( 0, 0 ) struct (16) zero-ref multireg-ret ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V31 tmp26 [V31,T14] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V32 tmp27 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" <System.String>
;* V33 tmp28 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V34 tmp29 [V34 ] ( 2, 1 ) byref -> [fp-0x48] must-init pinned "Inline stloc first use temp"
; V35 tmp30 [V35,T25] ( 3, 1.50) byref -> x23 "Inline return value spill temp"
;* V36 tmp31 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V37 tmp32 [V37,T26] ( 3, 1.50) ref -> x15 class-hnd "Inline return value spill temp" <System.String>
;* V38 tmp33 [V38 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V39 tmp34 [V39 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V40 tmp35 [V40,T17] ( 4, 2 ) int -> x24 "Inline stloc first use temp"
; V41 tmp36 [V41,T12] ( 4, 4 ) ref -> x25 class-hnd exact single-def "dup spill" <System.String>
; V42 tmp37 [V42 ] ( 4, 2 ) byref -> [fp-0x50] must-init pinned "Inline stloc first use temp"
;* V43 tmp38 [V43 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V44 tmp39 [V44,T09] ( 3, 5 ) byref -> x22 "field V03._reference (fldOffset=0x0)" P-INDEP
; V45 tmp40 [V45,T36] ( 2, 1 ) int -> x24 "field V03._length (fldOffset=0x8)" P-INDEP
; V46 tmp41 [V46,T27] ( 3, 1.50) byref -> x22 "field V04._reference (fldOffset=0x0)" P-INDEP
; V47 tmp42 [V47,T29] ( 3, 1.50) int -> x1 "field V04._length (fldOffset=0x8)" P-INDEP
;* V48 tmp43 [V48 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
;* V49 tmp44 [V49 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
; V50 tmp45 [V50,T32] ( 2, 1 ) byref -> x22 single-def "field V08._reference (fldOffset=0x0)" P-INDEP
;* V51 tmp46 [V51,T39] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
; V52 tmp47 [V52,T28] ( 3, 1.50) byref -> x22 "field V10._reference (fldOffset=0x0)" P-INDEP
; V53 tmp48 [V53,T30] ( 3, 1.50) int -> x1 "field V10._length (fldOffset=0x8)" P-INDEP
; V54 tmp49 [V54,T33] ( 2, 1 ) byref -> x22 single-def "field V12._reference (fldOffset=0x0)" P-INDEP
;* V55 tmp50 [V55,T40] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP
;* V56 tmp51 [V56 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp52 [V57 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V58 tmp53 [V58,T38] ( 0, 0 ) byref -> zero-ref single-def "field V18._reference (fldOffset=0x0)" P-INDEP
; V59 tmp54 [V59,T10] ( 4, 5.50) int -> x23 "field V18._length (fldOffset=0x8)" P-INDEP
;* V60 tmp55 [V60 ] ( 0, 0 ) byref -> zero-ref "field V19._reference (fldOffset=0x0)" P-INDEP
;* V61 tmp56 [V61 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
; V62 tmp57 [V62,T07] ( 2, 8 ) byref -> x1 "field V21._reference (fldOffset=0x0)" P-INDEP
; V63 tmp58 [V63,T08] ( 2, 8 ) int -> x2 "field V21._length (fldOffset=0x8)" P-INDEP
;* V64 tmp59 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V24._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp60 [V65 ] ( 0, 0 ) int -> zero-ref "field V24._length (fldOffset=0x8)" P-INDEP
; V66 tmp61 [V66,T34] ( 2, 1 ) byref -> x0 single-def "field V25._reference (fldOffset=0x0)" P-INDEP
; V67 tmp62 [V67,T37] ( 2, 1 ) int -> x1 "field V25._length (fldOffset=0x8)" P-INDEP
; V68 tmp63 [V68,T35] ( 2, 1 ) byref -> x0 single-def "field V30._reference (fldOffset=0x0)" P-INDEP
; V69 tmp64 [V69,T18] ( 4, 2 ) int -> x22 "field V30._length (fldOffset=0x8)" P-INDEP
;* V70 tmp65 [V70 ] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP
;* V71 tmp66 [V71 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
;* V72 tmp67 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V73 tmp68 [V73 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
; V74 tmp69 [V74,T20] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V75 tmp70 [V75,T15] ( 3, 3 ) long -> x23 "Cast away GC"
; V76 tmp71 [V76,T23] ( 2, 2 ) long -> x3 "Cast away GC"
; V77 tmp72 [V77,T24] ( 2, 2 ) long -> x3 "argument with side effect"
; V78 tmp73 [V78,T21] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V79 GsCookie [V79 ] ( 1, 1 ) long -> [fp-0x58] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V80 cse0 [V80,T31] ( 3, 1.50) int -> x14 "CSE #03: moderate"
;
; Lcl frame size = 32
G_M59222_IG01:
sub sp, sp, #112
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
stp x25, x26, [sp, #0x50]
stp fp, lr, [sp, #0x60]
add fp, sp, #96
str xzr, [fp, #-0x48] // [V34 tmp29]
str xzr, [fp, #-0x50] // [V42 tmp37]
movz x2, #0xD1FFAB1E
movk x2, #20 LSL #16
str x2, [fp, #-0x58] // [V79 GsCookie]
mov x20, x0
mov x19, x1
;; size=56 bbWeight=1 PerfScore 11.00
G_M59222_IG02:
ldr x0, [x20, #0x68]
cbz x0, G_M59222_IG18
;; size=8 bbWeight=1 PerfScore 4.00
G_M59222_IG03:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Formats.Tar.TarHeader:ValidateSize():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x21, xzr
ldr x0, [x20, #0x68]
cmp x0, #0xD1FFAB1E
ble G_M59222_IG07
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M59222_IG20
;; size=60 bbWeight=0.50 PerfScore 8.25
G_M59222_IG04:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
ldr w1, [x20, #0x68]
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x21, x0
cbnz x21, G_M59222_IG05
mov x22, xzr
mov w1, wzr
b G_M59222_IG06
- ;; size=60 bbWeight=0.50 PerfScore 9.50
+ ;; size=64 bbWeight=0.50 PerfScore 9.75
G_M59222_IG05:
add x22, x21, #16
ldr w1, [x21, #0x08]
;; size=8 bbWeight=0.50 PerfScore 1.75
G_M59222_IG06:
b G_M59222_IG08
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M59222_IG07:
ldr wzr, [sp], #-0x100
mov x22, sp
mov w1, #0xD1FFAB1E
;; size=12 bbWeight=0.50 PerfScore 1.50
G_M59222_IG08:
ldr w23, [x20, #0x68]
cmp w23, w1
bhi G_M59222_IG23
sxtw w24, w23
ldrsb wzr, [x19]
sxtw w25, w23
mov w26, wzr
cmp w23, #0
ble G_M59222_IG10
;; size=36 bbWeight=0.50 PerfScore 5.25
G_M59222_IG09:
cmp w26, w25
bhi G_M59222_IG23
mov w1, w26
add x1, x22, x1
sub w2, w25, w26
mov x0, x19
ldr x3, [x19]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x20]
blr x3
cbz w0, G_M59222_IG22
add w26, w26, w0
cmp w26, w23
blt G_M59222_IG09
;; size=56 bbWeight=4 PerfScore 66.00
G_M59222_IG10:
mov x0, x22
sxtw w1, w24
movz x2, #0xD1FFAB1E
+ movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x19, [x2]
movz x2, #0xD1FFAB1E // code for System.Formats.Tar.TarHelpers:TrimEndingNullsAndSpaces(System.ReadOnlySpan`1[ubyte]):System.ReadOnlySpan`1[ubyte]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov w22, w1
cbnz w22, G_M59222_IG11
movz x15, #0xD1FFAB1E
movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
b G_M59222_IG14
- ;; size=64 bbWeight=0.50 PerfScore 7.25
+ ;; size=68 bbWeight=0.50 PerfScore 7.50
G_M59222_IG11:
mov x23, x0
str x23, [fp, #-0x48] // [V34 tmp29]
mov x0, x19
mov x1, x23
mov w2, w22
movz x3, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
sxtw w24, w0
cbz w24, G_M59222_IG12
mov w0, w24
bl System.String:FastAllocateString(int):System.String
mov x25, x0
ldrsb wzr, [x25]
add x3, x25, #12
str x3, [fp, #-0x50] // [V42 tmp37]
ldr x3, [fp, #-0x50] // [V42 tmp37]
mov x1, x23
mov w2, w22
mov x0, x19
mov w4, w24
movz x5, #0xD1FFAB1E // code for System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
str xzr, [fp, #-0x50] // [V42 tmp37]
mov x15, x25
b G_M59222_IG13
;; size=124 bbWeight=0.50 PerfScore 14.25
G_M59222_IG12:
movz x15, #0xD1FFAB1E
movk x15, #0xD1FFAB1E LSL #16
movk x15, #0xD1FFAB1E LSL #32
;; size=12 bbWeight=0.50 PerfScore 0.75
G_M59222_IG13:
str xzr, [fp, #-0x50] // [V42 tmp37]
str xzr, [fp, #-0x48] // [V34 tmp29]
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M59222_IG14:
ldrb w14, [x20, #0x8C]
cmp w14, #75
beq G_M59222_IG15
cmp w14, #76
bne G_M59222_IG16
add x14, x20, #16
bl CORINFO_HELP_ASSIGN_REF
b G_M59222_IG16
;; size=32 bbWeight=0.50 PerfScore 4.25
G_M59222_IG15:
add x14, x20, #24
bl CORINFO_HELP_ASSIGN_REF
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M59222_IG16:
cbz x21, G_M59222_IG18
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M59222_IG21
;; size=24 bbWeight=0.50 PerfScore 3.25
G_M59222_IG17:
movz x0, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov x1, x21
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
- ;; size=44 bbWeight=0.50 PerfScore 6.75
+ ;; size=48 bbWeight=0.50 PerfScore 7.00
G_M59222_IG18:
movz xip0, #0xD1FFAB1E
movk xip0, #20 LSL #16
ldr xip1, [fp, #-0x58] // [V79 GsCookie]
cmp xip0, xip1
beq G_M59222_IG19
bl CORINFO_HELP_FAIL_FAST
;; size=24 bbWeight=1 PerfScore 5.50
G_M59222_IG19:
sub sp, fp, #96
ldp fp, lr, [sp, #0x60]
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
add sp, sp, #112
ret lr
;; size=32 bbWeight=1 PerfScore 7.00
G_M59222_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M59222_IG04
;; size=20 bbWeight=0 PerfScore 0.00
G_M59222_IG21:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M59222_IG17
;; size=20 bbWeight=0 PerfScore 0.00
G_M59222_IG22:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowEndOfFileException()
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_M59222_IG23:
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
-; Total bytes of code 760, prolog size 48, PerfScore 158.50, instruction count 190, allocated bytes for code 760 (MethodHash=c7ea18a9) for method System.Formats.Tar.TarHeader:ReadGnuLongPathDataBlock(System.IO.Stream):this (FullOpts)
+; Total bytes of code 772, prolog size 48, PerfScore 159.25, instruction count 193, allocated bytes for code 772 (MethodHash=c7ea18a9) for method System.Formats.Tar.TarHeader:ReadGnuLongPathDataBlock(System.IO.Stream):this (FullOpts)
12 (0.89 % of base) - System.Formats.Tar.TarWriter+d__22:MoveNext():this
; Assembly listing for method System.Formats.Tar.TarWriter+<WriteFinalRecordsAsync>d__22:MoveNext():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; 20 single block inlinees; 12 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T02] ( 20, 17 ) byref -> [fp+0x18] this EH-live single-def
-; V01 loc0 [V01,T34] ( 2, 2 ) int -> x1
-; V02 loc1 [V02,T31] ( 2, 2 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarWriter>
+; V00 this [V00,T02] ( 21, 18 ) byref -> [fp+0x18] this EH-live single-def
+; V01 loc0 [V01,T33] ( 2, 2 ) int -> x1
+; V02 loc1 [V02,T30] ( 2, 2 ) ref -> x19 class-hnd exact single-def <System.Formats.Tar.TarWriter>
; V03 loc2 [V03 ] ( 10, 10 ) struct (16) [fp+0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V04 loc3 [V04 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op <System.Threading.CancellationToken>
; V05 loc4 [V05 ] ( 3, 3 ) struct (16) [fp+0x30] do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
;* V06 loc5 [V06 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V10 tmp2 [V10,T08] ( 3, 6 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.IO.Stream>
;* V11 tmp3 [V11 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Memory`1[ubyte]>
;* V12 tmp4 [V12 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.ReadOnlyMemory`1[ubyte]>
;* V13 tmp5 [V13 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.Tasks.ValueTask>
-; V14 tmp6 [V14,T43] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V14 tmp6 [V14,T42] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V15 tmp7 [V15,T06] ( 4, 8 ) ref -> x1 class-hnd single-def "Inlining Arg" <ubyte[]>
; V16 tmp8 [V16 ] ( 5, 10 ) struct (16) [fp+0x20] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
;* V17 tmp9 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Memory`1[ubyte]>
;* V18 tmp10 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
;* V19 tmp11 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
;* V20 tmp12 [V20 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
;* V21 tmp13 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Object>
-; V22 tmp14 [V22,T21] ( 2, 4 ) short -> x1 "Inlining Arg"
+; V22 tmp14 [V22,T20] ( 2, 4 ) short -> x1 "Inlining Arg"
;* V23 tmp15 [V23 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
;* V24 tmp16 [V24 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V25 tmp17 [V25,T15] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V26 tmp18 [V26,T24] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+; V25 tmp17 [V25,T14] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
+; V26 tmp18 [V26,T23] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V27 tmp19 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
;* V28 tmp20 [V28 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V29 tmp21 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V30 tmp22 [V30 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V31 tmp23 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-; V32 tmp24 [V32,T16] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V33 tmp25 [V33,T17] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+; V32 tmp24 [V32,T15] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
+; V33 tmp25 [V33,T16] ( 4, 4 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
;* V34 tmp26 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
; V35 tmp27 [V35,T09] ( 3, 6 ) byref -> x20 single-def "Inlining Arg"
;* V36 tmp28 [V36 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
; V37 tmp29 [V37,T03] ( 7, 14 ) ref -> x22 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
-; V38 tmp30 [V38,T22] ( 2, 4 ) struct ( 8) x23 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
+; V38 tmp30 [V38,T21] ( 2, 4 ) struct ( 8) x23 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
; V39 tmp31 [V39,T05] ( 6, 12 ) ref -> x21 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V40 tmp32 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
-; V41 tmp33 [V41,T23] ( 2, 4 ) int -> x20 "Inlining Arg"
+; V41 tmp33 [V41,T22] ( 2, 4 ) int -> x20 "Inlining Arg"
;* V42 tmp34 [V42 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V43 tmp35 [V43 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V44 tmp36 [V44,T39] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V45 tmp37 [V45,T25] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-; V46 tmp38 [V46,T35] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
-; V47 tmp39 [V47,T11] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
-; V48 tmp40 [V48,T29] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
+;* V44 tmp36 [V44,T38] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+; V45 tmp37 [V45,T24] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
+; V46 tmp38 [V46,T34] ( 2, 2 ) ubyte -> x2 "Inline return value spill temp"
+; V47 tmp39 [V47,T10] ( 5, 5 ) int -> x1 "Inline stloc first use temp"
+; V48 tmp40 [V48,T28] ( 3, 3 ) ubyte -> x2 "Inline return value spill temp"
; V49 tmp41 [V49,T00] ( 6, 41 ) int -> x1 "Inline stloc first use temp"
; V50 tmp42 [V50,T01] ( 3, 24 ) int -> x3 "Inline stloc first use temp"
-; V51 tmp43 [V51,T26] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
-;* V52 tmp44 [V52,T38] ( 0, 0 ) ref -> zero-ref single-def "field V04._source (fldOffset=0x0)" P-INDEP
-; V53 tmp45 [V53,T32] ( 2, 2 ) ref -> [fp+0x30] do-not-enreg[] "field V05._obj (fldOffset=0x0)" P-DEP
-; V54 tmp46 [V54,T36] ( 2, 2 ) short -> [fp+0x38] do-not-enreg[] "field V05._token (fldOffset=0x8)" P-DEP
-; V55 tmp47 [V55,T40] ( 1, 1 ) ubyte -> [fp+0x3A] do-not-enreg[] "field V05._continueOnCapturedContext (fldOffset=0xa)" P-DEP
+; V51 tmp43 [V51,T25] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
+;* V52 tmp44 [V52,T37] ( 0, 0 ) ref -> zero-ref single-def "field V04._source (fldOffset=0x0)" P-INDEP
+; V53 tmp45 [V53,T31] ( 2, 2 ) ref -> [fp+0x30] do-not-enreg[] "field V05._obj (fldOffset=0x0)" P-DEP
+; V54 tmp46 [V54,T35] ( 2, 2 ) short -> [fp+0x38] do-not-enreg[] "field V05._token (fldOffset=0x8)" P-DEP
+; V55 tmp47 [V55,T39] ( 1, 1 ) ubyte -> [fp+0x3A] do-not-enreg[] "field V05._continueOnCapturedContext (fldOffset=0xa)" P-DEP
;* V56 tmp48 [V56 ] ( 0, 0 ) ref -> zero-ref "field V11._object (fldOffset=0x0)" P-INDEP
;* V57 tmp49 [V57 ] ( 0, 0 ) int -> zero-ref "field V11._index (fldOffset=0x8)" P-INDEP
;* V58 tmp50 [V58 ] ( 0, 0 ) int -> zero-ref "field V11._length (fldOffset=0xc)" P-INDEP
;* V59 tmp51 [V59 ] ( 0, 0 ) ref -> zero-ref single-def "field V12._object (fldOffset=0x0)" P-INDEP
;* V60 tmp52 [V60 ] ( 0, 0 ) int -> zero-ref "field V12._index (fldOffset=0x8)" P-INDEP
;* V61 tmp53 [V61 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0xc)" P-INDEP
;* V62 tmp54 [V62 ] ( 0, 0 ) ref -> zero-ref "field V13._obj (fldOffset=0x0)" P-DEP
;* V63 tmp55 [V63 ] ( 0, 0 ) short -> zero-ref "field V13._token (fldOffset=0x8)" P-DEP
;* V64 tmp56 [V64 ] ( 0, 0 ) ubyte -> zero-ref "field V13._continueOnCapturedContext (fldOffset=0xa)" P-DEP
-; V65 tmp57 [V65,T12] ( 3, 5 ) ref -> [fp+0x20] do-not-enreg[] "field V16._object (fldOffset=0x0)" P-DEP
-; V66 tmp58 [V66,T13] ( 3, 5 ) int -> [fp+0x28] do-not-enreg[] "field V16._index (fldOffset=0x8)" P-DEP
-; V67 tmp59 [V67,T14] ( 3, 5 ) int -> [fp+0x2C] do-not-enreg[] "field V16._length (fldOffset=0xc)" P-DEP
+; V65 tmp57 [V65,T11] ( 3, 5 ) ref -> [fp+0x20] do-not-enreg[] "field V16._object (fldOffset=0x0)" P-DEP
+; V66 tmp58 [V66,T12] ( 3, 5 ) int -> [fp+0x28] do-not-enreg[] "field V16._index (fldOffset=0x8)" P-DEP
+; V67 tmp59 [V67,T13] ( 3, 5 ) int -> [fp+0x2C] do-not-enreg[] "field V16._length (fldOffset=0xc)" P-DEP
;* V68 tmp60 [V68 ] ( 0, 0 ) ref -> zero-ref "field V17._object (fldOffset=0x0)" P-INDEP
;* V69 tmp61 [V69 ] ( 0, 0 ) int -> zero-ref "field V17._index (fldOffset=0x8)" P-INDEP
;* V70 tmp62 [V70 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0xc)" P-INDEP
-; V71 tmp63 [V71,T33] ( 2, 2 ) ref -> x0 single-def "field V18._obj (fldOffset=0x0)" P-INDEP
-; V72 tmp64 [V72,T37] ( 2, 2 ) short -> x1 "field V18._token (fldOffset=0x8)" P-INDEP
-;* V73 tmp65 [V73,T41] ( 0, 0 ) ubyte -> zero-ref "field V18._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+; V71 tmp63 [V71,T32] ( 2, 2 ) ref -> x0 single-def "field V18._obj (fldOffset=0x0)" P-INDEP
+; V72 tmp64 [V72,T36] ( 2, 2 ) short -> x1 "field V18._token (fldOffset=0x8)" P-INDEP
+;* V73 tmp65 [V73,T40] ( 0, 0 ) ubyte -> zero-ref "field V18._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
;* V74 tmp66 [V74 ] ( 0, 0 ) ref -> zero-ref "field V19._obj (fldOffset=0x0)" P-INDEP
;* V75 tmp67 [V75 ] ( 0, 0 ) short -> zero-ref "field V19._token (fldOffset=0x8)" P-INDEP
;* V76 tmp68 [V76 ] ( 0, 0 ) ubyte -> zero-ref "field V19._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-; V77 tmp69 [V77,T18] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V78 tmp70 [V78,T19] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V79 tmp71 [V79,T20] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V80 PSPSym [V80,T42] ( 1, 1 ) long -> [fp+0x50] do-not-enreg[V] "PSPSym"
-; V81 cse0 [V81,T27] ( 3, 3 ) ref -> x21 "CSE #11: moderate"
-; V82 cse1 [V82,T30] ( 3, 3 ) int -> x1 "CSE #12: moderate"
+; V77 tmp69 [V77,T17] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V78 tmp70 [V78,T18] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V79 tmp71 [V79,T19] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V80 PSPSym [V80,T41] ( 1, 1 ) long -> [fp+0x50] do-not-enreg[V] "PSPSym"
+; V81 cse0 [V81,T26] ( 3, 3 ) ref -> x21 "CSE #11: moderate"
+; V82 cse1 [V82,T29] ( 3, 3 ) int -> x1 "CSE #12: moderate"
; V83 cse2 [V83,T04] ( 7, 14 ) byref -> x0 "CSE #13: aggressive"
-; V84 cse3 [V84,T28] ( 3, 3 ) ref -> x22 "CSE #07: moderate"
-; V85 cse4 [V85,T10] ( 5, 5 ) byref -> x14 multi-def "CSE #01: aggressive"
-; V86 cse5 [V86,T07] ( 6, 6 ) long -> x21 multi-def "CSE #05: aggressive"
+; V84 cse3 [V84,T07] ( 6, 6 ) long -> x21 multi-def "CSE #05: aggressive"
+; V85 cse4 [V85,T27] ( 3, 3 ) ref -> x22 "CSE #07: moderate"
;
; Lcl frame size = 72
G_M55739_IG01:
stp fp, lr, [sp, #-0x80]!
stp x19, x20, [sp, #0x58]
stp x21, x22, [sp, #0x68]
str x23, [sp, #0x78]
mov fp, sp
add x9, fp, #32
movi v16.16b, #0
stp q16, q16, [x9]
stp xzr, xzr, [x9, #0x20]
add x1, sp, #128
str x1, [fp, #0x50] // [V80 PSPSym]
str x0, [fp, #0x18] // [V00 this]
;; size=48 bbWeight=1 PerfScore 10.00
G_M55739_IG02:
ldr w1, [x0, #0x10]
ldr x19, [x0]
;; size=8 bbWeight=1 PerfScore 6.00
G_M55739_IG03:
cbnz w1, G_M55739_IG07
- add x14, x0, #32
- ;; size=8 bbWeight=1 PerfScore 1.50
+ ;; size=4 bbWeight=1 PerfScore 1.00
G_M55739_IG04:
- ldp x1, x2, [x14]
+ ldp x1, x2, [x0, #0x20]
stp x1, x2, [fp, #0x40]
;; size=8 bbWeight=1 PerfScore 5.00
G_M55739_IG05:
- stp xzr, xzr, [x14]
+ stp xzr, xzr, [x0, #0x20]
movn w1, #0
str w1, [x0, #0x10]
;; size=12 bbWeight=1 PerfScore 2.50
G_M55739_IG06:
ldr x20, [fp, #0x40] // [V03 loc2]
cbz x20, G_M55739_IG12
mov x1, x20
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_M55739_IG11
add x1, x0, #52
ldapr w1, [x1]
mov w2, #0xD1FFAB1E
and w1, w1, w2
mov w2, #0xD1FFAB1E
cmp w1, w2
beq G_M55739_IG12
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M55739_IG12
;; size=104 bbWeight=1 PerfScore 25.00
G_M55739_IG07:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M55739_IG14
;; size=20 bbWeight=1 PerfScore 5.50
G_M55739_IG08:
movz x21, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
ldr x1, [x21]
mov x0, x1
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
ldr x21, [fp, #0x18] // [V00 this]
add x14, x21, #8
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x0, [x21, #0x08]
mov w1, wzr
mov w2, #0xD1FFAB1E
movz x3, #0xD1FFAB1E // code for System.Array:Clear(System.Array,int,int)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x19, #0x08]
ldr x1, [x21, #0x08]
cbz x1, G_M55739_IG16
ldr w2, [x1, #0x08]
cmp w2, #0xD1FFAB1E
blo G_M55739_IG16
str x1, [fp, #0x20] // [V65 tmp57]
str wzr, [fp, #0x28] // [V66 tmp58]
mov w1, #0xD1FFAB1E
str w1, [fp, #0x2C] // [V67 tmp59]
ldp x1, x2, [fp, #0x20] // [V16 tmp8], [V16 tmp8+0x08]
mov x3, xzr
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4]
blr x4
stp x0, x1, [fp, #0x30] // [V05 loc4], [V05 loc4+0x08]
ldrsh x1, [fp, #0x38] // [V54 tmp46]
ldr x0, [fp, #0x30] // [V53 tmp45]
str x0, [fp, #0x40] // [V03 loc2]
strh w1, [fp, #0x48] // [V03 loc2+0x08]
strb wzr, [fp, #0x4A] // [V03 loc2+0x0a]
ldr x20, [fp, #0x40] // [V03 loc2]
cbz x20, G_M55739_IG06
mov x1, x20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M55739_IG10
mov x0, x20
ldrsh w1, [fp, #0x48] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
cbnz w0, G_M55739_IG06
- ;; size=260 bbWeight=1 PerfScore 84.00
+ ;; size=264 bbWeight=1 PerfScore 84.50
G_M55739_IG09:
ldr x21, [fp, #0x18] // [V00 this]
str wzr, [x21, #0x10]
add x14, x21, #32
add x13, fp, #64 // [V03 loc2]
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x1, x21, #24
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Formats.Tar.TarWriter+<WriteFinalRecordsAsync>d__22](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
add x0, fp, #64 // [V03 loc2]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M55739_IG30
;; size=88 bbWeight=1 PerfScore 23.00
G_M55739_IG10:
add x14, x0, #52
ldapr w14, [x14]
mov w13, #0xD1FFAB1E
tst w14, w13
bne G_M55739_IG06
b G_M55739_IG09
;; size=24 bbWeight=1 PerfScore 6.50
G_M55739_IG11:
mov x0, x20
ldrsh w1, [fp, #0x48] // [V03 loc2+0x08]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr xip0, [x11]
blr xip0
;; size=28 bbWeight=1 PerfScore 8.00
G_M55739_IG12:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M55739_IG15
;; size=20 bbWeight=1 PerfScore 5.50
G_M55739_IG13:
movz x21, #0xD1FFAB1E // data for System.Buffers.ArrayPool`1[ubyte]:s_shared
+ movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
ldr x1, [x21]
mov x0, x1
ldr x20, [fp, #0x18] // [V00 this]
ldr x1, [x20, #0x08]
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ubyte]:Return(ubyte[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
b G_M55739_IG17
- ;; size=56 bbWeight=1 PerfScore 19.50
+ ;; size=60 bbWeight=1 PerfScore 20.00
G_M55739_IG14:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M55739_IG08
- align [0 bytes for IG20]
- align [0 bytes]
+ align [4 bytes for IG20]
+ align [4 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M55739_IG15:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M55739_IG13
;; size=20 bbWeight=0 PerfScore 0.00
G_M55739_IG16:
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_M55739_IG17:
movn w0, #1
str w0, [x20, #0x10]
str xzr, [x20, #0x08]
add x20, x20, #24
ldr x22, [x20]
cbz x22, G_M55739_IG28
mov w23, wzr
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M55739_IG31
;; size=48 bbWeight=1 PerfScore 13.00
G_M55739_IG18:
ldr x21, [x21, #0xD1FFAB1E]
ldrb w0, [x21, #0x9D]
cbz w0, G_M55739_IG19
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:get_Id():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w20, w0
ldrb w1, [x21, #0x9D]
cbz w1, G_M55739_IG19
ldr x3, [x21, #0x80]
ldr w2, [x21, #0x98]
mov x0, x21
mov w4, #4
mov x5, #8
mov w6, wzr
movz x7, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
cbz w0, G_M55739_IG19
mov x0, x21
mov w2, w20
mov w1, #15
mov w3, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=136 bbWeight=1 PerfScore 42.50
G_M55739_IG19:
add x0, x22, #52
ldapr w1, [x0]
mov w2, #0xD1FFAB1E
tst w1, w2
bne G_M55739_IG32
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
beq G_M55739_IG26
ldapr w1, [x0]
b G_M55739_IG21
;; size=48 bbWeight=1 PerfScore 15.00
G_M55739_IG20:
sxtw w1, w3
;; size=4 bbWeight=8 PerfScore 4.00
G_M55739_IG21:
mov w2, #0xD1FFAB1E
tst w1, w2
beq G_M55739_IG23
;; size=12 bbWeight=8 PerfScore 16.00
G_M55739_IG22:
mov w2, wzr
b G_M55739_IG25
;; size=8 bbWeight=1 PerfScore 1.50
G_M55739_IG23:
orr w2, w1, #0xD1FFAB1E
mov w3, w1
casal w3, w2, [x0]
cmp w3, w1
bne G_M55739_IG20
;; size=20 bbWeight=8 PerfScore 44.00
G_M55739_IG24:
mov w2, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M55739_IG25:
cbz w2, G_M55739_IG32
;; size=4 bbWeight=1 PerfScore 1.00
G_M55739_IG26:
strb w23, [x22, #0x38]
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x19, [x22, #0x28]
cbz x19, G_M55739_IG27
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x0, x19, #16
ldapr x0, [x0]
cbz x0, G_M55739_IG27
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
;; size=80 bbWeight=1 PerfScore 27.50
G_M55739_IG27:
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:FinishContinuations():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M55739_IG30
;; size=28 bbWeight=1 PerfScore 7.00
G_M55739_IG28:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M55739_IG33
;; size=20 bbWeight=1 PerfScore 5.50
G_M55739_IG29:
ldr x15, [x21, #0xD1FFAB1E]
mov x14, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=12 bbWeight=1 PerfScore 4.50
G_M55739_IG30:
ldr x23, [sp, #0x78]
ldp x21, x22, [sp, #0x68]
ldp x19, x20, [sp, #0x58]
ldp fp, lr, [sp], #0x80
ret lr
;; size=20 bbWeight=1 PerfScore 6.00
G_M55739_IG31:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M55739_IG18
;; size=20 bbWeight=0 PerfScore 0.00
G_M55739_IG32:
mov w0, #24
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException(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_M55739_IG33:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M55739_IG29
;; size=20 bbWeight=0 PerfScore 0.00
G_M55739_IG34:
stp fp, lr, [sp, #-0x40]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
str x23, [sp, #0x38]
add x3, fp, #128
str x3, [sp, #0x10]
;; size=24 bbWeight=0 PerfScore 0.00
G_M55739_IG35:
mov x1, x0
movn w0, #1
ldr x21, [fp, #0x18] // [V00 this]
str w0, [x21, #0x10]
str xzr, [x21, #0x08]
add x0, x21, #24
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
adr x0, [G_M55739_IG30]
;; size=48 bbWeight=0 PerfScore 0.00
G_M55739_IG36:
ldr x23, [sp, #0x38]
ldp x21, x22, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x40
ret lr
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1352, prolog size 48, PerfScore 390.00, instruction count 342, allocated bytes for code 1352 (MethodHash=b0932644) for method System.Formats.Tar.TarWriter+<WriteFinalRecordsAsync>d__22:MoveNext():this (FullOpts)
+; Total bytes of code 1364, prolog size 48, PerfScore 390.50, instruction count 343, allocated bytes for code 1364 (MethodHash=b0932644) for method System.Formats.Tar.TarWriter+<WriteFinalRecordsAsync>d__22:MoveNext():this (FullOpts)
8 (1.23 % of base) - System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String
; Assembly listing for method System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 15 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T04] ( 4, 4 ) struct ( 8) [fp+0x38] do-not-enreg[SF] ld-addr-op single-def <System.Collections.Specialized.BitVector32+Section>
-; V01 loc0 [V01 ] ( 30, 25.50) struct (40) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+; V00 arg0 [V00,T04] ( 4, 4 ) struct ( 8) [fp+0x40] do-not-enreg[SF] ld-addr-op single-def <System.Collections.Specialized.BitVector32+Section>
+; V01 loc0 [V01 ] ( 30, 25.50) struct (40) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V03 tmp1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V04 tmp2 [V04,T00] ( 5, 8 ) ref -> x0 class-hnd single-def "dup spill" <ushort[]>
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V06 tmp4 [V06 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V07 tmp5 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V09 tmp7 [V09,T01] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V10 tmp8 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V11 tmp9 [V11,T14] ( 2, 3 ) byref -> x19 single-def "Inlining Arg"
+; V11 tmp9 [V11,T14] ( 2, 3 ) byref -> x20 single-def "Inlining Arg"
; V12 tmp10 [V12,T07] ( 2, 4 ) int -> x0 "Inlining Arg"
-;* V13 tmp11 [V13,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V13 tmp11 [V13,T24] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V14 tmp12 [V14 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V15 tmp13 [V15 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V16 tmp14 [V16 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V17 tmp15 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V18 tmp16 [V18,T02] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V19 tmp17 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V20 tmp18 [V20,T15] ( 2, 3 ) byref -> x20 single-def "Inlining Arg"
+; V20 tmp18 [V20,T15] ( 2, 3 ) byref -> x21 single-def "Inlining Arg"
; V21 tmp19 [V21,T08] ( 2, 4 ) int -> x0 "Inlining Arg"
-;* V22 tmp20 [V22,T24] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V22 tmp20 [V22,T25] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V23 tmp21 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V24 tmp22 [V24 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V25 tmp23 [V25 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V26 tmp24 [V26 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V27 tmp25 [V27,T03] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V28 tmp26 [V28 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-; V29 tmp27 [V29,T16] ( 2, 3 ) byref -> x19 single-def "Inlining Arg"
+; V29 tmp27 [V29,T16] ( 2, 3 ) byref -> x20 single-def "Inlining Arg"
; V30 tmp28 [V30,T09] ( 2, 4 ) int -> x0 "Inlining Arg"
-;* V31 tmp29 [V31,T25] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V31 tmp29 [V31,T26] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V32 tmp30 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V33 tmp31 [V33 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V34 tmp32 [V34 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V35 tmp33 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-; V36 tmp34 [V36,T06] ( 2, 4 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.String>
+; V36 tmp34 [V36,T06] ( 2, 4 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
;* V37 tmp35 [V37 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V38 tmp36 [V38,T05] ( 3, 6 ) int -> x1 "Inlining Arg"
;* V39 tmp37 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V40 tmp38 [V40 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V41 tmp39 [V41 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V42 tmp40 [V42 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V43 tmp41 [V43 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V44 tmp42 [V44 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V45 tmp43 [V45,T17] ( 3, 2.50) ref -> x1 class-hnd single-def "Inline stloc first use temp" <ushort[]>
-; V46 tmp44 [V46,T18] ( 3, 2 ) byref -> x1 "field V07._reference (fldOffset=0x0)" P-INDEP
-; V47 tmp45 [V47,T19] ( 3, 2 ) int -> x0 "field V07._length (fldOffset=0x8)" P-INDEP
+; V46 tmp44 [V46,T19] ( 3, 2 ) byref -> x1 "field V07._reference (fldOffset=0x0)" P-INDEP
+; V47 tmp45 [V47,T20] ( 3, 2 ) int -> x0 "field V07._length (fldOffset=0x8)" P-INDEP
;* V48 tmp46 [V48 ] ( 0, 0 ) byref -> zero-ref "field V08._reference (fldOffset=0x0)" P-INDEP
;* V49 tmp47 [V49 ] ( 0, 0 ) int -> zero-ref "field V08._length (fldOffset=0x8)" P-INDEP
;* V50 tmp48 [V50 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP
;* V51 tmp49 [V51 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP
;* V52 tmp50 [V52 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V53 tmp51 [V53 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V54 tmp52 [V54 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
;* V55 tmp53 [V55 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
;* V56 tmp54 [V56 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp55 [V57 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
;* V58 tmp56 [V58 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP
;* V59 tmp57 [V59 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP
;* V60 tmp58 [V60 ] ( 0, 0 ) byref -> zero-ref "field V26._reference (fldOffset=0x0)" P-INDEP
;* V61 tmp59 [V61 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
;* V62 tmp60 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V28._reference (fldOffset=0x0)" P-INDEP
;* V63 tmp61 [V63 ] ( 0, 0 ) int -> zero-ref "field V28._length (fldOffset=0x8)" P-INDEP
;* V64 tmp62 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp63 [V65 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V66 tmp64 [V66 ] ( 0, 0 ) byref -> zero-ref "field V35._reference (fldOffset=0x0)" P-INDEP
;* V67 tmp65 [V67 ] ( 0, 0 ) int -> zero-ref "field V35._length (fldOffset=0x8)" P-INDEP
;* V68 tmp66 [V68 ] ( 0, 0 ) byref -> zero-ref "field V37._reference (fldOffset=0x0)" P-INDEP
;* V69 tmp67 [V69 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
-; V70 tmp68 [V70,T20] ( 2, 2 ) byref -> x0 single-def "field V39._reference (fldOffset=0x0)" P-INDEP
+; V70 tmp68 [V70,T21] ( 2, 2 ) byref -> x0 single-def "field V39._reference (fldOffset=0x0)" P-INDEP
;* V71 tmp69 [V71 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
;* V72 tmp70 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V41._reference (fldOffset=0x0)" P-INDEP
;* V73 tmp71 [V73 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
-; V74 tmp72 [V74,T21] ( 2, 2 ) byref -> x0 single-def "field V42._reference (fldOffset=0x0)" P-INDEP
-; V75 tmp73 [V75,T22] ( 2, 2 ) int -> x1 "field V42._length (fldOffset=0x8)" P-INDEP
-; V76 cse0 [V76,T11] ( 3, 3 ) int -> x1 "CSE #01: aggressive"
-; V77 cse1 [V77,T12] ( 3, 3 ) int -> x1 "CSE #03: aggressive"
-; V78 cse2 [V78,T10] ( 3, 3 ) ref -> x19 "CSE #05: aggressive"
-; V79 cse3 [V79,T13] ( 3, 3 ) int -> x1 "CSE #06: aggressive"
+; V74 tmp72 [V74,T22] ( 2, 2 ) byref -> x0 single-def "field V42._reference (fldOffset=0x0)" P-INDEP
+; V75 tmp73 [V75,T23] ( 2, 2 ) int -> x1 "field V42._length (fldOffset=0x8)" P-INDEP
+; V76 cse0 [V76,T18] ( 3, 2.50) ref -> x19 "CSE #09: moderate"
+; V77 cse1 [V77,T11] ( 3, 3 ) int -> x1 "CSE #01: aggressive"
+; V78 cse2 [V78,T12] ( 3, 3 ) int -> x1 "CSE #03: aggressive"
+; V79 cse3 [V79,T10] ( 3, 3 ) ref -> x20 "CSE #05: aggressive"
+; V80 cse4 [V80,T13] ( 3, 3 ) int -> x1 "CSE #06: aggressive"
;
-; Lcl frame size = 48
+; Lcl frame size = 56
G_M35051_IG01:
- stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x40]
+ stp fp, lr, [sp, #-0x60]!
+ stp x19, x20, [sp, #0x48]
+ str x21, [sp, #0x58]
mov fp, sp
- add x9, fp, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
str xzr, [x9, #0x20]
- str x0, [fp, #0x38] // [V00 arg0]
- ;; size=32 bbWeight=1 PerfScore 6.50
+ str x0, [fp, #0x40] // [V00 arg0]
+ ;; size=36 bbWeight=1 PerfScore 7.50
G_M35051_IG02:
movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr x0, [x0]
+ ldr x19, [x0]
+ mov x0, x19
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- str x0, [fp, #0x18] // [V01 loc0+0x08]
+ str x0, [fp, #0x20] // [V01 loc0+0x08]
cbz x0, G_M35051_IG04
- ;; size=44 bbWeight=1 PerfScore 12.00
+ ;; size=52 bbWeight=1 PerfScore 13.00
G_M35051_IG03:
add x1, x0, #16
ldr w0, [x0, #0x08]
b G_M35051_IG05
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M35051_IG04:
mov x1, xzr
mov w0, wzr
;; size=8 bbWeight=0.50 PerfScore 0.50
G_M35051_IG05:
- str x1, [fp, #0x28] // [V01 loc0+0x18]
- str w0, [fp, #0x30] // [V01 loc0+0x20]
- str wzr, [fp, #0x20] // [V01 loc0+0x10]
- strb wzr, [fp, #0x24] // [V01 loc0+0x14]
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
- ldr w1, [fp, #0x30] // [V01 loc0+0x20]
+ str x1, [fp, #0x30] // [V01 loc0+0x18]
+ str w0, [fp, #0x38] // [V01 loc0+0x20]
+ str wzr, [fp, #0x28] // [V01 loc0+0x10]
+ strb wzr, [fp, #0x2C] // [V01 loc0+0x14]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x38] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M35051_IG18
- ldr x2, [fp, #0x28] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x30] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
- add x19, x2, x3
+ add x20, x2, x3
sub w0, w1, w0
cmp w0, #10
bhs G_M35051_IG07
;; size=56 bbWeight=1 PerfScore 15.00
G_M35051_IG06:
- add x0, fp, #16 // [V01 loc0]
+ add x0, fp, #24 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M35051_IG08
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M35051_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr q16, [x0]
ldr q17, [x0, #0x04]
- str q16, [x19]
- str q17, [x19, #0x04]
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
+ str q16, [x20]
+ str q17, [x20, #0x04]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
add w0, w0, #10
- str w0, [fp, #0x20] // [V01 loc0+0x10]
+ str w0, [fp, #0x28] // [V01 loc0+0x10]
;; size=40 bbWeight=0.50 PerfScore 6.50
G_M35051_IG08:
- add x0, fp, #16 // [V01 loc0]
- ldrsh w1, [fp, #0x38] // [V00 arg0]
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- mov x2, x19
+ add x0, fp, #24 // [V01 loc0]
+ ldrsh w1, [fp, #0x40] // [V00 arg0]
+ movz x20, #0xD1FFAB1E
+ movk x20, #0xD1FFAB1E LSL #16
+ movk x20, #0xD1FFAB1E LSL #32
+ mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[short](short,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
- ldr w1, [fp, #0x30] // [V01 loc0+0x20]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x38] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M35051_IG18
- ldr x2, [fp, #0x28] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x30] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
- add x20, x2, x3
+ add x21, x2, x3
sub w0, w1, w0
cmp w0, #4
bhs G_M35051_IG10
;; size=84 bbWeight=1 PerfScore 21.00
G_M35051_IG09:
- add x0, fp, #16 // [V01 loc0]
+ add x0, fp, #24 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M35051_IG11
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M35051_IG10:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x1, [x0]
- str x1, [x20]
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
+ str x1, [x21]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
add w0, w0, #4
- str w0, [fp, #0x20] // [V01 loc0+0x10]
+ str w0, [fp, #0x28] // [V01 loc0+0x10]
;; size=32 bbWeight=0.50 PerfScore 4.50
G_M35051_IG11:
- add x0, fp, #16 // [V01 loc0]
- ldrsh w1, [fp, #0x3A] // [V00 arg0+0x02]
- mov x2, x19
+ add x0, fp, #24 // [V01 loc0]
+ ldrsh w1, [fp, #0x42] // [V00 arg0+0x02]
+ mov x2, x20
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[short](short,System.String):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
- ldr w1, [fp, #0x30] // [V01 loc0+0x20]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w1, [fp, #0x38] // [V01 loc0+0x20]
cmp w0, w1
bhi G_M35051_IG18
- ldr x2, [fp, #0x28] // [V01 loc0+0x18]
+ ldr x2, [fp, #0x30] // [V01 loc0+0x18]
ubfiz x3, x0, #1, #32
- add x19, x2, x3
+ add x20, x2, x3
sub w0, w1, w0
cbnz w0, G_M35051_IG13
;; size=68 bbWeight=1 PerfScore 19.00
G_M35051_IG12:
- add x0, fp, #16 // [V01 loc0]
+ add x0, fp, #24 // [V01 loc0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
b G_M35051_IG14
;; size=40 bbWeight=0.50 PerfScore 4.25
G_M35051_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldrh w1, [x0]
- strh w1, [x19]
- ldr w0, [fp, #0x20] // [V01 loc0+0x10]
+ strh w1, [x20]
+ ldr w0, [fp, #0x28] // [V01 loc0+0x10]
add w0, w0, #1
- str w0, [fp, #0x20] // [V01 loc0+0x10]
+ str w0, [fp, #0x28] // [V01 loc0+0x10]
;; size=32 bbWeight=0.50 PerfScore 4.50
G_M35051_IG14:
- ldr w1, [fp, #0x20] // [V01 loc0+0x10]
- ldr w0, [fp, #0x30] // [V01 loc0+0x20]
+ ldr w1, [fp, #0x28] // [V01 loc0+0x10]
+ ldr w0, [fp, #0x38] // [V01 loc0+0x20]
cmp w1, w0
bhi G_M35051_IG18
- ldr x0, [fp, #0x28] // [V01 loc0+0x18]
+ ldr x0, [fp, #0x30] // [V01 loc0+0x18]
bl System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
- mov x19, x0
- ldr x1, [fp, #0x18] // [V01 loc0+0x08]
- stp xzr, xzr, [fp, #0x10]
- stp xzr, xzr, [fp, #0x20]
- str xzr, [fp, #0x30]
+ mov x20, x0
+ ldr x1, [fp, #0x20] // [V01 loc0+0x08]
+ stp xzr, xzr, [fp, #0x18]
+ stp xzr, xzr, [fp, #0x28]
+ str xzr, [fp, #0x38]
cbz x1, G_M35051_IG16
;; size=48 bbWeight=1 PerfScore 15.00
G_M35051_IG15:
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #32
- ldr x0, [x0]
+ mov x0, x19
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ;; size=36 bbWeight=0.50 PerfScore 5.00
+ ;; size=28 bbWeight=0.50 PerfScore 3.25
G_M35051_IG16:
- mov x0, x19
+ mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
G_M35051_IG17:
- ldp x19, x20, [sp, #0x40]
- ldp fp, lr, [sp], #0x50
+ ldr x21, [sp, #0x58]
+ ldp x19, x20, [sp, #0x48]
+ ldp fp, lr, [sp], #0x60
ret lr
- ;; size=12 bbWeight=1 PerfScore 3.00
+ ;; size=16 bbWeight=1 PerfScore 5.00
G_M35051_IG18:
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
-; Total bytes of code 652, prolog size 28, PerfScore 128.00, instruction count 163, allocated bytes for code 652 (MethodHash=29f97714) for method System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String (FullOpts)
+; Total bytes of code 660, prolog size 32, PerfScore 130.25, instruction count 165, allocated bytes for code 660 (MethodHash=29f97714) for method System.Collections.Specialized.BitVector32+Section:ToString(System.Collections.Specialized.BitVector32+Section):System.String (FullOpts)
8 (0.22 % of base) - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int]
; Assembly listing for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],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; 56 single block inlinees; 27 inlinees without PGO data
; Final local variable assignments
;
;* V00 loc0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.TypeInfo>
; V01 loc1 [V01,T47] ( 3, 2.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
-; V02 loc2 [V02,T64] ( 3, 1.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
-; V03 loc3 [V03,T65] ( 3, 1.50) ref -> x19 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
-; V04 loc4 [V04,T30] ( 3, 5 ) ref -> x20 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
-; V05 loc5 [V05,T24] ( 6, 6.50) ref -> x24 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V02 loc2 [V02,T63] ( 3, 1.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
+; V03 loc3 [V03,T64] ( 3, 1.50) ref -> x19 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V04 loc4 [V04,T31] ( 3, 5 ) ref -> x20 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V05 loc5 [V05,T24] ( 6, 6.50) ref -> x23 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
; V06 loc6 [V06,T00] ( 20, 31 ) ref -> x19 class-hnd exact single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
; V07 loc7 [V07,T20] ( 6, 8.50) ref -> [fp+0x20] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.Reflection.PropertyInfo]>
-; V08 loc8 [V08,T02] ( 6, 24 ) ref -> x25 class-hnd <System.Reflection.PropertyInfo>
-; V09 loc9 [V09,T21] ( 2, 8 ) ref -> x26 class-hnd <System.Linq.Expressions.ConstantExpression>
-; V10 loc10 [V10,T22] ( 2, 8 ) ref -> x28 class-hnd <System.Linq.Expressions.ConstantExpression>
-; V11 loc11 [V11,T23] ( 2, 8 ) ref -> x27 class-hnd <System.Reflection.MethodInfo>
+; V08 loc8 [V08,T02] ( 6, 24 ) ref -> x24 class-hnd <System.Reflection.PropertyInfo>
+; V09 loc9 [V09,T21] ( 2, 8 ) ref -> x25 class-hnd <System.Linq.Expressions.ConstantExpression>
+; V10 loc10 [V10,T22] ( 2, 8 ) ref -> x27 class-hnd <System.Linq.Expressions.ConstantExpression>
+; V11 loc11 [V11,T23] ( 2, 8 ) ref -> x26 class-hnd <System.Reflection.MethodInfo>
; V12 loc12 [V12,T12] ( 3, 12 ) ref -> x2 class-hnd <System.Linq.Expressions.BinaryExpression>
;# V13 OutArgs [V13 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V14 tmp1 [V14,T33] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V15 tmp2 [V15,T34] ( 2, 4 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.ConstructorInfo]>
;* V16 tmp3 [V16 ] ( 0, 0 ) ref -> zero-ref single-def
; V17 tmp4 [V17,T35] ( 4, 3.50) ref -> x2
; V18 tmp5 [V18,T55] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V19 tmp6 [V19,T56] ( 2, 2 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.ConstructorInfo]>
;* V20 tmp7 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
; V21 tmp8 [V21,T49] ( 4, 2 ) ref -> x2
-; V22 tmp9 [V22,T86] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-; V23 tmp10 [V23,T81] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
+; V22 tmp9 [V22,T85] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+; V23 tmp10 [V23,T80] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
; V24 tmp11 [V24,T36] ( 3, 3 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
; V25 tmp12 [V25,T57] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
; V26 tmp13 [V26,T58] ( 2, 2 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
;* V27 tmp14 [V27 ] ( 0, 0 ) ref -> zero-ref single-def
; V28 tmp15 [V28,T50] ( 4, 2 ) ref -> x2
; V29 tmp16 [V29,T03] ( 3, 24 ) ref -> [fp+0x18] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V30 tmp17 [V30,T05] ( 2, 16 ) ref -> [fp+0x10] class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.RuntimeMethodInfo>
+; V30 tmp17 [V30,T05] ( 2, 16 ) ref -> x28 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeMethodInfo>
; V31 tmp18 [V31,T06] ( 2, 16 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Type>
;* V32 tmp19 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Linq.Expressions.MemberExpression>
; V33 tmp20 [V33,T37] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
; V34 tmp21 [V34,T38] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
-; V35 tmp22 [V35,T59] ( 2, 2 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
-; V36 tmp23 [V36,T27] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
-; V37 tmp24 [V37,T28] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
+; V35 tmp22 [V35,T59] ( 2, 2 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
+; V36 tmp23 [V36,T28] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
+; V37 tmp24 [V37,T29] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V38 tmp25 [V38,T39] ( 3, 3 ) ref -> x1 class-hnd exact single-def "dup spill" <System.Linq.Expressions.Expression[]>
; V39 tmp26 [V39,T40] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
; V40 tmp27 [V40,T60] ( 2, 2 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.NewExpression>
-; V41 tmp28 [V41,T29] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
-; V42 tmp29 [V42,T87] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-; V43 tmp30 [V43,T82] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
-;* V44 tmp31 [V44,T72] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+; V41 tmp28 [V41,T30] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
+; V42 tmp29 [V42,T86] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+; V43 tmp30 [V43,T81] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
+;* V44 tmp31 [V44,T71] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V45 tmp32 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V46 tmp33 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
-;* V47 tmp34 [V47,T98] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V48 tmp35 [V48,T73] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+;* V47 tmp34 [V47,T97] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V48 tmp35 [V48,T72] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V49 tmp36 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V50 tmp37 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
; V51 tmp38 [V51,T41] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]>
; V52 tmp39 [V52 ] ( 1, 1 ) ubyte -> [fp+0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V53 tmp40 [V53 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V54 tmp41 [V54,T42] ( 3, 3 ) ref -> x20 class-hnd "Inlining Arg" <System.Type>
-; V55 tmp42 [V55,T70] ( 3, 1.50) ubyte -> x19 single-def "Inline stloc first use temp"
-; V56 tmp43 [V56,T66] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int]]>
+; V55 tmp42 [V55,T69] ( 3, 1.50) ubyte -> x19 single-def "Inline stloc first use temp"
+; V56 tmp43 [V56,T65] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int]]>
; V57 tmp44 [V57,T51] ( 4, 2 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]>
; V58 tmp45 [V58 ] ( 4, 4 ) ref -> [fp+0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
; V59 tmp46 [V59,T43] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]>
; V60 tmp47 [V60 ] ( 1, 0.50) ubyte -> [fp+0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V61 tmp48 [V61 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V62 tmp49 [V62,T44] ( 3, 3 ) ref -> x20 class-hnd "Inlining Arg" <System.Type>
-; V63 tmp50 [V63,T71] ( 3, 1.50) ubyte -> x24 single-def "Inline stloc first use temp"
+; V63 tmp50 [V63,T70] ( 3, 1.50) ubyte -> x23 single-def "Inline stloc first use temp"
;* V64 tmp51 [V64 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V65 tmp52 [V65,T83] ( 3, 0 ) ref -> x20
+; V65 tmp52 [V65,T82] ( 3, 0 ) ref -> x21
;* V66 tmp53 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-; V67 tmp54 [V67,T88] ( 2, 0 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.String>
-; V68 tmp55 [V68,T84] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V67 tmp54 [V67,T87] ( 2, 0 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.String>
+; V68 tmp55 [V68,T83] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V69 tmp56 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-; V70 tmp57 [V70,T89] ( 2, 0 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.String>
-; V71 tmp58 [V71,T85] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V72 tmp59 [V72,T67] ( 3, 1.50) ref -> x3 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
+; V70 tmp57 [V70,T88] ( 2, 0 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.String>
+; V71 tmp58 [V71,T84] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V72 tmp59 [V72,T66] ( 3, 1.50) ref -> x3 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
; V73 tmp60 [V73,T53] ( 4, 2 ) int -> x0 single-def "Inline stloc first use temp"
; V74 tmp61 [V74,T45] ( 3, 3 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Linq.Expressions.BinaryExpression>
-;* V75 tmp62 [V75,T80] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+;* V75 tmp62 [V75,T79] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V76 tmp63 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V77 tmp64 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
; V78 tmp65 [V78,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]>
; V79 tmp66 [V79,T19] ( 4, 9 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Attribute>
; V80 tmp67 [V80,T11] ( 4, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Attribute[]>
; V81 tmp68 [V81,T32] ( 3, 4 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Attribute>
; V82 tmp69 [V82,T13] ( 3, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
-; V83 tmp70 [V83,T04] ( 4, 16 ) int -> x25 "Inline stloc first use temp"
-; V84 tmp71 [V84,T68] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
-; V85 tmp72 [V85,T54] ( 4, 2 ) int -> x23 single-def "Inline stloc first use temp"
-; V86 tmp73 [V86,T69] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int]]>
+; V83 tmp70 [V83,T04] ( 4, 16 ) int -> x24 "Inline stloc first use temp"
+; V84 tmp71 [V84,T67] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
+; V85 tmp72 [V85,T54] ( 4, 2 ) int -> x22 single-def "Inline stloc first use temp"
+; V86 tmp73 [V86,T68] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int]]>
; V87 tmp74 [V87,T52] ( 4, 2 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]>
; V88 tmp75 [V88 ] ( 4, 4 ) ref -> [fp+0x28] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
-; V89 tmp76 [V89,T90] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V90 tmp77 [V90,T91] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V91 tmp78 [V91,T74] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-;* V92 tmp79 [V92,T75] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+; V89 tmp76 [V89,T89] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V90 tmp77 [V90,T90] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V91 tmp78 [V91,T73] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+;* V92 tmp79 [V92,T74] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V93 tmp80 [V93,T61] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V94 tmp81 [V94,T92] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
-; V95 tmp82 [V95,T93] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V96 tmp83 [V96,T94] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
-; V97 tmp84 [V97,T95] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V98 tmp85 [V98,T76] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-;* V99 tmp86 [V99,T77] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-; V100 tmp87 [V100,T96] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V101 tmp88 [V101,T97] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V94 tmp81 [V94,T91] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
+; V95 tmp82 [V95,T92] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V96 tmp83 [V96,T93] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
+; V97 tmp84 [V97,T94] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V98 tmp85 [V98,T75] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+;* V99 tmp86 [V99,T76] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+; V100 tmp87 [V100,T95] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V101 tmp88 [V101,T96] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V102 tmp89 [V102,T62] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V103 tmp90 [V103,T07] ( 2, 16 ) ref -> x0 "argument with side effect"
; V104 tmp91 [V104,T08] ( 2, 16 ) ref -> x0 "argument with side effect"
-; V105 tmp92 [V105,T09] ( 2, 16 ) ref -> x25 "argument with side effect"
+; V105 tmp92 [V105,T09] ( 2, 16 ) ref -> x24 "argument with side effect"
; V106 tmp93 [V106,T10] ( 2, 16 ) ref -> x1 "argument with side effect"
-; V107 PSPSym [V107,T79] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
-;* V108 cse0 [V108,T78] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
-; V109 cse1 [V109,T48] ( 3, 2.50) long -> x20 "CSE #08: moderate"
+; V107 PSPSym [V107,T78] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
+;* V108 cse0 [V108,T77] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
+; V109 cse1 [V109,T48] ( 3, 2.50) long -> x20 "CSE #09: moderate"
; V110 cse2 [V110,T18] ( 7, 9.50) long -> x21 multi-def "CSE #18: aggressive"
-; V111 cse3 [V111,T16] ( 12, 10.50) long -> x23 "CSE #05: aggressive"
-; V112 cse4 [V112,T31] ( 6, 4 ) long -> x22 "CSE #03: moderate"
-; V113 cse5 [V113,T25] ( 3, 6 ) int -> x1 "CSE #19: moderate"
-; V114 cse6 [V114,T14] ( 3, 12 ) ref -> x26 "CSE #20: aggressive"
-; V115 cse7 [V115,T15] ( 3, 12 ) long -> x27 "CSE #21: aggressive"
-; V116 cse8 [V116,T26] ( 10, 3 ) ref -> x19 "CSE #01: moderate"
+; V111 cse3 [V111,T16] ( 12, 10.50) long -> x22 "CSE #05: aggressive"
+; V112 cse4 [V112,T25] ( 3, 6 ) int -> x1 "CSE #19: moderate"
+; V113 cse5 [V113,T14] ( 3, 12 ) ref -> x25 "CSE #20: aggressive"
+; V114 cse6 [V114,T15] ( 3, 12 ) long -> x26 "CSE #21: aggressive"
+; V115 cse7 [V115,T26] ( 10, 3 ) ref -> x19 "CSE #01: moderate"
+; V116 cse8 [V116,T27] ( 6, 3 ) ref -> x0 multi-def "CSE #06: moderate"
; V117 rat0 [V117,T01] ( 5, 30 ) ref -> registers "replacement local"
; V118 rat1 [V118,T17] ( 3, 10 ) long -> x3 "CSE for expectedClsNode"
-; V119 rat2 [V119,T63] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 64
G_M7100_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
stp xzr, xzr, [fp, #0x38] // [V58 tmp45], [V52 tmp39]
stp xzr, xzr, [fp, #0x28] // [V88 tmp75], [V60 tmp47]
add x0, sp, #160
str x0, [fp, #0x48] // [V107 PSPSym]
;; size=44 bbWeight=1 PerfScore 10.00
G_M7100_IG02:
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
tbnz w0, #5, G_M7100_IG48
;; size=52 bbWeight=1 PerfScore 12.50
G_M7100_IG03:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
cbnz w0, G_M7100_IG48
;; size=40 bbWeight=0.50 PerfScore 5.50
G_M7100_IG04:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x20, [x1]
ldr x1, [x20, #0x30]
blr x1
mov x21, x0
- movz x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr w0, [x0]
+ tbz w0, #0, G_M7100_IG37
+ ;; size=60 bbWeight=1 PerfScore 16.00
+G_M7100_IG05:
+ movz x22, #0xD1FFAB1E // data for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:<>9__1_1
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- mov x0, x22
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr w1, [x1]
- tbz w1, #0, G_M7100_IG37
- ;; size=76 bbWeight=1 PerfScore 18.00
-G_M7100_IG05:
- movz x23, #0xD1FFAB1E // data for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:<>9__1_1
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- ldr x2, [x23]
+ ldr x2, [x22]
cbnz x2, G_M7100_IG07
;; size=20 bbWeight=1 PerfScore 5.50
G_M7100_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #-0x10]
+ ldr x15, [x22, #-0x10]
cbz x15, G_M7100_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:<GetMetadataViewProvider>b__1_1(System.Reflection.ConstructorInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- mov x14, x23
+ mov x14, x22
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M7100_IG07:
add x3, fp, #64 // [V52 tmp39]
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x0
cbnz x21, G_M7100_IG31
;; size=48 bbWeight=1 PerfScore 9.50
G_M7100_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x1, [x20, #0x30]
blr x1
mov x21, x0
- ldr x2, [x23, #0x08]
+ ldr x2, [x22, #0x08]
cbnz x2, G_M7100_IG09
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #-0x10]
+ ldr x15, [x22, #-0x10]
cbz x15, G_M7100_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:<GetMetadataViewProvider>b__1_2(System.Reflection.ConstructorInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x23, #8
+ add x14, x22, #8
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=0.50 PerfScore 11.50
G_M7100_IG09:
add x3, fp, #48 // [V60 tmp47]
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x0
cbz x21, G_M7100_IG45
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
+ mov x20, x0
mov w1, #1
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Validate(System.Type,ubyte)
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
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
- sxtw w24, w0
- cbz w24, G_M7100_IG10
+ sxtw w23, w0
+ cbz w23, G_M7100_IG10
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
mov x20, x0
- ;; size=180 bbWeight=0.50 PerfScore 20.25
+ ;; size=172 bbWeight=0.50 PerfScore 19.75
G_M7100_IG10:
mov x0, x20
- mov w2, w24
+ mov w2, w23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x20, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.RuntimeType:get_ContainsGenericParameters():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz w0, G_M7100_IG42
mov x0, x19
bl System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte
cmp w0, #16
beq G_M7100_IG41
mov x0, x19
bl System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte
cmp w0, #15
beq G_M7100_IG40
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x24, x0
+ mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M7100_IG38
;; size=188 bbWeight=0.50 PerfScore 19.25
G_M7100_IG11:
- ldr x15, [x23, #-0x88]
+ ldr x15, [x22, #-0x88]
add x14, x19, #8
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:New(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Assign(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BinaryExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
ldp w0, w1, [x19, #0x10]
add w1, w1, #1
str w1, [x19, #0x14]
ldr x3, [x19, #0x08]
ldr w1, [x3, #0x08]
cmp w1, w0
bls G_M7100_IG12
add w1, w0, #1
str w1, [x19, #0x10]
sxtw x1, w0
mov x0, x3
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M7100_IG13
;; size=140 bbWeight=0.50 PerfScore 19.50
G_M7100_IG12:
mov x0, x19
mov x1, x2
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
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M7100_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x20]
blr x1
mov x21, x0
- ldr x2, [x23, #0x10]
+ ldr x2, [x22, #0x10]
cbnz x2, G_M7100_IG14
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #-0x10]
+ ldr x15, [x22, #-0x10]
cbz x15, G_M7100_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[int]:<GetMetadataViewProvider>b__1_3(System.Reflection.PropertyInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x23, #16
+ add x14, x22, #16
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=112 bbWeight=0.50 PerfScore 13.75
G_M7100_IG14:
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x21, #0xD1FFAB1E // code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x11, x21
ldr xip0, [x11]
blr xip0
str x0, [fp, #0x20] // [V07 loc7]
;; size=64 bbWeight=0.50 PerfScore 7.25
G_M7100_IG15:
add x11, x21, #8
ldr xip0, [x11]
blr xip0
cbz w0, G_M7100_IG24
ldr x0, [fp, #0x20] // [V07 loc7]
add x11, x21, #16
ldr xip0, [x11]
blr xip0
- mov x25, x0
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- mov x1, x26
+ mov x24, x0
+ movz x25, #0xD1FFAB1E
+ movk x25, #0xD1FFAB1E LSL #16
+ movk x25, #0xD1FFAB1E LSL #32
+ mov x1, x25
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,System.Type,ubyte):System.Attribute[]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz x0, G_M7100_IG17
;; size=80 bbWeight=4 PerfScore 86.00
G_M7100_IG16:
ldr w1, [x0, #0x08]
cbz w1, G_M7100_IG17
ldr x0, [x0, #0x10]
cmp w1, #1
bne G_M7100_IG23
b G_M7100_IG18
;; size=24 bbWeight=2 PerfScore 19.00
G_M7100_IG17:
mov x0, xzr
;; size=4 bbWeight=2 PerfScore 1.00
G_M7100_IG18:
mov x2, x0
cbz x2, G_M7100_IG21
;; size=8 bbWeight=4 PerfScore 6.00
G_M7100_IG19:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M7100_IG21
;; size=24 bbWeight=2 PerfScore 12.00
G_M7100_IG20:
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=1 PerfScore 7.00
G_M7100_IG21:
mov x0, x2
- mov x1, x26
+ mov x1, x25
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Constant(System.Object,System.Type):System.Linq.Expressions.ConstantExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x26, x0
- mov x0, x25
- ldr x27, [x25]
- ldr x1, [x27, #0x40]
+ mov x25, x0
+ mov x0, x24
+ ldr x26, [x24]
+ ldr x1, [x26, #0x40]
ldr x1, [x1, #0x30]
blr x1
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Constant(System.Object,System.Type):System.Linq.Expressions.ConstantExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x28, x0
- ldr x2, [x23, #-0xB0]
- str x2, [fp, #0x10] // [V30 tmp17]
+ mov x27, x0
+ ldr x28, [x22, #-0xB0]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
str x0, [fp, #0x18] // [V29 tmp16]
- mov x0, x25
- ldr x2, [x27, #0x50]
+ mov x0, x24
+ ldr x2, [x26, #0x50]
ldr x2, [x2, #0x10]
blr x2
mov x15, x0
- ldr x27, [fp, #0x18] // [V29 tmp16]
- add x14, x27, #16
+ ldr x26, [fp, #0x18] // [V29 tmp16]
+ add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [fp, #0x10] // [V30 tmp17]
- mov x1, x27
+ mov x0, x28
+ mov x1, x26
movz x2, #0xD1FFAB1E // code for System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x27, x0
- mov x0, x24
- mov x1, x25
+ mov x26, x0
+ mov x0, x23
+ mov x1, x24
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Property(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo):System.Linq.Expressions.MemberExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x25, x0
- mov x4, x26
- mov x1, x27
+ mov x24, x0
+ mov x4, x25
+ mov x1, x26
mov x2, x20
- mov x3, x28
+ mov x3, x27
mov x0, xzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Call(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.MethodCallExpression
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x1, x0
- mov x0, x25
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Assign(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BinaryExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
- ldp w25, w0, [x19, #0x10]
+ ldp w24, w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x14]
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x08]
- cmp w1, w25
+ cmp w1, w24
bhi G_M7100_IG22
mov x0, x19
mov x1, x2
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
ldr x0, [fp, #0x20] // [V07 loc7]
b G_M7100_IG15
- ;; size=352 bbWeight=4 PerfScore 386.00
+ ;; size=348 bbWeight=4 PerfScore 376.00
G_M7100_IG22:
- add w1, w25, #1
+ add w1, w24, #1
str w1, [x19, #0x10]
- sxtw x1, w25
+ sxtw x1, w24
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [fp, #0x20] // [V07 loc7]
b G_M7100_IG15
;; size=40 bbWeight=4 PerfScore 42.00
G_M7100_IG23:
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:GetAmbiguousMatchException(System.Attribute):System.Reflection.AmbiguousMatchException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M7100_IG24:
ldr x0, [fp, #0x20] // [V07 loc7]
add x11, x21, #24
ldr xip0, [x11]
blr xip0
- ldp w23, w0, [x19, #0x10]
+ ldp w22, w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x14]
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x08]
- cmp w1, w23
+ cmp w1, w22
bhi G_M7100_IG25
mov x0, x19
- mov x1, x24
+ mov x1, x23
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_M7100_IG26
;; size=76 bbWeight=0.50 PerfScore 13.00
G_M7100_IG25:
- add w1, w23, #1
+ add w1, w22, #1
str w1, [x19, #0x10]
- sxtw x1, w23
- mov x2, x24
+ sxtw x1, w22
+ mov x2, x23
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=36 bbWeight=0.50 PerfScore 4.00
G_M7100_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
add x14, x0, #16
- mov x15, x24
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Block(System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.ParameterExpression],System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.BlockExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x24, x0
+ mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
add x14, x0, #16
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- str x24, [fp, #0x28] // [V88 tmp75]
+ str x23, [fp, #0x28] // [V88 tmp75]
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Dynamic.Utils.CollectionExtensions:ToReadOnly[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
add x1, fp, #40 // [V88 tmp75]
mov x2, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:ValidateLambdaArgs(System.Type,byref,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression],System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr w4, [x4]
tbz w4, #0, G_M7100_IG39
;; size=208 bbWeight=0.50 PerfScore 20.25
G_M7100_IG27:
movz x4, #0xD1FFAB1E // data for System.Runtime.CompilerServices.RuntimeFeature:<IsDynamicCodeSupported>k__BackingField
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4]
cbz w4, G_M7100_IG28
mov x4, x21
ldr x1, [fp, #0x28] // [V88 tmp75]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Create(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.Generic.IReadOnlyList`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M7100_IG29
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M7100_IG28:
mov x4, x21
ldr x1, [fp, #0x28] // [V88 tmp75]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.ExpressionCreator`1[System.__Canon]:CreateExpressionFunc(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=40 bbWeight=0.50 PerfScore 4.75
+ ;; size=48 bbWeight=0.50 PerfScore 5.25
G_M7100_IG29:
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Compile():System.__Canon:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M7100_IG30:
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=0.50 PerfScore 3.50
G_M7100_IG31:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
+ mov x20, x0
mov w1, #1
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Validate(System.Type,ubyte)
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
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
sxtw w19, w0
cbz w19, G_M7100_IG32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
mov x20, x0
- ;; size=132 bbWeight=0.50 PerfScore 15.50
+ ;; size=124 bbWeight=0.50 PerfScore 15.00
G_M7100_IG32:
mov x0, x20
mov w2, w19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x19, x0
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
add x14, x1, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:New(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
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
add x14, x0, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
str x20, [fp, #0x38] // [V58 tmp45]
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Dynamic.Utils.CollectionExtensions:ToReadOnly[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
add x1, fp, #56 // [V58 tmp45]
mov x2, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:ValidateLambdaArgs(System.Type,byref,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression],System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr w4, [x4]
tbz w4, #0, G_M7100_IG46
;; size=256 bbWeight=0.50 PerfScore 24.75
G_M7100_IG33:
movz x4, #0xD1FFAB1E // data for System.Runtime.CompilerServices.RuntimeFeature:<IsDynamicCodeSupported>k__BackingField
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4]
cbz w4, G_M7100_IG34
mov x4, x19
ldr x1, [fp, #0x38] // [V58 tmp45]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Create(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.Generic.IReadOnlyList`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M7100_IG35
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M7100_IG34:
mov x4, x19
ldr x1, [fp, #0x38] // [V58 tmp45]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.ExpressionCreator`1[System.__Canon]:CreateExpressionFunc(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=40 bbWeight=0.50 PerfScore 4.75
+ ;; size=48 bbWeight=0.50 PerfScore 5.25
G_M7100_IG35:
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Compile():System.__Canon:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M7100_IG36:
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=0.50 PerfScore 3.50
G_M7100_IG37:
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M7100_IG05
- ;; size=8 bbWeight=0 PerfScore 0.00
+ ;; size=20 bbWeight=0 PerfScore 0.00
G_M7100_IG38:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M7100_IG11
;; size=20 bbWeight=0 PerfScore 0.00
G_M7100_IG39:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M7100_IG27
;; size=20 bbWeight=0 PerfScore 0.00
G_M7100_IG40:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Error:TypeMustNotBePointer(System.String):System.ArgumentException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M7100_IG41:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Error:TypeMustNotBeByRef(System.String):System.ArgumentException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M7100_IG42:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.RuntimeType:get_IsGenericTypeDefinition():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M7100_IG43
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movn w1, #0
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Error:GetParamName(System.String,int):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x22, x0
+ mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, 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 x1, x19
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
- mov x2, x22
+ mov x0, x21
+ mov x2, x20
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
b G_M7100_IG44
;; size=180 bbWeight=0 PerfScore 0.00
G_M7100_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movn w1, #0
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Error:GetParamName(System.String,int):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x20, x0
+ mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x20, 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 x1, x19
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, x21
- mov x2, x20
+ mov x0, x20
+ mov x2, x21
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 x20, x21
+ mov x21, x20
;; size=152 bbWeight=0 PerfScore 0.00
G_M7100_IG44:
- mov x0, x20
+ mov x0, x21
bl CORINFO_HELP_THROW
brk_unix #0
;; size=12 bbWeight=0 PerfScore 0.00
G_M7100_IG45:
movz x0, #0xD1FFAB1E // code for System.SR:get_MetadataViewProvider_InvalidViewImplementation():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x20
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, x21
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.CompositionFailedException:.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=140 bbWeight=0 PerfScore 0.00
G_M7100_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M7100_IG33
;; size=20 bbWeight=0 PerfScore 0.00
G_M7100_IG47:
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_M7100_IG48:
movz x0, #0xD1FFAB1E // code for System.SR:get_MetadataViewProvider_InvalidViewImplementation():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x20
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, x21
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.CompositionFailedException:.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=140 bbWeight=0 PerfScore 0.00
G_M7100_IG49:
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_M7100_IG50:
ldr x0, [fp, #0x20] // [V07 loc7]
cbz x0, G_M7100_IG51
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
add x11, x21, #24
ldr xip0, [x11]
blr xip0
;; size=32 bbWeight=0 PerfScore 0.00
G_M7100_IG51:
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 3668, prolog size 44, PerfScore 839.75, instruction count 917, allocated bytes for code 3668 (MethodHash=2bdae443) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int] (FullOpts)
+; Total bytes of code 3676, prolog size 44, PerfScore 828.75, instruction count 919, allocated bytes for code 3676 (MethodHash=2bdae443) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int] (FullOpts)
8 (0.22 % of base) - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.Numerics.Vector`1[float]]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]]
; Assembly listing for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.Numerics.Vector`1[float]]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]] (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; 56 single block inlinees; 27 inlinees without PGO data
; Final local variable assignments
;
;* V00 loc0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.TypeInfo>
; V01 loc1 [V01,T47] ( 3, 2.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
-; V02 loc2 [V02,T64] ( 3, 1.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
-; V03 loc3 [V03,T65] ( 3, 1.50) ref -> x19 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
-; V04 loc4 [V04,T30] ( 3, 5 ) ref -> x20 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
-; V05 loc5 [V05,T24] ( 6, 6.50) ref -> x24 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V02 loc2 [V02,T63] ( 3, 1.50) ref -> x21 class-hnd single-def <System.Reflection.ConstructorInfo>
+; V03 loc3 [V03,T64] ( 3, 1.50) ref -> x19 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V04 loc4 [V04,T31] ( 3, 5 ) ref -> x20 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
+; V05 loc5 [V05,T24] ( 6, 6.50) ref -> x23 class-hnd single-def <System.Linq.Expressions.ParameterExpression>
; V06 loc6 [V06,T00] ( 20, 31 ) ref -> x19 class-hnd exact single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
; V07 loc7 [V07,T20] ( 6, 8.50) ref -> [fp+0x20] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[System.Reflection.PropertyInfo]>
-; V08 loc8 [V08,T02] ( 6, 24 ) ref -> x25 class-hnd <System.Reflection.PropertyInfo>
-; V09 loc9 [V09,T21] ( 2, 8 ) ref -> x26 class-hnd <System.Linq.Expressions.ConstantExpression>
-; V10 loc10 [V10,T22] ( 2, 8 ) ref -> x28 class-hnd <System.Linq.Expressions.ConstantExpression>
-; V11 loc11 [V11,T23] ( 2, 8 ) ref -> x27 class-hnd <System.Reflection.MethodInfo>
+; V08 loc8 [V08,T02] ( 6, 24 ) ref -> x24 class-hnd <System.Reflection.PropertyInfo>
+; V09 loc9 [V09,T21] ( 2, 8 ) ref -> x25 class-hnd <System.Linq.Expressions.ConstantExpression>
+; V10 loc10 [V10,T22] ( 2, 8 ) ref -> x27 class-hnd <System.Linq.Expressions.ConstantExpression>
+; V11 loc11 [V11,T23] ( 2, 8 ) ref -> x26 class-hnd <System.Reflection.MethodInfo>
; V12 loc12 [V12,T12] ( 3, 12 ) ref -> x2 class-hnd <System.Linq.Expressions.BinaryExpression>
;# V13 OutArgs [V13 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V14 tmp1 [V14,T33] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V15 tmp2 [V15,T34] ( 2, 4 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.ConstructorInfo]>
;* V16 tmp3 [V16 ] ( 0, 0 ) ref -> zero-ref single-def
; V17 tmp4 [V17,T35] ( 4, 3.50) ref -> x2
; V18 tmp5 [V18,T55] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V19 tmp6 [V19,T56] ( 2, 2 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.ConstructorInfo]>
;* V20 tmp7 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
; V21 tmp8 [V21,T49] ( 4, 2 ) ref -> x2
-; V22 tmp9 [V22,T86] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-; V23 tmp10 [V23,T81] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
+; V22 tmp9 [V22,T85] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+; V23 tmp10 [V23,T80] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
; V24 tmp11 [V24,T36] ( 3, 3 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
; V25 tmp12 [V25,T57] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
; V26 tmp13 [V26,T58] ( 2, 2 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Collections.Generic.IEnumerable`1[System.Reflection.PropertyInfo]>
;* V27 tmp14 [V27 ] ( 0, 0 ) ref -> zero-ref single-def
; V28 tmp15 [V28,T50] ( 4, 2 ) ref -> x2
; V29 tmp16 [V29,T03] ( 3, 24 ) ref -> [fp+0x18] class-hnd exact spill-single-def "dup spill" <System.Type[]>
-; V30 tmp17 [V30,T05] ( 2, 16 ) ref -> [fp+0x10] class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.RuntimeMethodInfo>
+; V30 tmp17 [V30,T05] ( 2, 16 ) ref -> x28 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeMethodInfo>
; V31 tmp18 [V31,T06] ( 2, 16 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Type>
;* V32 tmp19 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "non-inline candidate call" <System.Linq.Expressions.MemberExpression>
; V33 tmp20 [V33,T37] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
; V34 tmp21 [V34,T38] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
-; V35 tmp22 [V35,T59] ( 2, 2 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
-; V36 tmp23 [V36,T27] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
-; V37 tmp24 [V37,T28] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
+; V35 tmp22 [V35,T59] ( 2, 2 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
+; V36 tmp23 [V36,T28] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.PropertyInfo,ubyte]>
+; V37 tmp24 [V37,T29] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
; V38 tmp25 [V38,T39] ( 3, 3 ) ref -> x1 class-hnd exact single-def "dup spill" <System.Linq.Expressions.Expression[]>
; V39 tmp26 [V39,T40] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Linq.Expressions.ParameterExpression[]>
; V40 tmp27 [V40,T60] ( 2, 2 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.Linq.Expressions.NewExpression>
-; V41 tmp28 [V41,T29] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
-; V42 tmp29 [V42,T87] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-; V43 tmp30 [V43,T82] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
-;* V44 tmp31 [V44,T72] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+; V41 tmp28 [V41,T30] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Reflection.ConstructorInfo,ubyte]>
+; V42 tmp29 [V42,T86] ( 2, 0 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+; V43 tmp30 [V43,T81] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Composition.Hosting.CompositionFailedException>
+;* V44 tmp31 [V44,T71] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V45 tmp32 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V46 tmp33 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
-;* V47 tmp34 [V47,T98] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V48 tmp35 [V48,T73] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+;* V47 tmp34 [V47,T97] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V48 tmp35 [V48,T72] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V49 tmp36 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V50 tmp37 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
; V51 tmp38 [V51,T41] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]>
; V52 tmp39 [V52 ] ( 1, 1 ) ubyte -> [fp+0x40] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V53 tmp40 [V53 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V54 tmp41 [V54,T42] ( 3, 3 ) ref -> x20 class-hnd "Inlining Arg" <System.Type>
-; V55 tmp42 [V55,T70] ( 3, 1.50) ubyte -> x19 single-def "Inline stloc first use temp"
-; V56 tmp43 [V56,T66] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]]]>
+; V55 tmp42 [V55,T69] ( 3, 1.50) ubyte -> x19 single-def "Inline stloc first use temp"
+; V56 tmp43 [V56,T65] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]]]>
; V57 tmp44 [V57,T51] ( 4, 2 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]>
; V58 tmp45 [V58 ] ( 4, 4 ) ref -> [fp+0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
; V59 tmp46 [V59,T43] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]>
; V60 tmp47 [V60 ] ( 1, 0.50) ubyte -> [fp+0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V61 tmp48 [V61 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V62 tmp49 [V62,T44] ( 3, 3 ) ref -> x20 class-hnd "Inlining Arg" <System.Type>
-; V63 tmp50 [V63,T71] ( 3, 1.50) ubyte -> x24 single-def "Inline stloc first use temp"
+; V63 tmp50 [V63,T70] ( 3, 1.50) ubyte -> x23 single-def "Inline stloc first use temp"
;* V64 tmp51 [V64 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V65 tmp52 [V65,T83] ( 3, 0 ) ref -> x20
+; V65 tmp52 [V65,T82] ( 3, 0 ) ref -> x21
;* V66 tmp53 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-; V67 tmp54 [V67,T88] ( 2, 0 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.String>
-; V68 tmp55 [V68,T84] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V67 tmp54 [V67,T87] ( 2, 0 ) ref -> x21 class-hnd exact single-def "Inlining Arg" <System.String>
+; V68 tmp55 [V68,T83] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V69 tmp56 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "impAppendStmt" <System.RuntimeType>
-; V70 tmp57 [V70,T89] ( 2, 0 ) ref -> x22 class-hnd exact single-def "Inlining Arg" <System.String>
-; V71 tmp58 [V71,T85] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V72 tmp59 [V72,T67] ( 3, 1.50) ref -> x3 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
+; V70 tmp57 [V70,T88] ( 2, 0 ) ref -> x20 class-hnd exact single-def "Inlining Arg" <System.String>
+; V71 tmp58 [V71,T84] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V72 tmp59 [V72,T66] ( 3, 1.50) ref -> x3 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
; V73 tmp60 [V73,T53] ( 4, 2 ) int -> x0 single-def "Inline stloc first use temp"
; V74 tmp61 [V74,T45] ( 3, 3 ) ref -> x2 class-hnd single-def "Inlining Arg" <System.Linq.Expressions.BinaryExpression>
-;* V75 tmp62 [V75,T80] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
+;* V75 tmp62 [V75,T79] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline return value spill temp" <System.Reflection.TypeInfo>
;* V76 tmp63 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
;* V77 tmp64 [V77 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Reflection.TypeDelegator>
; V78 tmp65 [V78,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]>
; V79 tmp66 [V79,T19] ( 4, 9 ) ref -> x0 class-hnd "Inline return value spill temp" <System.Attribute>
; V80 tmp67 [V80,T11] ( 4, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Attribute[]>
; V81 tmp68 [V81,T32] ( 3, 4 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Attribute>
; V82 tmp69 [V82,T13] ( 3, 12 ) ref -> x0 class-hnd "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
-; V83 tmp70 [V83,T04] ( 4, 16 ) int -> x25 "Inline stloc first use temp"
-; V84 tmp71 [V84,T68] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
-; V85 tmp72 [V85,T54] ( 4, 2 ) int -> x23 single-def "Inline stloc first use temp"
-; V86 tmp73 [V86,T69] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]]]>
+; V83 tmp70 [V83,T04] ( 4, 16 ) int -> x24 "Inline stloc first use temp"
+; V84 tmp71 [V84,T67] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
+; V85 tmp72 [V85,T54] ( 4, 2 ) int -> x22 single-def "Inline stloc first use temp"
+; V86 tmp73 [V86,T68] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression`1[System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]]]>
; V87 tmp74 [V87,T52] ( 4, 2 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]>
; V88 tmp75 [V88 ] ( 4, 4 ) ref -> [fp+0x28] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
-; V89 tmp76 [V89,T90] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V90 tmp77 [V90,T91] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V91 tmp78 [V91,T74] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-;* V92 tmp79 [V92,T75] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+; V89 tmp76 [V89,T89] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V90 tmp77 [V90,T90] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V91 tmp78 [V91,T73] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+;* V92 tmp79 [V92,T74] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
; V93 tmp80 [V93,T61] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-; V94 tmp81 [V94,T92] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
-; V95 tmp82 [V95,T93] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V96 tmp83 [V96,T94] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
-; V97 tmp84 [V97,T95] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V98 tmp85 [V98,T76] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-;* V99 tmp86 [V99,T77] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
-; V100 tmp87 [V100,T96] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V101 tmp88 [V101,T97] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V94 tmp81 [V94,T91] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
+; V95 tmp82 [V95,T92] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V96 tmp83 [V96,T93] ( 2, 0 ) ref -> x0 single-def "argument with side effect"
+; V97 tmp84 [V97,T94] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V98 tmp85 [V98,T75] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+;* V99 tmp86 [V99,T76] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
+; V100 tmp87 [V100,T95] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V101 tmp88 [V101,T96] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V102 tmp89 [V102,T62] ( 2, 2 ) ref -> x0 single-def "argument with side effect"
; V103 tmp90 [V103,T07] ( 2, 16 ) ref -> x0 "argument with side effect"
; V104 tmp91 [V104,T08] ( 2, 16 ) ref -> x0 "argument with side effect"
-; V105 tmp92 [V105,T09] ( 2, 16 ) ref -> x25 "argument with side effect"
+; V105 tmp92 [V105,T09] ( 2, 16 ) ref -> x24 "argument with side effect"
; V106 tmp93 [V106,T10] ( 2, 16 ) ref -> x1 "argument with side effect"
-; V107 PSPSym [V107,T79] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
-;* V108 cse0 [V108,T78] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
-; V109 cse1 [V109,T48] ( 3, 2.50) long -> x20 "CSE #08: moderate"
+; V107 PSPSym [V107,T78] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[V] "PSPSym"
+;* V108 cse0 [V108,T77] ( 0, 0 ) byref -> zero-ref "CSE #04: moderate"
+; V109 cse1 [V109,T48] ( 3, 2.50) long -> x20 "CSE #09: moderate"
; V110 cse2 [V110,T18] ( 7, 9.50) long -> x21 multi-def "CSE #18: aggressive"
-; V111 cse3 [V111,T16] ( 12, 10.50) long -> x23 "CSE #05: aggressive"
-; V112 cse4 [V112,T31] ( 6, 4 ) long -> x22 "CSE #03: moderate"
-; V113 cse5 [V113,T25] ( 3, 6 ) int -> x1 "CSE #19: moderate"
-; V114 cse6 [V114,T14] ( 3, 12 ) ref -> x26 "CSE #20: aggressive"
-; V115 cse7 [V115,T15] ( 3, 12 ) long -> x27 "CSE #21: aggressive"
-; V116 cse8 [V116,T26] ( 10, 3 ) ref -> x19 "CSE #01: moderate"
+; V111 cse3 [V111,T16] ( 12, 10.50) long -> x22 "CSE #05: aggressive"
+; V112 cse4 [V112,T25] ( 3, 6 ) int -> x1 "CSE #19: moderate"
+; V113 cse5 [V113,T14] ( 3, 12 ) ref -> x25 "CSE #20: aggressive"
+; V114 cse6 [V114,T15] ( 3, 12 ) long -> x26 "CSE #21: aggressive"
+; V115 cse7 [V115,T26] ( 10, 3 ) ref -> x19 "CSE #01: moderate"
+; V116 cse8 [V116,T27] ( 6, 3 ) ref -> x0 multi-def "CSE #06: moderate"
; V117 rat0 [V117,T01] ( 5, 30 ) ref -> registers "replacement local"
; V118 rat1 [V118,T17] ( 3, 10 ) long -> x3 "CSE for expectedClsNode"
-; V119 rat2 [V119,T63] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 64
G_M49980_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
stp xzr, xzr, [fp, #0x38] // [V58 tmp45], [V52 tmp39]
stp xzr, xzr, [fp, #0x28] // [V88 tmp75], [V60 tmp47]
add x0, sp, #160
str x0, [fp, #0x48] // [V107 PSPSym]
;; size=44 bbWeight=1 PerfScore 10.00
G_M49980_IG02:
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
tbnz w0, #5, G_M49980_IG48
;; size=52 bbWeight=1 PerfScore 12.50
G_M49980_IG03:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
cbnz w0, G_M49980_IG48
;; size=40 bbWeight=0.50 PerfScore 5.50
G_M49980_IG04:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x20, [x1]
ldr x1, [x20, #0x30]
blr x1
mov x21, x0
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
+ ldr w0, [x0]
+ tbz w0, #0, G_M49980_IG37
+ ;; size=60 bbWeight=1 PerfScore 16.00
+G_M49980_IG05:
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- mov x0, x22
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr w1, [x1]
- tbz w1, #0, G_M49980_IG37
- ;; size=76 bbWeight=1 PerfScore 18.00
-G_M49980_IG05:
- movz x23, #0xD1FFAB1E
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- ldr x2, [x23, #0xD1FFAB1E]
+ ldr x2, [x22, #0xD1FFAB1E]
cbnz x2, G_M49980_IG07
;; size=20 bbWeight=1 PerfScore 5.50
G_M49980_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #0xF0]
+ ldr x15, [x22, #0xF0]
cbz x15, G_M49980_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]:<GetMetadataViewProvider>b__1_1(System.Reflection.ConstructorInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x23, #0xD1FFAB1E
+ add x14, x22, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M49980_IG07:
add x3, fp, #64 // [V52 tmp39]
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x0
cbnz x21, G_M49980_IG31
;; size=48 bbWeight=1 PerfScore 9.50
G_M49980_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x1, [x20, #0x30]
blr x1
mov x21, x0
- ldr x2, [x23, #0xD1FFAB1E]
+ ldr x2, [x22, #0xD1FFAB1E]
cbnz x2, G_M49980_IG09
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #0xF0]
+ ldr x15, [x22, #0xF0]
cbz x15, G_M49980_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]:<GetMetadataViewProvider>b__1_2(System.Reflection.ConstructorInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x23, #0xD1FFAB1E
+ add x14, x22, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=0.50 PerfScore 11.50
G_M49980_IG09:
add x3, fp, #48 // [V60 tmp47]
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Enumerable:TryGetSingle[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
mov x21, x0
cbz x21, G_M49980_IG45
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
+ mov x20, x0
mov w1, #1
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Validate(System.Type,ubyte)
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
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
- sxtw w24, w0
- cbz w24, G_M49980_IG10
+ sxtw w23, w0
+ cbz w23, G_M49980_IG10
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
mov x20, x0
- ;; size=180 bbWeight=0.50 PerfScore 20.25
+ ;; size=172 bbWeight=0.50 PerfScore 19.75
G_M49980_IG10:
mov x0, x20
- mov w2, w24
+ mov w2, w23
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x20, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.RuntimeType:get_ContainsGenericParameters():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz w0, G_M49980_IG42
mov x0, x19
bl System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte
cmp w0, #16
beq G_M49980_IG41
mov x0, x19
bl System.RuntimeTypeHandle:GetCorElementType(System.RuntimeType):ubyte
cmp w0, #15
beq G_M49980_IG40
mov x0, x19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- mov x24, x0
+ mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M49980_IG38
;; size=188 bbWeight=0.50 PerfScore 19.25
G_M49980_IG11:
- ldr x15, [x23, #0x28]
+ ldr x15, [x22, #0x28]
add x14, x19, #8
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:New(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
- mov x0, x24
+ mov x0, x23
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Assign(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BinaryExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
ldp w0, w1, [x19, #0x10]
add w1, w1, #1
str w1, [x19, #0x14]
ldr x3, [x19, #0x08]
ldr w1, [x3, #0x08]
cmp w1, w0
bls G_M49980_IG12
add w1, w0, #1
str w1, [x19, #0x10]
sxtw x1, w0
mov x0, x3
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M49980_IG13
;; size=140 bbWeight=0.50 PerfScore 19.50
G_M49980_IG12:
mov x0, x19
mov x1, x2
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
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M49980_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x20]
blr x1
mov x21, x0
- ldr x2, [x23, #0xD1FFAB1E]
+ ldr x2, [x22, #0xD1FFAB1E]
cbnz x2, G_M49980_IG14
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
- ldr x15, [x23, #0xF0]
+ ldr x15, [x22, #0xF0]
cbz x15, G_M49980_IG47
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.Hosting.Providers.Metadata.MetadataViewProvider+<>c__1`1[System.Numerics.Vector`1[float]]:<GetMetadataViewProvider>b__1_3(System.Reflection.PropertyInfo):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
- add x14, x23, #0xD1FFAB1E
+ add x14, x22, #0xD1FFAB1E
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=112 bbWeight=0.50 PerfScore 13.75
G_M49980_IG14:
mov x1, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Where[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x21, #0xD1FFAB1E // code for System.Collections.Generic.IEnumerable`1[System.__Canon]:GetEnumerator():System.Collections.Generic.IEnumerator`1[System.__Canon]:this
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x11, x21
ldr xip0, [x11]
blr xip0
str x0, [fp, #0x20] // [V07 loc7]
;; size=64 bbWeight=0.50 PerfScore 7.25
G_M49980_IG15:
add x11, x21, #8
ldr xip0, [x11]
blr xip0
cbz w0, G_M49980_IG24
ldr x0, [fp, #0x20] // [V07 loc7]
add x11, x21, #16
ldr xip0, [x11]
blr xip0
- mov x25, x0
- movz x26, #0xD1FFAB1E
- movk x26, #0xD1FFAB1E LSL #16
- movk x26, #0xD1FFAB1E LSL #32
- mov x1, x26
+ mov x24, x0
+ movz x25, #0xD1FFAB1E
+ movk x25, #0xD1FFAB1E LSL #16
+ movk x25, #0xD1FFAB1E LSL #32
+ mov x1, x25
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Attribute:GetCustomAttributes(System.Reflection.MemberInfo,System.Type,ubyte):System.Attribute[]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbz x0, G_M49980_IG17
;; size=80 bbWeight=4 PerfScore 86.00
G_M49980_IG16:
ldr w1, [x0, #0x08]
cbz w1, G_M49980_IG17
ldr x0, [x0, #0x10]
cmp w1, #1
bne G_M49980_IG23
b G_M49980_IG18
;; size=24 bbWeight=2 PerfScore 19.00
G_M49980_IG17:
mov x0, xzr
;; size=4 bbWeight=2 PerfScore 1.00
G_M49980_IG18:
mov x2, x0
cbz x2, G_M49980_IG21
;; size=8 bbWeight=4 PerfScore 6.00
G_M49980_IG19:
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x3
beq G_M49980_IG21
;; size=24 bbWeight=2 PerfScore 12.00
G_M49980_IG20:
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=1 PerfScore 7.00
G_M49980_IG21:
mov x0, x2
- mov x1, x26
+ mov x1, x25
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Constant(System.Object,System.Type):System.Linq.Expressions.ConstantExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x26, x0
- mov x0, x25
- ldr x27, [x25]
- ldr x1, [x27, #0x40]
+ mov x25, x0
+ mov x0, x24
+ ldr x26, [x24]
+ ldr x1, [x26, #0x40]
ldr x1, [x1, #0x30]
blr x1
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Constant(System.Object,System.Type):System.Linq.Expressions.ConstantExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x28, x0
- ldr x2, [x23]
- str x2, [fp, #0x10] // [V30 tmp17]
+ mov x27, x0
+ ldr x28, [x22]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
str x0, [fp, #0x18] // [V29 tmp16]
- mov x0, x25
- ldr x2, [x27, #0x50]
+ mov x0, x24
+ ldr x2, [x26, #0x50]
ldr x2, [x2, #0x10]
blr x2
mov x15, x0
- ldr x27, [fp, #0x18] // [V29 tmp16]
- add x14, x27, #16
+ ldr x26, [fp, #0x18] // [V29 tmp16]
+ add x14, x26, #16
bl CORINFO_HELP_ASSIGN_REF
- ldr x0, [fp, #0x10] // [V30 tmp17]
- mov x1, x27
+ mov x0, x28
+ mov x1, x26
movz x2, #0xD1FFAB1E // code for System.Reflection.RuntimeMethodInfo:MakeGenericMethod(System.Type[]):System.Reflection.MethodInfo:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x27, x0
- mov x0, x24
- mov x1, x25
+ mov x26, x0
+ mov x0, x23
+ mov x1, x24
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Property(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo):System.Linq.Expressions.MemberExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x25, x0
- mov x4, x26
- mov x1, x27
+ mov x24, x0
+ mov x4, x25
+ mov x1, x26
mov x2, x20
- mov x3, x28
+ mov x3, x27
mov x0, xzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Call(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.MethodCallExpression
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
mov x1, x0
- mov x0, x25
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Assign(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BinaryExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x2, x0
- ldp w25, w0, [x19, #0x10]
+ ldp w24, w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x14]
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x08]
- cmp w1, w25
+ cmp w1, w24
bhi G_M49980_IG22
mov x0, x19
mov x1, x2
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
ldr x0, [fp, #0x20] // [V07 loc7]
b G_M49980_IG15
- ;; size=352 bbWeight=4 PerfScore 386.00
+ ;; size=348 bbWeight=4 PerfScore 376.00
G_M49980_IG22:
- add w1, w25, #1
+ add w1, w24, #1
str w1, [x19, #0x10]
- sxtw x1, w25
+ sxtw x1, w24
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [fp, #0x20] // [V07 loc7]
b G_M49980_IG15
;; size=40 bbWeight=4 PerfScore 42.00
G_M49980_IG23:
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:GetAmbiguousMatchException(System.Attribute):System.Reflection.AmbiguousMatchException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M49980_IG24:
ldr x0, [fp, #0x20] // [V07 loc7]
add x11, x21, #24
ldr xip0, [x11]
blr xip0
- ldp w23, w0, [x19, #0x10]
+ ldp w22, w0, [x19, #0x10]
add w0, w0, #1
str w0, [x19, #0x14]
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x08]
- cmp w1, w23
+ cmp w1, w22
bhi G_M49980_IG25
mov x0, x19
- mov x1, x24
+ mov x1, x23
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_M49980_IG26
;; size=76 bbWeight=0.50 PerfScore 13.00
G_M49980_IG25:
- add w1, w23, #1
+ add w1, w22, #1
str w1, [x19, #0x10]
- sxtw x1, w23
- mov x2, x24
+ sxtw x1, w22
+ mov x2, x23
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_ARRADDR_ST
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=36 bbWeight=0.50 PerfScore 4.00
G_M49980_IG26:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
add x14, x0, #16
- mov x15, x24
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
mov x1, x19
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Block(System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.ParameterExpression],System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.BlockExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x24, x0
+ mov x23, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x1, #1
bl CORINFO_HELP_NEWARR_1_OBJ
add x14, x0, #16
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- str x24, [fp, #0x28] // [V88 tmp75]
+ str x23, [fp, #0x28] // [V88 tmp75]
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Dynamic.Utils.CollectionExtensions:ToReadOnly[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x21, x0
add x1, fp, #40 // [V88 tmp75]
mov x2, x21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:ValidateLambdaArgs(System.Type,byref,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression],System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr w4, [x4]
tbz w4, #0, G_M49980_IG39
;; size=208 bbWeight=0.50 PerfScore 20.25
G_M49980_IG27:
movz x4, #0xD1FFAB1E // data for System.Runtime.CompilerServices.RuntimeFeature:<IsDynamicCodeSupported>k__BackingField
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4]
cbz w4, G_M49980_IG28
mov x4, x21
ldr x1, [fp, #0x28] // [V88 tmp75]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Create(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.Generic.IReadOnlyList`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M49980_IG29
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M49980_IG28:
mov x4, x21
ldr x1, [fp, #0x28] // [V88 tmp75]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.ExpressionCreator`1[System.__Canon]:CreateExpressionFunc(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=40 bbWeight=0.50 PerfScore 4.75
+ ;; size=48 bbWeight=0.50 PerfScore 5.25
G_M49980_IG29:
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Compile():System.__Canon:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M49980_IG30:
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=0.50 PerfScore 3.50
G_M49980_IG31:
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
+ mov x20, x0
mov w1, #1
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:Validate(System.Type,ubyte)
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
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x18]
blr x1
sxtw w19, w0
cbz w19, G_M49980_IG32
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr x1, [x1, #0x08]
blr x1
mov x20, x0
- ;; size=132 bbWeight=0.50 PerfScore 15.50
+ ;; size=124 bbWeight=0.50 PerfScore 15.00
G_M49980_IG32:
mov x0, x20
mov w2, w19
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Expressions.ParameterExpression:Make(System.Type,System.String,ubyte):System.Linq.Expressions.ParameterExpression
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x19, x0
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
add x14, x1, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:New(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewExpression
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
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
add x14, x0, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
str x20, [fp, #0x38] // [V58 tmp45]
mov x1, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Dynamic.Utils.CollectionExtensions:ToReadOnly[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x19, x0
add x1, fp, #56 // [V58 tmp45]
mov x2, x19
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
movz x4, #0xD1FFAB1E // code for System.Linq.Expressions.Expression:ValidateLambdaArgs(System.Type,byref,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression],System.String)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr w4, [x4]
tbz w4, #0, G_M49980_IG46
;; size=256 bbWeight=0.50 PerfScore 24.75
G_M49980_IG33:
movz x4, #0xD1FFAB1E // data for System.Runtime.CompilerServices.RuntimeFeature:<IsDynamicCodeSupported>k__BackingField
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldrb w4, [x4]
cbz w4, G_M49980_IG34
mov x4, x19
ldr x1, [fp, #0x38] // [V58 tmp45]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Create(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.Generic.IReadOnlyList`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
b G_M49980_IG35
- ;; size=64 bbWeight=0.50 PerfScore 8.00
+ ;; size=72 bbWeight=0.50 PerfScore 8.50
G_M49980_IG34:
mov x4, x19
ldr x1, [fp, #0x38] // [V58 tmp45]
- add x0, x22, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x2, xzr
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.Linq.Expressions.ExpressionCreator`1[System.__Canon]:CreateExpressionFunc(System.Linq.Expressions.Expression,System.String,ubyte,System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]):System.Linq.Expressions.Expression`1[System.__Canon]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ;; size=40 bbWeight=0.50 PerfScore 4.75
+ ;; size=48 bbWeight=0.50 PerfScore 5.25
G_M49980_IG35:
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Expression`1[System.__Canon]:Compile():System.__Canon:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
;; size=24 bbWeight=0.50 PerfScore 4.25
G_M49980_IG36:
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=0.50 PerfScore 3.50
G_M49980_IG37:
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M49980_IG05
- ;; size=8 bbWeight=0 PerfScore 0.00
+ ;; size=20 bbWeight=0 PerfScore 0.00
G_M49980_IG38:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M49980_IG11
;; size=20 bbWeight=0 PerfScore 0.00
G_M49980_IG39:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M49980_IG27
;; size=20 bbWeight=0 PerfScore 0.00
G_M49980_IG40:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Error:TypeMustNotBePointer(System.String):System.ArgumentException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M49980_IG41:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.Linq.Expressions.Error:TypeMustNotBeByRef(System.String):System.ArgumentException
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M49980_IG42:
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.RuntimeType:get_IsGenericTypeDefinition():ubyte:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbz w0, G_M49980_IG43
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movn w1, #0
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Error:GetParamName(System.String,int):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x22, x0
+ mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, 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 x1, x19
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
- mov x2, x22
+ mov x0, x21
+ mov x2, x20
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
b G_M49980_IG44
;; size=180 bbWeight=0 PerfScore 0.00
G_M49980_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movn w1, #0
movz x2, #0xD1FFAB1E // code for System.Linq.Expressions.Error:GetParamName(System.String,int):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x20, x0
+ mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x20, 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 x1, x19
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, x21
- mov x2, x20
+ mov x0, x20
+ mov x2, x21
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 x20, x21
+ mov x21, x20
;; size=152 bbWeight=0 PerfScore 0.00
G_M49980_IG44:
- mov x0, x20
+ mov x0, x21
bl CORINFO_HELP_THROW
brk_unix #0
;; size=12 bbWeight=0 PerfScore 0.00
G_M49980_IG45:
movz x0, #0xD1FFAB1E // code for System.SR:get_MetadataViewProvider_InvalidViewImplementation():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x20
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, x21
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.CompositionFailedException:.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=140 bbWeight=0 PerfScore 0.00
G_M49980_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_NONGCSTATIC_BASE
b G_M49980_IG33
;; size=20 bbWeight=0 PerfScore 0.00
G_M49980_IG47:
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_M49980_IG48:
movz x0, #0xD1FFAB1E // code for System.SR:get_MetadataViewProvider_InvalidViewImplementation():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov x0, x19
mov w1, wzr
movz x2, #0xD1FFAB1E // code for System.RuntimeType:GetCachedName(int):System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
mov x0, x20
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, x21
movz x2, #0xD1FFAB1E // code for System.Composition.Hosting.CompositionFailedException:.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=140 bbWeight=0 PerfScore 0.00
G_M49980_IG49:
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_M49980_IG50:
ldr x0, [fp, #0x20] // [V07 loc7]
cbz x0, G_M49980_IG51
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
add x11, x21, #24
ldr xip0, [x11]
blr xip0
;; size=32 bbWeight=0 PerfScore 0.00
G_M49980_IG51:
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 3668, prolog size 44, PerfScore 839.75, instruction count 917, allocated bytes for code 3668 (MethodHash=990d3cc3) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.Numerics.Vector`1[float]]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]] (FullOpts)
+; Total bytes of code 3676, prolog size 44, PerfScore 828.75, instruction count 919, allocated bytes for code 3676 (MethodHash=990d3cc3) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.Numerics.Vector`1[float]]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Numerics.Vector`1[float]] (FullOpts)
8 (0.22 % of base) - System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[]
; Assembly listing for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):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; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T38] ( 5, 4.25) ref -> x20 class-hnd single-def <System.String>
; V01 arg1 [V01,T04] ( 20, 91.50) ref -> x19 class-hnd <System.Object[]>
; V02 loc0 [V02,T29] ( 4, 11 ) ref -> x21 class-hnd exact single-def <System.Text.UTF8Encoding>
; V03 loc1 [V03,T50] ( 4, 2.50) ref -> x19 class-hnd <ubyte[]>
; V04 loc2 [V04,T14] ( 10, 44 ) ref -> x22 class-hnd exact single-def <System.DirectoryServices.Protocols.SafeBerHandle>
; V05 loc3 [V05,T02] ( 19,105 ) int -> x23
; V06 loc4 [V06,T07] ( 13, 79 ) int -> registers
; V07 loc5 [V07,T12] ( 11, 61 ) long -> x25
; V08 loc6 [V08,T19] ( 4, 23 ) ubyte -> x26
; V09 loc7 [V09,T49] ( 4, 2.50) ref -> x20 class-hnd exact single-def <System.DirectoryServices.Protocols.BerVal>
; V10 loc8 [V10 ] ( 8, 5 ) long -> [fp+0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op
;* V11 loc9 [V11,T55] ( 0, 0 ) int -> zero-ref
; V12 loc10 [V12,T03] ( 21, 98 ) ushort -> x28
; V13 loc11 [V13,T40] ( 3, 6 ) ref -> x1 class-hnd <ubyte[]>
;* V14 loc12 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[]>
; V15 loc13 [V15,T20] ( 5, 22 ) ref -> x28 class-hnd exact <System.String[]>
; V16 loc14 [V16,T21] ( 8, 19.16) ref -> [fp+0x20] class-hnd exact <ubyte[][]>
; V17 loc15 [V17,T08] ( 14, 66.48) int -> [fp+0x2C]
; V18 loc16 [V18,T15] ( 6, 40 ) ref -> x1 class-hnd exact <System.String>
;* V19 loc17 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd <ubyte[][]>
;# V20 OutArgs [V20 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V21 tmp1 [V21,T30] ( 5, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Text.UTF8Encoding>
; V22 tmp2 [V22,T41] ( 3, 6 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.SafeBerHandle>
; V23 tmp3 [V23,T58] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.DirectoryServices.Protocols.BerConversionException>
; V24 tmp4 [V24,T31] ( 3, 10 ) ref -> x0 "ISINST eval op1"
;* V25 tmp5 [V25 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V26 tmp6 [V26,T25] ( 4, 14 ) ref -> x24 "inline UNBOX clone1"
; V27 tmp7 [V27,T33] ( 2, 8 ) ref -> x28 class-hnd exact "impAppendStmt" <System.String>
; V28 tmp8 [V28,T59] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V29 tmp9 [V29,T60] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V30 tmp10 [V30,T61] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V31 tmp11 [V31,T62] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V32 tmp12 [V32,T63] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V33 tmp13 [V33,T06] ( 3, 80 ) ref -> x0 "ISINST eval op1"
;* V34 tmp14 [V34 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V35 tmp15 [V35,T09] ( 2, 64 ) ref -> x25 "inline UNBOX clone1"
; V36 tmp16 [V36,T64] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V37 tmp17 [V37,T65] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V38 tmp18 [V38,T66] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V39 tmp19 [V39,T67] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V40 tmp20 [V40,T17] ( 4, 32 ) ref -> x0 class-hnd "Strict ordering of exceptions for Array store" <ubyte[]>
; V41 tmp21 [V41,T68] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V42 tmp22 [V42,T69] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V43 tmp23 [V43,T47] ( 2, 4 ) ref -> x1 "ISINST eval op1"
;* V44 tmp24 [V44 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V45 tmp25 [V45,T70] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V46 tmp26 [V46,T71] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V47 tmp27 [V47,T32] ( 3, 10 ) ref -> x0 "ISINST eval op1"
;* V48 tmp28 [V48 ] ( 0, 0 ) int -> zero-ref "spilling qmarkNull"
; V49 tmp29 [V49,T26] ( 4, 14 ) ref -> [fp+0x18] spill-single-def "inline UNBOX clone1"
; V50 tmp30 [V50,T34] ( 2, 8 ) ref -> x28 class-hnd exact "impAppendStmt" <System.String>
; V51 tmp31 [V51,T72] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V52 tmp32 [V52,T73] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <System.ArgumentException>
; V53 tmp33 [V53,T42] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerVal>
; V54 tmp34 [V54,T74] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.DirectoryServices.Protocols.BerConversionException>
;* V55 tmp35 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V56 tmp36 [V56 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V57 tmp37 [V57 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V58 tmp38 [V58,T54] ( 2, 2 ) long -> x0 "Inlining Arg"
;* V59 tmp39 [V59,T57] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.DirectoryServices.Protocols.BerVal>
;* V60 tmp40 [V60 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V61 tmp41 [V61 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V62 tmp42 [V62,T52] ( 4, 2 ) long -> x0 "Inlining Arg"
; V63 tmp43 [V63,T75] ( 2, 0 ) ref -> x1 "argument with side effect"
; V64 tmp44 [V64,T76] ( 2, 0 ) ref -> x1 "argument with side effect"
; V65 tmp45 [V65,T77] ( 2, 0 ) ref -> x1 "argument with side effect"
; V66 tmp46 [V66,T10] ( 2, 64 ) ref -> x1 "argument with side effect"
; V67 tmp47 [V67,T78] ( 2, 0 ) ref -> x1 "argument with side effect"
; V68 tmp48 [V68,T79] ( 2, 0 ) ref -> x1 "argument with side effect"
; V69 tmp49 [V69,T80] ( 2, 0 ) ref -> x1 "argument with side effect"
; V70 tmp50 [V70,T81] ( 2, 0 ) ref -> x1 "argument with side effect"
; V71 tmp51 [V71,T35] ( 2, 8 ) ref -> x1 "argument with side effect"
; V72 tmp52 [V72,T82] ( 2, 0 ) ref -> x1 "argument with side effect"
; V73 tmp53 [V73,T83] ( 2, 0 ) ref -> x1 "argument with side effect"
; V74 tmp54 [V74,T36] ( 2, 8 ) ref -> x1 "argument with side effect"
; V75 tmp55 [V75,T84] ( 2, 0 ) ref -> x1 "argument with side effect"
; V76 tmp56 [V76,T85] ( 2, 0 ) ref -> x1 "argument with side effect"
; V77 tmp57 [V77,T86] ( 2, 0 ) ref -> x1 "argument with side effect"
; V78 tmp58 [V78,T87] ( 2, 0 ) ref -> x1 "argument with side effect"
; V79 tmp59 [V79,T88] ( 2, 0 ) ref -> x1 "argument with side effect"
; V80 tmp60 [V80,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
; V81 tmp61 [V81,T37] ( 2, 8 ) ref -> x1 "argument with side effect"
; V82 PSPSym [V82,T56] ( 1, 1 ) long -> [fp+0x38] do-not-enreg[V] "PSPSym"
; V83 cse0 [V83,T00] ( 28,142 ) ref -> registers multi-def "CSE #06: aggressive"
; V84 cse1 [V84,T53] ( 4, 2 ) int -> x21 "CSE #21: moderate"
; V85 cse2 [V85,T05] ( 14, 84 ) int -> x2 multi-def "CSE #01: aggressive"
; V86 cse3 [V86,T18] ( 6, 23 ) int -> [fp+0x28] "CSE #09: moderate"
; V87 cse4 [V87,T13] ( 10, 48 ) byref -> x5 multi-def "CSE #11: aggressive"
; V88 cse5 [V88,T51] ( 3, 2.25) int -> x27 "CSE #16: moderate"
; V89 cse6 [V89,T43] ( 4, 5 ) long -> x24 "CSE #08: moderate"
; V90 cse7 [V90,T11] ( 5, 63.36) long -> x24 "CSE #10: aggressive"
; V91 rat0 [V91,T39] ( 4, 6.25) byref -> x20 "Strength reduced derived IV"
; V92 rat1 [V92,T28] ( 4, 12.25) int -> x27 "Trip count IV"
; V93 rat2 [V93,T27] ( 4, 14 ) ref -> x1 "replacement local"
; V94 rat3 [V94,T46] ( 3, 4 ) long -> x0 "CSE for expectedClsNode"
; V95 rat4 [V95,T22] ( 5, 15 ) ref -> x1 "replacement local"
; V96 rat5 [V96,T44] ( 3, 5 ) long -> x0 "CSE for expectedClsNode"
; V97 rat6 [V97,T23] ( 5, 15 ) ref -> x1 "replacement local"
; V98 rat7 [V98,T48] ( 2, 4 ) long -> x0 "CSE for expectedClsNode"
; V99 rat8 [V99,T24] ( 5, 15 ) ref -> registers "replacement local"
; V100 rat9 [V100,T45] ( 3, 5 ) long -> x0 "CSE for expectedClsNode"
; V101 rat10 [V101,T01] ( 5,120 ) ref -> x1 "replacement local"
; V102 rat11 [V102,T16] ( 3, 40 ) long -> x0 "CSE for expectedClsNode"
;
; Lcl frame size = 48
G_M1714_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] // [V10 loc8]
add x2, sp, #144
str x2, [fp, #0x38] // [V82 PSPSym]
mov x20, x0
mov x19, x1
;; size=48 bbWeight=1 PerfScore 10.00
G_M1714_IG02:
cbz x20, G_M1714_IG92
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
mov w0, #1
strb w0, [x21, #0x24]
mov w0, #0xD1FFAB1E
str w0, [x21, #0x20]
mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Text.UTF8Encoding:SetDefaultFallbacks():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x19, G_M1714_IG05
;; size=68 bbWeight=1 PerfScore 14.00
G_M1714_IG03:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M1714_IG74
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M1714_IG04:
movz x0, #0xD1FFAB1E // data for System.Array+EmptyArray`1[System.Object]:Value
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
- ;; size=12 bbWeight=0.50 PerfScore 2.00
+ ;; size=16 bbWeight=0.50 PerfScore 2.25
G_M1714_IG05:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWFAST
mov x22, x0
movz x1, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.SafeBerHandle:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w23, wzr
mov w24, wzr
mov x25, xzr
mov w26, wzr
ldr w27, [x20, #0x08]
cmp w27, #0
ble G_M1714_IG16
;; size=68 bbWeight=1 PerfScore 15.00
G_M1714_IG06:
add x20, x20, #12
;; size=4 bbWeight=0.25 PerfScore 0.12
G_M1714_IG07:
cbz w26, G_M1714_IG09
;; size=4 bbWeight=4 PerfScore 4.00
G_M1714_IG08:
mov w26, wzr
b G_M1714_IG10
;; size=8 bbWeight=2 PerfScore 3.00
G_M1714_IG09:
movn x25, #0
;; size=4 bbWeight=2 PerfScore 1.00
G_M1714_IG10:
ldrh w28, [x20], #0x02
mov w0, #125
mov w1, #91
mov w2, #93
cmp w28, #123
ccmp w28, w0, z, ne
ccmp w28, w1, z, ne
ccmp w28, w2, z, ne
beq G_M1714_IG62
cmp w28, #110
beq G_M1714_IG62
mov w0, #101
cmp w28, #105
ccmp w28, w0, z, ne
beq G_M1714_IG57
cmp w28, #98
beq G_M1714_IG52
cmp w28, #115
beq G_M1714_IG46
mov w0, #88
cmp w28, #111
ccmp w28, w0, z, ne
beq G_M1714_IG41
cmp w28, #118
beq G_M1714_IG23
;; size=100 bbWeight=2 PerfScore 37.00
G_M1714_IG11:
cmp w28, #86
beq G_M1714_IG17
cmp w28, #116
bne G_M1714_IG77
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG76
add x0, x19, #16
ldr x25, [x0, w23, UXTW #3]
mov x0, x25
cbz x0, G_M1714_IG75
;; size=44 bbWeight=16 PerfScore 200.00
G_M1714_IG12:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
bne G_M1714_IG75
;; size=24 bbWeight=8 PerfScore 48.00
G_M1714_IG13:
ldr w25, [x25, #0x08]
mov w26, #1
mov w0, w28
mov w1, #1
bl System.String:.ctor(ushort,int):this
mov w24, wzr
;; size=24 bbWeight=16 PerfScore 96.00
G_M1714_IG14:
add w23, w23, #1
;; size=4 bbWeight=8 PerfScore 4.00
G_M1714_IG15:
cmn w24, #1
beq G_M1714_IG91
sub w27, w27, #1
cbnz w27, G_M1714_IG07
;; size=16 bbWeight=4 PerfScore 12.00
G_M1714_IG16:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
str xzr, [x20, #0x10]
str xzr, [fp, #0x30] // [V10 loc8]
b G_M1714_IG63
;; size=32 bbWeight=1 PerfScore 6.00
G_M1714_IG17:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG79
add x1, x19, #16
ldr x1, [x1, w23, UXTW #3]
mov x24, x1
cbz x24, G_M1714_IG19
;; size=28 bbWeight=16 PerfScore 152.00
G_M1714_IG18:
mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M1714_IG78
;; size=40 bbWeight=8 PerfScore 68.00
G_M1714_IG19:
mov x1, x24
cbz x1, G_M1714_IG22
;; size=8 bbWeight=16 PerfScore 24.00
G_M1714_IG20:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x2, [x1]
cmp x2, x0
beq G_M1714_IG22
;; size=24 bbWeight=8 PerfScore 48.00
G_M1714_IG21:
mov x1, x24
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
;; size=28 bbWeight=4 PerfScore 26.00
G_M1714_IG22:
mov x0, x22
mov w2, w28
mov x3, x25
movz x4, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.BerConverter:EncodingMultiByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[][],ushort,ulong):int
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
sxtw w24, w0
b G_M1714_IG14
;; size=40 bbWeight=16 PerfScore 136.00
G_M1714_IG23:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG81
add x1, x19, #16
ldr x1, [x1, w23, UXTW #3]
mov x28, x1
cbz x28, G_M1714_IG27
mov x1, x28
cbz x1, G_M1714_IG26
;; size=36 bbWeight=2 PerfScore 22.00
G_M1714_IG24:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x2, [x1]
cmp x2, x0
beq G_M1714_IG26
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG25:
mov x1, xzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M1714_IG26:
cbz x1, G_M1714_IG80
;; size=4 bbWeight=2 PerfScore 2.00
G_M1714_IG27:
mov x2, x28
cbz x2, G_M1714_IG30
;; size=8 bbWeight=2 PerfScore 3.00
G_M1714_IG28:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x1, [x2]
cmp x1, x0
beq G_M1714_IG30
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG29:
mov x1, x28
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x28, x0
mov x2, x28
;; size=32 bbWeight=0.50 PerfScore 3.50
G_M1714_IG30:
mov x28, x2
cbz x28, G_M1714_IG14
ldr w2, [x28, #0x08]
str w2, [fp, #0x28] // [V86 cse3]
mov w1, w2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
mov x2, x0
mov w3, wzr
ldr w4, [fp, #0x28] // [V86 cse3]
cmp w4, #0
ble G_M1714_IG14
;; size=56 bbWeight=2 PerfScore 26.00
G_M1714_IG31:
str x2, [fp, #0x20] // [V16 loc14]
ldr w0, [x2, #0x08]
str w4, [fp, #0x28] // [V86 cse3]
cmp w0, w4
blt G_M1714_IG36
;; size=20 bbWeight=1 PerfScore 6.50
G_M1714_IG32:
add x0, x28, #16
str w3, [fp, #0x2C] // [V17 loc15]
mov w24, w3
ldr x1, [x0, x24, LSL #3]
cbz x1, G_M1714_IG34
;; size=20 bbWeight=15.84 PerfScore 95.04
G_M1714_IG33:
mov x0, x21
movz x5, #0xD1FFAB1E // code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x4, [fp, #0x20] // [V16 loc14]
add x5, x4, #16
add x14, x5, x24, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
str x4, [fp, #0x20] // [V16 loc14]
b G_M1714_IG35
;; size=52 bbWeight=7.92 PerfScore 102.96
G_M1714_IG34:
ldr x2, [fp, #0x20] // [V16 loc14]
add x5, x2, #16
str xzr, [x5, x24, LSL #3]
;; size=12 bbWeight=7.92 PerfScore 27.72
G_M1714_IG35:
ldr x1, [x5, x24, LSL #3]
mov x0, x22
mov x3, x25
mov w2, #111
movz x5, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.BerConverter:EncodingByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[],ushort,ulong):int
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sxtw w24, w0
cmn w24, #1
beq G_M1714_IG14
ldp w3, w2, [fp, #0x28] // [V86 cse3], [V17 loc15]
add w2, w2, #1
str w3, [fp, #0x28] // [V86 cse3]
cmp w3, w2
mov w3, w2
bgt G_M1714_IG32
b G_M1714_IG14
;; size=76 bbWeight=15.84 PerfScore 293.04
G_M1714_IG36:
add x0, x28, #16
str w3, [fp, #0x2C] // [V17 loc15]
ldr x1, [x0, w3, UXTW #3]
cbz x1, G_M1714_IG38
;; size=16 bbWeight=0.16 PerfScore 0.88
G_M1714_IG37:
mov x0, x21
movz x5, #0xD1FFAB1E // code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x24, [fp, #0x20] // [V16 loc14]
ldr w14, [x24, #0x08]
ldr w4, [fp, #0x2C] // [V17 loc15]
cmp w4, w14
bhs G_M1714_IG93
add x5, x24, #16
add x14, x5, x4, LSL #3
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
b G_M1714_IG39
;; size=64 bbWeight=0.08 PerfScore 1.48
G_M1714_IG38:
ldr x2, [fp, #0x20] // [V16 loc14]
ldr w5, [x2, #0x08]
ldr w3, [fp, #0x2C] // [V17 loc15]
cmp w3, w5
bhs G_M1714_IG93
add x5, x2, #16
str xzr, [x5, w3, UXTW #3]
mov w4, w3
mov x24, x2
;; size=36 bbWeight=0.08 PerfScore 0.88
G_M1714_IG39:
str w4, [fp, #0x2C] // [V17 loc15]
ldr x1, [x5, w4, UXTW #3]
mov x0, x22
mov x3, x25
mov w2, #111
movz x5, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.BerConverter:EncodingByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[],ushort,ulong):int
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
sxtw w2, w0
cmn w2, #1
beq G_M1714_IG40
mov w3, w2
mov x2, x24
mov w24, w3
ldp w0, w1, [fp, #0x28] // [V86 cse3], [V17 loc15]
add w1, w1, #1
cmp w0, w1
str w0, [fp, #0x28] // [V86 cse3]
str x2, [fp, #0x20] // [V16 loc14]
mov w3, w1
bgt G_M1714_IG36
b G_M1714_IG14
;; size=96 bbWeight=0.16 PerfScore 3.52
G_M1714_IG40:
mov w24, w2
b G_M1714_IG14
;; size=8 bbWeight=0.08 PerfScore 0.12
G_M1714_IG41:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG83
add x1, x19, #16
ldr x1, [x1, w23, UXTW #3]
mov x24, x1
cbz x24, G_M1714_IG42
mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M1714_IG82
;; size=68 bbWeight=2 PerfScore 36.00
G_M1714_IG42:
mov x1, x24
cbz x1, G_M1714_IG45
;; size=8 bbWeight=2 PerfScore 3.00
G_M1714_IG43:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x2, [x1]
cmp x2, x0
beq G_M1714_IG45
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG44:
mov x1, x24
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
;; size=28 bbWeight=0.50 PerfScore 3.25
G_M1714_IG45:
mov x0, x22
mov w2, w28
mov x3, x25
movz x4, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.BerConverter:EncodingByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[],ushort,ulong):int
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
sxtw w24, w0
b G_M1714_IG14
;; size=40 bbWeight=2 PerfScore 17.00
G_M1714_IG46:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG86
add x1, x19, #16
ldr x24, [x1, w23, UXTW #3]
cbz x24, G_M1714_IG48
;; size=24 bbWeight=2 PerfScore 18.00
G_M1714_IG47:
mov x1, x24
ldr x1, [x1]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x1, x0
bne G_M1714_IG85
;; size=28 bbWeight=1 PerfScore 6.50
G_M1714_IG48:
mov x1, xzr
cbz x24, G_M1714_IG51
mov x1, x24
cbz x1, G_M1714_IG50
;; size=16 bbWeight=2 PerfScore 6.00
G_M1714_IG49:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x2, [x1]
cmp x2, x0
bne G_M1714_IG84
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG50:
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
;; size=28 bbWeight=2 PerfScore 13.00
G_M1714_IG51:
mov x0, x22
mov x3, x25
mov w2, #111
movz x4, #0xD1FFAB1E // code for System.DirectoryServices.Protocols.BerConverter:EncodingByteArrayHelper(System.DirectoryServices.Protocols.SafeBerHandle,ubyte[],ushort,ulong):int
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
sxtw w24, w0
b G_M1714_IG14
;; size=40 bbWeight=2 PerfScore 17.00
G_M1714_IG52:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG88
add x0, x19, #16
ldr x24, [x0, w23, UXTW #3]
mov x0, x24
cbz x0, G_M1714_IG87
;; size=28 bbWeight=2 PerfScore 19.00
G_M1714_IG53:
ldr x0, [x0]
movz x24, #0xD1FFAB1E
movk x24, #0xD1FFAB1E LSL #16
movk x24, #0xD1FFAB1E LSL #32
cmp x0, x24
bne G_M1714_IG87
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG54:
mov w0, w28
mov w1, #1
bl System.String:.ctor(ushort,int):this
mov x28, x0
add x1, x19, #16
ldr x2, [x1, w23, UXTW #3]
str x2, [fp, #0x18] // [V49 tmp29]
ldr x1, [x2]
cmp x1, x24
beq G_M1714_IG56
;; size=40 bbWeight=2 PerfScore 23.00
G_M1714_IG55:
mov x1, x2
mov x0, x24
movz x3, #0xD1FFAB1E // code for CORINFO_HELP_UNBOX
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x2, [fp, #0x18] // [V49 tmp29]
;; size=32 bbWeight=1 PerfScore 8.50
G_M1714_IG56:
ldrb w2, [x2, #0x08]
cmp w2, #0
cset x2, ne
mov x0, x22
mov x1, x28
mov x3, x25
movz x4, #0xD1FFAB1E // code for Interop+Ldap:ber_printf_int(System.DirectoryServices.Protocols.SafeBerHandle,System.String,int,ulong):int
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
sxtw w24, w0
b G_M1714_IG14
;; size=52 bbWeight=2 PerfScore 25.00
G_M1714_IG57:
ldr w2, [x19, #0x08]
cmp w2, w23
ble G_M1714_IG90
add x0, x19, #16
ldr x24, [x0, w23, UXTW #3]
mov x0, x24
cbz x0, G_M1714_IG89
;; size=28 bbWeight=2 PerfScore 19.00
G_M1714_IG58:
ldr x0, [x0]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
bne G_M1714_IG89
;; size=24 bbWeight=1 PerfScore 6.00
G_M1714_IG59:
mov w0, w28
mov w1, #1
bl System.String:.ctor(ushort,int):this
mov x28, x0
add x1, x19, #16
ldr x24, [x1, w23, UXTW #3]
ldr x1, [x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x1, x0
beq G_M1714_IG61
;; size=48 bbWeight=2 PerfScore 24.00
G_M1714_IG60:
mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_UNBOX
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=36 bbWeight=1 PerfScore 7.50
G_M1714_IG61:
ldr w2, [x24, #0x08]
mov x0, x22
mov x1, x28
mov x3, x25
movz x4, #0xD1FFAB1E // code for Interop+Ldap:ber_printf_int(System.DirectoryServices.Protocols.SafeBerHandle,System.String,int,ulong):int
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
sxtw w24, w0
b G_M1714_IG14
;; size=44 bbWeight=2 PerfScore 23.00
G_M1714_IG62:
mov w0, w28
mov w1, #1
bl System.String:.ctor(ushort,int):this
mov x1, x0
mov x0, x22
mov x2, x25
movz x3, #0xD1FFAB1E // code for Interop+Ldap:ber_printf_emptyarg(System.DirectoryServices.Protocols.SafeBerHandle,System.String,ulong):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
sxtw w24, w0
b G_M1714_IG15
;; size=52 bbWeight=2 PerfScore 21.00
G_M1714_IG63:
add x1, fp, #48 // [V10 loc8]
mov x0, x22
movz x2, #0xD1FFAB1E // code for Interop+Ldap:ber_flatten(System.DirectoryServices.Protocols.SafeBerHandle,byref):int
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cmn w0, #1
beq G_M1714_IG69
ldr x0, [fp, #0x30] // [V10 loc8]
cbz x0, G_M1714_IG65
;; size=44 bbWeight=1 PerfScore 11.00
G_M1714_IG64:
ldr x0, [fp, #0x30] // [V10 loc8]
mov x1, x20
mov w2, wzr
movz x3, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:PtrToStructureHelper(long,System.Object,ubyte)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=32 bbWeight=0.50 PerfScore 4.25
G_M1714_IG65:
ldr w21, [x20, #0x08]
cbz w21, G_M1714_IG66
sxtw x1, w21
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
mov x19, x0
ldr x0, [x20, #0x10]
mov w3, w21
mov x1, x19
mov w2, wzr
movz x4, #0xD1FFAB1E // code for System.Runtime.InteropServices.Marshal:CopyToManaged[ubyte](long,ubyte[],int,int)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
b G_M1714_IG70
;; size=72 bbWeight=0.50 PerfScore 9.25
G_M1714_IG66:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M1714_IG68
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M1714_IG67:
movz x0, #0xD1FFAB1E // data for System.Array+EmptyArray`1[ubyte]:Value
+ movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
b G_M1714_IG70
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M1714_IG68:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M1714_IG67
;; size=20 bbWeight=0 PerfScore 0.00
G_M1714_IG69:
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.DirectoryServices.Protocols.BerConversionException:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M1714_IG70:
ldr x0, [fp, #0x30] // [V10 loc8]
cbz x0, G_M1714_IG72
;; size=8 bbWeight=1 PerfScore 3.00
G_M1714_IG71:
ldr x0, [fp, #0x30] // [V10 loc8]
bl Interop+Ldap:ber_bvfree(long):int
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M1714_IG72:
mov x0, x19
;; size=4 bbWeight=1 PerfScore 0.50
G_M1714_IG73:
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_M1714_IG74:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_GET_GCSTATIC_BASE
b G_M1714_IG04
;; size=20 bbWeight=0 PerfScore 0.00
G_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterUndefineChar():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_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_BerConverterNotMatch():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_M1714_IG84:
mov x1, x24
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=28 bbWeight=0 PerfScore 0.00
G_M1714_IG85:
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_BerConverterNotMatch():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_M1714_IG86:
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_BerConverterNotMatch():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_M1714_IG87:
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_BerConverterNotMatch():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_M1714_IG88:
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_BerConverterNotMatch():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_M1714_IG89:
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_BerConverterNotMatch():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_M1714_IG90:
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_BerConverterNotMatch():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_M1714_IG91:
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.DirectoryServices.Protocols.BerConversionException:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M1714_IG92:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=44 bbWeight=0 PerfScore 0.00
G_M1714_IG93:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M1714_IG94:
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_M1714_IG95:
ldr x0, [fp, #0x30] // [V10 loc8]
cbz x0, G_M1714_IG96
ldr x0, [fp, #0x30] // [V10 loc8]
bl Interop+Ldap:ber_bvfree(long):int
;; size=16 bbWeight=0 PerfScore 0.00
G_M1714_IG96:
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 3704, prolog size 48, PerfScore 1865.26, instruction count 926, allocated bytes for code 3704 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)
+; Total bytes of code 3712, prolog size 48, PerfScore 1865.76, instruction count 928, allocated bytes for code 3712 (MethodHash=3a03f94d) for method System.DirectoryServices.Protocols.BerConverter:Encode(System.String,System.Object[]):ubyte[] (FullOpts)