56 (2.38 % of base) - System.Net.Http.HttpTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this
; Assembly listing for method System.Net.Http.HttpTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):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; 67 single block inlinees; 57 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 43, 22.50) ref -> x19 this class-hnd single-def <System.Net.Http.HttpTelemetry>
-; V01 arg1 [V01,T17] ( 3, 3 ) ref -> x1 class-hnd single-def <System.Diagnostics.Tracing.EventCommandEventArgs>
+; V01 arg1 [V01,T16] ( 3, 3 ) ref -> x1 class-hnd single-def <System.Diagnostics.Tracing.EventCommandEventArgs>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T06] ( 14, 14 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
-; V04 tmp2 [V04,T07] ( 14, 14 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
-; V05 tmp3 [V05,T08] ( 14, 14 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
-; V06 tmp4 [V06,T21] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V07 tmp5 [V07,T11] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-; V08 tmp6 [V08,T22] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V09 tmp7 [V09,T12] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-; V10 tmp8 [V10,T23] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V11 tmp9 [V11,T13] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-; V12 tmp10 [V12,T24] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V13 tmp11 [V13,T14] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-; V14 tmp12 [V14,T25] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V15 tmp13 [V15,T09] ( 11, 11 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.IncrementingPollingCounter>
+; V03 tmp1 [V03,T05] ( 14, 14 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
+; V04 tmp2 [V04,T06] ( 14, 14 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
+; V05 tmp3 [V05,T07] ( 14, 14 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.EventCounter>
+; V06 tmp4 [V06,T20] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V07 tmp5 [V07,T10] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V08 tmp6 [V08,T21] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V09 tmp7 [V09,T11] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V10 tmp8 [V10,T22] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V11 tmp9 [V11,T12] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V12 tmp10 [V12,T23] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V13 tmp11 [V13,T13] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V14 tmp12 [V14,T24] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V15 tmp13 [V15,T08] ( 11, 11 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.IncrementingPollingCounter>
;* V16 tmp14 [V16 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.TimeSpan>
-; V17 tmp15 [V17,T26] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V18 tmp16 [V18,T15] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
-; V19 tmp17 [V19,T27] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V20 tmp18 [V20,T10] ( 11, 11 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.IncrementingPollingCounter>
+; V17 tmp15 [V17,T25] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V18 tmp16 [V18,T14] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V19 tmp17 [V19,T26] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V20 tmp18 [V20,T09] ( 11, 11 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.IncrementingPollingCounter>
;* V21 tmp19 [V21 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.TimeSpan>
-; V22 tmp20 [V22,T28] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
-; V23 tmp21 [V23,T16] ( 10, 10 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
+; V22 tmp20 [V22,T27] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Func`1[double]>
+; V23 tmp21 [V23,T15] ( 10, 10 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.Tracing.PollingCounter>
;* V24 tmp22 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V25 tmp23 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V26 tmp24 [V26 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
;* V27 tmp25 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V28 tmp26 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V29 tmp27 [V29 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
;* V30 tmp28 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V31 tmp29 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V32 tmp30 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V33 tmp31 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V34 tmp32 [V34,T29] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
-; V35 tmp33 [V35,T03] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
+; V34 tmp32 [V34,T28] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
+; V35 tmp33 [V35,T02] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
;* V36 tmp34 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V37 tmp35 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V38 tmp36 [V38,T30] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
-; V39 tmp37 [V39,T04] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
+; V38 tmp36 [V38,T29] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
+; V39 tmp37 [V39,T03] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
;* V40 tmp38 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V41 tmp39 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
-; V42 tmp40 [V42,T31] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
-; V43 tmp41 [V43,T05] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
+; V42 tmp40 [V42,T30] ( 3, 1.50) ref -> x0 class-hnd exact single-def "Inline stloc first use temp" <double[]>
+; V43 tmp41 [V43,T04] ( 5, 16.50) int -> x14 "Inline stloc first use temp"
;* V44 tmp42 [V44 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V45 tmp43 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.String>
;* V46 tmp44 [V46 ] ( 0, 0 ) long -> zero-ref "field V16._ticks (fldOffset=0x0)" P-INDEP
;* V47 tmp45 [V47 ] ( 0, 0 ) long -> zero-ref "field V21._ticks (fldOffset=0x0)" P-INDEP
-;* V48 tmp46 [V48,T32] ( 0, 0 ) long -> zero-ref "field V26._ticks (fldOffset=0x0)" P-INDEP
-;* V49 tmp47 [V49,T33] ( 0, 0 ) long -> zero-ref "field V29._ticks (fldOffset=0x0)" P-INDEP
-; V50 cse0 [V50,T34] ( 9, 15 ) double -> d8 multi-def "CSE #05: aggressive"
-; V51 cse1 [V51,T02] ( 33, 16.50) long -> x20 multi-def "CSE #01: aggressive"
-; V52 cse2 [V52,T01] ( 33, 16.50) ref -> x22 multi-def "CSE #02: aggressive"
-; V53 cse3 [V53,T18] ( 2, 4.50) byref -> x15 hoist "CSE #06: moderate"
-; V54 cse4 [V54,T19] ( 2, 4.50) byref -> x15 hoist "CSE #08: moderate"
-; V55 cse5 [V55,T20] ( 2, 4.50) byref -> x15 hoist "CSE #10: moderate"
+;* V48 tmp46 [V48,T31] ( 0, 0 ) long -> zero-ref "field V26._ticks (fldOffset=0x0)" P-INDEP
+;* V49 tmp47 [V49,T32] ( 0, 0 ) long -> zero-ref "field V29._ticks (fldOffset=0x0)" P-INDEP
+; V50 cse0 [V50,T33] ( 9, 15 ) double -> d8 multi-def "CSE #06: aggressive"
+; V51 cse1 [V51,T01] ( 33, 16.50) ref -> x22 multi-def "CSE #01: aggressive"
+; V52 cse2 [V52,T17] ( 2, 4.50) byref -> x15 hoist "CSE #07: moderate"
+; V53 cse3 [V53,T18] ( 2, 4.50) byref -> x15 hoist "CSE #09: moderate"
+; V54 cse4 [V54,T19] ( 2, 4.50) byref -> x15 hoist "CSE #11: moderate"
;
; Lcl frame size = 8
G_M12599_IG01:
stp fp, lr, [sp, #-0x40]!
str d8, [sp, #0x18]
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
mov fp, sp
mov x19, x0
;; size=24 bbWeight=1 PerfScore 5.00
G_M12599_IG02:
ldr w0, [x1, #0x38]
cmn w0, #2
bne G_M12599_IG20
;; size=12 bbWeight=1 PerfScore 4.50
G_M12599_IG03:
ldr x0, [x19, #0xC0]
cbnz x0, G_M12599_IG04
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_0():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #192
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG04:
ldr x0, [x19, #0xB0]
cbnz x0, G_M12599_IG05
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_1():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #152 LSL #16
- str x14, [x20, #0x50]
+ str x14, [x21, #0x50]
add x14, x19, #176
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=200 bbWeight=0.50 PerfScore 19.75
+ ;; size=204 bbWeight=0.50 PerfScore 20.00
G_M12599_IG05:
ldr x0, [x19, #0xD0]
cbnz x0, G_M12599_IG06
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_2():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #208
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG06:
ldr x0, [x19, #0xB8]
cbnz x0, G_M12599_IG07
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_3():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #152 LSL #16
- str x14, [x20, #0x50]
+ str x14, [x21, #0x50]
add x14, x19, #184
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=200 bbWeight=0.50 PerfScore 19.75
+ ;; size=204 bbWeight=0.50 PerfScore 20.00
G_M12599_IG07:
ldr x0, [x19, #0xC8]
cbnz x0, G_M12599_IG08
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_4():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #200
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG08:
ldr x0, [x19, #0xD8]
cbnz x0, G_M12599_IG09
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_5():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #216
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG09:
ldr x0, [x19, #0xE0]
cbnz x0, G_M12599_IG10
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_6():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #224
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG10:
ldr x0, [x19, #0xE8]
cbnz x0, G_M12599_IG11
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- add x0, x20, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
- add x14, x21, #8
+ mov x20, x0
+ add x14, x20, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Net.Http.HttpTelemetry:<OnEventCommand>b__50_7():double:this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x21, #0x18]
- add x0, x20, #0xD1FFAB1E
+ str x0, [x20, #0x18]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x20, x0
+ mov x21, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x20, #0x08]
+ stp x22, x22, [x21, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x18]
- add x14, x20, #32
+ str x14, [x21, #0x18]
+ add x14, x21, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
- add x14, x20, #56
- mov x15, x21
+ add x14, x21, #56
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x20
+ mov x0, x21
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x20, #0x08]
+ ldr x14, [x21, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x20, #0x08]
+ str x14, [x21, #0x08]
add x14, x19, #232
- mov x15, x20
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
- ;; size=188 bbWeight=0.50 PerfScore 18.75
+ ;; size=192 bbWeight=0.50 PerfScore 19.00
G_M12599_IG11:
ldr x0, [x19, #0xF0]
cbnz x0, G_M12599_IG14
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x20, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x21, #0x08]
+ stp x22, x22, [x20, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x18]
- add x14, x21, #32
+ str x14, [x20, #0x18]
+ add x14, x20, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr d16, [@RWD00]
- str d16, [x21, #0x50]
+ str d16, [x20, #0x50]
ldr d8, [@RWD08]
- str d8, [x21, #0x58]
- add x0, x20, #0xD1FFAB1E
+ str d8, [x20, #0x58]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x1, #10
bl CORINFO_HELP_NEWARR_1_VC
mov w14, wzr
add x15, x0, #16
align [0 bytes for IG12]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=112 bbWeight=0.50 PerfScore 11.75
+ ;; size=116 bbWeight=0.50 PerfScore 12.00
G_M12599_IG12:
str d8, [x15, w14, UXTW #3]
add w14, w14, #1
cmp w14, #10
blt G_M12599_IG12
;; size=16 bbWeight=4 PerfScore 12.00
G_M12599_IG13:
- add x14, x21, #56
+ add x14, x20, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x21
+ mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x21, #0x08]
+ ldr x14, [x20, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x08]
- ldr x14, [x21, #0x10]
+ str x14, [x20, #0x08]
+ ldr x14, [x20, #0x10]
cbz x14, G_M12599_IG22
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x10]
+ str x14, [x20, #0x10]
add x14, x19, #240
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=0.50 PerfScore 11.50
G_M12599_IG14:
ldr x0, [x19, #0xF8]
cbnz x0, G_M12599_IG17
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x20, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x21, #0x08]
+ stp x22, x22, [x20, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x18]
- add x14, x21, #32
+ str x14, [x20, #0x18]
+ add x14, x20, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr d16, [@RWD00]
- str d16, [x21, #0x50]
+ str d16, [x20, #0x50]
ldr d8, [@RWD08]
- str d8, [x21, #0x58]
- add x0, x20, #0xD1FFAB1E
+ str d8, [x20, #0x58]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x1, #10
bl CORINFO_HELP_NEWARR_1_VC
mov w14, wzr
add x15, x0, #16
- align [0 bytes for IG15]
- align [0 bytes]
+ align [4 bytes for IG15]
+ align [4 bytes]
+ align [4 bytes]
align [0 bytes]
- align [0 bytes]
- ;; size=112 bbWeight=0.50 PerfScore 11.75
+ ;; size=128 bbWeight=0.50 PerfScore 12.75
G_M12599_IG15:
str d8, [x15, w14, UXTW #3]
add w14, w14, #1
cmp w14, #10
blt G_M12599_IG15
;; size=16 bbWeight=4 PerfScore 12.00
G_M12599_IG16:
- add x14, x21, #56
+ add x14, x20, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x21
+ mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x21, #0x08]
+ ldr x14, [x20, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x08]
- ldr x14, [x21, #0x10]
+ str x14, [x20, #0x08]
+ ldr x14, [x20, #0x10]
cbz x14, G_M12599_IG22
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x10]
+ str x14, [x20, #0x10]
add x14, x19, #248
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=0.50 PerfScore 11.50
G_M12599_IG17:
ldr x0, [x19, #0xD1FFAB1E]
cbnz x0, G_M12599_IG20
- movz x20, #0xD1FFAB1E
- movk x20, #0xD1FFAB1E LSL #16
- movk x20, #0xD1FFAB1E LSL #32
- mov x0, x20
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x21, x0
+ mov x20, x0
movz x22, #8
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
- stp x22, x22, [x21, #0x08]
+ stp x22, x22, [x20, #0x08]
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x18]
- add x14, x21, #32
+ str x14, [x20, #0x18]
+ add x14, x20, #32
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
ldr d16, [@RWD00]
- str d16, [x21, #0x50]
+ str d16, [x20, #0x50]
ldr d8, [@RWD08]
- str d8, [x21, #0x58]
- add x0, x20, #0xD1FFAB1E
+ str d8, [x20, #0x58]
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
mov x1, #10
bl CORINFO_HELP_NEWARR_1_VC
mov w14, wzr
add x15, x0, #16
align [0 bytes for IG18]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=112 bbWeight=0.50 PerfScore 11.75
+ ;; size=116 bbWeight=0.50 PerfScore 12.00
G_M12599_IG18:
str d8, [x15, w14, UXTW #3]
add w14, w14, #1
cmp w14, #10
blt G_M12599_IG18
;; size=16 bbWeight=4 PerfScore 12.00
G_M12599_IG19:
- add x14, x21, #56
+ add x14, x20, #56
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- mov x0, x21
+ mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Diagnostics.Tracing.DiagnosticCounter:Publish():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr x14, [x21, #0x08]
+ ldr x14, [x20, #0x08]
cbz x14, G_M12599_IG21
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x08]
- ldr x14, [x21, #0x10]
+ str x14, [x20, #0x08]
+ ldr x14, [x20, #0x10]
cbz x14, G_M12599_IG22
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
- str x14, [x21, #0x10]
+ str x14, [x20, #0x10]
add x14, x19, #0xD1FFAB1E
- mov x15, x21
+ mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
;; size=96 bbWeight=0.50 PerfScore 11.50
G_M12599_IG20:
ldp x21, x22, [sp, #0x30]
ldp x19, x20, [sp, #0x20]
ldr d8, [sp, #0x18]
ldp fp, lr, [sp], #0x40
ret lr
;; size=20 bbWeight=1 PerfScore 6.00
G_M12599_IG21:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M12599_IG22:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
RWD00 dq 7FF0000000000000h ; inf
RWD08 dq FFF0000000000000h ; -inf
-; Total bytes of code 2352, prolog size 24, PerfScore 273.25, instruction count 600, allocated bytes for code 2352 (MethodHash=4f39cec8) for method System.Net.Http.HttpTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
+; Total bytes of code 2408, prolog size 24, PerfScore 276.75, instruction count 611, allocated bytes for code 2408 (MethodHash=4f39cec8) for method System.Net.Http.HttpTelemetry:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
48 (1.26 % of base) - System.Resources.ResourceWriter:Generate():this
; Assembly listing for method System.Resources.ResourceWriter:Generate():this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 81 single block inlinees; 23 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T19] ( 12, 14 ) ref -> x19 this class-hnd single-def <System.Resources.ResourceWriter>
; V01 loc0 [V01,T00] ( 24, 44 ) ref -> x21 class-hnd exact single-def <System.IO.BinaryWriter>
-; V02 loc1 [V02,T46] ( 4, 7 ) ref -> x20 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
+; V02 loc1 [V02,T45] ( 4, 7 ) ref -> x20 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.IO.MemoryStream>
;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.IO.BinaryWriter>
-; V05 loc4 [V05,T51] ( 7, 6 ) int -> x24
-; V06 loc5 [V06,T13] ( 6, 18 ) ref -> x25 class-hnd exact single-def <int[]>
-; V07 loc6 [V07,T27] ( 5, 14 ) ref -> x26 class-hnd exact single-def <int[]>
+; V05 loc4 [V05,T50] ( 7, 6 ) int -> x23
+; V06 loc5 [V06,T13] ( 6, 18 ) ref -> x24 class-hnd exact single-def <int[]>
+; V07 loc6 [V07,T27] ( 5, 14 ) ref -> x25 class-hnd exact single-def <int[]>
; V08 loc7 [V08,T15] ( 5, 17 ) int -> [fp+0x124]
-; V09 loc8 [V09,T50] ( 9, 6.50) ref -> x28 class-hnd exact single-def <System.IO.MemoryStream>
-; V10 loc9 [V10,T21] ( 8, 16 ) ref -> x24 class-hnd exact single-def <System.IO.BinaryWriter>
-; V11 loc10 [V11,T52] ( 6, 6 ) ref -> [fp+0x58] class-hnd exact spill-single-def <System.IO.MemoryStream>
-; V12 loc11 [V12,T73] ( 9, 4 ) ref -> [fp+0x50] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
+; V09 loc8 [V09,T49] ( 9, 6.50) ref -> x27 class-hnd exact single-def <System.IO.MemoryStream>
+; V10 loc9 [V10,T21] ( 8, 16 ) ref -> x23 class-hnd exact single-def <System.IO.BinaryWriter>
+; V11 loc10 [V11,T51] ( 6, 6 ) ref -> x28 class-hnd exact single-def <System.IO.MemoryStream>
+; V12 loc11 [V12,T72] ( 9, 4 ) ref -> [fp+0x40] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
; V13 loc12 [V13,T20] ( 9, 16 ) ref -> x22 class-hnd exact single-def <System.IO.BinaryWriter>
-; V14 loc13 [V14,T41] ( 3, 8.50) int -> x1
+; V14 loc13 [V14,T40] ( 3, 8.50) int -> x1
;* V15 loc14 [V15 ] ( 0, 0 ) int -> zero-ref
; V16 loc15 [V16 ] ( 9, 15 ) struct (40) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.ResourceWriter+PrecannedResource]>
;* V17 loc16 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
; V18 loc17 [V18 ] ( 6, 13 ) struct (40) [fp+0xD0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
;* V19 loc18 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V20 loc19 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Object>
-; V21 loc20 [V21,T38] ( 3, 10 ) int -> x27
-; V22 loc21 [V22,T69] ( 2, 4 ) ref -> x3 class-hnd exact <System.Resources.ResourceWriter+PrecannedResource>
+; V21 loc20 [V21,T38] ( 3, 10 ) int -> x26
+; V22 loc21 [V22,T68] ( 2, 4 ) ref -> x3 class-hnd exact <System.Resources.ResourceWriter+PrecannedResource>
;* V23 loc22 [V23 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
;* V24 loc23 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
-; V25 loc24 [V25,T12] ( 6, 20.50) int -> x23
-; V26 loc25 [V26,T71] ( 2, 5 ) ref -> x25 class-hnd exact single-def <int[]>
-; V27 loc26 [V27,T16] ( 5, 17 ) int -> x23
+; V25 loc24 [V25,T12] ( 6, 20.50) int -> x26
+; V26 loc25 [V26,T70] ( 2, 5 ) ref -> x24 class-hnd exact single-def <int[]>
+; V27 loc26 [V27,T16] ( 5, 17 ) int -> x26
;* V28 loc27 [V28 ] ( 0, 0 ) int -> zero-ref
-; V29 loc28 [V29,T37] ( 4, 10 ) ref -> x26 class-hnd exact single-def <int[]>
+; V29 loc28 [V29,T37] ( 4, 10 ) ref -> x25 class-hnd exact single-def <int[]>
; V30 loc29 [V30,T17] ( 5, 17 ) int -> x20
;* V31 loc30 [V31 ] ( 0, 0 ) int -> zero-ref
;# V32 OutArgs [V32 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V33 tmp1 [V33,T35] ( 5, 10 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.IO.Stream>
; V34 tmp2 [V34,T28] ( 6, 12 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-; V35 tmp3 [V35,T55] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
-; V36 tmp4 [V36,T03] ( 14, 24 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V37 tmp5 [V37,T22] ( 8, 16 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-; V38 tmp6 [V38,T53] ( 4, 6 ) ref -> x25 class-hnd single-def "impAppendStmt" <System.IO.Stream>
-; V39 tmp7 [V39,T56] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V40 tmp8 [V40,T57] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-; V41 tmp9 [V41,T58] ( 3, 6 ) ref -> [fp+0x48] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V42 tmp10 [V42,T59] ( 3, 6 ) ref -> [fp+0x40] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V35 tmp3 [V35,T54] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
+; V36 tmp4 [V36,T03] ( 14, 24 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V37 tmp5 [V37,T22] ( 8, 16 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V38 tmp6 [V38,T52] ( 4, 6 ) ref -> x24 class-hnd single-def "impAppendStmt" <System.IO.Stream>
+; V39 tmp7 [V39,T55] ( 3, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V40 tmp8 [V40,T56] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V41 tmp9 [V41,T57] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V42 tmp10 [V42,T58] ( 3, 6 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
; V43 tmp11 [V43,T23] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
-; V44 tmp12 [V44,T01] ( 4, 32 ) int -> x27 "impSpillLclRefs"
+; V44 tmp12 [V44,T01] ( 4, 32 ) int -> x26 "impSpillLclRefs"
; V45 tmp13 [V45,T24] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
;* V46 tmp14 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Resources.ResourceWriter+PrecannedResource>
;* V47 tmp15 [V47 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V48 tmp16 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
;* V49 tmp17 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
;* V50 tmp18 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V51 tmp19 [V51,T109] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-; V52 tmp20 [V52,T47] ( 4, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V51 tmp19 [V51,T108] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+; V52 tmp20 [V52,T46] ( 4, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V53 tmp21 [V53 ] ( 0, 0 ) ref -> zero-ref
;* V54 tmp22 [V54 ] ( 0, 0 ) ref -> zero-ref single-def
-; V55 tmp23 [V55,T96] ( 3, 2 ) int -> x0
-; V56 tmp24 [V56,T110] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V57 tmp25 [V57,T48] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V55 tmp23 [V55,T95] ( 3, 2 ) int -> x0
+; V56 tmp24 [V56,T109] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V57 tmp25 [V57,T47] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V58 tmp26 [V58 ] ( 0, 0 ) ref -> zero-ref
;* V59 tmp27 [V59 ] ( 0, 0 ) ref -> zero-ref single-def
-; V60 tmp28 [V60,T97] ( 3, 2 ) int -> x0
-; V61 tmp29 [V61,T111] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V60 tmp28 [V60,T96] ( 3, 2 ) int -> x0
+; V61 tmp29 [V61,T110] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
;* V62 tmp30 [V62 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V63 tmp31 [V63 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V64 tmp32 [V64,T79] ( 2, 4 ) int -> x1 "Inlining Arg"
-; V65 tmp33 [V65,T103] ( 3, 1.50) int -> x26 "Inline stloc first use temp"
-; V66 tmp34 [V66,T104] ( 3, 1.50) int -> x3 "Inline stloc first use temp"
+; V64 tmp32 [V64,T78] ( 2, 4 ) int -> x1 "Inlining Arg"
+; V65 tmp33 [V65,T102] ( 3, 1.50) int -> x25 "Inline stloc first use temp"
+; V66 tmp34 [V66,T103] ( 3, 1.50) int -> x3 "Inline stloc first use temp"
;* V67 tmp35 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
-; V68 tmp36 [V68,T75] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-; V69 tmp37 [V69,T86] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
+; V68 tmp36 [V68,T74] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+; V69 tmp37 [V69,T85] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
;* V70 tmp38 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Text.UnicodeEncoding>
;* V71 tmp39 [V71 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-; V72 tmp40 [V72,T87] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
-; V73 tmp41 [V73,T99] ( 2, 2 ) struct (40) [fp+0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.ResourceWriter+PrecannedResource]>
-; V74 tmp42 [V74,T76] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
-; V75 tmp43 [V75,T80] ( 2, 4 ) struct (40) [fp+0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
+; V72 tmp40 [V72,T86] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.ResourceWriter+PrecannedResource]>
+; V73 tmp41 [V73,T98] ( 2, 2 ) struct (40) [fp+0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.ResourceWriter+PrecannedResource]>
+; V74 tmp42 [V74,T75] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
+; V75 tmp43 [V75,T79] ( 2, 4 ) struct (40) [fp+0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
; V76 tmp44 [V76,T36] ( 5, 10 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
; V77 tmp45 [V77 ] ( 8, 16 ) struct (32) [fp+0x60] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
-; V78 tmp46 [V78,T60] ( 3, 6 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]]>
+; V78 tmp46 [V78,T59] ( 3, 6 ) ref -> [fp+0x30] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]]>
;* V79 tmp47 [V79 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V80 tmp48 [V80,T100] ( 2, 2 ) int -> x23 "Inline return value spill temp"
+; V80 tmp48 [V80,T99] ( 2, 2 ) int -> [fp+0x5C] spill-single-def "Inline return value spill temp"
;* V81 tmp49 [V81 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V82 tmp50 [V82,T54] ( 4, 6 ) int -> x23 "Inlining Arg"
+; V82 tmp50 [V82,T53] ( 4, 6 ) int -> [fp+0x58] spill-single-def "Inlining Arg"
;* V83 tmp51 [V83 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V84 tmp52 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V85 tmp53 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
;* V86 tmp54 [V86 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
-; V87 tmp55 [V87,T42] ( 4, 8 ) ref -> x1 class-hnd "Inline stloc first use temp" <ubyte[]>
+; V87 tmp55 [V87,T41] ( 4, 8 ) ref -> x1 class-hnd "Inline stloc first use temp" <ubyte[]>
;* V88 tmp56 [V88 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V89 tmp57 [V89,T45] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V89 tmp57 [V89,T44] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V90 tmp58 [V90 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.String]>
;* V91 tmp59 [V91 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V92 tmp60 [V92 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V93 tmp61 [V93,T77] ( 2, 4 ) ref -> x28 class-hnd single-def "Inlining Arg" <System.IO.Stream>
-; V94 tmp62 [V94,T43] ( 2, 8 ) ref -> x1 "field V17.key (fldOffset=0x0)" P-INDEP
-; V95 tmp63 [V95,T44] ( 2, 8 ) ref -> x2 "field V17.value (fldOffset=0x8)" P-INDEP
+; V93 tmp61 [V93,T76] ( 2, 4 ) ref -> x27 class-hnd single-def "Inlining Arg" <System.IO.Stream>
+; V94 tmp62 [V94,T42] ( 2, 8 ) ref -> x1 "field V17.key (fldOffset=0x0)" P-INDEP
+; V95 tmp63 [V95,T43] ( 2, 8 ) ref -> x2 "field V17.value (fldOffset=0x8)" P-INDEP
;* V96 tmp64 [V96 ] ( 0, 0 ) ref -> zero-ref "field V19.key (fldOffset=0x0)" P-INDEP
;* V97 tmp65 [V97 ] ( 0, 0 ) ref -> zero-ref "field V19.value (fldOffset=0x8)" P-INDEP
; V98 tmp66 [V98,T18] ( 4, 17 ) ref -> x20 single-def "field V23._list (fldOffset=0x0)" P-INDEP
; V99 tmp67 [V99,T30] ( 2, 8 ) ref -> x1 "field V23._current (fldOffset=0x8)" P-INDEP
-; V100 tmp68 [V100,T02] ( 6, 21 ) int -> x27 "field V23._index (fldOffset=0x10)" P-INDEP
-; V101 tmp69 [V101,T39] ( 2, 9 ) int -> x23 "field V23._version (fldOffset=0x14)" P-INDEP
-; V102 tmp70 [V102,T29] ( 4, 12 ) ref -> [fp+0x30] "field V83.key (fldOffset=0x0)" P-INDEP
-; V103 tmp71 [V103,T14] ( 7, 17 ) ref -> [fp+0x28] "field V83.value (fldOffset=0x8)" P-INDEP
+; V100 tmp68 [V100,T02] ( 6, 21 ) int -> [fp+0x54] "field V23._index (fldOffset=0x10)" P-INDEP
+; V101 tmp69 [V101,T39] ( 2, 9 ) int -> x26 "field V23._version (fldOffset=0x14)" P-INDEP
+; V102 tmp70 [V102,T29] ( 4, 12 ) ref -> [fp+0x28] "field V83.key (fldOffset=0x0)" P-INDEP
+; V103 tmp71 [V103,T14] ( 7, 17 ) ref -> [fp+0x20] "field V83.value (fldOffset=0x8)" P-INDEP
;* V104 tmp72 [V104 ] ( 0, 0 ) ref -> zero-ref "field V84.key (fldOffset=0x0)" P-INDEP
;* V105 tmp73 [V105 ] ( 0, 0 ) ref -> zero-ref "field V84.value (fldOffset=0x8)" P-INDEP
-; V106 tmp74 [V106,T88] ( 3, 3 ) ref -> x20 single-def "field V88._list (fldOffset=0x0)" P-INDEP
+; V106 tmp74 [V106,T87] ( 3, 3 ) ref -> x20 single-def "field V88._list (fldOffset=0x0)" P-INDEP
;* V107 tmp75 [V107 ] ( 0, 0 ) ref -> zero-ref single-def "field V88._current (fldOffset=0x8)" P-INDEP
-;* V108 tmp76 [V108,T106] ( 0, 0 ) int -> zero-ref "field V88._index (fldOffset=0x10)" P-INDEP
-; V109 tmp77 [V109,T101] ( 2, 2 ) int -> x23 "field V88._version (fldOffset=0x14)" P-INDEP
+;* V108 tmp76 [V108,T105] ( 0, 0 ) int -> zero-ref "field V88._index (fldOffset=0x10)" P-INDEP
+; V109 tmp77 [V109,T100] ( 2, 2 ) int -> x26 "field V88._version (fldOffset=0x14)" P-INDEP
;* V110 tmp78 [V110 ] ( 0, 0 ) ref -> zero-ref single-def "V73.[000..008)"
-; V111 tmp79 [V111,T105] ( 2, 1 ) int -> x1 "V73.[008..012)"
+; V111 tmp79 [V111,T104] ( 2, 1 ) int -> x1 "V73.[008..012)"
;* V112 tmp80 [V112 ] ( 0, 0 ) int -> zero-ref "V73.[012..016)"
;* V113 tmp81 [V113 ] ( 0, 0 ) int -> zero-ref "V73.[016..020)"
;* V114 tmp82 [V114 ] ( 0, 0 ) int -> zero-ref "V75.[000..004)"
-; V115 tmp83 [V115,T89] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V116 tmp84 [V116,T81] ( 2, 4 ) int -> x1 "argument with side effect"
-; V117 tmp85 [V117,T82] ( 2, 4 ) int -> x1 "argument with side effect"
-; V118 tmp86 [V118,T112] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V119 tmp87 [V119,T90] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V120 tmp88 [V120,T61] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V121 tmp89 [V121,T83] ( 2, 4 ) int -> x1 "argument with side effect"
-; V122 tmp90 [V122,T62] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V123 tmp91 [V123,T78] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
-; V124 tmp92 [V124,T113] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V115 tmp83 [V115,T88] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V116 tmp84 [V116,T80] ( 2, 4 ) int -> x1 "argument with side effect"
+; V117 tmp85 [V117,T81] ( 2, 4 ) int -> x1 "argument with side effect"
+; V118 tmp86 [V118,T111] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V119 tmp87 [V119,T89] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V120 tmp88 [V120,T60] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V121 tmp89 [V121,T82] ( 2, 4 ) int -> x1 "argument with side effect"
+; V122 tmp90 [V122,T61] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V123 tmp91 [V123,T77] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
+; V124 tmp92 [V124,T112] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V125 tmp93 [V125,T31] ( 3, 12 ) ref -> x0 "BlockOp address local"
; V126 tmp94 [V126,T04] ( 3, 24 ) ref -> x0 "argument with side effect"
; V127 tmp95 [V127,T05] ( 3, 24 ) ref -> x0 "argument with side effect"
; V128 tmp96 [V128,T25] ( 2, 16 ) int -> x1 "argument with side effect"
; V129 tmp97 [V129,T32] ( 3, 12 ) ref -> x0 "argument with side effect"
; V130 tmp98 [V130,T06] ( 3, 24 ) ref -> x0 "arr expr"
; V131 tmp99 [V131,T07] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
; V132 tmp100 [V132,T08] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
; V133 tmp101 [V133,T09] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
-; V134 tmp102 [V134,T63] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V135 tmp103 [V135,T64] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V136 tmp104 [V136,T65] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V137 tmp105 [V137,T66] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V138 tmp106 [V138,T84] ( 2, 4 ) int -> x1 "argument with side effect"
-; V139 tmp107 [V139,T91] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V140 tmp108 [V140,T102] ( 2, 2 ) int -> x2 "argument with side effect"
-; V141 tmp109 [V141,T98] ( 2, 2 ) ref -> x20 single-def "argument with side effect"
-; V142 tmp110 [V142,T92] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V143 tmp111 [V143,T93] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V144 tmp112 [V144,T67] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V145 tmp113 [V145,T85] ( 2, 4 ) int -> x2 "argument with side effect"
-; V146 tmp114 [V146,T94] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V147 tmp115 [V147,T95] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V148 tmp116 [V148,T68] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V149 tmp117 [V149,T114] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V150 tmp118 [V150,T115] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V151 PSPSym [V151,T107] ( 1, 1 ) long -> [fp+0x128] do-not-enreg[V] "PSPSym"
+; V134 tmp102 [V134,T62] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V135 tmp103 [V135,T63] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V136 tmp104 [V136,T64] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V137 tmp105 [V137,T65] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V138 tmp106 [V138,T83] ( 2, 4 ) int -> x1 "argument with side effect"
+; V139 tmp107 [V139,T90] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V140 tmp108 [V140,T101] ( 2, 2 ) int -> x2 "argument with side effect"
+; V141 tmp109 [V141,T97] ( 2, 2 ) ref -> x20 single-def "argument with side effect"
+; V142 tmp110 [V142,T91] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V143 tmp111 [V143,T92] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V144 tmp112 [V144,T66] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V145 tmp113 [V145,T84] ( 2, 4 ) int -> x2 "argument with side effect"
+; V146 tmp114 [V146,T93] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V147 tmp115 [V147,T94] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V148 tmp116 [V148,T67] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V149 tmp117 [V149,T113] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V150 tmp118 [V150,T114] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V151 PSPSym [V151,T106] ( 1, 1 ) long -> [fp+0x128] do-not-enreg[V] "PSPSym"
; V152 cse0 [V152,T33] ( 3, 12 ) int -> x1 "CSE #24: moderate"
-;* V153 cse1 [V153,T108] ( 0, 0 ) long -> zero-ref "CSE #02: conservative"
-; V154 cse2 [V154,T74] ( 4, 4 ) ref -> x22 "CSE #05: conservative"
-; V155 cse3 [V155,T72] ( 2, 4.25) byref -> [fp+0x20] spill-single-def hoist "CSE #26: conservative"
-; V156 cse4 [V156,T70] ( 3, 5 ) int -> x27 "CSE #21: conservative"
+;* V153 cse1 [V153,T107] ( 0, 0 ) long -> zero-ref "CSE #02: conservative"
+; V154 cse2 [V154,T73] ( 4, 4 ) ref -> x22 "CSE #05: conservative"
+; V155 cse3 [V155,T71] ( 2, 4.25) byref -> [fp+0x18] spill-single-def hoist "CSE #26: conservative"
+; V156 cse4 [V156,T69] ( 3, 5 ) int -> [fp+0x50] spill-single-def "CSE #21: conservative"
; V157 cse5 [V157,T34] ( 2, 8 ) int -> x0 "CSE #18: moderate"
; V158 cse6 [V158,T26] ( 2, 16 ) int -> x0 "CSE #17: aggressive"
-; V159 cse7 [V159,T40] ( 6, 8.50) long -> x23 "CSE #11: moderate"
-; V160 cse8 [V160,T49] ( 4, 7 ) long -> x23 "CSE #14: moderate"
-; V161 cse9 [V161,T11] ( 6, 21 ) int -> registers multi-def "CSE #19: aggressive"
-; V162 rat0 [V162,T10] ( 3, 24 ) int -> x1 "ReplaceWithLclVar is creating a new local variable"
-; TEMP_01 int -> [fp+0x1C]
+; V159 cse7 [V159,T48] ( 4, 7 ) long -> [fp+0x48] spill-single-def "CSE #14: moderate"
+; V160 cse8 [V160,T11] ( 6, 21 ) int -> registers multi-def "CSE #19: aggressive"
+; V161 rat0 [V161,T10] ( 3, 24 ) int -> x1 "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [fp+0x14]
;
; Lcl frame size = 288
G_M22543_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD1FFAB1E]
stp x21, x22, [sp, #0xD1FFAB1E]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
movi v16.16b, #0
add x9, fp, #64
mov x10, #128
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]!
subs x10, x10, #64
bge pc-16 (-4 instructions)
add x1, sp, #0xD1FFAB1E
str x1, [fp, #0xD1FFAB1E] // [V151 PSPSym]
mov x19, x0
;; size=68 bbWeight=1 PerfScore 13.50
G_M22543_IG02:
ldr x0, [x19, #0x10]
cbz x0, G_M22543_IG58
ldr x20, [x19, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
mov x23, x22
cbz x20, G_M22543_IG61
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cbz w0, G_M22543_IG59
add x14, x21, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x21, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x21, #0x18]
ldr w0, [x23, #0x20]
mov w1, #0xD1FFAB1E
cmp w0, w1
bne G_M22543_IG04
;; size=124 bbWeight=1 PerfScore 37.50
G_M22543_IG03:
ldr x0, [x23, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M22543_IG05
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M22543_IG04:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22543_IG05:
strb w0, [x21, #0x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #6
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.String]:s_emptyArray
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x20, #8
bl CORINFO_HELP_ASSIGN_REF
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M22543_IG60
;; size=88 bbWeight=1 PerfScore 18.50
G_M22543_IG06:
movz x1, #0xD1FFAB1E // data for System.Resources.ResourceManager:MagicNumber
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x1, #0xD1FFAB1E // data for System.Resources.ResourceManager:HeaderVersionNumber
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- movz x23, #0xD1FFAB1E
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- mov x0, x23
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x23, x0
mov w1, #240
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x25, x0
+ mov x24, x0
mov x0, x22
- ldrb w14, [x24, #0x29]
+ ldrb w14, [x23, #0x29]
cbz w14, G_M22543_IG62
- add x14, x25, #8
- mov x15, x24
+ add x14, x24, #8
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- add x14, x25, #16
+ add x14, x24, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- strb wzr, [x25, #0x18]
+ strb wzr, [x24, #0x18]
ldr w1, [x0, #0x20]
mov w2, #0xD1FFAB1E
cmp w1, w2
bne G_M22543_IG08
- ;; size=204 bbWeight=1 PerfScore 48.00
+ ;; size=200 bbWeight=1 PerfScore 47.50
G_M22543_IG07:
ldr x0, [x0, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M22543_IG09
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M22543_IG08:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M22543_IG09:
- strb w0, [x25, #0x19]
- mov x0, x25
+ strb w0, [x24, #0x19]
+ mov x0, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x25
+ mov x0, x24
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x0, [x25, #0x08]
+ ldr x0, [x24, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- mov x0, x24
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w1, w0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldrb w2, [x24, #0x2B]
+ ldrb w2, [x23, #0x2B]
cbz w2, G_M22543_IG63
- ldr w2, [x24, #0x18]
- mov x0, x24
+ ldr w2, [x23, #0x18]
+ mov x0, x23
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x25, [x21, #0x08]
- mov x0, x24
+ ldr x24, [x21, #0x08]
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w1, w0
- mov x0, x25
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.IO.Stream:ValidateCopyToArguments(System.IO.Stream,int)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldrb w1, [x24, #0x2B]
+ ldrb w1, [x23, #0x2B]
cbz w1, G_M22543_IG63
;; size=272 bbWeight=1 PerfScore 87.50
G_M22543_IG10:
- ldp w26, w1, [x24, #0x1C]
- sub w1, w1, w26
- mov x0, x24
+ ldp w25, w1, [x23, #0x1C]
+ sub w1, w1, w25
+ mov x0, x23
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:InternalEmulateRead(int):int:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
sxtw w3, w0
cmp w3, #0
ble G_M22543_IG11
- ldr x1, [x24, #0x10]
- mov x0, x25
- mov w2, w26
- ldr x4, [x25]
+ ldr x1, [x23, #0x10]
+ mov x0, x24
+ mov w2, w25
+ ldr x4, [x24]
ldr x4, [x4, #0x60]
ldr x4, [x4, #0x30]
blr x4
;; size=72 bbWeight=0.50 PerfScore 12.75
G_M22543_IG11:
mov x0, x21
mov w1, #2
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x10]
ldr x0, [x0, #0x18]
- ldr w24, [x0, #0x20]
+ ldr w23, [x0, #0x20]
ldr x0, [x19, #0x28]
cbz x0, G_M22543_IG13
;; size=48 bbWeight=1 PerfScore 19.50
G_M22543_IG12:
ldr x0, [x19, #0x28]
ldr w1, [x0, #0x38]
ldr w0, [x0, #0x40]
sub w0, w1, w0
- add w24, w0, w24
+ add w23, w0, w23
;; size=20 bbWeight=0.50 PerfScore 5.00
G_M22543_IG13:
mov x0, x21
- mov w1, w24
+ mov w1, w23
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- sxtw x1, w24
+ sxtw x1, w23
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
- mov x25, x0
- sxtw x1, w24
+ mov x24, x0
+ sxtw x1, w23
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
- mov x26, x0
- mov w27, wzr
- mov x0, x23
+ mov x25, x0
+ mov w26, wzr
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x28, x0
+ mov x27, x0
mov w1, #40
- mul w1, w24, w1
- mov x0, x28
+ mul w1, w23, w1
+ mov x0, x27
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x23, x0
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr w2, [x2]
tbz w2, #0, G_M22543_IG64
- ;; size=164 bbWeight=1 PerfScore 33.00
+ ;; size=172 bbWeight=1 PerfScore 34.00
G_M22543_IG14:
movz x2, #0xD1FFAB1E // data for System.Text.UnicodeEncoding:s_littleEndianDefault
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
- mov x1, x28
- mov x0, x24
+ mov x1, x27
+ mov x0, x23
mov w3, wzr
movz x4, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
- mov x0, x23
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x2, x0
- str x2, [fp, #0x48] // [V41 tmp9]
- mov x0, x2
+ mov x28, x0
mov w1, wzr
- movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
- blr x3
- ldr x1, [fp, #0x48] // [V41 tmp9]
- stp x1, x1, [fp, #0x50] // [V12 loc11], [V11 loc10]
- ;; size=100 bbWeight=1 PerfScore 24.00
+ movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ str x28, [fp, #0x40] // [V12 loc11]
+ ;; size=96 bbWeight=1 PerfScore 21.50
G_M22543_IG15:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x4, x0
- str x4, [fp, #0x40] // [V42 tmp10]
+ str x4, [fp, #0x38] // [V42 tmp10]
mov x2, x22
mov x0, x4
- ldr x1, [fp, #0x58] // [V11 loc10]
+ mov x1, x28
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ldr x22, [fp, #0x40] // [V42 tmp10]
+ ldr x22, [fp, #0x38] // [V42 tmp10]
ldr x0, [x19, #0x28]
cbz x0, G_M22543_IG20
- ;; size=72 bbWeight=1 PerfScore 19.00
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M22543_IG16:
ldr x0, [x19, #0x28]
ldr w1, [x0, #0x44]
stp xzr, xzr, [fp, #0xC0]
;; size=12 bbWeight=0.50 PerfScore 3.50
G_M22543_IG17:
ldr x2, [fp, #0xA8]
str x2, [fp, #0xF8]
ldp q16, q17, [fp, #0xB0]
stp q16, q17, [fp, #0xD1FFAB1E]
;; size=16 bbWeight=0.50 PerfScore 3.00
G_M22543_IG18:
str x0, [fp, #0xF8] // [V16 loc15]
str w1, [fp, #0xD1FFAB1E] // [V16 loc15+0x08]
str wzr, [fp, #0xD1FFAB1E] // [V16 loc15+0x0c]
mov w0, #2
str w0, [fp, #0xD1FFAB1E] // [V16 loc15+0x10]
add x0, fp, #248 // [V16 loc15]
- add x1, x23, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M22543_IG20
- ;; size=52 bbWeight=0.50 PerfScore 6.00
+ ;; size=60 bbWeight=0.50 PerfScore 6.50
G_M22543_IG19:
ldp x1, x2, [fp, #0xD1FFAB1E] // [V16 loc15+0x18], [V16 loc15+0x20]
ldr x0, [x19, #0x10]
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.SortedDictionary`2[System.__Canon,System.__Canon]:Add(System.__Canon,System.__Canon):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
add x0, fp, #248 // [V16 loc15]
- add x1, x23, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M22543_IG19
- ;; size=64 bbWeight=4 PerfScore 88.00
+ ;; size=72 bbWeight=4 PerfScore 92.00
G_M22543_IG20:
ldr x0, [x19, #0x10]
ldr x0, [x0, #0x18]
ldrsb wzr, [x0]
stp xzr, xzr, [fp, #0x60]
stp xzr, xzr, [fp, #0x70]
str x0, [fp, #0x60] // [V77 tmp45]
ldr w1, [x0, #0x24]
str w1, [fp, #0x78] // [V77 tmp45+0x18]
ldr w0, [x0, #0x20]
add w0, w0, #1
orr w0, w0, #1
clz w0, w0
- eor w23, w0, #31
+ eor w1, w0, #31
+ str w1, [fp, #0x5C] // [V80 tmp48]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- str x0, [fp, #0x38] // [V78 tmp46]
- lsl w23, w23, #1
- tbnz w23, #31, G_M22543_IG35
- sxtw x1, w23
+ str x0, [fp, #0x30] // [V78 tmp46]
+ ldr w1, [fp, #0x5C] // [V80 tmp48]
+ lsl w3, w1, #1
+ str w3, [fp, #0x58] // [V82 tmp50]
+ tbnz w3, #31, G_M22543_IG35
+ sxtw x1, w3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
- ldr x23, [fp, #0x38] // [V78 tmp46]
- add x14, x23, #8
+ ldr x1, [fp, #0x30] // [V78 tmp46]
+ add x14, x1, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- stp x23, xzr, [fp, #0x68] // [V77 tmp45+0x08], [V77 tmp45+0x10]
+ stp x1, xzr, [fp, #0x68] // [V77 tmp45+0x08], [V77 tmp45+0x10]
strb wzr, [fp, #0x7C] // [V77 tmp45+0x1c]
add x0, fp, #96 // [V77 tmp45]
- movz x23, #0xD1FFAB1E
- movk x23, #0xD1FFAB1E LSL #16
- movk x23, #0xD1FFAB1E LSL #32
- mov x1, x23
- movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Initialize():this
+ movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- ;; size=164 bbWeight=1 PerfScore 43.50
+ str x2, [fp, #0x48] // [V159 cse7]
+ mov x1, x2
+ movz x3, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Initialize():this
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ blr x3
+ ;; size=180 bbWeight=1 PerfScore 48.50
G_M22543_IG21:
ldp x0, x1, [fp, #0x60]
stp x0, x1, [fp, #0x88]
ldp x0, x1, [fp, #0x70]
stp x0, x1, [fp, #0x98]
;; size=16 bbWeight=1 PerfScore 8.00
G_M22543_IG22:
ldp q16, q17, [fp, #0x80]
stp q16, q17, [fp, #0xD0]
ldr x0, [fp, #0xA0]
str x0, [fp, #0xF0]
;; size=16 bbWeight=1 PerfScore 6.00
G_M22543_IG23:
mov w0, #1
str w0, [fp, #0xD0] // [V18 loc17]
add x0, fp, #216 // [V18 loc17+0x08]
- mov x1, x23
+ ldr x1, [fp, #0x48] // [V159 cse7]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M22543_IG29
- ;; size=40 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 10.50
G_M22543_IG24:
ldr x0, [fp, #0xE8] // [V18 loc17+0x18]
cbz x0, G_M22543_IG30
;; size=8 bbWeight=4 PerfScore 12.00
G_M22543_IG25:
ldr x0, [fp, #0xE8] // [V18 loc17+0x18]
ldp x1, x2, [x0, #0x20]
- str x2, [fp, #0x28] // [V103 tmp71]
+ str x2, [fp, #0x20] // [V103 tmp71]
;; size=12 bbWeight=2 PerfScore 14.00
G_M22543_IG26:
- str x1, [fp, #0x30] // [V102 tmp70]
+ str x1, [fp, #0x28] // [V102 tmp70]
mov x0, x1
movz x3, #0xD1FFAB1E // code for System.Resources.FastResourceComparer:HashFunction(System.String):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w3, [x25, #0x08]
- cmp w27, w3
+ ldr w3, [x24, #0x08]
+ cmp w26, w3
bhs G_M22543_IG37
- add x1, x25, #16
- str w0, [x1, w27, UXTW #2]
- add w0, w27, #1
+ add x1, x24, #16
+ str w0, [x1, w26, UXTW #2]
+ add w0, w26, #1
str w0, [fp, #0xD1FFAB1E] // [V08 loc7]
- ldr x0, [x24, #0x08]
+ ldr x0, [x23, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
- ldr w1, [x26, #0x08]
- cmp w27, w1
+ ldr w1, [x25, #0x08]
+ cmp w26, w1
bhs G_M22543_IG37
- add x1, x26, #16
- str w0, [x1, w27, UXTW #2]
- mov x0, x24
- ldr x1, [fp, #0x30] // [V102 tmp70]
+ add x1, x25, #16
+ str w0, [x1, w26, UXTW #2]
+ mov x0, x23
+ ldr x1, [fp, #0x28] // [V102 tmp70]
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x22, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
mov w1, w0
- mov x0, x24
+ mov x0, x23
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x0, [fp, #0x28] // [V103 tmp71]
+ ldr x0, [fp, #0x20] // [V103 tmp71]
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Resources.ResourceWriter:FindTypeCode(System.Object,System.Collections.Generic.List`1[System.String]):int
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- sxtw w27, w0
+ sxtw w26, w0
mov x0, x22
- mov w1, w27
+ mov w1, w26
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write7BitEncodedInt(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x3, [fp, #0x28] // [V103 tmp71]
+ ldr x3, [fp, #0x20] // [V103 tmp71]
cbnz x3, G_M22543_IG31
;; size=256 bbWeight=4 PerfScore 324.00
G_M22543_IG27:
- mov w0, w27
+ mov w0, w26
mov x1, x3
mov x2, x22
movz x3, #0xD1FFAB1E // code for System.Resources.ResourceWriter:WriteValue(int,System.Object,System.IO.BinaryWriter)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=32 bbWeight=2 PerfScore 14.00
G_M22543_IG28:
add x0, fp, #216 // [V18 loc17+0x08]
- mov x1, x23
+ ldr x1, [fp, #0x48] // [V159 cse7]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w27, [fp, #0xD1FFAB1E] // [V08 loc7]
+ ldr w26, [fp, #0xD1FFAB1E] // [V08 loc7]
cbnz w0, G_M22543_IG24
- ;; size=36 bbWeight=4 PerfScore 38.00
+ ;; size=36 bbWeight=4 PerfScore 44.00
G_M22543_IG29:
ldr w1, [x20, #0x10]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w23, [x20, #0x14]
- mov w27, wzr
+ ldr w26, [x20, #0x14]
+ mov w2, wzr
b G_M22543_IG33
;; size=40 bbWeight=1 PerfScore 13.50
G_M22543_IG30:
mov x1, xzr
- str xzr, [fp, #0x28] // [V103 tmp71]
+ str xzr, [fp, #0x20] // [V103 tmp71]
b G_M22543_IG26
;; size=12 bbWeight=2 PerfScore 5.00
G_M22543_IG31:
ldr x1, [x3]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x1, x0
bne G_M22543_IG27
;; size=24 bbWeight=1 PerfScore 6.00
G_M22543_IG32:
ldr x1, [x3, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFARRAY
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x1, x0
cbz x1, G_M22543_IG36
ldr x0, [x22, #0x08]
ldr w3, [x1, #0x08]
mov w2, wzr
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4, #0x30]
blr x4
b G_M22543_IG28
;; size=76 bbWeight=2 PerfScore 58.00
G_M22543_IG33:
ldr w0, [x20, #0x14]
- cmp w23, w0
+ cmp w26, w0
bne G_M22543_IG39
;; size=12 bbWeight=8 PerfScore 36.00
G_M22543_IG34:
ldr w0, [x20, #0x10]
- cmp w27, w0
+ cmp w2, w0
bhs G_M22543_IG40
ldr x0, [x20, #0x08]
ldr w1, [x0, #0x08]
- cmp w27, w1
+ cmp w2, w1
bhs G_M22543_IG37
add x0, x0, #16
- ldr x1, [x0, w27, UXTW #3]
- add w27, w27, #1
+ ldr x1, [x0, w2, UXTW #3]
+ add w2, w2, #1
+ str w2, [fp, #0x54] // [V100 tmp68]
mov x0, x21
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ blr x3
+ ldr w2, [fp, #0x54] // [V100 tmp68]
b G_M22543_IG33
- ;; size=68 bbWeight=4 PerfScore 92.00
+ ;; size=76 bbWeight=4 PerfScore 104.00
G_M22543_IG35:
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
- mov w0, w23
+ ldr w0, [fp, #0x58] // [V82 tmp50]
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
G_M22543_IG36:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M22543_IG37:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M22543_IG38:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M22543_IG39:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M22543_IG40:
- ldr w3, [x25, #0x08]
+ ldr w3, [x24, #0x08]
sxtw w20, w3
mov w3, w20
- mov x0, x25
- mov x1, x26
+ mov x0, x24
+ mov x1, x25
mov w2, wzr
mov x4, xzr
movz x5, #0xD1FFAB1E // code for System.Array:Sort[int,int](int[],int[],int,int,System.Collections.Generic.IComparer`1[int])
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x10]
blr x1
and w1, w0, #7
cmp w1, #0
ble G_M22543_IG44
;; size=120 bbWeight=4 PerfScore 210.00
G_M22543_IG41:
- mov w23, wzr
+ mov w26, wzr
neg w1, w1
- add w27, w1, #8
- cmp w27, #0
+ add w2, w1, #8
+ str w2, [fp, #0x50] // [V156 cse4]
+ cmp w2, #0
ble G_M22543_IG44
- ;; size=20 bbWeight=0.50 PerfScore 1.50
+ ;; size=24 bbWeight=0.50 PerfScore 2.00
G_M22543_IG42:
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- str x2, [fp, #0x20] // [V155 cse3]
+ movz x3, #0xD1FFAB1E
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ str x3, [fp, #0x18] // [V155 cse3]
;; size=16 bbWeight=0.25 PerfScore 0.62
G_M22543_IG43:
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
- smull x1, w1, w23
+ smull x1, w1, w26
asr x1, x1, #32
add w1, w1, w1, LSR #31
mov w0, #3
- msub w1, w1, w0, w23
+ msub w1, w1, w0, w26
cmp w1, #3
bhs G_M22543_IG37
- ldrh w1, [x2, w1, UXTW #2]
+ ldrh w1, [x3, w1, UXTW #2]
mov x0, x21
- movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(ushort):this
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
- blr x3
- add w23, w23, #1
- cmp w27, w23
- ldr x2, [fp, #0x20] // [V155 cse3]
+ movz x4, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(ushort):this
+ movk x4, #0xD1FFAB1E LSL #16
+ movk x4, #0xD1FFAB1E LSL #32
+ ldr x4, [x4]
+ blr x4
+ add w26, w26, #1
+ ldr w1, [fp, #0x50] // [V156 cse4]
+ cmp w1, w26
+ ldr x3, [fp, #0x18] // [V155 cse3]
bgt G_M22543_IG43
- ;; size=80 bbWeight=4 PerfScore 88.00
+ ;; size=84 bbWeight=4 PerfScore 96.00
G_M22543_IG44:
- mov w23, wzr
+ mov w26, wzr
cmp w20, #0
ble G_M22543_IG46
;; size=12 bbWeight=1 PerfScore 2.00
G_M22543_IG45:
- add x1, x25, #16
- ldr w1, [x1, w23, UXTW #2]
+ add x1, x24, #16
+ ldr w1, [x1, w26, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- add w23, w23, #1
- cmp w20, w23
+ add w26, w26, #1
+ cmp w20, w26
bgt G_M22543_IG45
;; size=44 bbWeight=4 PerfScore 46.00
G_M22543_IG46:
mov w20, wzr
- ldr w1, [x26, #0x08]
+ ldr w1, [x25, #0x08]
cmp w1, #0
ble G_M22543_IG48
;; size=16 bbWeight=1 PerfScore 5.00
G_M22543_IG47:
- add x1, x26, #16
+ add x1, x25, #16
ldr w1, [x1, w20, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w20, w20, #1
- ldr w0, [x26, #0x08]
+ ldr w0, [x25, #0x08]
cmp w0, w20
bgt G_M22543_IG47
;; size=48 bbWeight=4 PerfScore 58.00
G_M22543_IG48:
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x0, [x24, #0x08]
+ ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
- str w0, [fp, #0x1C] // [TEMP_01]
- mov x0, x28
+ str w0, [fp, #0x14] // [TEMP_01]
+ mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ldr w1, [fp, #0x1C] // [TEMP_01]
+ ldr w1, [fp, #0x14] // [TEMP_01]
add w1, w1, w0
add w1, w1, #4
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x28
+ mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cmp x0, #0
ble G_M22543_IG50
;; size=184 bbWeight=1 PerfScore 76.50
G_M22543_IG49:
- ldrb w2, [x28, #0x2B]
+ ldrb w2, [x27, #0x2B]
cbz w2, G_M22543_IG38
- ldr w2, [x28, #0x18]
- mov x0, x28
+ ldr w2, [x27, #0x18]
+ mov x0, x27
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x20, [x21, #0x08]
- mov x0, x28
+ mov x0, x27
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w2, w0
mov x1, x20
- mov x0, x28
+ mov x0, x27
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=120 bbWeight=0.50 PerfScore 21.25
G_M22543_IG50:
- ldrb w0, [x24, #0x18]
+ ldrb w0, [x23, #0x18]
cbz w0, G_M22543_IG52
;; size=8 bbWeight=1 PerfScore 4.00
G_M22543_IG51:
- ldr x0, [x24, #0x08]
+ ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M22543_IG53
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M22543_IG52:
- ldr x0, [x24, #0x08]
+ ldr x0, [x23, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M22543_IG53:
- ldr x0, [fp, #0x58] // [V11 loc10]
+ mov x0, x28
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:set_Position(long):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x28, [x21, #0x08]
- ldr x0, [fp, #0x58] // [V11 loc10]
+ ldr x27, [x21, #0x08]
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.IO.Stream:GetCopyBufferSize():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w2, w0
- mov x1, x28
- ldr x0, [fp, #0x58] // [V11 loc10]
+ mov x1, x27
+ mov x0, x28
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrb w0, [x22, #0x18]
cbz w0, G_M22543_IG55
- ;; size=116 bbWeight=1 PerfScore 44.00
+ ;; size=116 bbWeight=1 PerfScore 39.50
G_M22543_IG54:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M22543_IG56
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M22543_IG55:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M22543_IG56:
- ldr x0, [fp, #0x50] // [V12 loc11]
+ ldr x0, [fp, #0x40] // [V12 loc11]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
str xzr, [x19, #0x10]
;; size=44 bbWeight=1 PerfScore 20.00
G_M22543_IG57:
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
ldp x21, x22, [sp, #0xD1FFAB1E]
ldp x19, x20, [sp, #0xD1FFAB1E]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M22543_IG58:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_InvalidOperation_ResourceWriterSaved():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.InvalidOperationException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG59:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x21
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG60:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M22543_IG06
;; size=24 bbWeight=0 PerfScore 0.00
G_M22543_IG61:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M22543_IG62:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M22543_IG63:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M22543_IG64:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M22543_IG14
;; size=24 bbWeight=0 PerfScore 0.00
G_M22543_IG65:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
stp x25, x26, [sp, #0x50]
stp x27, x28, [sp, #0x60]
add x3, fp, #0xD1FFAB1E
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M22543_IG66:
- ldr x0, [fp, #0x50] // [V12 loc11]
+ ldr x0, [fp, #0x40] // [V12 loc11]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
;; size=20 bbWeight=0 PerfScore 0.00
G_M22543_IG67:
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 3808, prolog size 68, PerfScore 1724.12, instruction count 952, allocated bytes for code 3808 (MethodHash=0feca7f0) for method System.Resources.ResourceWriter:Generate():this (FullOpts)
+; Total bytes of code 3856, prolog size 68, PerfScore 1753.62, instruction count 964, allocated bytes for code 3856 (MethodHash=0feca7f0) for method System.Resources.ResourceWriter:Generate():this (FullOpts)
32 (3.92 % of base) - Microsoft.VisualBasic.CompilerServices.VB6InputFile:OpenFile():this
; Assembly listing for method Microsoft.VisualBasic.CompilerServices.VB6InputFile:OpenFile():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; 17 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 12, 12 ) ref -> x19 this class-hnd single-def <Microsoft.VisualBasic.CompilerServices.VB6InputFile>
;* V01 loc0 [V01 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.FileNotFoundException>
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Security.SecurityException>
;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.DirectoryNotFoundException>
;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.IOException>
;* V05 loc4 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.StackOverflowException>
;* V06 loc5 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.OutOfMemoryException>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Exception>
;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V09 tmp1 [V09,T01] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.FileStream>
; V10 tmp2 [V10,T03] ( 3, 6 ) ref -> x20 class-hnd exact single-def "finalizable newobj spill" <System.String>
; V11 tmp3 [V11,T07] ( 3, 6 ) int -> x21 "finalizable newobj spill"
; V12 tmp4 [V12,T08] ( 3, 6 ) int -> x22 "finalizable newobj spill"
; V13 tmp5 [V13,T04] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
-; V14 tmp6 [V14,T16] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-; V15 tmp7 [V15,T17] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
-; V16 tmp8 [V16,T18] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
-; V17 tmp9 [V17,T19] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.IOException>
-; V18 tmp10 [V18,T20] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.DirectoryNotFoundException>
+; V14 tmp6 [V14,T17] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V15 tmp7 [V15,T18] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.OutOfMemoryException>
+; V16 tmp8 [V16,T19] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.StackOverflowException>
+; V17 tmp9 [V17,T20] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.IOException>
+; V18 tmp10 [V18,T21] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.DirectoryNotFoundException>
;* V19 tmp11 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" <System.Security.SecurityException>
-; V20 tmp12 [V20,T21] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.FileNotFoundException>
+; V20 tmp12 [V20,T22] ( 2, 0 ) ref -> x0 class-hnd single-def "impSpillSpecialSideEff" <System.IO.FileNotFoundException>
;* V21 tmp13 [V21 ] ( 0, 0 ) ref -> zero-ref single-def
;* V22 tmp14 [V22 ] ( 0, 0 ) ref -> zero-ref single-def
;* V23 tmp15 [V23 ] ( 0, 0 ) int -> zero-ref single-def
;* V24 tmp16 [V24 ] ( 0, 0 ) int -> zero-ref single-def
;* V25 tmp17 [V25 ] ( 0, 0 ) int -> zero-ref single-def
;* V26 tmp18 [V26 ] ( 0, 0 ) int -> zero-ref single-def
-;* V27 tmp19 [V27,T12] ( 0, 0 ) ref -> zero-ref single-def
+;* V27 tmp19 [V27,T13] ( 0, 0 ) ref -> zero-ref single-def
;* V28 tmp20 [V28 ] ( 0, 0 ) ref -> zero-ref single-def
;* V29 tmp21 [V29 ] ( 0, 0 ) int -> zero-ref single-def
;* V30 tmp22 [V30 ] ( 0, 0 ) int -> zero-ref single-def
;* V31 tmp23 [V31 ] ( 0, 0 ) int -> zero-ref single-def
;* V32 tmp24 [V32 ] ( 0, 0 ) int -> zero-ref single-def
;* V33 tmp25 [V33 ] ( 0, 0 ) int -> zero-ref single-def
;* V34 tmp26 [V34 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Nullable`1[int]>
-; V35 tmp27 [V35,T10] ( 2, 2 ) ref -> x15 class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
+; V35 tmp27 [V35,T11] ( 2, 2 ) ref -> x15 class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
;* V36 tmp28 [V36 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Nullable`1[int]>
;* V37 tmp29 [V37 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.IO.Strategies.FileStreamStrategy>
-; V38 tmp30 [V38,T05] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.Strategies.UnixFileStreamStrategy>
-; V39 tmp31 [V39,T11] ( 2, 2 ) ref -> x1 class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
+; V38 tmp30 [V38,T05] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.IO.Strategies.UnixFileStreamStrategy>
+; V39 tmp31 [V39,T12] ( 2, 2 ) ref -> x1 class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
; V40 tmp32 [V40,T02] ( 4, 8 ) ref -> x1 class-hnd exact single-def "NewObj constructor temp" <System.IO.Strategies.BufferedFileStreamStrategy>
;* V41 tmp33 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.IO.FileStream>
;* V42 tmp34 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Text.Encoding>
;* V43 tmp35 [V43 ] ( 0, 0 ) ubyte -> zero-ref single-def "field V34.hasValue (fldOffset=0x0)" P-INDEP
;* V44 tmp36 [V44 ] ( 0, 0 ) int -> zero-ref single-def "field V34.value (fldOffset=0x4)" P-INDEP
-;* V45 tmp37 [V45,T13] ( 0, 0 ) ubyte -> zero-ref single-def "field V36.hasValue (fldOffset=0x0)" P-INDEP
-;* V46 tmp38 [V46,T14] ( 0, 0 ) int -> zero-ref single-def "field V36.value (fldOffset=0x4)" P-INDEP
-; V47 tmp39 [V47,T09] ( 3, 6 ) struct ( 8) [fp+0x10] do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
+;* V45 tmp37 [V45,T14] ( 0, 0 ) ubyte -> zero-ref single-def "field V36.hasValue (fldOffset=0x0)" P-INDEP
+;* V46 tmp38 [V46,T15] ( 0, 0 ) int -> zero-ref single-def "field V36.value (fldOffset=0x4)" P-INDEP
+; V47 tmp39 [V47,T09] ( 3, 6 ) struct ( 8) [fp+0x18] do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
; V48 tmp40 [V48,T06] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V49 PSPSym [V49,T15] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[V] "PSPSym"
+; V49 PSPSym [V49,T16] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[V] "PSPSym"
+; V50 cse0 [V50,T10] ( 3, 3 ) long -> x24 "CSE #01: aggressive"
;
-; Lcl frame size = 16
+; Lcl frame size = 24
G_M25124_IG01:
- stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
+ stp fp, lr, [sp, #-0x60]!
+ stp x19, x20, [sp, #0x28]
+ stp x21, x22, [sp, #0x38]
+ stp x23, x24, [sp, #0x48]
+ str x25, [sp, #0x58]
mov fp, sp
- add x1, sp, #80
- str x1, [fp, #0x18] // [V49 PSPSym]
+ add x1, sp, #96
+ str x1, [fp, #0x20] // [V49 PSPSym]
mov x19, x0
- ;; size=32 bbWeight=1 PerfScore 6.50
+ ;; size=36 bbWeight=1 PerfScore 7.50
G_M25124_IG02:
ldr x20, [x19, #0x08]
ldp w22, w21, [x19, #0x5C]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWFAST
mov x23, x0
mov x0, x20
mov w3, w22
mov w2, w21
mov w1, #3
mov w4, #0xD1FFAB1E
mov w5, wzr
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ movz x24, #0xD1FFAB1E
+ movk x24, #0xD1FFAB1E LSL #16
+ movk x24, #0xD1FFAB1E LSL #32
+ mov x0, x24
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- strb wzr, [fp, #0x10] // [V47 tmp39]
- str wzr, [fp, #0x14] // [V47 tmp39+0x04]
- ldr x7, [fp, #0x10] // [V47 tmp39]
+ mov x25, x0
+ strb wzr, [fp, #0x18] // [V47 tmp39]
+ str wzr, [fp, #0x1C] // [V47 tmp39+0x04]
+ ldr x7, [fp, #0x18] // [V47 tmp39]
mov x1, x20
- mov x0, x24
+ mov x0, x25
mov w3, w21
mov w4, w22
mov w2, #3
mov w5, wzr
mov x6, xzr
movz x8, #0xD1FFAB1E // code for System.IO.Strategies.OSFileStreamStrategy:.ctor(System.String,int,int,int,int,long,System.Nullable`1[int]):this
movk x8, #0xD1FFAB1E LSL #16
movk x8, #0xD1FFAB1E LSL #32
ldr x8, [x8]
blr x8
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
+ add x0, x24, #0xD1FFAB1E
bl CORINFO_HELP_NEWSFAST
mov x1, x0
add x14, x1, #24
- mov x15, x24
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
mov w0, #0xD1FFAB1E
str w0, [x1, #0x28]
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.IO.Strategies.FileStreamHelpers:WrapIfDerivedType(System.IO.FileStream,System.IO.Strategies.FileStreamStrategy):System.IO.Strategies.FileStreamStrategy
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x15, x0
add x14, x23, #16
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
- ;; size=244 bbWeight=1 PerfScore 50.50
+ ;; size=240 bbWeight=1 PerfScore 50.00
G_M25124_IG03:
movz x14, #0xD1FFAB1E
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr w14, [x14]
tbz w14, #0, G_M25124_IG06
;; size=20 bbWeight=1 PerfScore 5.50
G_M25124_IG04:
movz x14, #0xD1FFAB1E // data for System.Text.Encoding:s_defaultEncoding
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x19, #56
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
ldr x2, [x19, #0x38]
ldr x1, [x19, #0x10]
mov x0, x20
mov w3, wzr
mov w4, #128
mov w5, wzr
movz x6, #0xD1FFAB1E // code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
add x14, x19, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
cmp x0, #0
cset x0, eq
strb w0, [x19, #0x64]
;; size=132 bbWeight=1 PerfScore 39.50
G_M25124_IG05:
- ldp x23, x24, [sp, #0x40]
- ldp x21, x22, [sp, #0x30]
- ldp x19, x20, [sp, #0x20]
- ldp fp, lr, [sp], #0x50
+ ldr x25, [sp, #0x58]
+ ldp x23, x24, [sp, #0x48]
+ ldp x21, x22, [sp, #0x38]
+ ldp x19, x20, [sp, #0x28]
+ ldp fp, lr, [sp], #0x60
ret lr
- ;; size=20 bbWeight=1 PerfScore 5.00
+ ;; size=24 bbWeight=1 PerfScore 7.00
G_M25124_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M25124_IG04
;; size=24 bbWeight=0 PerfScore 0.00
G_M25124_IG07:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG08:
mov w1, #53
movz x2, #0xD1FFAB1E // code for Microsoft.VisualBasic.CompilerServices.ExceptionUtils:VbMakeException(System.Exception,int):System.Exception
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
bl CORINFO_HELP_THROW
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
G_M25124_IG09:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG10:
mov w0, #53
movz x1, #0xD1FFAB1E // code for Microsoft.VisualBasic.CompilerServices.ExceptionUtils:VbMakeException(int):System.Exception
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
bl CORINFO_HELP_THROW
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
G_M25124_IG11:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG12:
mov w1, #76
movz x2, #0xD1FFAB1E // code for Microsoft.VisualBasic.CompilerServices.ExceptionUtils:VbMakeException(System.Exception,int):System.Exception
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
bl CORINFO_HELP_THROW
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
G_M25124_IG13:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG14:
mov w1, #75
movz x2, #0xD1FFAB1E // code for Microsoft.VisualBasic.CompilerServices.ExceptionUtils:VbMakeException(System.Exception,int):System.Exception
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
bl CORINFO_HELP_THROW
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
G_M25124_IG15:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG16:
bl CORINFO_HELP_THROW
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M25124_IG17:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG18:
bl CORINFO_HELP_THROW
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M25124_IG19:
stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
- add x3, fp, #80
- str x3, [sp, #0x18]
- ;; size=24 bbWeight=0 PerfScore 0.00
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ str x25, [sp, #0x48]
+ add x3, fp, #96
+ str x3, [sp, #0x10]
+ ;; size=28 bbWeight=0 PerfScore 0.00
G_M25124_IG20:
mov w1, #76
movz x2, #0xD1FFAB1E // code for Microsoft.VisualBasic.CompilerServices.ExceptionUtils:VbMakeException(System.Exception,int):System.Exception
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
bl CORINFO_HELP_THROW
brk_unix #0
;; size=32 bbWeight=0 PerfScore 0.00
-; Total bytes of code 816, prolog size 32, PerfScore 107.00, instruction count 204, allocated bytes for code 816 (MethodHash=b86a9ddb) for method Microsoft.VisualBasic.CompilerServices.VB6InputFile:OpenFile():this (FullOpts)
+; Total bytes of code 848, prolog size 36, PerfScore 109.50, instruction count 212, allocated bytes for code 848 (MethodHash=b86a9ddb) for method Microsoft.VisualBasic.CompilerServices.VB6InputFile:OpenFile():this (FullOpts)
24 (1.30 % of base) - System.ConsolePal:EnsureInitializedCore()
; Assembly listing for method System.ConsolePal:EnsureInitializedCore() (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; 2 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
;
; V00 loc0 [V00,T06] ( 4, 1.50) ref -> [fp+0x60] class-hnd EH-live spill-single-def ptr <System.IO.TextWriter>
; V01 loc1 [V01 ] ( 5, 4 ) ubyte -> [fp+0x70] do-not-enreg[X] addr-exposed ld-addr-op
; V02 loc2 [V02,T07] ( 3, 1.50) ref -> x1 class-hnd exact single-def <System.String>
; V03 loc3 [V03,T09] ( 2, 1 ) long -> x0
; V04 loc4 [V04,T04] ( 6, 3 ) long -> x21
;* V05 loc5 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.ReadOnlySpan`1[int]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V07 tmp1 [V07,T05] ( 4, 2 ) ref -> x15
; V08 tmp2 [V08 ] ( 2, 1 ) struct (16) [fp+0x80] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
;* V09 tmp3 [V09 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[int]>
; V10 tmp4 [V10 ] ( 1, 0.50) struct ( 8) [fp+0x78] do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
; V11 tmp5 [V11,T12] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ComponentModel.Win32Exception>
; V12 tmp6 [V12,T08] ( 3, 1.50) ref -> x0 class-hnd "Inline return value spill temp" <System.TerminalFormatStrings>
; V13 tmp7 [V13,T03] ( 4, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Lazy`1[System.TerminalFormatStrings]>
; V14 tmp8 [V14 ] ( 2, 1 ) byref -> [fp+0x68] must-init pinned "Inline stloc first use temp"
;* V15 tmp9 [V15 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V16 FramesRoot [V16,T00] ( 10, 6 ) long -> x19 "Pinvoke FrameListRoot"
; V17 PInvokeFrame [V17 ] ( 12, 8 ) struct (72) [fp+0x18] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
;* V18 tmp12 [V18 ] ( 0, 0 ) byref -> zero-ref single-def "field V05._reference (fldOffset=0x0)" P-INDEP
;* V19 tmp13 [V19 ] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
;* V20 tmp14 [V20 ] ( 0, 0 ) byref -> zero-ref single-def "field V09._reference (fldOffset=0x0)" P-INDEP
;* V21 tmp15 [V21 ] ( 0, 0 ) int -> zero-ref "field V09._length (fldOffset=0x8)" P-INDEP
;* V22 tmp16 [V22 ] ( 0, 0 ) long -> zero-ref "Cast away GC"
;* V23 tmp17 [V23,T10] ( 0, 0 ) long -> zero-ref "argument with side effect"
; V24 GsCookie [V24 ] ( 1, 1 ) long -> [fp+0x90] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V25 PSPSym [V25,T11] ( 1, 1 ) long -> [fp+0x98] do-not-enreg[V] "PSPSym"
; V26 cse0 [V26,T01] ( 7, 4.50) long -> x20 "CSE #02: aggressive"
; V27 cse1 [V27,T02] ( 9, 4.50) long -> x21 multi-def "CSE #01: aggressive"
;
; Lcl frame size = 144
G_M57901_IG01:
stp fp, lr, [sp, #-0xF0]!
stp x19, x20, [sp, #0xA0]
stp x21, x22, [sp, #0xB0]
stp x23, x24, [sp, #0xC0]
stp x25, x26, [sp, #0xD0]
stp x27, x28, [sp, #0xE0]
mov fp, sp
str xzr, [fp, #0x68] // [V14 tmp8]
add x0, sp, #240
str x0, [fp, #0x98] // [V25 PSPSym]
movz x0, #0xD1FFAB1E
- movk x0, #23 LSL #16
+ movk x0, #26 LSL #16
str x0, [fp, #0x90] // [V24 GsCookie]
;; size=52 bbWeight=1 PerfScore 11.00
G_M57901_IG02:
add x0, fp, #32 // [V17 PInvokeFrame+0x08]
mov x1, xzr
bl CORINFO_HELP_INIT_PINVOKE_FRAME
mov x19, x0
mov x0, sp
str x0, [fp, #0x40] // [V17 PInvokeFrame+0x28]
mov x0, fp
str x0, [fp, #0x50] // [V17 PInvokeFrame+0x38]
movz x0, #0xD1FFAB1E // code for System.Console:get_Out():System.IO.TextWriter
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
str x0, [fp, #0x60] // [V00 loc0]
str wzr, [fp, #0x70] // [V01 loc1]
;; size=60 bbWeight=1 PerfScore 13.00
G_M57901_IG03:
ldrb w1, [fp, #0x70] // [V01 loc1]
cbnz w1, G_M57901_IG18
add x1, fp, #112 // [V01 loc1]
bl System.Threading.Monitor:ReliableEnter(System.Object,byref)
movz x20, #0xD1FFAB1E // data for System.ConsolePal:s_initialized
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
ldaprb w0, [x20]
cbnz w0, G_M57901_IG22
;; size=36 bbWeight=1 PerfScore 10.00
G_M57901_IG04:
movz x0, #0xD1FFAB1E // code for Interop+Sys:InitializeTerminalAndSignalHandling():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbz w0, G_M57901_IG17
movz x0, #0xD1FFAB1E // code for System.Console:get_IsOutputRedirected():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbz w0, G_M57901_IG20
movz x0, #0xD1FFAB1E // code for System.Console:get_IsInputRedirected():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbz w0, G_M57901_IG19
mov x15, xzr
;; size=76 bbWeight=0.50 PerfScore 10.00
G_M57901_IG05:
movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
add x14, x21, #128
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x21, #0x80]
cbz x0, G_M57901_IG07
ldr x0, [x21, #0x88]
add x1, x0, #8
ldapr x1, [x1]
cbz x1, G_M57901_IG21
movz x1, #0xD1FFAB1E // code for System.Lazy`1[System.__Canon]:CreateValue():System.__Canon:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=60 bbWeight=0.50 PerfScore 9.75
+ ;; size=64 bbWeight=0.50 PerfScore 10.00
G_M57901_IG06:
ldr x1, [x0, #0x68]
cbz x1, G_M57901_IG07
ldr x0, [x21, #0x80]
movz x2, #0xD1FFAB1E // code for Interop+Sys:SetKeypadXmit(Microsoft.Win32.SafeHandles.SafeFileHandle,System.String)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=32 bbWeight=0.50 PerfScore 6.25
G_M57901_IG07:
movz x0, #0xD1FFAB1E // code for System.Console:get_IsInputRedirected():ubyte
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
cbnz w0, G_M57901_IG16
movz x0, #0xD1FFAB1E // code for System.ConsolePal:InvalidateTerminalSettings()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
str x1, [fp, #0x30] // [V17 PInvokeFrame+0x18]
adr x1, [G_M57901_IG10]
str x1, [fp, #0x48] // [V17 PInvokeFrame+0x30]
add x1, fp, #32 // [V17 PInvokeFrame+0x08]
str x1, [x19, #0x08]
strb wzr, [x19, #0x04]
;; size=72 bbWeight=0.50 PerfScore 7.25
G_M57901_IG08:
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
;; size=12 bbWeight=0.50 PerfScore 0.75
G_M57901_IG09:
blr x1
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M57901_IG10:
mov w0, #1
strb w0, [x19, #0x04]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
cmp w0, #0
beq G_M57901_IG11
bl CORINFO_HELP_STOP_FOR_GC
;; size=36 bbWeight=0.50 PerfScore 4.25
G_M57901_IG11:
ldr x3, [fp, #0x28] // [V17 PInvokeFrame+0x10]
str x3, [x19, #0x08]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr q16, [x3]
str q16, [fp, #0x80] // [V08 tmp2]
add x0, fp, #128 // [V08 tmp2]
add x21, fp, #120 // [V10 tmp4]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
str x3, [fp, #0x68] // [V14 tmp8]
movz x3, #0xD1FFAB1E
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
mov x1, x21
mov w2, #4
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
str x4, [fp, #0x30] // [V17 PInvokeFrame+0x18]
adr x4, [G_M57901_IG14]
str x4, [fp, #0x48] // [V17 PInvokeFrame+0x30]
add x4, fp, #32 // [V17 PInvokeFrame+0x08]
str x4, [x19, #0x08]
strb wzr, [x19, #0x04]
;; size=108 bbWeight=0.50 PerfScore 10.50
G_M57901_IG12:
movz x4, #0xD1FFAB1E
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
;; size=12 bbWeight=0.50 PerfScore 0.75
G_M57901_IG13:
blr x4
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M57901_IG14:
mov w0, #1
strb w0, [x19, #0x04]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
cmp w0, #0
beq G_M57901_IG15
bl CORINFO_HELP_STOP_FOR_GC
;; size=36 bbWeight=0.50 PerfScore 4.25
G_M57901_IG15:
ldr x0, [fp, #0x28] // [V17 PInvokeFrame+0x10]
str x0, [x19, #0x08]
str xzr, [fp, #0x68] // [V14 tmp8]
ldrb w0, [x21]
strb w0, [x20, #0x02]
ldrb w0, [x21, #0x01]
strb w0, [x20, #0x03]
ldrb w0, [x21, #0x02]
strb w0, [x20, #0x04]
ldrb w0, [x21, #0x03]
strb w0, [x20, #0x05]
;; size=44 bbWeight=0.50 PerfScore 10.00
G_M57901_IG16:
mov w0, #1
stlrb w0, [x20]
b G_M57901_IG22
;; size=12 bbWeight=0.50 PerfScore 1.25
G_M57901_IG17:
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.ComponentModel.Win32Exception:.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_M57901_IG18:
movz x1, #0xD1FFAB1E // code for System.Threading.Monitor:ThrowLockTakenException()
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M57901_IG19:
movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
ldr x15, [x21]
b G_M57901_IG05
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M57901_IG20:
movz x21, #0xD1FFAB1E
+ movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
ldr x15, [x21, #0x08]
b G_M57901_IG05
- ;; size=16 bbWeight=0.50 PerfScore 2.50
+ ;; size=20 bbWeight=0.50 PerfScore 2.75
G_M57901_IG21:
ldr x0, [x0, #0x18]
b G_M57901_IG06
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M57901_IG22:
ldrb w0, [fp, #0x70] // [V01 loc1]
cbz w0, G_M57901_IG24
;; size=8 bbWeight=1 PerfScore 3.00
G_M57901_IG23:
ldr x0, [fp, #0x60] // [V00 loc0]
bl System.Threading.Monitor:Exit(System.Object)
;; size=8 bbWeight=0.50 PerfScore 1.50
G_M57901_IG24:
movz xip0, #0xD1FFAB1E
- movk xip0, #23 LSL #16
+ movk xip0, #26 LSL #16
ldr xip1, [fp, #0x90] // [V24 GsCookie]
cmp xip0, xip1
beq G_M57901_IG25
bl CORINFO_HELP_FAIL_FAST
;; size=24 bbWeight=1 PerfScore 5.50
G_M57901_IG25:
ldp x27, x28, [sp, #0xE0]
ldp x25, x26, [sp, #0xD0]
ldp x23, x24, [sp, #0xC0]
ldp x21, x22, [sp, #0xB0]
ldp x19, x20, [sp, #0xA0]
ldp fp, lr, [sp], #0xF0
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M57901_IG26:
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, #240
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M57901_IG27:
ldrb w0, [fp, #0x70] // [V01 loc1]
cbz w0, G_M57901_IG28
ldr x0, [fp, #0x60] // [V00 loc0]
bl System.Threading.Monitor:Exit(System.Object)
;; size=16 bbWeight=0 PerfScore 0.00
G_M57901_IG28:
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 916, prolog size 52, PerfScore 124.00, instruction count 229, allocated bytes for code 916 (MethodHash=c8491dd2) for method System.ConsolePal:EnsureInitializedCore() (FullOpts)
+; Total bytes of code 928, prolog size 52, PerfScore 124.75, instruction count 232, allocated bytes for code 928 (MethodHash=c8491dd2) for method System.ConsolePal:EnsureInitializedCore() (FullOpts)
24 (0.45 % of base) - System.Net.Http.HttpConnectionPool+d__51:MoveNext():this
; Assembly listing for method System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51: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; 114 single block inlinees; 41 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 79, 76 ) byref -> [fp+0x10] this EH-live single-def
; V01 loc0 [V01,T115] ( 3, 2.88) int -> x19
; V02 loc1 [V02,T06] ( 16, 16 ) ref -> x20 class-hnd exact single-def <System.Net.Http.HttpConnectionPool>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (24) zero-ref <System.ValueTuple`3[System.IO.Stream,System.Net.TransportContext,System.Net.IPEndPoint]>
; V04 loc3 [V04,T07] ( 15, 15 ) ref -> x19 class-hnd <System.IO.Stream>
; V05 loc4 [V05,T92] ( 3, 3 ) ref -> registers class-hnd <System.Net.TransportContext>
; V06 loc5 [V06,T93] ( 3, 3 ) ref -> x0 class-hnd single-def <System.Net.Http.HttpContentStream>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.IO.Stream>
;* V08 loc7 [V08 ] ( 0, 0 ) ubyte -> zero-ref
;* V09 loc8 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.Stream>
; V10 loc9 [V10 ] ( 12, 12 ) struct (24) [fp+0x100] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
; V11 loc10 [V11 ] ( 16, 16 ) struct (24) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V12 loc11 [V12 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.IO.Stream]>
;* V13 loc12 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Net.Security.SslStream>
; V14 loc13 [V14 ] ( 12, 12 ) struct (24) [fp+0xD0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
; V15 loc14 [V15 ] ( 12, 12 ) struct (24) [fp+0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V16 loc15 [V16 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Net.Security.SslStream]>
;* V17 loc16 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.Stream>
; V18 loc17 [V18 ] ( 12, 12 ) struct (24) [fp+0xA0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V19 loc18 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Net.Security.SslStream>
; V20 loc19 [V20 ] ( 12, 12 ) struct (24) [fp+0x88] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
;* V21 loc20 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.Stream>
; V22 loc21 [V22 ] ( 12, 12 ) struct (24) [fp+0x70] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V23 loc22 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.IO.Stream>
; V24 loc23 [V24 ] ( 12, 12 ) struct (24) [fp+0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
; V25 loc24 [V25,T15] ( 7, 7 ) ref -> x22 class-hnd <System.Net.Security.SslStream>
;* V26 loc25 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Net.Security.SslStream>
; V27 loc26 [V27 ] ( 12, 12 ) struct (24) [fp+0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
; V28 loc27 [V28 ] ( 22, 22 ) struct (40) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;* V29 loc28 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;# V30 OutArgs [V30 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V31 tmp1 [V31 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`3[System.IO.Stream,System.Net.TransportContext,System.Net.IPEndPoint]>
;* V32 tmp2 [V32 ] ( 0, 0 ) struct (40) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;* V33 tmp3 [V33 ] ( 0, 0 ) struct ( 8) zero-ref single-def "spilled call-like call argument" <System.Net.Security.SslApplicationProtocol>
;* V34 tmp4 [V34 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V35 tmp5 [V35 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V36 tmp6 [V36,T16] ( 3, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Net.Http.HttpConnection>
;* V37 tmp7 [V37 ] ( 0, 0 ) ref -> zero-ref single-def
; V38 tmp8 [V38,T29] ( 4, 4 ) ref -> x0
;* V39 tmp9 [V39 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V40 tmp10 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V41 tmp11 [V41 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V42 tmp12 [V42 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V43 tmp13 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
;* V44 tmp14 [V44 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V45 tmp15 [V45 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V46 tmp16 [V46 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V47 tmp17 [V47 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V48 tmp18 [V48 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V49 tmp19 [V49 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V50 tmp20 [V50 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V51 tmp21 [V51 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V52 tmp22 [V52,T160] ( 2, 0 ) ref -> x2 class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
;* V53 tmp23 [V53 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Http.HttpAuthority>
;* V54 tmp24 [V54 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Http.HttpAuthority>
;* V55 tmp25 [V55 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V56 tmp26 [V56 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V57 tmp27 [V57 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.IO.Stream]>
; V58 tmp28 [V58,T49] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V59 tmp29 [V59,T50] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V60 tmp30 [V60,T79] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V61 tmp31 [V61 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V62 tmp32 [V62,T145] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V63 tmp33 [V63,T30] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V64 tmp34 [V64,T94] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V65 tmp35 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V66 tmp36 [V66 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V67 tmp37 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V68 tmp38 [V68 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V69 tmp39 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V70 tmp40 [V70,T19] ( 5, 5 ) ref -> x23 class-hnd "Inline return value spill temp" <System.IO.Stream>
; V71 tmp41 [V71,T31] ( 4, 4 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V72 tmp42 [V72,T20] ( 5, 5 ) ref -> x23 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V73 tmp43 [V73 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V74 tmp44 [V74 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V75 tmp45 [V75 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V76 tmp46 [V76 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Net.Security.SslStream]>
; V77 tmp47 [V77,T51] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V78 tmp48 [V78,T52] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V79 tmp49 [V79,T80] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V80 tmp50 [V80 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
;* V81 tmp51 [V81,T146] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V82 tmp52 [V82,T32] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V83 tmp53 [V83,T95] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V84 tmp54 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V85 tmp55 [V85 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V86 tmp56 [V86 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V87 tmp57 [V87 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V88 tmp58 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V89 tmp59 [V89,T33] ( 4, 4 ) ref -> x19 class-hnd "Inline return value spill temp" <System.Net.Security.SslStream>
-; V90 tmp60 [V90,T34] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V91 tmp61 [V91,T21] ( 5, 5 ) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
+; V90 tmp60 [V90,T34] ( 4, 4 ) ref -> x24 class-hnd single-def "Inline stloc first use temp" <System.Object>
+; V91 tmp61 [V91,T21] ( 5, 5 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V92 tmp62 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V93 tmp63 [V93 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V94 tmp64 [V94 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V95 tmp65 [V95 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.IO.Stream]>
; V96 tmp66 [V96,T53] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V97 tmp67 [V97,T54] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V98 tmp68 [V98,T81] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V99 tmp69 [V99 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V100 tmp70 [V100,T147] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V101 tmp71 [V101,T35] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V102 tmp72 [V102,T96] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V103 tmp73 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V104 tmp74 [V104 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V105 tmp75 [V105 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V106 tmp76 [V106 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V107 tmp77 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V108 tmp78 [V108,T22] ( 5, 5 ) ref -> x21 class-hnd "Inline return value spill temp" <System.IO.Stream>
; V109 tmp79 [V109,T36] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V110 tmp80 [V110,T23] ( 5, 5 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V111 tmp81 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V112 tmp82 [V112 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V113 tmp83 [V113 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V114 tmp84 [V114 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Net.Security.SslStream]>
; V115 tmp85 [V115,T55] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V116 tmp86 [V116,T56] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V117 tmp87 [V117,T82] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V118 tmp88 [V118 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
;* V119 tmp89 [V119,T148] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V120 tmp90 [V120,T37] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V121 tmp91 [V121,T97] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V122 tmp92 [V122 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V123 tmp93 [V123 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V124 tmp94 [V124 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V125 tmp95 [V125 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V126 tmp96 [V126 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V127 tmp97 [V127,T38] ( 4, 4 ) ref -> x19 class-hnd "Inline return value spill temp" <System.Net.Security.SslStream>
; V128 tmp98 [V128,T39] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V129 tmp99 [V129,T24] ( 5, 5 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V130 tmp100 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V131 tmp101 [V131 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V132 tmp102 [V132 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V133 tmp103 [V133 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.IO.Stream]>
; V134 tmp104 [V134,T57] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V135 tmp105 [V135,T58] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V136 tmp106 [V136,T83] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V137 tmp107 [V137 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V138 tmp108 [V138,T149] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V139 tmp109 [V139,T40] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V140 tmp110 [V140,T98] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V141 tmp111 [V141 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V142 tmp112 [V142 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V143 tmp113 [V143 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V144 tmp114 [V144 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V145 tmp115 [V145 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V146 tmp116 [V146,T41] ( 4, 4 ) ref -> x19 class-hnd "Inline return value spill temp" <System.IO.Stream>
; V147 tmp117 [V147,T42] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V148 tmp118 [V148,T25] ( 5, 5 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V149 tmp119 [V149 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V150 tmp120 [V150 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V151 tmp121 [V151 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.IO.Stream]>
;* V152 tmp122 [V152 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.IO.Stream]>
; V153 tmp123 [V153,T59] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V154 tmp124 [V154,T60] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V155 tmp125 [V155,T84] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V156 tmp126 [V156 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.IO.Stream]>
;* V157 tmp127 [V157,T150] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V158 tmp128 [V158,T43] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V159 tmp129 [V159,T99] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V160 tmp130 [V160 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V161 tmp131 [V161 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V162 tmp132 [V162 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V163 tmp133 [V163 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V164 tmp134 [V164 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V165 tmp135 [V165,T44] ( 4, 4 ) ref -> x19 class-hnd "Inline return value spill temp" <System.IO.Stream>
; V166 tmp136 [V166,T45] ( 4, 4 ) ref -> x19 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V167 tmp137 [V167,T26] ( 5, 5 ) ref -> x21 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.IO.Stream]>
;* V168 tmp138 [V168 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.IO.Stream]>
;* V169 tmp139 [V169 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V170 tmp140 [V170 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]>
;* V171 tmp141 [V171 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[System.Net.Security.SslStream]>
; V172 tmp142 [V172,T61] ( 2, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" <System.Object>
; V173 tmp143 [V173,T62] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.__Canon>
; V174 tmp144 [V174,T85] ( 2, 4 ) short -> x2 "Inlining Arg"
;* V175 tmp145 [V175 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.Net.Security.SslStream]>
;* V176 tmp146 [V176,T151] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V177 tmp147 [V177,T46] ( 4, 4 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V178 tmp148 [V178,T100] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V179 tmp149 [V179 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V180 tmp150 [V180 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V181 tmp151 [V181 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V182 tmp152 [V182 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V183 tmp153 [V183 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V184 tmp154 [V184,T47] ( 4, 4 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Net.Security.SslStream>
; V185 tmp155 [V185,T48] ( 4, 4 ) ref -> x20 class-hnd single-def "Inline stloc first use temp" <System.Object>
; V186 tmp156 [V186,T27] ( 5, 5 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task`1[System.Net.Security.SslStream]>
;* V187 tmp157 [V187 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[System.Net.Security.SslStream]>
;* V188 tmp158 [V188 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.NetEventSource>
;* V189 tmp159 [V189 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V190 tmp160 [V190,T12] ( 5, 10 ) ref -> x0 class-hnd single-def "dup spill" <ushort[]>
;* V191 tmp161 [V191 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V192 tmp162 [V192 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V193 tmp163 [V193 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V194 tmp164 [V194 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V195 tmp165 [V195,T13] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V196 tmp166 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V197 tmp167 [V197,T63] ( 2, 4 ) byref -> x1 single-def "Inlining Arg"
; V198 tmp168 [V198,T86] ( 2, 4 ) int -> x0 "Inlining Arg"
;* V199 tmp169 [V199,T134] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V200 tmp170 [V200 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V201 tmp171 [V201 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
; V202 tmp172 [V202,T64] ( 2, 4 ) byref -> x2 single-def "Inlining Arg"
;* V203 tmp173 [V203 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V204 tmp174 [V204,T14] ( 4, 8 ) int -> x0 "Inlining Arg"
;* V205 tmp175 [V205 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V206 tmp176 [V206,T65] ( 2, 4 ) byref -> x1 single-def "Inlining Arg"
; V207 tmp177 [V207,T87] ( 2, 4 ) int -> x0 "Inlining Arg"
;* V208 tmp178 [V208,T135] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V209 tmp179 [V209 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V210 tmp180 [V210 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
; V211 tmp181 [V211,T66] ( 2, 4 ) byref -> x0 single-def "Inlining Arg"
; V212 tmp182 [V212,T67] ( 2, 4 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Net.NetEventSource>
; V213 tmp183 [V213,T68] ( 2, 4 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.String>
; V214 tmp184 [V214,T88] ( 2, 4 ) int -> x2 "Inlining Arg"
; V215 tmp185 [V215,T17] ( 3, 6 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Net.SslStreamContext>
; V216 tmp186 [V216,T69] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Net.IPEndPoint>
; V217 tmp187 [V217,T09] ( 7, 14 ) byref -> x20 single-def "Inlining Arg"
; V218 tmp188 [V218,T05] ( 9, 18 ) ref -> x20 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]>
; V219 tmp189 [V219,T11] ( 6, 12 ) ref -> x19 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V220 tmp190 [V220 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V221 tmp191 [V221,T89] ( 2, 4 ) int -> x21 "Inlining Arg"
;* V222 tmp192 [V222,T136] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V223 tmp193 [V223 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V224 tmp194 [V224,T137] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V225 tmp195 [V225,T101] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V226 tmp196 [V226,T91] ( 2, 2 ) ubyte -> x1 "Inline return value spill temp"
; V227 tmp197 [V227,T28] ( 5, 5 ) int -> x14 "Inline stloc first use temp"
; V228 tmp198 [V228,T112] ( 3, 3 ) ubyte -> x1 "Inline return value spill temp"
; V229 tmp199 [V229,T01] ( 6, 41 ) int -> x14 "Inline stloc first use temp"
; V230 tmp200 [V230,T02] ( 3, 24 ) int -> x12 "Inline stloc first use temp"
; V231 tmp201 [V231,T102] ( 3, 3 ) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V232 tmp202 [V232,T116] ( 2, 2 ) ref -> x22 single-def "field V03.Item1 (fldOffset=0x0)" P-INDEP
; V233 tmp203 [V233,T117] ( 2, 2 ) ref -> x23 single-def "field V03.Item2 (fldOffset=0x8)" P-INDEP
; V234 tmp204 [V234,T118] ( 2, 2 ) ref -> x24 single-def "field V03.Item3 (fldOffset=0x10)" P-INDEP
; V235 tmp205 [V235 ] ( 8, 8 ) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V11._obj (fldOffset=0x0)" P-DEP
; V236 tmp206 [V236 ] ( 8, 8 ) ref -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V11._result (fldOffset=0x8)" P-DEP
; V237 tmp207 [V237 ] ( 8, 8 ) short -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V11._token (fldOffset=0x10)" P-DEP
; V238 tmp208 [V238 ] ( 4, 4 ) ubyte -> [fp+0xFA] do-not-enreg[X] addr-exposed "field V11._continueOnCapturedContext (fldOffset=0x12)" P-DEP
; V239 tmp209 [V239 ] ( 6, 6 ) ref -> [fp+0xB8] do-not-enreg[X] addr-exposed "field V15._obj (fldOffset=0x0)" P-DEP
; V240 tmp210 [V240 ] ( 6, 6 ) ref -> [fp+0xC0] do-not-enreg[X] addr-exposed "field V15._result (fldOffset=0x8)" P-DEP
; V241 tmp211 [V241 ] ( 6, 6 ) short -> [fp+0xC8] do-not-enreg[X] addr-exposed "field V15._token (fldOffset=0x10)" P-DEP
; V242 tmp212 [V242 ] ( 3, 3 ) ubyte -> [fp+0xCA] do-not-enreg[X] addr-exposed "field V15._continueOnCapturedContext (fldOffset=0x12)" P-DEP
; V243 tmp213 [V243,T103] ( 3, 3 ) ref -> x15 single-def "field V31.Item1 (fldOffset=0x0)" P-INDEP
; V244 tmp214 [V244,T104] ( 3, 3 ) ref -> x21 single-def "field V31.Item2 (fldOffset=0x8)" P-INDEP
; V245 tmp215 [V245,T105] ( 3, 3 ) ref -> x0 single-def "field V31.Item3 (fldOffset=0x10)" P-INDEP
; V246 tmp216 [V246,T119] ( 2, 2 ) ref -> x1 "field V33._readOnlyProtocol (fldOffset=0x0)" P-INDEP
; V247 tmp217 [V247,T120] ( 2, 2 ) ref -> x1 single-def "field V55._obj (fldOffset=0x0)" P-INDEP
; V248 tmp218 [V248,T121] ( 2, 2 ) ref -> x0 single-def "field V55._result (fldOffset=0x8)" P-INDEP
; V249 tmp219 [V249,T138] ( 2, 2 ) short -> x2 "field V55._token (fldOffset=0x10)" P-INDEP
;* V250 tmp220 [V250,T152] ( 0, 0 ) ubyte -> zero-ref "field V55._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V251 tmp221 [V251,T122] ( 2, 2 ) ref -> x1 single-def "field V74._obj (fldOffset=0x0)" P-INDEP
; V252 tmp222 [V252,T123] ( 2, 2 ) ref -> x0 single-def "field V74._result (fldOffset=0x8)" P-INDEP
; V253 tmp223 [V253,T139] ( 2, 2 ) short -> x2 "field V74._token (fldOffset=0x10)" P-INDEP
;* V254 tmp224 [V254,T153] ( 0, 0 ) ubyte -> zero-ref "field V74._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V255 tmp225 [V255,T124] ( 2, 2 ) ref -> x1 single-def "field V93._obj (fldOffset=0x0)" P-INDEP
; V256 tmp226 [V256,T125] ( 2, 2 ) ref -> x0 single-def "field V93._result (fldOffset=0x8)" P-INDEP
; V257 tmp227 [V257,T140] ( 2, 2 ) short -> x2 "field V93._token (fldOffset=0x10)" P-INDEP
;* V258 tmp228 [V258,T154] ( 0, 0 ) ubyte -> zero-ref "field V93._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V259 tmp229 [V259,T126] ( 2, 2 ) ref -> x1 single-def "field V112._obj (fldOffset=0x0)" P-INDEP
; V260 tmp230 [V260,T127] ( 2, 2 ) ref -> x0 single-def "field V112._result (fldOffset=0x8)" P-INDEP
; V261 tmp231 [V261,T141] ( 2, 2 ) short -> x2 "field V112._token (fldOffset=0x10)" P-INDEP
;* V262 tmp232 [V262,T155] ( 0, 0 ) ubyte -> zero-ref "field V112._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V263 tmp233 [V263,T128] ( 2, 2 ) ref -> x1 single-def "field V131._obj (fldOffset=0x0)" P-INDEP
; V264 tmp234 [V264,T129] ( 2, 2 ) ref -> x0 single-def "field V131._result (fldOffset=0x8)" P-INDEP
; V265 tmp235 [V265,T142] ( 2, 2 ) short -> x2 "field V131._token (fldOffset=0x10)" P-INDEP
;* V266 tmp236 [V266,T156] ( 0, 0 ) ubyte -> zero-ref "field V131._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V267 tmp237 [V267,T130] ( 2, 2 ) ref -> x1 single-def "field V150._obj (fldOffset=0x0)" P-INDEP
; V268 tmp238 [V268,T131] ( 2, 2 ) ref -> x0 single-def "field V150._result (fldOffset=0x8)" P-INDEP
; V269 tmp239 [V269,T143] ( 2, 2 ) short -> x2 "field V150._token (fldOffset=0x10)" P-INDEP
;* V270 tmp240 [V270,T157] ( 0, 0 ) ubyte -> zero-ref "field V150._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V271 tmp241 [V271,T132] ( 2, 2 ) ref -> x1 single-def "field V169._obj (fldOffset=0x0)" P-INDEP
; V272 tmp242 [V272,T133] ( 2, 2 ) ref -> x0 single-def "field V169._result (fldOffset=0x8)" P-INDEP
; V273 tmp243 [V273,T144] ( 2, 2 ) short -> x2 "field V169._token (fldOffset=0x10)" P-INDEP
;* V274 tmp244 [V274,T158] ( 0, 0 ) ubyte -> zero-ref "field V169._continueOnCapturedContext (fldOffset=0x12)" P-INDEP
; V275 tmp245 [V275,T106] ( 3, 3 ) byref -> x1 "field V193._reference (fldOffset=0x0)" P-INDEP
; V276 tmp246 [V276,T113] ( 3, 3 ) int -> x2 "field V193._length (fldOffset=0x8)" P-INDEP
;* V277 tmp247 [V277 ] ( 0, 0 ) byref -> zero-ref "field V194._reference (fldOffset=0x0)" P-INDEP
;* V278 tmp248 [V278 ] ( 0, 0 ) int -> zero-ref "field V194._length (fldOffset=0x8)" P-INDEP
;* V279 tmp249 [V279 ] ( 0, 0 ) byref -> zero-ref single-def "field V196._reference (fldOffset=0x0)" P-INDEP
;* V280 tmp250 [V280 ] ( 0, 0 ) int -> zero-ref "field V196._length (fldOffset=0x8)" P-INDEP
;* V281 tmp251 [V281 ] ( 0, 0 ) byref -> zero-ref single-def "field V200._reference (fldOffset=0x0)" P-INDEP
;* V282 tmp252 [V282 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP
;* V283 tmp253 [V283 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP
;* V284 tmp254 [V284 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP
;* V285 tmp255 [V285 ] ( 0, 0 ) byref -> zero-ref single-def "field V205._reference (fldOffset=0x0)" P-INDEP
;* V286 tmp256 [V286 ] ( 0, 0 ) int -> zero-ref "field V205._length (fldOffset=0x8)" P-INDEP
;* V287 tmp257 [V287 ] ( 0, 0 ) byref -> zero-ref single-def "field V209._reference (fldOffset=0x0)" P-INDEP
;* V288 tmp258 [V288 ] ( 0, 0 ) int -> zero-ref "field V209._length (fldOffset=0x8)" P-INDEP
;* V289 tmp259 [V289 ] ( 0, 0 ) ref -> zero-ref single-def "V32.[000..008)"
;* V290 tmp260 [V290 ] ( 0, 0 ) ref -> zero-ref single-def "V32.[008..016)"
;* V291 tmp261 [V291 ] ( 0, 0 ) int -> zero-ref "V32.[016..020)"
;* V292 tmp262 [V292 ] ( 0, 0 ) ubyte -> zero-ref "V32.[020..021)"
;* V293 tmp263 [V293 ] ( 0, 0 ) byref -> zero-ref single-def "V32.[024..032)"
;* V294 tmp264 [V294 ] ( 0, 0 ) int -> zero-ref "V32.[032..036)"
; V295 tmp265 [V295,T70] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V296 tmp266 [V296,T71] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V297 tmp267 [V297,T72] ( 2, 4 ) ref -> x19 single-def "argument with side effect"
; V298 tmp268 [V298,T90] ( 2, 4 ) int -> x2 "argument with side effect"
; V299 tmp269 [V299,T73] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V300 tmp270 [V300,T74] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V301 tmp271 [V301,T75] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V302 tmp272 [V302,T76] ( 2, 4 ) ref -> x0 single-def "argument with side effect"
; V303 tmp273 [V303,T77] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V304 tmp274 [V304,T78] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
; V305 PSPSym [V305,T159] ( 1, 1 ) long -> [fp+0x118] do-not-enreg[V] "PSPSym"
-; V306 cse0 [V306,T107] ( 3, 3 ) ref -> x19 "CSE #24: conservative"
-; V307 cse1 [V307,T108] ( 3, 3 ) ref -> x19 "CSE #17: conservative"
-; V308 cse2 [V308,T114] ( 3, 3 ) int -> x1 "CSE #25: conservative"
+; V306 cse0 [V306,T107] ( 3, 3 ) ref -> x19 "CSE #25: conservative"
+; V307 cse1 [V307,T108] ( 3, 3 ) ref -> x19 "CSE #18: conservative"
+; V308 cse2 [V308,T114] ( 3, 3 ) int -> x1 "CSE #26: conservative"
; V309 cse3 [V309,T109] ( 3, 3 ) ref -> x2 "CSE #01: conservative"
; V310 cse4 [V310,T110] ( 3, 3 ) ref -> x0 "CSE #05: conservative"
; V311 cse5 [V311,T111] ( 3, 3 ) ref -> x0 "CSE #08: conservative"
-; V312 cse6 [V312,T10] ( 7, 14 ) byref -> x0 "CSE #26: aggressive"
-; V313 cse7 [V313,T03] ( 23, 23 ) long -> x19 multi-def "CSE #02: aggressive"
-; V314 cse8 [V314,T04] ( 20, 20 ) byref -> x14 multi-def "CSE #03: aggressive"
+; V312 cse6 [V312,T10] ( 7, 14 ) byref -> x0 "CSE #27: aggressive"
+; V313 cse7 [V313,T04] ( 18, 18 ) long -> x19 multi-def "CSE #02: aggressive"
+; V314 cse8 [V314,T03] ( 20, 20 ) byref -> x14 multi-def "CSE #03: aggressive"
; V315 cse9 [V315,T08] ( 15, 15 ) byref -> x14 multi-def "CSE #07: aggressive"
; V316 rat0 [V316,T18] ( 3, 5.78) int -> x21 "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 272
G_M36868_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD1FFAB1E]
stp x21, x22, [sp, #0xD1FFAB1E]
stp x23, x24, [sp, #0xD1FFAB1E]
mov fp, sp
movi v16.16b, #0
add x9, fp, #88
add x10, fp, #216
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] // [V305 PSPSym]
str x0, [fp, #0x10] // [V00 this]
mov x1, x0
;; size=84 bbWeight=1 PerfScore 17.00
G_M36868_IG02:
ldr w19, [x1, #0x18]
ldr x20, [x1]
;; size=8 bbWeight=1 PerfScore 6.00
G_M36868_IG03:
cmp w19, #6
bhi G_M36868_IG05
;; size=8 bbWeight=1 PerfScore 1.50
G_M36868_IG04:
mov w0, w19
adr x2, [@RWD00]
ldr w2, [x2, x0, LSL #2]
adr x3, [G_M36868_IG02]
add x2, x2, x3
br x2
;; size=24 bbWeight=0.88 PerfScore 5.25
G_M36868_IG05:
mov x19, xzr
str xzr, [x1, #0x10]
ldrb w21, [x20, #0xD0]
cmp w21, #7
bhi G_M36868_IG73
;; size=20 bbWeight=1 PerfScore 6.00
G_M36868_IG06:
mov w2, w21
adr x4, [@RWD28]
ldr w4, [x4, x2, LSL #2]
adr x3, [G_M36868_IG02]
add x4, x4, x3
br x4
;; size=24 bbWeight=0.89 PerfScore 5.33
G_M36868_IG07:
ldr x2, [x20, #0x18]
ldr x1, [x2, #0x08]
ldr w2, [x2, #0x18]
ldr x22, [fp, #0x10] // [V00 this]
ldrb w4, [x22, #0x1C]
ldr x3, [x22, #0x08]
ldr x5, [x22, #0x40]
add x8, fp, #232 // [V11 loc10]
mov x0, x20
movz x6, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:ConnectToTcpHostAsync(System.String,int,System.Net.Http.HttpRequestMessage,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Stream]:this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
ldp x1, x0, [fp, #0xE8] // [V235 tmp205], [V236 tmp206]
ldrsh x2, [fp, #0xF8] // [V237 tmp207]
stp x1, x0, [fp, #0xD1FFAB1E] // [V10 loc9], [V10 loc9+0x08]
strh w2, [fp, #0xD1FFAB1E] // [V10 loc9+0x10]
strb wzr, [fp, #0xD1FFAB1E] // [V10 loc9+0x12]
ldr x19, [fp, #0xD1FFAB1E] // [V10 loc9]
cbz x19, G_M36868_IG13
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_M36868_IG08
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG13
b G_M36868_IG09
;; size=148 bbWeight=1 PerfScore 52.50
G_M36868_IG08:
mov x0, x19
ldrsh w1, [fp, #0xD1FFAB1E] // [V10 loc9+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG13
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG09:
ldr x22, [fp, #0x10] // [V00 this]
str wzr, [x22, #0x18]
add x14, x22, #72
add x13, fp, #0xD1FFAB1E // [V10 loc9]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x22, #32
mov x1, x22
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #0xD1FFAB1E // [V10 loc9]
add x0, x19, #248
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
- align [0 bytes for IG98]
+ align [4 bytes for IG98]
align [0 bytes]
align [0 bytes]
align [0 bytes]
- ;; size=112 bbWeight=1 PerfScore 26.50
+ ;; size=116 bbWeight=1 PerfScore 26.50
G_M36868_IG10:
add x14, x1, #72
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG11:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0xD1FFAB1E]
ldr x0, [x14, #0x10]
str x0, [fp, #0xD1FFAB1E]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG12:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
;; size=16 bbWeight=1 PerfScore 3.50
G_M36868_IG13:
ldr x22, [fp, #0xD1FFAB1E] // [V10 loc9]
cbnz x22, G_M36868_IG14
ldr x23, [fp, #0xD1FFAB1E] // [V10 loc9+0x08]
b G_M36868_IG17
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG14:
mov x1, x22
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x23, x0
cbz x23, G_M36868_IG16
add x0, x23, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG15
mov x0, x23
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG15:
ldr x23, [x23, #0x38]
b G_M36868_IG17
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG16:
mov x0, x22
ldrsh w1, [fp, #0xD1FFAB1E] // [V10 loc9+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x23, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG17:
mov x19, x23
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:<ConnectAsync>g__GetRemoteEndPoint|51_0(System.IO.Stream):System.Net.IPEndPoint
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x21, [fp, #0x10] // [V00 this]
add x14, x21, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldrb w2, [x20, #0xD0]
cmp w2, #5
bne G_M36868_IG73
ldr x0, [x20, #0x48]
cbz x0, G_M36868_IG73
ldr x1, [fp, #0x10] // [V00 this]
ldrb w2, [x1, #0x1C]
ldr x1, [x1, #0x08]
ldr x21, [fp, #0x10] // [V00 this]
ldr x4, [x21, #0x40]
add x8, fp, #184 // [V15 loc14]
mov x3, x23
movz x5, #0xD1FFAB1E // code for System.Net.Http.ConnectHelper:EstablishSslConnectionAsync(System.Net.Security.SslClientAuthenticationOptions,System.Net.Http.HttpRequestMessage,ubyte,System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldp x1, x0, [fp, #0xB8] // [V239 tmp209], [V240 tmp210]
ldrsh x2, [fp, #0xC8] // [V241 tmp211]
stp x1, x0, [fp, #0xD0] // [V14 loc13], [V14 loc13+0x08]
strh w2, [fp, #0xE0] // [V14 loc13+0x10]
strb wzr, [fp, #0xE2] // [V14 loc13+0x12]
ldr x19, [fp, #0xD0] // [V14 loc13]
cbz x19, G_M36868_IG23
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_M36868_IG18
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG23
b G_M36868_IG19
;; size=204 bbWeight=1 PerfScore 64.50
G_M36868_IG18:
mov x0, x19
ldrsh w1, [fp, #0xE0] // [V14 loc13+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG23
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG19:
mov w14, #1
str w14, [x21, #0x18]
add x14, x21, #96
add x13, fp, #208 // [V14 loc13]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x21, #32
mov x1, x21
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #208 // [V14 loc13]
- add x0, x19, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
- ;; size=112 bbWeight=1 PerfScore 25.00
+ ;; size=120 bbWeight=1 PerfScore 26.00
G_M36868_IG20:
add x14, x1, #96
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG21:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0xD0]
ldr x0, [x14, #0x10]
str x0, [fp, #0xE0]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG22:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
mov x21, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M36868_IG23:
- ldr x19, [fp, #0xD0] // [V14 loc13]
- cbnz x19, G_M36868_IG24
+ ldr x24, [fp, #0xD0] // [V14 loc13]
+ cbnz x24, G_M36868_IG24
ldr x19, [fp, #0xD8] // [V14 loc13+0x08]
b G_M36868_IG27
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG24:
- mov x1, x19
+ mov x1, x24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for CORINFO_HELP_ISINSTANCEOFCLASS
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x24, x0
- cbz x24, G_M36868_IG26
- add x0, x24, #52
+ mov x19, x0
+ cbz x19, G_M36868_IG26
+ add x0, x19, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG25
- mov x0, x24
+ mov x0, x19
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG25:
- ldr x19, [x24, #0x38]
+ ldr x19, [x19, #0x38]
b G_M36868_IG27
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG26:
- mov x0, x19
+ mov x0, x24
ldrsh w1, [fp, #0xE0] // [V14 loc13+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x19, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG27:
b G_M36868_IG73
;; size=4 bbWeight=1 PerfScore 1.00
G_M36868_IG28:
ldr x0, [x20, #0x10]
movz x2, #0xD1FFAB1E // code for System.Uri:get_IdnHost():System.String:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
mov x19, x0
ldr x0, [x20, #0x10]
movz x1, #0xD1FFAB1E // code for System.Uri:get_Port():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
ldr wzr, [x0]
blr x1
sxtw w2, w0
mov x1, x19
ldr x22, [fp, #0x10] // [V00 this]
ldrb w4, [x22, #0x1C]
ldr x3, [x22, #0x08]
ldr x5, [x22, #0x40]
add x8, fp, #232 // [V11 loc10]
mov x0, x20
movz x6, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:ConnectToTcpHostAsync(System.String,int,System.Net.Http.HttpRequestMessage,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Stream]:this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
ldp x1, x0, [fp, #0xE8] // [V235 tmp205], [V236 tmp206]
ldrsh x2, [fp, #0xF8] // [V237 tmp207]
stp x1, x0, [fp, #0xA0] // [V18 loc17], [V18 loc17+0x08]
strh w2, [fp, #0xB0] // [V18 loc17+0x10]
strb wzr, [fp, #0xB2] // [V18 loc17+0x12]
ldr x19, [fp, #0xA0] // [V18 loc17]
cbz x19, G_M36868_IG34
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_M36868_IG29
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG34
b G_M36868_IG30
;; size=204 bbWeight=1 PerfScore 68.00
G_M36868_IG29:
mov x0, x19
ldrsh w1, [fp, #0xB0] // [V18 loc17+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG34
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG30:
mov w14, #2
ldr x22, [fp, #0x10] // [V00 this]
str w14, [x22, #0x18]
add x14, x22, #72
add x13, fp, #160 // [V18 loc17]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x22, #32
mov x1, x22
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #160 // [V18 loc17]
add x0, x19, #248
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
;; size=116 bbWeight=1 PerfScore 27.00
G_M36868_IG31:
add x14, x1, #72
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG32:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0xA0]
ldr x0, [x14, #0x10]
str x0, [fp, #0xB0]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG33:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
;; size=16 bbWeight=1 PerfScore 3.50
G_M36868_IG34:
ldr x19, [fp, #0xA0] // [V18 loc17]
cbnz x19, G_M36868_IG35
ldr x21, [fp, #0xA8] // [V18 loc17+0x08]
b G_M36868_IG38
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG35:
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
mov x21, x0
cbz x21, G_M36868_IG37
add x0, x21, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG36
mov x0, x21
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG36:
ldr x21, [x21, #0x38]
b G_M36868_IG38
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG37:
mov x0, x19
ldrsh w1, [fp, #0xB0] // [V18 loc17+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x21, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG38:
mov x19, x21
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:<ConnectAsync>g__GetRemoteEndPoint|51_0(System.IO.Stream):System.Net.IPEndPoint
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x22, [fp, #0x10] // [V00 this]
add x14, x22, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
ldr x0, [x20, #0x48]
cbz x0, G_M36868_IG73
ldr x1, [fp, #0x10] // [V00 this]
ldrb w2, [x1, #0x1C]
ldr x1, [x1, #0x08]
ldr x22, [fp, #0x10] // [V00 this]
ldr x4, [x22, #0x40]
add x8, fp, #184 // [V15 loc14]
mov x3, x21
movz x5, #0xD1FFAB1E // code for System.Net.Http.ConnectHelper:EstablishSslConnectionAsync(System.Net.Security.SslClientAuthenticationOptions,System.Net.Http.HttpRequestMessage,ubyte,System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldp x1, x0, [fp, #0xB8] // [V239 tmp209], [V240 tmp210]
ldrsh x2, [fp, #0xC8] // [V241 tmp211]
stp x1, x0, [fp, #0x88] // [V20 loc19], [V20 loc19+0x08]
strh w2, [fp, #0x98] // [V20 loc19+0x10]
strb wzr, [fp, #0x9A] // [V20 loc19+0x12]
ldr x19, [fp, #0x88] // [V20 loc19]
cbz x19, G_M36868_IG44
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_M36868_IG39
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG44
b G_M36868_IG40
;; size=192 bbWeight=1 PerfScore 60.00
G_M36868_IG39:
mov x0, x19
ldrsh w1, [fp, #0x98] // [V20 loc19+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG44
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG40:
mov w14, #3
str w14, [x22, #0x18]
add x14, x22, #96
add x13, fp, #136 // [V20 loc19]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x22, #32
mov x1, x22
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #136 // [V20 loc19]
- add x0, x19, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
- ;; size=112 bbWeight=1 PerfScore 25.00
+ ;; size=120 bbWeight=1 PerfScore 26.00
G_M36868_IG41:
add x14, x1, #96
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG42:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0x88]
ldr x0, [x14, #0x10]
str x0, [fp, #0x98]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG43:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
mov x22, x1
;; size=20 bbWeight=1 PerfScore 4.00
G_M36868_IG44:
ldr x19, [fp, #0x88] // [V20 loc19]
cbnz x19, G_M36868_IG45
ldr x19, [fp, #0x90] // [V20 loc19+0x08]
b G_M36868_IG48
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG45:
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
mov x21, x0
cbz x21, G_M36868_IG47
add x0, x21, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG46
mov x0, x21
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG46:
ldr x19, [x21, #0x38]
b G_M36868_IG48
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG47:
mov x0, x19
ldrsh w1, [fp, #0x98] // [V20 loc19+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x19, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG48:
b G_M36868_IG73
;; size=4 bbWeight=1 PerfScore 1.00
G_M36868_IG49:
ldr x1, [fp, #0x10] // [V00 this]
ldrb w1, [x1, #0x1C]
ldr x22, [fp, #0x10] // [V00 this]
ldr x2, [x22, #0x40]
add x8, fp, #232 // [V11 loc10]
mov x0, x20
movz x3, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:EstablishProxyTunnelAsync(ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Stream]:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldp x1, x0, [fp, #0xE8] // [V235 tmp205], [V236 tmp206]
ldrsh x2, [fp, #0xF8] // [V237 tmp207]
stp x1, x0, [fp, #0x70] // [V22 loc21], [V22 loc21+0x08]
strh w2, [fp, #0x80] // [V22 loc21+0x10]
strb wzr, [fp, #0x82] // [V22 loc21+0x12]
ldr x19, [fp, #0x70] // [V22 loc21]
cbz x19, G_M36868_IG55
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_M36868_IG50
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG55
b G_M36868_IG51
;; size=136 bbWeight=1 PerfScore 42.50
G_M36868_IG50:
mov x0, x19
ldrsh w1, [fp, #0x80] // [V22 loc21+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG55
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG51:
mov w14, #4
ldr x22, [fp, #0x10] // [V00 this]
str w14, [x22, #0x18]
add x14, x22, #72
add x13, fp, #112 // [V22 loc21]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x22, #32
mov x1, x22
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #112 // [V22 loc21]
add x0, x19, #248
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
;; size=116 bbWeight=1 PerfScore 27.00
G_M36868_IG52:
add x14, x1, #72
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG53:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0x70]
ldr x0, [x14, #0x10]
str x0, [fp, #0x80]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG54:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
;; size=16 bbWeight=1 PerfScore 3.50
G_M36868_IG55:
ldr x19, [fp, #0x70] // [V22 loc21]
cbnz x19, G_M36868_IG56
ldr x19, [fp, #0x78] // [V22 loc21+0x08]
b G_M36868_IG59
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG56:
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
mov x21, x0
cbz x21, G_M36868_IG58
add x0, x21, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG57
mov x0, x21
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG57:
ldr x19, [x21, #0x38]
b G_M36868_IG59
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG58:
mov x0, x19
ldrsh w1, [fp, #0x80] // [V22 loc21+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x19, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG59:
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_M36868_IG73
ldr x0, [x0, #0x10]
cbnz x0, G_M36868_IG60
mov x0, xzr
b G_M36868_IG61
;; size=56 bbWeight=1 PerfScore 14.00
G_M36868_IG60:
ldr x0, [x0, #0x48]
;; size=4 bbWeight=1 PerfScore 3.00
G_M36868_IG61:
cbz x0, G_M36868_IG73
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:<ConnectAsync>g__GetRemoteEndPoint|51_0(System.IO.Stream):System.Net.IPEndPoint
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x22, [fp, #0x10] // [V00 this]
add x14, x22, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M36868_IG73
;; size=44 bbWeight=1 PerfScore 11.50
G_M36868_IG62:
ldr x1, [fp, #0x10] // [V00 this]
ldrb w2, [x1, #0x1C]
ldr x1, [x1, #0x08]
ldr x22, [fp, #0x10] // [V00 this]
ldr x3, [x22, #0x40]
add x8, fp, #232 // [V11 loc10]
mov x0, x20
movz x4, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:EstablishSocksTunnel(System.Net.Http.HttpRequestMessage,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.IO.Stream]:this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
ldp x1, x0, [fp, #0xE8] // [V235 tmp205], [V236 tmp206]
ldrsh x2, [fp, #0xF8] // [V237 tmp207]
stp x1, x0, [fp, #0x58] // [V24 loc23], [V24 loc23+0x08]
strh w2, [fp, #0x68] // [V24 loc23+0x10]
strb wzr, [fp, #0x6A] // [V24 loc23+0x12]
ldr x19, [fp, #0x58] // [V24 loc23]
cbz x19, G_M36868_IG68
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_M36868_IG63
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG68
b G_M36868_IG64
;; size=140 bbWeight=1 PerfScore 45.50
G_M36868_IG63:
mov x0, x19
ldrsh w1, [fp, #0x68] // [V24 loc23+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG68
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG64:
mov w14, #5
ldr x22, [fp, #0x10] // [V00 this]
str w14, [x22, #0x18]
add x14, x22, #72
add x13, fp, #88 // [V24 loc23]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x22, #32
mov x1, x22
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #88 // [V24 loc23]
add x0, x19, #248
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
;; size=116 bbWeight=1 PerfScore 27.00
G_M36868_IG65:
add x14, x1, #72
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG66:
ldp x0, x2, [x14]
stp x0, x2, [fp, #0x58]
ldr x0, [x14, #0x10]
str x0, [fp, #0x68]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG67:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w0, #0
str w0, [x1, #0x18]
;; size=16 bbWeight=1 PerfScore 3.50
G_M36868_IG68:
ldr x19, [fp, #0x58] // [V24 loc23]
cbnz x19, G_M36868_IG69
ldr x19, [fp, #0x60] // [V24 loc23+0x08]
b G_M36868_IG72
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG69:
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
mov x21, x0
cbz x21, G_M36868_IG71
add x0, x21, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG70
mov x0, x21
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG70:
ldr x19, [x21, #0x38]
b G_M36868_IG72
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG71:
mov x0, x19
ldrsh w1, [fp, #0x68] // [V24 loc23+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x19, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG72:
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:<ConnectAsync>g__GetRemoteEndPoint|51_0(System.IO.Stream):System.Net.IPEndPoint
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x22, [fp, #0x10] // [V00 this]
add x14, x22, #16
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=40 bbWeight=1 PerfScore 10.00
G_M36868_IG73:
mov x21, xzr
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:get_IsSecure():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M36868_IG91
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
mov x22, x0
cbnz x22, G_M36868_IG84
ldr x1, [fp, #0x10] // [V00 this]
ldr x1, [x1, #0x08]
mov x0, x20
movz x2, #0xD1FFAB1E // code for System.Net.Http.HttpConnectionPool:GetSslOptionsForRequest(System.Net.Http.HttpRequestMessage):System.Net.Security.SslClientAuthenticationOptions:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [fp, #0x10] // [V00 this]
ldrb w2, [x1, #0x1C]
ldr x1, [x1, #0x08]
ldr x21, [fp, #0x10] // [V00 this]
ldr x4, [x21, #0x40]
add x8, fp, #184 // [V15 loc14]
mov x3, x19
movz x5, #0xD1FFAB1E // code for System.Net.Http.ConnectHelper:EstablishSslConnectionAsync(System.Net.Security.SslClientAuthenticationOptions,System.Net.Http.HttpRequestMessage,ubyte,System.IO.Stream,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[System.Net.Security.SslStream]
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldp x1, x0, [fp, #0xB8] // [V239 tmp209], [V240 tmp210]
ldrsh x2, [fp, #0xC8] // [V241 tmp211]
stp x1, x0, [fp, #0x40] // [V27 loc26], [V27 loc26+0x08]
strh w2, [fp, #0x50] // [V27 loc26+0x10]
strb wzr, [fp, #0x52] // [V27 loc26+0x12]
ldr x22, [fp, #0x40] // [V27 loc26]
cbz x22, G_M36868_IG79
mov x1, x22
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_M36868_IG74
add x0, x0, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
tst w0, w1
bne G_M36868_IG79
b G_M36868_IG75
;; size=248 bbWeight=1 PerfScore 73.00
G_M36868_IG74:
mov x0, x22
ldrsh w1, [fp, #0x50] // [V27 loc26+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetStatus(short):int:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
cbnz w0, G_M36868_IG79
;; size=32 bbWeight=1 PerfScore 9.00
G_M36868_IG75:
mov w14, #6
str w14, [x21, #0x18]
add x14, x21, #96
add x13, fp, #64 // [V27 loc26]
bl CORINFO_HELP_ASSIGN_BYREF
bl CORINFO_HELP_ASSIGN_BYREF
ldr x12, [x13], #0x08
str x12, [x14], #0x08
add x2, x21, #32
mov x1, x21
movz x19, #0xD1FFAB1E
movk x19, #0xD1FFAB1E LSL #16
movk x19, #0xD1FFAB1E LSL #32
mov x0, x19
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:GetStateMachineBox[System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51](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, #64 // [V27 loc26]
- add x0, x19, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M36868_IG104
- ;; size=112 bbWeight=1 PerfScore 25.00
+ ;; size=120 bbWeight=1 PerfScore 26.00
G_M36868_IG76:
add x14, x1, #96
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG77:
ldp x2, x4, [x14]
stp x2, x4, [fp, #0x40]
ldr x2, [x14, #0x10]
str x2, [fp, #0x50]
;; size=16 bbWeight=1 PerfScore 9.00
G_M36868_IG78:
stp xzr, xzr, [x14]
str xzr, [x14, #0x10]
movn w2, #0
str w2, [x1, #0x18]
ldr x21, [fp, #0x10] // [V00 this]
;; size=20 bbWeight=1 PerfScore 5.50
G_M36868_IG79:
ldr x20, [fp, #0x40] // [V27 loc26]
cbnz x20, G_M36868_IG80
ldr x22, [fp, #0x48] // [V27 loc26+0x08]
b G_M36868_IG83
;; size=16 bbWeight=1 PerfScore 6.00
G_M36868_IG80:
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
mov x22, x0
cbz x22, G_M36868_IG82
add x0, x22, #52
ldapr w0, [x0]
mov w1, #0xD1FFAB1E
and w0, w0, w1
mov w1, #0xD1FFAB1E
cmp w0, w1
beq G_M36868_IG81
mov x0, x22
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=100 bbWeight=1 PerfScore 22.00
G_M36868_IG81:
ldr x22, [x22, #0x38]
b G_M36868_IG83
;; size=8 bbWeight=1 PerfScore 4.00
G_M36868_IG82:
mov x0, x20
ldrsh w1, [fp, #0x50] // [V27 loc26+0x10]
movz x11, #0xD1FFAB1E // code for System.Threading.Tasks.Sources.IValueTaskSource`1[System.__Canon]:GetResult(short):System.__Canon:this
movk x11, #0xD1FFAB1E LSL #16
movk x11, #0xD1FFAB1E LSL #32
ldr x2, [x11]
blr x2
mov x22, x0
;; size=32 bbWeight=1 PerfScore 8.50
G_M36868_IG83:
b G_M36868_IG90
;; size=4 bbWeight=1 PerfScore 1.00
G_M36868_IG84:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x19, [x0]
ldrb w0, [x19, #0x9D]
cbz w0, G_M36868_IG90
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
mov w1, #0xD1FFAB1E
movz x2, #0xD1FFAB1E // code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz x0, G_M36868_IG85
mov x1, xzr
mov w2, wzr
b G_M36868_IG86
;; size=80 bbWeight=1 PerfScore 22.00
G_M36868_IG85:
add x1, x0, #16
ldr w2, [x0, #0x08]
;; size=8 bbWeight=1 PerfScore 3.50
G_M36868_IG86:
stp xzr, x0, [fp, #0x18] // [V28 loc27], [V28 loc27+0x08]
str wzr, [fp, #0x28] // [V28 loc27+0x10]
strb wzr, [fp, #0x2C] // [V28 loc27+0x14]
str x1, [fp, #0x30] // [V28 loc27+0x18]
str w2, [fp, #0x38] // [V28 loc27+0x20]
ldr w0, [fp, #0x28] // [V28 loc27+0x10]
ldr w1, [fp, #0x38] // [V28 loc27+0x20]
cmp w0, w1
bhi G_M36868_IG92
ldr x1, [fp, #0x30] // [V28 loc27+0x18]
ubfiz x2, x0, #1, #32
add x1, x1, x2
ldr w2, [fp, #0x38] // [V28 loc27+0x20]
sub w0, w2, w0
cmp w0, #40
blo G_M36868_IG87
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
mov x0, x1
mov x1, x2
mov x2, #80
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] // [V28 loc27+0x10]
add w0, w0, #40
str w0, [fp, #0x28] // [V28 loc27+0x10]
b G_M36868_IG88
;; size=124 bbWeight=1 PerfScore 31.00
G_M36868_IG87:
add x0, fp, #24 // [V28 loc27]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
;; size=36 bbWeight=1 PerfScore 7.50
G_M36868_IG88:
mov x0, x22
movz x1, #0xD1FFAB1E // code for System.Net.Security.SslStream:get_NegotiatedApplicationProtocol():System.Net.Security.SslApplicationProtocol:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x1, x0
add x0, fp, #24 // [V28 loc27]
movz x2, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[System.Net.Security.SslApplicationProtocol](System.Net.Security.SslApplicationProtocol):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr w0, [fp, #0x28] // [V28 loc27+0x10]
ldr w1, [fp, #0x38] // [V28 loc27+0x20]
cmp w0, w1
bhi G_M36868_IG92
ldr x1, [fp, #0x30] // [V28 loc27+0x18]
ubfiz x2, x0, #1, #32
add x1, x1, x2
ldr w2, [fp, #0x38] // [V28 loc27+0x20]
sub w0, w2, w0
cbz w0, G_M36868_IG93
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldrh w2, [x0]
strh w2, [x1]
ldr w0, [fp, #0x28] // [V28 loc27+0x10]
add w0, w0, #1
str w0, [fp, #0x28] // [V28 loc27+0x10]
;; size=124 bbWeight=1 PerfScore 34.00
G_M36868_IG89:
add x0, fp, #24 // [V28 loc27]
movz x1, #0xD1FFAB1E // code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x23, x0
ldrsb wzr, [x20]
mov x0, x20
bl System.Runtime.CompilerServices.RuntimeHelpers:GetHashCode(System.Object):int
sxtw w2, w0
mov x0, x19
mov x6, x23
mov w1, #8
mov w3, wzr
mov w4, wzr
movz x5, #0xD1FFAB1E
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
movz x7, #0xD1FFAB1E // code for System.Net.NetEventSource:WriteEvent(int,int,int,int,System.String,System.String):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
;; size=96 bbWeight=1 PerfScore 21.00
G_M36868_IG90:
ldr x21, [fp, #0x10] // [V00 this]
ldrsb wzr, [x22]
- movz x19, #0xD1FFAB1E
- movk x19, #0xD1FFAB1E LSL #16
- movk x19, #0xD1FFAB1E LSL #32
- add x0, x19, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #8
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
mov x20, x0
mov x19, x22
mov x21, x20
- ;; size=52 bbWeight=1 PerfScore 11.50
+ ;; size=48 bbWeight=1 PerfScore 11.00
G_M36868_IG91:
ldr x20, [fp, #0x10] // [V00 this]
ldr x0, [x20, #0x10]
mov x15, x19
mov x22, x15
mov x23, x21
mov x24, x0
b G_M36868_IG94
;; size=28 bbWeight=1 PerfScore 8.00
G_M36868_IG92:
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_M36868_IG93:
add x0, fp, #24 // [V28 loc27]
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_M36868_IG89
;; size=40 bbWeight=1 PerfScore 8.50
G_M36868_IG94:
movn w14, #1
str w14, [x20, #0x18]
str xzr, [x20, #0x10]
add x20, x20, #32
ldr x14, [x20]
cbnz x14, G_M36868_IG95
add x14, x20, #8
bl CORINFO_HELP_CHECKED_ASSIGN_REF
add x14, x20, #16
mov x15, x21
bl CORINFO_HELP_CHECKED_ASSIGN_REF
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_CHECKED_ASSIGN_REF
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #26
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x14, #0xD1FFAB1E // data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.ValueTuple`3[System.IO.Stream,System.Net.TransportContext,System.Net.IPEndPoint]]:s_syncSuccessSentinel
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
mov x14, x20
bl CORINFO_HELP_CHECKED_ASSIGN_REF
b G_M36868_IG104
;; size=104 bbWeight=1 PerfScore 22.50
G_M36868_IG95:
ldr x20, [x20]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M36868_IG107
;; size=24 bbWeight=1 PerfScore 8.50
G_M36868_IG96:
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_M36868_IG97
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, [x19, #0x9D]
cbz w1, G_M36868_IG97
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_M36868_IG97
mov x0, x19
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=148 bbWeight=1 PerfScore 44.00
G_M36868_IG97:
add x0, x20, #52
ldapr w14, [x0]
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M36868_IG106
orr w15, w14, #0xD1FFAB1E
mov w12, w14
casal w12, w15, [x0]
cmp w12, w14
beq G_M36868_IG102
ldapr w14, [x0]
;; size=44 bbWeight=1 PerfScore 14.00
G_M36868_IG98:
mov w15, #0xD1FFAB1E
tst w14, w15
bne G_M36868_IG99
orr w15, w14, #0xD1FFAB1E
mov w12, w14
casal w12, w15, [x0]
cmp w12, w14
beq G_M36868_IG100
sxtw w14, w12
b G_M36868_IG98
;; size=40 bbWeight=8 PerfScore 72.00
G_M36868_IG99:
mov w1, wzr
b G_M36868_IG101
;; size=8 bbWeight=1 PerfScore 1.50
G_M36868_IG100:
mov w1, #1
;; size=4 bbWeight=1 PerfScore 0.50
G_M36868_IG101:
b G_M36868_IG105
;; size=4 bbWeight=1 PerfScore 1.00
G_M36868_IG102:
add x14, x20, #56
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x20, #64
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
add x14, x20, #72
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
ldapr w1, [x0]
orr w1, w1, #0xD1FFAB1E
swpal w1, w0, [x0]
ldr x19, [x20, #0x28]
cbz x19, G_M36868_IG103
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_M36868_IG103
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=112 bbWeight=1 PerfScore 32.50
G_M36868_IG103:
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
;; size=24 bbWeight=1 PerfScore 6.00
G_M36868_IG104:
ldp x23, x24, [sp, #0xD1FFAB1E]
ldp x21, x22, [sp, #0xD1FFAB1E]
ldp x19, x20, [sp, #0xD1FFAB1E]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=20 bbWeight=1 PerfScore 5.00
G_M36868_IG105:
cbnz w1, G_M36868_IG102
;; size=4 bbWeight=1 PerfScore 1.00
G_M36868_IG106:
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_M36868_IG107:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M36868_IG96
;; size=24 bbWeight=0 PerfScore 0.00
G_M36868_IG108:
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_M36868_IG109:
mov x2, x0
movn w0, #1
ldr x21, [fp, #0x10] // [V00 this]
str w0, [x21, #0x18]
str xzr, [x21, #0x10]
add x0, x21, #32
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1[System.ValueTuple`3[System.__Canon,System.__Canon,System.__Canon]]:SetException(System.Exception):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
adr x0, [G_M36868_IG104]
;; size=60 bbWeight=0 PerfScore 0.00
G_M36868_IG110:
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_M36868_IG10 - G_M36868_IG02
dd G_M36868_IG20 - G_M36868_IG02
dd G_M36868_IG31 - G_M36868_IG02
dd G_M36868_IG41 - G_M36868_IG02
dd G_M36868_IG52 - G_M36868_IG02
dd G_M36868_IG65 - G_M36868_IG02
dd G_M36868_IG76 - G_M36868_IG02
RWD28 dd G_M36868_IG07 - G_M36868_IG02
dd G_M36868_IG07 - G_M36868_IG02
dd G_M36868_IG28 - G_M36868_IG02
dd G_M36868_IG49 - G_M36868_IG02
dd G_M36868_IG49 - G_M36868_IG02
dd G_M36868_IG07 - G_M36868_IG02
dd G_M36868_IG62 - G_M36868_IG02
dd G_M36868_IG62 - G_M36868_IG02
-; Total bytes of code 5276, prolog size 84, PerfScore 1467.08, instruction count 1323, allocated bytes for code 5276 (MethodHash=a6736ffb) for method System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51:MoveNext():this (FullOpts)
+; Total bytes of code 5300, prolog size 84, PerfScore 1469.58, instruction count 1328, allocated bytes for code 5300 (MethodHash=a6736ffb) for method System.Net.Http.HttpConnectionPool+<ConnectAsync>d__51:MoveNext():this (FullOpts)
24 (0.65 % of base) - System.Resources.Extensions.PreserializedResourceWriter:Generate():this
; Assembly listing for method System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; fully interruptible
; No PGO data
; 0 inlinees with PGO data; 79 single block inlinees; 22 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T11] ( 15, 18 ) ref -> x19 this class-hnd single-def <System.Resources.Extensions.PreserializedResourceWriter>
; V01 loc0 [V01,T00] ( 24, 44 ) ref -> x21 class-hnd exact single-def <System.IO.BinaryWriter>
-; V02 loc1 [V02,T44] ( 4, 7 ) ref -> x20 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
+; V02 loc1 [V02,T43] ( 4, 7 ) ref -> x20 class-hnd exact single-def <System.Collections.Generic.List`1[System.String]>
;* V03 loc2 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.IO.MemoryStream>
;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <System.IO.BinaryWriter>
-; V05 loc4 [V05,T49] ( 7, 6 ) int -> x25
-; V06 loc5 [V06,T13] ( 6, 18 ) ref -> x26 class-hnd exact single-def <int[]>
-; V07 loc6 [V07,T26] ( 5, 14 ) ref -> x27 class-hnd exact single-def <int[]>
+; V05 loc4 [V05,T48] ( 7, 6 ) int -> x24
+; V06 loc5 [V06,T13] ( 6, 18 ) ref -> x25 class-hnd exact single-def <int[]>
+; V07 loc6 [V07,T26] ( 5, 14 ) ref -> x26 class-hnd exact single-def <int[]>
; V08 loc7 [V08,T15] ( 5, 17 ) int -> [fp+0x124]
-; V09 loc8 [V09,T48] ( 9, 6.50) ref -> x25 class-hnd exact single-def <System.IO.MemoryStream>
-; V10 loc9 [V10,T20] ( 8, 16 ) ref -> x23 class-hnd exact single-def <System.IO.BinaryWriter>
-; V11 loc10 [V11,T50] ( 6, 6 ) ref -> [fp+0x58] class-hnd exact spill-single-def <System.IO.MemoryStream>
-; V12 loc11 [V12,T69] ( 9, 4 ) ref -> [fp+0x50] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
+; V09 loc8 [V09,T47] ( 9, 6.50) ref -> x28 class-hnd exact single-def <System.IO.MemoryStream>
+; V10 loc9 [V10,T20] ( 8, 16 ) ref -> x24 class-hnd exact single-def <System.IO.BinaryWriter>
+; V11 loc10 [V11,T49] ( 6, 6 ) ref -> x23 class-hnd exact single-def <System.IO.MemoryStream>
+; V12 loc11 [V12,T68] ( 9, 4 ) ref -> [fp+0x40] class-hnd exact EH-live spill-single-def <System.IO.MemoryStream>
; V13 loc12 [V13,T19] ( 9, 16 ) ref -> x22 class-hnd exact single-def <System.IO.BinaryWriter>
-; V14 loc13 [V14,T40] ( 3, 8.50) int -> x1 single-def
+; V14 loc13 [V14,T39] ( 3, 8.50) int -> x1 single-def
;* V15 loc14 [V15 ] ( 0, 0 ) int -> zero-ref
; V16 loc15 [V16 ] ( 9, 15 ) struct (40) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
;* V17 loc16 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
; V18 loc17 [V18 ] ( 6, 13 ) struct (40) [fp+0xD0] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
;* V19 loc18 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V20 loc19 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Object>
-; V21 loc20 [V21,T37] ( 3, 10 ) int -> x28
-; V22 loc21 [V22,T66] ( 2, 4 ) ref -> x3 class-hnd exact <System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource>
+; V21 loc20 [V21,T37] ( 3, 10 ) int -> x27
+; V22 loc21 [V22,T65] ( 2, 4 ) ref -> x3 class-hnd exact <System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource>
;* V23 loc22 [V23 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
;* V24 loc23 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
; V25 loc24 [V25,T10] ( 6, 20.50) int -> x20
-; V26 loc25 [V26,T35] ( 4, 10 ) ref -> x26 class-hnd exact single-def <int[]>
+; V26 loc25 [V26,T35] ( 4, 10 ) ref -> x25 class-hnd exact single-def <int[]>
; V27 loc26 [V27,T16] ( 5, 17 ) int -> x20
;* V28 loc27 [V28 ] ( 0, 0 ) int -> zero-ref
-; V29 loc28 [V29,T36] ( 4, 10 ) ref -> x27 class-hnd exact single-def <int[]>
+; V29 loc28 [V29,T36] ( 4, 10 ) ref -> x26 class-hnd exact single-def <int[]>
; V30 loc29 [V30,T17] ( 5, 17 ) int -> x20
;* V31 loc30 [V31 ] ( 0, 0 ) int -> zero-ref
;# V32 OutArgs [V32 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V33 tmp1 [V33,T33] ( 5, 10 ) ref -> x20 class-hnd single-def "impAppendStmt" <System.IO.Stream>
; V34 tmp2 [V34,T27] ( 6, 12 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-; V35 tmp3 [V35,T52] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
-; V36 tmp4 [V36,T12] ( 10, 20 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V37 tmp5 [V37,T21] ( 8, 16 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V35 tmp3 [V35,T51] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[System.String]>
+; V36 tmp4 [V36,T12] ( 10, 20 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V37 tmp5 [V37,T21] ( 8, 16 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
;* V38 tmp6 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
-; V39 tmp7 [V39,T53] ( 3, 6 ) ref -> [fp+0x48] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V40 tmp8 [V40,T54] ( 3, 6 ) ref -> [fp+0x40] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
-; V41 tmp9 [V41,T55] ( 3, 6 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.MemoryStream>
-; V42 tmp10 [V42,T56] ( 3, 6 ) ref -> [fp+0x30] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V39 tmp7 [V39,T52] ( 3, 6 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V40 tmp8 [V40,T53] ( 3, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.IO.BinaryWriter>
+; V41 tmp9 [V41,T54] ( 3, 6 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.IO.MemoryStream>
+; V42 tmp10 [V42,T55] ( 3, 6 ) ref -> [fp+0x38] class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.BinaryWriter>
; V43 tmp11 [V43,T22] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
-; V44 tmp12 [V44,T01] ( 4, 32 ) int -> x28 "impSpillLclRefs"
+; V44 tmp12 [V44,T01] ( 4, 32 ) int -> x27 "impSpillLclRefs"
; V45 tmp13 [V45,T23] ( 2, 16 ) int -> x0 "Strict ordering of exceptions for Array store"
;* V46 tmp14 [V46 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling qmarkNull" <System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource>
;* V47 tmp15 [V47 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V48 tmp16 [V48 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.IO.Stream>
;* V49 tmp17 [V49 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
;* V50 tmp18 [V50 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.String>
-; V51 tmp19 [V51,T107] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
-; V52 tmp20 [V52,T45] ( 4, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V51 tmp19 [V51,T106] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.InvalidOperationException>
+; V52 tmp20 [V52,T44] ( 4, 7 ) ref -> x23 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V53 tmp21 [V53 ] ( 0, 0 ) ref -> zero-ref
;* V54 tmp22 [V54 ] ( 0, 0 ) ref -> zero-ref single-def
-; V55 tmp23 [V55,T94] ( 3, 2 ) int -> x0
-; V56 tmp24 [V56,T108] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V57 tmp25 [V57,T46] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
+; V55 tmp23 [V55,T93] ( 3, 2 ) int -> x0
+; V56 tmp24 [V56,T107] ( 3, 0 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V57 tmp25 [V57,T45] ( 4, 7 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V58 tmp26 [V58 ] ( 0, 0 ) ref -> zero-ref
;* V59 tmp27 [V59 ] ( 0, 0 ) ref -> zero-ref single-def
-; V60 tmp28 [V60,T95] ( 3, 2 ) int -> x0
-; V61 tmp29 [V61,T109] ( 3, 0 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-; V62 tmp30 [V62,T96] ( 2, 2 ) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
-; V63 tmp31 [V63,T97] ( 2, 2 ) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+; V60 tmp28 [V60,T94] ( 3, 2 ) int -> x0
+; V61 tmp29 [V61,T108] ( 3, 0 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+; V62 tmp30 [V62,T95] ( 2, 2 ) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
+; V63 tmp31 [V63,T96] ( 2, 2 ) ref -> x1 class-hnd "Inline return value spill temp" <System.String>
;* V64 tmp32 [V64 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V65 tmp33 [V65 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V66 tmp34 [V66 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
-; V67 tmp35 [V67,T72] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
-; V68 tmp36 [V68,T84] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
+; V67 tmp35 [V67,T71] ( 2, 4 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
+; V68 tmp36 [V68,T83] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
;* V69 tmp37 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Text.UnicodeEncoding>
;* V70 tmp38 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
-; V71 tmp39 [V71,T85] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
-; V72 tmp40 [V72,T99] ( 2, 2 ) struct (40) [fp+0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
-; V73 tmp41 [V73,T73] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
-; V74 tmp42 [V74,T77] ( 2, 4 ) struct (40) [fp+0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
+; V71 tmp39 [V71,T84] ( 3, 3 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
+; V72 tmp40 [V72,T98] ( 2, 2 ) struct (40) [fp+0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Resources.Extensions.PreserializedResourceWriter+PrecannedResource]>
+; V73 tmp41 [V73,T72] ( 2, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.SortedDictionary`2[System.String,System.Object]>
+; V74 tmp42 [V74,T76] ( 2, 4 ) struct (40) [fp+0x80] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedDictionary`2+Enumerator[System.String,System.Object]>
; V75 tmp43 [V75,T34] ( 5, 10 ) ref -> x0 class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.TreeSet`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
; V76 tmp44 [V76 ] ( 8, 16 ) struct (32) [fp+0x60] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]>
-; V77 tmp45 [V77,T57] ( 3, 6 ) ref -> [fp+0x28] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]]>
+; V77 tmp45 [V77,T56] ( 3, 6 ) ref -> [fp+0x30] class-hnd exact spill-single-def "NewObj constructor temp" <System.Collections.Generic.Stack`1[System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]]>
;* V78 tmp46 [V78 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V79 tmp47 [V79,T100] ( 2, 2 ) int -> x24 single-def "Inline return value spill temp"
+; V79 tmp47 [V79,T99] ( 2, 2 ) int -> [fp+0x5C] spill-single-def "Inline return value spill temp"
;* V80 tmp48 [V80 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V81 tmp49 [V81,T51] ( 4, 6 ) int -> x24 "Inlining Arg"
+; V81 tmp49 [V81,T50] ( 4, 6 ) int -> [fp+0x58] spill-single-def "Inlining Arg"
;* V82 tmp50 [V82 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V83 tmp51 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.Object]>
;* V84 tmp52 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.SortedSet`1+Node[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]>
;* V85 tmp53 [V85 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V86 tmp54 [V86,T43] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V86 tmp54 [V86,T42] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V87 tmp55 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.String]>
;* V88 tmp56 [V88 ] ( 0, 0 ) long -> zero-ref single-def "Inline stloc first use temp"
;* V89 tmp57 [V89 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
-; V90 tmp58 [V90,T74] ( 2, 4 ) ref -> x25 class-hnd single-def "Inlining Arg" <System.IO.Stream>
-; V91 tmp59 [V91,T41] ( 2, 8 ) ref -> x1 "field V17.key (fldOffset=0x0)" P-INDEP
-; V92 tmp60 [V92,T42] ( 2, 8 ) ref -> x2 "field V17.value (fldOffset=0x8)" P-INDEP
+; V90 tmp58 [V90,T73] ( 2, 4 ) ref -> x28 class-hnd single-def "Inlining Arg" <System.IO.Stream>
+; V91 tmp59 [V91,T40] ( 2, 8 ) ref -> x1 "field V17.key (fldOffset=0x0)" P-INDEP
+; V92 tmp60 [V92,T41] ( 2, 8 ) ref -> x2 "field V17.value (fldOffset=0x8)" P-INDEP
;* V93 tmp61 [V93 ] ( 0, 0 ) ref -> zero-ref "field V19.key (fldOffset=0x0)" P-INDEP
;* V94 tmp62 [V94 ] ( 0, 0 ) ref -> zero-ref "field V19.value (fldOffset=0x8)" P-INDEP
; V95 tmp63 [V95,T18] ( 4, 17 ) ref -> x20 single-def "field V23._list (fldOffset=0x0)" P-INDEP
; V96 tmp64 [V96,T29] ( 2, 8 ) ref -> x1 "field V23._current (fldOffset=0x8)" P-INDEP
-; V97 tmp65 [V97,T02] ( 6, 21 ) int -> x28 "field V23._index (fldOffset=0x10)" P-INDEP
-; V98 tmp66 [V98,T38] ( 2, 9 ) int -> x24 single-def "field V23._version (fldOffset=0x14)" P-INDEP
-; V99 tmp67 [V99,T28] ( 4, 12 ) ref -> [fp+0x20] "field V82.key (fldOffset=0x0)" P-INDEP
-; V100 tmp68 [V100,T14] ( 7, 17 ) ref -> [fp+0x18] "field V82.value (fldOffset=0x8)" P-INDEP
+; V97 tmp65 [V97,T02] ( 6, 21 ) int -> [fp+0x54] "field V23._index (fldOffset=0x10)" P-INDEP
+; V98 tmp66 [V98,T38] ( 2, 9 ) int -> x27 single-def "field V23._version (fldOffset=0x14)" P-INDEP
+; V99 tmp67 [V99,T28] ( 4, 12 ) ref -> [fp+0x28] "field V82.key (fldOffset=0x0)" P-INDEP
+; V100 tmp68 [V100,T14] ( 7, 17 ) ref -> [fp+0x20] "field V82.value (fldOffset=0x8)" P-INDEP
;* V101 tmp69 [V101 ] ( 0, 0 ) ref -> zero-ref "field V83.key (fldOffset=0x0)" P-INDEP
;* V102 tmp70 [V102 ] ( 0, 0 ) ref -> zero-ref "field V83.value (fldOffset=0x8)" P-INDEP
-; V103 tmp71 [V103,T86] ( 3, 3 ) ref -> x20 single-def "field V85._list (fldOffset=0x0)" P-INDEP
+; V103 tmp71 [V103,T85] ( 3, 3 ) ref -> x20 single-def "field V85._list (fldOffset=0x0)" P-INDEP
;* V104 tmp72 [V104 ] ( 0, 0 ) ref -> zero-ref single-def "field V85._current (fldOffset=0x8)" P-INDEP
-;* V105 tmp73 [V105,T104] ( 0, 0 ) int -> zero-ref single-def "field V85._index (fldOffset=0x10)" P-INDEP
-; V106 tmp74 [V106,T101] ( 2, 2 ) int -> x24 single-def "field V85._version (fldOffset=0x14)" P-INDEP
+;* V105 tmp73 [V105,T103] ( 0, 0 ) int -> zero-ref single-def "field V85._index (fldOffset=0x10)" P-INDEP
+; V106 tmp74 [V106,T100] ( 2, 2 ) int -> x27 single-def "field V85._version (fldOffset=0x14)" P-INDEP
;* V107 tmp75 [V107 ] ( 0, 0 ) ref -> zero-ref single-def "V72.[000..008)"
-; V108 tmp76 [V108,T103] ( 2, 1 ) int -> x1 single-def "V72.[008..012)"
+; V108 tmp76 [V108,T102] ( 2, 1 ) int -> x1 single-def "V72.[008..012)"
;* V109 tmp77 [V109 ] ( 0, 0 ) int -> zero-ref single-def "V72.[012..016)"
;* V110 tmp78 [V110 ] ( 0, 0 ) int -> zero-ref single-def "V72.[016..020)"
;* V111 tmp79 [V111 ] ( 0, 0 ) int -> zero-ref "V74.[000..004)"
-; V112 tmp80 [V112,T87] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V113 tmp81 [V113,T78] ( 2, 4 ) int -> x1 "argument with side effect"
-; V114 tmp82 [V114,T79] ( 2, 4 ) int -> x1 "argument with side effect"
-; V115 tmp83 [V115,T110] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V116 tmp84 [V116,T88] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V117 tmp85 [V117,T58] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V118 tmp86 [V118,T80] ( 2, 4 ) int -> x1 "argument with side effect"
-; V119 tmp87 [V119,T59] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V120 tmp88 [V120,T81] ( 2, 4 ) int -> x2 "argument with side effect"
-; V121 tmp89 [V121,T75] ( 2, 4 ) ref -> x26 single-def "argument with side effect"
-; V122 tmp90 [V122,T76] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
-; V123 tmp91 [V123,T111] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V112 tmp80 [V112,T86] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V113 tmp81 [V113,T77] ( 2, 4 ) int -> x1 "argument with side effect"
+; V114 tmp82 [V114,T78] ( 2, 4 ) int -> x1 "argument with side effect"
+; V115 tmp83 [V115,T109] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V116 tmp84 [V116,T87] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V117 tmp85 [V117,T57] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V118 tmp86 [V118,T79] ( 2, 4 ) int -> x1 "argument with side effect"
+; V119 tmp87 [V119,T58] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V120 tmp88 [V120,T80] ( 2, 4 ) int -> x2 "argument with side effect"
+; V121 tmp89 [V121,T74] ( 2, 4 ) ref -> x25 single-def "argument with side effect"
+; V122 tmp90 [V122,T75] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
+; V123 tmp91 [V123,T110] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V124 tmp92 [V124,T30] ( 3, 12 ) ref -> x0 "BlockOp address local"
; V125 tmp93 [V125,T03] ( 3, 24 ) ref -> x0 "argument with side effect"
; V126 tmp94 [V126,T04] ( 3, 24 ) ref -> x0 "argument with side effect"
; V127 tmp95 [V127,T24] ( 2, 16 ) int -> x1 "argument with side effect"
; V128 tmp96 [V128,T05] ( 3, 24 ) ref -> x0 "arr expr"
; V129 tmp97 [V129,T06] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
; V130 tmp98 [V130,T07] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
; V131 tmp99 [V131,T08] ( 3, 24 ) ref -> x0 single-def "argument with side effect"
-; V132 tmp100 [V132,T60] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V133 tmp101 [V133,T61] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V134 tmp102 [V134,T62] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V135 tmp103 [V135,T63] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V136 tmp104 [V136,T82] ( 2, 4 ) int -> x1 "argument with side effect"
-; V137 tmp105 [V137,T89] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V138 tmp106 [V138,T102] ( 2, 2 ) int -> x2 "argument with side effect"
-; V139 tmp107 [V139,T98] ( 2, 2 ) ref -> x20 single-def "argument with side effect"
-; V140 tmp108 [V140,T90] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V141 tmp109 [V141,T91] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V142 tmp110 [V142,T64] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V143 tmp111 [V143,T83] ( 2, 4 ) int -> x2 "argument with side effect"
-; V144 tmp112 [V144,T92] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V145 tmp113 [V145,T93] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
-; V146 tmp114 [V146,T65] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
-; V147 tmp115 [V147,T112] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V148 tmp116 [V148,T113] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V149 PSPSym [V149,T105] ( 1, 1 ) long -> [fp+0x128] do-not-enreg[V] "PSPSym"
+; V132 tmp100 [V132,T59] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V133 tmp101 [V133,T60] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V134 tmp102 [V134,T61] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V135 tmp103 [V135,T62] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V136 tmp104 [V136,T81] ( 2, 4 ) int -> x1 "argument with side effect"
+; V137 tmp105 [V137,T88] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V138 tmp106 [V138,T101] ( 2, 2 ) int -> x2 "argument with side effect"
+; V139 tmp107 [V139,T97] ( 2, 2 ) ref -> x20 single-def "argument with side effect"
+; V140 tmp108 [V140,T89] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V141 tmp109 [V141,T90] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V142 tmp110 [V142,T63] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V143 tmp111 [V143,T82] ( 2, 4 ) int -> x2 "argument with side effect"
+; V144 tmp112 [V144,T91] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V145 tmp113 [V145,T92] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
+; V146 tmp114 [V146,T64] ( 3, 6 ) ref -> x0 single-def "argument with side effect"
+; V147 tmp115 [V147,T111] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V148 tmp116 [V148,T112] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V149 PSPSym [V149,T104] ( 1, 1 ) long -> [fp+0x128] do-not-enreg[V] "PSPSym"
; V150 cse0 [V150,T31] ( 3, 12 ) int -> x1 "CSE #24: moderate"
-;* V151 cse1 [V151,T106] ( 0, 0 ) long -> zero-ref "CSE #02: conservative"
-; V152 cse2 [V152,T71] ( 4, 4 ) ref -> x22 "CSE #05: conservative"
-; V153 cse3 [V153,T68] ( 2, 4.25) byref -> x28 hoist "CSE #26: conservative"
-; V154 cse4 [V154,T67] ( 3, 5 ) int -> x24 "CSE #21: moderate"
+;* V151 cse1 [V151,T105] ( 0, 0 ) long -> zero-ref "CSE #02: conservative"
+; V152 cse2 [V152,T70] ( 4, 4 ) ref -> x22 "CSE #05: conservative"
+; V153 cse3 [V153,T67] ( 2, 4.25) byref -> [fp+0x18] spill-single-def hoist "CSE #26: conservative"
+; V154 cse4 [V154,T66] ( 3, 5 ) int -> x27 "CSE #21: moderate"
; V155 cse5 [V155,T32] ( 2, 8 ) int -> x0 "CSE #18: moderate"
; V156 cse6 [V156,T25] ( 2, 16 ) int -> x0 "CSE #17: aggressive"
-; V157 cse7 [V157,T39] ( 6, 8.50) long -> x24 "CSE #11: moderate"
-; V158 cse8 [V158,T70] ( 6, 4 ) long -> x23 "CSE #01: moderate"
-; V159 cse9 [V159,T47] ( 4, 7 ) long -> x24 "CSE #14: moderate"
-; V160 rat0 [V160,T09] ( 3, 24 ) int -> x1 "ReplaceWithLclVar is creating a new local variable"
+; V157 cse7 [V157,T69] ( 6, 4 ) long -> x23 "CSE #01: moderate"
+; V158 cse8 [V158,T46] ( 4, 7 ) long -> [fp+0x48] spill-single-def "CSE #14: moderate"
+; V159 rat0 [V159,T09] ( 3, 24 ) int -> x1 "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 int -> [fp+0x14]
;
; Lcl frame size = 288
G_M45214_IG01:
stp fp, lr, [sp, #0xD1FFAB1E]!
stp x19, x20, [sp, #0xD1FFAB1E]
stp x21, x22, [sp, #0xD1FFAB1E]
stp x23, x24, [sp, #0xD1FFAB1E]
stp x25, x26, [sp, #0xD1FFAB1E]
stp x27, x28, [sp, #0xD1FFAB1E]
mov fp, sp
movi v16.16b, #0
add x9, fp, #64
mov x10, #128
stp q16, q16, [x9, #0x20]
stp q16, q16, [x9, #0x40]!
subs x10, x10, #64
bge pc-16 (-4 instructions)
add x1, sp, #0xD1FFAB1E
str x1, [fp, #0xD1FFAB1E] // [V149 PSPSym]
mov x19, x0
;; size=68 bbWeight=1 PerfScore 13.50
G_M45214_IG02:
ldr x0, [x19, #0x08]
cbz x0, G_M45214_IG55
ldr x20, [x19, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x22, [x0]
mov x23, x22
cbz x20, G_M45214_IG58
mov x0, x20
ldr x1, [x20]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x30]
blr x1
cbz w0, G_M45214_IG56
add x14, x21, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x21, #16
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x21, #0x18]
ldr w0, [x23, #0x20]
mov w1, #0xD1FFAB1E
cmp w0, w1
bne G_M45214_IG04
;; size=124 bbWeight=1 PerfScore 37.50
G_M45214_IG03:
ldr x0, [x23, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M45214_IG05
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M45214_IG04:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M45214_IG05:
strb w0, [x21, #0x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x23, #0xD1FFAB1E
movk x23, #0xD1FFAB1E LSL #16
movk x23, #0xD1FFAB1E LSL #32
mov x0, x23
mov w1, #6
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x14, #0xD1FFAB1E // data for System.Collections.Generic.List`1[System.String]:s_emptyArray
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
ldr x15, [x14]
add x14, x20, #8
bl CORINFO_HELP_ASSIGN_REF
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M45214_IG57
;; size=92 bbWeight=1 PerfScore 19.00
G_M45214_IG06:
ldr w1, [x23, #0xD1FFAB1E]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr w1, [x23, #0xD1FFAB1E]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- movz x24, #0xD1FFAB1E
- movk x24, #0xD1FFAB1E LSL #16
- movk x24, #0xD1FFAB1E LSL #32
- mov x0, x24
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x25, x0
+ mov x24, x0
mov w1, #240
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
mov x0, x22
- ldrb w14, [x25, #0x29]
+ ldrb w14, [x24, #0x29]
cbz w14, G_M45214_IG59
- add x14, x26, #8
- mov x15, x25
+ add x14, x25, #8
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
- add x14, x26, #16
+ add x14, x25, #16
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- strb wzr, [x26, #0x18]
+ strb wzr, [x25, #0x18]
ldr w1, [x0, #0x20]
mov w2, #0xD1FFAB1E
cmp w1, w2
bne G_M45214_IG08
- ;; size=180 bbWeight=1 PerfScore 45.00
+ ;; size=176 bbWeight=1 PerfScore 44.50
G_M45214_IG07:
ldr x0, [x0, #0x10]
ldr x1, [x0]
ldr x1, [x1, #0x40]
ldr x1, [x1, #0x28]
blr x1
cmp w0, #1
cset x0, le
b G_M45214_IG09
;; size=32 bbWeight=0.50 PerfScore 7.50
G_M45214_IG08:
mov w0, wzr
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M45214_IG09:
- strb w0, [x26, #0x19]
+ strb w0, [x25, #0x19]
ldrb w0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
cmp w0, #0
csel x1, x1, x2, ne
- mov x0, x26
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldrb w0, [x19, #0x28]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
cmp w0, #0
csel x1, x1, x2, ne
- mov x0, x26
+ mov x0, x25
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x0, [x26, #0x08]
+ ldr x0, [x25, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- mov x0, x25
+ mov x0, x24
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w1, w0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldrb w2, [x25, #0x2B]
+ ldrb w2, [x24, #0x2B]
cbz w2, G_M45214_IG60
- ldr w2, [x25, #0x18]
- mov x0, x25
+ ldr w2, [x24, #0x18]
+ mov x0, x24
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x26, [x21, #0x08]
- mov x0, x25
+ ldr x25, [x21, #0x08]
+ mov x0, x24
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w2, w0
- mov x1, x26
- mov x0, x25
+ mov x1, x25
+ mov x0, x24
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x0, x21
mov w1, #2
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x18]
- ldr w25, [x0, #0x20]
+ ldr w24, [x0, #0x20]
ldr x0, [x19, #0x20]
cbz x0, G_M45214_IG11
;; size=364 bbWeight=1 PerfScore 114.50
G_M45214_IG10:
ldr x0, [x19, #0x20]
ldr w1, [x0, #0x38]
ldr w0, [x0, #0x40]
sub w0, w1, w0
- add w25, w0, w25
+ add w24, w0, w24
;; size=20 bbWeight=0.50 PerfScore 5.00
G_M45214_IG11:
mov x0, x21
- mov w1, w25
+ mov w1, w24
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- sxtw x1, w25
+ sxtw x1, w24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
- mov x26, x0
- sxtw x1, w25
+ mov x25, x0
+ sxtw x1, w24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_VC
- mov x27, x0
- mov w28, wzr
- mov x0, x24
+ mov x26, x0
+ mov w27, wzr
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x2, x0
- str x2, [fp, #0x48] // [V39 tmp7]
+ mov x28, x0
mov w1, #40
- mul w1, w25, w1
- mov x0, x2
- movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
- blr x3
- ldr x25, [fp, #0x48] // [V39 tmp7]
+ mul w1, w24, w1
+ mov x0, x28
+ movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x4, x0
- str x4, [fp, #0x40] // [V40 tmp8]
+ mov x24, x0
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr w2, [x2]
tbz w2, #0, G_M45214_IG61
- ;; size=176 bbWeight=1 PerfScore 37.00
+ ;; size=172 bbWeight=1 PerfScore 34.00
G_M45214_IG12:
movz x2, #0xD1FFAB1E // data for System.Text.UnicodeEncoding:s_littleEndianDefault
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
- mov x1, x25
- mov x0, x4
- mov w3, wzr
- movz x5, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
- movk x5, #0xD1FFAB1E LSL #16
- movk x5, #0xD1FFAB1E LSL #32
- ldr x5, [x5]
- blr x5
- ldr x23, [fp, #0x40] // [V40 tmp8]
+ mov x1, x28
mov x0, x24
+ mov w3, wzr
+ movz x4, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
+ movk x4, #0xD1FFAB1E LSL #16
+ movk x4, #0xD1FFAB1E LSL #32
+ ldr x4, [x4]
+ blr x4
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x2, x0
- str x2, [fp, #0x38] // [V41 tmp9]
- mov x0, x2
+ mov x23, x0
mov w1, wzr
- movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
- blr x3
- ldr x1, [fp, #0x38] // [V41 tmp9]
- stp x1, x1, [fp, #0x50] // [V12 loc11], [V11 loc10]
- ;; size=104 bbWeight=1 PerfScore 26.00
+ movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:.ctor(int):this
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ str x23, [fp, #0x40] // [V12 loc11]
+ ;; size=96 bbWeight=1 PerfScore 21.50
G_M45214_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x4, x0
- str x4, [fp, #0x30] // [V42 tmp10]
+ str x4, [fp, #0x38] // [V42 tmp10]
mov x2, x22
mov x0, x4
- ldr x1, [fp, #0x58] // [V11 loc10]
+ mov x1, x23
mov w3, wzr
movz x5, #0xD1FFAB1E // code for System.IO.BinaryWriter:.ctor(System.IO.Stream,System.Text.Encoding,ubyte):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
- ldr x22, [fp, #0x30] // [V42 tmp10]
+ ldr x22, [fp, #0x38] // [V42 tmp10]
ldr x0, [x19, #0x20]
cbz x0, G_M45214_IG18
- ;; size=72 bbWeight=1 PerfScore 19.00
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M45214_IG14:
ldr x0, [x19, #0x20]
ldr w1, [x0, #0x44]
stp xzr, xzr, [fp, #0xC0]
;; size=12 bbWeight=0.50 PerfScore 3.50
G_M45214_IG15:
ldr x2, [fp, #0xA8]
str x2, [fp, #0xF8]
ldp q16, q17, [fp, #0xB0]
stp q16, q17, [fp, #0xD1FFAB1E]
;; size=16 bbWeight=0.50 PerfScore 3.00
G_M45214_IG16:
str x0, [fp, #0xF8] // [V16 loc15]
str w1, [fp, #0xD1FFAB1E] // [V16 loc15+0x08]
str wzr, [fp, #0xD1FFAB1E] // [V16 loc15+0x0c]
mov w0, #2
str w0, [fp, #0xD1FFAB1E] // [V16 loc15+0x10]
add x0, fp, #248 // [V16 loc15]
- add x1, x24, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M45214_IG18
- ;; size=52 bbWeight=0.50 PerfScore 6.00
+ ;; size=60 bbWeight=0.50 PerfScore 6.50
G_M45214_IG17:
ldp x1, x2, [fp, #0xD1FFAB1E] // [V16 loc15+0x18], [V16 loc15+0x20]
ldr x0, [x19, #0x08]
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.SortedDictionary`2[System.__Canon,System.__Canon]:Add(System.__Canon,System.__Canon):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
ldr wzr, [x0]
blr x3
add x0, fp, #248 // [V16 loc15]
- add x1, x24, #0xD1FFAB1E
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2+Enumerator[System.__Canon,System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbnz w0, G_M45214_IG17
- ;; size=64 bbWeight=4 PerfScore 88.00
+ ;; size=72 bbWeight=4 PerfScore 92.00
G_M45214_IG18:
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x18]
ldrsb wzr, [x0]
stp xzr, xzr, [fp, #0x60]
stp xzr, xzr, [fp, #0x70]
str x0, [fp, #0x60] // [V76 tmp44]
ldr w1, [x0, #0x24]
str w1, [fp, #0x78] // [V76 tmp44+0x18]
ldr w0, [x0, #0x20]
add w0, w0, #1
orr w0, w0, #1
clz w0, w0
- eor w24, w0, #31
+ eor w1, w0, #31
+ str w1, [fp, #0x5C] // [V79 tmp47]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- str x0, [fp, #0x28] // [V77 tmp45]
- lsl w24, w24, #1
- tbnz w24, #31, G_M45214_IG33
- sxtw x1, w24
+ str x0, [fp, #0x30] // [V77 tmp45]
+ ldr w1, [fp, #0x5C] // [V79 tmp47]
+ lsl w3, w1, #1
+ str w3, [fp, #0x58] // [V81 tmp49]
+ tbnz w3, #31, G_M45214_IG33
+ sxtw x1, w3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWARR_1_OBJ
- ldr x24, [fp, #0x28] // [V77 tmp45]
- add x14, x24, #8
+ ldr x1, [fp, #0x30] // [V77 tmp45]
+ add x14, x1, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- stp x24, xzr, [fp, #0x68] // [V76 tmp44+0x08], [V76 tmp44+0x10]
+ stp x1, xzr, [fp, #0x68] // [V76 tmp44+0x08], [V76 tmp44+0x10]
strb wzr, [fp, #0x7C] // [V76 tmp44+0x1c]
add x0, fp, #96 // [V76 tmp44]
- movz x24, #0xD1FFAB1E
- movk x24, #0xD1FFAB1E LSL #16
- movk x24, #0xD1FFAB1E LSL #32
- mov x1, x24
- movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Initialize():this
+ movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- ;; size=164 bbWeight=1 PerfScore 43.50
+ str x2, [fp, #0x48] // [V158 cse8]
+ mov x1, x2
+ movz x3, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:Initialize():this
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ blr x3
+ ;; size=180 bbWeight=1 PerfScore 48.50
G_M45214_IG19:
ldp x0, x1, [fp, #0x60]
stp x0, x1, [fp, #0x88]
ldp x0, x1, [fp, #0x70]
stp x0, x1, [fp, #0x98]
;; size=16 bbWeight=1 PerfScore 8.00
G_M45214_IG20:
ldp q16, q17, [fp, #0x80]
stp q16, q17, [fp, #0xD0]
ldr x0, [fp, #0xA0]
str x0, [fp, #0xF0]
;; size=16 bbWeight=1 PerfScore 6.00
G_M45214_IG21:
mov w0, #1
str w0, [fp, #0xD0] // [V18 loc17]
add x0, fp, #216 // [V18 loc17+0x08]
- mov x1, x24
+ ldr x1, [fp, #0x48] // [V158 cse8]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz w0, G_M45214_IG27
- ;; size=40 bbWeight=1 PerfScore 9.00
+ ;; size=40 bbWeight=1 PerfScore 10.50
G_M45214_IG22:
ldr x0, [fp, #0xE8] // [V18 loc17+0x18]
cbz x0, G_M45214_IG28
;; size=8 bbWeight=4 PerfScore 12.00
G_M45214_IG23:
ldr x0, [fp, #0xE8] // [V18 loc17+0x18]
ldp x1, x2, [x0, #0x20]
- str x2, [fp, #0x18] // [V100 tmp68]
+ str x2, [fp, #0x20] // [V100 tmp68]
;; size=12 bbWeight=2 PerfScore 14.00
G_M45214_IG24:
- str x1, [fp, #0x20] // [V99 tmp67]
+ str x1, [fp, #0x28] // [V99 tmp67]
mov x0, x1
movz x3, #0xD1FFAB1E // code for System.Resources.FastResourceComparer:HashFunction(System.String):int
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
- ldr w1, [x26, #0x08]
- cmp w28, w1
+ ldr w1, [x25, #0x08]
+ cmp w27, w1
bhs G_M45214_IG48
- add x1, x26, #16
- str w0, [x1, w28, UXTW #2]
- add w0, w28, #1
+ add x1, x25, #16
+ str w0, [x1, w27, UXTW #2]
+ add w0, w27, #1
str w0, [fp, #0xD1FFAB1E] // [V08 loc7]
- ldr x0, [x23, #0x08]
+ ldr x0, [x24, #0x08]
mov x1, xzr
mov w2, #1
ldr x4, [x0]
ldr x4, [x4, #0x60]
ldr x4, [x4, #0x08]
blr x4
- ldr w1, [x27, #0x08]
- cmp w28, w1
+ ldr w1, [x26, #0x08]
+ cmp w27, w1
bhs G_M45214_IG48
- add x1, x27, #16
- str w0, [x1, w28, UXTW #2]
- mov x0, x23
- ldr x1, [fp, #0x20] // [V99 tmp67]
+ add x1, x26, #16
+ str w0, [x1, w27, UXTW #2]
+ mov x0, x24
+ ldr x1, [fp, #0x28] // [V99 tmp67]
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x22, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
mov w1, w0
- mov x0, x23
+ mov x0, x24
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x0, [fp, #0x18] // [V100 tmp68]
+ ldr x0, [fp, #0x20] // [V100 tmp68]
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Resources.Extensions.PreserializedResourceWriter:FindTypeCode(System.Object,System.Collections.Generic.List`1[System.String]):int
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- sxtw w28, w0
+ sxtw w27, w0
mov x0, x22
- mov w1, w28
+ mov w1, w27
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write7BitEncodedInt(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr x3, [fp, #0x18] // [V100 tmp68]
+ ldr x3, [fp, #0x20] // [V100 tmp68]
cbnz x3, G_M45214_IG29
;; size=256 bbWeight=4 PerfScore 324.00
G_M45214_IG25:
- mov w0, w28
+ mov w0, w27
mov x1, x3
mov x2, x22
movz x3, #0xD1FFAB1E // code for System.Resources.Extensions.PreserializedResourceWriter:WriteValue(int,System.Object,System.IO.BinaryWriter)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=32 bbWeight=2 PerfScore 14.00
G_M45214_IG26:
add x0, fp, #216 // [V18 loc17+0x08]
- mov x1, x24
+ ldr x1, [fp, #0x48] // [V158 cse8]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.SortedSet`1+Enumerator[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w28, [fp, #0xD1FFAB1E] // [V08 loc7]
+ ldr w27, [fp, #0xD1FFAB1E] // [V08 loc7]
cbnz w0, G_M45214_IG22
- ;; size=36 bbWeight=4 PerfScore 38.00
+ ;; size=36 bbWeight=4 PerfScore 44.00
G_M45214_IG27:
ldr w1, [x20, #0x10]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ldr w24, [x20, #0x14]
- mov w28, wzr
+ ldr w27, [x20, #0x14]
+ mov w2, wzr
b G_M45214_IG31
;; size=40 bbWeight=1 PerfScore 13.50
G_M45214_IG28:
mov x1, xzr
- str xzr, [fp, #0x18] // [V100 tmp68]
+ str xzr, [fp, #0x20] // [V100 tmp68]
b G_M45214_IG24
;; size=12 bbWeight=2 PerfScore 5.00
G_M45214_IG29:
ldr x2, [x3]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
cmp x2, x0
bne G_M45214_IG25
;; size=24 bbWeight=1 PerfScore 6.00
G_M45214_IG30:
ldr x2, [x3, #0x10]
mov x0, x19
mov x1, x22
movz x3, #0xD1FFAB1E // code for System.Resources.Extensions.PreserializedResourceWriter:WriteData(System.IO.BinaryWriter,System.Object):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
b G_M45214_IG26
;; size=36 bbWeight=2 PerfScore 21.00
G_M45214_IG31:
ldr w0, [x20, #0x14]
- cmp w24, w0
+ cmp w27, w0
bne G_M45214_IG50
;; size=12 bbWeight=8 PerfScore 36.00
G_M45214_IG32:
ldr w0, [x20, #0x10]
- cmp w28, w0
+ cmp w2, w0
bhs G_M45214_IG34
ldr x0, [x20, #0x08]
ldr w1, [x0, #0x08]
- cmp w28, w1
+ cmp w2, w1
bhs G_M45214_IG48
add x0, x0, #16
- ldr x1, [x0, w28, UXTW #3]
- add w28, w28, #1
+ ldr x1, [x0, w2, UXTW #3]
+ add w2, w2, #1
+ str w2, [fp, #0x54] // [V97 tmp65]
mov x0, x21
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(System.String):this
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ blr x3
+ ldr w2, [fp, #0x54] // [V97 tmp65]
b G_M45214_IG31
- ;; size=68 bbWeight=4 PerfScore 92.00
+ ;; size=76 bbWeight=4 PerfScore 104.00
G_M45214_IG33:
mov w0, #0xD1FFAB1E
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
+ movz x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
- mov w0, w24
+ ldr w0, [fp, #0x58] // [V81 tmp49]
movz x2, #0xD1FFAB1E // code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
brk_unix #0
- ;; size=52 bbWeight=0 PerfScore 0.00
+ ;; size=48 bbWeight=0 PerfScore 0.00
G_M45214_IG34:
- ldr w3, [x26, #0x08]
- mov x0, x26
- mov x1, x27
+ ldr w3, [x25, #0x08]
+ mov x0, x25
+ mov x1, x26
mov w2, wzr
mov x4, xzr
movz x5, #0xD1FFAB1E // code for System.Array:Sort[int,int](int[],int[],int,int,System.Collections.Generic.IComparer`1[int])
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x48]
ldr x1, [x1, #0x10]
blr x1
and w1, w0, #7
cmp w1, #0
ble G_M45214_IG38
;; size=112 bbWeight=4 PerfScore 206.00
G_M45214_IG35:
mov w20, wzr
neg w1, w1
- add w24, w1, #8
- cmp w24, #0
+ add w27, w1, #8
+ cmp w27, #0
ble G_M45214_IG38
;; size=20 bbWeight=0.50 PerfScore 1.50
G_M45214_IG36:
- movz x28, #0xD1FFAB1E
- movk x28, #0xD1FFAB1E LSL #16
- movk x28, #0xD1FFAB1E LSL #32
- ;; size=12 bbWeight=0.25 PerfScore 0.38
+ movz x2, #0xD1FFAB1E
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ str x2, [fp, #0x18] // [V153 cse3]
+ ;; size=16 bbWeight=0.25 PerfScore 0.62
G_M45214_IG37:
movz w1, #0xD1FFAB1E
movk w1, #0xD1FFAB1E LSL #16
smull x1, w1, w20
asr x1, x1, #32
add w1, w1, w1, LSR #31
mov w0, #3
msub w1, w1, w0, w20
cmp w1, #3
bhs G_M45214_IG48
- ldrh w1, [x28, w1, UXTW #2]
+ ldrh w1, [x2, w1, UXTW #2]
mov x0, x21
- movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(ushort):this
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+ movz x3, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(ushort):this
+ movk x3, #0xD1FFAB1E LSL #16
+ movk x3, #0xD1FFAB1E LSL #32
+ ldr x3, [x3]
+ blr x3
add w20, w20, #1
- cmp w24, w20
+ cmp w27, w20
+ ldr x2, [fp, #0x18] // [V153 cse3]
bgt G_M45214_IG37
- ;; size=76 bbWeight=4 PerfScore 80.00
+ ;; size=80 bbWeight=4 PerfScore 88.00
G_M45214_IG38:
mov w20, wzr
- ldr w1, [x26, #0x08]
+ ldr w1, [x25, #0x08]
cmp w1, #0
ble G_M45214_IG40
;; size=16 bbWeight=1 PerfScore 5.00
G_M45214_IG39:
- add x1, x26, #16
+ add x1, x25, #16
ldr w1, [x1, w20, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w20, w20, #1
- ldr w1, [x26, #0x08]
+ ldr w1, [x25, #0x08]
cmp w1, w20
bgt G_M45214_IG39
;; size=48 bbWeight=4 PerfScore 58.00
G_M45214_IG40:
mov w20, wzr
- ldr w1, [x27, #0x08]
+ ldr w1, [x26, #0x08]
cmp w1, #0
ble G_M45214_IG42
;; size=16 bbWeight=1 PerfScore 5.00
G_M45214_IG41:
- add x1, x27, #16
+ add x1, x26, #16
ldr w1, [x1, w20, UXTW #2]
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add w20, w20, #1
- ldr w0, [x27, #0x08]
+ ldr w0, [x26, #0x08]
cmp w0, w20
bgt G_M45214_IG41
;; size=48 bbWeight=4 PerfScore 58.00
G_M45214_IG42:
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x0, [x23, #0x08]
+ ldr x0, [x24, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x0, [x21, #0x08]
mov x1, xzr
mov w2, #1
ldr x3, [x0]
ldr x3, [x3, #0x60]
ldr x3, [x3, #0x08]
blr x3
str w0, [fp, #0x14] // [TEMP_01]
- mov x0, x25
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr w1, [fp, #0x14] // [TEMP_01]
add w1, w1, w0
add w1, w1, #4
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.IO.BinaryWriter:Write(int):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- mov x0, x25
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cmp x0, #0
ble G_M45214_IG44
;; size=184 bbWeight=1 PerfScore 76.50
G_M45214_IG43:
- ldrb w2, [x25, #0x2B]
+ ldrb w2, [x28, #0x2B]
cbz w2, G_M45214_IG49
- ldr w2, [x25, #0x18]
- mov x0, x25
+ ldr w2, [x28, #0x18]
+ mov x0, x28
mov x1, xzr
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:SeekCore(long,int):long:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
ldr x20, [x21, #0x08]
- mov x0, x25
+ mov x0, x28
movz x1, #0xD1FFAB1E // code for System.IO.MemoryStream:get_Length():long:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov w2, w0
mov x1, x20
- mov x0, x25
+ mov x0, x28
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
;; size=120 bbWeight=0.50 PerfScore 21.25
G_M45214_IG44:
- ldrb w0, [x23, #0x18]
+ ldrb w0, [x24, #0x18]
cbz w0, G_M45214_IG51
;; size=8 bbWeight=1 PerfScore 4.00
G_M45214_IG45:
- ldr x0, [x23, #0x08]
+ ldr x0, [x24, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M45214_IG46:
- ldr x0, [fp, #0x58] // [V11 loc10]
+ mov x0, x23
mov x1, xzr
movz x2, #0xD1FFAB1E // code for System.IO.MemoryStream:set_Position(long):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
- ldr x25, [x21, #0x08]
- ldr x0, [fp, #0x58] // [V11 loc10]
+ ldr x28, [x21, #0x08]
+ mov x0, x23
movz x1, #0xD1FFAB1E // code for System.IO.Stream:GetCopyBufferSize():int:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
sxtw w2, w0
- mov x1, x25
- ldr x0, [fp, #0x58] // [V11 loc10]
+ mov x1, x28
+ mov x0, x23
movz x3, #0xD1FFAB1E // code for System.IO.MemoryStream:CopyTo(System.IO.Stream,int):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
ldrb w0, [x22, #0x18]
cbz w0, G_M45214_IG52
- ;; size=116 bbWeight=1 PerfScore 44.00
+ ;; size=116 bbWeight=1 PerfScore 39.50
G_M45214_IG47:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
b G_M45214_IG53
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M45214_IG48:
bl CORINFO_HELP_RNGCHKFAIL
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
G_M45214_IG49:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M45214_IG50:
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
G_M45214_IG51:
- ldr x0, [x23, #0x08]
+ ldr x0, [x24, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
b G_M45214_IG46
;; size=24 bbWeight=0.50 PerfScore 7.00
G_M45214_IG52:
ldr x0, [x22, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x18]
blr x1
;; size=20 bbWeight=0.50 PerfScore 6.50
G_M45214_IG53:
- ldr x0, [fp, #0x50] // [V12 loc11]
+ ldr x0, [fp, #0x40] // [V12 loc11]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
ldr x0, [x21, #0x08]
ldr x1, [x0]
ldr x1, [x1, #0x50]
ldr x1, [x1, #0x30]
blr x1
str xzr, [x19, #0x08]
;; size=44 bbWeight=1 PerfScore 20.00
G_M45214_IG54:
ldp x27, x28, [sp, #0xD1FFAB1E]
ldp x25, x26, [sp, #0xD1FFAB1E]
ldp x23, x24, [sp, #0xD1FFAB1E]
ldp x21, x22, [sp, #0xD1FFAB1E]
ldp x19, x20, [sp, #0xD1FFAB1E]
ldp fp, lr, [sp], #0xD1FFAB1E
ret lr
;; size=28 bbWeight=1 PerfScore 7.00
G_M45214_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_InvalidOperation_ResourceWriterSaved():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.InvalidOperationException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M45214_IG56:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x21
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x21
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M45214_IG57:
mov x0, x23
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M45214_IG06
;; size=16 bbWeight=0 PerfScore 0.00
G_M45214_IG58:
movz w0, #0xD1FFAB1E
movk w0, #1 LSL #16
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
movz x1, #0xD1FFAB1E // code for System.ArgumentNullException:Throw(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=48 bbWeight=0 PerfScore 0.00
G_M45214_IG59:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
movz x0, #0xD1FFAB1E // code for System.SR:get_Argument_StreamNotWritable():System.String
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x23
movz x2, #0xD1FFAB1E // code for System.ArgumentException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x23
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M45214_IG60:
mov x0, xzr
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowObjectDisposedException_StreamClosed(System.String)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M45214_IG61:
mov x0, x23
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- ldr x4, [fp, #0x40] // [V40 tmp8]
b G_M45214_IG12
- ;; size=20 bbWeight=0 PerfScore 0.00
+ ;; size=16 bbWeight=0 PerfScore 0.00
G_M45214_IG62:
stp fp, lr, [sp, #-0x70]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
stp x23, x24, [sp, #0x40]
stp x25, x26, [sp, #0x50]
stp x27, x28, [sp, #0x60]
add x3, fp, #0xD1FFAB1E
str x3, [sp, #0x18]
;; size=32 bbWeight=0 PerfScore 0.00
G_M45214_IG63:
- ldr x0, [fp, #0x50] // [V12 loc11]
+ ldr x0, [fp, #0x40] // [V12 loc11]
strb wzr, [x0, #0x2B]
strh wzr, [x0, #0x28]
str xzr, [x0, #0x30]
bl System.GC:_SuppressFinalize(System.Object)
;; size=20 bbWeight=0 PerfScore 0.00
G_M45214_IG64:
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 68, PerfScore 1688.12, instruction count 917, allocated bytes for code 3668 (MethodHash=a9014f61) for method System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
+; Total bytes of code 3692, prolog size 68, PerfScore 1711.38, instruction count 923, allocated bytes for code 3692 (MethodHash=a9014f61) for method System.Resources.Extensions.PreserializedResourceWriter:Generate():this (FullOpts)
24 (0.81 % of base) - System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this
; Assembly listing for method System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 60 single block inlinees; 20 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 21, 16 ) ref -> x19 this class-hnd single-def <System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]>
; V01 arg1 [V01,T22] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Func`2[long,System.Nullable`1[int]]>
; V02 arg2 [V02,T23] ( 3, 3 ) ref -> x22 class-hnd single-def <System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]]>
; V03 arg3 [V03,T01] ( 16, 12.50) ref -> x20 class-hnd <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
; V04 loc0 [V04,T09] ( 9, 7.50) ref -> x23 class-hnd exact single-def <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[long,System.Nullable`1[int]]>
-; V05 loc1 [V05,T68] ( 3, 2.50) ref -> x21 class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+; V05 loc1 [V05,T67] ( 3, 2.50) ref -> x21 class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
; V06 loc2 [V06,T24] ( 7, 4.50) ref -> x22 class-hnd exact single-def <System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[long,System.Nullable`1[int]]>
-; V09 tmp2 [V09,T32] ( 2, 4 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
+; V09 tmp2 [V09,T31] ( 2, 4 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
;* V10 tmp3 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
;* V11 tmp4 [V11 ] ( 0, 0 ) ref -> zero-ref single-def
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref single-def
-; V13 tmp6 [V13,T44] ( 4, 3.50) ref -> x24
+; V13 tmp6 [V13,T43] ( 4, 3.50) ref -> x24
; V14 tmp7 [V14,T12] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
-; V15 tmp8 [V15,T28] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V15 tmp8 [V15,T27] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
; V16 tmp9 [V16,T03] ( 11, 11 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[long]>
-; V17 tmp10 [V17,T33] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+; V17 tmp10 [V17,T32] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V18 tmp11 [V18,T07] ( 4, 8 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V19 tmp12 [V19 ] ( 0, 0 ) ref -> zero-ref single-def
; V20 tmp13 [V20,T25] ( 5, 4.50) ref -> x23
-; V21 tmp14 [V21,T34] ( 2, 4 ) ref -> x24 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
+; V21 tmp14 [V21,T33] ( 2, 4 ) ref -> x24 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V22 tmp15 [V22 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
;* V23 tmp16 [V23 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V24 tmp17 [V24,T35] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+; V24 tmp17 [V24,T34] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V25 tmp18 [V25,T08] ( 4, 8 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref single-def
; V27 tmp20 [V27,T26] ( 5, 4.50) ref -> x23
;* V28 tmp21 [V28 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
;* V29 tmp22 [V29 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V30 tmp23 [V30 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V31 tmp24 [V31,T36] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
-; V32 tmp25 [V32,T37] ( 2, 4 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V31 tmp24 [V31,T35] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
+; V32 tmp25 [V32,T36] ( 2, 4 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V33 tmp26 [V33 ] ( 0, 0 ) struct ( 8) zero-ref <System.Threading.CancellationToken>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref single-def
-; V35 tmp28 [V35,T45] ( 4, 3.50) ref -> x2
+; V35 tmp28 [V35,T44] ( 4, 3.50) ref -> x2
; V36 tmp29 [V36,T13] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Threading.CancellationToken]>
; V37 tmp30 [V37,T14] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V38 tmp31 [V38,T15] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
-; V39 tmp32 [V39,T29] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V39 tmp32 [V39,T28] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
; V40 tmp33 [V40,T04] ( 11, 11 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[long]>
-; V41 tmp34 [V41,T73] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
+; V41 tmp34 [V41,T72] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
;* V42 tmp35 [V42 ] ( 0, 0 ) ref -> zero-ref single-def
;* V43 tmp36 [V43 ] ( 0, 0 ) ref -> zero-ref single-def
-; V44 tmp37 [V44,T69] ( 4, 2 ) ref -> x21
+; V44 tmp37 [V44,T68] ( 4, 2 ) ref -> x21
; V45 tmp38 [V45,T16] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
; V46 tmp39 [V46,T17] ( 5, 5 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Nullable`1[int]]>
; V47 tmp40 [V47,T18] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
-; V48 tmp41 [V48,T74] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
-; V49 tmp42 [V49,T70] ( 4, 2 ) ref -> x21
+; V48 tmp41 [V48,T73] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+; V49 tmp42 [V49,T69] ( 4, 2 ) ref -> x21
; V50 tmp43 [V50,T19] ( 5, 5 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
;* V51 tmp44 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.ArgumentNullException>
-; V52 tmp45 [V52,T98] ( 3, 0 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-; V53 tmp46 [V53,T99] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-; V54 tmp47 [V54,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
-; V55 tmp48 [V55,T47] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
-;* V56 tmp49 [V56,T97] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V57 tmp50 [V57,T48] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
-; V58 tmp51 [V58,T49] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
-; V59 tmp52 [V59,T50] ( 3, 3 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V60 tmp53 [V60,T75] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+; V52 tmp45 [V52,T97] ( 3, 0 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+; V53 tmp46 [V53,T98] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+; V54 tmp47 [V54,T45] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+; V55 tmp48 [V55,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+;* V56 tmp49 [V56,T96] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V57 tmp50 [V57,T47] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+; V58 tmp51 [V58,T48] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
+; V59 tmp52 [V59,T49] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V60 tmp53 [V60,T74] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
;* V61 tmp54 [V61 ] ( 0, 0 ) ref -> zero-ref single-def
-; V62 tmp55 [V62,T51] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
-; V63 tmp56 [V63,T81] ( 3, 1.50) ref -> x24 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V62 tmp55 [V62,T50] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V63 tmp56 [V63,T80] ( 3, 1.50) ref -> x21 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
;* V64 tmp57 [V64 ] ( 0, 0 ) ref -> zero-ref
;* V65 tmp58 [V65 ] ( 0, 0 ) ref -> zero-ref
-; V66 tmp59 [V66,T30] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[long]>
-; V67 tmp60 [V67,T52] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
-; V68 tmp61 [V68,T53] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V66 tmp59 [V66,T29] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[long]>
+; V67 tmp60 [V67,T51] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V68 tmp61 [V68,T52] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V69 tmp62 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V70 tmp63 [V70,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-; V71 tmp64 [V71,T54] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[long],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-; V72 tmp65 [V72,T79] ( 2, 2 ) int -> x21 "Inlining Arg"
-; V73 tmp66 [V73,T55] ( 3, 3 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V74 tmp67 [V74,T76] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+;* V70 tmp63 [V70,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+; V71 tmp64 [V71,T53] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[long],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+; V72 tmp65 [V72,T78] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V73 tmp66 [V73,T54] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V74 tmp67 [V74,T75] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
;* V75 tmp68 [V75 ] ( 0, 0 ) ref -> zero-ref single-def
-; V76 tmp69 [V76,T56] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
-; V77 tmp70 [V77,T82] ( 3, 1.50) ref -> x24 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V76 tmp69 [V76,T55] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V77 tmp70 [V77,T81] ( 3, 1.50) ref -> x21 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
;* V78 tmp71 [V78 ] ( 0, 0 ) ref -> zero-ref
;* V79 tmp72 [V79 ] ( 0, 0 ) ref -> zero-ref
-; V80 tmp73 [V80,T31] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[long]>
-; V81 tmp74 [V81,T57] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
-; V82 tmp75 [V82,T58] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V80 tmp73 [V80,T30] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[long]>
+; V81 tmp74 [V81,T56] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]>
+; V82 tmp75 [V82,T57] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V83 tmp76 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V84 tmp77 [V84,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-; V85 tmp78 [V85,T59] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[long],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-; V86 tmp79 [V86,T80] ( 2, 2 ) int -> x21 "Inlining Arg"
+;* V84 tmp77 [V84,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+; V85 tmp78 [V85,T58] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[long],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+; V86 tmp79 [V86,T79] ( 2, 2 ) int -> x21 "Inlining Arg"
;* V87 tmp80 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[long]>
;* V88 tmp81 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V89 tmp82 [V89,T60] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+; V89 tmp82 [V89,T59] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
;* V90 tmp83 [V90 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V91 tmp84 [V91,T38] ( 2, 4 ) ref -> x26 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+; V91 tmp84 [V91,T37] ( 2, 4 ) ref -> x26 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
;* V92 tmp85 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V93 tmp86 [V93 ] ( 2, 2 ) int -> [fp+0x38] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V94 tmp87 [V94 ] ( 2, 2 ) int -> [fp+0x30] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V95 tmp88 [V95,T05] ( 6, 11 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
;* V96 tmp89 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V97 tmp90 [V97,T10] ( 4, 7 ) int -> x28 "Inlining Arg"
;* V98 tmp91 [V98 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V99 tmp92 [V99,T20] ( 4, 5 ) ref -> [fp+0x10] class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-; V100 tmp93 [V100,T42] ( 2, 4 ) int -> [fp+0x2C] spill-single-def "Inlining Arg"
+; V100 tmp93 [V100,T41] ( 2, 4 ) int -> [fp+0x2C] spill-single-def "Inlining Arg"
;* V101 tmp94 [V101 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V102 tmp95 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V103 tmp96 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V104 tmp97 [V104,T61] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+; V104 tmp97 [V104,T60] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
;* V105 tmp98 [V105 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V106 tmp99 [V106,T39] ( 2, 4 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+; V106 tmp99 [V106,T38] ( 2, 4 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
;* V107 tmp100 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V108 tmp101 [V108 ] ( 2, 2 ) int -> [fp+0x20] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V109 tmp102 [V109 ] ( 2, 2 ) int -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V110 tmp103 [V110,T06] ( 6, 11 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
;* V111 tmp104 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V112 tmp105 [V112,T11] ( 4, 7 ) int -> x26 "Inlining Arg"
;* V113 tmp106 [V113 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V114 tmp107 [V114,T21] ( 4, 5 ) ref -> x28 class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-; V115 tmp108 [V115,T43] ( 2, 4 ) int -> x27 "Inlining Arg"
+; V115 tmp108 [V115,T42] ( 2, 4 ) int -> x27 "Inlining Arg"
;* V116 tmp109 [V116 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V117 tmp110 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V118 tmp111 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V119 tmp112 [V119,T62] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
-; V120 tmp113 [V120,T77] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-;* V121 tmp114 [V121,T90] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V122 tmp115 [V122,T86] ( 3, 1.50) int -> x3 "Inline return value spill temp"
-; V123 tmp116 [V123,T83] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V124 tmp117 [V124,T93] ( 0, 0 ) ref -> zero-ref single-def "field V22._source (fldOffset=0x0)" P-INDEP
-;* V125 tmp118 [V125,T94] ( 0, 0 ) ref -> zero-ref single-def "field V28._source (fldOffset=0x0)" P-INDEP
-; V126 tmp119 [V126,T78] ( 2, 2 ) ref -> x21 single-def "field V30._source (fldOffset=0x0)" P-INDEP
+; V119 tmp112 [V119,T61] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]>
+; V120 tmp113 [V120,T76] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+;* V121 tmp114 [V121,T89] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V122 tmp115 [V122,T85] ( 3, 1.50) int -> x3 "Inline return value spill temp"
+; V123 tmp116 [V123,T82] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V124 tmp117 [V124,T92] ( 0, 0 ) ref -> zero-ref single-def "field V22._source (fldOffset=0x0)" P-INDEP
+;* V125 tmp118 [V125,T93] ( 0, 0 ) ref -> zero-ref single-def "field V28._source (fldOffset=0x0)" P-INDEP
+; V126 tmp119 [V126,T77] ( 2, 2 ) ref -> x21 single-def "field V30._source (fldOffset=0x0)" P-INDEP
;* V127 tmp120 [V127 ] ( 0, 0 ) ref -> zero-ref single-def "field V33._source (fldOffset=0x0)" P-INDEP
;* V128 tmp121 [V128 ] ( 0, 0 ) ref -> zero-ref single-def "field V90._source (fldOffset=0x0)" P-INDEP
;* V129 tmp122 [V129 ] ( 0, 0 ) ref -> zero-ref single-def "field V98._source (fldOffset=0x0)" P-INDEP
-;* V130 tmp123 [V130,T95] ( 0, 0 ) ref -> zero-ref single-def "field V101._source (fldOffset=0x0)" P-INDEP
+;* V130 tmp123 [V130,T94] ( 0, 0 ) ref -> zero-ref single-def "field V101._source (fldOffset=0x0)" P-INDEP
;* V131 tmp124 [V131 ] ( 0, 0 ) ref -> zero-ref single-def "field V105._source (fldOffset=0x0)" P-INDEP
;* V132 tmp125 [V132 ] ( 0, 0 ) ref -> zero-ref single-def "field V113._source (fldOffset=0x0)" P-INDEP
-;* V133 tmp126 [V133,T96] ( 0, 0 ) ref -> zero-ref single-def "field V116._source (fldOffset=0x0)" P-INDEP
-; V134 tmp127 [V134,T40] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V135 tmp128 [V135,T41] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+;* V133 tmp126 [V133,T95] ( 0, 0 ) ref -> zero-ref single-def "field V116._source (fldOffset=0x0)" P-INDEP
+; V134 tmp127 [V134,T39] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V135 tmp128 [V135,T40] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
;* V136 tmp129 [V136 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V137 tmp130 [V137,T100] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V138 tmp131 [V138,T101] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V139 cse0 [V139,T89] ( 0, 0 ) long -> zero-ref multi-def "CSE #04: aggressive"
-; V140 cse1 [V140,T87] ( 3, 1.50) int -> x21 "CSE #13: conservative"
-; V141 cse2 [V141,T88] ( 3, 1.50) int -> x21 "CSE #21: conservative"
-; V142 cse3 [V142,T63] ( 3, 3 ) ref -> x25 "CSE #26: conservative"
-; V143 cse4 [V143,T84] ( 2, 1 ) ref -> x0 "CSE #12: conservative"
-; V144 cse5 [V144,T85] ( 2, 1 ) ref -> x0 "CSE #19: conservative"
+; V137 tmp130 [V137,T99] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V138 tmp131 [V138,T100] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V139 cse0 [V139,T88] ( 0, 0 ) long -> zero-ref multi-def "CSE #04: aggressive"
+; V140 cse1 [V140,T86] ( 3, 1.50) int -> x21 "CSE #15: conservative"
+; V141 cse2 [V141,T87] ( 3, 1.50) int -> x21 "CSE #20: conservative"
+; V142 cse3 [V142,T62] ( 3, 3 ) ref -> x25 "CSE #24: conservative"
+; V143 cse4 [V143,T83] ( 2, 1 ) ref -> x0 "CSE #13: conservative"
+; V144 cse5 [V144,T84] ( 2, 1 ) ref -> x0 "CSE #19: conservative"
; V145 cse6 [V145,T02] ( 20, 12.50) long -> x22 multi-def "CSE #05: aggressive"
-; V146 cse7 [V146,T27] ( 8, 4 ) long -> x21 multi-def "CSE #11: moderate"
-; V147 rat0 [V147,T71] ( 3, 2 ) byref -> x2 "TLS field access"
-; V148 rat1 [V148,T64] ( 3, 3 ) long -> x2 "TLS access"
-; V149 rat2 [V149,T65] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
-; V150 rat3 [V150,T72] ( 3, 2 ) byref -> x1 "TLS field access"
-; V151 rat4 [V151,T66] ( 3, 3 ) long -> x0 "TLS access"
-; V152 rat5 [V152,T67] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
+; V146 rat0 [V146,T70] ( 3, 2 ) byref -> x2 "TLS field access"
+; V147 rat1 [V147,T63] ( 3, 3 ) long -> x2 "TLS access"
+; V148 rat2 [V148,T64] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
+; V149 rat3 [V149,T71] ( 3, 2 ) byref -> x1 "TLS field access"
+; V150 rat4 [V150,T65] ( 3, 3 ) long -> x0 "TLS access"
+; V151 rat5 [V151,T66] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
;
; Lcl frame size = 48
G_M45976_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
mov x19, x0
mov x21, x1
mov x22, x2
mov x20, x3
;; size=44 bbWeight=1 PerfScore 8.50
G_M45976_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x14, x23, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #24
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
cbz x20, G_M45976_IG45
ldr x0, [x23, #0x10]
cbnz x0, G_M45976_IG04
;; size=68 bbWeight=1 PerfScore 14.00
G_M45976_IG03:
ldr x0, [x23, #0x18]
cbz x0, G_M45976_IG46
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M45976_IG04:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:DefaultOrClone():System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
mov x21, xzr
ldr w0, [x20, #0x1C]
cmp w0, #0
ble G_M45976_IG06
;; size=44 bbWeight=1 PerfScore 11.50
G_M45976_IG05:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x22, #0xD1FFAB1E // data for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<>9__9_0
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldr x21, [x22]
cbnz x21, G_M45976_IG06
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_0(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x21, #0x18]
mov x14, x22
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
;; size=104 bbWeight=0.50 PerfScore 10.75
G_M45976_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldr x24, [x22, #0x08]
cbnz x24, G_M45976_IG08
;; size=40 bbWeight=1 PerfScore 8.50
G_M45976_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x24, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_1(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x24, #0x18]
add x14, x22, #8
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M45976_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
mov x1, x19
mov x2, x20
mov x3, x24
mov x4, x21
mov x5, xzr
movz x6, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]],System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int],System.Func`4[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Nullable`1[int],System.Collections.Generic.IList`1[System.Nullable`1[int]],int]):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
add x14, x19, #24
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
ldr w0, [x20, #0x30]
cmn w0, #1
beq G_M45976_IG10
;; size=84 bbWeight=1 PerfScore 17.50
G_M45976_IG09:
ldr w0, [x20, #0x30]
cmp w0, #1
ble G_M45976_IG12
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M45976_IG10:
ldrb w0, [x20, #0x20]
cbz w0, G_M45976_IG12
ldr x21, [x22, #0x10]
cbnz x21, G_M45976_IG11
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_2(System.Object,System.Nullable`1[int]):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x21, #0x18]
add x14, x22, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
;; size=80 bbWeight=0.50 PerfScore 10.50
G_M45976_IG11:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
mov w1, wzr
mov x2, xzr
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[long]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #16
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 10.25
G_M45976_IG12:
ldr x0, [x23, #0x10]
cbz x0, G_M45976_IG17
;; size=8 bbWeight=1 PerfScore 4.00
G_M45976_IG13:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- mov x0, x21
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[long,System.Nullable`1[int]]:<.ctor>b__3(System.Collections.Generic.KeyValuePair`2[long,long]):this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
+ str x0, [x21, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- ldr x25, [x19, #0x10]
+ ldr x24, [x19, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #52
movz w15, #0xD1FFAB1E
movk w15, #0xD1FFAB1E LSL #16
stlr w15, [x14]
- add x14, x26, #8
+ add x14, x25, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
- mov x15, x26
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #56
- mov x15, x25
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x23, #0x54]
ldr w0, [x20, #0x30]
cmp w0, #1
beq G_M45976_IG14
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M45976_IG15
- ;; size=252 bbWeight=0.50 PerfScore 24.00
+ ;; size=256 bbWeight=0.50 PerfScore 24.25
G_M45976_IG14:
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=32 bbWeight=0.50 PerfScore 3.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.25
G_M45976_IG15:
add x14, x23, #24
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x23, #0x20]
ldr w21, [x0, #0x1C]
cmn w21, #1
beq G_M45976_IG16
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
str w21, [x24, #0x08]
add x14, x23, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 13.00
G_M45976_IG16:
add x14, x19, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
b G_M45976_IG21
;; size=16 bbWeight=0.50 PerfScore 1.50
G_M45976_IG17:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- mov x0, x21
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[long,System.Nullable`1[int]]:<.ctor>b__4(System.Collections.Generic.KeyValuePair`2[long,long]):this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
+ str x0, [x21, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- ldr x25, [x19, #0x10]
+ ldr x24, [x19, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #52
movz w15, #0xD1FFAB1E
movk w15, #0xD1FFAB1E LSL #16
stlr w15, [x14]
- add x14, x26, #8
+ add x14, x25, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
- mov x15, x26
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #56
- mov x15, x25
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
mov w0, #1
strb w0, [x23, #0x54]
ldr w0, [x20, #0x30]
cmp w0, #1
beq G_M45976_IG18
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M45976_IG19
- ;; size=256 bbWeight=0.50 PerfScore 24.25
+ ;; size=260 bbWeight=0.50 PerfScore 24.50
G_M45976_IG18:
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[long,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=32 bbWeight=0.50 PerfScore 3.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.25
G_M45976_IG19:
add x14, x23, #24
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x23, #0x20]
ldr w21, [x0, #0x1C]
cmn w21, #1
beq G_M45976_IG20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
str w21, [x24, #0x08]
add x14, x23, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 13.00
G_M45976_IG20:
add x14, x19, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M45976_IG21:
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x08]
ldr x21, [x0, #0x08]
ldr x23, [x22, #0x18]
cbnz x23, G_M45976_IG23
;; size=20 bbWeight=1 PerfScore 13.00
G_M45976_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_5(System.Threading.Tasks.Task,System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x23, #0x18]
add x14, x22, #24
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M45976_IG23:
ldr x24, [x19, #0x18]
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x25, [x2]
mov x26, x25
ldrsb wzr, [x21]
cbz x23, G_M45976_IG48
add x2, fp, #48 // [V94 tmp87]
add x1, fp, #56 // [V93 tmp86]
mov w0, #8
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
ldr w28, [fp, #0x38] // [V93 tmp86]
ldr w1, [fp, #0x30] // [V94 tmp87]
str w1, [fp, #0x2C] // [V100 tmp93]
tbnz w28, #2, G_M45976_IG25
;; size=100 bbWeight=1 PerfScore 28.00
G_M45976_IG24:
mov x2, xzr
b G_M45976_IG27
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M45976_IG25:
mrs x2, tpidr_el0
ldr w0, [x2, #0xD1FFAB1E]
cmp w0, #6
blt G_M45976_IG47
ldr x0, [x2, #0xD1FFAB1E]
ldr x0, [x0, #0x30]
cbz x0, G_M45976_IG47
ldr x0, [x0]
add x2, x0, #16
;; size=36 bbWeight=0.50 PerfScore 8.00
G_M45976_IG26:
ldr x2, [x2, #0x50]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M45976_IG27:
str x2, [fp, #0x10] // [V99 tmp92]
cbz x2, G_M45976_IG29
;; size=8 bbWeight=1 PerfScore 2.00
G_M45976_IG28:
tbz w28, #2, G_M45976_IG29
mov x0, x27
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x0, #48
ldr x15, [fp, #0x10] // [V99 tmp92]
bl CORINFO_HELP_ASSIGN_REF
;; size=40 bbWeight=0.50 PerfScore 5.25
G_M45976_IG29:
mov x0, x27
mov x1, x23
mov x2, x24
mov x3, xzr
mov w4, w28
ldr w5, [fp, #0x2C] // [V100 tmp93]
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x27, #56
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, x27
mov x2, x26
mov x3, xzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x08]
ldr x21, [x0, #0x08]
ldr x23, [x22, #0x20]
cbnz x23, G_M45976_IG31
;; size=168 bbWeight=1 PerfScore 45.50
G_M45976_IG30:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_6(System.Threading.Tasks.Task,System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x23, #0x18]
add x14, x22, #32
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M45976_IG31:
ldrsb wzr, [x21]
cbz x23, G_M45976_IG48
add x2, fp, #24 // [V109 tmp102]
add x1, fp, #32 // [V108 tmp101]
movz w0, #8
movk w0, #5 LSL #16
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
ldr w26, [fp, #0x20] // [V108 tmp101]
ldr w27, [fp, #0x18] // [V109 tmp102]
tbnz w26, #2, G_M45976_IG33
;; size=76 bbWeight=1 PerfScore 19.50
G_M45976_IG32:
mov x28, xzr
b G_M45976_IG35
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M45976_IG33:
mrs x0, tpidr_el0
ldr w1, [x0, #0xD1FFAB1E]
cmp w1, #6
blt G_M45976_IG49
ldr x0, [x0, #0xD1FFAB1E]
ldr x0, [x0, #0x30]
cbz x0, G_M45976_IG49
ldr x0, [x0]
add x1, x0, #16
;; size=36 bbWeight=0.50 PerfScore 8.00
G_M45976_IG34:
ldr x28, [x1, #0x50]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M45976_IG35:
cbz x28, G_M45976_IG37
;; size=4 bbWeight=1 PerfScore 1.00
G_M45976_IG36:
tbz w26, #2, G_M45976_IG37
mov x0, x24
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #48
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
;; size=40 bbWeight=0.50 PerfScore 4.50
G_M45976_IG37:
mov x0, x24
mov x1, x23
mov x2, x19
mov x3, xzr
mov w4, w26
mov w5, w27
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x24, #56
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, x24
mov x2, x25
mov x3, xzr
movz w4, #8
movk w4, #5 LSL #16
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x21, [x20, #0x28]
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x08]
ldr x23, [x0, #0x08]
ldr x2, [x22, #0x28]
cbnz x2, G_M45976_IG39
;; size=176 bbWeight=1 PerfScore 47.50
G_M45976_IG38:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M45976_IG50
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[long,System.Nullable`1[int]]:<.ctor>b__9_7(System.Object,System.Threading.CancellationToken):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
add x14, x22, #40
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M45976_IG39:
ldr x3, [x19, #0x08]
mov x0, x21
mov x1, x23
movz x4, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action`2[System.Object,System.Threading.CancellationToken],System.Object)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M45976_IG51
;; size=52 bbWeight=1 PerfScore 15.00
G_M45976_IG40:
movz x1, #0xD1FFAB1E // data for System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider:Log
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x22, [x1]
ldrb w1, [x22, #0x9D]
cbz w1, G_M45976_IG44
;; size=24 bbWeight=1 PerfScore 8.50
G_M45976_IG41:
ldrb w1, [x22, #0x9D]
ldr x3, [x22, #0x80]
ldr w2, [x22, #0x98]
mov x0, x22
mov w4, #4
movn x5, #0
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_M45976_IG44
mov x0, x19
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:GetNameForDebugger(System.Threading.Tasks.Dataflow.IDataflowBlock,System.Threading.Tasks.Dataflow.DataflowBlockOptions):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x20, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:GetPotentiallyNotSupportedCompletionTask(System.Threading.Tasks.Dataflow.IDataflowBlock):System.Threading.Tasks.Task
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x0, G_M45976_IG42
mov w3, wzr
b G_M45976_IG43
;; size=120 bbWeight=0.50 PerfScore 16.50
G_M45976_IG42:
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]
blr x1
sxtw w3, w0
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M45976_IG43:
mov x0, x22
mov x2, x20
mov w1, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=32 bbWeight=0.50 PerfScore 3.50
G_M45976_IG44:
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_M45976_IG45:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentNullException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M45976_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.ArgumentNullException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x24
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M45976_IG47:
mov w0, #6
bl CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x2, x0
b G_M45976_IG26
;; size=16 bbWeight=0 PerfScore 0.00
G_M45976_IG48:
mov w0, #49
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M45976_IG49:
mov w0, #6
bl CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x1, x0
b G_M45976_IG34
;; size=16 bbWeight=0 PerfScore 0.00
G_M45976_IG50:
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_M45976_IG51:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #124
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M45976_IG40
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2972, prolog size 28, PerfScore 450.25, instruction count 743, allocated bytes for code 2972 (MethodHash=f6124c67) for method System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
+; Total bytes of code 2996, prolog size 28, PerfScore 451.75, instruction count 749, allocated bytes for code 2996 (MethodHash=f6124c67) for method System.Threading.Tasks.Dataflow.TransformBlock`2[long,System.Nullable`1[int]]:.ctor(System.Func`2[long,System.Nullable`1[int]],System.Func`2[long,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
24 (0.81 % of base) - System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this
; Assembly listing for method System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 60 single block inlinees; 20 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 21, 16 ) ref -> x19 this class-hnd single-def <System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]>
; V01 arg1 [V01,T22] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Func`2[ubyte,System.Nullable`1[int]]>
; V02 arg2 [V02,T23] ( 3, 3 ) ref -> x22 class-hnd single-def <System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]]>
; V03 arg3 [V03,T01] ( 16, 12.50) ref -> x20 class-hnd <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
; V04 loc0 [V04,T09] ( 9, 7.50) ref -> x23 class-hnd exact single-def <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[ubyte,System.Nullable`1[int]]>
-; V05 loc1 [V05,T68] ( 3, 2.50) ref -> x21 class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+; V05 loc1 [V05,T67] ( 3, 2.50) ref -> x21 class-hnd <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
; V06 loc2 [V06,T24] ( 7, 4.50) ref -> x22 class-hnd exact single-def <System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider>
;# V07 OutArgs [V07 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[ubyte,System.Nullable`1[int]]>
-; V09 tmp2 [V09,T32] ( 2, 4 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
+; V09 tmp2 [V09,T31] ( 2, 4 ) ref -> x24 class-hnd single-def "dup spill" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
;* V10 tmp3 [V10 ] ( 0, 0 ) ref -> zero-ref single-def
;* V11 tmp4 [V11 ] ( 0, 0 ) ref -> zero-ref single-def
;* V12 tmp5 [V12 ] ( 0, 0 ) ref -> zero-ref single-def
-; V13 tmp6 [V13,T44] ( 4, 3.50) ref -> x24
+; V13 tmp6 [V13,T43] ( 4, 3.50) ref -> x24
; V14 tmp7 [V14,T12] ( 3, 6 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
-; V15 tmp8 [V15,T28] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V15 tmp8 [V15,T27] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
; V16 tmp9 [V16,T03] ( 11, 11 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[ubyte]>
-; V17 tmp10 [V17,T33] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+; V17 tmp10 [V17,T32] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V18 tmp11 [V18,T07] ( 4, 8 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V19 tmp12 [V19 ] ( 0, 0 ) ref -> zero-ref single-def
; V20 tmp13 [V20,T25] ( 5, 4.50) ref -> x23
-; V21 tmp14 [V21,T34] ( 2, 4 ) ref -> x24 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
+; V21 tmp14 [V21,T33] ( 2, 4 ) ref -> x24 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V22 tmp15 [V22 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
;* V23 tmp16 [V23 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V24 tmp17 [V24,T35] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
+; V24 tmp17 [V24,T34] ( 2, 4 ) ref -> x23 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V25 tmp18 [V25,T08] ( 4, 8 ) ref -> x21 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V26 tmp19 [V26 ] ( 0, 0 ) ref -> zero-ref single-def
; V27 tmp20 [V27,T26] ( 5, 4.50) ref -> x23
;* V28 tmp21 [V28 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
;* V29 tmp22 [V29 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V30 tmp23 [V30 ] ( 0, 0 ) struct ( 8) zero-ref "impAppendStmt" <System.Threading.CancellationToken>
-; V31 tmp24 [V31,T36] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
-; V32 tmp25 [V32,T37] ( 2, 4 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V31 tmp24 [V31,T35] ( 2, 4 ) ref -> x2 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Threading.CancellationToken]>
+; V32 tmp25 [V32,T36] ( 2, 4 ) ref -> x23 class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V33 tmp26 [V33 ] ( 0, 0 ) struct ( 8) zero-ref <System.Threading.CancellationToken>
;* V34 tmp27 [V34 ] ( 0, 0 ) ref -> zero-ref single-def
-; V35 tmp28 [V35,T45] ( 4, 3.50) ref -> x2
+; V35 tmp28 [V35,T44] ( 4, 3.50) ref -> x2
; V36 tmp29 [V36,T13] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Threading.CancellationToken]>
; V37 tmp30 [V37,T14] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
; V38 tmp31 [V38,T15] ( 5, 5 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Task,System.Object]>
-; V39 tmp32 [V39,T29] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V39 tmp32 [V39,T28] ( 4, 4 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
; V40 tmp33 [V40,T04] ( 11, 11 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[ubyte]>
-; V41 tmp34 [V41,T73] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
+; V41 tmp34 [V41,T72] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Object,System.Nullable`1[int]]>
;* V42 tmp35 [V42 ] ( 0, 0 ) ref -> zero-ref single-def
;* V43 tmp36 [V43 ] ( 0, 0 ) ref -> zero-ref single-def
-; V44 tmp37 [V44,T69] ( 4, 2 ) ref -> x21
+; V44 tmp37 [V44,T68] ( 4, 2 ) ref -> x21
; V45 tmp38 [V45,T16] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
; V46 tmp39 [V46,T17] ( 5, 5 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Object,System.Nullable`1[int]]>
; V47 tmp40 [V47,T18] ( 5, 5 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]]>
-; V48 tmp41 [V48,T74] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
-; V49 tmp42 [V49,T70] ( 4, 2 ) ref -> x21
+; V48 tmp41 [V48,T73] ( 2, 2 ) ref -> x21 class-hnd single-def "dup spill" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
+; V49 tmp42 [V49,T69] ( 4, 2 ) ref -> x21
; V50 tmp43 [V50,T19] ( 5, 5 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int]>
;* V51 tmp44 [V51 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.ArgumentNullException>
-; V52 tmp45 [V52,T98] ( 3, 0 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-; V53 tmp46 [V53,T99] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
-; V54 tmp47 [V54,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
-; V55 tmp48 [V55,T47] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
-;* V56 tmp49 [V56,T97] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V57 tmp50 [V57,T48] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
-; V58 tmp51 [V58,T49] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
-; V59 tmp52 [V59,T50] ( 3, 3 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V60 tmp53 [V60,T75] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+; V52 tmp45 [V52,T97] ( 3, 0 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+; V53 tmp46 [V53,T98] ( 3, 0 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <System.ArgumentNullException>
+; V54 tmp47 [V54,T45] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+; V55 tmp48 [V55,T46] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+;* V56 tmp49 [V56,T96] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V57 tmp50 [V57,T47] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+; V58 tmp51 [V58,T48] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]>
+; V59 tmp52 [V59,T49] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V60 tmp53 [V60,T74] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
;* V61 tmp54 [V61 ] ( 0, 0 ) ref -> zero-ref single-def
-; V62 tmp55 [V62,T51] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
-; V63 tmp56 [V63,T81] ( 3, 1.50) ref -> x24 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V62 tmp55 [V62,T50] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V63 tmp56 [V63,T80] ( 3, 1.50) ref -> x21 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
;* V64 tmp57 [V64 ] ( 0, 0 ) ref -> zero-ref
;* V65 tmp58 [V65 ] ( 0, 0 ) ref -> zero-ref
-; V66 tmp59 [V66,T30] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[ubyte]>
-; V67 tmp60 [V67,T52] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
-; V68 tmp61 [V68,T53] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V66 tmp59 [V66,T29] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[ubyte]>
+; V67 tmp60 [V67,T51] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V68 tmp61 [V68,T52] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V69 tmp62 [V69 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V70 tmp63 [V70,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-; V71 tmp64 [V71,T54] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-; V72 tmp65 [V72,T79] ( 2, 2 ) int -> x21 "Inlining Arg"
-; V73 tmp66 [V73,T55] ( 3, 3 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V74 tmp67 [V74,T76] ( 2, 2 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
+;* V70 tmp63 [V70,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+; V71 tmp64 [V71,T53] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+; V72 tmp65 [V72,T78] ( 2, 2 ) int -> x21 "Inlining Arg"
+; V73 tmp66 [V73,T54] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V74 tmp67 [V74,T75] ( 2, 2 ) ref -> x24 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.ReorderingBuffer`1[System.Nullable`1[int]]>
;* V75 tmp68 [V75 ] ( 0, 0 ) ref -> zero-ref single-def
-; V76 tmp69 [V76,T56] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
-; V77 tmp70 [V77,T82] ( 3, 1.50) ref -> x24 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V76 tmp69 [V76,T55] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V77 tmp70 [V77,T81] ( 3, 1.50) ref -> x21 class-hnd "Inline stloc first use temp" <System.Collections.Concurrent.IProducerConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
;* V78 tmp71 [V78 ] ( 0, 0 ) ref -> zero-ref
;* V79 tmp72 [V79 ] ( 0, 0 ) ref -> zero-ref
-; V80 tmp73 [V80,T31] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[ubyte]>
-; V81 tmp74 [V81,T57] ( 3, 3 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
-; V82 tmp75 [V82,T58] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
+; V80 tmp73 [V80,T30] ( 4, 4 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.BoundingStateWithPostponed`1[ubyte]>
+; V81 tmp74 [V81,T56] ( 3, 3 ) ref -> x21 class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.MultiProducerMultiConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]>
+; V82 tmp75 [V82,T57] ( 3, 3 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
;* V83 tmp76 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-;* V84 tmp77 [V84,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
-; V85 tmp78 [V85,T59] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-; V86 tmp79 [V86,T80] ( 2, 2 ) int -> x21 "Inlining Arg"
+;* V84 tmp77 [V84,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions>
+; V85 tmp78 [V85,T58] ( 3, 3 ) ref -> x25 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+; V86 tmp79 [V86,T79] ( 2, 2 ) int -> x21 "Inlining Arg"
;* V87 tmp80 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.TargetCore`1[ubyte]>
;* V88 tmp81 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V89 tmp82 [V89,T60] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+; V89 tmp82 [V89,T59] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
;* V90 tmp83 [V90 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V91 tmp84 [V91,T38] ( 2, 4 ) ref -> x26 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+; V91 tmp84 [V91,T37] ( 2, 4 ) ref -> x26 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
;* V92 tmp85 [V92 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V93 tmp86 [V93 ] ( 2, 2 ) int -> [fp+0x38] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V94 tmp87 [V94 ] ( 2, 2 ) int -> [fp+0x30] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V95 tmp88 [V95,T05] ( 6, 11 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
;* V96 tmp89 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V97 tmp90 [V97,T10] ( 4, 7 ) int -> x28 "Inlining Arg"
;* V98 tmp91 [V98 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V99 tmp92 [V99,T20] ( 4, 5 ) ref -> [fp+0x10] class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-; V100 tmp93 [V100,T42] ( 2, 4 ) int -> [fp+0x2C] spill-single-def "Inlining Arg"
+; V100 tmp93 [V100,T41] ( 2, 4 ) int -> [fp+0x2C] spill-single-def "Inlining Arg"
;* V101 tmp94 [V101 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V102 tmp95 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V103 tmp96 [V103 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V104 tmp97 [V104,T61] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+; V104 tmp97 [V104,T60] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
;* V105 tmp98 [V105 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-; V106 tmp99 [V106,T39] ( 2, 4 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
+; V106 tmp99 [V106,T38] ( 2, 4 ) ref -> x25 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.ThreadPoolTaskScheduler>
;* V107 tmp100 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V108 tmp101 [V108 ] ( 2, 2 ) int -> [fp+0x20] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V109 tmp102 [V109 ] ( 2, 2 ) int -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V110 tmp103 [V110,T06] ( 6, 11 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.ContinuationTaskFromTask>
;* V111 tmp104 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.ContinuationTaskFromTask>
; V112 tmp105 [V112,T11] ( 4, 7 ) int -> x26 "Inlining Arg"
;* V113 tmp106 [V113 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V114 tmp107 [V114,T21] ( 4, 5 ) ref -> x28 class-hnd "impAppendStmt" <System.Threading.Tasks.Task>
-; V115 tmp108 [V115,T43] ( 2, 4 ) int -> x27 "Inlining Arg"
+; V115 tmp108 [V115,T42] ( 2, 4 ) int -> x27 "Inlining Arg"
;* V116 tmp109 [V116 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken>
;* V117 tmp110 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]>
;* V118 tmp111 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Tasks.TaskCompletionSource`1[System.Threading.Tasks.Dataflow.Internal.VoidResult]>
-; V119 tmp112 [V119,T62] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
-; V120 tmp113 [V120,T77] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
-;* V121 tmp114 [V121,T90] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V122 tmp115 [V122,T86] ( 3, 1.50) int -> x3 "Inline return value spill temp"
-; V123 tmp116 [V123,T83] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V124 tmp117 [V124,T93] ( 0, 0 ) ref -> zero-ref single-def "field V22._source (fldOffset=0x0)" P-INDEP
-;* V125 tmp118 [V125,T94] ( 0, 0 ) ref -> zero-ref single-def "field V28._source (fldOffset=0x0)" P-INDEP
-; V126 tmp119 [V126,T78] ( 2, 2 ) ref -> x21 single-def "field V30._source (fldOffset=0x0)" P-INDEP
+; V119 tmp112 [V119,T61] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]>
+; V120 tmp113 [V120,T76] ( 2, 2 ) ref -> x20 class-hnd exact single-def "impAppendStmt" <System.String>
+;* V121 tmp114 [V121,T89] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V122 tmp115 [V122,T85] ( 3, 1.50) int -> x3 "Inline return value spill temp"
+; V123 tmp116 [V123,T82] ( 3, 1.50) ref -> x0 class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V124 tmp117 [V124,T92] ( 0, 0 ) ref -> zero-ref single-def "field V22._source (fldOffset=0x0)" P-INDEP
+;* V125 tmp118 [V125,T93] ( 0, 0 ) ref -> zero-ref single-def "field V28._source (fldOffset=0x0)" P-INDEP
+; V126 tmp119 [V126,T77] ( 2, 2 ) ref -> x21 single-def "field V30._source (fldOffset=0x0)" P-INDEP
;* V127 tmp120 [V127 ] ( 0, 0 ) ref -> zero-ref single-def "field V33._source (fldOffset=0x0)" P-INDEP
;* V128 tmp121 [V128 ] ( 0, 0 ) ref -> zero-ref single-def "field V90._source (fldOffset=0x0)" P-INDEP
;* V129 tmp122 [V129 ] ( 0, 0 ) ref -> zero-ref single-def "field V98._source (fldOffset=0x0)" P-INDEP
-;* V130 tmp123 [V130,T95] ( 0, 0 ) ref -> zero-ref single-def "field V101._source (fldOffset=0x0)" P-INDEP
+;* V130 tmp123 [V130,T94] ( 0, 0 ) ref -> zero-ref single-def "field V101._source (fldOffset=0x0)" P-INDEP
;* V131 tmp124 [V131 ] ( 0, 0 ) ref -> zero-ref single-def "field V105._source (fldOffset=0x0)" P-INDEP
;* V132 tmp125 [V132 ] ( 0, 0 ) ref -> zero-ref single-def "field V113._source (fldOffset=0x0)" P-INDEP
-;* V133 tmp126 [V133,T96] ( 0, 0 ) ref -> zero-ref single-def "field V116._source (fldOffset=0x0)" P-INDEP
-; V134 tmp127 [V134,T40] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
-; V135 tmp128 [V135,T41] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+;* V133 tmp126 [V133,T95] ( 0, 0 ) ref -> zero-ref single-def "field V116._source (fldOffset=0x0)" P-INDEP
+; V134 tmp127 [V134,T39] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
+; V135 tmp128 [V135,T40] ( 2, 4 ) ref -> x1 single-def "argument with side effect"
;* V136 tmp129 [V136 ] ( 0, 0 ) ref -> zero-ref "argument with side effect"
-; V137 tmp130 [V137,T100] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-; V138 tmp131 [V138,T101] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
-;* V139 cse0 [V139,T89] ( 0, 0 ) long -> zero-ref multi-def "CSE #04: aggressive"
-; V140 cse1 [V140,T87] ( 3, 1.50) int -> x21 "CSE #13: conservative"
-; V141 cse2 [V141,T88] ( 3, 1.50) int -> x21 "CSE #21: conservative"
-; V142 cse3 [V142,T63] ( 3, 3 ) ref -> x25 "CSE #26: conservative"
-; V143 cse4 [V143,T84] ( 2, 1 ) ref -> x0 "CSE #12: conservative"
-; V144 cse5 [V144,T85] ( 2, 1 ) ref -> x0 "CSE #19: conservative"
+; V137 tmp130 [V137,T99] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+; V138 tmp131 [V138,T100] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
+;* V139 cse0 [V139,T88] ( 0, 0 ) long -> zero-ref multi-def "CSE #04: aggressive"
+; V140 cse1 [V140,T86] ( 3, 1.50) int -> x21 "CSE #15: conservative"
+; V141 cse2 [V141,T87] ( 3, 1.50) int -> x21 "CSE #20: conservative"
+; V142 cse3 [V142,T62] ( 3, 3 ) ref -> x25 "CSE #24: conservative"
+; V143 cse4 [V143,T83] ( 2, 1 ) ref -> x0 "CSE #13: conservative"
+; V144 cse5 [V144,T84] ( 2, 1 ) ref -> x0 "CSE #19: conservative"
; V145 cse6 [V145,T02] ( 20, 12.50) long -> x22 multi-def "CSE #05: aggressive"
-; V146 cse7 [V146,T27] ( 8, 4 ) long -> x21 multi-def "CSE #11: moderate"
-; V147 rat0 [V147,T71] ( 3, 2 ) byref -> x2 "TLS field access"
-; V148 rat1 [V148,T64] ( 3, 3 ) long -> x2 "TLS access"
-; V149 rat2 [V149,T65] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
-; V150 rat3 [V150,T72] ( 3, 2 ) byref -> x1 "TLS field access"
-; V151 rat4 [V151,T66] ( 3, 3 ) long -> x0 "TLS access"
-; V152 rat5 [V152,T67] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
+; V146 rat0 [V146,T70] ( 3, 2 ) byref -> x2 "TLS field access"
+; V147 rat1 [V147,T63] ( 3, 3 ) long -> x2 "TLS access"
+; V148 rat2 [V148,T64] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
+; V149 rat3 [V149,T71] ( 3, 2 ) byref -> x1 "TLS field access"
+; V150 rat4 [V150,T65] ( 3, 3 ) long -> x0 "TLS access"
+; V151 rat5 [V151,T66] ( 3, 3 ) long -> x0 "ThreadStaticBlockBase access"
;
; Lcl frame size = 48
G_M1709_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
mov x19, x0
mov x21, x1
mov x22, x2
mov x20, x3
;; size=44 bbWeight=1 PerfScore 8.50
G_M1709_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
add x14, x23, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #24
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
cbz x20, G_M1709_IG45
ldr x0, [x23, #0x10]
cbnz x0, G_M1709_IG04
;; size=68 bbWeight=1 PerfScore 14.00
G_M1709_IG03:
ldr x0, [x23, #0x18]
cbz x0, G_M1709_IG46
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M1709_IG04:
mov x0, x20
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:DefaultOrClone():System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
mov x20, x0
mov x21, xzr
ldr w0, [x20, #0x1C]
cmp w0, #0
ble G_M1709_IG06
;; size=44 bbWeight=1 PerfScore 11.50
G_M1709_IG05:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x22, #0xD1FFAB1E // data for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<>9__9_0
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldr x21, [x22]
cbnz x21, G_M1709_IG06
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_0(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x21, #0x18]
mov x14, x22
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
;; size=104 bbWeight=0.50 PerfScore 10.75
G_M1709_IG06:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #0xD1FFAB1E
bl CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
movz x22, #0xD1FFAB1E
movk x22, #0xD1FFAB1E LSL #16
movk x22, #0xD1FFAB1E LSL #32
ldr x24, [x22, #0x08]
cbnz x24, G_M1709_IG08
;; size=40 bbWeight=1 PerfScore 8.50
G_M1709_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x24, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_1(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x24, #0x18]
add x14, x22, #8
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M1709_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
mov x1, x19
mov x2, x20
mov x3, x24
mov x4, x21
mov x5, xzr
movz x6, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.SourceCore`1[System.Nullable`1[int]]:.ctor(System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Threading.Tasks.Dataflow.DataflowBlockOptions,System.Action`1[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]]],System.Action`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],int],System.Func`4[System.Threading.Tasks.Dataflow.ISourceBlock`1[System.Nullable`1[int]],System.Nullable`1[int],System.Collections.Generic.IList`1[System.Nullable`1[int]],int]):this
movk x6, #0xD1FFAB1E LSL #16
movk x6, #0xD1FFAB1E LSL #32
ldr x6, [x6]
blr x6
add x14, x19, #24
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
ldr w0, [x20, #0x30]
cmn w0, #1
beq G_M1709_IG10
;; size=84 bbWeight=1 PerfScore 17.50
G_M1709_IG09:
ldr w0, [x20, #0x30]
cmp w0, #1
ble G_M1709_IG12
;; size=12 bbWeight=0.50 PerfScore 2.25
G_M1709_IG10:
ldrb w0, [x20, #0x20]
cbz w0, G_M1709_IG12
ldr x21, [x22, #0x10]
cbnz x21, G_M1709_IG11
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x21, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x21, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_2(System.Object,System.Nullable`1[int]):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x21, #0x18]
add x14, x22, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
;; size=80 bbWeight=0.50 PerfScore 10.50
G_M1709_IG11:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
mov w1, wzr
mov x2, xzr
movz x3, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[long,System.Collections.Generic.KeyValuePair`2[ubyte,System.Nullable`1[int]]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[long]):this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #8
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x24, #24
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x19, #16
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 10.25
G_M1709_IG12:
ldr x0, [x23, #0x10]
cbz x0, G_M1709_IG17
;; size=8 bbWeight=1 PerfScore 4.00
G_M1709_IG13:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- mov x0, x21
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[ubyte,System.Nullable`1[int]]:<.ctor>b__3(System.Collections.Generic.KeyValuePair`2[ubyte,long]):this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
+ str x0, [x21, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- ldr x25, [x19, #0x10]
+ ldr x24, [x19, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #52
movz w15, #0xD1FFAB1E
movk w15, #0xD1FFAB1E LSL #16
stlr w15, [x14]
- add x14, x26, #8
+ add x14, x25, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
- mov x15, x26
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #56
- mov x15, x25
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
strb wzr, [x23, #0x54]
ldr w0, [x20, #0x30]
cmp w0, #1
beq G_M1709_IG14
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M1709_IG15
- ;; size=252 bbWeight=0.50 PerfScore 24.00
+ ;; size=256 bbWeight=0.50 PerfScore 24.25
G_M1709_IG14:
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=32 bbWeight=0.50 PerfScore 3.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.25
G_M1709_IG15:
add x14, x23, #24
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x23, #0x20]
ldr w21, [x0, #0x1C]
cmn w21, #1
beq G_M1709_IG16
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
str w21, [x24, #0x08]
add x14, x23, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 13.00
G_M1709_IG16:
add x14, x19, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
b G_M1709_IG21
;; size=16 bbWeight=0.50 PerfScore 1.50
G_M1709_IG17:
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- mov x0, x21
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
- add x14, x24, #8
+ mov x21, x0
+ add x14, x21, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x0, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c__DisplayClass9_0[ubyte,System.Nullable`1[int]]:<.ctor>b__4(System.Collections.Generic.KeyValuePair`2[ubyte,long]):this
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- str x0, [x24, #0x18]
+ str x0, [x21, #0x18]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
- ldr x25, [x19, #0x10]
+ ldr x24, [x19, #0x10]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x26, x0
+ mov x25, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #52
movz w15, #0xD1FFAB1E
movk w15, #0xD1FFAB1E LSL #16
stlr w15, [x14]
- add x14, x26, #8
+ add x14, x25, #8
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #8
- mov x15, x26
+ mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #16
mov x15, x19
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #40
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #56
- mov x15, x25
+ mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
add x14, x23, #32
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
mov w0, #1
strb w0, [x23, #0x54]
ldr w0, [x20, #0x30]
cmp w0, #1
beq G_M1709_IG18
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
b G_M1709_IG19
- ;; size=256 bbWeight=0.50 PerfScore 24.25
+ ;; size=260 bbWeight=0.50 PerfScore 24.50
G_M1709_IG18:
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
- mov x24, x0
+ mov x21, x0
movz x1, #0xD1FFAB1E // code for System.Collections.Concurrent.SingleProducerSingleConsumerQueue`1[System.Collections.Generic.KeyValuePair`2[ubyte,long]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
- ;; size=32 bbWeight=0.50 PerfScore 3.75
+ ;; size=40 bbWeight=0.50 PerfScore 4.25
G_M1709_IG19:
add x14, x23, #24
- mov x15, x24
+ mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x23, #0x20]
ldr w21, [x0, #0x1C]
cmn w21, #1
beq G_M1709_IG20
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x25, x0
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.__Canon,System.Threading.Tasks.Dataflow.DataflowMessageHeader]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x24, #16
mov x15, x25
bl CORINFO_HELP_ASSIGN_REF
str w21, [x24, #0x08]
add x14, x23, #48
mov x15, x24
bl CORINFO_HELP_ASSIGN_REF
;; size=116 bbWeight=0.50 PerfScore 13.00
G_M1709_IG20:
add x14, x19, #8
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=12 bbWeight=0.50 PerfScore 1.00
G_M1709_IG21:
ldr x0, [x19, #0x08]
ldr x0, [x0, #0x08]
ldr x21, [x0, #0x08]
ldr x23, [x22, #0x18]
cbnz x23, G_M1709_IG23
;; size=20 bbWeight=1 PerfScore 13.00
G_M1709_IG22:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_5(System.Threading.Tasks.Task,System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x23, #0x18]
add x14, x22, #24
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M1709_IG23:
ldr x24, [x19, #0x18]
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x25, [x2]
mov x26, x25
ldrsb wzr, [x21]
cbz x23, G_M1709_IG48
add x2, fp, #48 // [V94 tmp87]
add x1, fp, #56 // [V93 tmp86]
mov w0, #8
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x27, x0
ldr w28, [fp, #0x38] // [V93 tmp86]
ldr w1, [fp, #0x30] // [V94 tmp87]
str w1, [fp, #0x2C] // [V100 tmp93]
tbnz w28, #2, G_M1709_IG25
;; size=100 bbWeight=1 PerfScore 28.00
G_M1709_IG24:
mov x2, xzr
b G_M1709_IG27
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M1709_IG25:
mrs x2, tpidr_el0
ldr w0, [x2, #0xD1FFAB1E]
cmp w0, #6
blt G_M1709_IG47
ldr x0, [x2, #0xD1FFAB1E]
ldr x0, [x0, #0x30]
cbz x0, G_M1709_IG47
ldr x0, [x0]
add x2, x0, #16
;; size=36 bbWeight=0.50 PerfScore 8.00
G_M1709_IG26:
ldr x2, [x2, #0x50]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M1709_IG27:
str x2, [fp, #0x10] // [V99 tmp92]
cbz x2, G_M1709_IG29
;; size=8 bbWeight=1 PerfScore 2.00
G_M1709_IG28:
tbz w28, #2, G_M1709_IG29
mov x0, x27
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
add x14, x0, #48
ldr x15, [fp, #0x10] // [V99 tmp92]
bl CORINFO_HELP_ASSIGN_REF
;; size=40 bbWeight=0.50 PerfScore 5.25
G_M1709_IG29:
mov x0, x27
mov x1, x23
mov x2, x24
mov x3, xzr
mov w4, w28
ldr w5, [fp, #0x2C] // [V100 tmp93]
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x27
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x27, #56
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, x27
mov x2, x26
mov x3, xzr
mov w4, #8
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x08]
ldr x21, [x0, #0x08]
ldr x23, [x22, #0x20]
cbnz x23, G_M1709_IG31
;; size=168 bbWeight=1 PerfScore 45.50
G_M1709_IG30:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x23, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x23, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_6(System.Threading.Tasks.Task,System.Object):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x23, #0x18]
add x14, x22, #32
mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M1709_IG31:
ldrsb wzr, [x21]
cbz x23, G_M1709_IG48
add x2, fp, #24 // [V109 tmp102]
add x1, fp, #32 // [V108 tmp101]
movz w0, #8
movk w0, #5 LSL #16
movz x3, #0xD1FFAB1E // code for System.Threading.Tasks.Task:CreationOptionsFromContinuationOptions(int,byref,byref)
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
ldr w26, [fp, #0x20] // [V108 tmp101]
ldr w27, [fp, #0x18] // [V109 tmp102]
tbnz w26, #2, G_M1709_IG33
;; size=76 bbWeight=1 PerfScore 19.50
G_M1709_IG32:
mov x28, xzr
b G_M1709_IG35
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M1709_IG33:
mrs x0, tpidr_el0
ldr w1, [x0, #0xD1FFAB1E]
cmp w1, #6
blt G_M1709_IG49
ldr x0, [x0, #0xD1FFAB1E]
ldr x0, [x0, #0x30]
cbz x0, G_M1709_IG49
ldr x0, [x0]
add x1, x0, #16
;; size=36 bbWeight=0.50 PerfScore 8.00
G_M1709_IG34:
ldr x28, [x1, #0x50]
;; size=4 bbWeight=0.50 PerfScore 1.50
G_M1709_IG35:
cbz x28, G_M1709_IG37
;; size=4 bbWeight=1 PerfScore 1.00
G_M1709_IG36:
tbz w26, #2, G_M1709_IG37
mov x0, x24
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
add x14, x0, #48
mov x15, x28
bl CORINFO_HELP_ASSIGN_REF
;; size=40 bbWeight=0.50 PerfScore 4.50
G_M1709_IG37:
mov x0, x24
mov x1, x23
mov x2, x19
mov x3, xzr
mov w4, w26
mov w5, w27
mov x6, xzr
movz x7, #0xD1FFAB1E // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldr x7, [x7]
blr x7
movz x0, #0xD1FFAB1E // code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
mov x1, x0
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Task:set_CapturedContext(System.Threading.ExecutionContext):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
add x14, x24, #56
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
mov x0, x21
mov x1, x24
mov x2, x25
mov x3, xzr
movz w4, #8
movk w4, #5 LSL #16
movz x5, #0xD1FFAB1E // code for System.Threading.Tasks.Task:ContinueWithCore(System.Threading.Tasks.Task,System.Threading.Tasks.TaskScheduler,System.Threading.CancellationToken,int):this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
ldr x5, [x5]
blr x5
ldr x21, [x20, #0x28]
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x08]
ldr x23, [x0, #0x08]
ldr x2, [x22, #0x28]
cbnz x2, G_M1709_IG39
;; size=176 bbWeight=1 PerfScore 47.50
G_M1709_IG38:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
ldr x15, [x22, #-0x08]
cbz x15, G_M1709_IG50
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.TransformBlock`2+<>c[ubyte,System.Nullable`1[int]]:<.ctor>b__9_7(System.Object,System.Threading.CancellationToken):this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
add x14, x22, #40
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=64 bbWeight=0.50 PerfScore 6.50
G_M1709_IG39:
ldr x3, [x19, #0x08]
mov x0, x21
mov x1, x23
movz x4, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:WireCancellationToComplete(System.Threading.CancellationToken,System.Threading.Tasks.Task,System.Action`2[System.Object,System.Threading.CancellationToken],System.Object)
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr w1, [x1]
tbz w1, #0, G_M1709_IG51
;; size=52 bbWeight=1 PerfScore 15.00
G_M1709_IG40:
movz x1, #0xD1FFAB1E // data for System.Threading.Tasks.Dataflow.Internal.DataflowEtwProvider:Log
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x22, [x1]
ldrb w1, [x22, #0x9D]
cbz w1, G_M1709_IG44
;; size=24 bbWeight=1 PerfScore 8.50
G_M1709_IG41:
ldrb w1, [x22, #0x9D]
ldr x3, [x22, #0x80]
ldr w2, [x22, #0x98]
mov x0, x22
mov w4, #4
movn x5, #0
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_M1709_IG44
mov x0, x19
mov x1, x20
movz x2, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:GetNameForDebugger(System.Threading.Tasks.Dataflow.IDataflowBlock,System.Threading.Tasks.Dataflow.DataflowBlockOptions):System.String
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x20, x0
mov x0, x19
movz x1, #0xD1FFAB1E // code for System.Threading.Tasks.Dataflow.Internal.Common:GetPotentiallyNotSupportedCompletionTask(System.Threading.Tasks.Dataflow.IDataflowBlock):System.Threading.Tasks.Task
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
cbnz x0, G_M1709_IG42
mov w3, wzr
b G_M1709_IG43
;; size=120 bbWeight=0.50 PerfScore 16.50
G_M1709_IG42:
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]
blr x1
sxtw w3, w0
;; size=24 bbWeight=0.50 PerfScore 3.00
G_M1709_IG43:
mov x0, x22
mov x2, x20
mov w1, #1
movz x4, #0xD1FFAB1E // code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,System.String,int):this
movk x4, #0xD1FFAB1E LSL #16
movk x4, #0xD1FFAB1E LSL #32
ldr x4, [x4]
blr x4
;; size=32 bbWeight=0.50 PerfScore 3.50
G_M1709_IG44:
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_M1709_IG45:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x19, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.ArgumentNullException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x19
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M1709_IG46:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x24, x0
mov w0, #0xD1FFAB1E
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_STRCNS
mov x1, x0
mov x0, x24
movz x2, #0xD1FFAB1E // code for System.ArgumentNullException:.ctor(System.String):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
mov x0, x24
bl CORINFO_HELP_THROW
brk_unix #0
;; size=80 bbWeight=0 PerfScore 0.00
G_M1709_IG47:
mov w0, #6
bl CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x2, x0
b G_M1709_IG26
;; size=16 bbWeight=0 PerfScore 0.00
G_M1709_IG48:
mov w0, #49
movz x1, #0xD1FFAB1E // code for System.ThrowHelper:ThrowArgumentNullException(int)
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
G_M1709_IG49:
mov w0, #6
bl CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
mov x1, x0
b G_M1709_IG34
;; size=16 bbWeight=0 PerfScore 0.00
G_M1709_IG50:
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_M1709_IG51:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #124
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M1709_IG40
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2972, prolog size 28, PerfScore 450.25, instruction count 743, allocated bytes for code 2972 (MethodHash=ca5ff952) for method System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
+; Total bytes of code 2996, prolog size 28, PerfScore 451.75, instruction count 749, allocated bytes for code 2996 (MethodHash=ca5ff952) for method System.Threading.Tasks.Dataflow.TransformBlock`2[ubyte,System.Nullable`1[int]]:.ctor(System.Func`2[ubyte,System.Nullable`1[int]],System.Func`2[ubyte,System.Threading.Tasks.Task`1[System.Nullable`1[int]]],System.Threading.Tasks.Dataflow.ExecutionDataflowBlockOptions):this (FullOpts)
20 (3.38 % of base) - System.Composition.TypedParts.TypedPartExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this
; Assembly listing for method System.Composition.TypedParts.TypedPartExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]: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; 2 single block inlinees; 3 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T00] ( 6, 5.50) ref -> x19 this class-hnd single-def <System.Composition.TypedParts.TypedPartExportDescriptorProvider>
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> x20 class-hnd single-def <System.Composition.Hosting.Core.CompositionContract>
; V02 arg2 [V02,T05] ( 3, 3 ) ref -> x21 class-hnd single-def <System.Composition.Hosting.Core.DependencyAccessor>
; V03 loc0 [V03,T01] ( 8, 7 ) ref -> x22 class-hnd exact single-def <System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c__DisplayClass4_0>
-; V04 loc1 [V04,T12] ( 3, 1.50) ref -> x20 ld-addr-op class-hnd <System.Collections.Generic.ICollection`1[System.Composition.TypedParts.Discovery.DiscoveredExport]>
+; V04 loc1 [V04,T11] ( 3, 1.50) ref -> x20 ld-addr-op class-hnd <System.Collections.Generic.ICollection`1[System.Composition.TypedParts.Discovery.DiscoveredExport]>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V06 tmp1 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c__DisplayClass4_0>
-; V07 tmp2 [V07,T14] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.TypedParts.Discovery.DiscoveredExport,ubyte]>
+; V07 tmp2 [V07,T13] ( 2, 2 ) ref -> x2 class-hnd single-def "dup spill" <System.Func`2[System.Composition.TypedParts.Discovery.DiscoveredExport,ubyte]>
;* V08 tmp3 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Collections.Generic.ICollection`1[System.Composition.TypedParts.Discovery.DiscoveredExport]>
;* V09 tmp4 [V09 ] ( 0, 0 ) ref -> zero-ref single-def
-; V10 tmp5 [V10,T13] ( 4, 2 ) ref -> x2
+; V10 tmp5 [V10,T12] ( 4, 2 ) ref -> x2
; V11 tmp6 [V11,T06] ( 4, 4 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.TypedParts.Discovery.DiscoveredExport,System.Composition.Hosting.Core.ExportDescriptorPromise]>
;* V12 tmp7 [V12 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <System.Collections.Generic.ICollection`1[System.Composition.TypedParts.Discovery.DiscoveredExport]>
; V13 tmp8 [V13,T03] ( 5, 5 ) ref -> x2 class-hnd exact single-def "NewObj constructor temp" <System.Func`2[System.Composition.TypedParts.Discovery.DiscoveredExport,ubyte]>
-;* V14 tmp9 [V14,T16] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V14 tmp9 [V14,T15] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V15 tmp10 [V15,T02] ( 3, 6 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.ICollection`1[System.Composition.TypedParts.Discovery.DiscoveredExport]]>
; V16 tmp11 [V16,T07] ( 2, 4 ) ref -> x1 class-hnd exact single-def "Inlining Arg" <System.Composition.Hosting.Core.CompositionContract>
-; V17 tmp12 [V17,T11] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
+; V17 tmp12 [V17,T10] ( 3, 2.50) byref -> x0 single-def "Inline stloc first use temp"
; V18 tmp13 [V18,T09] ( 3, 3 ) ref -> x15 class-hnd exact single-def "Inlining Arg" <System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c>
-; V19 tmp14 [V19,T15] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
-;* V20 cse0 [V20,T17] ( 0, 0 ) long -> zero-ref "CSE #03: aggressive"
-; V21 cse1 [V21,T10] ( 5, 2.50) long -> x21 "CSE #04: aggressive"
-; V22 cse2 [V22,T08] ( 6, 3 ) long -> registers multi-def "CSE #01: aggressive"
+; V19 tmp14 [V19,T14] ( 2, 2 ) ref -> x1 single-def "argument with side effect"
+;* V20 cse0 [V20,T16] ( 0, 0 ) long -> zero-ref "CSE #03: aggressive"
+; V21 cse1 [V21,T08] ( 6, 3 ) long -> registers multi-def "CSE #01: aggressive"
;
; Lcl frame size = 0
G_M27698_IG01:
stp fp, lr, [sp, #-0x30]!
stp x19, x20, [sp, #0x10]
stp x21, x22, [sp, #0x20]
mov fp, sp
mov x19, x0
mov x20, x1
mov x21, x2
;; size=28 bbWeight=1 PerfScore 5.00
G_M27698_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x22, x0
add x14, x22, #8
mov x15, x20
bl CORINFO_HELP_ASSIGN_REF
add x14, x22, #16
mov x15, x21
bl CORINFO_HELP_ASSIGN_REF
ldr x1, [x22, #0x08]
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Composition.TypedParts.TypedPartExportDescriptorProvider:DiscoverGenericParts(System.Composition.Hosting.Core.CompositionContract):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x1, [x22, #0x08]
mov x0, x19
movz x2, #0xD1FFAB1E // code for System.Composition.TypedParts.TypedPartExportDescriptorProvider:DiscoverConstrainedParts(System.Composition.Hosting.Core.CompositionContract):this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
ldr x0, [x19, #0x08]
ldr x1, [x22, #0x08]
ldrsb wzr, [x0]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:FindValue(System.__Canon):byref:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
cbz x0, G_M27698_IG04
;; size=136 bbWeight=1 PerfScore 40.50
G_M27698_IG03:
ldr x20, [x0]
b G_M27698_IG07
;; size=8 bbWeight=0.50 PerfScore 2.00
G_M27698_IG04:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M27698_IG12
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M27698_IG05:
movz x20, #0xD1FFAB1E
movk x20, #0xD1FFAB1E LSL #16
movk x20, #0xD1FFAB1E LSL #32
ldr x0, [x20, #0xD1FFAB1E]
;; size=16 bbWeight=0.50 PerfScore 2.25
G_M27698_IG06:
ldp x21, x22, [sp, #0x20]
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.00
G_M27698_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr w0, [x0]
tbz w0, #0, G_M27698_IG13
;; size=20 bbWeight=0.50 PerfScore 2.75
G_M27698_IG08:
movz x0, #0xD1FFAB1E // data for System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c:<>9__4_0
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov x21, x0
ldr x2, [x21]
cbnz x2, G_M27698_IG09
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x2, x0
ldr x15, [x21, #-0x08]
cbz x15, G_M27698_IG14
add x14, x2, #8
bl CORINFO_HELP_ASSIGN_REF
movz x14, #0xD1FFAB1E // code for System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c:<GetExportDescriptors>b__4_0(System.Composition.TypedParts.Discovery.DiscoveredExport):ubyte:this
movk x14, #0xD1FFAB1E LSL #16
movk x14, #0xD1FFAB1E LSL #32
str x14, [x2, #0x18]
mov x14, x21
mov x15, x2
bl CORINFO_HELP_ASSIGN_REF
;; size=88 bbWeight=0.50 PerfScore 9.50
G_M27698_IG09:
mov x1, x20
- movz x21, #0xD1FFAB1E
- movk x21, #0xD1FFAB1E LSL #16
- movk x21, #0xD1FFAB1E LSL #32
- mov x0, x21
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
cbnz w0, G_M27698_IG10
ldr x0, [x19, #0x08]
ldr x1, [x22, #0x08]
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=76 bbWeight=0.50 PerfScore 11.75
+ ;; size=72 bbWeight=0.50 PerfScore 11.50
G_M27698_IG10:
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
add x14, x0, #8
mov x15, x22
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Composition.TypedParts.TypedPartExportDescriptorProvider+<>c__DisplayClass4_0:<GetExportDescriptors>b__1(System.Composition.TypedParts.Discovery.DiscoveredExport):System.Composition.Hosting.Core.ExportDescriptorPromise:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x0, #0x18]
mov x2, x0
mov x1, x20
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x3, #0xD1FFAB1E // code for System.Linq.Enumerable:Select[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon]):System.Collections.Generic.IEnumerable`1[System.__Canon]
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
blr x3
mov x1, x0
- add x0, x21, #0xD1FFAB1E
+ movz x0, #0xD1FFAB1E
+ movk x0, #0xD1FFAB1E LSL #16
+ movk x0, #0xD1FFAB1E LSL #32
movz x2, #0xD1FFAB1E // code for System.Linq.Enumerable:ToArray[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon]):System.__Canon[]
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- ;; size=96 bbWeight=0.50 PerfScore 9.75
+ ;; size=120 bbWeight=0.50 PerfScore 11.25
G_M27698_IG11:
ldp x21, x22, [sp, #0x20]
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.50 PerfScore 2.00
G_M27698_IG12:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #24
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M27698_IG05
;; size=24 bbWeight=0 PerfScore 0.00
G_M27698_IG13:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
mov w1, #33
bl CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
b G_M27698_IG08
;; size=24 bbWeight=0 PerfScore 0.00
G_M27698_IG14:
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
-; Total bytes of code 592, prolog size 16, PerfScore 90.25, instruction count 148, allocated bytes for code 592 (MethodHash=58d193cd) for method System.Composition.TypedParts.TypedPartExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this (FullOpts)
+; Total bytes of code 612, prolog size 16, PerfScore 91.50, instruction count 153, allocated bytes for code 612 (MethodHash=58d193cd) for method System.Composition.TypedParts.TypedPartExportDescriptorProvider:GetExportDescriptors(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.DependencyAccessor):System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.ExportDescriptorPromise]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[double]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[double]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]: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; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[double]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[short]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,short]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,short]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,short]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[double,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[double,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M65338_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M65338_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[short]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M65338_IG09
+ cbz w0, G_M65338_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M65338_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M65338_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M65338_IG05
+ cbnz x0, G_M65338_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M65338_IG04:
- cbnz x1, G_M65338_IG07
- b G_M65338_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M65338_IG05:
+ cbnz x1, G_M65338_IG08
+ b G_M65338_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M65338_IG06:
cmp x0, x1
- beq G_M65338_IG06
+ beq G_M65338_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M65338_IG07
+ cbz w0, G_M65338_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M65338_IG06:
+G_M65338_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,short]:<CloneCast>b__0(short):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M65338_IG08
+ b G_M65338_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M65338_IG07:
+G_M65338_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,short]:<CloneCast>b__1(short):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M65338_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M65338_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M65338_IG03
+ cbnz w0, G_M65338_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M65338_IG09:
+G_M65338_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M65338_IG16
+ cbz w0, G_M65338_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M65338_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M65338_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M65338_IG12
+ cbnz x0, G_M65338_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M65338_IG11:
- cbnz x22, G_M65338_IG14
- b G_M65338_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M65338_IG12:
+ cbnz x22, G_M65338_IG15
+ b G_M65338_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M65338_IG13:
cmp x0, x22
- beq G_M65338_IG13
+ beq G_M65338_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M65338_IG14
+ cbz w0, G_M65338_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M65338_IG13:
+G_M65338_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M65338_IG15
+ b G_M65338_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M65338_IG14:
+G_M65338_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M65338_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M65338_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M65338_IG10
+ cbnz w0, G_M65338_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M65338_IG16:
+G_M65338_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M65338_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M65338_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=88c300c5) for method System.Data.SortExpressionBuilder`1[double]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=88c300c5) for method System.Data.SortExpressionBuilder`1[double]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[double]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[double]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[double]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[ubyte]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,ubyte]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,ubyte]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,ubyte]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[double,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[double,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[double,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M28250_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M28250_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[ubyte]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M28250_IG09
+ cbz w0, G_M28250_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M28250_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M28250_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M28250_IG05
+ cbnz x0, G_M28250_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M28250_IG04:
- cbnz x1, G_M28250_IG07
- b G_M28250_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M28250_IG05:
+ cbnz x1, G_M28250_IG08
+ b G_M28250_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M28250_IG06:
cmp x0, x1
- beq G_M28250_IG06
+ beq G_M28250_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M28250_IG07
+ cbz w0, G_M28250_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M28250_IG06:
+G_M28250_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,ubyte]:<CloneCast>b__0(ubyte):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M28250_IG08
+ b G_M28250_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M28250_IG07:
+G_M28250_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[double,ubyte]:<CloneCast>b__1(ubyte):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M28250_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M28250_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M28250_IG03
+ cbnz w0, G_M28250_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M28250_IG09:
+G_M28250_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M28250_IG16
+ cbz w0, G_M28250_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M28250_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M28250_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M28250_IG12
+ cbnz x0, G_M28250_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M28250_IG11:
- cbnz x22, G_M28250_IG14
- b G_M28250_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M28250_IG12:
+ cbnz x22, G_M28250_IG15
+ b G_M28250_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M28250_IG13:
cmp x0, x22
- beq G_M28250_IG13
+ beq G_M28250_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M28250_IG14
+ cbz w0, G_M28250_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M28250_IG13:
+G_M28250_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M28250_IG15
+ b G_M28250_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M28250_IG14:
+G_M28250_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M28250_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M28250_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M28250_IG10
+ cbnz w0, G_M28250_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M28250_IG16:
+G_M28250_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M28250_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M28250_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f67e91a5) for method System.Data.SortExpressionBuilder`1[double]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f67e91a5) for method System.Data.SortExpressionBuilder`1[double]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]: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; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[double]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,double]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,double]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,double]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M18629_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M18629_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[double]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M18629_IG09
+ cbz w0, G_M18629_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M18629_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M18629_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M18629_IG05
+ cbnz x0, G_M18629_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M18629_IG04:
- cbnz x1, G_M18629_IG07
- b G_M18629_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M18629_IG05:
+ cbnz x1, G_M18629_IG08
+ b G_M18629_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M18629_IG06:
cmp x0, x1
- beq G_M18629_IG06
+ beq G_M18629_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M18629_IG07
+ cbz w0, G_M18629_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M18629_IG06:
+G_M18629_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,double]:<CloneCast>b__0(double):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M18629_IG08
+ b G_M18629_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M18629_IG07:
+G_M18629_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,double]:<CloneCast>b__1(double):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M18629_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M18629_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M18629_IG03
+ cbnz w0, G_M18629_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M18629_IG09:
+G_M18629_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M18629_IG16
+ cbz w0, G_M18629_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M18629_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M18629_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M18629_IG12
+ cbnz x0, G_M18629_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M18629_IG11:
- cbnz x22, G_M18629_IG14
- b G_M18629_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M18629_IG12:
+ cbnz x22, G_M18629_IG15
+ b G_M18629_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M18629_IG13:
cmp x0, x22
- beq G_M18629_IG13
+ beq G_M18629_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M18629_IG14
+ cbz w0, G_M18629_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M18629_IG13:
+G_M18629_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M18629_IG15
+ b G_M18629_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M18629_IG14:
+G_M18629_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M18629_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M18629_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M18629_IG10
+ cbnz w0, G_M18629_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M18629_IG16:
+G_M18629_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M18629_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M18629_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=4afbb73a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=4afbb73a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[int]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,int]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,int]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,int]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M22693_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M22693_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[int]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M22693_IG09
+ cbz w0, G_M22693_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M22693_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M22693_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M22693_IG05
+ cbnz x0, G_M22693_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M22693_IG04:
- cbnz x1, G_M22693_IG07
- b G_M22693_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M22693_IG05:
+ cbnz x1, G_M22693_IG08
+ b G_M22693_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M22693_IG06:
cmp x0, x1
- beq G_M22693_IG06
+ beq G_M22693_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M22693_IG07
+ cbz w0, G_M22693_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M22693_IG06:
+G_M22693_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,int]:<CloneCast>b__0(int):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M22693_IG08
+ b G_M22693_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M22693_IG07:
+G_M22693_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,int]:<CloneCast>b__1(int):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M22693_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M22693_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M22693_IG03
+ cbnz w0, G_M22693_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M22693_IG09:
+G_M22693_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M22693_IG16
+ cbz w0, G_M22693_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M22693_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M22693_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M22693_IG12
+ cbnz x0, G_M22693_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M22693_IG11:
- cbnz x22, G_M22693_IG14
- b G_M22693_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M22693_IG12:
+ cbnz x22, G_M22693_IG15
+ b G_M22693_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M22693_IG13:
cmp x0, x22
- beq G_M22693_IG13
+ beq G_M22693_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M22693_IG14
+ cbz w0, G_M22693_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M22693_IG13:
+G_M22693_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M22693_IG15
+ b G_M22693_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M22693_IG14:
+G_M22693_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M22693_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M22693_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M22693_IG10
+ cbnz w0, G_M22693_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M22693_IG16:
+G_M22693_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M22693_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M22693_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=4be2a75a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=4be2a75a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[long]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,long]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,long]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,long]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M27205_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M27205_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[long]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M27205_IG09
+ cbz w0, G_M27205_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M27205_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M27205_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M27205_IG05
+ cbnz x0, G_M27205_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M27205_IG04:
- cbnz x1, G_M27205_IG07
- b G_M27205_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M27205_IG05:
+ cbnz x1, G_M27205_IG08
+ b G_M27205_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M27205_IG06:
cmp x0, x1
- beq G_M27205_IG06
+ beq G_M27205_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M27205_IG07
+ cbz w0, G_M27205_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M27205_IG06:
+G_M27205_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,long]:<CloneCast>b__0(long):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M27205_IG08
+ b G_M27205_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M27205_IG07:
+G_M27205_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,long]:<CloneCast>b__1(long):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M27205_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M27205_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M27205_IG03
+ cbnz w0, G_M27205_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M27205_IG09:
+G_M27205_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M27205_IG16
+ cbz w0, G_M27205_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M27205_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M27205_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M27205_IG12
+ cbnz x0, G_M27205_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M27205_IG11:
- cbnz x22, G_M27205_IG14
- b G_M27205_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M27205_IG12:
+ cbnz x22, G_M27205_IG15
+ b G_M27205_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M27205_IG13:
cmp x0, x22
- beq G_M27205_IG13
+ beq G_M27205_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M27205_IG14
+ cbz w0, G_M27205_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M27205_IG13:
+G_M27205_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M27205_IG15
+ b G_M27205_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M27205_IG14:
+G_M27205_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M27205_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M27205_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M27205_IG10
+ cbnz w0, G_M27205_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M27205_IG16:
+G_M27205_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M27205_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M27205_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=f50a95ba) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=f50a95ba) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]: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; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[short]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,short]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,short]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[short]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,short]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[short,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[short,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M27333_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M27333_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[short]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M27333_IG09
+ cbz w0, G_M27333_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M27333_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M27333_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M27333_IG05
+ cbnz x0, G_M27333_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M27333_IG04:
- cbnz x1, G_M27333_IG07
- b G_M27333_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M27333_IG05:
+ cbnz x1, G_M27333_IG08
+ b G_M27333_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M27333_IG06:
cmp x0, x1
- beq G_M27333_IG06
+ beq G_M27333_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M27333_IG07
+ cbz w0, G_M27333_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M27333_IG06:
+G_M27333_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,short]:<CloneCast>b__0(short):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M27333_IG08
+ b G_M27333_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M27333_IG07:
+G_M27333_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,short]:<CloneCast>b__1(short):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M27333_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M27333_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M27333_IG03
+ cbnz w0, G_M27333_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M27333_IG09:
+G_M27333_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M27333_IG16
+ cbz w0, G_M27333_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M27333_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M27333_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M27333_IG12
+ cbnz x0, G_M27333_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M27333_IG11:
- cbnz x22, G_M27333_IG14
- b G_M27333_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M27333_IG12:
+ cbnz x22, G_M27333_IG15
+ b G_M27333_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M27333_IG13:
cmp x0, x22
- beq G_M27333_IG13
+ beq G_M27333_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M27333_IG14
+ cbz w0, G_M27333_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M27333_IG13:
+G_M27333_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M27333_IG15
+ b G_M27333_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M27333_IG14:
+G_M27333_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M27333_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M27333_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M27333_IG10
+ cbnz w0, G_M27333_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M27333_IG16:
+G_M27333_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M27333_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M27333_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=5a47953a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=5a47953a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[short]():System.Data.SortExpressionBuilder`1[short]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,System.Numerics.Vector`1[float]]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,System.Numerics.Vector`1[float]]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,System.Numerics.Vector`1[float]]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[System.Numerics.Vector`1[float],System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Numerics.Vector`1[float],System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M50597_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M50597_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M50597_IG09
+ cbz w0, G_M50597_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M50597_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M50597_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M50597_IG05
+ cbnz x0, G_M50597_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M50597_IG04:
- cbnz x1, G_M50597_IG07
- b G_M50597_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M50597_IG05:
+ cbnz x1, G_M50597_IG08
+ b G_M50597_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M50597_IG06:
cmp x0, x1
- beq G_M50597_IG06
+ beq G_M50597_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M50597_IG07
+ cbz w0, G_M50597_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M50597_IG06:
+G_M50597_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,System.Numerics.Vector`1[float]]:<CloneCast>b__0(System.Numerics.Vector`1[float]):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M50597_IG08
+ b G_M50597_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M50597_IG07:
+G_M50597_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,System.Numerics.Vector`1[float]]:<CloneCast>b__1(System.Numerics.Vector`1[float]):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M50597_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M50597_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M50597_IG03
+ cbnz w0, G_M50597_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M50597_IG09:
+G_M50597_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M50597_IG16
+ cbz w0, G_M50597_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M50597_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M50597_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M50597_IG12
+ cbnz x0, G_M50597_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M50597_IG11:
- cbnz x22, G_M50597_IG14
- b G_M50597_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M50597_IG12:
+ cbnz x22, G_M50597_IG15
+ b G_M50597_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M50597_IG13:
cmp x0, x22
- beq G_M50597_IG13
+ beq G_M50597_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M50597_IG14
+ cbz w0, G_M50597_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M50597_IG13:
+G_M50597_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M50597_IG15
+ b G_M50597_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M50597_IG14:
+G_M50597_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M50597_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M50597_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M50597_IG10
+ cbnz w0, G_M50597_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M50597_IG16:
+G_M50597_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M50597_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M50597_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=2cab3a5a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=2cab3a5a) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[System.Numerics.Vector`1[float]]():System.Data.SortExpressionBuilder`1[System.Numerics.Vector`1[float]]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[long]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[long]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[long]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[ubyte]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,ubyte]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,ubyte]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[ubyte]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,ubyte]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[long,System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[ubyte,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[ubyte,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[long,System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[long,System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M21285_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M21285_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[ubyte]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M21285_IG09
+ cbz w0, G_M21285_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M21285_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M21285_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M21285_IG05
+ cbnz x0, G_M21285_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M21285_IG04:
- cbnz x1, G_M21285_IG07
- b G_M21285_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M21285_IG05:
+ cbnz x1, G_M21285_IG08
+ b G_M21285_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M21285_IG06:
cmp x0, x1
- beq G_M21285_IG06
+ beq G_M21285_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M21285_IG07
+ cbz w0, G_M21285_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M21285_IG06:
+G_M21285_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,ubyte]:<CloneCast>b__0(ubyte):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M21285_IG08
+ b G_M21285_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M21285_IG07:
+G_M21285_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[long,ubyte]:<CloneCast>b__1(ubyte):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M21285_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M21285_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M21285_IG03
+ cbnz w0, G_M21285_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M21285_IG09:
+G_M21285_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M21285_IG16
+ cbz w0, G_M21285_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M21285_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M21285_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M21285_IG12
+ cbnz x0, G_M21285_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M21285_IG11:
- cbnz x22, G_M21285_IG14
- b G_M21285_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M21285_IG12:
+ cbnz x22, G_M21285_IG15
+ b G_M21285_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M21285_IG13:
cmp x0, x22
- beq G_M21285_IG13
+ beq G_M21285_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M21285_IG14
+ cbz w0, G_M21285_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M21285_IG13:
+G_M21285_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M21285_IG15
+ b G_M21285_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M21285_IG14:
+G_M21285_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M21285_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M21285_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M21285_IG10
+ cbnz w0, G_M21285_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M21285_IG16:
+G_M21285_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M21285_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M21285_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=2aeaacda) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=2aeaacda) for method System.Data.SortExpressionBuilder`1[long]:CloneCast[ubyte]():System.Data.SortExpressionBuilder`1[ubyte]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]: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; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[double]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],double]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],double]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[double]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],double]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[System.Nullable`1[int],System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[double,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[double,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M2865_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M2865_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[double]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2865_IG09
+ cbz w0, G_M2865_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M2865_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M2865_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M2865_IG05
+ cbnz x0, G_M2865_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M2865_IG04:
- cbnz x1, G_M2865_IG07
- b G_M2865_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M2865_IG05:
+ cbnz x1, G_M2865_IG08
+ b G_M2865_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M2865_IG06:
cmp x0, x1
- beq G_M2865_IG06
+ beq G_M2865_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M2865_IG07
+ cbz w0, G_M2865_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M2865_IG06:
+G_M2865_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],double]:<CloneCast>b__0(double):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M2865_IG08
+ b G_M2865_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M2865_IG07:
+G_M2865_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],double]:<CloneCast>b__1(double):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M2865_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M2865_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M2865_IG03
+ cbnz w0, G_M2865_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M2865_IG09:
+G_M2865_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2865_IG16
+ cbz w0, G_M2865_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M2865_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M2865_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M2865_IG12
+ cbnz x0, G_M2865_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M2865_IG11:
- cbnz x22, G_M2865_IG14
- b G_M2865_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M2865_IG12:
+ cbnz x22, G_M2865_IG15
+ b G_M2865_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M2865_IG13:
cmp x0, x22
- beq G_M2865_IG13
+ beq G_M2865_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M2865_IG14
+ cbz w0, G_M2865_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M2865_IG13:
+G_M2865_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M2865_IG15
+ b G_M2865_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M2865_IG14:
+G_M2865_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M2865_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M2865_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M2865_IG10
+ cbnz w0, G_M2865_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M2865_IG16:
+G_M2865_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M2865_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M2865_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=7feef4ce) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=7feef4ce) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[double]():System.Data.SortExpressionBuilder`1[double]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[int]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],int]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],int]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[int]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],int]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[System.Nullable`1[int],System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[int,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[int,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M23313_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M23313_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[int]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M23313_IG09
+ cbz w0, G_M23313_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M23313_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M23313_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M23313_IG05
+ cbnz x0, G_M23313_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M23313_IG04:
- cbnz x1, G_M23313_IG07
- b G_M23313_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M23313_IG05:
+ cbnz x1, G_M23313_IG08
+ b G_M23313_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M23313_IG06:
cmp x0, x1
- beq G_M23313_IG06
+ beq G_M23313_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M23313_IG07
+ cbz w0, G_M23313_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M23313_IG06:
+G_M23313_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],int]:<CloneCast>b__0(int):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M23313_IG08
+ b G_M23313_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M23313_IG07:
+G_M23313_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],int]:<CloneCast>b__1(int):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M23313_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M23313_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M23313_IG03
+ cbnz w0, G_M23313_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M23313_IG09:
+G_M23313_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M23313_IG16
+ cbz w0, G_M23313_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M23313_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M23313_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M23313_IG12
+ cbnz x0, G_M23313_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M23313_IG11:
- cbnz x22, G_M23313_IG14
- b G_M23313_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M23313_IG12:
+ cbnz x22, G_M23313_IG15
+ b G_M23313_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M23313_IG13:
cmp x0, x22
- beq G_M23313_IG13
+ beq G_M23313_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M23313_IG14
+ cbz w0, G_M23313_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M23313_IG13:
+G_M23313_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M23313_IG15
+ b G_M23313_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M23313_IG14:
+G_M23313_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M23313_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M23313_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M23313_IG10
+ cbnz w0, G_M23313_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M23313_IG16:
+G_M23313_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M23313_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M23313_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=aebea4ee) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=aebea4ee) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[int]():System.Data.SortExpressionBuilder`1[int]:this (FullOpts)
20 (2.96 % of base) - System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this
; Assembly listing for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Unix
; FullOpts code
; optimized code
; fp based frame
; partially interruptible
; No PGO data
; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
; V00 this [V00,T06] ( 6, 12 ) ref -> x19 this class-hnd single-def <System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]>
; V01 loc0 [V01,T05] ( 8, 14 ) ref -> x20 class-hnd exact single-def <System.Data.SortExpressionBuilder`1[long]>
-; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x30] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x22 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],long]>
-; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x10] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
+; V02 loc1 [V02 ] ( 8, 14 ) struct (32) [fp+0x38] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V03 loc2 [V03,T08] ( 4, 12 ) ref -> x23 class-hnd exact <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],long]>
+; V04 loc3 [V04 ] ( 8, 14 ) struct (32) [fp+0x18] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
; V05 loc4 [V05,T07] ( 6, 14 ) ref -> x22 class-hnd <System.Comparison`1[System.Object]>
;# V06 OutArgs [V06 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V07 tmp1 [V07,T15] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
+; V07 tmp1 [V07,T14] ( 3, 6 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Data.SortExpressionBuilder`1[long]>
;* V08 tmp2 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],long]>
; V09 tmp3 [V09,T02] ( 4, 20 ) ref -> x1 class-hnd "impAppendStmt" <System.Func`2[System.Nullable`1[int],System.Object]>
; V10 tmp4 [V10,T03] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-; V11 tmp5 [V11,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V11 tmp5 [V11,T12] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
; V12 tmp6 [V12,T04] ( 4, 16 ) ref -> x1 class-hnd exact "NewObj constructor temp" <System.Func`2[long,System.Object]>
-; V13 tmp7 [V13,T14] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
-; V14 tmp8 [V14,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
+; V13 tmp7 [V13,T13] ( 2, 8 ) ref -> x0 class-hnd "impAppendStmt" <System.Collections.Generic.LinkedList`1[System.Func`2[long,System.Object]]>
+; V14 tmp8 [V14,T10] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V15 tmp9 [V15 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Func`2[System.Nullable`1[int],System.Object]]>
;* V16 tmp10 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Func`2[System.Nullable`1[int],System.Object]]>
-; V17 tmp11 [V17,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V17 tmp11 [V17,T15] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V18 tmp12 [V18,T00] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
-; V19 tmp13 [V19,T12] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
+; V19 tmp13 [V19,T11] ( 4, 8 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Collections.Generic.LinkedList`1[System.Comparison`1[System.Object]]>
;* V20 tmp14 [V20 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.LinkedList`1+Enumerator[System.Comparison`1[System.Object]]>
;* V21 tmp15 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Collections.Generic.LinkedListNode`1[System.Comparison`1[System.Object]]>
-; V22 tmp16 [V22,T17] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
+; V22 tmp16 [V22,T16] ( 2, 4 ) ubyte -> x0 "Inline return value spill temp"
; V23 tmp17 [V23,T01] ( 5, 28 ) ref -> x0 class-hnd "Inlining Arg" <System.__Canon>
;* V24 tmp18 [V24 ] ( 0, 0 ) ref -> zero-ref single-def "V15.[000..008)"
-; V25 tmp19 [V25,T19] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
+; V25 tmp19 [V25,T20] ( 2, 2 ) ref -> x2 single-def "V15.[008..016)"
;* V26 tmp20 [V26 ] ( 0, 0 ) ref -> zero-ref "V15.[016..024)"
-; V27 tmp21 [V27,T21] ( 2, 2 ) int -> x1 "V15.[024..028)"
+; V27 tmp21 [V27,T22] ( 2, 2 ) int -> x1 "V15.[024..028)"
;* V28 tmp22 [V28 ] ( 0, 0 ) int -> zero-ref "V15.[028..032)"
;* V29 tmp23 [V29 ] ( 0, 0 ) ref -> zero-ref single-def "V20.[000..008)"
-; V30 tmp24 [V30,T20] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
+; V30 tmp24 [V30,T21] ( 2, 2 ) ref -> x2 single-def "V20.[008..016)"
;* V31 tmp25 [V31 ] ( 0, 0 ) ref -> zero-ref "V20.[016..024)"
-; V32 tmp26 [V32,T22] ( 2, 2 ) int -> x1 "V20.[024..028)"
+; V32 tmp26 [V32,T23] ( 2, 2 ) int -> x1 "V20.[024..028)"
;* V33 tmp27 [V33 ] ( 0, 0 ) int -> zero-ref "V20.[028..032)"
-; V34 cse0 [V34,T10] ( 4, 10 ) long -> x21 "CSE #01: aggressive"
-; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #05: moderate"
-; V36 cse2 [V36,T09] ( 3, 12 ) ref -> x1 "CSE #02: aggressive"
+; V34 cse0 [V34,T17] ( 3, 6 ) long -> x21 "CSE #01: moderate"
+; V35 cse1 [V35,T18] ( 3, 6 ) long -> x21 "CSE #06: moderate"
+; V36 cse2 [V36,T19] ( 2, 4.25) long -> x22 hoist "CSE #02: moderate"
+; V37 cse3 [V37,T09] ( 3, 12 ) ref -> x1 "CSE #03: aggressive"
;
-; Lcl frame size = 64
+; Lcl frame size = 72
G_M2097_IG01:
- stp fp, lr, [sp, #-0x70]!
- stp x19, x20, [sp, #0x50]
- stp x21, x22, [sp, #0x60]
+ 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, #16
+ add x9, fp, #24
movi v16.16b, #0
stp q16, q16, [x9]
stp q16, q16, [x9, #0x20]
mov x19, x0
- ;; size=36 bbWeight=1 PerfScore 7.00
+ ;; size=40 bbWeight=1 PerfScore 8.00
G_M2097_IG02:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x20, x0
movz x1, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1[long]:.ctor():this
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
blr x1
ldr x0, [x19, #0x08]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x30] // [V02 loc1], [V02 loc1+0x08]
- str xzr, [fp, #0x40] // [V02 loc1+0x10]
- stp w1, wzr, [fp, #0x48] // [V02 loc1+0x18], [V02 loc1+0x1c]
- add x0, fp, #48 // [V02 loc1]
+ stp x0, x2, [fp, #0x38] // [V02 loc1], [V02 loc1+0x08]
+ str xzr, [fp, #0x48] // [V02 loc1+0x10]
+ stp w1, wzr, [fp, #0x50] // [V02 loc1+0x18], [V02 loc1+0x1c]
+ add x0, fp, #56 // [V02 loc1]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2097_IG09
+ cbz w0, G_M2097_IG10
;; size=108 bbWeight=1 PerfScore 29.50
G_M2097_IG03:
- add x0, x21, #0xD1FFAB1E
+ movz x22, #0xD1FFAB1E
+ movk x22, #0xD1FFAB1E LSL #16
+ movk x22, #0xD1FFAB1E LSL #32
+ ;; size=12 bbWeight=0.25 PerfScore 0.38
+G_M2097_IG04:
+ mov x0, x22
bl CORINFO_HELP_NEWSFAST
- mov x22, x0
- ldr x1, [fp, #0x40] // [V02 loc1+0x10]
- add x14, x22, #8
+ mov x23, x0
+ ldr x1, [fp, #0x48] // [V02 loc1+0x10]
+ add x14, x23, #8
mov x15, x1
bl CORINFO_HELP_ASSIGN_REF
ldr x0, [x19, #0x18]
ldr x0, [x0, #0x20]
- cbnz x0, G_M2097_IG05
+ cbnz x0, G_M2097_IG06
;; size=40 bbWeight=4 PerfScore 52.00
-G_M2097_IG04:
- cbnz x1, G_M2097_IG07
- b G_M2097_IG06
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M2097_IG05:
+ cbnz x1, G_M2097_IG08
+ b G_M2097_IG07
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M2097_IG06:
cmp x0, x1
- beq G_M2097_IG06
+ beq G_M2097_IG07
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M2097_IG07
+ cbz w0, G_M2097_IG08
;; size=28 bbWeight=2 PerfScore 25.00
-G_M2097_IG06:
+G_M2097_IG07:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],long]:<CloneCast>b__0(long):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #24
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M2097_IG08
+ b G_M2097_IG09
;; size=92 bbWeight=2 PerfScore 44.00
-G_M2097_IG07:
+G_M2097_IG08:
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
bl CORINFO_HELP_NEWSFAST
mov x1, x0
ldr x0, [x20, #0x08]
add x14, x1, #8
- mov x15, x22
+ mov x15, x23
bl CORINFO_HELP_ASSIGN_REF
movz x2, #0xD1FFAB1E // code for System.Data.SortExpressionBuilder`1+<>c__DisplayClass10_0`1[System.Nullable`1[int],long]:<CloneCast>b__1(long):System.Object:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
str x2, [x1, #0x18]
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=76 bbWeight=2 PerfScore 38.00
-G_M2097_IG08:
- add x0, fp, #48 // [V02 loc1]
+G_M2097_IG09:
+ add x0, fp, #56 // [V02 loc1]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M2097_IG03
+ cbnz w0, G_M2097_IG04
;; size=32 bbWeight=4 PerfScore 30.00
-G_M2097_IG09:
+G_M2097_IG10:
ldr x0, [x19, #0x10]
ldr w1, [x0, #0x1C]
ldr x2, [x0, #0x08]
- stp x0, x2, [fp, #0x10] // [V04 loc3], [V04 loc3+0x08]
- str xzr, [fp, #0x20] // [V04 loc3+0x10]
- stp w1, wzr, [fp, #0x28] // [V04 loc3+0x18], [V04 loc3+0x1c]
- add x0, fp, #16 // [V04 loc3]
+ stp x0, x2, [fp, #0x18] // [V04 loc3], [V04 loc3+0x08]
+ str xzr, [fp, #0x28] // [V04 loc3+0x10]
+ stp w1, wzr, [fp, #0x30] // [V04 loc3+0x18], [V04 loc3+0x1c]
+ add x0, fp, #24 // [V04 loc3]
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
movk x21, #0xD1FFAB1E LSL #32
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbz w0, G_M2097_IG16
+ cbz w0, G_M2097_IG17
;; size=68 bbWeight=1 PerfScore 21.00
-G_M2097_IG10:
- ldr x22, [fp, #0x20] // [V04 loc3+0x10]
+G_M2097_IG11:
+ ldr x22, [fp, #0x28] // [V04 loc3+0x10]
ldr x0, [x19, #0x20]
ldr x0, [x0, #0x20]
- cbnz x0, G_M2097_IG12
+ cbnz x0, G_M2097_IG13
;; size=16 bbWeight=4 PerfScore 36.00
-G_M2097_IG11:
- cbnz x22, G_M2097_IG14
- b G_M2097_IG13
- ;; size=8 bbWeight=2 PerfScore 4.00
G_M2097_IG12:
+ cbnz x22, G_M2097_IG15
+ b G_M2097_IG14
+ ;; size=8 bbWeight=2 PerfScore 4.00
+G_M2097_IG13:
cmp x0, x22
- beq G_M2097_IG13
+ beq G_M2097_IG14
mov x1, x22
ldr x2, [x0]
ldr x2, [x2, #0x40]
ldr x2, [x2, #0x10]
blr x2
- cbz w0, G_M2097_IG14
+ cbz w0, G_M2097_IG15
;; size=32 bbWeight=2 PerfScore 26.00
-G_M2097_IG13:
+G_M2097_IG14:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
add x14, x20, #32
mov x15, x0
bl CORINFO_HELP_ASSIGN_REF
- b G_M2097_IG15
+ b G_M2097_IG16
;; size=48 bbWeight=2 PerfScore 30.00
-G_M2097_IG14:
+G_M2097_IG15:
ldr x0, [x20, #0x10]
mov x1, x22
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1[System.__Canon]:AddLast(System.__Canon):System.Collections.Generic.LinkedListNode`1[System.__Canon]:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
ldr wzr, [x0]
blr x2
;; size=32 bbWeight=2 PerfScore 24.00
-G_M2097_IG15:
- add x0, fp, #16 // [V04 loc3]
+G_M2097_IG16:
+ add x0, fp, #24 // [V04 loc3]
mov x1, x21
movz x2, #0xD1FFAB1E // code for System.Collections.Generic.LinkedList`1+Enumerator[System.__Canon]:MoveNext():ubyte:this
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
blr x2
- cbnz w0, G_M2097_IG10
+ cbnz w0, G_M2097_IG11
;; size=32 bbWeight=4 PerfScore 30.00
-G_M2097_IG16:
+G_M2097_IG17:
mov x0, x20
;; size=4 bbWeight=1 PerfScore 0.50
-G_M2097_IG17:
- ldp x21, x22, [sp, #0x60]
- ldp x19, x20, [sp, #0x50]
- ldp fp, lr, [sp], #0x70
+G_M2097_IG18:
+ ldr x23, [sp, #0x78]
+ ldp x21, x22, [sp, #0x68]
+ ldp x19, x20, [sp, #0x58]
+ ldp fp, lr, [sp], #0x80
ret lr
- ;; size=16 bbWeight=1 PerfScore 4.00
+ ;; size=20 bbWeight=1 PerfScore 6.00
-; Total bytes of code 676, prolog size 32, PerfScore 405.00, instruction count 169, allocated bytes for code 676 (MethodHash=b964f7ce) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)
+; Total bytes of code 696, prolog size 36, PerfScore 408.38, instruction count 174, allocated bytes for code 696 (MethodHash=b964f7ce) for method System.Data.SortExpressionBuilder`1[System.Nullable`1[int]]:CloneCast[long]():System.Data.SortExpressionBuilder`1[long]:this (FullOpts)